Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit d5e5bf0

Browse files
authored
Merge pull request #115 from SonicCloudOrg/v1.3.2-beta
V1.3.2 beta合入准备发版
2 parents 5723eb3 + a39295e commit d5e5bf0

19 files changed

+1177
-426
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
█▄▄▄▄▄█▀ ██▄▄██ ██ ███ ▄▄██▄▄ ██▄▄▄▄█
88
▀▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀▀ ▀▀▀▀▀▀ ▀▀▀▀
99
10-
version: 1.3.1-release
10+
version: 1.3.2-beta
1111
author: SonicCloudOrg
1212
-->
1313
<!DOCTYPE html>

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sonic-client-web",
3-
"version": "1.3.1-release",
3+
"version": "1.3.2-beta",
44
"author": "SonicCloudOrg",
55
"scripts": {
66
"dev": "vite",

src/assets/img/default.png

32.8 KB
Loading

src/assets/img/wifi.png

4.91 KB
Loading

src/components/PublicStepUpdate.vue

Lines changed: 58 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -204,27 +204,64 @@ onMounted(() => {
204204
style="padding-bottom: 0px!important;"
205205
:hollow="true"
206206
>
207-
<step-show :step="s"></step-show>
208-
<div style="float: right">
209-
<el-button
210-
class="handle"
211-
circle
212-
size="mini"
213-
>
214-
<el-icon :size="13" style="vertical-align: middle;">
215-
<Rank/>
216-
</el-icon>
217-
</el-button>
218-
<el-button
219-
circle
220-
type="danger"
221-
size="mini"
222-
@click="removeFromPublic(index)"
223-
>
224-
<el-icon :size="13" style="vertical-align: middle;">
225-
<Delete/>
226-
</el-icon>
227-
</el-button>
207+
<el-card v-if="s.conditionType !== 0">
208+
<template #header>
209+
<step-show :step="s"></step-show>
210+
<div style="float: right">
211+
<el-button
212+
class="handle"
213+
circle
214+
size="mini"
215+
>
216+
<el-icon :size="13" style="vertical-align: middle;">
217+
<Rank/>
218+
</el-icon>
219+
</el-button>
220+
<el-button
221+
circle
222+
type="danger"
223+
size="mini"
224+
@click="removeFromPublic(index)"
225+
>
226+
<el-icon :size="13" style="vertical-align: middle;">
227+
<Delete/>
228+
</el-icon>
229+
</el-button>
230+
</div>
231+
</template>
232+
<el-timeline v-if="s['childSteps'].length>0">
233+
<el-timeline-item v-for="(sc,index) in s['childSteps']" :timestamp="'步骤' + (index + 1)"
234+
placement="top"
235+
:type="sc['error']===1?'primary':(sc['error']===2?'warning':'danger')"
236+
style="padding-bottom: 0px!important;"
237+
:hollow="true">
238+
<step-show :step="sc"></step-show>
239+
</el-timeline-item>
240+
</el-timeline>
241+
</el-card>
242+
<div v-else>
243+
<step-show :step="s"></step-show>
244+
<div style="float: right">
245+
<el-button
246+
class="handle"
247+
circle
248+
size="mini"
249+
>
250+
<el-icon :size="13" style="vertical-align: middle;">
251+
<Rank/>
252+
</el-icon>
253+
</el-button>
254+
<el-button
255+
circle
256+
type="danger"
257+
size="mini"
258+
@click="removeFromPublic(index)"
259+
>
260+
<el-icon :size="13" style="vertical-align: middle;">
261+
<Delete/>
262+
</el-icon>
263+
</el-button>
264+
</div>
228265
</div>
229266
</el-timeline-item>
230267
</VueDraggableNext>

src/components/StepDraggable.vue

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
<script setup>
2+
import {VueDraggableNext} from 'vue-draggable-next';
3+
import StepShow from './StepShow.vue'
4+
import {Delete, Rank, Edit, DocumentAdd} from "@element-plus/icons";
5+
6+
const props = defineProps({
7+
steps: Object,
8+
})
9+
const emit = defineEmits(['sortStep', 'editStep', 'deleteStep', 'setParent', 'addStep'])
10+
const sortStep = (e,d,s) => {
11+
if(d&&s){
12+
emit('sortStep', e, d, s)
13+
}else {
14+
let startId = null;
15+
let endId = null;
16+
let direction = "";
17+
if (e.moved.newIndex > e.moved.oldIndex) {
18+
direction = "down";
19+
endId = props.steps[e.moved.newIndex].sort;
20+
startId = props.steps[e.moved.newIndex - 1].sort;
21+
} else {
22+
direction = "up";
23+
startId = props.steps[e.moved.newIndex].sort;
24+
endId = props.steps[e.moved.newIndex + 1].sort;
25+
}
26+
emit('sortStep', direction, endId, startId)
27+
}
28+
}
29+
const setParent = (id) => {
30+
emit('setParent', id)
31+
}
32+
const editStep = (id, pId) => {
33+
setParent(pId)
34+
emit('editStep', id)
35+
}
36+
const addStep = (pId) => {
37+
setParent(pId)
38+
emit('addStep')
39+
}
40+
const deleteStep = id => {
41+
emit('deleteStep', id)
42+
}
43+
</script>
44+
45+
<template>
46+
<VueDraggableNext tag="div"
47+
v-model="steps"
48+
handle=".handle"
49+
animation="200"
50+
forceFallback="true"
51+
fallbackClass="shake"
52+
ghostClass="g-host"
53+
chosenClass="move"
54+
@change="sortStep">
55+
<el-timeline-item
56+
v-for="(s, index) in steps"
57+
:key="index"
58+
:timestamp="'步骤' + (index + 1)"
59+
placement="top"
60+
:type="s['error']===1?'primary':(s['error']===2?'warning':'danger')"
61+
style="padding-bottom: 0px!important;"
62+
:hollow="true"
63+
>
64+
<el-card v-if="s.conditionType !== 0">
65+
<template #header>
66+
<step-show :step="s"></step-show>
67+
<div style="float: right">
68+
<el-button
69+
circle
70+
type="primary"
71+
size="mini"
72+
@click="addStep(s.id)"
73+
>
74+
<el-icon :size="13" style="vertical-align: middle;">
75+
<DocumentAdd/>
76+
</el-icon>
77+
</el-button>
78+
<el-button
79+
circle
80+
type="primary"
81+
size="mini"
82+
@click="editStep(s.id,s.parentId)"
83+
>
84+
<el-icon :size="13" style="vertical-align: middle;">
85+
<Edit/>
86+
</el-icon>
87+
</el-button>
88+
<el-button
89+
class="handle"
90+
circle
91+
size="mini"
92+
>
93+
<el-icon :size="13" style="vertical-align: middle;">
94+
<Rank/>
95+
</el-icon>
96+
</el-button>
97+
<el-popconfirm
98+
style="margin-left: 10px"
99+
confirmButtonText="确认"
100+
cancelButtonText="取消"
101+
@confirm="deleteStep(s.id)"
102+
icon="el-icon-warning"
103+
iconColor="red"
104+
title="确定移除该步骤吗?"
105+
>
106+
<template #reference>
107+
<el-button
108+
circle
109+
type="danger"
110+
size="mini"
111+
>
112+
<el-icon :size="13" style="vertical-align: middle;">
113+
<Delete/>
114+
</el-icon>
115+
</el-button>
116+
</template>
117+
</el-popconfirm>
118+
</div>
119+
</template>
120+
<StepDraggable :steps="s['childSteps']" @setParent="setParent" @addStep="addStep" @sortStep="sortStep"
121+
@editStep="editStep" @deleteStep="deleteStep"/>
122+
</el-card>
123+
<div v-else>
124+
<step-show :step="s"></step-show>
125+
<div style="float: right">
126+
<el-button
127+
circle
128+
type="primary"
129+
size="mini"
130+
@click="editStep(s.id,0)"
131+
>
132+
<el-icon :size="13" style="vertical-align: middle;">
133+
<Edit/>
134+
</el-icon>
135+
</el-button>
136+
<el-button
137+
class="handle"
138+
circle
139+
size="mini"
140+
>
141+
<el-icon :size="13" style="vertical-align: middle;">
142+
<Rank/>
143+
</el-icon>
144+
</el-button>
145+
<el-popconfirm
146+
style="margin-left: 10px"
147+
confirmButtonText="确认"
148+
cancelButtonText="取消"
149+
@confirm="deleteStep(s.id)"
150+
icon="el-icon-warning"
151+
iconColor="red"
152+
title="确定移除该步骤吗?"
153+
>
154+
<template #reference>
155+
<el-button
156+
circle
157+
type="danger"
158+
size="mini"
159+
>
160+
<el-icon :size="13" style="vertical-align: middle;">
161+
<Delete/>
162+
</el-icon>
163+
</el-button>
164+
</template>
165+
</el-popconfirm>
166+
</div>
167+
</div>
168+
</el-timeline-item>
169+
</VueDraggableNext>
170+
</template>

0 commit comments

Comments
 (0)