flame-plus 0.1.28 → 0.1.30

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flame-plus.umd.js","sources":["../node_modules/.pnpm/registry.npmmirror.com+flame-types@1.0.0/node_modules/flame-types/dist/main.js","../src/packages/utils/filterConfig.ts","../src/packages/utils/isValidKey.ts","../src/packages/components/base/flmButton/flmButton.vue","../src/packages/components/base/flmCascader/flmCascader.vue","../src/packages/components/base/flmCheckbox/flmCheckbox.vue","../src/packages/components/base/flmColorPicker/flmColorPicker.vue","../src/packages/components/base/flmDatePicker/flmDatePicker.vue","../src/packages/components/base/flmInput/flmInput.vue","../src/packages/components/base/flmInputNumber/flmInputNumber.vue","../src/packages/components/base/flmPagination/flmPagination.vue","../src/packages/components/base/flmRadio/flmRadio.vue","../src/packages/components/base/flmRate/flmRate.vue","../src/packages/components/base/flmSelect/flmSelect.vue","../src/packages/components/base/flmSlider/flmSlider.vue","../src/packages/components/base/flmSwitch/flmSwitch.vue","../src/packages/components/base/flmTimePicker/flmTimePicker.vue","../src/packages/components/base/flmTimeSelect/flmTimeSelect.vue","../src/packages/components/base/flmTransfer/flmTransfer.vue","../src/packages/components/base/flmDialog/flmDialog.vue","../src/packages/components/complex/flmForm/flmForm.vue","../plugin-vue:export-helper","../src/packages/components/complex/flmTable/flmTable.vue","../src/packages/components/complex/flmToolbar/flmToolbar.vue","../src/packages/components/complex/flmSearch/flmSearch.vue","../src/packages/components/page/flmReportPage/flmReportPage.vue","../src/packages/components/page/flmExportPage/flmExportPage.vue","../src/packages/components/base/flmCheckbox/flmCheckboxGroup.vue","../src/packages/index.ts"],"sourcesContent":["!function(e,o){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define([],o):\"object\"==typeof exports?exports.flameRequest=o():e.flameRequest=o()}(self,(()=>(()=>{\"use strict\";var e,o,l,t,i={d:(e,o)=>{for(var l in o)i.o(o,l)&&!i.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:o[l]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},a={};i.r(a),i.d(a,{ButtonNativeType:()=>t,ButtonType:()=>l,CascaderPropsExpandTrigger:()=>n,CascaderTagType:()=>r,ColorFormat:()=>c,ControlTypes:()=>M,DateType:()=>p,ElementIcons:()=>o,ElementSize:()=>e,FormEvent:()=>L,SelectTagType:()=>h,TargetSort:()=>B,TimePickerAlign:()=>w,buttonDefaultConfig:()=>d,cascaderDefaultConfig:()=>s,checkboxDefaultConfig:()=>u,checkboxGroupDefaultConfig:()=>f,colorPickerDefaultConfig:()=>m,datePickerDefaultConfig:()=>g,dialogDefaultConfig:()=>x,formDefaultConfig:()=>O,inputDefaultConfig:()=>C,inputNumberDefaultConfig:()=>F,isInputControl:()=>I,paginationDefaultConfig:()=>S,radioDefaultConfig:()=>D,radioGroupDefaultConfig:()=>b,rateDefaultConfig:()=>k,selectDefaultConfig:()=>y,sliderDefaultConfig:()=>P,switchDefaultConfig:()=>v,tableColumnDefaultConfig:()=>U,tableDefaultConfig:()=>E,timePickerDefaultConfig:()=>R,timeSelectDefaultConfig:()=>T,transferDefaultConfig:()=>A}),function(e){e.large=\"large\",e.default=\"default\",e.small=\"small\"}(e||(e={})),function(e){e.AddLocation=\"AddLocation\",e.Aim=\"Aim\",e.AlarmClock=\"AlarmClock\",e.Apple=\"Apple\",e.ArrowDownBold=\"ArrowDownBold\",e.ArrowDown=\"ArrowDown\",e.ArrowLeftBold=\"ArrowLeftBold\",e.ArrowLeft=\"ArrowLeft\",e.ArrowRightBold=\"ArrowRightBold\",e.ArrowRight=\"ArrowRight\",e.ArrowUpBold=\"ArrowUpBold\",e.ArrowUp=\"ArrowUp\",e.Avatar=\"Avatar\",e.Back=\"Back\",e.Baseball=\"Baseball\",e.Basketball=\"Basketball\",e.BellFilled=\"BellFilled\",e.Bell=\"Bell\",e.Bicycle=\"Bicycle\",e.BottomLeft=\"BottomLeft\",e.BottomRight=\"BottomRight\",e.Bottom=\"Bottom\",e.Bowl=\"Bowl\",e.Box=\"Box\",e.Briefcase=\"Briefcase\",e.BrushFilled=\"BrushFilled\",e.Brush=\"Brush\",e.Burger=\"Burger\",e.Calendar=\"Calendar\",e.CameraFilled=\"CameraFilled\",e.Camera=\"Camera\",e.CaretBottom=\"CaretBottom\",e.CaretLeft=\"CaretLeft\",e.CaretRight=\"CaretRight\",e.CaretTop=\"CaretTop\",e.Cellphone=\"Cellphone\",e.ChatDotRound=\"ChatDotRound\",e.ChatDotSquare=\"ChatDotSquare\",e.ChatLineRound=\"ChatLineRound\",e.ChatLineSquare=\"ChatLineSquare\",e.ChatRound=\"ChatRound\",e.ChatSquare=\"ChatSquare\",e.Check=\"Check\",e.Checked=\"Checked\",e.Cherry=\"Cherry\",e.Chicken=\"Chicken\",e.CircleCheckFilled=\"CircleCheckFilled\",e.CircleCheck=\"CircleCheck\",e.CircleCloseFilled=\"CircleCloseFilled\",e.CircleClose=\"CircleClose\",e.CirclePlusFilled=\"CirclePlusFilled\",e.CirclePlus=\"CirclePlus\",e.Clock=\"Clock\",e.CloseBold=\"CloseBold\",e.Close=\"Close\",e.Cloudy=\"Cloudy\",e.CoffeeCup=\"CoffeeCup\",e.Coffee=\"Coffee\",e.Coin=\"Coin\",e.ColdDrink=\"ColdDrink\",e.CollectionTag=\"CollectionTag\",e.Collection=\"Collection\",e.Comment=\"Comment\",e.Compass=\"Compass\",e.Connection=\"Connection\",e.Coordinate=\"Coordinate\",e.CopyDocument=\"CopyDocument\",e.Cpu=\"Cpu\",e.CreditCard=\"CreditCard\",e.Crop=\"Crop\",e.DArrowLeft=\"DArrowLeft\",e.DArrowRight=\"DArrowRight\",e.DCaret=\"DCaret\",e.DataAnalysis=\"DataAnalysis\",e.DataBoard=\"DataBoard\",e.DataLine=\"DataLine\",e.DeleteFilled=\"DeleteFilled\",e.DeleteLocation=\"DeleteLocation\",e.Delete=\"Delete\",e.Dessert=\"Dessert\",e.Discount=\"Discount\",e.DishDot=\"DishDot\",e.Dish=\"Dish\",e.DocumentAdd=\"DocumentAdd\",e.DocumentChecked=\"DocumentChecked\",e.DocumentCopy=\"DocumentCopy\",e.DocumentDelete=\"DocumentDelete\",e.DocumentRemove=\"DocumentRemove\",e.Document=\"Document\",e.Download=\"Download\",e.Drizzling=\"Drizzling\",e.EditPen=\"EditPen\",e.Edit=\"Edit\",e.ElemeFilled=\"ElemeFilled\",e.Eleme=\"Eleme\",e.ElementPlus=\"ElementPlus\",e.Expand=\"Expand\",e.Failed=\"Failed\",e.Female=\"Female\",e.Files=\"Files\",e.Film=\"Film\",e.Filter=\"Filter\",e.Finished=\"Finished\",e.FirstAidKit=\"FirstAidKit\",e.Flag=\"Flag\",e.Fold=\"Fold\",e.FolderAdd=\"FolderAdd\",e.FolderChecked=\"FolderChecked\",e.FolderDelete=\"FolderDelete\",e.FolderOpened=\"FolderOpened\",e.FolderRemove=\"FolderRemove\",e.Folder=\"Folder\",e.Food=\"Food\",e.Football=\"Football\",e.ForkSpoon=\"ForkSpoon\",e.Fries=\"Fries\",e.FullScreen=\"FullScreen\",e.GobletFull=\"GobletFull\",e.GobletSquareFull=\"GobletSquareFull\",e.GobletSquare=\"GobletSquare\",e.Goblet=\"Goblet\",e.GoodsFilled=\"GoodsFilled\",e.Goods=\"Goods\",e.Grape=\"Grape\",e.Grid=\"Grid\",e.Guide=\"Guide\",e.Headset=\"Headset\",e.HelpFilled=\"HelpFilled\",e.Help=\"Help\",e.Hide=\"Hide\",e.Histogram=\"Histogram\",e.HomeFilled=\"HomeFilled\",e.HotWater=\"HotWater\",e.House=\"House\",e.IceCreamRound=\"IceCreamRound\",e.IceCreamSquare=\"IceCreamSquare\",e.IceCream=\"IceCream\",e.IceDrink=\"IceDrink\",e.IceTea=\"IceTea\",e.InfoFilled=\"InfoFilled\",e.Iphone=\"Iphone\",e.Key=\"Key\",e.KnifeFork=\"KnifeFork\",e.Lightning=\"Lightning\",e.Link=\"Link\",e.List=\"List\",e.Loading=\"Loading\",e.LocationFilled=\"LocationFilled\",e.LocationInformation=\"LocationInformation\",e.Location=\"Location\",e.Lock=\"Lock\",e.Lollipop=\"Lollipop\",e.MagicStick=\"MagicStick\",e.Magnet=\"Magnet\",e.Male=\"Male\",e.Management=\"Management\",e.MapLocation=\"MapLocation\",e.Medal=\"Medal\",e.Menu=\"Menu\",e.MessageBox=\"MessageBox\",e.Message=\"Message\",e.Mic=\"Mic\",e.Microphone=\"Microphone\",e.MilkTea=\"MilkTea\",e.Minus=\"Minus\",e.Money=\"Money\",e.Monitor=\"Monitor\",e.MoonNight=\"MoonNight\",e.Moon=\"Moon\",e.MoreFilled=\"MoreFilled\",e.More=\"More\",e.MostlyCloudy=\"MostlyCloudy\",e.Mouse=\"Mouse\",e.Mug=\"Mug\",e.MuteNotification=\"MuteNotification\",e.Mute=\"Mute\",e.NoSmoking=\"NoSmoking\",e.Notebook=\"Notebook\",e.Notification=\"Notification\",e.Odometer=\"Odometer\",e.OfficeBuilding=\"OfficeBuilding\",e.Open=\"Open\",e.Operation=\"Operation\",e.Opportunity=\"Opportunity\",e.Orange=\"Orange\",e.Paperclip=\"Paperclip\",e.PartlyCloudy=\"PartlyCloudy\",e.Pear=\"Pear\",e.PhoneFilled=\"PhoneFilled\",e.Phone=\"Phone\",e.PictureFilled=\"PictureFilled\",e.PictureRounded=\"PictureRounded\",e.Picture=\"Picture\",e.PieChart=\"PieChart\",e.Place=\"Place\",e.Platform=\"Platform\",e.Plus=\"Plus\",e.Pointer=\"Pointer\",e.Position=\"Position\",e.Postcard=\"Postcard\",e.Pouring=\"Pouring\",e.Present=\"Present\",e.PriceTag=\"PriceTag\",e.Printer=\"Printer\",e.Promotion=\"Promotion\",e.QuestionFilled=\"QuestionFilled\",e.Rank=\"Rank\",e.ReadingLamp=\"ReadingLamp\",e.Reading=\"Reading\",e.RefreshLeft=\"RefreshLeft\",e.RefreshRight=\"RefreshRight\",e.Refresh=\"Refresh\",e.Refrigerator=\"Refrigerator\",e.RemoveFilled=\"RemoveFilled\",e.Remove=\"Remove\",e.Right=\"Right\",e.ScaleToOriginal=\"ScaleToOriginal\",e.School=\"School\",e.Scissor=\"Scissor\",e.Search=\"Search\",e.Select=\"Select\",e.Sell=\"Sell\",e.SemiSelect=\"SemiSelect\",e.Service=\"Service\",e.SetUp=\"SetUp\",e.Setting=\"Setting\",e.Share=\"Share\",e.Ship=\"Ship\",e.Shop=\"Shop\",e.ShoppingBag=\"ShoppingBag\",e.ShoppingCartFull=\"ShoppingCartFull\",e.ShoppingCart=\"ShoppingCart\",e.Smoking=\"Smoking\",e.Soccer=\"Soccer\",e.SoldOut=\"SoldOut\",e.SortDown=\"SortDown\",e.SortUp=\"SortUp\",e.Sort=\"Sort\",e.Stamp=\"Stamp\",e.StarFilled=\"StarFilled\",e.Star=\"Star\",e.Stopwatch=\"Stopwatch\",e.SuccessFilled=\"SuccessFilled\",e.Sugar=\"Sugar\",e.Suitcase=\"Suitcase\",e.Sunny=\"Sunny\",e.Sunrise=\"Sunrise\",e.Sunset=\"Sunset\",e.SwitchButton=\"SwitchButton\",e.Switch=\"Switch\",e.TakeawayBox=\"TakeawayBox\",e.Ticket=\"Ticket\",e.Tickets=\"Tickets\",e.Timer=\"Timer\",e.ToiletPaper=\"ToiletPaper\",e.Tools=\"Tools\",e.TopLeft=\"TopLeft\",e.TopRight=\"TopRight\",e.Top=\"Top\",e.TrendCharts=\"TrendCharts\",e.Trophy=\"Trophy\",e.TurnOff=\"TurnOff\",e.Umbrella=\"Umbrella\",e.Unlock=\"Unlock\",e.UploadFilled=\"UploadFilled\",e.Upload=\"Upload\",e.UserFilled=\"UserFilled\",e.User=\"User\",e.Van=\"Van\",e.VideoCameraFilled=\"VideoCameraFilled\",e.VideoCamera=\"VideoCamera\",e.VideoPause=\"VideoPause\",e.VideoPlay=\"VideoPlay\",e.View=\"View\",e.WalletFilled=\"WalletFilled\",e.Wallet=\"Wallet\",e.WarningFilled=\"WarningFilled\",e.Warning=\"Warning\",e.Watch=\"Watch\",e.Watermelon=\"Watermelon\",e.WindPower=\"WindPower\",e.ZoomIn=\"ZoomIn\",e.ZoomOut=\"ZoomOut\"}(o||(o={})),function(e){e.primary=\"primary\",e.success=\"success\",e.warning=\"warning\",e.danger=\"danger\",e.info=\"info\",e.text=\"text\"}(l||(l={})),function(e){e.button=\"button\",e.submit=\"submit\",e.reset=\"reset\"}(t||(t={}));var r,n,d={plain:!1,round:!1,circle:!1,loading:!1,\"loading-icon\":\"Loading\",disabled:!1,autofocus:!1,\"native-type\":t.button};!function(e){e.success=\"success\",e.info=\"info\",e.warning=\"warning\",e.danger=\"danger\"}(r||(r={})),function(e){e.click=\"click\",e.hover=\"hover\"}(n||(n={}));var c,s={placeholder:\"请选择\",disabled:!1,clearable:!1,\"show-all-levels\":!0,\"collapse-tags\":!1,\"collapse-tags-tooltip\":!1,separator:\"/\",debounce:300,teleported:!0,\"tag-type\":r.info},u={disabled:!1,border:!1,checked:!1,indeterminate:!1},f={\"model-value\":[],disabled:!1,\"text-color\":\"#FFFFFF\",fill:\"#409EFF\"};!function(e){e.hsl=\"hsl\",e.hsv=\"hsv\",e.hex=\"hex\",e.rgb=\"rgb\"}(c||(c={}));var p,m={disabled:!1,\"show-alpha\":!1};!function(e){e.year=\"year\",e.month=\"month\",e.date=\"date\",e.dates=\"dates\",e.datetime=\"datetime\",e.week=\"week\",e.datetimerange=\"datetimerange\",e.daterange=\"daterange\",e.monthrange=\"monthrange\"}(p||(p={}));var h,g={readonly:!1,disabled:!1,size:e.default,editable:!0,clearable:!0,type:p.date,format:\"YYYY-MM-DD\",\"range-separator\":\"-\",\"unlink-panels\":!1,\"prefix-icon\":\"Date\",\"clear-icon\":o.CircleClose,\"validate-event\":!0,teleported:!0},C={type:\"text\",\"show-word-limit\":!1,clearable:!1,\"show-password\":!1,disabled:!1,rows:2,autosize:!1,autocomplete:\"off\",readonly:!1,autofocus:!1,\"validate-event\":!0,\"input-style\":{}},F={min:-1/0,max:1/0,step:1,\"step-strictly\":!1,size:e.default,disabled:!1,controls:!0},S={small:!1,background:!1,\"page-size\":10,\"pager-count\":7,\"current-page\":1,layout:\"prev, pager, next, jumper, ->, total\",\"page-sizes\":[10,20,30,40,50,100],disabled:!1},D={disabled:!1,border:!1},b={size:e.default,disabled:!1,\"text-color\":\"#FFF\",fill:\"#409EFF\"},k={\"model-value\":0,max:5,size:e.default,disabled:!1,\"allow-half\":!1,\"low-threshold\":2,\"high-threshold\":4,colors:[\"#F7BA2A\",\"#F7BA2A\",\"#F7BA2A\"],\"void-color\":\"#C6D1DE\",\"disabled-void-color\":\"#EFF2F7\",icons:[o.StarFilled,o.StarFilled,o.StarFilled],\"void-icon\":o.Star,\"disabled-void-icon\":o.StarFilled,\"show-text\":!1,\"show-score\":!1,\"text-color\":\"#1F2D3D\",texts:[\"Extremely bad\",\"Disappointed\",\"Fair\",\"Satisfied\",\"Surprise\"]};!function(e){e.success=\"success\",e.info=\"info\",e.warning=\"warning\",e.danger=\"danger\"}(h||(h={}));var w,y={multiple:!1,disabled:!1,\"value-key\":\"value\",size:e.default,clearable:!1,\"collapse-tags\":!1,\"collapse-tags-tooltip\":!1,\"multiple-limit\":0,effect:\"light\",autocomplete:\"off\",placeholder:\"请选择\",filterable:!1,\"allow-create\":!1,remote:!1,loading:!1,\"loading-text\":\"加载中\",\"no-match-text\":\"没有匹配的数据\",\"no-data-text\":\"无数据\",\"reserve-keyword\":!0,\"default-first-option\":!1,\"popper-append-to-body\":!0,teleported:!0,persistent:!0,\"automatic-dropdown\":!1,\"clear-icon\":\"CircleClose\",\"fit-input-width\":!1,\"suffix-icon\":\"ArrowUp\",\"tag-type\":h.info},P={\"model-value\":0,min:0,max:100,disabled:!1,step:1,\"show-input\":!1,\"show-input-controls\":!0,size:e.default,\"input-size\":e.default,\"show-stops\":!1,\"show-tooltip\":!0,range:!1,vertical:!1,debounce:300},v={disabled:!1,loading:!1,size:e.default,width:40,\"inline-prompt\":!1,\"active-value\":!0,\"inactive-value\":!1,\"active-color\":\"#409EFF\",\"inactive-color\":\"#C0CCDA\",\"validate-event\":!0};!function(e){e.left=\"left\",e.center=\"center\",e.right=\"right\"}(w||(w={}));var B,R={readonly:!1,disabled:!1,editable:!0,clearable:!0,\"is-range\":!1,\"arrow-control\":!1,align:w.left,format:\"HH:mm:ss\",\"prefix-icon\":o.Clock,\"clear-icon\":o.CircleClose,teleported:!0},T={disabled:!1,editable:!0,clearable:!0,size:e.default,effect:\"light\",\"prefix-icon\":o.Clock,\"clear-icon\":o.CircleClose,start:\"09:00\",end:\"18:00\",step:\"00:30\",\"min-time\":\"00:00\",format:\"HH:mm\"};!function(e){e.original=\"original\",e.push=\"push\",e.unshift=\"unshift\"}(B||(B={}));var M,L,A={data:[],filterable:!1,\"filter-placeholder\":\"Enter keyword\",\"target-order\":B.original,titles:[\"List 1\",\"List 2\"],\"button-texts\":[],format:{noChecked:\"${checked}/${total}\",hasChecked:\"${checked}/${total}\"},\"left-default-checked\":[],\"right-default-checked\":[]},x={width:\"50%\",fullscreen:!1,top:\"15vh\",modal:!0,\"append-to-body\":!1,\"lock-scroll\":!0,\"open-delay\":0,\"close-delay\":0,\"close-on-click-modal\":!0,\"close-on-press-escape\":!0,\"show-close\":!0,draggable:!1,center:!1,\"destroy-on-close\":!1};!function(e){e.flmCascader=\"flmCascader\",e.flmCheckbox=\"flmCheckbox\",e.flmColorPicker=\"flmColorPicker\",e.flmDatePicker=\"flmDatePicker\",e.flmInput=\"flmInput\",e.flmInputNumber=\"flmInputNumber\",e.flmRadio=\"flmRadio\",e.flmRate=\"flmRate\",e.flmRead=\"flmRead\",e.flmSelect=\"flmSelect\",e.flmSlider=\"flmSlider\",e.flmSwitch=\"flmSwitch\",e.flmTimePicker=\"flmTimePicker\",e.flmTimeSelect=\"flmTimeSelect\",e.flmTransfer=\"flmTransfer\"}(M||(M={})),function(e){e.submit=\"submit\",e.cancel=\"cancel\"}(L||(L={}));var O={inline:!1,\"label-position\":\"right\",\"hide-required-asterisk\":!1,\"show-message\":!0,\"inline-message\":!1,\"status-icon\":!1,\"validate-on-rule-change\":!0,disabled:!1},I=function(e){return void 0!==e.modelValue},E={stripe:!1,border:!1,fit:!0,\"show-header\":!0,\"highlight-current-row\":!1,\"empty-text\":\"暂无数据\",\"default-expand-all\":!1,\"tooltip-effect\":\"dark\",\"show-summary\":!1,\"sum-text\":\"合计\",\"select-on-indeterminate\":!0,indent:16,\"tree-props\":{hasChildren:\"hasChildren\",children:\"children\"},\"table-layout\":\"fixed\",\"scrollbar-always-on\":!1},U={sortable:!1,\"sort-orders\":[\"ascending\",\"descending\",null],resizable:!1,\"show-overflow-tooltip\":!1,align:\"left\",\"reserve-selection\":!1,\"filter-multiple\":!0};return a})()));","/**\n * 过滤设置\n * @date 2022-04-11\n * @param {any} defaultConfig - 默认设置\n * @param {any} config - 当前设置\n * @returns {Object} - 过滤后的设置\n */\nconst filterConfig = (defaultConfig: any, config: any) => {\n let currentConfig: any = {}\n Object\n .keys({...defaultConfig, ...config})\n .forEach((configKey: string) => {\n const inConfig: boolean = configKey in config\n const valueDifferent: boolean = isValueDifferent(defaultConfig[configKey], config[configKey])\n if (valueDifferent && inConfig)\n currentConfig[configKey] = config[configKey]\n })\n return currentConfig\n}\n\n/**\n * 判断两个值是否不同\n * @date 2022-05-30\n * @param {any} baseValue - 默认值\n * @param {any} value - 当前值\n * @returns {boolean} - 对比结果\n */\nconst isValueDifferent = (baseValue: any, value: any) => {\n const valueType = typeof(value)\n if (['boolean', 'number', 'string'].includes(valueType)) {\n return value !== baseValue\n } else if (['function'].includes(valueType)) {\n return true\n } else {\n return JSON.stringify(value) !== JSON.stringify(baseValue)\n }\n}\n\nexport default filterConfig","/**\n * 判断key是否有效\n * @date 2022-04-11\n * @param {string | number | symbol} key\n * @param {object} object\n * @returns {boolean}\n */\nexport default function isValidKey(\n key: string | number | symbol,\n object: object\n): key is keyof typeof object {\n return key in object\n}","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed } from 'vue'\nimport { ButtonConfig, buttonDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['buttonClick'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<ButtonConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 按钮设置\n const buttonConfig = computed((): ButtonConfig => {\n return filterConfig(buttonDefaultConfig, props.config)\n })\n \n return () => (\n <el-button\n {...buttonConfig.value}\n onClick={() => ctx.emit('buttonClick')}\n >{buttonConfig.value.buttonText || '点击'}</el-button>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { CascaderConfig, CascaderDefaultEvent, cascaderDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'expand-change', 'blur', 'focus', 'visible-change', 'remove-tag'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<CascaderConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 级联选择器设置\n const cascaderConfig = computed((): CascaderConfig => {\n return filterConfig(cascaderDefaultConfig, props.config)\n })\n\n // 级联选择器事件\n const cascaderDefaultEvent: CascaderDefaultEvent = reactive({\n onChange: (value: CascaderConfig['model-value']) => ctx.emit('change', value),\n onExpandChange: (event: any) => ctx.emit('expand-change', event),\n onBlur: (event: any) => ctx.emit('blur', event),\n onFocus: (event: any) => ctx.emit('focus', event),\n onVisibleChange: (event: boolean) => ctx.emit('visible-change', event),\n onRemoveTag: (event: any) => ctx.emit('remove-tag', event)\n })\n\n return () => (\n <el-cascader\n {...cascaderConfig.value}\n {...cascaderDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport { CheckboxConfig, CheckboxDefaultEvent, checkboxDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<CheckboxConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 多选框设置\n const checkboxConfig = computed((): CheckboxConfig => {\n return filterConfig(checkboxDefaultConfig, props.config)\n })\n\n // 多选框事件\n const checkboxDefaultEvent: CheckboxDefaultEvent = reactive({\n onChange: (value: CheckboxConfig['model-value']) => ctx.emit('change', value)\n })\n\n return () => (\n <el-checkbox\n {...checkboxConfig.value}\n {...checkboxDefaultEvent}\n ></el-checkbox>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport { ColorPickerConfig, ColorPickerDefaultEvent, colorPickerDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<ColorPickerConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 颜色选择器设置\n const colorPickerConfig = computed((): ColorPickerConfig => {\n return filterConfig(colorPickerDefaultConfig, props.config)\n })\n\n // 颜色选择器事件\n const colorPickerDefaultEvent: ColorPickerDefaultEvent = reactive({\n onChange: (value: ColorPickerConfig['model-value']) => ctx.emit('change', value)\n })\n \n return () => (\n <el-colorPicker\n {...colorPickerConfig.value}\n {...colorPickerDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { DatePickerConfig, DatePickerDefaultEvent, datePickerDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: [\n 'change',\n 'blur',\n 'focus',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<DatePickerConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 日期选择器设置\n const datePickerConfig = computed((): DatePickerConfig => {\n return filterConfig(datePickerDefaultConfig, props.config)\n })\n\n // 日期选择器事件\n const datePickerDefaultEvent: DatePickerDefaultEvent = reactive({\n 'onUpdate:modelValue': (value: DatePickerConfig['model-value']) => ctx.emit('change', value), // v-model 不用改不了值\n // onChange: (value: DatePickerConfig['model-value']) => {},\n onBlur: (event: any) => ctx.emit('blur', event),\n onFocus: (event: any) => ctx.emit('focus', event),\n onCalendarChange: (event: Array<Date>) => ctx.emit('calendar-change', event),\n onPanelChange: (date: any, mode: any, view: any) => ctx.emit('panel-change', { date, mode, view }),\n onVisibleChange: (event: boolean) => ctx.emit('visible-change', event),\n })\n\n return () => (\n <el-date-picker\n {...datePickerConfig.value}\n {...datePickerDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport { InputConfig, InputDefaultEvent, inputDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['blur', 'focus', 'change', 'input', 'clear'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<InputConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 输入框设置\n const inputConfig = computed((): InputConfig => {\n return filterConfig(inputDefaultConfig, props.config)\n })\n\n // 输入框事件\n const inputDefaultEvent: InputDefaultEvent = reactive({\n onBlur: () => ctx.emit('blur'),\n onFocus: () => ctx.emit('focus'),\n onChange: (value: InputConfig['modelValue']) => ctx.emit('change', value),\n onInput: (value: InputConfig['modelValue']) => ctx.emit('input', value),\n onClear: () => ctx.emit('clear'),\n })\n\n return () => (\n <el-input\n {...inputConfig.value}\n {...inputDefaultEvent}\n ></el-input>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { InputNumberConfig, InputNumberDefaultEvent, inputNumberDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'blur', 'focus'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<InputNumberConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 数字输入框设置\n const inputNumberConfig = computed((): InputNumberConfig => {\n return filterConfig(inputNumberDefaultConfig, props.config)\n })\n\n // 数字输入框默认事件\n const inputNumberDefaultEvent: InputNumberDefaultEvent = reactive({\n onChange: (value: InputNumberConfig['model-value']) => ctx.emit('change', value),\n onBlur: () => ctx.emit('blur'),\n onFocus: () => ctx.emit('focus'),\n })\n\n return () => (\n <el-input-number\n {...inputNumberConfig.value}\n {...inputNumberDefaultEvent}\n ></el-input-number>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport { PaginationConfig, PaginationDefaultEvent, paginationDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['size-change', 'current-change', 'prev-click', 'next-click'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<PaginationConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 按钮设置\n const paginationConfig = computed((): PaginationConfig => {\n return filterConfig(paginationDefaultConfig, props.config)\n })\n\n // 数字输入框默认事件\n const paginationDefaultEvent: PaginationDefaultEvent = reactive({\n onSizeChange: (pageSize: number) => ctx.emit('size-change', pageSize),\n onCurrentChange: (current: number) => ctx.emit('current-change', current),\n onPrevClick: (current: number) => ctx.emit('prev-click', current),\n onNextClick: (current: number) => ctx.emit('next-click', current)\n })\n \n return () => (\n <el-pagination\n {...paginationConfig.value}\n {...paginationDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, h, PropType, computed, reactive } from 'vue'\nimport {\n RadioConfig,\n RadioGroupConfig,\n RadioGroupDefaultEvent,\n radioDefaultConfig,\n radioGroupDefaultConfig\n} from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<RadioGroupConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 单选框组设置\n const radioGroupConfig = computed((): RadioGroupConfig => {\n return filterConfig(radioGroupDefaultConfig, props.config)\n })\n\n // 计算属性传入参需要优化\n // 单选框设置\n // const radioConfig = computed((): (config: RadioConfig) => RadioConfig => (config: RadioConfig) => {\n // return filterConfig(radioDefaultConfig, config)\n // }\n // )\n\n // 单选框默认事件\n const radioDefaultEvent: RadioGroupDefaultEvent = reactive({\n onChange: (value: RadioGroupConfig['model-value']) => ctx.emit('change', value)\n })\n\n const radioGroupDom = () => {\n const { useButton = false, radios = [], ...radioGroup } = radioGroupConfig.value\n const radioDom = (radios: RadioGroupConfig['radios']) => {\n return radios?.map((radio: RadioConfig) => {\n // 动态组件名方式需要优化\n return (useButton\n ? <el-radio-button {...filterConfig(radioDefaultConfig, radio)} />\n : <el-radio {...filterConfig(radioDefaultConfig, radio)} />\n )\n \n })\n }\n return (\n <el-radio-group\n {...radioGroup}\n {...radioDefaultEvent}\n >\n {radioDom(radios)}\n </el-radio-group>\n )\n }\n\n return () => (radioGroupDom())\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { RateConfig, RateDefaultEvent, rateDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<RateConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 评分设置\n const rateConfig = computed((): RateConfig => {\n return filterConfig(rateDefaultConfig, props.config)\n })\n\n // 评分默认事件\n const rateDefaultEvent: RateDefaultEvent = reactive({\n onChange: (value: RateConfig['model-value']) => ctx.emit('change', value),\n })\n\n return () => (\n <el-rate\n {...rateConfig.value}\n {...rateDefaultEvent}\n ></el-rate>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport {\n SelectConfig,\n SelectDefaultEvent,\n OptionGroupConfig,\n OptionConfig,\n selectDefaultConfig\n} from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'visible-change', 'remove-tag', 'clear', 'blur', 'focus'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<SelectConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 选择器设置\n const selectConfig = computed((): SelectConfig => {\n return filterConfig(selectDefaultConfig, props.config)\n })\n\n // 选择器默认事件\n const selectDefaultEvent: SelectDefaultEvent = reactive({\n onChange: (value: SelectConfig['model-value']) => ctx.emit('change', value),\n onVisibleChange: (showOption: boolean) => ctx.emit('visible-change', showOption),\n onRemoveTag: (tagValue: SelectConfig['model-value']) => ctx.emit('remove-tag', tagValue),\n onClear: () => ctx.emit('clear'),\n onBlur: () => ctx.emit('blur'),\n onFocus: () => ctx.emit('focus'),\n })\n\n /**\n * 选择器的子元素\n * @date 2022-04-12\n * @param {object} props\n * @param {boolean} props.hasGroup 是否为分组选项\n * @param {array} props.group 分组选项\n * @param {array} props.options 普通选项\n * @returns {tsx} 选择器子元素tsx\n */\n const childrenDom = ({ hasGroup, groups = [], options = [] }: SelectConfig) => {\n const groupsDom = (groups: Array<OptionGroupConfig>) => {\n return groups.map(({ options, ...group }: OptionGroupConfig) => {\n return (\n <el-option-group key={group.label} {...group}>\n {options && optionsDom(options)}\n </el-option-group>\n )\n })\n }\n const optionsDom = (options: Array<OptionConfig>) => {\n return options.map((option: OptionConfig) => (\n <el-option key={option.value} {...option} />\n ))\n }\n return hasGroup ? groupsDom(groups) : optionsDom(options)\n }\n\n return () => (\n <el-select\n {...selectConfig.value}\n {...selectDefaultEvent}\n >\n {childrenDom(selectConfig.value)}\n </el-select>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { SliderConfig, SliderDefaultEvent, sliderDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'input'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<SliderConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 滑块设置\n const sliderConfig = computed((): SliderConfig => {\n return filterConfig(sliderDefaultConfig, props.config)\n })\n\n // 滑块默认事件\n const sliderDefaultEvent: SliderDefaultEvent = reactive({\n onChange: (value: SliderConfig['model-value']) => ctx.emit('change', value),\n onInput: (value: SliderConfig['model-value']) => ctx.emit('input', value),\n })\n\n return () => (\n <el-slider\n {...sliderConfig.value}\n {...sliderDefaultEvent}\n ></el-slider>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed } from 'vue'\nimport { SwitchConfig, switchDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<SwitchConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 开关设置\n const switchConfig = computed((): SwitchConfig => {\n return filterConfig(switchDefaultConfig, props.config)\n })\n \n return () => (\n <el-switch\n {...switchConfig.value}\n onChange={(value: SwitchConfig['model-value']) => ctx.emit('change', value)}\n ></el-switch>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { TimePickerConfig, TimePickerDefaultEvent, timePickerDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'blur', 'focus', 'visible-change' ],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<TimePickerConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 时间选择器设置\n const timePickerConfig = computed((): TimePickerConfig => {\n return filterConfig(timePickerDefaultConfig, props.config)\n })\n\n // 时间选择器事件\n const timePickerDefaultEvent: TimePickerDefaultEvent = reactive({\n 'onUpdate:modelValue': (value: TimePickerConfig['model-value']) => ctx.emit('change', value), // v-model 不用改不了值\n onBlur: (event: any) => ctx.emit('blur', event),\n onFocus: (event: any) => ctx.emit('focus', event),\n onVisibleChange: (event: boolean) => ctx.emit('visible-change', event),\n })\n\n return () => (\n <el-time-picker\n {...timePickerConfig.value}\n {...timePickerDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { TimeSelectConfig, timeSelectDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'blur', 'focus'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<TimeSelectConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 时间选择设置\n const timeSelectConfig = computed((): TimeSelectConfig => {\n return filterConfig(timeSelectDefaultConfig, props.config)\n })\n\n // 时间选择默认事件\n const timeSelectDefaultEvent: any = reactive({\n onChange: (value: TimeSelectConfig['model-value']) => ctx.emit('change', value),\n onBlur: () => ctx.emit('blur'),\n onFocus: () => ctx.emit('focus'),\n })\n\n return () => (\n <el-timeSelect\n {...timeSelectConfig.value}\n {...timeSelectDefaultEvent}\n />\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, computed, reactive } from 'vue'\nimport { TransferConfig, TransferDefaultEvent, transferDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['change', 'left-check-change', 'right-check-change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<TransferConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 穿梭框设置\n const transferConfig = computed((): TransferConfig => {\n return filterConfig(transferDefaultConfig, props.config)\n })\n\n // 穿梭框默认事件\n const transferDefaultEvent: TransferDefaultEvent = reactive({\n onChange: (value: TransferConfig['model-value']) => ctx.emit('change', value),\n onLeftCheckChange: (value: TransferConfig['model-value']) => ctx.emit('left-check-change', value),\n onRightCheckChange: (value: TransferConfig['model-value']) => ctx.emit('right-check-change', value),\n })\n\n return () => (\n <el-transfer\n {...transferConfig.value}\n {...transferDefaultEvent}\n >\n {{\n 'default': ({ option }: any) => ctx.slots['default']?.({ option }),\n 'left-footer': () => ctx.slots['left-footer']?.(),\n 'right-footer': () => ctx.slots['right-footer']?.(),\n }}\n </el-transfer>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport { DialogConfig, DialogDefaultEvent, dialogDefaultConfig } from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: ['open', 'opened', 'close', 'closed', 'open-auto-focus', 'close-auto-focus'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<DialogConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 弹窗设置\n const dialogConfig = computed((): DialogConfig => {\n return filterConfig(dialogDefaultConfig, props.config)\n })\n\n // 弹窗事件\n const dialogDefaultEvent: DialogDefaultEvent = reactive({\n onOpen: () => ctx.emit('open'),\n onOpened: () => ctx.emit('opened'),\n onClose: () => ctx.emit('close'),\n onClosed: () => ctx.emit('closed'),\n onOpenAutoFocus: () => ctx.emit('open-auto-focus'),\n onCloseAutoFocus: () => ctx.emit('close-auto-focus'),\n })\n \n return () => (\n <el-dialog\n {...dialogConfig.value}\n {...dialogDefaultEvent}\n >{{ default: () => ctx.slots['default']?.() }}</el-dialog>\n )\n },\n})\n</script>","<script lang=\"tsx\">\nimport {\n defineComponent,\n getCurrentInstance,\n PropType,\n reactive,\n computed,\n watch,\n h,\n resolveComponent,\n onMounted\n} from 'vue'\nimport {\n flmButton,\n flmCascader,\n flmCheckbox,\n flmColorPicker,\n flmDatePicker,\n flmInput,\n flmInputNumber,\n flmRadio,\n flmRate,\n flmRead,\n flmSelect,\n flmSlider,\n flmSwitch,\n flmTimePicker,\n flmTimeSelect,\n flmTransfer,\n} from '../../index'\nimport {\n ControlTypes,\n ControlConfig,\n isInputControl,\n FormModel,\n FormConfig,\n FormItemConfig,\n FormButtonConfig,\n formDefaultConfig\n} from 'flame-types'\nimport { filterConfig, isValidKey } from '../../../utils'\n\nexport default defineComponent({\n components: {\n flmButton,\n flmCascader,\n flmCheckbox,\n flmColorPicker,\n flmDatePicker,\n flmInput,\n flmInputNumber,\n flmRadio,\n flmRate,\n flmRead,\n flmSelect,\n flmSlider,\n flmSwitch,\n flmTimePicker,\n flmTimeSelect,\n flmTransfer,\n },\n emits: ['submit', 'cancel', 'reset', 'customEvent'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<FormConfig>,\n default: {}\n },\n },\n computed: {\n columnNumber(): number | boolean {\n const { inline = false, columnNumber = 0 } = this.config\n return inline && columnNumber > 1\n ? columnNumber\n : false\n }\n },\n setup(props, { slots, emit, expose }) {\n const instance = getCurrentInstance() // 实例,必须在最外层声明\n let formModel: FormModel = reactive({}) // 表单数据\n\n // 监听表单配置的 model,变化后更新组件内部 formModel\n watch(() => props.config.model, (newModel: FormModel) => updateFormModel(newModel))\n\n // 监听组件内部 formModel,变化后更新控件 value\n watch(formModel, (newModel: FormModel) => updateControl(newModel))\n\n onMounted(() => {\n if (props.config?.model && Object.keys(props.config?.model).length) {\n updateControl(props.config.model)\n updateFormModel(props.config.model)\n }\n })\n\n /**\n * 更新控件值\n * @date 2022-05-09\n * @param {FormModel} model\n */\n const updateControl = (model: FormModel) => {\n props.config.items?.forEach((formItem: FormItemConfig) => {\n if (!isValidKey('isSlot', formItem) && typeof(formItem.prop) === 'string') {\n const { controlConfig } = formItem\n controlConfig && (\n isInputControl(controlConfig)\n ? controlConfig['modelValue'] = model[formItem.prop]\n : controlConfig['model-value'] = model[formItem.prop]\n )\n }\n })\n }\n\n /**\n * 更新表单值\n * @date 2022-05-09\n * @param {FormModel} model\n */\n const updateFormModel = (model: FormModel) => {\n Object.entries(model).forEach(([key, value]: Array<any>) => formModel[key] = value)\n }\n\n /**\n * 表单修改\n * @date 2022-04-14\n * @param {any} value 修改值\n * @param {string} prop 修改键名\n */\n const formChange = (value: any, prop: string) => formModel[prop] = value\n\n /**\n * 表单方法调用\n * @date 2022-04-14\n * @param {'submit' | 'cancel' | 'reset' | string} event 方法名(默认方法直接调用;自定义方法回传方法名及表单数据)\n */\n const formEvent = (event: FormButtonConfig['event']) => {\n const defaultEvent: Record<FormButtonConfig['event'], Function> = { submit, cancel, reset }\n isValidKey(event, defaultEvent)\n ? defaultEvent[event]()\n : emit('customEvent', { event, formModel })\n }\n\n // 提交\n const submit = () => {\n const formRef: any = instance?.refs['formRef']\n if (!formRef) return\n formRef.validate((valid: boolean) => {\n valid && emit('submit', formModel)\n })\n }\n\n // 取消\n const cancel = () => {\n emit('cancel', formModel)\n }\n\n // 重置\n const reset = () => {\n const formRef: any = instance?.refs['formRef']\n if (!formRef) return\n formRef.resetFields()\n emit('reset', formModel)\n }\n\n /**\n * 表单元素\n * @date 2022-04-14\n * @param {Array} items 表单项配置\n * @returns {any} 表单项dom\n */\n const formItemsDom = (items: FormConfig['items'] = []) => {\n const controlDom = (prop: string, controlType: ControlTypes, controlConfig: ControlConfig) => {\n const config: FormModel = { ...controlConfig }\n const event = controlType === ControlTypes['flmInput'] ? 'onInput' : 'onChange'\n config[event] = (value: any) => formChange(value, prop)\n return h(resolveComponent(controlType), { config })\n }\n return items.map((item: FormItemConfig) => {\n if (typeof(item.prop) === 'string') {\n if (isValidKey('isSlot', item)) {\n const { isSlot, ...itemConfig } = item\n return (\n <el-form-item class={`form-${item.prop}`} {...itemConfig}>\n {(slots[item.prop]?.({ prop: item.prop, formModel }))}\n </el-form-item>\n )\n } else {\n const { controlType, controlConfig, ...itemConfig } = item\n if (controlType && controlConfig) {\n return (\n <el-form-item class={`form-${item.prop}`} {...itemConfig}>\n {controlDom(item.prop, controlType, controlConfig)}\n </el-form-item>\n )\n }\n }\n }\n })\n }\n\n /**\n * 表单按钮\n * @date 2022-04-14\n * @param {Array} buttons 表单按钮配置\n * @returns {any} 表单按钮dom\n */\n const buttonsDom = (buttons: FormConfig['buttons'] = []) => {\n if (buttons.length) {\n return (\n <el-form-item class=\"form-buttons\">\n {buttons.map(({ event, ...config }: FormButtonConfig) =>\n <flm-button config={config} onButtonClick={() => formEvent(event)} />\n )}\n </el-form-item>\n )\n }\n }\n\n expose({ formModel, reset })\n\n // 表单设置\n const formConfig = computed((): FormConfig => filterConfig(formDefaultConfig, props.config))\n const formDom = () => {\n const { items = [], buttons = [], model, ...defaultConfig } = formConfig.value\n return (\n <el-form ref='formRef' {...defaultConfig} model={formModel}>\n {formItemsDom(items)}\n {buttonsDom(buttons)}\n </el-form>\n )\n }\n return () => (formDom())\n },\n})\n</script>\n\n<style lang=\"scss\" scoped>\n$columnNumber: v-bind(columnNumber);\n:deep(.el-form-item) {\n @if $columnNumber != false {\n width: calc((100% - 32px * $columnNumber) / $columnNumber);\n }\n}\n</style>","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","<script lang=\"tsx\">\nimport { defineComponent, PropType, reactive, computed } from 'vue'\nimport {\n TableConfig,\n TableColumnConfig,\n TableDefaultEvent,\n tableDefaultConfig,\n tableColumnDefaultConfig\n} from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-click',\n 'cell-dblclick',\n 'cell-contextmenu',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<TableConfig>,\n default: {}\n },\n },\n setup(props, { slots, emit }) {\n // 表格默认事件\n const tableDefaultEvent: TableDefaultEvent = reactive({\n onSelect: (selection: any, row: any) => emit('select', { selection, row }),\n onSelectAll: (selection: any) => emit('select-all', selection),\n onSelectionChange: (row: any, column: any, cell: any, event: any) => emit('selection-change', { row, column, cell, event }),\n onCellMouseEnter: (row: any, column: any, cell: any, event: any) => emit('cell-mouse-enter', { row, column, cell, event }),\n onCellMouseLeave: (row: any, column: any, cell: any, event: any) => emit('cell-mouse-leave', { row, column, cell, event }),\n onCellClick: (row: any, column: any, cell: any, event: any) => emit('cell-click', { row, column, cell, event }),\n onCellDblclick: (row: any, column: any, cell: any, event: any) => emit('cell-dblclick', { row, column, cell, event }),\n onCellContextmenu: (row: any, column: any, cell: any, event: any) => emit('cell-contextmenu', { row, column, cell, event }),\n onRowClick: (row: any, column: any, event: any) => emit('row-click', { row, column, event }),\n onRowContextmenu: (row: any, column: any, event: any) => emit('row-contextmenu', { row, column, event }),\n onRowDblclick: (row: any, column: any, event: any) => emit('row-dblclick', { row, column, event }),\n onHeaderClick: (column: any, event: any) => emit('header-click', { column, event }),\n onHeaderContextmenu: (column: any, event: any) => emit('header-contextmenu', { column, event }),\n onSortChange: ({ column, prop, order }: any) => emit('sort-change', { column, prop, order }),\n onFilterChange: (filters: any) => emit('filter-change', filters),\n onCurrentChange: (currentRow: any, oldCurrentRow: any) => emit('current-change', { currentRow, oldCurrentRow }),\n onHeaderDragend: (newWidth: any, oldWidth: any, column: any, event: any) => emit('header-dragend', { newWidth, oldWidth, column, event }),\n onExpandChange: (row: any, expanded: any) => emit('expand-change', { row, expanded }),\n })\n \n /**\n * 表格\n * @date 2022-09-29\n * @param {TableConfig} tableConfig 表格配置\n * @returns {any} 表格dom\n */\n const tableDom = (tableConfig: TableConfig) => {\n const { columns = [], ...defaultConfig } = tableConfig\n return (\n <el-table\n {...defaultConfig}\n {...tableDefaultEvent}\n >{tableColumnDom(columns)}</el-table>\n )\n }\n\n /**\n * 表格元素\n * @date 2022-04-14\n * @param {Array} tableColumns 表格列配置\n * @returns {any} 表格列dom\n */\n const tableColumnDom = (childColumns: TableConfig['columns'] = []) => {\n return childColumns.map(({ isSlot, columns = [], ...childColumnConfig }: TableColumnConfig) => {\n let childDom: any\n if (columns.length) {\n childDom = tableColumnDom(columns)\n } else if (isSlot) {\n childDom = { default: ({ $index: index, row, column }: any) => childColumnConfig.prop && slots[childColumnConfig.prop]?.({ index, row, column }) }\n }\n return (\n <el-table-column {...filterConfig(tableColumnDefaultConfig, childColumnConfig)}>\n {childDom}\n </el-table-column>\n )\n })\n }\n\n // 表单设置\n const tableConfig = computed((): TableConfig => filterConfig(tableDefaultConfig, props.config))\n return () => (tableDom(tableConfig.value))\n },\n})\n</script>\n","<template>\n <div class=\"flm-toolbar\">\n <flm-button\n v-for=\"buttonConfig in buttonGroup\"\n :config=\"{ ...config.publicConfig, ...buttonConfig }\"\n :key=\"buttonConfig.event\"\n @click=\"toolbarClick(buttonConfig.event)\"\n />\n <el-dropdown\n v-if=\"props.config.buttons.length > maxButton\"\n style=\"margin-left: 12px;\"\n trigger=\"click\"\n @command=\"toolbarClick\"\n >\n <flm-button :config=\"{ ...config.publicConfig, buttonText: '更多' }\" />\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item\n v-for=\"buttonConfig in dropdown\"\n :config=\"buttonConfig\"\n :key=\"buttonConfig.event\"\n :command=\"buttonConfig.event\"\n >{{ buttonConfig.buttonText }}</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType, computed, ComputedRef } from 'vue'\nimport { flmButton } from '../../index'\nimport { ToolbarConfig, ToolbarButtonConfig } from 'flame-types'\n\nconst emit = defineEmits(['toolbarClick'])\nconst props = defineProps({\n config: {\n type: Object as PropType<ToolbarConfig>,\n default(): ToolbarConfig {\n return {\n publicConfig: {},\n maxButton: 3,\n buttons: []\n }\n }\n }\n})\n\nconst maxButton = props.config.maxButton\nconst buttonGroup: ComputedRef<Array<ToolbarButtonConfig>> = computed(() => props.config.buttons.slice(0, maxButton))\nconst dropdown: ComputedRef<Array<ToolbarButtonConfig>> = computed(() => props.config.buttons.slice(maxButton))\n\n// 工具栏\nconst toolbarClick = (event: string) => emit('toolbarClick', event)\n</script>","<template>\n <div>\n <flmForm\n class=\"search-default\"\n ref=\"searchDefaultRef\"\n :config=\"defaultConfig\"\n @submit=\"searchSubmit\"\n @reset=\"searchReset\"\n @customEvent=\"searchCustomEvent\"\n >\n <template v-for=\"defaultSlot in defaultSlots\" #[defaultSlot]=\"{ prop, formModel }\">\n <slot :name=\"defaultSlot\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmForm>\n <el-drawer\n v-if=\"hasExtra\"\n v-model=\"showExtra\"\n title=\"搜索\"\n :before-close=\"closeDrawer\"\n :close-on-click-modal=\"false\"\n :close-on-press-escape=\"false\"\n :show-close=\"false\"\n direction=\"ltr\"\n >\n <flmForm\n ref=\"searchExtraRef\"\n :config=\"extraConfig\"\n @submit=\"drawerSubmit\"\n @cancel=\"closeDrawer\"\n >\n <template v-for=\"extraSlot in extraSlots\" #[extraSlot]=\"{ prop, formModel }\">\n <slot :name=\"extraSlot\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmForm>\n </el-drawer>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType, ref, Ref, computed, ComputedRef } from 'vue'\nimport { flmForm } from '../../index'\nimport { ButtonType, FormItemConfig, SearchConfig } from 'flame-types'\nimport { isValidKey } from '../../../utils'\n\nconst emit = defineEmits(['searchSubmit', 'searchReset', 'searchCustomEvent'])\nconst props = defineProps({\n config: {\n type: Object as PropType<SearchConfig>,\n default() {\n return {}\n }\n }\n})\n\nconst searchDefaultRef: Ref<any> = ref() // 默认搜索栏实例\nconst searchExtraRef: Ref<any> = ref() // 额外搜索栏实例\n\nlet showExtra: Ref<boolean> = ref(false) // 显示额外搜索条件\nlet hasExtra: Ref<boolean> = ref(false) // 有额外搜索条件\nlet extraFormModel: Ref<SearchConfig> = ref({}) // 额外搜索条件\n\nconst maxFormItem = computed(() => props.config.maxFormItem || 3) // 默认搜索栏最大条件数\n\n// 默认搜索栏设置\nconst defaultConfig: ComputedRef<SearchConfig> = computed(() => {\n const { items = [], buttons, ...config } = props.config\n hasExtra.value = items.length > maxFormItem.value\n hasExtra.value && buttons?.unshift({ 'buttonText': '更多', 'event': 'openDrawer' }) // 搜索条件大于最大数量,插入更多按钮\n return {\n ...config,\n inline: true,\n items: items.slice(0, maxFormItem.value),\n buttons\n }\n})\n// 额外搜索栏设置\nconst extraConfig: ComputedRef<SearchConfig> = computed(() => {\n const { items, buttons, ...config } = props.config\n return {\n ...config,\n inline: false,\n items: items?.slice(maxFormItem.value),\n // 插入额外搜索栏按钮\n buttons: [\n {\n 'buttonText': '取消',\n 'event': 'cancel'\n },\n {\n 'type': ButtonType['primary'],\n 'buttonText': '搜索',\n 'event': 'submit'\n }\n ]\n }\n})\n\n// 获取表格插槽\nconst getFormSlots = (items: SearchConfig['items'] = []): Array<string> => {\n let slots: Array<string> = []\n items.forEach((item: FormItemConfig) => {\n if (isValidKey('isSlot', item)) {\n const { prop } = item\n prop && typeof(prop) === 'string' && slots.push(prop)\n }\n })\n return slots\n}\n// 默认搜索栏插槽\nconst defaultSlots = computed((): Array<string> => getFormSlots(props.config.items?.slice(0, maxFormItem.value)) ?? [])\n// 额外搜索栏插槽\nconst extraSlots = computed((): Array<string> => getFormSlots(props.config.items?.slice(maxFormItem.value)) ?? [])\n\n// 搜索栏提交\nconst searchSubmit = (formModel: SearchConfig['model']) => {\n emit('searchSubmit', { ...formModel, ...extraFormModel.value })\n}\n\n// 搜索栏取消\nconst searchReset = () => {\n searchExtraRef.value?.reset()\n const extraFormModel = searchExtraRef.value?.formModel ?? {}\n emit('searchReset', { ...extraFormModel, ...searchDefaultRef.value.formModel })\n}\n\n// 搜索栏自定义操作\nconst searchCustomEvent = ({ event, formModel }: { event: string, formModel: SearchConfig['model']}) => {\n const customEvent: Record<string, Function> = { openDrawer }\n if (isValidKey(event, customEvent)) {\n customEvent[event](formModel)\n } else {\n emit('searchCustomEvent', event)\n }\n}\n\nconst openDrawer = () => showExtra.value = true // 打开额外搜索栏弹窗\nconst closeDrawer = () => showExtra.value = false // 关闭额外搜索栏弹窗\n\n// 额外搜索栏提交\nconst drawerSubmit = (formModel: SearchConfig['model']) => {\n formModel && (extraFormModel.value = formModel)\n emit('searchSubmit', { ...searchDefaultRef.value.formModel, ...formModel })\n closeDrawer()\n}\n</script>","<template>\n <div class=\"report-page\" ref=\"reportPageRef\">\n <template v-if=\"isLoaded\">\n <flmSearch\n class=\"page-search\"\n :config=\"reportPageConfig.search\"\n @searchSubmit=\"searchSubmit\"\n >\n <template v-for=\"searchSlot in searchSlots\" #[searchSlot]=\"{ prop, formModel }\">\n <slot :name=\"`search-${searchSlot}`\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmSearch>\n <flmToolbar class=\"page-toolbar\" :config=\"reportPageConfig.toolbar\" @toolbarClick=\"toolbarClick\" />\n <flmTable\n class=\"page-table\"\n :config=\"reportPageConfig.table\"\n @selectionChange=\"tableEvent.selectionChange\"\n >\n <template v-for=\"tableSlot in getTableSlots\" #[tableSlot]=\"{ index, row, column }\">\n <slot :name=\"`table-${tableSlot}`\" :index=\"index\" :row=\"row\" :column=\"column\"></slot>\n </template>\n <template v-if=\"reportPageConfig.tableAction.buttons.length\" #tableAction=\"scope\">\n <flmToolbar :config=\"reportPageConfig.tableAction\" @toolbarClick=\"tableActionClick($event, scope)\" />\n </template>\n </flmTable>\n <flmPagination\n class=\"page-pagination\"\n :config=\"reportPageConfig.pagination\"\n @size-change=\"paginationEvent.sizeChange\"\n @current-change=\"paginationEvent.currentChange\"\n />\n </template>\n <flmDialog :config=\"reportPageConfig.readDialog\" @close=\"pageDefaultEvent.closeReadDialog\">\n <flmForm class=\"form-read\" :config=\"reportPageConfig.readForm\" @cancel=\"pageDefaultEvent.closeReadDialog\">\n <template v-for=\"readFormSlot in readFormSlots\" #[readFormSlot]=\"{ prop, formModel }\">\n <slot :name=\"`read-${readFormSlot}`\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmForm>\n </flmDialog>\n <flmDialog :config=\"reportPageConfig.addDialog\" @close=\"pageDefaultEvent.closeAddDialog\">\n <flmForm\n class=\"form-add\"\n :config=\"reportPageConfig.addForm\"\n @submit=\"pageDefaultEvent.pageAdd\"\n @cancel=\"pageDefaultEvent.closeAddDialog\"\n >\n <template v-for=\"addFormSlot in addFormSlots\" #[addFormSlot]=\"{ prop, formModel }\">\n <slot :name=\"`add-${addFormSlot}`\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmForm>\n </flmDialog>\n <flmDialog :config=\"reportPageConfig.editDialog\" @close=\"pageDefaultEvent.closeEditDialog\">\n <flmForm\n class=\"form-edit\"\n :config=\"reportPageConfig.editForm\"\n @submit=\"pageDefaultEvent.pageEdit\"\n @cancel=\"pageDefaultEvent.closeEditDialog\"\n >\n <template v-for=\"editFormSlot in editFormSlots\" #[editFormSlot]=\"{ prop, formModel }\">\n <slot :name=\"`edit-${editFormSlot}`\" :prop=\"prop\" :formModel=\"formModel\"></slot>\n </template>\n </flmForm>\n </flmDialog>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType, ref, Ref, computed, onMounted } from 'vue'\n// import store from '@/store'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport {\n flmForm,\n flmSearch,\n flmToolbar,\n flmTable,\n flmPagination,\n flmDialog\n} from '../../index'\nimport {\n FormItemConfig,\n FormConfig,\n TableColumnConfig,\n ReportPageSetting,\n} from 'flame-types'\nimport { isValidKey } from '../../../utils'\n\nconst props = defineProps({\n // 表名\n tableName: {\n type: String,\n required: true\n },\n // 请求方式\n request: {\n type: Object as PropType<any>,\n required: true\n }\n})\n\nconst emit = defineEmits(['customEvent'])\nconst reportPageRef = ref()\n\nconst safeTableName = computed(() => props.tableName.replace(/_/g, ''))\n\nlet isLoaded: Ref<boolean> = ref(false)\nlet reportPageConfig: Ref<ReportPageSetting> = ref({\n search: {},\n toolbar: {\n publicConfig: {},\n maxButton: 3,\n buttons: []\n },\n table: {},\n tableAction: {\n publicConfig: {},\n maxButton: 3,\n buttons: []\n },\n pagination: {},\n readDialog: {\n 'model-value': false\n },\n readForm: {},\n addDialog: {\n 'model-value': false\n },\n addForm: {},\n editDialog: {\n 'model-value': false\n },\n editForm: {}\n})\nconst searchParams: FormConfig['model'] = ref({}) // 搜索条件\nlet tableSelection: Ref<Array<any>> = ref([]) // 表格勾选项\n\nonMounted(() => {\n queryPageSetting()\n})\n\n// 表格高度\nconst tableHeight = () => {\n const homeHeight = '100vh',\n headerHight = '50px', // 页眉高度\n mainSpacing = '30px', // 主体内容边距\n pageSearch = '50px', // 搜索栏高度\n pageFooter = '50px', // 分页高度\n pageSpacing = '40px' // 页面边距\n return `calc(${homeHeight} - ${headerHight} - ${mainSpacing} - ${pageSearch} - ${pageFooter} - ${pageSpacing})`\n}\n\n// 查询页面配置\nconst queryPageSetting = () => {\n props.request.flameprops.request({\n tableName: 'flametableinfo',\n flameMethod: 'webgetpagesetting',\n data: { table_name: props.tableName, menu_id: null }\n })\n .then(({ items }: any) => {\n const reportPageSetting: ReportPageSetting = items\n reportPageSetting.table['height'] = tableHeight()\n reportPageSetting.table['max-height'] = tableHeight()\n reportPageSetting.tableAction.buttons.length && reportPageSetting.table.columns?.push({\n prop: 'tableAction',\n label: '操作',\n isSlot: true,\n fixed: 'right',\n 'min-width': '200px'\n })\n reportPageConfig.value = reportPageSetting\n queryPageData()\n })\n}\n\n// 查询页面数据\nconst queryPageData = () => {\n const {\n ['current-page']: page_no = 1,\n ['page-size']: page_size = 20,\n }: ReportPageSetting['pagination'] = reportPageConfig.value.pagination\n props.request.flameApi.pageSearch({\n tableName: safeTableName.value,\n data: {\n page_no,\n page_size,\n conditions: searchParams.value,\n ref_level: 1,\n order_by: \"flame_id DESC\"\n }\n })\n .then(({ items, total }: any) => {\n reportPageConfig.value.table.data = items\n reportPageConfig.value.pagination['total'] = total\n isLoaded.value = true\n })\n}\n\n// 页面刷新\nconst pageRefresh = () => {\n reportPageConfig.value.pagination['current-page'] = 1\n queryPageData()\n}\n\n// 搜索栏提交\nconst searchSubmit = (event: object) => {\n searchParams.value = event\n pageRefresh()\n}\n\n// 工具栏点击\nconst toolbarClick = (event: string) => {\n isValidKey(event, pageDefaultEvent)\n ? pageDefaultEvent[event]()\n : emit('customEvent', event)\n}\n\n// 表格操作栏点击\nconst tableActionClick = (event: string, scope: any) => {\n isValidKey(event, pageDefaultEvent)\n ? pageDefaultEvent[event](scope)\n : emit('customEvent', { event, scope })\n}\n\n// 表格操作\nconst tableEvent: Record<string, (event?: any) => void> = {\n // 表格勾选项变化\n selectionChange: ({ row }: any) => {\n tableSelection.value = row\n }\n}\n\n// 分页器操作\nconst paginationEvent: Record<string, (event?: any) => void> = {\n // 每页数量变化\n sizeChange:(pageSize: number) => {\n reportPageConfig.value.pagination['current-page'] = 1\n reportPageConfig.value.pagination['page-size'] = pageSize\n queryPageData()\n },\n // 当前页变化\n currentChange:(current: number) => {\n reportPageConfig.value.pagination['current-page'] = current\n queryPageData()\n },\n}\n\n// 页面默认操作\nconst pageDefaultEvent: Record<string, (event?: any) => void> = {\n // 打开详情弹窗\n openReadDialog:(scope: any) => {\n props.request.flameApi.singleSearch({\n tableName: safeTableName.value,\n data: { key: scope.row.flame_id }\n })\n .then(({ items }: any) => {\n reportPageConfig.value.readForm['model'] = items\n reportPageConfig.value.readDialog['model-value'] = true\n })\n },\n // 关闭详情弹窗\n closeReadDialog:() => {\n reportPageConfig.value.readDialog['model-value'] = false\n },\n // 查看详情\n pageRead:(scope: any) => {\n props.request.flameApi.singleSearch({\n tableName: safeTableName.value,\n data: { key: scope.row.flame_id }\n })\n .then(({ items }: any) => {\n reportPageConfig.value.readForm['model'] = items\n reportPageConfig.value.readDialog['model-value'] = true\n })\n },\n // 打开新增弹窗\n openAddDialog:() => {\n reportPageConfig.value.addDialog['model-value'] = true\n },\n // 关闭新增弹窗\n closeAddDialog:() => {\n reportPageConfig.value.addDialog['model-value'] = false\n },\n // 页面新增\n pageAdd:(formModel: FormConfig['model']) => {\n props.request.flameApi.singleAdd({\n tableName: safeTableName.value,\n data: { data: formModel }\n })\n .then(() => {\n pageRefresh()\n ElMessage.success('新增成功')\n pageDefaultEvent.closeAddDialog()\n })\n },\n // 页面删除\n pageDelete:(scope: any) => {\n ElMessageBox.confirm(\n '确认要删除本条数据吗?此操作不可逆',\n '提示',\n {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n }\n )\n .then(() => {\n props.request.flameApi.singleDelete({\n tableName: safeTableName.value,\n data: { key: scope.row.flame_id }\n })\n .then(() => {\n pageRefresh()\n ElMessage.success('删除成功')\n })\n })\n .catch(() => {\n ElMessage.info('取消删除')\n })\n },\n // 打开编辑弹窗\n openEditDialog:(scope: any) => {\n props.request.flameApi.singleSearch({\n tableName: safeTableName.value,\n data: { key: scope.row.flame_id }\n })\n .then(({ result, message, items }: any) => {\n if (result) {\n reportPageConfig.value.editForm['model'] = items\n reportPageConfig.value.editDialog['model-value'] = true\n } else {\n ElMessage.warning(message)\n }\n })\n },\n // 关闭详情弹窗\n closeEditDialog:() => {\n reportPageConfig.value.editDialog['model-value'] = false\n },\n // 页面编辑\n pageEdit:(formModel: FormConfig['model']) => {\n props.request.flameApi.singleUpdate({\n tableName: safeTableName.value,\n data: {\n key: formModel?.flame_id,\n data: formModel\n }\n })\n .then(() => {\n pageRefresh()\n ElMessage.success('修改成功')\n pageDefaultEvent.closeEditDialog()\n })\n },\n // 页面导入\n // pageImport:() => {\n // const inputFile: any = document.createElement('input')\n // inputFile.type = 'file'\n // inputFile.style.display = 'none'\n // document.body.appendChild(inputFile)\n // inputFile.click()\n // inputFile.addEventListener('change', () => {\n // const file = inputFile.files[0]\n // var fileType = file.name.substring(file.name.lastIndexOf('.') + 1)\n // if (!['xls', 'xlsx', 'et'].includes(fileType)) {\n // ElMessage.warning('请上传 xls、xlsx、et 格式的文件!')\n // document.body.removeChild(inputFile)\n // return false\n // }\n // const formData = new FormData()\n // formData.append(\"file\", file)\n // props.request.flameAxios({\n // headers: { 'Content-Type': 'multipart/form-data' },\n // method: 'post',\n // url: `/resource-service/upload_file?source=mongo&token=${store.state.token}`,\n // data: formData\n // })\n // .then(({ key: code }: any) => {\n // props.request.flameprops.request({\n // tableName: safeTableName.value,\n // flameMethod: 'importfile',\n // data: { code }\n // })\n // .then((res: any) => {\n // ElMessage.success('上传成功!')\n // pageRefresh()\n // })\n // })\n // .finally(() => document.body.removeChild(inputFile))\n // })\n // },\n // 页面导出\n pageExport:() => {\n props.request.flameApi.exportFile({\n tableName: safeTableName.value,\n data: {\n conditions: searchParams.value,\n ref_level: 1,\n order_by: 'flame_id DESC'\n }\n })\n .then(({ items }: any) => {\n window.open(items.download_url)\n ElMessage.success('导出成功')\n })\n },\n // 页面批量删除\n pageBatchDelete:() => {\n if (tableSelection.value.length) {\n ElMessageBox.confirm(\n '确认要删除勾选数据吗?此操作不可逆',\n '提示',\n {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n }\n )\n .then(() => {\n // 此处需要请求删除接口,并完成回显\n props.request.flameApi.batchDelete({\n tableName: safeTableName.value,\n data: {\n conditions: {\n flame_id: tableSelection.value.map(({ flame_id }) => flame_id)\n }\n }\n })\n .then(() => {\n pageRefresh()\n ElMessage.success('删除成功')\n })\n })\n .catch(() => {\n ElMessage.info('取消删除')\n })\n } else {\n ElMessage.warning('未勾选删除项!')\n }\n },\n}\n\ndefineExpose({ tableSelection, pageRefresh })\n\n// 表格插槽\nconst getTableSlots = computed((): Array<string> => {\n const columns: Array<TableColumnConfig> = reportPageConfig.value.table.columns || []\n const slotColumns: Array<string> = []\n const slotFilter = (columns: Array<TableColumnConfig>) => {\n columns.forEach(({ prop, isSlot, columns }: TableColumnConfig) => {\n (isSlot && prop && prop !== 'tableAction') && slotColumns.push(prop)\n columns?.length && slotFilter(columns)\n })\n }\n slotFilter(columns)\n return slotColumns\n})\n\nconst getFormSlots = (items: FormConfig['items'] = []): Array<string> => {\n let slots: Array<string> = []\n items.forEach((item: FormItemConfig) => {\n if (isValidKey('isSlot', item)) {\n const { prop } = item\n prop && typeof(prop) === 'string' && slots.push(prop)\n }\n })\n return slots\n}\nconst searchSlots = computed((): Array<string> => getFormSlots(reportPageConfig.value.search.items))\nconst readFormSlots = computed((): Array<string> => getFormSlots(reportPageConfig.value.readForm.items))\nconst addFormSlots = computed((): Array<string> => getFormSlots(reportPageConfig.value.addForm.items))\nconst editFormSlots = computed((): Array<string> => getFormSlots(reportPageConfig.value.editForm.items))\n</script>\n\n<style lang=\"scss\" scoped>\n.report-page {\n display: grid;\n grid-template-columns: repeat(24, 1fr);\n grid-template-rows: 50px 1fr 50px;\n padding: 20px;\n border-radius: 2px;\n background: #FFF;\n .page-search {\n grid-column: span 18;\n }\n .page-toolbar {\n grid-column: span 6;\n justify-self: end;\n }\n .page-table, .page-pagination {\n grid-column: span 24;\n }\n .page-pagination {\n align-self: end;\n justify-self: end;\n }\n}\n</style>","<template>\n <div class=\"export-page\" ref=\"exportPageRef\">\n <template v-if=\"isLoaded\">\n <div class=\"page-search\">\n <slot></slot>\n </div>\n <flmToolbar class=\"page-toolbar\" :config=\"toolbarConfig\" @toolbarClick=\"toolbarClick\" />\n <flmTable class=\"page-table\" :config=\"exportPageConfig.table\">\n <template v-for=\"tableSlot in getTableSlots\" #[tableSlot]=\"{ index, row, column }\">\n <slot :name=\"`table-${tableSlot}`\" :index=\"index\" :row=\"row\" :column=\"column\"></slot>\n </template>\n </flmTable>\n <flmPagination\n class=\"page-pagination\"\n :config=\"exportPageConfig.pagination\"\n @size-change=\"paginationEvent.sizeChange\"\n @current-change=\"paginationEvent.currentChange\"\n />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType, ref, Ref, reactive, computed, onMounted } from 'vue'\nimport { ElMessage } from 'element-plus'\nimport { flmToolbar, flmTable, flmPagination } from '../../index'\nimport {\n ButtonType,\n ToolbarConfig,\n FormConfig,\n TableColumnConfig,\n ExportPageSetting\n} from 'flame-types'\nimport { isValidKey } from '../../../utils'\n\nconst props = defineProps({\n // 表名\n tableName: {\n type: String,\n required: true\n },\n // 请求方式\n request: {\n type: Object as PropType<any>,\n required: true\n }\n})\n\nconst emit = defineEmits(['customEvent'])\nconst exportPageRef = ref()\n\nconst safeTableName = computed(() => props.tableName.replace(/_/g, ''))\n\nlet isLoaded: Ref<boolean> = ref(false)\nlet exportPageConfig: Ref<ExportPageSetting> = ref({\n table: {},\n pagination: {},\n})\nconst searchParams: FormConfig['model'] = ref({}) // 搜索条件\n\nonMounted(() => {\n queryPageSetting()\n})\n\n// 表格高度\nconst tableHeight = () => {\n const homeHeight = '100vh',\n headerHight = '50px', // 页眉高度\n mainSpacing = '30px', // 主体内容边距\n pageSearch = '50px', // 搜索栏高度\n pageFooter = '50px', // 分页高度\n pageSpacing = '40px' // 页面边距\n return `calc(${homeHeight} - ${headerHight} - ${mainSpacing} - ${pageSearch} - ${pageFooter} - ${pageSpacing})`\n}\n\n// 查询页面配置\nconst queryPageSetting = () => {\n props.request.flameprops.request({\n tableName: 'flametableinfo',\n flameMethod: 'webgetpagesetting',\n data: { table_name: props.tableName, menu_id: null }\n })\n .then(({ items }: any) => {\n const exportPageSetting: ExportPageSetting = items\n exportPageSetting.table['height'] = tableHeight()\n exportPageSetting.table['max-height'] = tableHeight()\n exportPageConfig.value = exportPageSetting\n queryPageData()\n })\n}\n\n// 查询页面数据\nconst queryPageData = () => {\n const {\n ['current-page']: page_no = 1,\n ['page-size']: page_size = 20,\n }: ExportPageSetting['pagination'] = exportPageConfig.value.pagination\n props.request.flameApi.pageSearch({\n tableName: safeTableName.value,\n data: {\n page_no,\n page_size,\n conditions: searchParams.value,\n ref_level: 1,\n order_by: \"flame_id DESC\"\n }\n })\n .then(({ items, total }: any) => {\n exportPageConfig.value.table.data = items\n exportPageConfig.value.pagination['total'] = total\n isLoaded.value = true\n })\n}\n\n// 页面刷新\nconst pageRefresh = () => {\n exportPageConfig.value.pagination['current-page'] = 1\n queryPageData()\n}\n\n// 搜索栏提交\nconst searchSubmit = (event: object) => {\n searchParams.value = event\n pageRefresh()\n}\n\n// 工具栏配置\nconst toolbarConfig: ToolbarConfig = reactive({\n buttons: [{\n type: ButtonType['success'],\n plain: true,\n buttonText: '导出',\n event: 'pageExport'\n }],\n maxButton: 3,\n publicConfig: {}\n})\n// 工具栏点击\nconst toolbarClick = (event: string) => {\n isValidKey(event, pageDefaultEvent)\n ? pageDefaultEvent[event]()\n : emit('customEvent', event)\n}\n\n// 分页器操作\nconst paginationEvent: Record<string, (event?: any) => void> = {\n // 每页数量变化\n sizeChange:(pageSize: number) => {\n exportPageConfig.value.pagination['current-page'] = 1\n exportPageConfig.value.pagination['page-size'] = pageSize\n queryPageData()\n },\n // 当前页变化\n currentChange:(current: number) => {\n exportPageConfig.value.pagination['current-page'] = current\n queryPageData()\n },\n}\n\n// 页面默认操作\nconst pageDefaultEvent: Record<string, (event?: any) => void> = {\n // 页面导出\n pageExport:() => {\n props.request.flameApi.exportFile({\n tableName: safeTableName.value,\n data: {\n conditions: searchParams.value,\n ref_level: 1,\n order_by: 'flame_id DESC'\n }\n })\n .then(({ items }: any) => {\n window.open(items.download_url)\n ElMessage.success('导出成功')\n })\n },\n}\n\ndefineExpose({ searchSubmit, pageRefresh })\n\n// 表格插槽\nconst getTableSlots = computed((): Array<string> => {\n const columns: Array<TableColumnConfig> = exportPageConfig.value.table.columns || []\n const slotColumns: Array<string> = []\n const slotFilter = (columns: Array<TableColumnConfig>) => {\n columns.forEach(({ prop, isSlot, columns }: TableColumnConfig) => {\n (isSlot && prop && prop !== 'tableAction') && slotColumns.push(prop)\n columns?.length && slotFilter(columns)\n })\n }\n slotFilter(columns)\n return slotColumns\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.export-page {\n display: grid;\n grid-template-columns: repeat(24, 1fr);\n grid-template-rows: 50px 1fr 50px;\n padding: 20px;\n border-radius: 2px;\n background: #FFF;\n .page-search {\n grid-column: span 18;\n }\n .page-toolbar {\n grid-column: span 6;\n justify-self: end;\n }\n .page-table, .page-pagination {\n grid-column: span 24;\n }\n .page-pagination {\n align-self: end;\n justify-self: end;\n }\n}\n</style>","<script lang=\"tsx\">\nimport { defineComponent, PropType, ref, Ref, computed } from 'vue'\nimport { flmCheckbox } from '../../index'\nimport {\n CheckboxConfig,\n CheckboxGroupConfig,\n checkboxGroupDefaultConfig\n} from 'flame-types'\nimport { filterConfig } from '../../../utils'\n\nexport default defineComponent({\n components: { flmCheckbox },\n emits: ['change'],\n props: {\n // 默认设置\n config: {\n type: Object as PropType<CheckboxGroupConfig>,\n default: {}\n },\n },\n setup(props, ctx) {\n // 多选框组设置\n const checkboxGroupConfig = computed((): CheckboxGroupConfig => {\n return filterConfig(checkboxGroupDefaultConfig, props.config)\n })\n\n const isCheckAll: Ref<boolean> = ref(false) // 全选\n const isIndeterminate: Ref<boolean> = ref(false) // 半选\n // 全选值变化\n const checkAllChange = (value: boolean) => {\n isCheckAll.value = value\n isIndeterminate.value = false\n ctx.emit('change', value\n ? checkboxGroupConfig.value.items?.map(({ label }) => label)\n : []\n )\n }\n // 多选框组值变化\n const checkboxGroupChange = (value: CheckboxGroupConfig['model-value']) => {\n const checkedCount = value?.length ?? 0,\n itemsCount = checkboxGroupConfig.value.items?.length ?? 0\n isCheckAll.value = checkedCount === itemsCount\n isIndeterminate.value = checkedCount > 0 && checkedCount < itemsCount\n ctx.emit('change', value)\n }\n // 多选框组元素\n const checkboxGroupDom = ({ hasCheckAll, checkAllConfig, ...defaultConfig }: CheckboxGroupConfig) => {\n return (\n <div>\n {\n hasCheckAll && <flmCheckbox\n config={{\n 'label': '全选',\n ...checkAllConfig,\n 'model-value': isCheckAll.value,\n 'indeterminate': isIndeterminate.value\n }}\n onChange={checkAllChange}\n />\n }\n <el-checkbox-group {...defaultConfig} onChange={checkboxGroupChange}>\n {defaultConfig.items?.map((item: CheckboxConfig) => <flmCheckbox config={item} />)}\n </el-checkbox-group>\n </div>\n )\n }\n\n return () => (checkboxGroupDom(checkboxGroupConfig.value))\n },\n})\n</script>","// 基础组件\nimport flmButton from './components/base/flmButton/flmButton.vue' \t // 按钮\nimport flmCascader from './components/base/flmCascader/flmCascader.vue' \t // 级联选择器\nimport flmCheckbox from './components/base/flmCheckbox/flmCheckbox.vue' \t // 多选框\nimport flmCheckboxGroup from './components/base/flmCheckbox/flmCheckboxGroup.vue' // 多选框组\nimport flmColorPicker from './components/base/flmColorPicker/flmColorPicker.vue' // 取色器\nimport flmDatePicker from './components/base/flmDatePicker/flmDatePicker.vue' // 日期选择器\nimport flmInput from './components/base/flmInput/flmInput.vue' \t // 输入框\nimport flmInputNumber from './components/base/flmInputNumber/flmInputNumber.vue' // 数字输入框\nimport flmPagination from './components/base/flmPagination/flmPagination.vue' // 分页器\nimport flmRadio from './components/base/flmRadio/flmRadio.vue' // 单选框\nimport flmRate from './components/base/flmRate/flmRate.vue' // 评分\nimport flmRead from './components/base/flmRead/flmRead.vue' \t // 查看\nimport flmSelect from './components/base/flmSelect/flmSelect.vue' \t // 选择器\nimport flmSlider from './components/base/flmSlider/flmSlider.vue' \t // 滑块\nimport flmSwitch from './components/base/flmSwitch/flmSwitch.vue' \t // 开关\nimport flmTimePicker from './components/base/flmTimePicker/flmTimePicker.vue' \t // 时间选择器\nimport flmTimeSelect from './components/base/flmTimeSelect/flmTimeSelect.vue' \t // 时间选择\nimport flmTransfer from './components/base/flmTransfer/flmTransfer.vue' \t // 穿梭框\nimport flmDialog from './components/base/flmDialog/flmDialog.vue' \t // 弹窗\n\n// 复合组件\nimport flmForm from './components/complex/flmForm/flmForm.vue' \t // 表单\nimport flmTable from './components/complex/flmTable/flmTable.vue' \t // 表格\nimport flmToolbar from './components/complex/flmToolbar/flmToolbar.vue' // 操作栏\nimport flmSearch from './components/complex/flmSearch/flmSearch.vue' \t // 搜索\n\n// 页面组件\nimport flmReportPage from './components/page/flmReportPage/flmReportPage.vue' // 报表页面\nimport flmExportPage from './components/page/flmExportPage/flmExportPage.vue' // 导出页面\n\nimport type { App } from \"vue\";\n\nconst components: any = {\n flmButton,\n flmCascader,\n flmCheckbox,\n flmCheckboxGroup,\n flmColorPicker,\n flmDatePicker,\n flmInput,\n flmInputNumber,\n flmPagination,\n flmRadio,\n flmRate,\n flmRead,\n flmSelect,\n flmSlider,\n flmSwitch,\n flmTimePicker,\n flmTimeSelect,\n flmTransfer,\n flmDialog,\n flmForm,\n flmTable,\n flmToolbar,\n flmSearch,\n flmReportPage,\n flmExportPage\n}\n\nconst install = (app: App) => {\n Object.entries(components).forEach(([name, component]: any) => app.component(name, component))\n}\n\nexport {\n flmButton,\n flmCascader,\n flmCheckbox,\n flmCheckboxGroup,\n flmColorPicker,\n flmDatePicker,\n flmInput,\n flmInputNumber,\n flmPagination,\n flmRadio,\n flmRate,\n flmRead,\n flmSelect,\n flmSlider,\n flmSwitch,\n flmTimePicker,\n flmTimeSelect,\n flmTransfer,\n flmDialog,\n flmForm,\n flmTable,\n flmToolbar,\n flmSearch,\n flmReportPage,\n flmExportPage\n}\n\nexport default {\n install,\n ...components\n}"],"names":["e","o","module","l","t","i","a","n","r","c","M","p","L","B","w","d","s","u","f","m","g","x","O","C","F","I","S","D","b","k","y","P","v","U","E","R","T","A","filterConfig","defaultConfig","config","currentConfig","configKey","inConfig","isValueDifferent","baseValue","value","valueType","isValidKey","key","object","defineComponent","emits","props","type","Object","default","setup","ctx","buttonConfig","computed","buttonDefaultConfig","_createVNode","_resolveComponent","_mergeProps","onClick","emit","buttonText","cascaderConfig","cascaderDefaultConfig","cascaderDefaultEvent","reactive","onChange","onExpandChange","event","onBlur","onFocus","onVisibleChange","onRemoveTag","checkboxConfig","checkboxDefaultConfig","checkboxDefaultEvent","colorPickerConfig","colorPickerDefaultConfig","colorPickerDefaultEvent","datePickerConfig","datePickerDefaultConfig","datePickerDefaultEvent","onCalendarChange","onPanelChange","date","mode","view","inputConfig","inputDefaultConfig","inputDefaultEvent","onInput","onClear","inputNumberConfig","inputNumberDefaultConfig","inputNumberDefaultEvent","paginationConfig","paginationDefaultConfig","paginationDefaultEvent","onSizeChange","pageSize","onCurrentChange","current","onPrevClick","onNextClick","_isSlot","prototype","toString","call","_isVNode","radioGroupConfig","radioGroupDefaultConfig","radioDefaultEvent","radioGroupDom","_slot","useButton","radios","radioGroup","radioDom","map","radio","radioDefaultConfig","rateConfig","rateDefaultConfig","rateDefaultEvent","selectConfig","selectDefaultConfig","selectDefaultEvent","showOption","tagValue","childrenDom","hasGroup","groups","options","groupsDom","group","label","optionsDom","option","sliderConfig","sliderDefaultConfig","sliderDefaultEvent","switchConfig","switchDefaultConfig","timePickerConfig","timePickerDefaultConfig","timePickerDefaultEvent","timeSelectConfig","timeSelectDefaultConfig","timeSelectDefaultEvent","transferConfig","transferDefaultConfig","transferDefaultEvent","onLeftCheckChange","onRightCheckChange","slots","left-footer","right-footer","dialogConfig","dialogDefaultConfig","dialogDefaultEvent","onOpen","onOpened","onClose","onClosed","onOpenAutoFocus","onCloseAutoFocus","__default__","components","flmButton","flmCascader","flmCheckbox","flmColorPicker","flmDatePicker","flmInput","flmInputNumber","flmRadio","flmRate","flmRead","flmSelect","flmSlider","flmSwitch","flmTimePicker","flmTimeSelect","flmTransfer","columnNumber","inline","expose","instance","getCurrentInstance","formModel","watch","model","newModel","updateFormModel","updateControl","onMounted","keys","length","items","forEach","formItem","prop","controlConfig","isInputControl","entries","formChange","formEvent","defaultEvent","submit","cancel","reset","formRef","refs","validate","valid","resetFields","formItemsDom","controlDom","controlType","ControlTypes","h","resolveComponent","item","isSlot","itemConfig","buttonsDom","buttons","_slot2","onButtonClick","formConfig","formDefaultConfig","formDom","_export_sfc","sfc","target","val","tableDefaultEvent","onSelect","selection","row","onSelectAll","onSelectionChange","column","cell","onCellMouseEnter","onCellMouseLeave","onCellClick","onCellDblclick","onCellContextmenu","onRowClick","onRowContextmenu","onRowDblclick","onHeaderClick","onHeaderContextmenu","onSortChange","order","onFilterChange","filters","currentRow","oldCurrentRow","onHeaderDragend","newWidth","oldWidth","expanded","tableDom","tableConfig","columns","tableColumnDom","childColumns","childColumnConfig","childDom","$index","index","tableColumnDefaultConfig","tableDefaultConfig","maxButton","buttonGroup","dropdown","toolbarClick","searchDefaultRef","ref","searchExtraRef","showExtra","hasExtra","extraFormModel","maxFormItem","extraConfig","ButtonType","getFormSlots","defaultSlots","_b","_a","extraSlots","searchSubmit","searchReset","_c","searchCustomEvent","customEvent","openDrawer","closeDrawer","drawerSubmit","reportPageRef","safeTableName","isLoaded","reportPageConfig","searchParams","tableSelection","queryPageSetting","tableHeight","reportPageSetting","queryPageData","page_no","page_size","total","pageRefresh","pageDefaultEvent","tableActionClick","scope","tableEvent","paginationEvent","ElMessage","ElMessageBox","result","message","flame_id","getTableSlots","slotColumns","slotFilter","columns2","columns3","searchSlots","readFormSlots","addFormSlots","editFormSlots","exportPageRef","exportPageConfig","exportPageSetting","toolbarConfig","checkboxGroupConfig","checkboxGroupDefaultConfig","isCheckAll","isIndeterminate","checkAllChange","checkboxGroupChange","checkedCount","itemsCount","checkboxGroupDom","hasCheckAll","checkAllConfig","flmCheckboxGroup","flmPagination","flmDialog","flmForm","flmTable","flmToolbar","flmSearch","flmReportPage","flmExportPage","app","name","component"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ [data-v-65b3dfb5] .el-form-item{width:calc((100% - 32px * var(--13be024c)) / var(--13be024c))}.report-page[data-v-bf41064a]{display:grid;grid-template-columns:repeat(24,1fr);grid-template-rows:50px 1fr 50px;padding:20px;border-radius:2px;background:#FFF}.report-page .page-search[data-v-bf41064a]{grid-column:span 18}.report-page .page-toolbar[data-v-bf41064a]{grid-column:span 6;justify-self:end}.report-page .page-table[data-v-bf41064a],.report-page .page-pagination[data-v-bf41064a]{grid-column:span 24}.report-page .page-pagination[data-v-bf41064a]{align-self:end;justify-self:end}.export-page[data-v-2825e068]{display:grid;grid-template-columns:repeat(24,1fr);grid-template-rows:50px 1fr 50px;padding:20px;border-radius:2px;background:#FFF}.export-page .page-search[data-v-2825e068]{grid-column:span 18}.export-page .page-toolbar[data-v-2825e068]{grid-column:span 6;justify-self:end}.export-page .page-table[data-v-2825e068],.export-page .page-pagination[data-v-2825e068]{grid-column:span 24}.export-page .page-pagination[data-v-2825e068]{align-self:end;justify-self:end}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "flame-plus",
3
3
  "type": "module",
4
- "version": "0.1.28",
4
+ "version": "0.1.30",
5
5
  "description": "基于 element-plus 的组件库",
6
- "main": "./dist/flame-plus.umd.js",
7
- "module": "./dist/flame-plus.es.js",
6
+ "main": "./flameDist/flame-plus.es.js",
7
+ "module": "./flameDist/flame-plus.es.js",
8
8
  "exports": {
9
9
  ".": {
10
- "import": "./dist/flame-plus.es.js",
11
- "require": "./dist/flame-plus.umd.js"
10
+ "import": "./flameDist/flame-plus.es.js",
11
+ "require": "./flameDist/flame-plus.umd.js"
12
12
  }
13
13
  },
14
14
  "private": false,