vue-wiring-diagram 1.1.22 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -93
- package/dist/style.css +1 -1
- package/dist/vue-wiring-diagram.es.js +5563 -5234
- package/dist/vue-wiring-diagram.umd.js +27 -27
- package/package.json +1 -1
- package/packages/components/Shortcuts.vue +31 -31
- package/packages/components/baseShape.js +62 -62
- package/packages/components/common.js +105 -105
- package/packages/components/edge-control/arrow-line.vue +292 -292
- package/packages/components/edge-control/condition.vue +110 -110
- package/packages/components/edge-control/default-line.vue +156 -156
- package/packages/components/edge-control/index.vue +94 -94
- package/packages/components/edge-control/pipe-line.vue +354 -354
- package/packages/components/editor/index.vue +590 -590
- package/packages/components/enums.js +80 -80
- package/packages/components/graph-control/index.vue +121 -121
- package/packages/components/image-control/group-form.vue +114 -114
- package/packages/components/image-control/image-condition.vue +117 -0
- package/packages/components/image-control/image-form.vue +184 -184
- package/packages/components/image-control/image-management.vue +213 -213
- package/packages/components/image-control/index.vue +290 -124
- package/packages/components/portsOptions.js +21 -21
- package/packages/components/preview/index.vue +399 -355
- package/packages/components/settings.js +262 -262
- package/packages/components/text-control/index.vue +457 -457
- package/packages/components/tools.js +256 -256
- package/packages/http.js +104 -104
- package/packages/index.js +43 -43
- package/packages/styles/animation.scss +27 -27
- package/packages/styles/dialog.scss +4 -4
- package/packages/styles/editor.scss +165 -165
- package/packages/styles/elPath.scss +257 -257
|
@@ -1,213 +1,213 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @Author: HuaYJ
|
|
3
|
-
* @Date: 2025/2/6 15:35
|
|
4
|
-
*/
|
|
5
|
-
<template>
|
|
6
|
-
<div class="form-container">
|
|
7
|
-
<el-button type="primary" @click="addGroup" size="small">新增图片分组</el-button>
|
|
8
|
-
<el-table :data="record.items" border height="500">
|
|
9
|
-
<el-table-column type="expand">
|
|
10
|
-
<template #default="props">
|
|
11
|
-
<div style="padding: 0 10px;display: flex;flex-direction: column;gap: 5px;align-items: flex-start">
|
|
12
|
-
<el-button type="primary" size="small" @click="addPicture(props.row.id)">新增图片</el-button>
|
|
13
|
-
<el-table :data="props.row.pictureList" border size="small">
|
|
14
|
-
<el-table-column label="名称" prop="imageName" align="center"></el-table-column>
|
|
15
|
-
<el-table-column label="图片" prop="imageUrl" align="center">
|
|
16
|
-
<template #default="scope">
|
|
17
|
-
<img :src="isSunOs ? scope.row.imageUrl : setSunCloudImageUrl(scope.row.imageUrl)"
|
|
18
|
-
alt="" style="width: 64px; height: 64px;">
|
|
19
|
-
</template>
|
|
20
|
-
</el-table-column>
|
|
21
|
-
<el-table-column label="排序" prop="sort" align="center"></el-table-column>
|
|
22
|
-
<el-table-column label="是否显示" prop="isShow" align="center">
|
|
23
|
-
<template #default="scope">
|
|
24
|
-
{{ scope.row.isShow === 1 ? '是' : '否' }}
|
|
25
|
-
</template>
|
|
26
|
-
</el-table-column>
|
|
27
|
-
<el-table-column label="操作" align="center">
|
|
28
|
-
<template #default="scope">
|
|
29
|
-
<el-button type="primary" size="small" @click="editPicture(scope.row)">编辑
|
|
30
|
-
</el-button>
|
|
31
|
-
<el-button type="danger" size="small" @click="deletePicture(scope.row.id)">删除
|
|
32
|
-
</el-button>
|
|
33
|
-
</template>
|
|
34
|
-
</el-table-column>
|
|
35
|
-
</el-table>
|
|
36
|
-
</div>
|
|
37
|
-
</template>
|
|
38
|
-
</el-table-column>
|
|
39
|
-
<el-table-column label="分组名称" prop="groupName" align="center"></el-table-column>
|
|
40
|
-
<el-table-column label="排序" prop="sort" align="center"></el-table-column>
|
|
41
|
-
<el-table-column label="是否显示" prop="isShow" align="center">
|
|
42
|
-
<template #default="scope">
|
|
43
|
-
{{ scope.row.isShow === 1 ? '是' : '否' }}
|
|
44
|
-
</template>
|
|
45
|
-
</el-table-column>
|
|
46
|
-
<el-table-column label="操作" align="center">
|
|
47
|
-
<template #default="scope">
|
|
48
|
-
<el-button type="primary" size="small" @click="editGroup(scope.row)">编辑</el-button>
|
|
49
|
-
<el-button type="danger" size="small" @click="deleteGroup(scope.row.id)">删除</el-button>
|
|
50
|
-
</template>
|
|
51
|
-
</el-table-column>
|
|
52
|
-
</el-table>
|
|
53
|
-
<el-dialog v-model="groupDialog.show" :title="groupDialog.title" width="300" :close-on-click-modal="false"
|
|
54
|
-
:close-on-press-escape="false">
|
|
55
|
-
<group-form v-if="groupDialog.show" :payload="groupDialog.payload" @close="closeDialog"/>
|
|
56
|
-
</el-dialog>
|
|
57
|
-
<el-dialog v-model="imageDialog.show" :title="imageDialog.title" width="300" :close-on-click-modal="false"
|
|
58
|
-
:close-on-press-escape="false">
|
|
59
|
-
<image-form v-if="imageDialog.show" :payload="imageDialog.payload" @close="closeDialog"/>
|
|
60
|
-
</el-dialog>
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
|
|
64
|
-
<script setup>
|
|
65
|
-
import {onMounted, reactive} from "vue";
|
|
66
|
-
import groupForm from "./group-form.vue";
|
|
67
|
-
import imageForm from "./image-form.vue";
|
|
68
|
-
import {get, del, instance, post} from "../../http.js";
|
|
69
|
-
import {ElMessage, ElMessageBox} from "element-plus";
|
|
70
|
-
import {isSunOs} from "packages";
|
|
71
|
-
import {setSunCloudImageUrl} from "packages/components/tools.js";
|
|
72
|
-
|
|
73
|
-
// 数据集
|
|
74
|
-
const record = reactive({
|
|
75
|
-
items: []
|
|
76
|
-
})
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* 加载图片分组
|
|
80
|
-
*/
|
|
81
|
-
const loadImageRecord = () => {
|
|
82
|
-
get('/custom/groupList').then(res => {
|
|
83
|
-
record.items = res.data
|
|
84
|
-
})
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// 分组表单
|
|
88
|
-
const groupDialog = reactive({
|
|
89
|
-
show: false,
|
|
90
|
-
title: '新增图片分组',
|
|
91
|
-
payload: null,
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* 添加图片分组
|
|
96
|
-
*/
|
|
97
|
-
const addGroup = () => {
|
|
98
|
-
groupDialog.show = true
|
|
99
|
-
groupDialog.title = '新增图片分组'
|
|
100
|
-
groupDialog.payload = null
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* 编辑图片分组
|
|
105
|
-
* @param row
|
|
106
|
-
*/
|
|
107
|
-
const editGroup = (row) => {
|
|
108
|
-
groupDialog.show = true
|
|
109
|
-
groupDialog.title = '编辑图片分组'
|
|
110
|
-
groupDialog.payload = {
|
|
111
|
-
id: row.id,
|
|
112
|
-
groupName: row.groupName,
|
|
113
|
-
sort: row.sort,
|
|
114
|
-
isShow: row.isShow
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* 删除图片分组
|
|
120
|
-
* @param id
|
|
121
|
-
*/
|
|
122
|
-
const deleteGroup = (id) => {
|
|
123
|
-
const method = isSunOs ? get : del
|
|
124
|
-
method('/custom/removeGroup/' + id).then(res => {
|
|
125
|
-
if (res.code === 200) {
|
|
126
|
-
ElMessage.success('删除成功')
|
|
127
|
-
loadImageRecord()
|
|
128
|
-
} else {
|
|
129
|
-
ElMessage.error(res.msg || '删除失败')
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// 图片表单
|
|
135
|
-
const imageDialog = reactive({
|
|
136
|
-
show: false,
|
|
137
|
-
title: '新增图片',
|
|
138
|
-
payload: null,
|
|
139
|
-
})
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* 添加图片
|
|
143
|
-
* @param id
|
|
144
|
-
*/
|
|
145
|
-
const addPicture = (id) => {
|
|
146
|
-
imageDialog.show = true
|
|
147
|
-
imageDialog.title = '新增图片'
|
|
148
|
-
imageDialog.payload = {
|
|
149
|
-
groupId: id
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* 编辑图片
|
|
155
|
-
* @param row
|
|
156
|
-
*/
|
|
157
|
-
const editPicture = (row) => {
|
|
158
|
-
imageDialog.show = true
|
|
159
|
-
imageDialog.title = '编辑图片'
|
|
160
|
-
imageDialog.payload = {
|
|
161
|
-
id: row.id,
|
|
162
|
-
groupId: row.groupId,
|
|
163
|
-
imageName: row.imageName,
|
|
164
|
-
sort: row.sort,
|
|
165
|
-
isShow: row.isShow,
|
|
166
|
-
imageUrl: row.imageUrl
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* 删除图片
|
|
172
|
-
* @param id
|
|
173
|
-
*/
|
|
174
|
-
const deletePicture = (id) => {
|
|
175
|
-
const method = isSunOs ? get : del
|
|
176
|
-
method('/custom/removePicture/' + id).then(res => {
|
|
177
|
-
if (res.code === 200) {
|
|
178
|
-
ElMessage.success('删除成功')
|
|
179
|
-
loadImageRecord()
|
|
180
|
-
} else {
|
|
181
|
-
ElMessage.error(res.msg || '删除失败')
|
|
182
|
-
}
|
|
183
|
-
})
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* 关闭弹窗
|
|
188
|
-
* @param action
|
|
189
|
-
*/
|
|
190
|
-
const closeDialog = (action) => {
|
|
191
|
-
groupDialog.show = false
|
|
192
|
-
imageDialog.show = false
|
|
193
|
-
if (action) {
|
|
194
|
-
loadImageRecord()
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
onMounted(() => {
|
|
199
|
-
loadImageRecord()
|
|
200
|
-
})
|
|
201
|
-
</script>
|
|
202
|
-
|
|
203
|
-
<style scoped lang="scss">
|
|
204
|
-
@use '/packages/styles/elPath.scss';
|
|
205
|
-
|
|
206
|
-
.form-container {
|
|
207
|
-
display: flex;
|
|
208
|
-
flex-direction: column;
|
|
209
|
-
align-items: flex-start;
|
|
210
|
-
gap: 10px;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
</style>
|
|
1
|
+
/**
|
|
2
|
+
* @Author: HuaYJ
|
|
3
|
+
* @Date: 2025/2/6 15:35
|
|
4
|
+
*/
|
|
5
|
+
<template>
|
|
6
|
+
<div class="form-container">
|
|
7
|
+
<el-button type="primary" @click="addGroup" size="small">新增图片分组</el-button>
|
|
8
|
+
<el-table :data="record.items" border height="500">
|
|
9
|
+
<el-table-column type="expand">
|
|
10
|
+
<template #default="props">
|
|
11
|
+
<div style="padding: 0 10px;display: flex;flex-direction: column;gap: 5px;align-items: flex-start">
|
|
12
|
+
<el-button type="primary" size="small" @click="addPicture(props.row.id)">新增图片</el-button>
|
|
13
|
+
<el-table :data="props.row.pictureList" border size="small">
|
|
14
|
+
<el-table-column label="名称" prop="imageName" align="center"></el-table-column>
|
|
15
|
+
<el-table-column label="图片" prop="imageUrl" align="center">
|
|
16
|
+
<template #default="scope">
|
|
17
|
+
<img :src="isSunOs ? scope.row.imageUrl : setSunCloudImageUrl(scope.row.imageUrl)"
|
|
18
|
+
alt="" style="width: 64px; height: 64px;">
|
|
19
|
+
</template>
|
|
20
|
+
</el-table-column>
|
|
21
|
+
<el-table-column label="排序" prop="sort" align="center"></el-table-column>
|
|
22
|
+
<el-table-column label="是否显示" prop="isShow" align="center">
|
|
23
|
+
<template #default="scope">
|
|
24
|
+
{{ scope.row.isShow === 1 ? '是' : '否' }}
|
|
25
|
+
</template>
|
|
26
|
+
</el-table-column>
|
|
27
|
+
<el-table-column label="操作" align="center">
|
|
28
|
+
<template #default="scope">
|
|
29
|
+
<el-button type="primary" size="small" @click="editPicture(scope.row)">编辑
|
|
30
|
+
</el-button>
|
|
31
|
+
<el-button type="danger" size="small" @click="deletePicture(scope.row.id)">删除
|
|
32
|
+
</el-button>
|
|
33
|
+
</template>
|
|
34
|
+
</el-table-column>
|
|
35
|
+
</el-table>
|
|
36
|
+
</div>
|
|
37
|
+
</template>
|
|
38
|
+
</el-table-column>
|
|
39
|
+
<el-table-column label="分组名称" prop="groupName" align="center"></el-table-column>
|
|
40
|
+
<el-table-column label="排序" prop="sort" align="center"></el-table-column>
|
|
41
|
+
<el-table-column label="是否显示" prop="isShow" align="center">
|
|
42
|
+
<template #default="scope">
|
|
43
|
+
{{ scope.row.isShow === 1 ? '是' : '否' }}
|
|
44
|
+
</template>
|
|
45
|
+
</el-table-column>
|
|
46
|
+
<el-table-column label="操作" align="center">
|
|
47
|
+
<template #default="scope">
|
|
48
|
+
<el-button type="primary" size="small" @click="editGroup(scope.row)">编辑</el-button>
|
|
49
|
+
<el-button type="danger" size="small" @click="deleteGroup(scope.row.id)">删除</el-button>
|
|
50
|
+
</template>
|
|
51
|
+
</el-table-column>
|
|
52
|
+
</el-table>
|
|
53
|
+
<el-dialog v-model="groupDialog.show" :title="groupDialog.title" width="300" :close-on-click-modal="false"
|
|
54
|
+
:close-on-press-escape="false">
|
|
55
|
+
<group-form v-if="groupDialog.show" :payload="groupDialog.payload" @close="closeDialog"/>
|
|
56
|
+
</el-dialog>
|
|
57
|
+
<el-dialog v-model="imageDialog.show" :title="imageDialog.title" width="300" :close-on-click-modal="false"
|
|
58
|
+
:close-on-press-escape="false">
|
|
59
|
+
<image-form v-if="imageDialog.show" :payload="imageDialog.payload" @close="closeDialog"/>
|
|
60
|
+
</el-dialog>
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
|
|
64
|
+
<script setup>
|
|
65
|
+
import {onMounted, reactive} from "vue";
|
|
66
|
+
import groupForm from "./group-form.vue";
|
|
67
|
+
import imageForm from "./image-form.vue";
|
|
68
|
+
import {get, del, instance, post} from "../../http.js";
|
|
69
|
+
import {ElMessage, ElMessageBox} from "element-plus";
|
|
70
|
+
import {isSunOs} from "packages";
|
|
71
|
+
import {setSunCloudImageUrl} from "packages/components/tools.js";
|
|
72
|
+
|
|
73
|
+
// 数据集
|
|
74
|
+
const record = reactive({
|
|
75
|
+
items: []
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 加载图片分组
|
|
80
|
+
*/
|
|
81
|
+
const loadImageRecord = () => {
|
|
82
|
+
get('/custom/groupList').then(res => {
|
|
83
|
+
record.items = res.data
|
|
84
|
+
})
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// 分组表单
|
|
88
|
+
const groupDialog = reactive({
|
|
89
|
+
show: false,
|
|
90
|
+
title: '新增图片分组',
|
|
91
|
+
payload: null,
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 添加图片分组
|
|
96
|
+
*/
|
|
97
|
+
const addGroup = () => {
|
|
98
|
+
groupDialog.show = true
|
|
99
|
+
groupDialog.title = '新增图片分组'
|
|
100
|
+
groupDialog.payload = null
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 编辑图片分组
|
|
105
|
+
* @param row
|
|
106
|
+
*/
|
|
107
|
+
const editGroup = (row) => {
|
|
108
|
+
groupDialog.show = true
|
|
109
|
+
groupDialog.title = '编辑图片分组'
|
|
110
|
+
groupDialog.payload = {
|
|
111
|
+
id: row.id,
|
|
112
|
+
groupName: row.groupName,
|
|
113
|
+
sort: row.sort,
|
|
114
|
+
isShow: row.isShow
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* 删除图片分组
|
|
120
|
+
* @param id
|
|
121
|
+
*/
|
|
122
|
+
const deleteGroup = (id) => {
|
|
123
|
+
const method = isSunOs ? get : del
|
|
124
|
+
method('/custom/removeGroup/' + id).then(res => {
|
|
125
|
+
if (res.code === 200) {
|
|
126
|
+
ElMessage.success('删除成功')
|
|
127
|
+
loadImageRecord()
|
|
128
|
+
} else {
|
|
129
|
+
ElMessage.error(res.msg || '删除失败')
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// 图片表单
|
|
135
|
+
const imageDialog = reactive({
|
|
136
|
+
show: false,
|
|
137
|
+
title: '新增图片',
|
|
138
|
+
payload: null,
|
|
139
|
+
})
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* 添加图片
|
|
143
|
+
* @param id
|
|
144
|
+
*/
|
|
145
|
+
const addPicture = (id) => {
|
|
146
|
+
imageDialog.show = true
|
|
147
|
+
imageDialog.title = '新增图片'
|
|
148
|
+
imageDialog.payload = {
|
|
149
|
+
groupId: id
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 编辑图片
|
|
155
|
+
* @param row
|
|
156
|
+
*/
|
|
157
|
+
const editPicture = (row) => {
|
|
158
|
+
imageDialog.show = true
|
|
159
|
+
imageDialog.title = '编辑图片'
|
|
160
|
+
imageDialog.payload = {
|
|
161
|
+
id: row.id,
|
|
162
|
+
groupId: row.groupId,
|
|
163
|
+
imageName: row.imageName,
|
|
164
|
+
sort: row.sort,
|
|
165
|
+
isShow: row.isShow,
|
|
166
|
+
imageUrl: row.imageUrl
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* 删除图片
|
|
172
|
+
* @param id
|
|
173
|
+
*/
|
|
174
|
+
const deletePicture = (id) => {
|
|
175
|
+
const method = isSunOs ? get : del
|
|
176
|
+
method('/custom/removePicture/' + id).then(res => {
|
|
177
|
+
if (res.code === 200) {
|
|
178
|
+
ElMessage.success('删除成功')
|
|
179
|
+
loadImageRecord()
|
|
180
|
+
} else {
|
|
181
|
+
ElMessage.error(res.msg || '删除失败')
|
|
182
|
+
}
|
|
183
|
+
})
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* 关闭弹窗
|
|
188
|
+
* @param action
|
|
189
|
+
*/
|
|
190
|
+
const closeDialog = (action) => {
|
|
191
|
+
groupDialog.show = false
|
|
192
|
+
imageDialog.show = false
|
|
193
|
+
if (action) {
|
|
194
|
+
loadImageRecord()
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
onMounted(() => {
|
|
199
|
+
loadImageRecord()
|
|
200
|
+
})
|
|
201
|
+
</script>
|
|
202
|
+
|
|
203
|
+
<style scoped lang="scss">
|
|
204
|
+
@use '/packages/styles/elPath.scss';
|
|
205
|
+
|
|
206
|
+
.form-container {
|
|
207
|
+
display: flex;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
align-items: flex-start;
|
|
210
|
+
gap: 10px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
</style>
|