anncic-apihelper 3.7.17 → 3.7.19
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
|
-
const a23_0x2dd699=a23_0x159a;(function(_0x577525,_0x15ae2f){const _0x4d82c2=a23_0x159a,_0x4158dd=_0x577525();while(!![]){try{const _0x2ac38c=-parseInt(_0x4d82c2(0x184))/0x1*(parseInt(_0x4d82c2(0x18c))/0x2)+parseInt(_0x4d82c2(0x1cb))/0x3*(parseInt(_0x4d82c2(0x10d))/0x4)+-parseInt(_0x4d82c2(0x12e))/0x5*(parseInt(_0x4d82c2(0x1b7))/0x6)+parseInt(_0x4d82c2(0x131))/0x7*(parseInt(_0x4d82c2(0x19d))/0x8)+parseInt(_0x4d82c2(0x19a))/0x9+-parseInt(_0x4d82c2(0x1a7))/0xa*(parseInt(_0x4d82c2(0x1c4))/0xb)+parseInt(_0x4d82c2(0x18b))/0xc;if(_0x2ac38c===_0x15ae2f)break;else _0x4158dd['push'](_0x4158dd['shift']());}catch(_0x51884d){_0x4158dd['push'](_0x4158dd['shift']());}}}(a23_0x4757,0x435d6));const a23_0x23ef4f=(function(){let _0x504f77=!![];return function(_0x1303e2,_0x17e8ef){const _0x3d51ac=_0x504f77?function(){const _0x40d8ec=a23_0x159a;if(_0x17e8ef){const _0x1d6035=_0x17e8ef[_0x40d8ec(0x162)](_0x1303e2,arguments);return _0x17e8ef=null,_0x1d6035;}}:function(){};return _0x504f77=![],_0x3d51ac;};}()),a23_0x30a48a=a23_0x23ef4f(this,function(){const _0x2c984a=a23_0x159a;return a23_0x30a48a['toString']()[_0x2c984a(0x1b5)](_0x2c984a(0x19c))[_0x2c984a(0x1d6)]()['constructor'](a23_0x30a48a)['search']('(((.+)+)+)+$');});a23_0x30a48a();function a23_0x159a(_0xba4d06,_0x23d356){const _0x42b879=a23_0x4757();return a23_0x159a=function(_0x30a48a,_0x23ef4f){_0x30a48a=_0x30a48a-0xfe;let _0x4757a5=_0x42b879[_0x30a48a];return _0x4757a5;},a23_0x159a(_0xba4d06,_0x23d356);}'use strict';Object[a23_0x2dd699(0x144)](exports,a23_0x2dd699(0x1e0),{'value':!![]}),exports['default']=default_1;const fs=require('fs'),path_1=require(a23_0x2dd699(0x17b)),helper_1=require(a23_0x2dd699(0x189));async function default_1({moduleName:_0x58522e,controller:_0x31f832,tablestartUpShort:_0x476ca5,tablestartUpShort2:_0x18e622,Primary:_0x4cc0f4,Fields:_0x90fbf3,apporbasic:_0x26c9ce,Comment:_0x1207d2,vuedialog:_0x1fa60a}){const _0x2b34cd=a23_0x2dd699;await createIndex({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort':_0x476ca5,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'vuedialog':_0x1fa60a}),await createSearch({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'vuedialog':_0x1fa60a}),!_0x1fa60a?(await createAddOrEdit({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort':_0x476ca5,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'Comment':_0x1207d2},'add'),await createAddOrEdit({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort':_0x476ca5,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'Comment':_0x1207d2},_0x2b34cd(0x1ba))):(await createAddOrEditDialog({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort':_0x476ca5,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'Comment':_0x1207d2},_0x2b34cd(0x170)),await createAddOrEditDialog({'moduleName':_0x58522e,'controller':_0x31f832,'tablestartUpShort':_0x476ca5,'tablestartUpShort2':_0x18e622,'Primary':_0x4cc0f4,'Fields':_0x90fbf3,'apporbasic':_0x26c9ce,'Comment':_0x1207d2},_0x2b34cd(0x1ba)));}async function createIndex({moduleName:_0x2a2850,controller:_0x2ac49c,tablestartUpShort:_0x3210cb,tablestartUpShort2:_0x395d10,Primary:_0x37eb2a,Fields:_0x248a98,apporbasic:_0x8e53fb,vuedialog:_0x2f85d6}){const _0x9bd2b2=a23_0x2dd699;let _0x160b50=process[_0x9bd2b2(0x1a8)]()+_0x9bd2b2(0x1d1)+(typeof _0x2ac49c=='string'?'/'+_0x2ac49c:'');_0x2a2850?_0x160b50=_0x160b50+(_0x9bd2b2(0x119)+_0x2a2850+'/'+_0x395d10+(!_0x2f85d6?_0x9bd2b2(0x132):'/')+'index.vue'):_0x160b50=_0x160b50+(_0x9bd2b2(0x1cd)+_0x8e53fb+'/'+_0x395d10+(!_0x2f85d6?_0x9bd2b2(0x132):'/')+'index.vue');if(!fs[_0x9bd2b2(0x175)](_0x160b50)){let _0x119ac6='<el-table-column\x20prop='+('\x22'+_0x37eb2a[_0x9bd2b2(0x1a2)]+'\x22')[_0x9bd2b2(0x121)](0x14)+(_0x9bd2b2(0x1c9)+(_0x37eb2a[_0x9bd2b2(0x13e)]||'编号')+_0x9bd2b2(0x13f));for(let _0x39a9c6 in _0x248a98){const _0x3b58db=_0x248a98[_0x39a9c6];if([_0x9bd2b2(0xff),_0x9bd2b2(0x154),_0x9bd2b2(0x1da),_0x9bd2b2(0x1d4)][_0x9bd2b2(0x13c)](_0x39a9c6)!=-0x1)continue;if(_0x39a9c6[_0x9bd2b2(0x105)](_0x39a9c6[_0x9bd2b2(0x1d2)]-0x3)==_0x9bd2b2(0x1a0)||_0x39a9c6['substring'](_0x39a9c6[_0x9bd2b2(0x1d2)]-0x5)==_0x9bd2b2(0x15e)||_0x39a9c6==_0x9bd2b2(0x15e)||_0x39a9c6[_0x9bd2b2(0x105)](_0x39a9c6['length']-0x4)==_0x9bd2b2(0x1a5)||_0x39a9c6==_0x9bd2b2(0x1a5))_0x119ac6+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'<el-table-column\x20prop='+('\x22'+_0x39a9c6+'\x22')[_0x9bd2b2(0x121)](0x14)+(_0x9bd2b2(0x1c9)+(_0x3b58db[_0x9bd2b2(0x13e)]||_0x3b58db[_0x9bd2b2(0x1a2)])+_0x9bd2b2(0x111)),_0x119ac6+='\x0a'+_0x9bd2b2(0x1e2)+'<template\x20#default=\x22scope\x22>',_0x119ac6+='\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-popover\x20placement=\x22bottom\x22\x20trigger=\x22click\x22>',_0x119ac6+='\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'+('<a\x20:href=\x22scope.row.'+_0x39a9c6+_0x9bd2b2(0x15b)),_0x119ac6+='\x0a'+_0x9bd2b2(0x19f)+(_0x9bd2b2(0x1be)+_0x39a9c6+_0x9bd2b2(0x1d9)),_0x119ac6+='\x0a'+_0x9bd2b2(0x12a)+_0x9bd2b2(0x103),_0x119ac6+='\x0a'+_0x9bd2b2(0x12a)+_0x9bd2b2(0x10b),_0x119ac6+='\x0a'+_0x9bd2b2(0x19f)+(_0x9bd2b2(0x1d3)+_0x39a9c6+'\x22\x20style=\x22cursor:pointer\x22/>'),_0x119ac6+='\x0a'+_0x9bd2b2(0x12a)+_0x9bd2b2(0x136),_0x119ac6+='\x0a'+_0x9bd2b2(0x157)+_0x9bd2b2(0x172),_0x119ac6+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x9bd2b2(0x136),_0x119ac6+='\x0a'+_0x9bd2b2(0x15d)+'</el-table-column>';else{if([_0x9bd2b2(0x1cf)][_0x9bd2b2(0x13c)]((0x0,helper_1[_0x9bd2b2(0x14a)])(_0x3b58db[_0x9bd2b2(0x1c8)]))!=-0x1)_0x119ac6+='\x0a'+_0x9bd2b2(0x15d)+_0x9bd2b2(0x155)+('\x22'+_0x39a9c6+'\x22')['padEnd'](0x14)+(_0x9bd2b2(0x1c9)+(_0x3b58db['Comment']||_0x3b58db[_0x9bd2b2(0x1a2)])+_0x9bd2b2(0x106)),_0x119ac6+='\x0a'+_0x9bd2b2(0x1e2)+_0x9bd2b2(0x168),_0x119ac6+='\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'+(_0x9bd2b2(0x114)+_0x39a9c6+_0x9bd2b2(0x143)),_0x119ac6+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'</template>',_0x119ac6+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x9bd2b2(0x1dc);else['text'][_0x9bd2b2(0x13c)]((0x0,helper_1[_0x9bd2b2(0x14a)])(_0x3b58db[_0x9bd2b2(0x1c8)]))==-0x1&&(_0x119ac6+='\x0a'+_0x9bd2b2(0x15d)+_0x9bd2b2(0x155)+('\x22'+_0x39a9c6+'\x22')[_0x9bd2b2(0x121)](0x14)+(_0x9bd2b2(0x1c9)+(_0x3b58db['Comment']||_0x3b58db[_0x9bd2b2(0x1a2)])+_0x9bd2b2(0x15f)));}}const _0x101f5c=''+(typeof _0x2ac49c==_0x9bd2b2(0x151)?_0x2ac49c+'/':'')+(_0x2a2850?_0x2a2850+'/':'')+_0x395d10;fs['mkdirSync']((0x0,path_1[_0x9bd2b2(0x1e4)])(_0x160b50),{'recursive':!![]}),fs[_0x9bd2b2(0x182)](_0x160b50,_0x9bd2b2(0x17d)+_0x101f5c+_0x9bd2b2(0x11c)+(!_0x2f85d6?_0x9bd2b2(0x102):_0x9bd2b2(0x179))+'\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'+_0x119ac6+'\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@/'+_0x101f5c+_0x9bd2b2(0x112)+_0x37eb2a[_0x9bd2b2(0x1a2)]+'`)\x22\x20@click=\x22'+(!_0x2f85d6?'$router.push(`edit?'+_0x37eb2a[_0x9bd2b2(0x1a2)]+_0x9bd2b2(0x1b8)+_0x37eb2a['Field']+_0x9bd2b2(0x11b):_0x9bd2b2(0x1d8))+_0x9bd2b2(0x17e)+_0x101f5c+_0x9bd2b2(0x129)+(!_0x2f85d6?'':_0x9bd2b2(0x139))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(!_0x2f85d6?'':_0x9bd2b2(0x1e1))+_0x9bd2b2(0x1b3)+(!_0x2f85d6?'':_0x9bd2b2(0x1c7))+'\x0a'+(!_0x2f85d6?'':_0x9bd2b2(0x10f))+_0x9bd2b2(0x16e)+_0x3210cb+_0x9bd2b2(0x192)+_0x3210cb+_0x9bd2b2(0x128)+_0x3210cb+_0x9bd2b2(0x1b1)+(_0x2a2850?_0x9bd2b2(0x1d0)+_0x2a2850:''+_0x8e53fb)+'/'+_0x3210cb+_0x9bd2b2(0x124)+_0x3210cb+_0x9bd2b2(0x11d)+_0x3210cb+_0x9bd2b2(0x1e3)+_0x37eb2a[_0x9bd2b2(0x1a2)]+_0x9bd2b2(0x160)+_0x37eb2a[_0x9bd2b2(0x1a2)]+_0x9bd2b2(0x18d)+_0x37eb2a[_0x9bd2b2(0x1a2)]+_0x9bd2b2(0x1c0)+_0x3210cb+'Edit(item.'+_0x37eb2a[_0x9bd2b2(0x1a2)]+_0x9bd2b2(0x15a),_0x9bd2b2(0x10e));}}function a23_0x4757(){const _0x31a44c=['1135267OloZrm','/list/','\x20\x20\x20\x20','\x22\x20placeholder=\x22请输入或选择','defineExpose({\x20open\x20})\x0a','</template>','datetime','\x22\x20prop=\x22','<dialog-add-vue\x20ref=\x22refDialogAdd\x22\x20@save=\x22LoadDatas()\x22\x20/>','\x20/>','`)\x22>\x0a','indexOf','<elplus-select-search\x20v-model=\x22props.search.','Comment','\x22\x20align=\x22center\x22\x20fixed=\x22left\x22\x20/>','开始时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>','mediumtext','_ids','\x22\x20active-text=\x22启用\x22\x20inactive-text=\x22禁用\x22\x20@change=\x22handlerFieldChange\x22\x20/>','defineProperty','<el-input\x20v-model=\x22formdata.','\x27;\x0a\x0a','/index.vue','\x20\x20\x20\x20\x20\x20\x20\x20</elplus-form>\x0a','getDetail(route?.query?.','getProp','结束时间\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>','<=\x22>','\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','_id','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#footer>\x0a','\x22\x20:limit=\x225\x22\x20','string','\x20\x20\x20\x20\x20\x20\x20\x20formdata.value\x20=\x20res?.data\x20||\x20{},\x20refDialog?.value?.open();\x0a','\x20\x20\x20\x20\x20\x20\x20\x20<elplus-form\x20ref=\x22refForm\x22\x20:model=\x22formdata\x22\x20:rules=\x22','updated_at','<el-table-column\x20prop=','</template>\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','\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>','components/search.vue',',\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>','\x22\x20target=\x22_blank\x22\x20title=\x22查看最大化图片\x22>','<el-input-number\x20v-model=\x22formdata.','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','thumb','\x22\x20align=\x27center\x27\x20sortable=\x22custom\x22\x20show-overflow-tooltip\x20/>',':\x20item.','\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a','apply','getEnum','\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err=>{\x0a','date','\x22\x20:limit=\x221\x22\x20','\x20as\x20unknown\x20as\x20','<template\x20#default=\x22scope\x22>','\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>','<el-form-item\x20label=\x22排序\x22\x20prop=\x22displayorder\x22>','.vue','<el-option\x20label=\x22','item).then(res=>{\x0a','\x0aimport\x20{\x20','module=\x22','add','const\x20handlerSave\x20=\x20()=>{\x0a','</el-popover>','\x20\x20\x20\x20formdata.value\x20=\x20{},\x20','\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20','existsSync','EditRule\x20}\x20from\x20\x27../interface\x27;\x0a','\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a','<el-form-item\x20label=\x22','$refs?.refDialogAdd?.open()',').then(res\x20=>\x20{\x0a','path','imgs','<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@/','\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@/','\x20\x20\x20\x20}\x0a','/components/dialog-','item.','writeFileSync','\x22\x20value=\x22','1xPXHdK','</el-select>','Edit','\x22\x20/>','<elplus-select-tags\x20v-model=\x22formdata.','../helper','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','957204MKNArh','869486lWkNFm','\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.','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','<script\x20lang=\x22ts\x22\x20setup>\x0a','</script>\x0a','Edit,\x20','List,\x20','<el-input-number\x20v-model=\x22formdata.displayorder\x22\x20placeholder=\x22请输入排序权重\x22\x20controls-position=\x22right\x22/>','\x22\x20split=\x22-\x22\x20clearable/>','edit/:','<tinymce-editor\x20v-model=\x22formdata.','Detail\x20}\x20from\x20\x27@/apis/','substr','endsWith','1582740qKGCPH','\x20\x20\x20\x20<page-main>\x0a','(((.+)+)+)+$','16cMRjsA','\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','\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','img','\x22\x20api=\x22','Field','\x22\x20clearable>','\x20\x20\x20\x20\x20\x20\x20\x20','logo','\x22>\x0a','304970CQvvcb','cwd','AddRule\x20}\x20from\x20\x27../interface\x27;\x0a','<attachment-image\x20v-model=\x22formdata.','<el-date-picker\x20v-model=\x22formdata.','num','\x22\x20placeholder=\x22请输入','\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>','\x20\x20\x20\x20\x20\x20\x20\x20<elplus-form\x20ref=\x22refForm\x22\x20title=\x22','\x20\x20\x20\x20<elplus-dialog\x20ref=\x22refDialog\x22\x20:loading=\x22loading\x22\x20title=\x22','Edit\x20}\x20from\x20\x27@/apis/','结束时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\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','<elplus-select-search\x20v-model=\x22formdata.','search','_start\x22\x20placeholder=\x22选择','1376184lPIIYc','=${scope.row.','longtext','edit','\x22\x20clearable/>','}\x0a\x0a','\x22\x20placeholder=\x22请选择','<img\x20:src=\x22scope.row.','\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{\x0a\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20','Detail(','<el-input\x20v-model=\x22props.search.','>=\x22>','33ULGHzN','mkdirSync','\x22\x20type=\x22textarea\x22\x20:rows=\x224\x22/>','import\x20dialogAddVue\x20from\x20\x27./components/dialog-add.vue\x27;','Type','\x20label=\x22','<template>\x0a','3QMDlWy','\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#footer>\x0a','/pages/','\x20\x20\x20\x20})\x0a','tinyint','apps/','/vue','length','<el-avatar\x20:src=\x22scope.row.','displayorder','\x20\x20\x20\x20\x20\x20\x20\x20$notify.error(err\x20||\x20\x27网络请求错误\x27)\x0a','toString','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`post@/','$refs?.refDialogEdit?.open(scope.row.id)','\x22\x20style=\x22width:\x20100%;max-width:500px\x22\x20/>','deleted_at','tags','</el-table-column>','Rule\x22\x20:loading=\x22loading\x22\x20:disabled=\x22!$hasPrem(`post@/','//\x20获取详情\x0a','\x20\x20\x20\x20</elplus-dialog>\x0a','__esModule','<dialog-edit-vue\x20ref=\x22refDialogEdit\x22\x20@save=\x22LoadDatas()\x22/>','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Remove({\x20','dirname','\x20\x20\x20\x20\x20\x20\x20\x20router.back();\x0a','created_at',')\x20=>\x20{\x0a','import\x20{\x20','$router.push(`add`)','</a>','enum','substring','\x22\x20align=\x27center\x27\x20sortable=\x22custom\x22>','Add','\x20\x20\x20\x20formdata.value\x20=\x20{},\x20refDialog?.value?.open();\x0a','\x22\x20\x20placeholder=\x22请输入','Add\x20}\x20from\x20\x27@/apis/','<template\x20#reference>','timestamp','1806140yBeIZD','utf-8','import\x20dialogEditVue\x20from\x20\x27./components/dialog-edit.vue\x27;','\x22\x20lakey=\x22id\x22\x20\x20label=\x22id\x22\x20clearable/>','\x22\x20align=\x27center\x27\x20show-overflow-tooltip>','/edit/:','\x20\x20\x20\x20</page-main>\x0a','<elplus-switch\x20v-model=\x22scope.row\x22\x20field=\x22','开始时间\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>','const\x20loading\x20=\x20ref(false),\x20router\x20=\x20useRouter();\x0a\x0a','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20formdata.value\x20=\x20res.data;\x0a','tag','/pages/apps/','<el-date-picker\x20v-model=\x22props.search.','}`)','/add`)\x22\x20@click=\x22','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','\x20\x20\x20\x20refForm.value?.validate().then((item:\x20any)\x20=>\x20{\x0a','</el-form-item>','_end\x22\x20placeholder=\x22选择','padEnd','number','\x22\x20class=\x22block\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','\x20\x20\x20\x20}\x20else\x20{\x0a','text','\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20clearable/>','Remove,\x20','/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\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\x20\x20\x20\x20\x20</template>\x0a','<template>\x0a\x20\x20\x20\x20','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27网络请求错误\x27);\x0a','5XCCtTw','\x22\x20placeholder=\x22选择','\x20\x20\x20\x20\x20\x20\x20\x20})\x0a'];a23_0x4757=function(){return _0x31a44c;};return a23_0x4757();}async function createSearch({moduleName:_0x73badd,tablestartUpShort2:_0x4dd4f5,controller:_0x1bad5f,Primary:_0x2843f7,Fields:_0x41dd82,apporbasic:_0x59e76a,vuedialog:_0xc79e66}){const _0x1a35bb=a23_0x2dd699;let _0xe38312=process['cwd']()+_0x1a35bb(0x1d1)+(typeof _0x1bad5f=='string'?'/'+_0x1bad5f:'');_0x73badd?_0xe38312=_0xe38312+(_0x1a35bb(0x119)+_0x73badd+'/'+_0x4dd4f5+(!_0xc79e66?_0x1a35bb(0x132):'/')+_0x1a35bb(0x159)):_0xe38312=_0xe38312+(_0x1a35bb(0x1cd)+_0x59e76a+'/'+_0x4dd4f5+(!_0xc79e66?_0x1a35bb(0x132):'/')+'components/search.vue');if(!fs[_0x1a35bb(0x175)](_0xe38312)){let _0x181a7c='';_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x2843f7[_0x1a35bb(0x13e)]||'编号')+'\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x1c2)+_0x2843f7[_0x1a35bb(0x1a2)]+_0x1a35bb(0x1ad)+(_0x2843f7[_0x1a35bb(0x13e)]||'编号')+_0x1a35bb(0x1bb)),_0x181a7c+='\x0a'+'\x20\x20\x20\x20'+'</el-form-item>';for(let _0x529828 in _0x41dd82){const _0x11ab36=_0x41dd82[_0x529828];if([_0x1a35bb(0x154),_0x1a35bb(0x1da),_0x1a35bb(0x1d4)][_0x1a35bb(0x13c)](_0x529828)!=-0x1)continue;if(_0x529828[_0x1a35bb(0x105)](_0x529828[_0x1a35bb(0x1d2)]-0x3)==_0x1a35bb(0x1a0)||_0x529828[_0x1a35bb(0x105)](_0x529828[_0x1a35bb(0x1d2)]-0x5)==_0x1a35bb(0x15e)||_0x529828==_0x1a35bb(0x15e)||_0x529828['substring'](_0x529828[_0x1a35bb(0x1d2)]-0x4)=='logo'||_0x529828=='logo')continue;if(_0x529828['substring'](_0x529828[_0x1a35bb(0x1d2)]-0x3)=='num')_0x181a7c+='\x0a'+'\x20\x20\x20\x20'+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36['Field'])+'\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+('<el-input-number\x20v-model=\x22props.search.'+_0x529828+_0x1a35bb(0x1ad)+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x127)),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a';else{if(_0x529828[_0x1a35bb(0x199)](_0x1a35bb(0x14e))){let _0x3b1c58=''+(typeof _0x1bad5f==_0x1a35bb(0x151)?_0x1bad5f+'/':'')+(_0x73badd?_0x73badd+'/':'')+_0x4dd4f5;_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+'\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x18e)+(_0x1a35bb(0x13d)+_0x529828+_0x1a35bb(0x1a1)+_0x3b1c58+_0x1a35bb(0x110)),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+_0x1a35bb(0x11f)+'\x0a';}else switch((0x0,helper_1[_0x1a35bb(0x14a)])(_0x11ab36['Type'])){case _0x1a35bb(0x104):_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36['Comment']||_0x11ab36[_0x1a35bb(0x1a2)])+'\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+('<el-select\x20v-model=\x22props.search.'+_0x529828+_0x1a35bb(0x1bd)+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x1a3));for(let _0x53773d of(0x0,helper_1[_0x1a35bb(0x163)])(_0x11ab36[_0x1a35bb(0x1c8)])){_0x181a7c+='\x0a'+_0x1a35bb(0x18e)+('<el-option\x20label=\x22'+_0x53773d+_0x1a35bb(0x183)+_0x53773d+_0x1a35bb(0x187));}_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+'</el-select>',_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a';break;case _0x1a35bb(0x165):_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+'>=\x22>'),_0x181a7c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x1a35bb(0x11a)+_0x529828+_0x1a35bb(0x1b6)+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x115)),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a',_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+'<=\x22>'),_0x181a7c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x1a35bb(0x11a)+_0x529828+_0x1a35bb(0x120)+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x14b)),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a';break;case _0x1a35bb(0x137):_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+_0x1a35bb(0x1c3)),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x11a)+_0x529828+'_start\x22\x20placeholder=\x22选择'+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x140)),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a',_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+'<=\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x11a)+_0x529828+'_end\x22\x20placeholder=\x22选择'+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x1b2)),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a';break;case _0x1a35bb(0x10c):_0x181a7c+='\x0a'+'\x20\x20\x20\x20'+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36[_0x1a35bb(0x1a2)])+_0x1a35bb(0x1c3)),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x11a)+_0x529828+'_start\x22\x20placeholder=\x22选择'+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x140)),_0x181a7c+='\x0a'+'\x20\x20\x20\x20'+_0x1a35bb(0x11f)+'\x0a',_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36['Comment']||_0x11ab36[_0x1a35bb(0x1a2)])+_0x1a35bb(0x14c)),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x11a)+_0x529828+_0x1a35bb(0x120)+_0x11ab36[_0x1a35bb(0x13e)]+_0x1a35bb(0x1b2)),_0x181a7c+='\x0a'+'\x20\x20\x20\x20'+_0x1a35bb(0x11f)+'\x0a';break;case _0x1a35bb(0x151):_0x181a7c+='\x0a'+_0x1a35bb(0x133)+(_0x1a35bb(0x178)+(_0x11ab36[_0x1a35bb(0x13e)]||_0x11ab36['Field'])+'\x22>'),_0x181a7c+='\x0a'+_0x1a35bb(0x1a4)+(_0x1a35bb(0x1c2)+_0x529828+_0x1a35bb(0x1ad)+_0x11ab36[_0x1a35bb(0x13e)]+'\x22\x20clearable/>'),_0x181a7c+='\x0a'+_0x1a35bb(0x133)+_0x1a35bb(0x11f)+'\x0a';}}}fs[_0x1a35bb(0x1c5)]((0x0,path_1['dirname'])(_0xe38312),{'recursive':!![]}),fs[_0x1a35bb(0x182)](_0xe38312,_0x1a35bb(0x12c)+_0x181a7c+_0x1a35bb(0x158),_0x1a35bb(0x10e));}}async function createAddOrEdit({moduleName:_0x472774,controller:_0x481b97,tablestartUpShort:_0x47d71a,tablestartUpShort2:_0x3d1327,Primary:_0x2d6b10,Fields:_0x6dfddc,apporbasic:_0x37faa9,Comment:_0x1601fa},_0x3687bc='add'){const _0x7efe00=a23_0x2dd699;let _0x31b7d4=process[_0x7efe00(0x1a8)]()+'/vue'+(typeof _0x481b97==_0x7efe00(0x151)?'/'+_0x481b97:'');_0x472774?_0x31b7d4=_0x31b7d4+(_0x7efe00(0x119)+_0x472774+'/'+_0x3d1327+'/'+_0x3687bc+'/index.vue'):_0x31b7d4=_0x31b7d4+(_0x7efe00(0x1cd)+_0x37faa9+'/'+_0x3d1327+'/'+_0x3687bc+_0x7efe00(0x147));if(!fs[_0x7efe00(0x175)](_0x31b7d4)){const _0x1e8b33=[_0x7efe00(0x126),_0x7efe00(0x141),_0x7efe00(0x151)][_0x7efe00(0x13c)]((0x0,helper_1[_0x7efe00(0x14a)])(_0x2d6b10[_0x7efe00(0x1c8)]))==-0x1,_0x430c75=''+(typeof _0x481b97=='string'?_0x481b97+'/':'')+(_0x472774?_0x472774+'/':'')+_0x3d1327;let _0x10bc5c='';for(let _0x51c473 in _0x6dfddc){const _0x5ea2a2=_0x6dfddc[_0x51c473];if(['created_at',_0x7efe00(0x154),_0x7efe00(0x1da),_0x7efe00(0x1d4)][_0x7efe00(0x13c)](_0x51c473)!=-0x1)continue;if(_0x51c473[_0x7efe00(0x105)](_0x51c473[_0x7efe00(0x1d2)]-0x4)=='imgs'||_0x51c473[_0x7efe00(0x105)](_0x51c473[_0x7efe00(0x1d2)]-0x6)=='thumbs')_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2['Comment']||_0x5ea2a2['Field'])+_0x7efe00(0x138)+_0x51c473+'\x22\x20class=\x22block\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x1aa)+_0x51c473+'\x22\x20:limit=\x225\x22\x20'+(_0x472774?'module=\x22'+_0x472774+'\x22':'')+_0x7efe00(0x13a)),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';else{if(_0x51c473[_0x7efe00(0x105)](_0x51c473[_0x7efe00(0x1d2)]-0x3)=='img'||_0x51c473['substring'](_0x51c473[_0x7efe00(0x1d2)]-0x5)=='thumb'||_0x51c473==_0x7efe00(0x15e)||_0x51c473[_0x7efe00(0x105)](_0x51c473[_0x7efe00(0x1d2)]-0x4)=='logo'||_0x51c473==_0x7efe00(0x1a5))_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22\x20class=\x22block\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x1aa)+_0x51c473+_0x7efe00(0x166)+(_0x472774?_0x7efe00(0x16f)+_0x472774+'\x22':'')+'/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';else{if(_0x51c473[_0x7efe00(0x105)](_0x51c473['length']-0x4)=='tags'||_0x51c473[_0x7efe00(0x105)](_0x51c473[_0x7efe00(0x1d2)]-0x3)==_0x7efe00(0x118))_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x178)+(_0x5ea2a2['Comment']||_0x5ea2a2['Field'])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x188)+_0x51c473+_0x7efe00(0x134)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20split=\x22-\x22\x20clearable/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';else{if(_0x51c473['substr'](-0x3)=='num')_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x15c)+_0x51c473+_0x7efe00(0x1ad)+_0x5ea2a2[_0x7efe00(0x13e)]+_0x7efe00(0x1ae)),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';else{if(_0x51c473[_0x7efe00(0x198)](-0x4)=='_ids')_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+'\x22\x20prop=\x22'+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+('<el-input\x20v-model=\x22formdata.'+_0x51c473+_0x7efe00(0x1ad)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20clearable/>'),_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x7efe00(0x11f)+'\x0a';else{if(_0x51c473['substr'](-0x3)==_0x7efe00(0x14e)){let _0x199510=''+(typeof _0x481b97==_0x7efe00(0x151)?_0x481b97+'/':'')+(_0x472774?_0x472774+'/':'')+_0x3d1327;_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x178)+(_0x5ea2a2['Comment']||_0x5ea2a2['Field'])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x1b4)+_0x51c473+_0x7efe00(0x1a1)+_0x199510+_0x7efe00(0x110)),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';}else switch((0x0,helper_1[_0x7efe00(0x14a)])(_0x5ea2a2[_0x7efe00(0x1c8)])){case'number':_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x15c)+_0x51c473+_0x7efe00(0x1ad)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';break;case _0x7efe00(0x104):_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+('<el-form-item\x20label=\x22'+(_0x5ea2a2['Comment']||_0x5ea2a2['Field'])+'\x22\x20prop=\x22'+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+('<el-select\x20v-model=\x22formdata.'+_0x51c473+_0x7efe00(0x1bd)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20clearable>');for(let _0x44697d of(0x0,helper_1[_0x7efe00(0x163)])(_0x5ea2a2[_0x7efe00(0x1c8)])){_0x10bc5c+='\x0a'+_0x7efe00(0x1e2)+(_0x7efe00(0x16c)+_0x44697d+_0x7efe00(0x183)+_0x44697d+_0x7efe00(0x187));}_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+_0x7efe00(0x185),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';break;case _0x7efe00(0x126):_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2['Field'])+_0x7efe00(0x138)+_0x51c473+_0x7efe00(0x123)),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x145)+_0x51c473+_0x7efe00(0x109)+_0x5ea2a2[_0x7efe00(0x13e)]+_0x7efe00(0x1c6)),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';break;case _0x7efe00(0x1b9):_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+_0x7efe00(0x123)),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x196)+_0x51c473+'\x22\x20'+(_0x472774?_0x7efe00(0x16f)+_0x472774+'\x22':'')+'/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';break;case _0x7efe00(0x141):_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+'\x22\x20prop=\x22'+_0x51c473+'\x22\x20class=\x22block\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x196)+_0x51c473+'\x22\x20'+(_0x472774?_0x7efe00(0x16f)+_0x472774+'\x22':'')+'/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';break;case _0x7efe00(0x165):_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+('<el-date-picker\x20v-model=\x22formdata.'+_0x51c473+'\x22\x20placeholder=\x22选择'+_0x5ea2a2['Comment']+'\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';break;case'datetime':_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x178)+(_0x5ea2a2[_0x7efe00(0x13e)]||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x1ab)+_0x51c473+_0x7efe00(0x12f)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+'</el-form-item>'+'\x0a';break;case _0x7efe00(0x10c):_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+(_0x7efe00(0x178)+(_0x5ea2a2['Comment']||_0x5ea2a2['Field'])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x7efe00(0x1ab)+_0x51c473+_0x7efe00(0x12f)+_0x5ea2a2['Comment']+'\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+_0x7efe00(0x11f)+'\x0a';break;default:_0x10bc5c+='\x0a'+_0x7efe00(0x18e)+('<el-form-item\x20label=\x22'+(_0x5ea2a2['Comment']||_0x5ea2a2[_0x7efe00(0x1a2)])+_0x7efe00(0x138)+_0x51c473+'\x22>'),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+(_0x7efe00(0x145)+_0x51c473+_0x7efe00(0x1ad)+_0x5ea2a2[_0x7efe00(0x13e)]+'\x22\x20clearable/>'),_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x7efe00(0x11f)+'\x0a';}}}}}}}_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x7efe00(0x16a),_0x10bc5c+='\x0a'+_0x7efe00(0x15d)+_0x7efe00(0x193),_0x10bc5c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x7efe00(0x11f)+'\x0a';let _0x12f3fb=_0x7efe00(0x1ca);_0x12f3fb+=_0x7efe00(0x19b),_0x12f3fb+=_0x7efe00(0x1af)+(_0x3687bc=='add'?'添加'+_0x1601fa:'编辑'+_0x1601fa)+'\x22\x20:model=\x22formdata\x22\x20:rules=\x22'+_0x47d71a+(_0x3687bc==_0x7efe00(0x170)?'Add':'Edit')+'Rule\x22\x20:loading=\x22loading\x22\x20:disabled=\x22!$hasPrem(`post@/'+_0x430c75+'/'+(_0x3687bc=='add'?'add':_0x7efe00(0x195)+_0x2d6b10[_0x7efe00(0x1a2)])+_0x7efe00(0x13b),_0x12f3fb+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x10bc5c+'\x0a\x0a',_0x12f3fb+=_0x7efe00(0x14f),_0x12f3fb+=_0x7efe00(0x1d7)+_0x430c75+'/'+(_0x3687bc==_0x7efe00(0x170)?_0x7efe00(0x170):'edit/:'+_0x2d6b10['Field'])+'`)\x22\x20type=\x22primary\x22\x20@click=\x22handlerSave()\x22>保存</el-button>\x0a',_0x12f3fb+=_0x7efe00(0x12b),_0x12f3fb+=_0x7efe00(0x148),_0x12f3fb+=_0x7efe00(0x113),_0x12f3fb+=_0x7efe00(0x156),_0x12f3fb+=_0x7efe00(0x18f);if(_0x3687bc==_0x7efe00(0x170))_0x12f3fb+='import\x20{\x20'+_0x47d71a+_0x7efe00(0x1a9),_0x12f3fb+='import\x20{\x20'+_0x47d71a+_0x7efe00(0x10a)+(_0x472774?'apps/'+_0x472774:''+_0x37faa9)+'/'+_0x47d71a+_0x7efe00(0x146);else _0x3687bc==_0x7efe00(0x1ba)&&(_0x12f3fb+='import\x20{\x20'+_0x47d71a+'EditRule\x20}\x20from\x20\x27../interface\x27;\x0a',_0x12f3fb+='import\x20{\x20'+_0x47d71a+_0x7efe00(0x191)+_0x47d71a+_0x7efe00(0x197)+(_0x472774?_0x7efe00(0x1d0)+_0x472774:''+_0x37faa9)+'/'+_0x47d71a+_0x7efe00(0x146));_0x12f3fb+='const\x20refForm\x20=\x20ref(),\x20formdata\x20=\x20ref<any>({});\x0a';if(_0x3687bc==_0x7efe00(0x170))_0x12f3fb+=_0x7efe00(0x116);else _0x3687bc=='edit'&&(_0x12f3fb+='const\x20loading\x20=\x20ref(false),\x20router\x20=\x20useRouter(),\x20route\x20=\x20useRoute();\x0a\x0a');_0x12f3fb+='//\x20保存数据\x0a',_0x12f3fb+=_0x7efe00(0x171),_0x12f3fb+=_0x7efe00(0x11e),_0x12f3fb+=_0x7efe00(0x174)+_0x47d71a+(_0x3687bc==_0x7efe00(0x170)?_0x7efe00(0x107):'Edit')+'('+(_0x3687bc==_0x7efe00(0x1ba)?_0x7efe00(0x181)+_0x2d6b10['Field']+',\x20':'')+_0x7efe00(0x16d),_0x12f3fb+=_0x7efe00(0x19e),_0x12f3fb+=_0x7efe00(0x164),_0x12f3fb+=_0x7efe00(0x12d),_0x12f3fb+='\x20\x20\x20\x20\x20\x20\x20\x20})\x0a',_0x12f3fb+=_0x7efe00(0x1ce),_0x12f3fb+=_0x7efe00(0x1bc),_0x3687bc==_0x7efe00(0x1ba)&&(_0x12f3fb+=_0x7efe00(0x1de),_0x12f3fb+='const\x20getDetail\x20=\x20('+_0x2d6b10['Field']+':\x20'+(_0x1e8b33?_0x7efe00(0x122):'string')+_0x7efe00(0x100),_0x12f3fb+='\x20\x20\x20\x20if\x20('+_0x2d6b10['Field']+')\x20{\x0a',_0x12f3fb+='\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20formdata.value\x20=\x20{};\x0a',_0x12f3fb+=_0x7efe00(0x1a4)+_0x47d71a+_0x7efe00(0x1c1)+_0x2d6b10['Field']+_0x7efe00(0x17a),_0x12f3fb+=_0x7efe00(0x117),_0x12f3fb+=_0x7efe00(0x177),_0x12f3fb+=_0x7efe00(0x14d),_0x12f3fb+=_0x7efe00(0x130),_0x12f3fb+=_0x7efe00(0x125),_0x12f3fb+=_0x7efe00(0xfe),_0x12f3fb+=_0x7efe00(0x17f),_0x12f3fb+='}\x0a\x0a\x0a',_0x12f3fb+=_0x7efe00(0x149)+_0x2d6b10[_0x7efe00(0x1a2)]+_0x7efe00(0x167)+(_0x1e8b33?_0x7efe00(0x122):_0x7efe00(0x151))+')\x0a'),_0x12f3fb+=_0x7efe00(0x190),fs[_0x7efe00(0x1c5)]((0x0,path_1['dirname'])(_0x31b7d4),{'recursive':!![]}),fs[_0x7efe00(0x182)](_0x31b7d4,_0x12f3fb,'utf-8');}}async function createAddOrEditDialog({moduleName:_0x46da6b,controller:_0x3cdaed,tablestartUpShort:_0x456499,tablestartUpShort2:_0x841f81,Primary:_0x50c2ef,Fields:_0x37d963,apporbasic:_0x5e771f,Comment:_0x2d3fa7},_0x2a71cc=a23_0x2dd699(0x170)){const _0x104474=a23_0x2dd699;let _0x2a95b1=process['cwd']()+'/vue'+(typeof _0x3cdaed==_0x104474(0x151)?'/'+_0x3cdaed:'');_0x46da6b?_0x2a95b1=_0x2a95b1+(_0x104474(0x119)+_0x46da6b+'/'+_0x841f81+'/components/dialog-'+_0x2a71cc+_0x104474(0x16b)):_0x2a95b1=_0x2a95b1+(_0x104474(0x1cd)+_0x5e771f+'/'+_0x841f81+_0x104474(0x180)+_0x2a71cc+_0x104474(0x16b));if(!fs[_0x104474(0x175)](_0x2a95b1)){const _0x446ffb=''+(typeof _0x3cdaed==_0x104474(0x151)?_0x3cdaed+'/':'')+(_0x46da6b?_0x46da6b+'/':'')+_0x841f81;let _0x40dd47='';for(let _0x22ff14 in _0x37d963){const _0x1dab83=_0x37d963[_0x22ff14];if([_0x104474(0xff),_0x104474(0x154),_0x104474(0x1da),_0x104474(0x1d4)]['indexOf'](_0x22ff14)!=-0x1)continue;if(_0x22ff14[_0x104474(0x105)](_0x22ff14['length']-0x4)==_0x104474(0x17c)||_0x22ff14['substring'](_0x22ff14[_0x104474(0x1d2)]-0x6)=='thumbs')_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22\x20class=\x22block\x22>'),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x104474(0x1aa)+_0x22ff14+_0x104474(0x150)+(_0x46da6b?_0x104474(0x16f)+_0x46da6b+'\x22':'')+_0x104474(0x13a)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';else{if(_0x22ff14[_0x104474(0x105)](_0x22ff14[_0x104474(0x1d2)]-0x3)=='img'||_0x22ff14[_0x104474(0x105)](_0x22ff14[_0x104474(0x1d2)]-0x5)=='thumb'||_0x22ff14==_0x104474(0x15e)||_0x22ff14['substring'](_0x22ff14['length']-0x4)=='logo'||_0x22ff14==_0x104474(0x1a5))_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+_0x104474(0x123)),_0x40dd47+='\x0a'+_0x104474(0x15d)+('<attachment-image\x20v-model=\x22formdata.'+_0x22ff14+_0x104474(0x166)+(_0x46da6b?_0x104474(0x16f)+_0x46da6b+'\x22':'')+'/>'),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x104474(0x11f)+'\x0a';else{if(_0x22ff14['substring'](_0x22ff14[_0x104474(0x1d2)]-0x4)==_0x104474(0x1db)||_0x22ff14[_0x104474(0x105)](_0x22ff14[_0x104474(0x1d2)]-0x3)==_0x104474(0x118))_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x104474(0x178)+(_0x1dab83['Comment']||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x188)+_0x22ff14+_0x104474(0x134)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x194)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';else{if(_0x22ff14[_0x104474(0x198)](-0x3)==_0x104474(0x1ac))_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x104474(0x178)+(_0x1dab83['Comment']||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x15c)+_0x22ff14+_0x104474(0x1ad)+_0x1dab83['Comment']+_0x104474(0x1ae)),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x104474(0x11f)+'\x0a';else{if(_0x22ff14[_0x104474(0x198)](-0x4)==_0x104474(0x142))_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x145)+_0x22ff14+_0x104474(0x1ad)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x1bb)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';else{if(_0x22ff14[_0x104474(0x198)](-0x3)==_0x104474(0x14e)){let _0x247401=''+(typeof _0x3cdaed=='string'?_0x3cdaed+'/':'')+(_0x46da6b?_0x46da6b+'/':'')+_0x841f81;_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83['Comment']||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x1b4)+_0x22ff14+_0x104474(0x1a1)+_0x247401+_0x104474(0x110)),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x104474(0x11f)+'\x0a';}else switch((0x0,helper_1[_0x104474(0x14a)])(_0x1dab83['Type'])){case _0x104474(0x122):_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x15c)+_0x22ff14+'\x22\x20placeholder=\x22请输入'+_0x1dab83['Comment']+_0x104474(0x1ae)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';break;case'enum':_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+('<el-select\x20v-model=\x22formdata.'+_0x22ff14+_0x104474(0x1bd)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x1a3));for(let _0x41589b of(0x0,helper_1['getEnum'])(_0x1dab83[_0x104474(0x1c8)])){_0x40dd47+='\x0a'+_0x104474(0x1e2)+(_0x104474(0x16c)+_0x41589b+_0x104474(0x183)+_0x41589b+_0x104474(0x187));}_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'</el-select>',_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'</el-form-item>'+'\x0a';break;case _0x104474(0x126):_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+_0x104474(0x123)),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x104474(0x145)+_0x22ff14+'\x22\x20\x20placeholder=\x22请输入'+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x1c6)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';break;case _0x104474(0x1b9):_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22\x20class=\x22block\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x196)+_0x22ff14+'\x22\x20'+(_0x46da6b?_0x104474(0x16f)+_0x46da6b+'\x22':'')+'/>'),_0x40dd47+='\x0a'+_0x104474(0x18e)+'</el-form-item>'+'\x0a';break;case'mediumtext':_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83['Field'])+_0x104474(0x138)+_0x22ff14+_0x104474(0x123)),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x196)+_0x22ff14+'\x22\x20'+(_0x46da6b?_0x104474(0x16f)+_0x46da6b+'\x22':'')+'/>'),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'</el-form-item>'+'\x0a';break;case _0x104474(0x165):_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x1ab)+_0x22ff14+'\x22\x20placeholder=\x22选择'+_0x1dab83[_0x104474(0x13e)]+'\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>'),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x104474(0x11f)+'\x0a';break;case'datetime':_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-date-picker\x20v-model=\x22formdata.'+_0x22ff14+_0x104474(0x12f)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x169)),_0x40dd47+='\x0a'+_0x104474(0x18e)+'</el-form-item>'+'\x0a';break;case'timestamp':_0x40dd47+='\x0a'+_0x104474(0x18e)+(_0x104474(0x178)+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83['Field'])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x1ab)+_0x22ff14+_0x104474(0x12f)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x169)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';break;default:_0x40dd47+='\x0a'+_0x104474(0x18e)+('<el-form-item\x20label=\x22'+(_0x1dab83[_0x104474(0x13e)]||_0x1dab83[_0x104474(0x1a2)])+_0x104474(0x138)+_0x22ff14+'\x22>'),_0x40dd47+='\x0a'+_0x104474(0x15d)+(_0x104474(0x145)+_0x22ff14+_0x104474(0x1ad)+_0x1dab83[_0x104474(0x13e)]+_0x104474(0x1bb)),_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x11f)+'\x0a';}}}}}}}_0x40dd47+='\x0a'+_0x104474(0x18e)+_0x104474(0x16a),_0x40dd47+='\x0a'+_0x104474(0x15d)+_0x104474(0x193),_0x40dd47+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x104474(0x11f)+'\x0a';let _0x583b90=_0x104474(0x1ca);_0x583b90+=_0x104474(0x1b0)+(_0x2a71cc==_0x104474(0x170)?'添加'+_0x2d3fa7:'编辑'+_0x2d3fa7)+_0x104474(0x1a6),_0x583b90+=_0x104474(0x153)+_0x456499+(_0x2a71cc==_0x104474(0x170)?_0x104474(0x107):_0x104474(0x186))+_0x104474(0x1dd)+_0x446ffb+'/'+(_0x2a71cc==_0x104474(0x170)?_0x104474(0x170):'edit/:'+_0x50c2ef[_0x104474(0x1a2)])+_0x104474(0x13b),_0x583b90+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40dd47+'\x0a\x0a',_0x583b90+=_0x104474(0x148),_0x583b90+=_0x104474(0x1cc),_0x583b90+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`post@/'+_0x446ffb+'/'+(_0x2a71cc==_0x104474(0x170)?_0x104474(0x170):_0x104474(0x195)+_0x50c2ef[_0x104474(0x1a2)])+'`)\x22\x20type=\x22primary\x22\x20@click=\x22handlerSave()\x22>保存</el-button>\x0a',_0x583b90+='\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a',_0x583b90+=_0x104474(0x1df),_0x583b90+=_0x104474(0x156),_0x583b90+='<script\x20lang=\x22ts\x22\x20setup>\x0a';if(_0x2a71cc==_0x104474(0x170))_0x583b90+='import\x20{\x20'+_0x456499+_0x104474(0x1a9),_0x583b90+=_0x104474(0x101)+_0x456499+'Add\x20}\x20from\x20\x27@/apis/'+(_0x46da6b?'apps/'+_0x46da6b:''+_0x5e771f)+'/'+_0x456499+'\x27;\x0a\x0a';else _0x2a71cc==_0x104474(0x1ba)&&(_0x583b90+=_0x104474(0x101)+_0x456499+_0x104474(0x176),_0x583b90+=_0x104474(0x101)+_0x456499+'Detail,\x20'+_0x456499+_0x104474(0x1b1)+(_0x46da6b?'apps/'+_0x46da6b:''+_0x5e771f)+'/'+_0x456499+'\x27;\x0a\x0a');if(_0x2a71cc==_0x104474(0x170))_0x583b90+=_0x104474(0x18a),_0x583b90+=_0x104474(0x108),_0x583b90+=_0x104474(0x1bc);else _0x2a71cc==_0x104474(0x1ba)&&(_0x583b90+='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('+_0x50c2ef[_0x104474(0x1a2)]+')\x20=>\x20{\x0a',_0x583b90+=_0x104474(0x173)+_0x456499+'Detail('+_0x50c2ef[_0x104474(0x1a2)]+').then(res\x20=>\x20{\x0a',_0x583b90+=_0x104474(0x152),_0x583b90+=_0x104474(0x161),_0x583b90+=_0x104474(0x1d5),_0x583b90+=_0x104474(0x1ce),_0x583b90+=_0x104474(0x1bc));;_0x583b90+='//\x20保存数据\x0a',_0x583b90+=_0x104474(0x171),_0x583b90+=_0x104474(0x11e),_0x583b90+=_0x104474(0x174)+_0x456499+(_0x2a71cc==_0x104474(0x170)?'Add':_0x104474(0x186))+'('+(_0x2a71cc==_0x104474(0x1ba)?_0x104474(0x181)+_0x50c2ef[_0x104474(0x1a2)]+',\x20':'')+'item).then(res=>{\x0a',_0x583b90+=_0x104474(0x1bf),_0x583b90+=_0x104474(0x164),_0x583b90+=_0x104474(0x12d),_0x583b90+=_0x104474(0x130),_0x583b90+=_0x104474(0x1ce),_0x583b90+='}\x0a\x0a',_0x583b90+=_0x104474(0x135),_0x583b90+=_0x104474(0x190),fs['mkdirSync']((0x0,path_1[_0x104474(0x1e4)])(_0x2a95b1),{'recursive':!![]}),fs['writeFileSync'](_0x2a95b1,_0x583b90,_0x104474(0x10e));}}
|
|
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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
|