From 98a2095baf772de6bce33db3eec4f5b97d1a2e90 Mon Sep 17 00:00:00 2001 From: liudianxin Date: Tue, 4 Aug 2020 16:45:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=97=B6=E7=A9=BA=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1iframe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 +- src/components/super-flow.vue | 589 +++++++++++++++++++++++++ src/main.js | 4 + src/pages/example/example_com_flow.vue | 24 + src/pages/workbench/fwzc_fwcs.vue | 158 ++++++- src/router/index.js | 5 + yarn.lock | 56 ++- 7 files changed, 833 insertions(+), 8 deletions(-) create mode 100644 src/components/super-flow.vue create mode 100644 src/pages/example/example_com_flow.vue diff --git a/package.json b/package.json index 895ec12..0affe91 100644 --- a/package.json +++ b/package.json @@ -32,18 +32,19 @@ "vue-i18n": "^8.17.7", "vue-resource": "^1.5.1", "vue-router": "^3.0.2", + "vue-super-flow": "^1.3.2", "vuex": "^3.1.0", "xterm": "^4.7.0", "xterm-addon-fit": "^0.4.0", "yaml2json": "^1.0.2" }, "devDependencies": { + "@babel/compat-data": "7.9.0", "@babel/core": "^7.4.0", "@babel/plugin-syntax-jsx": "^7.2.0", "@babel/plugin-transform-runtime": "^7.4.0", "@babel/preset-env": "^7.4.2", "@babel/runtime": "^7.4.2", - "@babel/compat-data": "7.9.0", "autoprefixer": "^9.5.0", "babel-loader": "^8.0.5", "babel-plugin-syntax-jsx": "^6.18.0", @@ -54,6 +55,8 @@ "file-loader": "^3.0.1", "friendly-errors-webpack-plugin": "^1.7.0", "html-webpack-plugin": "^3.2.0", + "less": "^3.12.2", + "less-loader": "^6.2.0", "mini-css-extract-plugin": "^0.5.0", "node-notifier": "^5.4.0", "optimize-css-assets-webpack-plugin": "^5.0.1", diff --git a/src/components/super-flow.vue b/src/components/super-flow.vue new file mode 100644 index 0000000..98fc8f8 --- /dev/null +++ b/src/components/super-flow.vue @@ -0,0 +1,589 @@ + + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 8cb174c..6d66641 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,10 @@ const i18n = new VueI18n({ } }) +import SuperFlow from 'vue-super-flow' +import 'vue-super-flow/lib/index.css' +Vue.use(SuperFlow) + import api from './request/api' Vue.prototype.$api = api; diff --git a/src/pages/example/example_com_flow.vue b/src/pages/example/example_com_flow.vue new file mode 100644 index 0000000..9797742 --- /dev/null +++ b/src/pages/example/example_com_flow.vue @@ -0,0 +1,24 @@ + + + + \ No newline at end of file diff --git a/src/pages/workbench/fwzc_fwcs.vue b/src/pages/workbench/fwzc_fwcs.vue index 1f1d761..dd63bc6 100644 --- a/src/pages/workbench/fwzc_fwcs.vue +++ b/src/pages/workbench/fwzc_fwcs.vue @@ -354,6 +354,9 @@ +
+ +
@@ -530,6 +533,42 @@ export default { requestRules: 0, responseRules: 0, is_map: false, + param_fields: [], + body_fields: [], + portalUser: {}, + dataTree_apaas_config: { + "18": "Map Service", + "19": "Feature Service", + "20": "Web Map", + "31": "WFS", + "32": "WMS", + "Map Service": "18", + "Feature Service": "19", + "Web Map": "20", + WFS: "31", + WMS: "32", + }, + //数据服务页面中行业分类配置项 + industryTree_apaas_Config: { + "1": "T001", + "2": "T002", + "3": "T004", + "4": "T005", + "25": "T006", + "26": "T007", + "27": "T008", + "28": "T009", + "29": "T010", + T001: "1", + T002: "2", + T004: "3", + T005: "4", + T006: "25", + T007: "26", + T008: "27", + T009: "28", + T010: "29", + }, }; }, computed: {}, @@ -667,8 +706,10 @@ export default { let data = response.data.data; if (data.body_fields && data.body_fields.length != 0) { this.datasQqcs = data.body_fields; + this.param_fields = data.param_fields; } else { this.datasQqcs = data.param_fields; + this.body_fields = []; } this.datasFhcs = data.response_fields; this.resSuccess = true; @@ -782,7 +823,10 @@ export default { encode_method: this.form.code, method: this.select, url: this.serviceUrl, - request_fields: this.request_fields, + request_fields: + this.body_fields.length == 0 ? [] : this.request_fields, + request_query_fields: + this.param_fields.length == 0 ? [] : this.request_fields, response_fields: this.response_fields, content_type: contentType, }; @@ -869,11 +913,123 @@ export default { goto(path) { this.$router.push(path); }, + addPortalItem() { + //添加服务到portal + var url = + "https://apaasgis.wodcloud.com/portal/sharing/rest/content/users/" + + portalUser.username + + "/addItem"; + $.ajax({ + url: url, + type: "POST", + contentType: "application/x-www-form-urlencoded", + //data: json, + data: { + f: "json", + tags: industryTree_apaas_Config["1"], + title: "测试添加服务5", + url: + "https://apaasgis.wodcloud.com/server/rest/services/GZ_FJXQZTT/FeatureServer", + type: dataTree_apaas_config["19"], + token: portalUser.token, + }, + dataType: "json", //dataType不能少 + success: function (result) { + if (result.error != null) { + alert("添加专题图到Portal中失败," + result.error.message); + } else { + shareItem(result.id); + } + }, + error: function (xhr, status, err) { + alert("添加专题图到Portal中失败," + xhr.responseText); + }, + }); + }, + shareItem(itemid) { + var searchUrl = + "https://apaasgis.wodcloud.com/portal/sharing/rest/content/users/" + + portalUser.username + + "/shareItems"; + $.ajax({ + url: searchUrl, + dataType: "json", + method: "POST", + data: { + items: itemid, + everyone: true, + token: portalUser.token, + f: "json", + groups: null, + }, + success: function (data) {}, + error: function (err) { + alert(err); + }, + }); + }, + getItemInfo(itemid) { + console.log("ssss") + var searchUrl = + "https://apaasgis.wodcloud.com/portal/sharing/rest/content/users/" + + portalUser.username + + "/items/" + + itemid; + $.ajax({ + url: searchUrl, + dataType: "json", + method: "POST", + data: { + token: portalUser.token, + f: "json", + }, + success: function (data) { + var sectors = ""; + $(data.item.tags).each(function (i, tag) { + if (!!industryTree_apaas_Config[tag]) { + sectors = industryTree_apaas_Config[tag]; + return; + } + }); + + var item = { + url: data.item.url, + itemid: data.item.id, + name: data.item.title, + descript: data.item.description, + cover: + "https://apaasgis.wodcloud.com/portal/sharing/rest/content/items/" + + data.item.id + + "/info/" + + data.item.thumbnail + + "?token=" + + portalUser.token, + sectors: sectors, + data_service_type2: dataTree_apaas_config[data.item.type], + }; + console.log(item); + }, + error: function (err) { + alert(err); + }, + }); + }, }, mounted() { this.judgeMap(); this.getServiceType1(); this.getArea(); + window.addEventListener( + "message", + function (event) { + if (event.data && event.data.cmd == "getPortalUser") { + portalUser = event.data.params; + getItemInfo("86fd0d2e89854cb293d287efd2142acd"); + //addPortalItem(); + } + }, + false + ); }, }; diff --git a/src/router/index.js b/src/router/index.js index e87e24d..dd1c6e3 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -503,5 +503,10 @@ export default new Router({ name: "example_com_list", component: () => import("@/pages/example/example_com_list"), }, + { + path: "/example_com_flow", // 流程图实例 + name: "example_com_flow", + component: () => import("@/pages/example/example_com_flow"), + }, ], }); diff --git a/yarn.lock b/yarn.lock index 56293ae..c5d7cbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2022,7 +2022,7 @@ clone@^1.0.2: resolved "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clone@^2.1.1: +clone@^2.1.1, clone@^2.1.2: version "2.1.2" resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= @@ -2937,7 +2937,7 @@ entities@^2.0.0: resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" integrity sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38= -errno@^0.1.3, errno@~0.1.7: +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= @@ -3879,7 +3879,7 @@ ignore@^3.3.5: resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= -image-size@^0.5.1: +image-size@^0.5.1, image-size@~0.5.0: version "0.5.5" resolved "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= @@ -4405,6 +4405,31 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +less-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-6.2.0.tgz?cache=0&sync_timestamp=1593788012269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-6.2.0.tgz#8b26f621c155b342eefc24f5bd6e9dc40c42a719" + integrity sha1-iyb2IcFVs0Lu/CT1vW6dxAxCpxk= + dependencies: + clone "^2.1.2" + less "^3.11.3" + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +less@^3.11.3, less@^3.12.2: + version "3.12.2" + resolved "https://registry.npm.taobao.org/less/download/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" + integrity sha1-FX5t0ypohp34hZMUrTjnAhGvOrQ= + dependencies: + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -4441,6 +4466,15 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4 emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha1-5MrOW4FtQloWa18JfhDNErNgZLA= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -4538,7 +4572,7 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= @@ -4694,7 +4728,7 @@ mime-types@~2.1.17, mime-types@~2.1.24: dependencies: mime-db "1.44.0" -mime@1.6.0: +mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= @@ -4889,6 +4923,11 @@ nanomatch@^1.2.1, nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +native-request@^1.0.5: + version "1.0.7" + resolved "https://registry.npm.taobao.org/native-request/download/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856" + integrity sha1-/3QtxVW0yPLxwUtUhjm6F05XOFY= + negotiator@0.6.2: version "0.6.2" resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -6323,7 +6362,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5: +schema-utils@^2.6.5, schema-utils@^2.7.0: version "2.7.0" resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.0.tgz?cache=0&sync_timestamp=1590761195120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha1-FxUfdtjq5n+793lgwzxnatn078c= @@ -7342,6 +7381,11 @@ vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: hash-sum "^1.0.2" loader-utils "^1.0.2" +vue-super-flow@^1.3.2: + version "1.3.2" + resolved "https://registry.npm.taobao.org/vue-super-flow/download/vue-super-flow-1.3.2.tgz#1de9b8c907b0cbcda9dfca6a36ed95ec9b45f35e" + integrity sha1-Hem4yQewy82p38pqNu2V7JtF814= + vue-template-compiler@^2.6.10: version "2.6.11" resolved "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" -- 2.26.0