From 61dedbff9e9965eda9c91be5cc0e64f0db7db22e Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期一, 06 十一月 2023 17:46:30 +0800 Subject: [PATCH] feat: 过长文本截断,调整日期组件防止换行 --- src/views/dashboard/components/ProcessInfo.vue | 125 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 125 insertions(+), 0 deletions(-) diff --git a/src/views/dashboard/components/ProcessInfo.vue b/src/views/dashboard/components/ProcessInfo.vue new file mode 100644 index 0000000..95ba326 --- /dev/null +++ b/src/views/dashboard/components/ProcessInfo.vue @@ -0,0 +1,125 @@ +<template> + <div class="process-info"> + <div class="item-l-bng"> + <img src="~@/assets/images/process-model.png" /> + </div> + <div class="item-r" @click="onDetailClick"> + <div class="item-r-t font_weight">{{ craftModel.number }}</div> + <div class="item-r-b">浜у搧: {{ craftModel.product }}</div> + <div class="item-r-b">宸ヨ壓: {{ craftModel.procedure }}</div> + </div> + <div v-if="craftModel.isUpdate" class="tip-r"> + <img src="~@/assets/images/process-tip.png" /> + </div> + <div v-if="craftModel.isUpdate" class="tip-current">褰撳墠浣跨敤</div> + <div class="btn"> + <el-button type="primary" @click="onUpdateClick"> 鏇存柊宸ヨ壓 </el-button> + </div> + </div> +</template> +<script setup lang="ts"> +import { toRefs } from 'vue' +import type { CraftModel } from '@/api/craftModel' +const props = defineProps<{ + craftModel: CraftModel +}>() +const { craftModel } = toRefs(props) + +const emit = defineEmits<{ + update: [craftModel: CraftModel] + detail: [craftModel: CraftModel] +}>() + +function onDetailClick() { + emit('detail', craftModel.value) +} +function onUpdateClick() { + emit('update', craftModel.value) +} +</script> + +<style scoped lang="scss"> +$status-running: #f76c0f; +$status-done: #2c5dbb82; +$status-ready: #00ff00f0; +.font_weight { + font-weight: 600; +} +.process-info { + width: calc(50% - 35px); + height: 110px; + padding: 23px 10px 10px; + background: $status-done; + border-radius: 8px; + //float: left; + overflow: hidden; + font-size: 15px; + position: relative; + margin-bottom: 30px; + + &:nth-of-type(odd) { + margin-right: 30px; + } + + .item-l-bng { + width: 40px; + float: left; + margin-right: 20px; + + img { + width: 100%; + } + } + + .item-r { + width: calc(100% - 60px); + float: left; + line-height: 25px; + color: #fff; + font-size: 16px; + cursor: pointer; + + .item-r-t { + font-size: 16px; + } + + .item-r-b { + font-size: 14px; + } + } + + .tip-r { + position: absolute; + top: 5px; + right: 15px; + width: 20px; + + img { + width: 100%; + } + } + + .tip-current { + background: $status-ready; + color: #fff; + position: absolute; + top: 0px; + left: 70px; + width: auto; + padding: 2px 15px; + font-size: 12px; + border-radius: 0px 0px 6px 6px; + } + + .btn { + width: 100px; + position: absolute; + right: 0px; + bottom: 10px; + .el-button--primary { + background: $status-running; + border: 0 !important; + } + } +} +</style> -- Gitblit v1.8.0