1ee9e60d0dd9b159b06ecd99febc84a8.json 17 KB

1
  1. {"remainingRequest":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\system\\fromModeling\\package\\components\\KFormBuild\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\system\\fromModeling\\package\\components\\KFormBuild\\index.vue","mtime":1688723341185},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1688725407620},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1688725415411}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8qCiAqIGF1dGhvciBrY3oKICogZGF0ZSAyMDE5LTExLTIwCiAqIGRlc2NyaXB0aW9uIOWwhmpzb27mlbDmja7mnoTlu7rmiJDooajljZUKICovCmltcG9ydCBidWlsZEJsb2NrcyBmcm9tICIuL2J1aWxkQmxvY2tzIjsKaW1wb3J0IHpoQ04gZnJvbSAiYW50LWRlc2lnbi12dWUvbGliL2xvY2FsZS1wcm92aWRlci96aF9DTiI7CmltcG9ydCB7IGxhenlMb2FkVGljayB9IGZyb20gIi4uLy4uL3V0aWxzL2luZGV4IjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiS0Zvcm1CdWlsZCIsCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGxvY2FsZTogemhDTiwKICAgICAgZm9ybTogdGhpcy4kZm9ybS5jcmVhdGVGb3JtKHRoaXMpLAogICAgICB2YWxpZGF0b3JFcnJvcjoge30sCiAgICAgIGRlZmF1bHREeW5hbWljRGF0YToge30KICAgIH07CiAgfSwKICAvLyBwcm9wczogWyJ2YWx1ZSIsICJkeW5hbWljRGF0YSJdLAogIHByb3BzOiB7CiAgICB2YWx1ZTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgZHluYW1pY0RhdGE6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiAoKSA9PiB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9LAogICAgY29uZmlnOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogKCkgPT4gKHt9KQogICAgfSwKICAgIGRpc2FibGVkOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgb3V0cHV0U3RyaW5nOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgZGVmYXVsdFZhbHVlOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogKCkgPT4gKHt9KQogICAgfQogIH0sCiAgY29tcG9uZW50czogewogICAgYnVpbGRCbG9ja3MKICB9LAogIGNvbXB1dGVkOiB7CiAgICBnZXREeW5hbWljRGF0YSgpIHsKICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmR5bmFtaWNEYXRhID09PSAib2JqZWN0IiAmJgogICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZHluYW1pY0RhdGEpLmxlbmd0aAogICAgICAgID8gdGhpcy5keW5hbWljRGF0YQogICAgICAgIDogd2luZG93LiRrZmJfZHluYW1pY0RhdGEgfHwge307CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyBtb21lbnQsCiAgICBoYW5kbGVTdWJtaXQoZSkgewogICAgICAvLyDmj5DkuqTmjInpkq7op6blj5HvvIzlubbop6blj5FzdWJtaXTlh73mlbDvvIzov5Tlm55nZXREYXRh5Ye95pWwCiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgdGhpcy4kZW1pdCgic3VibWl0IiwgdGhpcy5nZXREYXRhKTsKICAgIH0sCiAgICByZXNldCgpIHsKICAgICAgLy8g6YeN572u6KGo5Y2VCiAgICAgIHRoaXMuZm9ybS5yZXNldEZpZWxkcygpOwogICAgfSwKICAgIGdldERhdGEoKSB7CiAgICAgIC8vIOaPkOS6pOWHveaVsO+8jOaPkOS+m+eItue6p+e7hOS7tuiwg+eUqAogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgIHRyeSB7CiAgICAgICAgICB0aGlzLmZvcm0udmFsaWRhdGVGaWVsZHMoKGVyciwgdmFsdWVzKSA9PiB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICByZWplY3QoZXJyKTsKICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgKiBAYXV0aG9yOiBsaXpoaWNoYW88bWV0ZW9yb2NAb3V0bG9vay5jb20+CiAgICAgICAgICAgICAgICogQERlc2NyaXB0aW9uOiDlpJrlrrnlmajmoKHpqozml7bvvIzmj5DkvptlcnJvcui/lOWbnue7meWkmuWuueWZqOi/m+ihjOWIpOaWreOAggogICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yRXJyb3IgPSBlcnI7CiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yRXJyb3IgPSB7fTsKICAgICAgICAgICAgdGhpcy4kcmVmcy5idWlsZEJsb2Nrcy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgICAgIGlmICghaXRlbS52YWxpZGF0aW9uU3ViZm9ybSgpKSB7CiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAodGhpcy5vdXRwdXRTdHJpbmcpIHsKICAgICAgICAgICAgICAvLyDpnIDopoHmiYDmnIl2YWx1Zei9rOaIkOWtl+espuS4sgogICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlcykgewogICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZXNba2V5XTsKICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAic3RyaW5nIiB8fCB0eXBlID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgICAgICAgICAgdmFsdWVzW2tleV0gPSBgay1mb3JtLWRlc2lnbiMke3R5cGV9IyR7SlNPTi5zdHJpbmdpZnkoCiAgICAgICAgICAgICAgICAgICAgdmFsdWVzW2tleV0KICAgICAgICAgICAgICAgICAgKX1gOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdmFsdWVzW2tleV0gPSBgay1mb3JtLWRlc2lnbiMke3R5cGV9IyR7U3RyaW5nKHZhbHVlc1trZXldKX1gOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZXMpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJlc29sdmUodmFsdWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICByZWplY3QoZXJyKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHNldERhdGEoanNvbikgewogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgIGxhenlMb2FkVGljay5uZXh0VGljaygoKSA9PiB7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAodGhpcy5vdXRwdXRTdHJpbmcpIHsKICAgICAgICAgICAgICAvLyDlsIbpnZ5zdHJpbmfmlbDmja7ov5jljp8KICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBqc29uKSB7CiAgICAgICAgICAgICAgICBpZiAoIWpzb25ba2V5XS5zdGFydHNXaXRoKCJrLWZvcm0tZGVzaWduIyIpKSB7CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBqc29uW2tleV0uc3BsaXQoIiMiKTsKICAgICAgICAgICAgICAgIGlmIChhcnJheVsxXSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgICAgICAgICAganNvbltrZXldID0gSlNPTi5wYXJzZShhcnJheVsyXSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFycmF5WzFdID09PSAibnVtYmVyIikgewogICAgICAgICAgICAgICAgICBqc29uW2tleV0gPSBOdW1iZXIoYXJyYXlbMl0pOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcnJheVsxXSA9PT0gImJvb2xlYW4iKSB7CiAgICAgICAgICAgICAgICAgIGpzb25ba2V5XSA9IEJvb2xlYW4oYXJyYXlbMl0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RmllbGRzVmFsdWUoanNvbik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEZpZWxkc1ZhbHVlKGpzb24pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7CiAgICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpOwogICAgICAgICAgICByZWplY3QoZXJyKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8vIOaJuemHj+iuvue9ruafkOS4qm9wdGlvbueahOWAvAogICAgc2V0T3B0aW9ucyhmaWVsZHMsIG9wdGlvbk5hbWUsIHZhbHVlKSB7CiAgICAgIGZpZWxkcyA9IG5ldyBTZXQoZmllbGRzKTsKCiAgICAgIC8vIOmAkuW9kumBjeWOhuaOp+S7tuagkQogICAgICBjb25zdCB0cmF2ZXJzZSA9IGFycmF5ID0+IHsKICAgICAgICBhcnJheS5mb3JFYWNoKGVsZW1lbnQgPT4gewogICAgICAgICAgaWYgKGZpZWxkcy5oYXMoZWxlbWVudC5tb2RlbCkpIHsKICAgICAgICAgICAgdGhpcy4kc2V0KGVsZW1lbnQub3B0aW9ucywgb3B0aW9uTmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gImdyaWQiIHx8IGVsZW1lbnQudHlwZSA9PT0gInRhYnMiKSB7CiAgICAgICAgICAgIC8vIOagheagvOW4g+WxgCBhbmQg5qCH562+6aG1CiAgICAgICAgICAgIGVsZW1lbnQuY29sdW1ucy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgICAgIHRyYXZlcnNlKGl0ZW0ubGlzdCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnR5cGUgPT09ICJjYXJkIiB8fCBlbGVtZW50LnR5cGUgPT09ICJiYXRjaCIpIHsKICAgICAgICAgICAgLy8g5Y2h54mH5biD5bGAIGFuZCAg5Yqo5oCB6KGo5qC8CiAgICAgICAgICAgIHRyYXZlcnNlKGVsZW1lbnQubGlzdCk7CiAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQudHlwZSA9PT0gInRhYmxlIikgewogICAgICAgICAgICAvLyDooajmoLzluIPlsYAKICAgICAgICAgICAgZWxlbWVudC50cnMuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgICAgICBpdGVtLnRkcy5mb3JFYWNoKHZhbCA9PiB7CiAgICAgICAgICAgICAgICB0cmF2ZXJzZSh2YWwubGlzdCk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9OwogICAgICB0cmF2ZXJzZSh0aGlzLnZhbHVlLmxpc3QpOwogICAgfSwKICAgIC8vIOmakOiXj+ihqOWNleWtl+autQogICAgaGlkZShmaWVsZHMpIHsKICAgICAgdGhpcy5zZXRPcHRpb25zKGZpZWxkcywgImhpZGRlbiIsIHRydWUpOwogICAgfSwKICAgIC8vIOaYvuekuuihqOWNleWtl+autQogICAgc2hvdyhmaWVsZHMpIHsKICAgICAgdGhpcy5zZXRPcHRpb25zKGZpZWxkcywgImhpZGRlbiIsIGZhbHNlKTsKICAgIH0sCiAgICAvLyDnpoHnlKjooajljZXlrZfmrrUKICAgIGRpc2FibGUoZmllbGRzKSB7CiAgICAgIHRoaXMuc2V0T3B0aW9ucyhmaWVsZHMsICJkaXNhYmxlZCIsIHRydWUpOwogICAgfSwKICAgIC8vIOWQr+eUqOihqOWNleWtl+autQogICAgZW5hYmxlKGZpZWxkcykgewogICAgICB0aGlzLnNldE9wdGlvbnMoZmllbGRzLCAiZGlzYWJsZWQiLCBmYWxzZSk7CiAgICB9LAogICAgaGFuZGxlQ2hhbmdlKHZhbHVlLCBrZXkpIHsKICAgICAgLy8g6Kem5Y+RY2hhbmdl5LqL5Lu2CiAgICAgIHRoaXMuJGVtaXQoImNoYW5nZSIsIHZhbHVlLCBrZXkpOwogICAgfQogIH0sCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuc2V0RGF0YSh0aGlzLmRlZmF1bHRWYWx1ZSk7CgogICAgLy8gdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgLy8gICB0aGlzLnNldERhdGEodGhpcy5kZWZhdWx0VmFsdWUpOwogICAgLy8gfSk7CiAgfSwKICBjcmVhdGVkKCkgewogICAgbGF6eUxvYWRUaWNrLnJlc2V0KCk7CiAgfQp9Owo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/system/fromModeling/package/components/KFormBuild","sourcesContent":["<template>\n <a-config-provider :locale=\"locale\">\n <a-form\n v-bind=\"$attrs\"\n selfUpdate\n v-if=\"\n typeof value.list !== 'undefined' && typeof value.config !== 'undefined'\n \"\n class=\"k-form-build-9136076486841527\"\n :layout=\"value.config.layout\"\n :hideRequiredMark=\"value.config.hideRequiredMark\"\n :form=\"form\"\n @submit=\"handleSubmit\"\n :style=\"value.config.customStyle\"\n >\n <buildBlocks\n ref=\"buildBlocks\"\n @handleReset=\"reset\"\n v-for=\"(record, index) in value.list\"\n :record=\"record\"\n :dynamicData=\"getDynamicData\"\n :config=\"config\"\n :disabled=\"disabled\"\n :formConfig=\"value.config\"\n :validatorError=\"validatorError\"\n :key=\"index\"\n @change=\"handleChange\"\n />\n </a-form>\n </a-config-provider>\n</template>\n<script>\n/*\n * author kcz\n * date 2019-11-20\n * description 将json数据构建成表单\n */\nimport buildBlocks from \"./buildBlocks\";\nimport zhCN from \"ant-design-vue/lib/locale-provider/zh_CN\";\nimport { lazyLoadTick } from \"../../utils/index\";\n\nexport default {\n name: \"KFormBuild\",\n data() {\n return {\n locale: zhCN,\n form: this.$form.createForm(this),\n validatorError: {},\n defaultDynamicData: {}\n };\n },\n // props: [\"value\", \"dynamicData\"],\n props: {\n value: {\n type: Object,\n required: true\n },\n dynamicData: {\n type: Object,\n default: () => {\n return {};\n }\n },\n config: {\n type: Object,\n default: () => ({})\n },\n disabled: {\n type: Boolean,\n default: false\n },\n outputString: {\n type: Boolean,\n default: false\n },\n defaultValue: {\n type: Object,\n default: () => ({})\n }\n },\n components: {\n buildBlocks\n },\n computed: {\n getDynamicData() {\n return typeof this.dynamicData === \"object\" &&\n Object.keys(this.dynamicData).length\n ? this.dynamicData\n : window.$kfb_dynamicData || {};\n }\n },\n methods: {\n // moment,\n handleSubmit(e) {\n // 提交按钮触发,并触发submit函数,返回getData函数\n e.preventDefault();\n this.$emit(\"submit\", this.getData);\n },\n reset() {\n // 重置表单\n this.form.resetFields();\n },\n getData() {\n // 提交函数,提供父级组件调用\n return new Promise((resolve, reject) => {\n try {\n this.form.validateFields((err, values) => {\n if (err) {\n reject(err);\n /**\n * @author: lizhichao<meteoroc@outlook.com>\n * @Description: 多容器校验时,提供error返回给多容器进行判断。\n */\n this.validatorError = err;\n return;\n }\n this.validatorError = {};\n this.$refs.buildBlocks.forEach(item => {\n if (!item.validationSubform()) {\n reject(err);\n }\n });\n if (this.outputString) {\n // 需要所有value转成字符串\n for (const key in values) {\n const type = typeof values[key];\n if (type === \"string\" || type === \"undefined\") {\n continue;\n } else if (type === \"object\") {\n values[key] = `k-form-design#${type}#${JSON.stringify(\n values[key]\n )}`;\n } else {\n values[key] = `k-form-design#${type}#${String(values[key])}`;\n }\n }\n\n resolve(values);\n } else {\n resolve(values);\n }\n });\n } catch (err) {\n reject(err);\n }\n });\n },\n setData(json) {\n return new Promise((resolve, reject) => {\n lazyLoadTick.nextTick(() => {\n try {\n if (this.outputString) {\n // 将非string数据还原\n for (const key in json) {\n if (!json[key].startsWith(\"k-form-design#\")) {\n continue;\n }\n const array = json[key].split(\"#\");\n if (array[1] === \"object\") {\n json[key] = JSON.parse(array[2]);\n } else if (array[1] === \"number\") {\n json[key] = Number(array[2]);\n } else if (array[1] === \"boolean\") {\n json[key] = Boolean(array[2]);\n }\n }\n this.form.setFieldsValue(json);\n } else {\n this.form.setFieldsValue(json);\n }\n resolve(true);\n } catch (err) {\n console.error(err);\n reject(err);\n }\n });\n });\n },\n\n // 批量设置某个option的值\n setOptions(fields, optionName, value) {\n fields = new Set(fields);\n\n // 递归遍历控件树\n const traverse = array => {\n array.forEach(element => {\n if (fields.has(element.model)) {\n this.$set(element.options, optionName, value);\n }\n if (element.type === \"grid\" || element.type === \"tabs\") {\n // 栅格布局 and 标签页\n element.columns.forEach(item => {\n traverse(item.list);\n });\n } else if (element.type === \"card\" || element.type === \"batch\") {\n // 卡片布局 and 动态表格\n traverse(element.list);\n } else if (element.type === \"table\") {\n // 表格布局\n element.trs.forEach(item => {\n item.tds.forEach(val => {\n traverse(val.list);\n });\n });\n }\n });\n };\n traverse(this.value.list);\n },\n // 隐藏表单字段\n hide(fields) {\n this.setOptions(fields, \"hidden\", true);\n },\n // 显示表单字段\n show(fields) {\n this.setOptions(fields, \"hidden\", false);\n },\n // 禁用表单字段\n disable(fields) {\n this.setOptions(fields, \"disabled\", true);\n },\n // 启用表单字段\n enable(fields) {\n this.setOptions(fields, \"disabled\", false);\n },\n handleChange(value, key) {\n // 触发change事件\n this.$emit(\"change\", value, key);\n }\n },\n mounted() {\n this.setData(this.defaultValue);\n\n // this.$nextTick(() => {\n // this.setData(this.defaultValue);\n // });\n },\n created() {\n lazyLoadTick.reset();\n }\n};\n</script>\n"]}]}