From fcb78f23cf5747abc853327e86727f198d513a31 Mon Sep 17 00:00:00 2001 From: xiaoyoutai Date: Sat, 13 Aug 2022 23:42:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96UI,=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E3=80=82=E5=A2=9E=E5=8A=A0OSS=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=AD=98=E5=82=A8=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E8=BF=94=E5=9B=9E=E4=B8=BAruoyi=E9=A3=8E=E6=A0=BC=20c?= =?UTF-8?q?ode=3D200,msg=3D"=E6=B6=88=E6=81=AF=E5=86=85=E5=AE=B9"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 1 - .gitignore | 14 +- package-lock.json | 30 +- package.json | 2 +- src/bpmn/config/modules/Task.tsx | 2 +- src/comps/bpm/edit.vue | 2 +- src/comps/bpm/view.vue | 2 +- src/comps/bpmn/MyBpmn.vue | 23 +- src/comps/bpmn/custom/CustomPalette.js | 53 ++ src/comps/bpmn/custom/CustomRenderer.js | 104 +++ src/comps/bpmn/custom/index.js | 9 + .../customModeler/custom/CustomPalette.js | 91 ++ .../customModeler/custom/CustomRenderer.js | 100 ++ src/comps/bpmn/customModeler/custom/index.js | 9 + src/comps/bpmn/customModeler/index.js | 19 + src/comps/bpmn/utils/util.js | 16 + src/comps/gen/GenAtt.vue | 98 ++ src/comps/gen/GenUpload.vue | 23 +- src/comps/sys/DeptTree.vue | 9 +- src/pages/ass/oss/config/edit.vue | 92 ++ src/pages/ass/oss/config/index.vue | 81 ++ src/pages/ass/oss/main/edit.vue | 92 ++ src/pages/ass/oss/main/index.vue | 124 +++ src/pages/bi/collect/conn/edit.vue | 119 +++ src/pages/bi/collect/conn/index.vue | 112 +++ src/pages/bi/collect/data/edit.vue | 320 +++++++ src/pages/bi/collect/data/index.vue | 115 +++ src/pages/bi/collect/data/tree.vue | 151 +++ src/pages/bi/global/mod/edit.vue | 127 +++ .../{de/cust/main => bi/global/mod}/index.vue | 4 +- .../{de/cust/main => bi/model/base}/edit.vue | 39 +- src/pages/bi/model/base/index.vue | 86 ++ src/pages/bi/model/config/field.vue | 74 ++ src/pages/bi/model/config/group.vue | 66 ++ src/pages/bi/model/config/index.vue | 114 +++ src/pages/bi/model/config/tree.vue | 290 ++++++ src/pages/bi/model/data/edit.vue | 320 +++++++ src/pages/bi/model/data/index.vue | 115 +++ src/pages/bi/model/data/tree.vue | 156 ++++ .../bi/model/map/custom/CustomPalette.js | 56 ++ .../bi/model/map/custom/CustomRenderer.js | 125 +++ src/pages/bi/model/map/custom/index.js | 9 + .../map/customModeler/custom/CustomPalette.js | 136 +++ .../customModeler/custom/CustomPalette3.js | 112 +++ .../customModeler/custom/CustomRenderer.js | 188 ++++ .../model/map/customModeler/custom/index.js | 9 + src/pages/bi/model/map/customModeler/index.js | 19 + src/pages/bi/model/map/edit.vue | 583 ++++++++++++ src/pages/bi/model/map/graph.vue | 389 ++++++++ src/pages/bi/model/map/index.vue | 60 ++ src/pages/bi/model/map/tableModal.vue | 96 ++ src/pages/bi/model/map/tableTree.vue | 147 +++ src/pages/bi/model/map/utils/util.js | 16 + src/pages/bi/report/cate/edit.vue | 96 ++ src/pages/bi/report/cate/index.vue | 125 +++ src/pages/bi/report/main/edit.vue | 86 ++ src/pages/bi/report/main/index.vue | 90 ++ src/pages/bi/trans/cate/edit.vue | 96 ++ .../{de/supp => bi/trans}/cate/index.vue | 2 +- src/pages/bi/trans/cron/edit.vue | 188 ++++ src/pages/bi/trans/cron/index.vue | 147 +++ src/pages/bi/trans/log/index.vue | 80 ++ src/pages/bi/trans/log/view.vue | 73 ++ .../bi/trans/main/custom/CustomPalette.js | 56 ++ .../bi/trans/main/custom/CustomRenderer.js | 125 +++ src/pages/bi/trans/main/custom/index.js | 9 + .../customModeler/custom/CustomPalette.js | 136 +++ .../customModeler/custom/CustomRenderer.js | 189 ++++ .../trans/main/customModeler/custom/index.js | 9 + .../bi/trans/main/customModeler/index.js | 19 + src/pages/bi/trans/main/edit.vue | 239 +++++ src/pages/bi/trans/main/index.vue | 62 ++ src/pages/bi/trans/main/utils/util.js | 16 + src/pages/dd/org/dept/edit.vue | 96 ++ src/pages/dd/org/dept/index.vue | 165 ++++ src/pages/dd/org/user/edit.vue | 133 +++ src/pages/dd/org/user/index.vue | 131 +++ src/pages/{de/supp => it/db}/cate/edit.vue | 6 +- src/pages/it/db/cate/index.vue | 75 ++ src/pages/it/db/main/edit.vue | 328 +++++++ src/pages/it/db/main/index.vue | 91 ++ src/pages/it/server/cate/edit.vue | 96 ++ src/pages/it/server/cate/index.vue | 75 ++ src/pages/it/server/main/edit.vue | 332 +++++++ src/pages/it/server/main/index.vue | 91 ++ src/pages/mon/server/main/show2.vue | 454 ++++----- src/pages/my/demo/cate/edit.vue | 96 ++ src/pages/my/demo/cate/index.vue | 75 ++ src/pages/{de/supp => my/demo}/main/edit.vue | 65 +- src/pages/{de/supp => my/demo}/main/index.vue | 6 +- src/pages/oa/flow/temp/edit.vue | 2 +- .../oa/flow/temp/{edit3.vue => edit_3.vue} | 2 +- .../temp/{edit_new.vue => edit_new_back.vue} | 2 +- src/pages/oa/flow/temp/edit_table.vue | 367 ++++++++ src/pages/oa/proj/main/edit.vue | 265 ++++++ src/pages/oa/proj/main/index.vue | 90 ++ src/pages/oa/proj/main/view.vue | 242 +++++ src/pages/oa/proj/task/edit.vue | 169 ++++ src/pages/oa/proj/task/index.vue | 273 ++++++ src/pages/oa/proj/task/index2.vue | 122 +++ src/pages/oa/proj/tlist/edit.vue | 66 ++ src/pages/oa/proj/tlist/tree.vue | 294 ++++++ src/pages/sa/agent/cate/edit.vue | 63 ++ src/pages/sa/agent/cate/index.vue | 62 ++ src/pages/sa/agent/main/edit.vue | 211 +++++ src/pages/sa/agent/main/index.vue | 117 +++ src/pages/sa/cust/cate/edit.vue | 63 ++ src/pages/sa/cust/cate/index.vue | 62 ++ src/pages/sa/cust/main/edit.vue | 125 +++ src/pages/sa/cust/main/index.vue | 80 ++ src/pages/sa/cust/main/perm.vue | 119 +++ src/pages/sa/prod/main/index.vue | 80 ++ src/pages/sa/proj/main/edit.vue | 577 ++++++++++++ src/pages/sa/proj/main/index.vue | 80 ++ src/pages/sa/proj/main/perm.vue | 120 +++ src/pages/sa/proj/main/view.vue | 683 ++++++++++++++ src/pages/sys/org/dept/index.vue | 2 +- src/pages/sys/org/tier/tree_edit.vue | 2 +- src/pages/sys/portal/menu/edit.vue | 58 +- src/router/saRoute.ts | 223 ++++- src/router/sysRoute.ts | 867 ++++++++++++++++-- src/theme/vboot.scss | 28 + src/utils/request.ts | 8 +- src/views/login/index.vue | 2 +- 124 files changed, 14411 insertions(+), 422 deletions(-) create mode 100644 src/comps/bpmn/custom/CustomPalette.js create mode 100644 src/comps/bpmn/custom/CustomRenderer.js create mode 100644 src/comps/bpmn/custom/index.js create mode 100644 src/comps/bpmn/customModeler/custom/CustomPalette.js create mode 100644 src/comps/bpmn/customModeler/custom/CustomRenderer.js create mode 100644 src/comps/bpmn/customModeler/custom/index.js create mode 100644 src/comps/bpmn/customModeler/index.js create mode 100644 src/comps/bpmn/utils/util.js create mode 100644 src/comps/gen/GenAtt.vue create mode 100644 src/pages/ass/oss/config/edit.vue create mode 100644 src/pages/ass/oss/config/index.vue create mode 100644 src/pages/ass/oss/main/edit.vue create mode 100644 src/pages/ass/oss/main/index.vue create mode 100644 src/pages/bi/collect/conn/edit.vue create mode 100644 src/pages/bi/collect/conn/index.vue create mode 100644 src/pages/bi/collect/data/edit.vue create mode 100644 src/pages/bi/collect/data/index.vue create mode 100644 src/pages/bi/collect/data/tree.vue create mode 100644 src/pages/bi/global/mod/edit.vue rename src/pages/{de/cust/main => bi/global/mod}/index.vue (96%) rename src/pages/{de/cust/main => bi/model/base}/edit.vue (68%) create mode 100644 src/pages/bi/model/base/index.vue create mode 100644 src/pages/bi/model/config/field.vue create mode 100644 src/pages/bi/model/config/group.vue create mode 100644 src/pages/bi/model/config/index.vue create mode 100644 src/pages/bi/model/config/tree.vue create mode 100644 src/pages/bi/model/data/edit.vue create mode 100644 src/pages/bi/model/data/index.vue create mode 100644 src/pages/bi/model/data/tree.vue create mode 100644 src/pages/bi/model/map/custom/CustomPalette.js create mode 100644 src/pages/bi/model/map/custom/CustomRenderer.js create mode 100644 src/pages/bi/model/map/custom/index.js create mode 100644 src/pages/bi/model/map/customModeler/custom/CustomPalette.js create mode 100644 src/pages/bi/model/map/customModeler/custom/CustomPalette3.js create mode 100644 src/pages/bi/model/map/customModeler/custom/CustomRenderer.js create mode 100644 src/pages/bi/model/map/customModeler/custom/index.js create mode 100644 src/pages/bi/model/map/customModeler/index.js create mode 100644 src/pages/bi/model/map/edit.vue create mode 100644 src/pages/bi/model/map/graph.vue create mode 100644 src/pages/bi/model/map/index.vue create mode 100644 src/pages/bi/model/map/tableModal.vue create mode 100644 src/pages/bi/model/map/tableTree.vue create mode 100644 src/pages/bi/model/map/utils/util.js create mode 100644 src/pages/bi/report/cate/edit.vue create mode 100644 src/pages/bi/report/cate/index.vue create mode 100644 src/pages/bi/report/main/edit.vue create mode 100644 src/pages/bi/report/main/index.vue create mode 100644 src/pages/bi/trans/cate/edit.vue rename src/pages/{de/supp => bi/trans}/cate/index.vue (98%) create mode 100644 src/pages/bi/trans/cron/edit.vue create mode 100644 src/pages/bi/trans/cron/index.vue create mode 100644 src/pages/bi/trans/log/index.vue create mode 100644 src/pages/bi/trans/log/view.vue create mode 100644 src/pages/bi/trans/main/custom/CustomPalette.js create mode 100644 src/pages/bi/trans/main/custom/CustomRenderer.js create mode 100644 src/pages/bi/trans/main/custom/index.js create mode 100644 src/pages/bi/trans/main/customModeler/custom/CustomPalette.js create mode 100644 src/pages/bi/trans/main/customModeler/custom/CustomRenderer.js create mode 100644 src/pages/bi/trans/main/customModeler/custom/index.js create mode 100644 src/pages/bi/trans/main/customModeler/index.js create mode 100644 src/pages/bi/trans/main/edit.vue create mode 100644 src/pages/bi/trans/main/index.vue create mode 100644 src/pages/bi/trans/main/utils/util.js create mode 100644 src/pages/dd/org/dept/edit.vue create mode 100644 src/pages/dd/org/dept/index.vue create mode 100644 src/pages/dd/org/user/edit.vue create mode 100644 src/pages/dd/org/user/index.vue rename src/pages/{de/supp => it/db}/cate/edit.vue (94%) create mode 100644 src/pages/it/db/cate/index.vue create mode 100644 src/pages/it/db/main/edit.vue create mode 100644 src/pages/it/db/main/index.vue create mode 100644 src/pages/it/server/cate/edit.vue create mode 100644 src/pages/it/server/cate/index.vue create mode 100644 src/pages/it/server/main/edit.vue create mode 100644 src/pages/it/server/main/index.vue create mode 100644 src/pages/my/demo/cate/edit.vue create mode 100644 src/pages/my/demo/cate/index.vue rename src/pages/{de/supp => my/demo}/main/edit.vue (83%) rename src/pages/{de/supp => my/demo}/main/index.vue (94%) rename src/pages/oa/flow/temp/{edit3.vue => edit_3.vue} (99%) rename src/pages/oa/flow/temp/{edit_new.vue => edit_new_back.vue} (99%) create mode 100644 src/pages/oa/flow/temp/edit_table.vue create mode 100644 src/pages/oa/proj/main/edit.vue create mode 100644 src/pages/oa/proj/main/index.vue create mode 100644 src/pages/oa/proj/main/view.vue create mode 100644 src/pages/oa/proj/task/edit.vue create mode 100644 src/pages/oa/proj/task/index.vue create mode 100644 src/pages/oa/proj/task/index2.vue create mode 100644 src/pages/oa/proj/tlist/edit.vue create mode 100644 src/pages/oa/proj/tlist/tree.vue create mode 100644 src/pages/sa/agent/cate/edit.vue create mode 100644 src/pages/sa/agent/cate/index.vue create mode 100644 src/pages/sa/agent/main/edit.vue create mode 100644 src/pages/sa/agent/main/index.vue create mode 100644 src/pages/sa/cust/cate/edit.vue create mode 100644 src/pages/sa/cust/cate/index.vue create mode 100644 src/pages/sa/cust/main/edit.vue create mode 100644 src/pages/sa/cust/main/index.vue create mode 100644 src/pages/sa/cust/main/perm.vue create mode 100644 src/pages/sa/prod/main/index.vue create mode 100644 src/pages/sa/proj/main/edit.vue create mode 100644 src/pages/sa/proj/main/index.vue create mode 100644 src/pages/sa/proj/main/perm.vue create mode 100644 src/pages/sa/proj/main/view.vue diff --git a/.env.production b/.env.production index 35e3b19..8430cde 100644 --- a/.env.production +++ b/.env.production @@ -5,5 +5,4 @@ ENV = 'production' #VITE_API_URL = 'https://lyt-top.gitee.io/vue-next-admin-preview/' - VITE_API_URL = 'http://localhost:5000/' diff --git a/.gitignore b/.gitignore index ce8f84e..cc61463 100644 --- a/.gitignore +++ b/.gitignore @@ -22,11 +22,11 @@ pnpm-debug.log* *.sln *.sw? -.env -.env.development -.env.production +#.env +#.env.development +#.env.production -/src/pages/bi/ -/src/pages/sa/ -/src/pages/te/ -/src/router/saRoute.ts +#/src/pages/bi/ +#/src/pages/sa/ +#/src/pages/te/ +#/src/router/saRoute.ts diff --git a/package-lock.json b/package-lock.json index e31eed7..d672565 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "echarts": "^5.3.2", "echarts-gl": "^2.0.9", "echarts-wordcloud": "^2.0.0", - "element-plus": "2.2.8", + "element-plus": "2.2.12", "file-saver": "2.0.5", "js-cookie": "^3.0.1", "jsplumb": "^2.15.6", @@ -2604,9 +2604,9 @@ "dev": true }, "node_modules/element-plus": { - "version": "2.2.8", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.8.tgz", - "integrity": "sha512-+cubFh1rgeGcc2LeBm7hv/1BKFJre/LIIdRntm9OLaIhysCxigjEwcxk9gbVT4KsbcjmoqZUr4/mwhIhQV6mvw==", + "version": "2.2.12", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.12.tgz", + "integrity": "sha512-g/hIHj3b+dND2R3YRvyvCJtJhQvR7lWvXqhJaoxaQmajjNWedoe4rttxG26fOSv9YCC2wN4iFDcJHs70YFNgrA==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -2622,7 +2622,7 @@ "lodash-es": "^4.17.21", "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.1.2" + "normalize-wheel-es": "^1.2.0" }, "peerDependencies": { "vue": "^3.2.0" @@ -4210,9 +4210,9 @@ } }, "node_modules/normalize-wheel-es": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.1.2.tgz", - "integrity": "sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==" + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" }, "node_modules/nprogress": { "version": "0.2.0", @@ -7454,9 +7454,9 @@ "dev": true }, "element-plus": { - "version": "2.2.8", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.8.tgz", - "integrity": "sha512-+cubFh1rgeGcc2LeBm7hv/1BKFJre/LIIdRntm9OLaIhysCxigjEwcxk9gbVT4KsbcjmoqZUr4/mwhIhQV6mvw==", + "version": "2.2.12", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.12.tgz", + "integrity": "sha512-g/hIHj3b+dND2R3YRvyvCJtJhQvR7lWvXqhJaoxaQmajjNWedoe4rttxG26fOSv9YCC2wN4iFDcJHs70YFNgrA==", "requires": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -7472,7 +7472,7 @@ "lodash-es": "^4.17.21", "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.1.2" + "normalize-wheel-es": "^1.2.0" }, "dependencies": { "@element-plus/icons-vue": { @@ -8625,9 +8625,9 @@ "dev": true }, "normalize-wheel-es": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.1.2.tgz", - "integrity": "sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==" + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" }, "nprogress": { "version": "0.2.0", diff --git a/package.json b/package.json index 56c7161..1778c0c 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "echarts": "^5.3.2", "echarts-gl": "^2.0.9", "echarts-wordcloud": "^2.0.0", - "element-plus": "2.2.8", + "element-plus": "2.2.12", "file-saver": "2.0.5", "js-cookie": "^3.0.1", "jsplumb": "^2.15.6", diff --git a/src/bpmn/config/modules/Task.tsx b/src/bpmn/config/modules/Task.tsx index bb3bb2c..10bd9ff 100644 --- a/src/bpmn/config/modules/Task.tsx +++ b/src/bpmn/config/modules/Task.tsx @@ -28,7 +28,7 @@ const USER_OPTIONS = [ { label: '张三', value: 'z3' }, { label: '李四', value: 'l4' }, { label: '王五', value: 'w5' }, - { label: '赵六', value: 'zhao6' }, + { label: '赵六', value: 'z6' }, { label: '孙七', value: 's7' }, ]; diff --git a/src/comps/bpm/edit.vue b/src/comps/bpm/edit.vue index 7756134..6901f13 100644 --- a/src/comps/bpm/edit.vue +++ b/src/comps/bpm/edit.vue @@ -18,7 +18,7 @@ - + 上 传 diff --git a/src/comps/bpm/view.vue b/src/comps/bpm/view.vue index 4e82615..c33b449 100644 --- a/src/comps/bpm/view.vue +++ b/src/comps/bpm/view.vue @@ -56,7 +56,7 @@ - + 上 传 diff --git a/src/comps/bpmn/MyBpmn.vue b/src/comps/bpmn/MyBpmn.vue index 06ac06b..667b14c 100644 --- a/src/comps/bpmn/MyBpmn.vue +++ b/src/comps/bpmn/MyBpmn.vue @@ -14,7 +14,8 @@ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css' import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css' import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' import OrgModal from '/@/comps/sys/OrgModal.vue'; - +import customModule from './custom' +import CustomModeler from './customModeler' const orgModal = ref(); @@ -37,8 +38,16 @@ const { bpmnModeler } = toRefs(state); onMounted( () => { bpmnModeler.value=new BpmnModeler({ - container: canvasRef.value + container: canvasRef.value, + additionalModules: [ + customModule + ] }) + // bpmnModeler.value=new CustomModeler({ + // container: canvasRef.value, + // additionalModules: [ + // ] + // }) bpmnModeler.value.importXML(xmlStr, (err:any) => { if (err) { console.error(err) @@ -87,10 +96,10 @@ const addEventBusListener=()=> { // console.log(e) console.log(shape.businessObject.id); - shape.businessObject.name='李四'; - bpmnModeler.value.get('modeling').updateProperties(shape,{ - name: '我是修改后的Task名称' - }) + // shape.businessObject.name='李四'; + // bpmnModeler.value.get('modeling').updateProperties(shape,{ + // name: '我是修改后的Task名称' + // }) // this.getModeling().updateProperties(this.getShape(), { // [modelName]: multiple ? [newElement] : newElement, @@ -242,7 +251,7 @@ const xmlStr = '\n' + ' L6\n' + ' L8\n' + ' \n' + - ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + diff --git a/src/comps/bpmn/custom/CustomPalette.js b/src/comps/bpmn/custom/CustomPalette.js new file mode 100644 index 0000000..66ddb35 --- /dev/null +++ b/src/comps/bpmn/custom/CustomPalette.js @@ -0,0 +1,53 @@ +// CustomPalette.js +export default class CustomPalette { + constructor(bpmnFactory, create, elementFactory, palette, translate) { + this.bpmnFactory = bpmnFactory; + this.create = create; + this.elementFactory = elementFactory; + this.translate = translate; + + palette.registerProvider(this); + } + + getPaletteEntries(element) { + const { + bpmnFactory, + create, + elementFactory, + translate + } = this; + + function createTask() { + return function(event) { + const businessObject = bpmnFactory.create('bpmn:Task'); // 其实这个也可以不要 + const shape = elementFactory.createShape({ + type: 'bpmn:Task', + businessObject + }); + console.log(shape) // 只在拖动或者点击时触发 + create.start(event, shape); + } + } + + return { + 'create.lindaidai-task': { + group: 'model', + className: 'icon-custom lindaidai-task', + title: translate('创建一个类型为lindaidai-task的任务节点'), + action: { + dragstart: createTask(), + click: createTask() + } + } + } + } +} + +CustomPalette.$inject = [ + 'bpmnFactory', + 'create', + 'elementFactory', + 'palette', + 'translate' +] + diff --git a/src/comps/bpmn/custom/CustomRenderer.js b/src/comps/bpmn/custom/CustomRenderer.js new file mode 100644 index 0000000..69cff3b --- /dev/null +++ b/src/comps/bpmn/custom/CustomRenderer.js @@ -0,0 +1,104 @@ +import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer'; + +import { + append as svgAppend, + attr as svgAttr, + create as svgCreate +} from 'tiny-svg'; +import { customElements, customConfig, hasLabelElements } from '../utils/util' +import { is } from 'bpmn-js/lib/util/ModelUtil'; + +const HIGH_PRIORITY = 1500 + +export default class CustomRenderer extends BaseRenderer { + constructor(eventBus, bpmnRenderer, modeling) { + super(eventBus, HIGH_PRIORITY); + + this.bpmnRenderer = bpmnRenderer; + this.modeling = modeling; + } + + canRender(element) { + // ignore labels + return !element.labelTarget; + } + + drawShape(parentNode, element) { + console.log(element) + const type = element.type // 获取到类型 + // if (customElements.includes(type)) { // or customConfig[type] + if (type === 'bpmn:Task') { // or customConfig[type] + const { url, attr } = customConfig[type] + // const customIcon = svgCreate('image', { + // ...attr, + // href: url + // }) + // let color = element.businessObject.color; + // console.log(element.businessObject.di); + // element.businessObject.di.set('bioc:stroke', "red") + // const shape = this.bpmnRenderer.drawShape(parentNode, element); + const myShape = svgCreate('rect',{ + "width":attr.width, + "height":attr.height, + "fill":"transparent", + "stroke":"red", + "stroke-width":"1", + }) + svgAppend(parentNode, myShape) + + const customDiv = svgCreate('text', { + "font-size": "14", + "fill": "#000" + }) + customDiv.innerHTML="Q1\n" + + " Q2\n" + + " Q3\n" + + " Q4\n" + + " $ 223\n" + + " $ 183\n" + + " $ 277\n" + + " $ 402"; + element['width'] = attr.width // 这里我是取了巧, 直接修改了元素的宽高 + element['height'] = attr.height + // let color = element.businessObject.color + // element.businessObject.di.set('bioc:stroke', color) + // svgAppend(parentNode, customIcon) + svgAppend(parentNode, customDiv) + // 判断是否有name属性来决定是否要渲染出label + // if (!hasLabelElements.includes(type) && element.businessObject.name) { + // const text = svgCreate('text', { + // x: attr.x, + // y: attr.y + attr.height + 20, + // "font-size": "14", + // "fill": "#000" + // }) + // text.innerHTML = element.businessObject.name + // svgAppend(parentNode, text) + // console.log(text) + // } + // this.modeling.resizeShape(element, { + // x: element.x, + // y: element.y, + // width: element['width'] / 2, + // height: element['height'] / 2 + // }) + // return customIcon + return myShape + } + // else if (true) { + // console.log('我是绿色的') + // // let color = element.businessObject.color + // // element.businessObject.di.set('bioc:stroke', color) + // const shape = this.bpmnRenderer.drawShape(parentNode, element) + // return shape + // } + const shape = this.bpmnRenderer.drawShape(parentNode, element) + return shape + } + + getShapePath(shape) { + return this.bpmnRenderer.getShapePath(shape); + } +} + +CustomRenderer.$inject = ['eventBus', 'bpmnRenderer', 'modeling']; diff --git a/src/comps/bpmn/custom/index.js b/src/comps/bpmn/custom/index.js new file mode 100644 index 0000000..20c0baa --- /dev/null +++ b/src/comps/bpmn/custom/index.js @@ -0,0 +1,9 @@ +import CustomPalette from './CustomPalette' +import CustomRenderer from './CustomRenderer' + +export default { + __init__: ['customPalette', 'customRenderer'], + customPalette: ['type', CustomPalette], + customRenderer: ['type', CustomRenderer] +} + diff --git a/src/comps/bpmn/customModeler/custom/CustomPalette.js b/src/comps/bpmn/customModeler/custom/CustomPalette.js new file mode 100644 index 0000000..bcc913f --- /dev/null +++ b/src/comps/bpmn/customModeler/custom/CustomPalette.js @@ -0,0 +1,91 @@ +/** + * A palette that allows you to create BPMN _and_ custom elements. + */ +export default function PaletteProvider(palette, create, elementFactory, globalConnect, bpmnFactory) { + this.create = create + this.elementFactory = elementFactory + this.globalConnect = globalConnect + this.bpmnFactory = bpmnFactory + + palette.registerProvider(this) +} + +PaletteProvider.$inject = [ + 'palette', + 'create', + 'elementFactory', + 'globalConnect', + 'bpmnFactory' +] + +PaletteProvider.prototype.getPaletteEntries = function(element) { + const { + create, + elementFactory, + bpmnFactory + } = this; + + function createTask() { + return function(event) { + const businessObject = bpmnFactory.create('bpmn:Task', { custom: 2 }); + // businessObject['custom'] = 1 // 这样不行 + const shape = elementFactory.createShape({ + type: 'bpmn:Task', + businessObject + }); + const label = elementFactory.createLabel(); + console.log(shape) // 只在拖动或者点击时触发 + console.log(label) // 只在拖动或者点击时触发 + create.start(event, shape); + // create.start(event, label); + } + } + + function createStratEvent() { + return function(event) { + const shape = elementFactory.createShape({ + type: 'bpmn:StartEvent' + }); + create.start(event, shape); + } + } + + function createGateway() { + return function(event) { + const shape = elementFactory.createShape({ + type: 'bpmn:ExclusiveGateway' + }); + create.start(event, shape); + } + } + + return { + 'create.start-event': { + group: 'event', + className: 'icon-custom icon-custom-start', + title: '创建开始节点', + action: { + dragstart: createStratEvent(), + click: createStratEvent() + } + }, + 'create.lindaidai-task': { + group: 'model', + className: 'icon-custom lindaidai-task', + title: '创建一个类型为lindaidai-task的任务节点', + action: { + dragstart: createTask(), + click: createTask() + } + }, + 'create.exclusive-gateway': { + group: 'gateway', + className: 'bpmn-icon-gateway-none', + title: '创建一个网关', + action: { + dragstart: createGateway(), + click: createGateway() + } + } + } +} diff --git a/src/comps/bpmn/customModeler/custom/CustomRenderer.js b/src/comps/bpmn/customModeler/custom/CustomRenderer.js new file mode 100644 index 0000000..05e2d51 --- /dev/null +++ b/src/comps/bpmn/customModeler/custom/CustomRenderer.js @@ -0,0 +1,100 @@ +/* eslint-disable no-unused-vars */ +import inherits from 'inherits' + +import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer' +import { + isObject, + assign, + forEach +} from 'min-dash'; +import { + append as svgAppend, + create as svgCreate, + classes as svgClasses +} from 'tiny-svg' + +import { customElements, customConfig, hasLabelElements } from '../../utils/util' +/** + * A renderer that knows how to render custom elements. + */ +export default function CustomRenderer(eventBus, styles, textRenderer) { + BaseRenderer.call(this, eventBus, 2000) + + var computeStyle = styles.computeStyle + + function renderLabel(parentGfx, label, options) { + + options = assign({ + size: { + width: 100 + } + }, options); + + var text = textRenderer.createText(label || '', options); + + svgClasses(text).add('djs-label'); + + svgAppend(parentGfx, text); + + return text; + } + + this.drawCustomElements = function(parentNode, element) { + console.log(element) + const type = element.type // 获取到类型 + if (type !== 'label') { + if (customElements.includes(type)) { // or customConfig[type] + const { url, attr } = customConfig[type] + const customIcon = svgCreate('image', { + ...attr, + href: url + }) + element['width'] = attr.width // 这里我是取了巧, 直接修改了元素的宽高 + element['height'] = attr.height + svgAppend(parentNode, customIcon) + console.log(element.labels.length) + console.log(element.label) + // 判断是否有name属性来决定是否要渲染出label + // if (!hasLabelElements.includes(type) && element.businessObject.name) { + // const text = svgCreate('text', { + // x: attr.x, + // y: attr.y + attr.height + 20, + // "font-size": "14", + // "fill": "#000" + // }) + // text.innerHTML = element.businessObject.name + // svgAppend(parentNode, text) + // console.log(text) + // } + // renderLabel(parentNode, element.label) + return customIcon + } + const shape = this.bpmnRenderer.drawShape(parentNode, element) + return shape + } else { + element + } + } +} + +inherits(CustomRenderer, BaseRenderer) + +CustomRenderer.$inject = ['eventBus', 'styles', 'textRenderer'] + +CustomRenderer.prototype.canRender = function(element) { + // ignore labels + return true + // return !element.labelTarget; +} + +CustomRenderer.prototype.drawShape = function(p, element) { + console.log(element) + console.log(element.type) + if (customElements.includes(element.type)) { + return this.drawCustomElements(p, element) + } +} + +CustomRenderer.prototype.getShapePath = function(shape) { + console.log(shape) +} \ No newline at end of file diff --git a/src/comps/bpmn/customModeler/custom/index.js b/src/comps/bpmn/customModeler/custom/index.js new file mode 100644 index 0000000..0da2e47 --- /dev/null +++ b/src/comps/bpmn/customModeler/custom/index.js @@ -0,0 +1,9 @@ +import CustomPalette from './CustomPalette' +import CustomRenderer from './CustomRenderer' +// import CustomContextPadProvider from './CustomContextPadProvider' +export default { + __init__: ['paletteProvider', 'customRenderer', 'contextPadProvider'], + paletteProvider: ['type', CustomPalette], + customRenderer: ['type', CustomRenderer], + // contextPadProvider: ['type', CustomContextPadProvider] +} diff --git a/src/comps/bpmn/customModeler/index.js b/src/comps/bpmn/customModeler/index.js new file mode 100644 index 0000000..9758997 --- /dev/null +++ b/src/comps/bpmn/customModeler/index.js @@ -0,0 +1,19 @@ +import Modeler from 'bpmn-js/lib/Modeler' + +import inherits from 'inherits' + +import CustomModule from './custom' + +export default function CustomModeler(options) { + Modeler.call(this, options) + + this._customElements = [] +} + +inherits(CustomModeler, Modeler) + +CustomModeler.prototype._modules = [].concat( + CustomModeler.prototype._modules, [ + CustomModule + ] +) \ No newline at end of file diff --git a/src/comps/bpmn/utils/util.js b/src/comps/bpmn/utils/util.js new file mode 100644 index 0000000..7126b70 --- /dev/null +++ b/src/comps/bpmn/utils/util.js @@ -0,0 +1,16 @@ +const customElements = ['bpmn:Task', 'bpmn:StartEvent'] // 自定义元素的类型 +const customConfig = { // 自定义元素的配置 + 'bpmn:Task': { + // 'url': require('@assets/rules.png'), + // 'url': require('../../assets/rules.png'), + // 'url': 'https://hexo-blog-1256114407.cos.ap-shenzhen-fsi.myqcloud.com/rules.png', + 'attr': { x: 0, y: 0, width: 200, height: 300} + }, + 'bpmn:StartEvent': { + 'url': 'https://hexo-blog-1256114407.cos.ap-shenzhen-fsi.myqcloud.com/start.png', + 'attr': { x: 0, y: 0, width: 40, height: 40 } + } +} +const hasLabelElements = ['bpmn:StartEvent', 'bpmn:EndEvent'] // 一开始就有label标签的元素类型 + +export { customElements, customConfig, hasLabelElements } diff --git a/src/comps/gen/GenAtt.vue b/src/comps/gen/GenAtt.vue new file mode 100644 index 0000000..4cb5ac6 --- /dev/null +++ b/src/comps/gen/GenAtt.vue @@ -0,0 +1,98 @@ + + + + diff --git a/src/comps/gen/GenUpload.vue b/src/comps/gen/GenUpload.vue index 6b95c0e..24923da 100644 --- a/src/comps/gen/GenUpload.vue +++ b/src/comps/gen/GenUpload.vue @@ -15,7 +15,7 @@ @@ -50,8 +50,16 @@ const state = reactive({ const upload = ref() const dialogVisible = ref(false); -const openModal = async () => { - state.uploadUrl=`${import.meta.env.VITE_API_URL}sa/agent/main/imp` +const openModal = async (url:string) => { + if(url){ + if(url.startsWith("/")){ + state.uploadUrl=`${import.meta.env.VITE_API_URL}`+url.substring(1,url.length-1); + }else{ + state.uploadUrl=`${import.meta.env.VITE_API_URL}`+url; + } + }else{ + state.uploadUrl=`${import.meta.env.VITE_API_URL}gen/oss/upload` + } dialogVisible.value = true; }; @@ -62,10 +70,10 @@ onMounted(() => { }); const emits = defineEmits(['close']); -const handleConfirm = () => { - ElMessage.warning("演示模式不支持导入") - //upload.value!.submit(); - emits('close', { id: '333' }); +const handleConfirm =async () => { + // ElMessage.warning("演示模式不支持导入") + await upload.value!.submit(); + emits('close', { uptag: true }); dialogVisible.value = false; }; @@ -75,7 +83,6 @@ const clearAndcloseModal = () => { }; - diff --git a/src/pages/ass/oss/config/index.vue b/src/pages/ass/oss/config/index.vue new file mode 100644 index 0000000..3de2c8f --- /dev/null +++ b/src/pages/ass/oss/config/index.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/pages/ass/oss/main/edit.vue b/src/pages/ass/oss/main/edit.vue new file mode 100644 index 0000000..74743d8 --- /dev/null +++ b/src/pages/ass/oss/main/edit.vue @@ -0,0 +1,92 @@ + + + + diff --git a/src/pages/ass/oss/main/index.vue b/src/pages/ass/oss/main/index.vue new file mode 100644 index 0000000..a53b0dc --- /dev/null +++ b/src/pages/ass/oss/main/index.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/pages/bi/collect/conn/edit.vue b/src/pages/bi/collect/conn/edit.vue new file mode 100644 index 0000000..2cfc180 --- /dev/null +++ b/src/pages/bi/collect/conn/edit.vue @@ -0,0 +1,119 @@ + + + + diff --git a/src/pages/bi/collect/conn/index.vue b/src/pages/bi/collect/conn/index.vue new file mode 100644 index 0000000..b09c629 --- /dev/null +++ b/src/pages/bi/collect/conn/index.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/pages/bi/collect/data/edit.vue b/src/pages/bi/collect/data/edit.vue new file mode 100644 index 0000000..43be86d --- /dev/null +++ b/src/pages/bi/collect/data/edit.vue @@ -0,0 +1,320 @@ + + + diff --git a/src/pages/bi/collect/data/index.vue b/src/pages/bi/collect/data/index.vue new file mode 100644 index 0000000..88f7f6c --- /dev/null +++ b/src/pages/bi/collect/data/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/pages/bi/collect/data/tree.vue b/src/pages/bi/collect/data/tree.vue new file mode 100644 index 0000000..e2efa97 --- /dev/null +++ b/src/pages/bi/collect/data/tree.vue @@ -0,0 +1,151 @@ + + + + diff --git a/src/pages/bi/global/mod/edit.vue b/src/pages/bi/global/mod/edit.vue new file mode 100644 index 0000000..98506d1 --- /dev/null +++ b/src/pages/bi/global/mod/edit.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/pages/de/cust/main/index.vue b/src/pages/bi/global/mod/index.vue similarity index 96% rename from src/pages/de/cust/main/index.vue rename to src/pages/bi/global/mod/index.vue index 7216f4e..61ffbf4 100644 --- a/src/pages/de/cust/main/index.vue +++ b/src/pages/bi/global/mod/index.vue @@ -31,7 +31,7 @@ border stripe @selection-change='listSelect($event,state)'> - +