|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
+ <div :class="prefixCls">
|
|
|
<draggable
|
|
|
tag="ul"
|
|
|
:model-value="list"
|
|
@@ -36,6 +36,7 @@
|
|
|
import draggable from 'vuedraggable';
|
|
|
// import { toRefs } from '@vueuse/core';
|
|
|
import { Icon } from '/@/components/Icon';
|
|
|
+ import { useDesign } from '/@/hooks/web/useDesign';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'CollapseItem',
|
|
@@ -51,6 +52,8 @@
|
|
|
},
|
|
|
},
|
|
|
setup(props, { emit }) {
|
|
|
+ const { prefixCls } = useDesign('form-design-collapse-item');
|
|
|
+
|
|
|
const state = reactive({});
|
|
|
const handleStart = (e: any, list1: IVFormComponent[]) => {
|
|
|
emit('start', list1[e.oldIndex].component);
|
|
@@ -63,44 +66,47 @@
|
|
|
const cloneItem = (one) => {
|
|
|
return props.handleListPush(one);
|
|
|
};
|
|
|
- return { state, handleStart, handleAdd, cloneItem };
|
|
|
+ return { prefixCls, state, handleStart, handleAdd, cloneItem };
|
|
|
},
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
+ @prefix-cls: ~'@{namespace}-form-design-collapse-item';
|
|
|
@import url(../styles/variable.less);
|
|
|
|
|
|
- ul {
|
|
|
- padding: 5px;
|
|
|
- list-style: none;
|
|
|
- display: flex;
|
|
|
- margin-bottom: 0;
|
|
|
- flex-wrap: wrap;
|
|
|
- // background: #efefef;
|
|
|
+ .@{prefix-cls} {
|
|
|
+ ul {
|
|
|
+ padding: 5px;
|
|
|
+ list-style: none;
|
|
|
+ display: flex;
|
|
|
+ margin-bottom: 0;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ // background: #efefef;
|
|
|
|
|
|
- li {
|
|
|
- padding: 8px 12px;
|
|
|
- transition: all 0.3s;
|
|
|
- width: calc(50% - 6px);
|
|
|
- margin: 2.7px;
|
|
|
- height: 36px;
|
|
|
- line-height: 20px;
|
|
|
- cursor: move;
|
|
|
- border: 1px solid @border-color;
|
|
|
- border-radius: 3px;
|
|
|
+ li {
|
|
|
+ padding: 8px 12px;
|
|
|
+ transition: all 0.3s;
|
|
|
+ width: calc(50% - 6px);
|
|
|
+ margin: 2.7px;
|
|
|
+ height: 36px;
|
|
|
+ line-height: 20px;
|
|
|
+ cursor: move;
|
|
|
+ border: 1px solid @border-color;
|
|
|
+ border-radius: 3px;
|
|
|
|
|
|
- &:hover {
|
|
|
- color: @primary-color;
|
|
|
- border: 1px solid @primary-color;
|
|
|
- position: relative;
|
|
|
- // z-index: 1;
|
|
|
- box-shadow: 0 2px 6px @primary-color;
|
|
|
+ &:hover {
|
|
|
+ color: @primary-color;
|
|
|
+ border: 1px solid @primary-color;
|
|
|
+ position: relative;
|
|
|
+ // z-index: 1;
|
|
|
+ box-shadow: 0 2px 6px @primary-color;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- svg {
|
|
|
- display: inline !important;
|
|
|
+ svg {
|
|
|
+ display: inline !important;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|