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