|
@@ -19,10 +19,6 @@
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
- <!-- <div class="header">
|
|
|
|
|
- <div class="header-title">{{ props.title }}</div>
|
|
|
|
|
- <el-icon class="header-icon" size="20px" @click="closeDrawer"><Close /></el-icon>
|
|
|
|
|
- </div> -->
|
|
|
|
|
<div class="config-content">
|
|
<div class="config-content">
|
|
|
<div>
|
|
<div>
|
|
|
<div class="uploader-title">缩略图</div>
|
|
<div class="uploader-title">缩略图</div>
|
|
@@ -42,7 +38,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
<div class="upload-config-tip">只支持.jpg格式</div>
|
|
<div class="upload-config-tip">只支持.jpg格式</div>
|
|
|
- <div style="display: flex"
|
|
|
|
|
|
|
+ <div style="display: flex; text-align: center"
|
|
|
><img src="~@/assets/icons/warn.png" style="width: 14px; height: 14px" alt="" />
|
|
><img src="~@/assets/icons/warn.png" style="width: 14px; height: 14px" alt="" />
|
|
|
<div class="upload-notice">上传车间内部情况的视频流截图</div></div
|
|
<div class="upload-notice">上传车间内部情况的视频流截图</div></div
|
|
|
>
|
|
>
|
|
@@ -55,38 +51,48 @@
|
|
|
><div class="uploader-title">填充</div>
|
|
><div class="uploader-title">填充</div>
|
|
|
<el-icon class="refresh-right"><RefreshRight /></el-icon
|
|
<el-icon class="refresh-right"><RefreshRight /></el-icon
|
|
|
></div>
|
|
></div>
|
|
|
- <el-color-picker v-model="color" />
|
|
|
|
|
|
|
+ <div class="color-select"
|
|
|
|
|
+ ><el-color-picker v-model="color" size="small" /><div class="color-content">{{
|
|
|
|
|
+ color
|
|
|
|
|
+ }}</div></div
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
- </div> </el-dialog
|
|
|
|
|
- ></div>
|
|
|
|
|
-
|
|
|
|
|
- <!-- <div v-show="props.visible" class="drawer-box">
|
|
|
|
|
- <div class="header">
|
|
|
|
|
- <div class="header-title">{{ props.title }}</div>
|
|
|
|
|
- <el-icon class="header-icon" size="20px" @click="closeDrawer"><Close /></el-icon>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="config-content">
|
|
|
|
|
- <div>
|
|
|
|
|
- <el-upload
|
|
|
|
|
- class="pic-uploader"
|
|
|
|
|
- list-type="picture-card"
|
|
|
|
|
- :auto-upload="false"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-change="onSelectfile"
|
|
|
|
|
- :before-upload="beforeAvatarUpload"
|
|
|
|
|
- >
|
|
|
|
|
- <img v-if="imageUrl" :src="imageUrl" class="avatar" />
|
|
|
|
|
- <div v-else>
|
|
|
|
|
- <el-icon class="avatar-upload-icon"><Plus /></el-icon>
|
|
|
|
|
- <div class="uploader-config-text">上传照片</div>
|
|
|
|
|
|
|
+ <hr />
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="content-title"
|
|
|
|
|
+ ><div class="uploader-title">文字</div>
|
|
|
|
|
+ <el-icon class="refresh-right"><RefreshRight /></el-icon
|
|
|
|
|
+ ></div>
|
|
|
|
|
+ <div style="display: flex">
|
|
|
|
|
+ <el-select v-model="fontSize" class="fontsize-select" style="width: 50px" size="small">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="(item, index) in fontSizeList"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ :label="item"
|
|
|
|
|
+ :value="item"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <div class="color-fontsize-select"
|
|
|
|
|
+ ><el-color-picker v-model="fontSizeColor" size="small" /><div
|
|
|
|
|
+ class="color-fontSize-content"
|
|
|
|
|
+ >{{ fontSizeColor }}</div
|
|
|
|
|
+ ></div
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <hr />
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="content-title"><div class="uploader-title">布局</div> </div>
|
|
|
|
|
+ <div class="layout-set">
|
|
|
|
|
+ <img src="~@/assets/icons/layout-left.png" alt="" style="margin-right: 19px" />
|
|
|
|
|
+ <img src="~@/assets/icons/layout-right.png" alt="" style="margin-right: 17px" />
|
|
|
|
|
+ <img src="~@/assets/icons/layout-top.png" alt="" />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-upload>
|
|
|
|
|
- <div class="upload-config-tip">只支持.jpg格式</div>
|
|
|
|
|
- <div class="upload-notice">上传缩略图</div>
|
|
|
|
|
- <div class="upload-tips">备注:车间内部情况的视频流截图</div>
|
|
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- </div> -->
|
|
|
|
|
|
|
+ <el-button type="primary" class="save-dialog" @click="saveWorkshopConfig">保存</el-button>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ </div>
|
|
|
</template>
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
import { ref } from 'vue';
|
|
import { ref } from 'vue';
|
|
@@ -99,7 +105,7 @@
|
|
|
// workshopTemplateList: WorkshopModuleType[];
|
|
// workshopTemplateList: WorkshopModuleType[];
|
|
|
}>();
|
|
}>();
|
|
|
|
|
|
|
|
- const emit = defineEmits(['onClose']);
|
|
|
|
|
|
|
+ const emit = defineEmits(['onClose', 'saveConfig']);
|
|
|
|
|
|
|
|
// const emit = defineEmits<{
|
|
// const emit = defineEmits<{
|
|
|
// // (e: 'update:modelValue'): unknown;
|
|
// // (e: 'update:modelValue'): unknown;
|
|
@@ -116,7 +122,7 @@
|
|
|
const onSelectfile = (uploadFile) => {
|
|
const onSelectfile = (uploadFile) => {
|
|
|
imageUrl.value = URL.createObjectURL(uploadFile.raw!);
|
|
imageUrl.value = URL.createObjectURL(uploadFile.raw!);
|
|
|
};
|
|
};
|
|
|
- const handleAvatarSuccess = () => {};
|
|
|
|
|
|
|
+ // const handleAvatarSuccess = () => {};
|
|
|
|
|
|
|
|
const beforeAvatarUpload = (rawFile) => {
|
|
const beforeAvatarUpload = (rawFile) => {
|
|
|
if (rawFile.type !== 'image/jpeg') {
|
|
if (rawFile.type !== 'image/jpeg') {
|
|
@@ -139,6 +145,16 @@
|
|
|
emit('onClose', true);
|
|
emit('onClose', true);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ const fontSize = ref<number>(14);
|
|
|
|
|
+ const fontSizeList = Array.from({ length: 11 }, (_, index) => index + 10);
|
|
|
|
|
+
|
|
|
|
|
+ const fontSizeColor = ref('');
|
|
|
|
|
+
|
|
|
|
|
+ const saveWorkshopConfig = () => {
|
|
|
|
|
+ //这里需要传入数据
|
|
|
|
|
+ emit('saveConfig', {});
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
defineExpose({ openDialog });
|
|
defineExpose({ openDialog });
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
@@ -162,25 +178,6 @@
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // :deep(.el-dialog__headerbtn) {
|
|
|
|
|
- // background: url('~@/assets/icons/slide-right.png') !important;
|
|
|
|
|
- // // z-index: 99999999999;
|
|
|
|
|
- // width: 20px;
|
|
|
|
|
- // height: 20px;
|
|
|
|
|
- // background-size: cover;
|
|
|
|
|
- // }
|
|
|
|
|
- // ::v-deep.el-dialog__headerbtn {
|
|
|
|
|
- // background: url('~@/assets/icons/slide-right.png');
|
|
|
|
|
- // background-size: cover;
|
|
|
|
|
- // // position: absolute;
|
|
|
|
|
- // // right: 0px;
|
|
|
|
|
- // // top: -10px;
|
|
|
|
|
- // // i {
|
|
|
|
|
- // // display: none;
|
|
|
|
|
- // // }
|
|
|
|
|
- // // height: 660px !important;
|
|
|
|
|
- // }
|
|
|
|
|
-
|
|
|
|
|
:deep(.el-dialog__headerbtn .el-dialog__close) {
|
|
:deep(.el-dialog__headerbtn .el-dialog__close) {
|
|
|
display: none;
|
|
display: none;
|
|
|
}
|
|
}
|
|
@@ -275,4 +272,50 @@
|
|
|
margin-left: 4px;
|
|
margin-left: 4px;
|
|
|
margin-top: 2px;
|
|
margin-top: 2px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .color-select {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ margin-left: 34px;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .color-content {
|
|
|
|
|
+ width: 120px;
|
|
|
|
|
+ height: 24px;
|
|
|
|
|
+ line-height: 24px;
|
|
|
|
|
+ padding-left: 10px;
|
|
|
|
|
+ // margin-top: 8px;
|
|
|
|
|
+ background: rgba(0, 0, 0, 0.04);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .fontsize-select {
|
|
|
|
|
+ margin-left: 34px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .color-fontSize-content {
|
|
|
|
|
+ width: 74px;
|
|
|
|
|
+ height: 24px;
|
|
|
|
|
+ line-height: 24px;
|
|
|
|
|
+ padding-left: 10px;
|
|
|
|
|
+ // margin-top: 8px;
|
|
|
|
|
+ background: rgba(0, 0, 0, 0.04);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .color-fontsize-select {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ // margin-left: 34px;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .layout-set {
|
|
|
|
|
+ width: 156px;
|
|
|
|
|
+ height: 24px;
|
|
|
|
|
+ background: #f5f5f5;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ margin-left: 34px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .save-dialog {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ left: 105px;
|
|
|
|
|
+ bottom: 35px;
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|