From 3500a34fc17827eef64ca0b7e4b2a3121b24ab5b Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周二, 29 4月 2025 17:33:29 +0800
Subject: [PATCH] 去掉生成的代码
---
HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 251 insertions(+), 0 deletions(-)
diff --git a/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
new file mode 100644
index 0000000..377b8fb
--- /dev/null
+++ b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
@@ -0,0 +1,251 @@
+import { ref, onMounted, reactive, computed, Ref, watch } from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialDrawer } from '../Models/WmsMaterialDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsMaterialDrawer = (props: any, ctx?: any) => {
+ const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('wmsMaterialDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ const initiateData: Ref<Record<string, any>> = ref({})
+ const formData = ref<Record<string, any>>({})
+ // ref
+ const formRef = ref()
+
+ 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: 'materialCode',
+ el: 'input',
+ placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
+ rules: [{ required: true, message: '鐗╂枡缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鐗╂枡鍚嶇О',
+ prop: 'materialName',
+ el: 'input',
+ placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+ rules: [{ required: true, message: '鐗╂枡鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '閲囪喘绫诲瀷',
+ prop: 'purchaseType',
+ el: 'select',
+ placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
+ options: [
+ { label: '绫诲瀷1', value: 1 },
+ { label: '绫诲瀷2', value: 2 },
+ // Add all enum values
+ ],
+ rules: [{ required: true, message: '璇烽�夋嫨閲囪喘绫诲瀷', trigger: 'change' }],
+ },
+ {
+ label: '鐗╂枡绫诲瀷',
+ prop: 'materialType',
+ el: 'select',
+ placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
+ options: [
+ { label: '绫诲瀷A', value: 1 },
+ { label: '绫诲瀷B', value: 2 },
+ // Add all enum values
+ ],
+ rules: [{ required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷', trigger: 'change' }],
+ },
+ {
+ label: '涓诲崟浣�',
+ prop: 'primaryUnit',
+ el: 'input',
+ placeholder: '璇疯緭鍏ヤ富鍗曚綅(濡�: kg, m, 涓�)',
+ },
+ {
+ label: '瑙勬牸/鏍囧噯',
+ prop: 'standard',
+ el: 'input',
+ placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯(濡�: GB/T 8163-2018)',
+ },
+ {
+ label: '澶栧緞(mm)',
+ prop: 'outerDiameter',
+ el: 'input-number',
+ placeholder: '璇疯緭鍏ュ寰�',
+ step: 0.01,
+ precision: 2,
+ },
+ {
+ label: '澹佸帤(mm)',
+ prop: 'wallThickness',
+ el: 'input-number',
+ placeholder: '璇疯緭鍏ュ鍘�',
+ step: 0.01,
+ precision: 2,
+ },
+ {
+ label: '鏉愯川',
+ prop: 'materialQuality',
+ el: 'input',
+ placeholder: '璇疯緭鍏ユ潗璐�(濡�: 304涓嶉攬閽�)',
+ },
+ {
+ label: '闀垮害(m)',
+ prop: 'length',
+ el: 'input-number',
+ placeholder: '璇疯緭鍏ラ暱搴�',
+ step: 0.1,
+ precision: 2,
+ },
+ {
+ label: '鏄惁涓绘敮绠�',
+ prop: 'isMainBranch',
+ el: 'select',
+ options: [
+ { label: '鏄�', value: 1 },
+ { label: '鍚�', value: 2 },
+ ],
+ },
+ {
+ label: '鐢熶骇宸ュ巶',
+ prop: 'factory',
+ el: 'input',
+ placeholder: '璇疯緭鍏ョ敓浜у伐鍘�',
+ },
+ {
+ label: '璇佷功缂栧彿',
+ prop: 'certification',
+ el: 'input',
+ placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�',
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ type: 'textarea',
+ placeholder: '璇疯緭鍏ュ娉�',
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ 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 = {
+ materialCode: formData.value.materialCode,
+ materialName: formData.value.materialName,
+ purchaseType: formData.value.purchaseType,
+ materialType: formData.value.materialType,
+ primaryUnit: formData.value.primaryUnit,
+ standard: formData.value.standard,
+ outerDiameter: formData.value.outerDiameter,
+ wallThickness: formData.value.wallThickness,
+ materialQuality: formData.value.materialQuality,
+ length: formData.value.length,
+ isMainBranch: formData.value.isMainBranch === 1,
+ factory: formData.value.factory,
+ certification: formData.value.certification,
+ remark: formData.value.remark,
+ }
+ if (!current.value) {
+ await wmsMaterialDrawer.addWmsMaterial(data)
+ } else {
+ const id = current.value.id
+ await wmsMaterialDrawer.updateWmsMaterial(id, data)
+ }
+ ElMessage.success('淇濆瓨鎴愬姛')
+ ctx.emit('confirm')
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ if (current.value) {
+ const res = await wmsMaterialDrawer.getWmsMaterialDetail(current.value)
+
+ formData.value = {
+ materialCode: res.materialCode,
+ materialName: res.materialName,
+ purchaseType: res.purchaseType,
+ materialType: res.materialType,
+ primaryUnit: res.primaryUnit,
+ standard: res.standard,
+ outerDiameter: res.outerDiameter,
+ wallThickness: res.wallThickness,
+ materialQuality: res.materialQuality,
+ length: res.length,
+ isMainBranch: res.isMainBranch ? 1 : 2,
+ factory: res.factory,
+ certification: res.certification,
+ remark: res.remark,
+ id: res.id,
+ }
+ updateCheckData()
+ } else {
+ formData.value = {}
+ updateCheckData()
+ }
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirm,
+ }
+}
--
Gitblit v1.9.3