From e944a85425e1404f894e28be4735979d69466305 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期一, 06 十一月 2023 17:43:15 +0800 Subject: [PATCH] 更新工艺接口联调,工艺详情的数据对接,工艺列表的更新状态和工艺详情的更新状态保持一致的逻辑 --- src/views/dashboard/components/ProcessInfo.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/views/dashboard/components/ProcessInfo.vue b/src/views/dashboard/components/ProcessInfo.vue index 65ab682..fcc3045 100644 --- a/src/views/dashboard/components/ProcessInfo.vue +++ b/src/views/dashboard/components/ProcessInfo.vue @@ -11,30 +11,57 @@ <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 v-if="craftModel.number == task?.Procedure?.processModelNumber" class="tip-current">褰撳墠浣跨敤</div> <div class="btn"> - <el-button type="primary" class="color_organge" @click="onUpdateClick"> 鏇存柊宸ヨ壓 </el-button> + <!-- :disabled="craftModel.isUpdate?false:true" --> + <el-button type="primary" class="color_organge" @click="onUpdateClick"> + <el-icon v-if="loading" color="#fff" :size="16" class="refresh-top-icon"> + <Loading /> + </el-icon> + 鏇存柊宸ヨ壓 + </el-button> </div> </div> </template> <script setup lang="ts"> -import { toRefs } from 'vue' +import { toRefs, ref, watch } from 'vue' +import { Loading } from '@element-plus/icons-vue' import type { CraftModel } from '@/api/craftModel' +import type { Task } from '@/api/task' const props = defineProps<{ craftModel: CraftModel + activeArr: Array + task?: Task }>() -const { craftModel } = toRefs(props) +const { craftModel, task, activeArr } = toRefs(props) const emit = defineEmits<{ update: [craftModel: CraftModel] detail: [craftModel: CraftModel] }>() - +const loading = ref(false) +watch(activeArr.value, () => { + // 寮圭獥鏄剧ず鏃惰幏鍙栧伐鑹哄弬鏁� + if (activeArr.value) { + getLoading() + } +}) +function getLoading() { + for (let i in activeArr.value) { + if (activeArr.value[i] == craftModel.value.number) { + loading.value = true + break + } + } +} function onDetailClick() { - emit('detail', craftModel) + emit('detail', craftModel.value) } function onUpdateClick() { - emit('update', craftModel) + if (loading.value) { + return true + } + emit('update', craftModel.value) } </script> @@ -42,12 +69,13 @@ $status-running: #f76c0f; $status-done: #2c5dbb82; $status-ready: #00ff00f0; +$status-disabled: #7b95d3; .font_weight { font-weight: 600; } .process-info { width: calc(50% - 35px); - height: 110px; + height: 140px; padding: 23px 10px 10px; background: $status-done; border-radius: 8px; @@ -69,6 +97,11 @@ img { width: 100%; } + } + .refresh-top-icon { + display: flex; + align-items: center; + color: #fff; } .item-r { @@ -114,12 +147,18 @@ .btn { width: 100px; position: absolute; - right: 0px; + right: 10px; bottom: 10px; .el-button--primary { background: $status-running; border: 0 !important; } + .el-button.is-disabled, + .el-button.is-disabled:focus, + .el-button.is-disabled:hover { + color: #fff !important; + background: $status-disabled; + } } } </style> -- Gitblit v1.8.0