From 37d497d48aa64bb56ae05cc7fe9bf16ff85e3592 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 03 5月 2025 06:38:14 +0800
Subject: [PATCH] 222
---
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.tsx | 102 ++++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts | 44 +++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts | 18 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx | 311 +++++++++++++++++++++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx | 64 +++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss | 3
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx | 20 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scss | 78 ++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts | 58 ++++
9 files changed, 698 insertions(+), 0 deletions(-)
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scss"
new file mode 100644
index 0000000..a0393bb
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.module.scss"
@@ -0,0 +1,78 @@
+.informationDrawerPosition {
+ position: relative;
+}
+.informationDrawer {
+ background: linear-gradient(180deg, #dee4ff 0%, #ffffff 40%, #ffffff 100%);
+ box-shadow: 0px -4px 30px 1px rgba(0, 0, 0, 0.16);
+
+ border-radius: 6px 6px 0px 0px;
+ opacity: 1;
+ border: 1px solid #f0f3fd;
+
+ @keyframes iconFrames {
+ 0% {
+ opacity: 1;
+ }
+ 25% {
+ opacity: 0.66;
+ }
+ 50% {
+ opacity: 0.33;
+ }
+ 75% {
+ opacity: 0.66;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+ }
+ .iconPosition {
+ position: absolute;
+ top: 38px;
+ right: 111px;
+ user-select: none;
+ -webkit-user-drag: none;
+ animation: iconFrames 2s infinite linear;
+ }
+ :global(.cs-drawer__header) {
+ padding-top: 36px;
+ .cs-drawer__close-btn {
+ margin-top: -16px;
+ font-size: 16px;
+ }
+
+ > span {
+ font-size: 18px;
+ font-family: Source Han Sans CN, Source Han Sans CN;
+ font-weight: bold;
+ color: #464e54;
+ line-height: 0px;
+ }
+ }
+ :global(.cs-drawer__close-btn) {
+ margin-top: -16px;
+ font-size: 16px;
+ }
+ :global(.cs-drawer__body) {
+ padding: 30px;
+ padding-top: 13px;
+ }
+}
+
+.modal {
+ width: var(--drawer-width);
+ left: calc(100% - var(--drawer-width)) !important;
+}
+
+.csDialogFooter {
+ padding: 0 18px;
+ .csBaseBtn {
+ width: 98px;
+ height: 26px;
+ }
+ .dialogBtn {
+ background: #efeded;
+ color: #666666;
+ }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.tsx"
new file mode 100644
index 0000000..29201fd
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/components/BaseQueryDrawer/BaseQueryDrawer.tsx"
@@ -0,0 +1,102 @@
+import { computed, defineComponent, onMounted, ref } from 'vue'
+import styles from './BaseQueryDrawer.module.scss'
+import Icon from '../Icon/Icon'
+//@ts-ignore
+export default defineComponent<{
+ [key: string]: any
+}>({
+ // @ts-ignore
+ name: 'BaseDrawer',
+ props: {
+ // 閬僵鏄惁鍙偣鍑�
+ clickable: {
+ type: Boolean,
+ default: false,
+ },
+ title: {
+ type: String,
+ default: '',
+ },
+ width: {
+ type: String,
+ default: '',
+ },
+ // modelValue: {
+ // type: Boolean,
+ // default: false,
+ // },
+ },
+ emits: ['close', 'confirm', 'update:modelValue', 'open', 'beforeClose'],
+ setup(props: any, { emit, slots, attrs }: any) {
+ // const size = computed(() => {
+ // if (attrs.size.includes('px')) {
+ // return attrs.size
+ // }
+ // })
+
+ // const model = computed(() => {
+ // if (attrs.model.includes('')) {
+ // return attrs.model
+ // }
+ // })
+
+ return () => {
+ return (
+ <div
+ class={styles.drawContent}
+ //@ts-ignore
+ // style={props.clickable ? { '--drawer-width': size.value } : {}}
+ >
+ <el-drawer
+ // modal-class={props.clickable ? styles.modal : ''}
+ class={{
+ [styles.informationDrawer]: true,
+ // [styles.informationDrawerPosition]: props.clickable,
+ }}
+ onOpen={() => emit('open')}
+ onClose={() => emit('close')}
+ v-slots={{
+ footer() {
+ return (
+ <div class={styles.csDialogFooter}>
+ <el-button
+ onClick={() => emit('close')}
+ type="info"
+ plain
+ class={{
+ [styles.dialogBtn]: true,
+ [styles.csBaseBtn]: true,
+ }}
+ >
+ 鍏抽棴
+ </el-button>
+ <el-button
+ onClick={() => emit('confirm')}
+ type="primary"
+ class={{
+ [styles.csBaseBtn]: true,
+ }}
+ >
+ 鏌ヨ
+ </el-button>
+ </div>
+ )
+ },
+ }}
+ {...attrs}
+ title={props.title}
+ size={props.width || attrs.size}
+ >
+ <Icon
+ width={167}
+ height={54}
+ class={styles.iconPosition}
+ icon="drawer_bg"
+ />
+ {slots.default?.()}
+ </el-drawer>
+ </div>
+ )
+ }
+ },
+})
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
index 3684341..1279e69 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
@@ -51,6 +51,12 @@
title: '',
isAdd: false,
})
+ const dialogConfigForQuery = reactive({
+ visible: false,
+ title: '',
+ isAdd: false,
+ })
+
const dialogSettingConfig = reactive({
visible: false,
@@ -149,6 +155,16 @@
sort.value = params.totalCount + 1
}
+ //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+ const onAdvancedQuery = () => {
+ const params = tableRef.value?.getPaginationParams()
+ current.value = null
+ dialogConfigForQuery.visible = true
+ dialogConfigForQuery.isAdd = true
+ dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+ sort.value = params.totalCount + 1
+ }
+
const onConfirmWmsMaterial = async () => {
dialogConfig.visible = false
if (dialogConfig.isAdd) {
@@ -236,6 +252,7 @@
dataSource,
contextMenu,
dialogConfig,
+ dialogConfigForQuery,
dialogSettingConfig,
tableRef,
current,
@@ -254,5 +271,6 @@
onConfirmWmsMaterial,
onCheck,
onAddWmsMaterial,
+ onAdvancedQuery
}
}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
new file mode 100644
index 0000000..9fa83da
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
@@ -0,0 +1,311 @@
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialQueryDrawer } from '../Models/WmsMaterialQueryDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsMaterialQueryDrawer = (props: any, ctx?: any) => {
+ const WmsMaterialQueryDrawer = injectModel<WmsMaterialQueryDrawer>('WmsMaterialQueryDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ 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 visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 娣诲姞鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '鐗╂枡缂栫爜',
+ prop: 'materialCode',
+ el: 'input',
+ disabled: disabled,
+ placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
+ },
+ {
+ label: '鐗╂枡鍚嶇О',
+ prop: 'materialName',
+ el: 'input',
+ placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+ rules: [{ required: true, message: '鐗╂枡鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '閲囪喘绫诲瀷',
+ prop: 'purchaseType',
+ el: 'select',
+ placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
+ options: [],
+ rules: [{ required: true, message: '璇烽�夋嫨閲囪喘绫诲瀷', trigger: 'change' }],
+ },
+ {
+ label: '鐗╂枡绫诲瀷',
+ prop: 'materialType',
+ el: 'select',
+ placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
+ options: [],
+ 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: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ placeholder: '璇疯緭鍏ュ寰�',
+ step: 0.01,
+ precision: 2,
+ },
+ {
+ label: '澹佸帤(mm)',
+ prop: 'wallThickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ placeholder: '璇疯緭鍏ュ鍘�',
+ step: 0.01,
+ precision: 2,
+ },
+ {
+ label: '鏉愯川',
+ prop: 'materialQuality',
+ el: 'input',
+ placeholder: '璇疯緭鍏ユ潗璐�(濡�: 304涓嶉攬閽�)',
+ },
+ {
+ label: '闀垮害(m)',
+ prop: 'length',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ placeholder: '璇疯緭鍏ラ暱搴�',
+ step: 0.1,
+ precision: 2,
+ },
+ {
+ label: '鏄惁涓绘敮绠�',
+ prop: 'isMainBranch',
+ el: 'select',
+ options: [],
+ },
+ {
+ 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,
+ factory: formData.value.factory,
+ certification: formData.value.certification,
+ remark: formData.value.remark,
+ }
+ if (!current.value) {
+ await WmsMaterialQueryDrawer.addWmsMaterial(data)
+ } else {
+ const id = current.value.id
+ await WmsMaterialQueryDrawer.updateWmsMaterial(id, data)
+ }
+ ElMessage.success('淇濆瓨鎴愬姛')
+ ctx.emit('confirm')
+ }
+
+ 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 onOpen = async () => {
+ const materialTypeEnum = await WmsMaterialQueryDrawer.getWmsEnumData({
+ EnumName: 'MaterialTypeEnum',
+ })
+ updateFormItemOptions('materialType', materialTypeEnum)
+
+ const purchaseTypeEnum = await WmsMaterialQueryDrawer.getWmsEnumData({
+ EnumName: 'PurchaseTypeEnum',
+ })
+ updateFormItemOptions('purchaseType', purchaseTypeEnum)
+
+ const yesOrNoTypeEnum = await WmsMaterialQueryDrawer.getWmsEnumData({
+ EnumName: 'YesNoEnum',
+ })
+ updateFormItemOptions('isMainBranch', yesOrNoTypeEnum)
+
+ if (current.value) {
+ const res = await WmsMaterialQueryDrawer.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,
+ factory: res.factory,
+ certification: res.certification,
+ remark: res.remark,
+ id: res.id,
+ }
+ disabled.value = true
+ updateCheckData()
+ } else {
+ formData.value = {}
+
+ disabled.value = false
+ updateCheckData()
+ }
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirm,
+ }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts"
new file mode 100644
index 0000000..a31f0fa
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts"
@@ -0,0 +1,58 @@
+import { Base } from '@/libs/Base/Base'
+const request = Base.request
+
+/**
+ * 娣诲姞
+ * @returns
+ */
+export const addWmsMaterial = (data: any) => {
+ return request.post('/api/v1/hIAWms/wmsMaterial', data)
+}
+
+/**
+ * 鑾峰彇璇︽儏
+ * @returns
+ */
+export const getWmsMaterial = (id: string) => {
+ return request.get(`/api/v1/hIAWms/wmsMaterial/${id}`)
+}
+
+/**
+ * 鏇存柊
+ * @returns
+ */
+export const updateWmsMaterial = (id: string, data: Record<string, any>) => {
+ return request.put(`/api/v1/hIAWms/wmsMaterial/${id}`, data)
+}
+
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+ return request.post('/api/v1/hIAWms/WmsEnum', data)
+}
+
+/**
+ * 鑾峰彇鐗╂枡鍩虹鍒楄〃
+ * @returns
+ */
+export const getWmsDataList = (data: any) => {
+ return request.post('/api/v1/hIAWms/wmsmaterial/page', data)
+}
+
+/**
+ * 鑾峰彇浠撳簱鍒楄〃
+ * @returns
+ */
+export const getStoreDataList = () => {
+ return request.get('/api/v1/hIAWms/WmsEnum/StoreList')
+}
+
+/**
+ * 鑾峰彇搴撳尯鍒楄〃
+ * @returns
+ */
+export const getAreaAreaDataList = () => {
+ return request.get('/api/v1/hIAWms/WmsEnum/AreaList')
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts"
new file mode 100644
index 0000000..9818421
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts"
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+ addWmsMaterial,
+ getWmsMaterial,
+ updateWmsMaterial,
+ getWmsEnumData,
+} from './Service/WmsMaterialQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsMaterialQueryDrawer extends Base<{ [key: string]: any }> {
+ constructor() {
+ super({
+ data: [],
+ wmsMaterial: {},
+ })
+ }
+
+ /**
+ * 娣诲姞
+ * @param data
+ */
+ async addWmsMaterial(data: Record<string, any>) {
+ return addWmsMaterial(data)
+ }
+ /**
+ * 鏇存柊
+ * @param data
+ */
+ async updateWmsMaterial(id: string, data: Record<string, any>) {
+ return updateWmsMaterial(id, data)
+ }
+
+ /**
+ * 鑾峰彇璇︽儏
+ */
+ async getWmsMaterialDetail(current: any, id?: string) {
+ return getWmsMaterial(id || current?.id)
+ }
+
+ // 鑾峰彇鏋氫妇鍊�
+ async getWmsEnumData(data: Record<string, any>) {
+ return getWmsEnumData(data)
+ }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss"
new file mode 100644
index 0000000..98607dd
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss"
@@ -0,0 +1,3 @@
+.drawer {
+ width: 800px;
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
new file mode 100644
index 0000000..14fba7a
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
@@ -0,0 +1,64 @@
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+*/
+import { SetupContext, defineComponent } from 'vue'
+import BaseDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsMaterialQueryDrawer.module.scss'
+import { useWmsMaterialQueryDrawer } from '../../../../Controllers/WmsMaterialQueryDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+ [key: string]: any
+}>({
+ name: '寮圭獥',
+ props: {
+ modelValue: {
+ type: Boolean,
+ default: false,
+ },
+ title: {
+ type: String,
+ default: '',
+ },
+ row: {
+ type: Object,
+ },
+ sort: {
+ type: Number,
+ default: 0,
+ },
+ },
+ emits: ['update:modelValue', 'close', 'submit', 'confirm'],
+ setup(props: Record<string, any>, ctx: SetupContext) {
+ const {
+ onClose,
+ onConfirm,
+ onOpen,
+ formRef,
+ visible,
+ formItems,
+ formData,
+ } = useWmsMaterialQueryDrawer(props, ctx)
+ return () => (
+ <BaseDrawer
+ class={styles.drawer}
+ size="800px"
+ title={props.title || '楂樼骇鏌ヨ'}
+ v-model={visible.value}
+ close-on-click-modal={true}
+ onConfirm={onConfirm}
+ onOpen={onOpen}
+ before-close={onClose}
+ onClose={onClose}
+ >
+ <DyForm
+ ref={formRef}
+ formData={formData.value}
+ labelWidth="106px"
+ formItemProps={formItems}
+ ></DyForm>
+ </BaseDrawer>
+ )
+ },
+})
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
index a2e2c16..455d508 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
@@ -5,6 +5,7 @@
import { useWmsMaterial } from '../../../Controllers/WmsMaterial'
import IconButton from '@/components/IconButton/IconButton'
import WmsMaterialDrawer from '../Dialog/WmsMaterialDrawer/WmsMaterialDrawer'
+import WmsMaterialQueryDrawer from '../Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer'
import Search from '@/components/Search/Search'
import { columns } from './Config'
import TdButton from '@/components/TdButton/TdButton'
@@ -43,6 +44,7 @@
dataSource,
contextMenu,
dialogConfig,
+ dialogConfigForQuery,
tableRef,
current,
search,
@@ -54,6 +56,7 @@
onConfirmWmsMaterial,
onCheck,
onAddWmsMaterial,
+ onAdvancedQuery,
onExport,
openDetail,
onSuccess,
@@ -198,6 +201,14 @@
sort={sort.value}
onConfirm={onConfirmWmsMaterial}
/>
+ {/* 楂樼骇鏌ヨ */}
+ <WmsMaterialQueryDrawer
+ v-model={dialogConfigForQuery.visible}
+ title={dialogConfigForQuery.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirm={onConfirmWmsMaterial}
+ />
{/* 鏂板鐨勬煡璇㈣〃鍗� */}
<ElForm
@@ -299,6 +310,15 @@
娣诲姞
</IconButton>
<el-divider direction="vertical" />
+ <IconButton
+ v-permission="wmsMaterial-add"
+ icon="add-p"
+ onClick={onAdvancedQuery}
+ type="primary"
+ >
+ 楂樼骇鏌ヨ
+ </IconButton>
+ <el-divider direction="vertical" />
<el-upload
v-permission="wmsMaterial-import"
name="file"
--
Gitblit v1.9.3