From 18eb4308e941a265daba8eda2f2ee91115963a3c Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 18 四月 2024 17:06:04 +0800
Subject: [PATCH] 1
---
src/views/dashboard/components/TaskControlModal.vue | 91 +++++++++++++++++++++++++++------------------
1 files changed, 54 insertions(+), 37 deletions(-)
diff --git a/src/views/dashboard/components/TaskControlModal.vue b/src/views/dashboard/components/TaskControlModal.vue
index e5980ab..c4c6db6 100644
--- a/src/views/dashboard/components/TaskControlModal.vue
+++ b/src/views/dashboard/components/TaskControlModal.vue
@@ -7,7 +7,7 @@
<div class="modal-content">
<template v-if="['鍒濆鍖�', '璁℃椂涓�', '鍑嗗鐢熶骇', '涓嬪彂鍙傛暟涓�'].includes(state.value as string)">
<div class="content-title">
- <div class="content-title-item">褰撳墠浠诲姟锛歿{ task?.Procedure.procedure.procedureName || '' }}</div>
+ <div class="content-title-item">褰撳墠浠诲姟锛歿{ task?.Procedure?.procedure?.procedureName || '' }}</div>
<div class="content-title-item">
鐢熶骇鏁伴噺锛�
<div class="leaf-shape">
@@ -26,11 +26,11 @@
<div class="info-item">浜у搧鍚嶇О锛歿{ task.Order.productName || '' }}</div>
<div class="info-item">鏁伴噺锛歿{ task.Order.amount || 0 }}{{ task.Order.unit }}</div>
<div class="info-item">浜よ揣鏃ユ湡锛歿{ task.Order.deliverDate || '' }}</div>
- <div class="info-item">宸ユ椂锛� {{ task.Procedure.procedure.workHours || '' }}</div>
+ <div class="info-item">宸ユ椂锛� {{ task?.Procedure?.procedure?.workHours || '' }}</div>
<div class="info-item">
- 璁″垝鏃堕棿锛� {{ formatDate(task.Procedure.startTime) || '' }}
+ 璁″垝鏃堕棿锛� {{ formatDate(task?.Procedure?.startTime) || '' }}
-
- {{ formatDate(task.Procedure.endTime) }}
+ {{ formatDate(task?.Procedure?.endTime) }}
</div>
<div class="info-item">瀹㈡埛鍚嶇О锛歿{ task.Order.customer || '' }}</div>
@@ -40,6 +40,10 @@
<div class="info-item-two">
<div style="color: #4efefa; font-size: 18px; margin-bottom: 10px; margin-top: 20px">宸ヨ壓鍙傛暟</div>
+ <!-- 鏈幏鍙栧埌宸ヨ壓鍙傛暟, 涓斿綋鍓嶈澶囧厑璁稿湪娌℃湁宸ヨ壓鍙傛暟鐨勬儏鍐典笅鐢熶骇, 鍒欐彁绀�-->
+ <div v-if="!craftParams?.length && currentDeviceAllowNoParams" class="info-item info-item-two">
+ 鏈幏鍙栧埌宸ヨ壓鍙傛暟, 璇锋墜鍔ㄨ缃垨鍦ㄤ簯绔伐鑹烘ā鍨嬩腑涓婁紶
+ </div>
<div v-for="(item, index) in craftParams" :key="index" class="info-item info-item-two">
{{ item.Key }}锛歿{ item.Value || '' }}
</div>
@@ -52,7 +56,7 @@
</template>
<!-- 鍙湁鑾峰彇鍒板伐鑹哄弬鏁版墠鍙互杩涜鎿嶄綔-->
- <template v-if="getCraftParamsTip">
+ <template v-if="getCraftParamsTip && !currentDeviceAllowNoParams">
<div class="content-tips">
<div class="craft-params-error">
<div class="error-icon">
@@ -108,7 +112,7 @@
</template>
</div>
<template #footer>
- <template v-if="getCraftParamsTip">
+ <template v-if="getCraftParamsTip && !currentDeviceAllowNoParams">
<div class="btn">
<BigButton bg-color="#4765c0" @click="closeModal"> 鍏抽棴 </BigButton>
</div>
@@ -153,13 +157,14 @@
import { ref, toRefs, watch } from 'vue'
import BigButton from '@/views/dashboard/components/BigButton.vue'
import { CHANNEL_NAME_MAP } from '@/common/constants'
-import { getCraftParams, sendProcessParams } from '@/api'
+import { procedureUpdate, sendProcessParams } from '@/api'
import { useCountDown } from '@/common/composable'
import { storeToRefs } from 'pinia'
import { useTasksStore } from '@/stores/tasks'
import { createMachine } from 'xstate'
import { useMachine } from '@xstate/vue'
import { CircleCloseFilled, Loading, SuccessFilled } from '@element-plus/icons-vue'
+import { useDevicesStore } from '@/stores/devices'
export interface TaskControlModalProps {
task?: Task
@@ -196,7 +201,8 @@
const craftParams = ref<CraftParam[]>()
// 鑾峰彇宸ヨ壓鍙傛暟缁撴灉淇℃伅
const getCraftParamsTip = ref('')
-
+// 褰撳墠璁惧鑻ユ病鏈夊伐鑹哄弬鏁版槸鍚﹀厑璁镐笅鍙�
+const { currentDeviceAllowNoParams } = storeToRefs(useDevicesStore())
/**
* 鑾峰彇褰撳墠灞曠ず鐨勪换鍔$殑宸ヨ壓鍙傛暟
*/
@@ -204,17 +210,6 @@
if (taskId) {
craftParams.value = []
getCraftParamsTip.value = ''
- getCraftParams({ id: taskId }).then(
- (res) => {
- craftParams.value = res.data.Params ?? []
- getCraftParamsTip.value = ''
- },
- (err) => {
- console.error(err)
- craftParams.value = []
- getCraftParamsTip.value = '鑾峰彇宸ヨ壓鍙傛暟澶辫触锛�'
- }
- )
}
}
@@ -238,7 +233,7 @@
const safeProduce = ref('')
watch(modelData, () => {
if (modelData.value) {
- safeProduce.value = channels?.value?.[task.value.Channel]?.Prompt?.safeProduce ?? ''
+ safeProduce.value = channels?.value?.[task?.value?.Channel ?? 0]?.Prompt?.safeProduce ?? ''
}
})
@@ -334,22 +329,38 @@
function startProduce() {
send('寮�濮嬬敓浜�')
- sendProcessParams({
- procedureId: task.value.Procedure.ID
- })
- .then(
- (res) => {
- deliveryTip.value = '涓嬪彂鎴愬姛'
- send('鎴愬姛')
- countdown3s.startCountdown()
- },
- (err) => {
- console.error(err)
- deliveryTip.value = err.msg ? err.msg : '鎶辨瓑锛屽伐搴忎笅鍙戝け璐ワ紒'
- send('澶辫触')
- }
- )
- .finally(() => {})
+ procedureUpdate({
+ isFinish: false,
+ isProcessing: true,
+ workOrderProcedureID: Number(task!.value!.Procedure.ID)
+ }).then(
+ (res) => {
+ deliveryTip.value = '涓嬪彂鎴愬姛'
+ send('鎴愬姛')
+ countdown3s.startCountdown()
+ },
+ (err) => {
+ console.error(err)
+ deliveryTip.value = err.msg ? err.msg : '鎶辨瓑锛屽伐搴忎笅鍙戝け璐ワ紒'
+ send('澶辫触')
+ }
+ )
+ // sendProcessParams({
+ // procedureId: task!.value!.Procedure.ID
+ // })
+ // .then(
+ // (res) => {
+ // deliveryTip.value = '涓嬪彂鎴愬姛'
+ // send('鎴愬姛')
+ // countdown3s.startCountdown()
+ // },
+ // (err) => {
+ // console.error(err)
+ // deliveryTip.value = err.msg ? err.msg : '鎶辨瓑锛屽伐搴忎笅鍙戝け璐ワ紒'
+ // send('澶辫触')
+ // }
+ // )
+ // .finally(() => {})
}
/**
@@ -441,7 +452,13 @@
.btn {
display: flex;
align-items: center;
- justify-content: space-around;
+ justify-content: center;
+ & > button {
+ margin-right: 20px;
+ &:last-child {
+ margin-right: 0;
+ }
+ }
}
.content-title {
display: flex;
--
Gitblit v1.8.0