From 90c84f7521d4979b2e40965e7255e196d07d9e75 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周二, 13 5月 2025 11:21:27 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/ChangeToPlace.tsx |  166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 166 insertions(+), 0 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/ChangeToPlace.tsx b/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/ChangeToPlace.tsx
new file mode 100644
index 0000000..aaac6f4
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/ChangeToPlace.tsx
@@ -0,0 +1,166 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsTaskDrawer } from '../Models/WmsTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const ChangeToPlace = (props: any, ctx?: any) => {
+  const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 娣诲姞鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+      rules: [{ required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }],
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      disabled: disabled,
+      rules: [{ required: true, message: '璧峰搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }],
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '鐩爣搴撲綅',
+      prop: 'toPlace',
+      el: 'input',
+      // disabled: disabled,
+      rules: [{ required: true, message: '鐩爣搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }],
+      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+    },
+    {
+      label: '鍨嬪彿',
+      prop: 'mutableParam1',
+      el: 'input',
+      disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1',
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      if (checkIsEqualObject()) {
+        visible.value = false
+        done && done()
+      } else {
+        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+          .then(() => {
+            onConfirm()
+          })
+          .catch(() => {
+            visible.value = false
+            done && done()
+          })
+      }
+    }
+  }
+  /**
+   * 淇濆瓨
+   */
+  const onConfirm = async () => {
+    await formRef.value?.validate()
+    const data = {
+      taskNo: formData.value.taskNo,
+      sourcePlace: formData.value.sourcePlace,
+      toPlace: formData.value.toPlace,
+      mutableParam1: formData.value.mutableParam1,
+    }
+    const id = current.value.id
+    await wmsTaskDrawer.changeTaskToPlace(data)
+    ElMessage.success('淇敼鎴愬姛')
+    ctx.emit('confirm')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpenChange = async () => {
+    if (current.value) {
+      const res = await wmsTaskDrawer.getWmsTaskDetail(current.value)
+
+      formData.value = {
+        taskNo: res.taskNo,
+        sourcePlace: res.sourcePlace,
+        toPlace: res.toPlace,
+        mutableParam1: res.mutableParam1,
+        id: res.id,
+      }
+      if (res.taskStatus != 1) {
+        disabled.value = true
+      }
+      updateCheckData()
+    } else {
+      ElMessage.warning('璇峰厛閫夋嫨涓�鏉℃暟鎹�')
+      visible.value = false
+      return
+    }
+  }
+
+  watch(() => current.value, onOpenChange)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpenChange,
+    onClose,
+    onConfirm,
+  }
+}

--
Gitblit v1.9.3