├── babel.config.js ├── public ├── favicon.ico └── index.html ├── vuejs-subtable.gif ├── src ├── assets │ └── logo.png ├── components │ ├── Global_store.js │ ├── WorkflowBrowser_store.js │ ├── FieldBrowser_store.js │ ├── FormBrowser_store.js │ ├── FormBrowser.vue │ ├── FieldBrowser.vue │ ├── WorkflowBrowser.vue │ └── RelateTable.vue ├── main.js ├── store │ └── index.js └── App.vue ├── .gitignore ├── README.md └── package.json /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dreamof2080/vuejs-subtable/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /vuejs-subtable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dreamof2080/vuejs-subtable/HEAD/vuejs-subtable.gif -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dreamof2080/vuejs-subtable/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/Global_store.js: -------------------------------------------------------------------------------- 1 | export default { 2 | state:{ 3 | workflowid:null 4 | }, 5 | mutations:{ 6 | setWorkflowId(state,id){ 7 | state.workflowid = id; 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/components/WorkflowBrowser_store.js: -------------------------------------------------------------------------------- 1 | export default { 2 | state:{ 3 | show:false 4 | }, 5 | mutations:{ 6 | switch_workflowDialog(state){ 7 | state.show = state.show?false:true; 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/components/FieldBrowser_store.js: -------------------------------------------------------------------------------- 1 | export default { 2 | state:{ 3 | show:false, 4 | formid:null, 5 | }, 6 | mutations:{ 7 | switch_FieldDialog(state,formid){ 8 | state.show = state.show?false:true; 9 | state.formid = formid; 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flowrelate 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | -------------------------------------------------------------------------------- /src/components/FormBrowser_store.js: -------------------------------------------------------------------------------- 1 | export default { 2 | state:{ 3 | show:false, 4 | workflowid:null, 5 | formType:null, 6 | }, 7 | mutations:{ 8 | switch_FormDialog(state,stark){ 9 | state.show = state.show?false:true; 10 | if (stark!=null){ 11 | state.workflowid = stark.workflowid; 12 | state.formType = stark.formType; 13 | } 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import ElementUI from 'element-ui' 4 | import 'element-ui/lib/theme-chalk/index.css' 5 | import store from './store' 6 | import axios from 'axios' 7 | import VueAxios from 'vue-axios' 8 | import 'url-search-params-polyfill'; 9 | 10 | Vue.config.productionTip = false; 11 | 12 | Vue.use(ElementUI); 13 | Vue.use(VueAxios,axios); 14 | 15 | new Vue({ 16 | store, 17 | render: h => h(App) 18 | }).$mount('#app'); 19 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | Vue.use(Vuex); 4 | 5 | import WorkflowBrowser_store from '../components/WorkflowBrowser_store'; 6 | import FieldBrowser_store from '../components/FieldBrowser_store'; 7 | import Global_store from '../components/Global_store'; 8 | import Form_store from '../components/FormBrowser_store' 9 | 10 | export default new Vuex.Store({ 11 | modules:{ 12 | workflowStore:WorkflowBrowser_store, 13 | fieldStore:FieldBrowser_store, 14 | formStore:Form_store, 15 | globalStore:Global_store, 16 | } 17 | } 18 | ) -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | flowrelate 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flowrelate", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "axios": "^0.18.0", 12 | "element-ui": "^2.4.5", 13 | "url-search-params-polyfill": "^5.0.0", 14 | "vue": "^2.5.16", 15 | "vue-axios": "^2.1.3", 16 | "vuex": "^3.0.1" 17 | }, 18 | "devDependencies": { 19 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 20 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 21 | "@vue/cli-service": "^3.0.0-rc.10", 22 | "vue-template-compiler": "^2.5.16" 23 | }, 24 | "eslintConfig": { 25 | "root": true, 26 | "env": { 27 | "node": true 28 | }, 29 | "extends": [ 30 | "plugin:vue/essential", 31 | "eslint:recommended" 32 | ], 33 | "rules": {}, 34 | "parserOptions": { 35 | "parser": "babel-eslint" 36 | } 37 | }, 38 | "postcss": { 39 | "plugins": { 40 | "autoprefixer": {} 41 | } 42 | }, 43 | "browserslist": [ 44 | "> 1%", 45 | "last 2 versions", 46 | "not ie <= 8" 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 61 | 62 | 65 | -------------------------------------------------------------------------------- /src/components/FormBrowser.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 73 | 74 | -------------------------------------------------------------------------------- /src/components/FieldBrowser.vue: -------------------------------------------------------------------------------- 1 | 51 | 52 | 94 | 95 | -------------------------------------------------------------------------------- /src/components/WorkflowBrowser.vue: -------------------------------------------------------------------------------- 1 | 58 | 59 | 112 | 113 | -------------------------------------------------------------------------------- /src/components/RelateTable.vue: -------------------------------------------------------------------------------- 1 | 104 | 105 | 215 | 216 | 239 | --------------------------------------------------------------------------------