mini.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*
  2. * @Description: 组件输出文件,不打包antd ui组件
  3. * @Author: kcz
  4. * @Date: 2020-01-02 22:41:48
  5. * @LastEditors: kcz
  6. * @LastEditTime: 2021-05-14 19:09:25
  7. */
  8. // 解决Chrome控制台non-passive event listener输出问题
  9. // import "default-passive-events";
  10. // 导入样式
  11. import "../styles/form-design.less";
  12. // 导出本地iconfont
  13. import "../static/icons/iconfont";
  14. // 导入单个组件
  15. import KFormDesign from "./KFormDesign/index";
  16. import KFormPreview from "./KFormPreview/index";
  17. import KFormBuild from "./KFormBuild/index";
  18. import KFormItem from "./KFormItem/index";
  19. import {
  20. customComponents,
  21. basicsList
  22. } from "./KFormDesign/config/formItemsConfig";
  23. const components = [KFormDesign, KFormBuild, KFormItem, KFormPreview];
  24. const install = function(Vue) {
  25. // use ant组件
  26. if (install.installed) return;
  27. install.installed = true;
  28. components.map(component => {
  29. Vue.component(component.name, component);
  30. });
  31. };
  32. if (typeof window !== "undefined" && window.Vue) {
  33. install(window.Vue);
  34. }
  35. /**
  36. * @Author: kcz
  37. * @description: 配置组件及添加自定义组件
  38. * @param {json}
  39. * @return: Boolean
  40. */
  41. function setFormDesignConfig(config) {
  42. if (!config || typeof config !== "object") {
  43. console.error("传入config的参数必须为对象");
  44. return false;
  45. }
  46. try {
  47. customComponents.title = config.title || "自义定组件";
  48. customComponents.list = config.list || [];
  49. // 将自定义组件列表绑到window.$customComponentList上
  50. window.$customComponentList = config.list || [];
  51. // uploadFile 配置 start
  52. // 配置uploadFile默认上传地址
  53. const uploadFile = basicsList.filter(item => item.type === "uploadFile")[0];
  54. uploadFile.options.action =
  55. // config.uploadFile || "http://cdn.kcz66.com/uploadFile.txt";
  56. config.uploadFile || "http://localhost:3000/jeecg-boot/sys/common/uploadFile2";
  57. // 配置uploadFile默认额外参数
  58. uploadFile.options.data = JSON.stringify(config.uploadFileData || {});
  59. // 配置uploadFile默认name
  60. uploadFile.options.fileName = config.uploadFileName || "file";
  61. // 配置uploadFile默认headers
  62. uploadFile.options.headers = config.uploadFileHeaders || {};
  63. // uploadFile 配置 end
  64. // uploadImage配置 start
  65. // 配置uploadImage默认上传地址
  66. const uploadImg = basicsList.filter(item => item.type === "uploadImg")[0];
  67. uploadImg.options.action =
  68. // config.uploadImage || "http://cdn.kcz66.com/upload-img.txt";
  69. config.uploadImage || "http://localhost:3000/jeecg-boot/sys/common/uploadFile2";
  70. // 配置uploadImage默认额外参数
  71. uploadImg.options.data = JSON.stringify(config.uploadImageData || {});
  72. // 配置uploadFile默认name
  73. uploadImg.options.fileName = config.uploadImageName || "image";
  74. // 配置uploadFile默认headers
  75. uploadImg.options.headers = config.uploadImageHeaders || {};
  76. // uploadImage配置 end
  77. return true;
  78. } catch (err) {
  79. console.error(err);
  80. return false;
  81. }
  82. }
  83. /**
  84. * @author lizhichao<meteoroc@outlook.com>
  85. * @description 配置k-form-build(预览时),暂只支持dynamicData的设置
  86. * @param { object }config
  87. */
  88. function setFormBuildConfig(config) {
  89. if (!config || typeof config !== "object") {
  90. console.error("传入setFormBuildConfig的参数必须为对象");
  91. return false;
  92. }
  93. if (config.dynamicData) {
  94. window.$kfb_dynamicData = config.dynamicData;
  95. }
  96. }
  97. // 这里可以用es6的解构语法导入组件
  98. export {
  99. install,
  100. KFormDesign,
  101. KFormBuild,
  102. KFormItem,
  103. KFormPreview,
  104. setFormDesignConfig,
  105. setFormBuildConfig
  106. };
  107. // 这里默认导入全部组件
  108. export default {
  109. install,
  110. setConfig: setFormDesignConfig,
  111. setFormDesignConfig: setFormDesignConfig,
  112. setFormBuildConfig: setFormBuildConfig
  113. };