@open-data-v/data
Version:
OpenDataV 数据处理基础组件包
1 lines • 6.13 kB
Source Map (JSON)
{"version":3,"file":"Pane.vue.umd2.cjs","sources":["../../src/rest/Pane.vue"],"sourcesContent":["<template>\n <o-form-item label=\"动态数据\" label-placement=\"top\" size=\"small\">\n <div class=\"justify-center flex-row flex-nowrap flex items-center\">\n <o-input v-model:value=\"formData.url\" readonly>\n <template #prefix>\n <span class=\"text-green-700\" style=\"font-weight: 800\">\n {{ formData.method }}\n </span>\n </template>\n </o-input>\n <o-button type=\"primary\" @click=\"isShow = true\"> 编辑 </o-button>\n </div>\n </o-form-item>\n <o-form-item label=\"是否重复\" label-placement=\"top\">\n <o-switch v-model:value=\"formData.otherConfig.isRepeat\" @update:value=\"changeHandler\" />\n </o-form-item>\n <o-form-item v-if=\"formData.otherConfig.isRepeat\" label=\"请求间隔\" label-placement=\"top\">\n <o-input-number\n v-model:value=\"formData.otherConfig.interval\"\n :min=\"300\"\n :step=\"100\"\n @update:value=\"changeHandler\"\n >\n <template #suffix> ms </template>\n </o-input-number>\n </o-form-item>\n <o-modal v-model:show=\"isShow\" :beforeClose=\"changeHandler\">\n <o-card\n title=\"动态数据\"\n :bordered=\"false\"\n size=\"small\"\n closable\n role=\"dialog\"\n aria-modal=\"true\"\n @close=\"isShow = false\"\n >\n <RestView\n v-model:options=\"formData\"\n :dataInstance=\"dataInstance\"\n @update:options=\"changeHandler\"\n @change=\"changeHandler\"\n />\n </o-card>\n </o-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport type { DataHandler, Slotter } from '@open-data-v/base'\nimport { OButton, OCard, OFormItem, OInput, OInputNumber, OModal, OSwitch } from '@open-data-v/ui'\nimport { computed, onMounted, ref, useSlots, watch } from 'vue'\n\nimport { uuid } from '../utils'\nimport type RestRequestData from './handler'\nimport { RequestMethod } from './requestEnums'\nimport Rest from './RestDataView.vue'\nimport type { RestOption, StoreRestOption } from './type'\nimport { requestOptionsToStore, storeOptionToRequestOptions } from './utils'\n\nconst props = defineProps<{\n slotter: Slotter\n index?: number\n handler: DataHandler\n}>()\nconst slots = useSlots()\nconst isShow = ref<boolean>(false)\nconst RestView = computed(() => {\n if (slots.default) {\n return slots.default()[0].type\n } else {\n return Rest\n }\n})\n\nconst dataInstance = computed(() => props.slotter.dataConfig.dataInstance)\n\nconst formData = ref<RestOption>({\n method: RequestMethod.GET,\n url: '/getRiskArea',\n headers: [{ key: '', value: '', disable: false, id: uuid() }],\n params: [{ key: '', value: '', disable: false, id: uuid() }],\n data: [{ key: '', value: '', disable: false, id: uuid() }],\n otherConfig: {\n isRepeat: false,\n interval: 1000\n }\n})\nconst changeHandler = () => {\n setDataConfig()\n}\n\nconst setDataConfig = () => {\n const dataConfig = {\n type: 'REST',\n dataInstance: new props.handler(requestOptionsToStore(formData.value))\n }\n if (props.slotter) {\n props.slotter.changeDataConfig(dataConfig)\n }\n}\n\nonMounted(async () => {\n if (props.slotter) {\n initComponentData()\n }\n})\n\nconst initComponentData = () => {\n const dataConfig = props.slotter!.dataConfig\n if (dataConfig && dataConfig.type === 'REST') {\n const restRequest = props.slotter!.dataConfig?.dataInstance as RestRequestData\n if (!restRequest) {\n return\n }\n const { options } = restRequest.toJSON()\n Object.assign(formData.value, storeOptionToRequestOptions(options as StoreRestOption))\n } else {\n Object.assign(formData.value, {\n method: RequestMethod.GET,\n url: '',\n headers: [{ key: '', value: '', disable: false, id: uuid() }],\n params: [{ key: '', value: '', disable: false, id: uuid() }],\n data: [{ key: '', value: '', disable: false, id: uuid() }],\n otherConfig: {\n isRepeat: false,\n interval: 1000\n }\n })\n setDataConfig()\n }\n}\n\nwatch(\n () => props.slotter,\n async (value: Slotter | undefined) => {\n if (value) {\n initComponentData()\n }\n },\n { immediate: true }\n)\n</script>\n"],"names":["props","__props","slots","useSlots","isShow","ref","RestView","computed","Rest","dataInstance","formData","RequestMethod","uuid","changeHandler","setDataConfig","dataConfig","requestOptionsToStore","onMounted","initComponentData","restRequest","_a","options","storeOptionToRequestOptions","watch","value"],"mappings":"mfA0DA,MAAMA,EAAQC,EAKRC,EAAQC,EAAAA,SAAS,EACjBC,EAASC,MAAa,EAAK,EAC3BC,EAAWC,EAAAA,SAAS,IACpBL,EAAM,QACDA,EAAM,UAAU,CAAC,EAAE,KAEnBM,EAAA,OAEV,EAEKC,EAAeF,EAAAA,SAAS,IAAMP,EAAM,QAAQ,WAAW,YAAY,EAEnEU,EAAWL,EAAAA,IAAgB,CAC/B,OAAQM,EAAc,cAAA,IACtB,IAAK,eACL,QAAS,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIC,EAAAA,KAAK,CAAA,CAAG,EAC5D,OAAQ,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIA,EAAAA,KAAK,CAAA,CAAG,EAC3D,KAAM,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIA,EAAAA,KAAK,CAAA,CAAG,EACzD,YAAa,CACX,SAAU,GACV,SAAU,GAAA,CACZ,CACD,EACKC,EAAgB,IAAM,CACZC,EAAA,CAChB,EAEMA,EAAgB,IAAM,CAC1B,MAAMC,EAAa,CACjB,KAAM,OACN,aAAc,IAAIf,EAAM,QAAQgB,EAAAA,sBAAsBN,EAAS,KAAK,CAAC,CACvE,EACIV,EAAM,SACFA,EAAA,QAAQ,iBAAiBe,CAAU,CAE7C,EAEAE,EAAAA,UAAU,SAAY,CAChBjB,EAAM,SACUkB,EAAA,CACpB,CACD,EAED,MAAMA,EAAoB,IAAM,OACxB,MAAAH,EAAaf,EAAM,QAAS,WAC9B,GAAAe,GAAcA,EAAW,OAAS,OAAQ,CACtC,MAAAI,GAAcC,EAAApB,EAAM,QAAS,aAAf,YAAAoB,EAA2B,aAC/C,GAAI,CAACD,EACH,OAEF,KAAM,CAAE,QAAAE,CAAA,EAAYF,EAAY,OAAO,EACvC,OAAO,OAAOT,EAAS,MAAOY,EAAA,4BAA4BD,CAA0B,CAAC,CAAA,MAE9E,OAAA,OAAOX,EAAS,MAAO,CAC5B,OAAQC,EAAc,cAAA,IACtB,IAAK,GACL,QAAS,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIC,EAAAA,KAAK,CAAA,CAAG,EAC5D,OAAQ,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIA,EAAAA,KAAK,CAAA,CAAG,EAC3D,KAAM,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,QAAS,GAAO,GAAIA,EAAAA,KAAK,CAAA,CAAG,EACzD,YAAa,CACX,SAAU,GACV,SAAU,GAAA,CACZ,CACD,EACaE,EAAA,CAElB,EAEAS,OAAAA,EAAA,MACE,IAAMvB,EAAM,QACZ,MAAOwB,GAA+B,CAChCA,GACgBN,EAAA,CAEtB,EACA,CAAE,UAAW,EAAK,CACpB"}