Commit f8065618 by zhuzhequan

app

parent df1e88c0
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -14,12 +14,14 @@
"core-js": "^3.8.3",
"element-ui": "^2.15.13",
"js-md5": "^0.7.3",
"lodash": "~4.17.20",
"lodash": "^4.17.21",
"uuid": "^10.0.0",
"vue": "^2.6.14",
"vue-router": "^3.5.1",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",
"vxe-table": "^3.5.9",
"vxe-table-plugin-element": "^4.0.4",
"xe-utils": "^3.5.7"
},
"devDependencies": {
......
......@@ -36,6 +36,7 @@ import {
Tooltip,
ColorPicker,
CheckboxGroup,
Divider,
Popover,
} from 'element-ui'
......@@ -69,6 +70,7 @@ const components = [
Dropdown,
DropdownItem,
DropdownMenu,
Divider,
Tooltip,
ColorPicker,
CheckboxGroup,
......
export default [
{
name: '输入框',
type: 'input',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMSIgeT0iMTUiIHdpZHRoPSI0NiIgaGVpZ2h0PSIxOCIgcng9IjMiIGZpbGw9IiNGQ0ZDRkMiIHN0cm9rZT0iI0Q4RDhEOCIgc3Ryb2tlLXdpZHRoPSIxLjYiLz48cGF0aCBzdHJva2U9IiNEOEQ4RDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjEgMjRoMTIiLz48cGF0aCBkPSJNMzggMjBoMS41bTEuNSAwaC0xLjVtMCAwdjhtMCAwSDM4bTEuNSAwSDQxIiBzdHJva2U9IiM5NDk0OTQiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cGF0aCBkPSJNNy4yNSAyMi4wNzRWMjAuOThhLjczLjczIDAgMCAxIC43My0uNzNIMTFtMy43NSAxLjgyNFYyMC45OGEuNzMuNzMgMCAwIDAtLjczLS43M0gxMW0wIDB2Ny41bTAgMEg5LjExbTEuODkgMGgyLjA1MSIgc3Ryb2tlPSIjQjJCMkIyIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+Cg=='
},
{
name: '文本框',
type: 'textarea',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMSIgeT0iOSIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjMxIiByeD0iMyIgZmlsbD0iI0ZDRkNGQyIgc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjEuNiIvPjxwYXRoIGQ9Ik01LjUgMjIuNWg5TTUuNSAyMC4yNWg5TTEzIDE4aDEuNU01LjUgMTQuOTE5di0uNzg3YzAtLjM1LjI4My0uNjMyLjYzMi0uNjMySDguNW0zIDEuNDE5di0uNzg3YS42MzIuNjMyIDAgMCAwLS42MzItLjYzMkg4LjVtMCAwVjE4bTAgMEg2Ljk1N004LjUgMThoMS41NDMiIHN0cm9rZT0iI0IyQjJCMiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxwYXRoIHN0cm9rZT0iI0Q4RDhEOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik02IDI5aDI4TTYgMzRoMTciLz48cGF0aCBkPSJNMzkgMjdoMS41bTEuNSAwaC0xLjVtMCAwdjhtMCAwSDM5bTEuNSAwSDQyIiBzdHJva2U9IiM5NDk0OTQiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4K'
},
{
name: '下拉选择框',
type: 'select',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMSIgeT0iNCIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjEzIiByeD0iMyIgZmlsbD0iI0ZDRkNGQyIgc3Ryb2tlPSIjREVERURFIiBzdHJva2Utd2lkdGg9IjEuNiIvPjxwYXRoIHN0cm9rZT0iIzc1NzU3NSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik03IDExaDE3Ii8+PHJlY3QgeD0iNCIgeT0iMTUiIHdpZHRoPSI0MyIgaGVpZ2h0PSIyOSIgcng9IjMiIGZpbGw9IiNGQ0ZDRkMiIHN0cm9rZT0iI0RFREVERSIgc3Ryb2tlLXdpZHRoPSIxLjYiLz48cGF0aCBmaWxsPSIjRUNGNUZEIiBkPSJNNSAyNmg0MXY4SDV6Ii8+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTEwIDIxaDEzIi8+PHBhdGggc3Ryb2tlPSIjNzU3NTc1IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTEwIDMwaDI1Ii8+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTEwIDM5aDE3Ii8+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjEuNiIgZD0iTTQgMjUuMmg0M000IDM0LjJoNDMiLz48cGF0aCBkPSJtMzggMTAgMi41IDIgMi41LTIiIHN0cm9rZT0iI0JFQkVCRSIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Im0zOSAzMC4zNjEgMS4zNjEgMS4xMzRMNDIuNjMgMjkiIHN0cm9rZT0iIzNDOTJEQyIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgo='
},
{
name: '多选框',
type: 'checkGroup',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTguMTY2IDEzLjc5MSAxLjc1IDEuNDU4IDIuOTE3LTMuMjA4TTguMTY2IDM0LjQ1OGwxLjc1IDEuNDU4IDIuOTE3LTMuMjA4IiBzdHJva2U9IiNGNUY1RjUiIHN0cm9rZS13aWR0aD0iMS4yIi8+PHJlY3QgeD0iOS41IiB5PSI2LjUiIHdpZHRoPSI5IiBoZWlnaHQ9IjkiIHJ4PSIyLjUiIGZpbGw9IiMzQzkyREMiIHN0cm9rZT0iIzNDOTJEQyIvPjxyZWN0IHg9IjkuNSIgeT0iMzIuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjIuNSIgZmlsbD0iIzNDOTJEQyIgc3Ryb2tlPSIjM0M5MkRDIi8+PHBhdGggZD0ibTEyIDExLjM2MSAxLjM2MSAxLjEzNEwxNS42MyAxME0xMiAzNy4zNjFsMS4zNjEgMS4xMzRMMTUuNjMgMzYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIHN0cm9rZT0iI0RFREVERSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMyAxMC42NjZoMTRNMjMgMzYuNjY2aDE0Ii8+PHJlY3QgeD0iOS41IiB5PSIxOS41IiB3aWR0aD0iOSIgaGVpZ2h0PSI5IiByeD0iMi41IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNERURFREUiLz48cGF0aCBzdHJva2U9IiNERURFREUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjMgMjMuMzM0aDExIi8+PC9zdmc+Cg=='
},
{
name: '单选框',
type: 'radioGroup',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIwIDM1aDE5TTIwIDI0aDIxTTIwIDEzaDEzIi8+PHJlY3QgeD0iNyIgeT0iMzEiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNERURFREUiIHN0cm9rZS13aWR0aD0iMS4yIi8+PHJlY3QgeD0iNyIgeT0iMjAiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0IiBmaWxsPSIjM0M5MkRDIiBzdHJva2U9IiMzQzkyREMiLz48cmVjdCB4PSI3IiB5PSI5IiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiByeD0iNCIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjREVERURFIiBzdHJva2Utd2lkdGg9IjEuMiIvPjxyZWN0IHg9IjEwIiB5PSIyMyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIvPjwvc3ZnPgo='
},
{
name: '日期',
type: 'date',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMSIgeT0iMTUiIHdpZHRoPSI0NiIgaGVpZ2h0PSIxOCIgcng9IjMiIGZpbGw9IiNGQ0ZDRkMiIHN0cm9rZT0iI0Q4RDhEOCIgc3Ryb2tlLXdpZHRoPSIxLjYiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjQgMjIuNUg2LjZ2NC43MzdjMCAuMjI4LjE4NS40MTMuNDE0LjQxM2g3Ljk3MmEuNDE0LjQxNCAwIDAgMCAuNDE0LS40MTNWMjIuNVptLTguMzg3LTMuNzVoNy45NzRjMS4xMTIgMCAyLjAxMy45MDEgMi4wMTMgMi4wMTN2Ni40NzRhMi4wMTQgMi4wMTQgMCAwIDEtMi4wMTQgMi4wMTNINy4wMTRBMi4wMTQgMi4wMTQgMCAwIDEgNSAyNy4yMzd2LTYuNDc0YzAtMS4xMTIuOTAxLTIuMDEzIDIuMDEzLTIuMDEzWm0yLjM1MyA1LjM3NWEuODc1Ljg3NSAwIDEgMS0xLjc1IDAgLjg3NS44NzUgMCAwIDEgMS43NSAwWk04LjQ5IDI3LjI1YS44NzUuODc1IDAgMSAwIDAtMS43NS44NzUuODc1IDAgMCAwIDAgMS43NVptMy4zODQtMy4xMjVhLjg3NS44NzUgMCAxIDEtMS43NSAwIC44NzUuODc1IDAgMCAxIDEuNzUgMFpNMTEgMjcuMjVhLjg3NS44NzUgMCAxIDAgMC0xLjc1Ljg3NS44NzUgMCAwIDAgMCAxLjc1Wm0zLjU1LTMuMTI1YS44NzUuODc1IDAgMSAxLTEuNzUgMCAuODc1Ljg3NSAwIDAgMSAxLjc1IDBaIiBmaWxsPSIjQjJCMkIyIi8+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIxIDI0aDEyIi8+PHBhdGggZD0iTTM4IDIwaDEuNW0xLjUgMGgtMS41bTAgMHY4bTAgMEgzOG0xLjUgMEg0MSIgc3Ryb2tlPSIjOTQ5NDk0IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+Cg=='
},
{
name: '日期区间',
type: 'dateRange',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMSIgeT0iNSIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjE4IiByeD0iMyIgZmlsbD0iI0ZDRkNGQyIgc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjEuNiIvPjxnIGZpbHRlcj0idXJsKCNhKSI+PHJlY3QgeD0iNCIgeT0iMjMiIHdpZHRoPSI0MyIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNGQ0ZDRkMiLz48cmVjdCB4PSIzLjUiIHk9IjIyLjUiIHdpZHRoPSI0NCIgaGVpZ2h0PSIyMSIgcng9IjMuNSIgc3Ryb2tlPSIjREVERURFIi8+PC9nPjxwYXRoIGQ9Ik03IDI3djNhMSAxIDAgMCAwIDEgMWg1YTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMUg4YTEgMSAwIDAgMC0xIDFaIiBmaWxsPSIjREVERURFIi8+PHBhdGggZD0iTTcgMzV2M2ExIDEgMCAwIDAgMSAxaDE2YTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMUg4YTEgMSAwIDAgMC0xIDFaIiBmaWxsPSIjRUNGNUZEIi8+PHBhdGggZD0iTTIxIDM0LjIwNnY0LjU4OGMwIC4xMTQuMDkyLjIwNi4yMDYuMjA2SDI1LjVhMi41IDIuNSAwIDAgMCAwLTVoLTQuMjk0YS4yMDYuMjA2IDAgMCAwLS4yMDYuMjA2WiIgZmlsbD0iIzNDOTJEQyIvPjxwYXRoIGQ9Ik0yMiAyN3YzYTEgMSAwIDAgMCAxIDFoMjBhMSAxIDAgMCAwIDEtMXYtM2ExIDEgMCAwIDAtMS0xSDIzYTEgMSAwIDAgMC0xIDFaIiBmaWxsPSIjRUNGNUZEIi8+PHBhdGggZD0iTTMxIDM1djNhMSAxIDAgMCAwIDEgMWgxMWExIDEgMCAwIDAgMS0xdi0zYTEgMSAwIDAgMC0xLTFIMzJhMSAxIDAgMCAwLTEgMVoiIGZpbGw9IiNERURFREUiLz48cGF0aCBkPSJNMjIuNzk0IDI2SDE4LjVhMi41IDIuNSAwIDAgMCAwIDVoNC4yOTRhLjIwNi4yMDYgMCAwIDAgLjIwNi0uMjA2di00LjU4OGEuMjA2LjIwNiAwIDAgMC0uMjA2LS4yMDZaIiBmaWxsPSIjM0M5MkRDIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjYgMTMuNXY0LjczN2MwIC4yMjguMTg1LjQxMy40MTQuNDEzaDcuOTcyYS40MTQuNDE0IDAgMCAwIC40MTQtLjQxM1YxMy41SDcuNlptOC4zODctMy43NUg4LjAxM0EyLjAxMyAyLjAxMyAwIDAgMCA2IDExLjc2M3Y2LjQ3NGMwIDEuMTEyLjkwMiAyLjAxMyAyLjAxNCAyLjAxM2g3Ljk3MkEyLjAxNCAyLjAxNCAwIDAgMCAxOCAxOC4yMzd2LTYuNDc0YTIuMDEzIDIuMDEzIDAgMCAwLTIuMDEzLTIuMDEzWk0xNS43IDE1YS43LjcgMCAwIDEtLjcuN0g5YS43LjcgMCAxIDEgMC0xLjRoNmEuNy43IDAgMCAxIC43LjdaTTEyIDE3Ljk1YS43LjcgMCAxIDAgMC0xLjRIOWEuNy43IDAgMSAwIDAgMS40aDNaIiBmaWxsPSIjQjJCMkIyIi8+PHBhdGggc3Ryb2tlPSIjRDhEOEQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIyIDE0aDEyIi8+PHBhdGggZD0iTTM5IDEwaDEuNW0xLjUgMGgtMS41bTAgMHY4bTAgMEgzOW0xLjUgMEg0MiIgc3Ryb2tlPSIjOTQ5NDk0IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGRlZnM+PGZpbHRlciBpZD0iYSIgeD0iMyIgeT0iMjIiIHdpZHRoPSI0NSIgaGVpZ2h0PSIyMyIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+PGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPjxmZU9mZnNldCBkeT0iMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjg2MjUgMCAwIDAgMCAwLjg2MjUgMCAwIDAgMCAwLjg2MjUgMCAwIDAgMSAwIi8+PGZlQmxlbmQgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzE3ODU6MTM2ODIiLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTc4NToxMzY4MiIgcmVzdWx0PSJzaGFwZSIvPjwvZmlsdGVyPjwvZGVmcz48L3N2Zz4K'
},
{
name: '开关',
type: 'switch',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iNy41IiB5PSIyMS41IiB3aWR0aD0iMTMiIGhlaWdodD0iNyIgcng9IjMuNSIgZmlsbD0iIzNDOTJEQyIgc3Ryb2tlPSIjM0M5MkRDIi8+PHJlY3QgeD0iMTUiIHk9IjIzIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiByeD0iMiIgZmlsbD0iI2ZmZiIvPjxwYXRoIHN0cm9rZT0iI0Q4RDhEOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yNSAyNWgxNiIvPjwvc3ZnPgo='
},
{
name: '级联选择器',
type: 'switch',
image: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cmVjdCB4PSIuMiIgeT0iMy4yIiB3aWR0aD0iNDcuNiIgaGVpZ2h0PSIxNC42IiByeD0iMy44IiBmaWxsPSIjRkNGQ0ZDIiBzdHJva2U9IiNERURFREUiIHN0cm9rZS13aWR0aD0iMS42Ii8+PHJlY3QgeD0iNCIgeT0iMTUiIHdpZHRoPSI0MyIgaGVpZ2h0PSIyOSIgcng9IjMiIGZpbGw9IiNGQ0ZDRkMiIHN0cm9rZT0iI0RFREVERSIgc3Ryb2tlLXdpZHRoPSIxLjYiLz48cGF0aCBzdHJva2U9IiM3NTc1NzUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNyAxMWgyTTIwIDExaDkiLz48cGF0aCBzdHJva2U9IiNCRUJFQkUiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xNyA5LjEzMSAxMy4xMzEgMTMiLz48cGF0aCBkPSJNMjQgMzRoMjJ2N2EyIDIgMCAwIDEtMiAySDI0di05WiIgZmlsbD0iI0VDRjVGRCIvPjxwYXRoIHN0cm9rZT0iIzc1NzU3NSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xNyAyMGgxOU0yNiAyOWgxNU0yOCAzOWg4Ii8+PHBhdGggZD0ibTE2IDI4IDIuNSAyIDIuNS0yTTggMTlsMi41IDIgMi41LTJNMzcgMTBsMi41IDIgMi41LTIiIHN0cm9rZT0iI0JFQkVCRSIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Im00MCAzOS4zNjEgMS4zNjEgMS4xMzRMNDMuNjMgMzgiIHN0cm9rZT0iIzNDOTJEQyIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNDh2NDhIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4K'
}
]
<script>
import basics from './components'
import draggable from 'vuedraggable'
// import uuid from 'uuid'
export default {
data() {
return {
basics,
groupLeft: {
name: 'itxst',
pull: 'clone',
put: false
},
componentList: [],
groupRight: {
name: 'itxst',
pull: false,
put: true
},
attrs: {
label: '',
regs: []
}
}
},
components: { draggable },
methods: {
handleAdd(e) {
// console.log(uuid)
const newIndex = e.newIndex
// 深拷贝
const newCard = JSON.parse(JSON.stringify(this.componentList[newIndex]))
// newCard.id = uuid()
newCard.orderId = this.cardId
this.cardId = this.cardId + 1
this.$set(this.componentList, newIndex, newCard)
}
}
}
</script>
<template>
<div class="div-form">
<div class="form-header">
<h1>{{ $route.meta.title }}</h1>
<div class="header-btn">
<el-button icon="el-icon-delete" type="text">清空</el-button>
<el-button icon="el-icon-view" type="text">预览</el-button>
<el-button icon="el-icon-check" type="text">保存</el-button>
</div>
</div>
<div class="form-content">
<div class="components">
<ul>
<el-row :gutter="20">
<draggable
tag="ul"
class="cardDrag-list-wrap"
v-model="basics"
:group="groupLeft"
animation="300"
>
<el-col v-for="(it,i) in basics" :key="i" :span="8">
<li>
<img :src="it.image" alt="">
<span>{{ it.name }}</span>
</li>
</el-col>
</draggable>
</el-row>
</ul>
</div>
<div class="preview">
<draggable
tag="ul"
class="cardDrag-list-wrap"
v-model="componentList"
:group="groupRight"
animation="300"
@add="handleAdd"
>
<li
class="cardDrag-list"
v-for="item in componentList"
:key="item.id"
>
2
</li>
</draggable>
</div>
<div class="attrs">
<el-divider>基础信息</el-divider>
<el-form size="small" :model="attrs">
<el-form-item prop="label" label="标签">
<el-input v-model="attrs['label']" placeholder="请输入标签"></el-input>
</el-form-item>
<el-form-item prop="default" label="默认值">
<el-input v-model="attrs['default']" placeholder="请输入默认值"></el-input>
</el-form-item>
<el-form-item prop="field" label="字段名称">
<el-input v-model="attrs['field']" placeholder="请输入字段名称"></el-input>
</el-form-item>
<el-form-item prop="placeholder" label="输入提示">
<el-input v-model="attrs['placeholder']" placeholder="请输入输入提示"></el-input>
</el-form-item>
<el-form-item prop="regs" label="正则校验">
<el-button @click="attrs['regs'].push({reg:''})" type="primary" size="mini">添加正则校验</el-button>
<ul class="regs">
<li v-for="(it,i) in attrs['regs']" :key="i">
<el-input v-model="it['reg']" placeholder="请输入正则"></el-input>
<el-button @click="attrs['regs'].splice(i,1)" type="danger" size="mini"
icon="el-icon-delete"></el-button>
</li>
</ul>
</el-form-item>
<el-form-item prop="max" label="最大长度">
<el-input v-model="attrs['max']" placeholder="请输入最大长度"></el-input>
</el-form-item>
<el-form-item prop="required" label="是否必填">
<el-switch v-model="attrs['required']"></el-switch>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<style lang="scss" scoped>
.div-form {
width: 100%;
height: 100%;
background-color: white;
padding: 5px 0;
display: flex;
flex-direction: column;
.form-content {
display: flex;
justify-content: space-between;
flex: 1;
flex-shrink: 0;
overflow: hidden;
.attrs {
padding: 10px;
box-shadow: -3px 0 6px rgba(48, 65, 86, .35000000000000003);
background: #fff;
width: 370px;
.regs {
display: flex;
flex-direction: column;
li {
display: flex;
margin-bottom: 5px;
.el-button {
margin-left: 10px;
}
}
}
}
.components {
width: 260px;
height: 100%;
box-shadow: 1px 0 6px 3px rgba(48, 65, 86, .35000000000000003);
background: #fff;
padding: 0 15px;
ul {
display: flex;
flex-wrap: wrap;
margin-top: 15px;
li {
cursor: pointer;
background: #f9f9f9;
border-radius: 4px;
border: 1px solid #ebebeb;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 3px;
margin-bottom: 15px;
&:hover {
border: 1px dashed #409eff;
}
img {
width: auto;
height: 45px;
transition: .15s ease-in-out;
}
span {
font-size: 11px;
}
}
}
}
}
.form-header {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #ececec;
padding: 0 15px;
.header-btn {
.el-button {
margin-left: 15px;
}
}
h1 {
font-size: 22px;
font-weight: normal;
}
}
}
</style>
......@@ -131,6 +131,12 @@ const routes = [
component: () => import('@/views/operation/lossOrder/index.vue'),
name: 'system_management',
meta: { title: '丢单管理' }
},
{
path: '/dynamicForm',
component: () => import('@/components/dynamicForms/index.vue'),
name: 'system_management',
meta: { title: '动态表单' }
}
]
}
......
......@@ -264,6 +264,7 @@
>
</span>
</el-dialog>
</div>
</template>
<script>
......@@ -336,11 +337,11 @@ export default {
},
{
label: '应用简述',
key: 'creatorName'
key: 'creatorName1'
},
{
label: '应用服务期',
key: 'creatorName'
key: 'creatorName2'
},
{
label: '创建时间',
......@@ -348,7 +349,7 @@ export default {
},
{
label: '操作',
width: 100,
width: 150,
render: (item) => (
<div>
<span
......@@ -365,6 +366,14 @@ export default {
>
<i class="el-icon-delete"></i>
</span>
<span
class="icon-view"
style="background:yellowgreen"
title="字段配置"
onClick={() => this.fieldSet(item)}
>
<i class="el-icon-c-scale-to-original"></i>
</span>
</div>
)
}
......@@ -372,6 +381,9 @@ export default {
}
},
methods: {
fieldSet(item) {
this.$router.push('/dynamicForm')
},
handleCheckAllChange(val) {
this.checkedCompany = val
? this.releaseList.map((e) => e.id)
......@@ -580,7 +592,8 @@ export default {
}
}
.el-row{
.el-row {
align-items: center;
}
</style>
<script setup>
</script>
<template>
<div class="div-form">
</div>
</template>
<style lang="scss" scoped>
.div-form{
width: 100%;
min-height: 80vh;
}
</style>
......@@ -6,7 +6,7 @@ module.exports = defineConfig({
host: '',
proxy: {
'/api': {
target: 'http://192.168.31.188:8096',
target: 'http://192.168.31.232:8070',
changeOrigin: true
// 路径重写规则,这里将 /api 开头的请求路径替换为空字符串,即去掉 /api 前缀
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment