From 9eaf758e97367dbc2eca2bdbdc92ab39e08be9d0 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周四, 15 5月 2025 13:12:17 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
---
HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeQueryDrawer.tsx | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 298 insertions(+), 0 deletions(-)
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeQueryDrawer.tsx
new file mode 100644
index 0000000..fb5bc71
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialTypeQueryDrawer.tsx
@@ -0,0 +1,298 @@
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialTypeDrawer } from '../Models/WmsMaterialTypeDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+ FILTER_MODE_OPTIONS_STRING,
+ FILTER_MODE_OPTIONS_NUM,
+ FILTER_MODE_OPTIONS_BOOL
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
+import {
+ BOOLEAN_OPTIONS
+} from '@/utils/commonOptionConstants';
+
+export const useWmsMaterialTypeQueryDrawer = (props: any, ctx?: any) => {
+ const wmsMaterialTypeDrawer = injectModel<WmsMaterialTypeDrawer>('WmsMaterialTypeDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ 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 inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const datePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="daterange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const dateTimePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetimerange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 楂樼骇鏌ヨ鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '绫诲瀷鎻忚堪',
+ prop: 'materialTypeDesc',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ被鍨嬫弿杩�',
+ highSelectAttrs:{
+ prop: 'materialTypeDesc_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '绫诲瀷缂栫爜',
+ prop: 'materialTypeCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ被鍨嬬紪鐮�',
+ highSelectAttrs:{
+ prop: 'materialTypeCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鍒涘缓鏃堕棿',
+ prop: 'creationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '鏈�鍚庝慨鏀规椂闂�',
+ prop: 'lastModificationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ渶鍚庝慨鏀规椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '',
+ prop: 'creatorName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏�',
+ highSelectAttrs:{
+ prop: 'creatorName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '',
+ prop: 'lastModifierName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏�',
+ highSelectAttrs:{
+ prop: 'lastModifierName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ highSelectAttrs:{
+ prop: 'remark_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+ const commonGetFormData=()=>{
+ const data = {
+ materialTypeDesc: formData.value.materialTypeDesc || '',
+materialTypeDesc_FilterMode: formData.value.materialTypeDesc_FilterMode || '',
+materialTypeCode: formData.value.materialTypeCode || '',
+materialTypeCode_FilterMode: formData.value.materialTypeCode_FilterMode || '',
+creationTime: formData.value.creationTime || '',
+lastModificationTime: formData.value.lastModificationTime || '',
+creatorName: formData.value.creatorName || '',
+creatorName_FilterMode: formData.value.creatorName_FilterMode || '',
+lastModifierName: formData.value.lastModifierName || '',
+lastModifierName_FilterMode: formData.value.lastModifierName_FilterMode || '',
+remark: formData.value.remark || '',
+remark_FilterMode: formData.value.remark_FilterMode || '',
+ }
+ return data;
+ }
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ visible.value = false
+ const data =commonGetFormData();
+ ctx.emit('close', data)
+ }
+ }
+ /**
+ * 纭鏌ヨ
+ */
+ const onConfirmQuery = async () => {
+ const data =commonGetFormData();
+ ctx.emit('confirmQuery', data)
+ }
+ /**
+ * 閲嶇疆鍏叡select鏌ヨ
+ */
+ const onResetForHighSelect = async () => {
+ formData.value.materialTypeDesc_FilterMode = 1
+formData.value.materialTypeCode_FilterMode = 1
+formData.value.creatorName_FilterMode = 1
+formData.value.lastModifierName_FilterMode = 1
+formData.value.remark_FilterMode = 1
+ }
+ /**
+ * 閲嶇疆鏌ヨ
+ */
+ const onReset = async () => {
+ formData.value = {}
+ onResetForHighSelect();//閲嶇疆鍏叡select鏌ヨ
+ formData.value.materialTypeDesc = ''
+formData.value.materialTypeCode = ''
+formData.value.creationTime = ''
+formData.value.lastModificationTime = ''
+formData.value.creatorName = ''
+formData.value.lastModifierName = ''
+formData.value.remark = ''
+ //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+ ctx.emit('restQuery');
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ const updateFormItemOptions = (propName: string, enumData: any[]) => {
+ const item = formItems.find((item) => item.prop === propName)
+ if (item && enumData) {
+ item.options = enumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ }
+ }
+ /**
+ * 閫氱敤鏌ヨ鏋氫妇
+ */
+ const commonQueryEnumForFrom = async () => {
+
+ }
+ commonQueryEnumForFrom()
+ onResetForHighSelect();//閲嶇疆鍏叡select鏌ヨ
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ disabled.value = false
+ updateCheckData()
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirmQuery,
+ onReset,
+ }
+}
--
Gitblit v1.9.3