flame-plus 0.1.30 → 0.1.31
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flame-plus.es.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","h","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","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","install","app","name","component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flame-plus.es.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>","import 'element-plus/dist/index.css'\n// 基础组件\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// 复合组件\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// 页面组件\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","h","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","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","install","app","name","component"],"mappings":"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"}
|