{"version":3,"file":"form.mjs","sources":["../../../../../../src/pagesDefault/sys/resource/spa/form.vue"],"sourcesContent":["<template>\r\n\t<a-drawer\r\n\t\t:title=\"formData.id ? '编辑单页' : '增加单页'\"\r\n\t\t:width=\"500\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"单页名称：\" name=\"title\">\r\n\t\t\t\t<a-input v-model:value=\"formData.title\" placeholder=\"请输入单页名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"单页类型：\" name=\"menuType\">\r\n\t\t\t\t<a-radio-group\r\n\t\t\t\t\tv-model:value=\"formData.menuType\"\r\n\t\t\t\t\tbutton-style=\"solid\"\r\n\t\t\t\t\t:options=\"categoryOptions\"\r\n\t\t\t\t\toption-type=\"button\"\r\n\t\t\t\t>\r\n\t\t\t\t</a-radio-group>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item name=\"path\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t类型为内外链条时，输入https开头的链接即可（例：https://www.xiaonuo.vip）,正常路由前面必须有反斜杠！\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp {{ formData.menuType === 'MENU' ? '路由地址' : 'https链接地址' }}：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input v-model:value=\"formData.path\" placeholder=\"请输入路由地址\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.menuType === 'MENU'\" name=\"component\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 组件地址：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.component\"\r\n\t\t\t\t\taddon-before=\"src/views/\"\r\n\t\t\t\t\tplaceholder=\"请输入组件地址\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item name=\"name\" v-if=\"formData.menuType === 'MENU'\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 别名：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.name\"\r\n\t\t\t\t\taddon-before=\"setup name=\"\r\n\t\t\t\t\tplaceholder=\"请输入组件组件中name属性\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-alert style=\"margin-bottom: 10px\" message=\"温馨提示：排序第一条为首页页面！\" type=\"warning\" closable />\r\n\t\t\t<a-form-item label=\"图标：\" name=\"icon\">\r\n\t\t\t\t<a-input v-model:value=\"formData.icon\" style=\"width: calc(100% - 70px)\" placeholder=\"请选择图标\" allow-clear />\r\n\t\t\t\t<a-button type=\"primary\" @click=\"iconSelector.showIconModal(formData.icon)\">选择</a-button>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t\t<Icon-selector ref=\"iconSelector\" @iconCallBack=\"iconCallBack\" />\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"spaForm\">\r\nimport {required} from '@/utils/formRules'\r\nimport IconSelector from '@/comDefault/Selector/iconSelector.vue'\r\nimport spaApi from '@/api/sys/resource/spaApi'\r\nimport {getCurrentInstance} from 'vue'\r\n// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\tconst formData = ref({})\r\n\tconst submitLoading = ref(false)\r\n\tconst iconSelector = ref()\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tmenuType: 'MENU',\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\ttitle: [required('请输入菜单名称')],\r\n\t\tmenuType: [required('请选择菜单类型')],\r\n\t\tpath: [required('请输入路由地址')],\r\n\t\tname: [required('请输入组件中name属性')],\r\n\t\tmodule: [required('请选择模块')],\r\n\t\tcomponent: [required('请输入组件地址')]\r\n\t}\r\n\t// 图标选择器回调\r\n\tconst iconCallBack = (value) => {\r\n\t\tformData.value.icon = value\r\n\t}\r\n\tconst { proxy } = getCurrentInstance()\r\n\tlet categoryOptions = proxy.$TOOL\r\n\t\t.dictTypeList('MENU_TYPE')\r\n\t\t.filter((item) => {\r\n\t\t\t// 排除\r\n\t\t\tif (item.dictValue !== 'CATALOG') {\r\n\t\t\t\treturn item\r\n\t\t\t}\r\n\t\t})\r\n\t\t.map((item) => {\r\n\t\t\treturn {\r\n\t\t\t\tvalue: item['dictValue'],\r\n\t\t\t\tlabel: item['name'] + '页'\r\n\t\t\t}\r\n\t\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst param = parameterChanges(formData.value)\r\n\t\t\t\tsubmitLoading.value = true\r\n\t\t\t\tspaApi.submitForm(param, !param.id).then(() => {\r\n\t\t\t\t\tvisible.value = false\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t}).finally(() => {\r\n\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\tconst parameterChanges = (data) => {\r\n\t\tif (!data.component) {\r\n\t\t\treturn data\r\n\t\t}\r\n\t\t// 如果用户输入的组件path路径\r\n\t\tif (data.component.slice(0, 1) === '/') {\r\n\t\t\tdata.component = data.component.slice(1)\r\n\t\t}\r\n\t\treturn data\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n"],"names":["_createBlock","_unref","_createVNode","_createTextVNode","_toDisplayString"],"mappings":"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"}