|  |  |  | 
|---|
|  |  |  | import { computed, defineComponent, onMounted, reactive, ref } from 'vue' | 
|---|
|  |  |  | import type { Ref } from 'vue' | 
|---|
|  |  |  | import BaseTable from '@/components/Table/Table' | 
|---|
|  |  |  | import styles from './WmsMaterial.module.scss' | 
|---|
|  |  |  | 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' | 
|---|
|  |  |  | import { vPermission } from '@/libs/Permission/Permission' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getWmsEnumData, | 
|---|
|  |  |  | getWmsDataList, | 
|---|
|  |  |  | } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | ElInput, | 
|---|
|  |  |  | ElSelect, | 
|---|
|  |  |  | ElOption, | 
|---|
|  |  |  | ElDatePicker, | 
|---|
|  |  |  | ElForm, | 
|---|
|  |  |  | ElFormItem, | 
|---|
|  |  |  | } from 'element-plus' | 
|---|
|  |  |  | import { injectModel } from '@/libs/Provider/Provider' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | interface RenderTableType { | 
|---|
|  |  |  | url?: string | 
|---|
|  |  |  | dataSource: Ref<any[]> | 
|---|
|  |  |  | isDrag?: boolean | 
|---|
|  |  |  | isChecked?: boolean | 
|---|
|  |  |  | isHidePagination?: boolean | 
|---|
|  |  |  | params?: Record<string, any> | 
|---|
|  |  |  | autoHeight?: boolean | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default defineComponent({ | 
|---|
|  |  |  | name: 'WmsMaterial', | 
|---|
|  |  |  | directives: { | 
|---|
|  |  |  | permission: vPermission, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | setup(props, ctx) { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | dataSource, | 
|---|
|  |  |  | contextMenu, | 
|---|
|  |  |  | dialogConfig, | 
|---|
|  |  |  | dialogConfigForQuery, | 
|---|
|  |  |  | tableRef, | 
|---|
|  |  |  | current, | 
|---|
|  |  |  | search, | 
|---|
|  |  |  | sort, | 
|---|
|  |  |  | headers, | 
|---|
|  |  |  | onError, | 
|---|
|  |  |  | onSearch, | 
|---|
|  |  |  | onRowClick, | 
|---|
|  |  |  | onConfirmWmsMaterial, | 
|---|
|  |  |  | onCheck, | 
|---|
|  |  |  | onAddWmsMaterial, | 
|---|
|  |  |  | onAdvancedQuery, | 
|---|
|  |  |  | onExport, | 
|---|
|  |  |  | openDetail, | 
|---|
|  |  |  | onSuccess, | 
|---|
|  |  |  | onBeforeUpload, | 
|---|
|  |  |  | } = useWmsMaterial(props, ctx) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //å®ä¹é«çº§æ¥è¯¢å¼ç¨ | 
|---|
|  |  |  | const wmsMaterialQueryDrawerRef=ref(null); | 
|---|
|  |  |  | // æ°å¢çæ¥è¯¢æ¡ä»¶ | 
|---|
|  |  |  | const queryForm = ref({ | 
|---|
|  |  |  | filter: '', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import { computed, defineComponent, onMounted, reactive, ref } from 'vue' | 
|---|
|  |  |  | import type { Ref } from 'vue' | 
|---|
|  |  |  | import BaseTable from '@/components/Table/Table' | 
|---|
|  |  |  | import styles from './WmsMaterial.module.scss' | 
|---|
|  |  |  | 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' | 
|---|
|  |  |  | import { vPermission } from '@/libs/Permission/Permission' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getWmsEnumData | 
|---|
|  |  |  | } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | ElInput, | 
|---|
|  |  |  | ElSelect, | 
|---|
|  |  |  | ElOption, | 
|---|
|  |  |  | ElDatePicker, | 
|---|
|  |  |  | ElForm, | 
|---|
|  |  |  | ElFormItem, | 
|---|
|  |  |  | } from 'element-plus' | 
|---|
|  |  |  | import { injectModel } from '@/libs/Provider/Provider' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | interface RenderTableType { | 
|---|
|  |  |  | url?: string | 
|---|
|  |  |  | dataSource: Ref<any[]> | 
|---|
|  |  |  | isDrag?: boolean | 
|---|
|  |  |  | isChecked?: boolean | 
|---|
|  |  |  | isHidePagination?: boolean | 
|---|
|  |  |  | params?: Record<string, any> | 
|---|
|  |  |  | autoHeight?: boolean | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default defineComponent({ | 
|---|
|  |  |  | name: 'WmsMaterial', | 
|---|
|  |  |  | directives: { | 
|---|
|  |  |  | permission: vPermission, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | setup(props, ctx) { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | dataSource, | 
|---|
|  |  |  | contextMenu, | 
|---|
|  |  |  | dialogConfig, | 
|---|
|  |  |  | dialogConfigForQuery, | 
|---|
|  |  |  | tableRef, | 
|---|
|  |  |  | current, | 
|---|
|  |  |  | search, | 
|---|
|  |  |  | sort, | 
|---|
|  |  |  | headers, | 
|---|
|  |  |  | onError, | 
|---|
|  |  |  | onSearch, | 
|---|
|  |  |  | onRowClick, | 
|---|
|  |  |  | onConfirmWmsMaterial, | 
|---|
|  |  |  | onCheck, | 
|---|
|  |  |  | onAddWmsMaterial, | 
|---|
|  |  |  | onAdvancedQuery, | 
|---|
|  |  |  | onExport, | 
|---|
|  |  |  | openDetail, | 
|---|
|  |  |  | onSuccess, | 
|---|
|  |  |  | onBeforeUpload, | 
|---|
|  |  |  | } = useWmsMaterial(props, ctx) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //å®ä¹é«çº§æ¥è¯¢å¼ç¨ | 
|---|
|  |  |  | const wmsMaterialQueryDrawerRef=ref(null); | 
|---|
|  |  |  | // æ°å¢çæ¥è¯¢æ¡ä»¶ | 
|---|
|  |  |  | const queryForm = ref({ | 
|---|
|  |  |  | searchVal: '', | 
|---|
|  |  |  | str_searchFormInputAttrs:[] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | //å®ä¹æ´ä½æ¨¡ç³æ¥è¯¢çåæ°ç»(注æï¼å¿
须大å°åè·å端çå®ä½ç±»å±æ§åä¸è´ï¼å¦åä¼å¯¼è´å¹é
ä¸å¯¹çé®é¢) | 
|---|
|  |  |  | const _searchFormInputAttrs = ref([ | 
|---|
|  |  |  | 'MaterialCode', 'MaterialName', 'Remark' | 
|---|
|  |  |  | ]); | 
|---|
|  |  |  | const searchFormInputAttrs_Placeholder = ref('请è¾å
¥ç©æç¼ç /ç©æåç§°/夿³¨'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¨ææä¸¾é项 | 
|---|
|  |  |  | const enumOptions = reactive({ | 
|---|
|  |  |  | purchaseType: [] as Array<{label: string; value: any }>, | 
|---|
|  |  |  | materialType: [] as Array<{label: string; value: any }>, | 
|---|
|  |  |  | isMainBranch: [] as Array<{label: string; value: any }>, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åæä¸¾æ°æ® | 
|---|
|  |  |  | const fetchEnumData = async () => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | const purchaseTypeEnumData = await getWmsEnumData({ | 
|---|
|  |  |  | EnumName: 'PurchaseTypeEnum', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | enumOptions.purchaseType = purchaseTypeEnumData.map((item) => ({ | 
|---|
|  |  |  | label: item.description, | 
|---|
|  |  |  | value: item.value, | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | const materialTypeEnumData = await getWmsEnumData({ | 
|---|
|  |  |  | EnumName: 'MaterialTypeEnum', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | enumOptions.materialType = materialTypeEnumData.map((item) => ({ | 
|---|
|  |  |  | label: item.description, | 
|---|
|  |  |  | value: item.value, | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | const yesNoEnumData = await getWmsEnumData({ | 
|---|
|  |  |  | EnumName: 'YesNoEnum', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | enumOptions.isMainBranch = yesNoEnumData.map((item) => ({ | 
|---|
|  |  |  | label: item.description, | 
|---|
|  |  |  | value: item.value, | 
|---|
|  |  |  | })) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } catch (error) { | 
|---|
|  |  |  | console.error('è·åæä¸¾æ°æ®å¤±è´¥:', error) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ç»ä»¶æè½½æ¶è·åæä¸¾æ°æ® | 
|---|
|  |  |  | onMounted(() => { | 
|---|
|  |  |  | fetchEnumData() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å®ä¹ååºå¼æ¥è¯¢æ°æ® | 
|---|
|  |  |  | const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] }); | 
|---|
|  |  |  | // æ°ççæ¥è¯¢æ¹æ³ï¼ä¸»é¡µé¢ä¸çæé®ãæ¥è¯¢ãï¼ | 
|---|
|  |  |  | const handleQueryForMain = async () => { | 
|---|
|  |  |  | _curHighQueryData.value.searchVal = queryForm.value.searchVal; | 
|---|
|  |  |  | _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; | 
|---|
|  |  |  | tableRef.value.getList(_curHighQueryData.value) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢æ¹æ³ï¼é«çº§æ¥è¯¢ä¸çæé®ãæ¥è¯¢ãï¼ | 
|---|
|  |  |  | const handleQuery = async (extraParams = {}) => { | 
|---|
|  |  |  | let filteredData = commonGetHighQueryForm(extraParams); | 
|---|
|  |  |  | commonSaveCurHighQueryData(filteredData); | 
|---|
|  |  |  | tableRef.value.getList(filteredData) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢éç½® | 
|---|
|  |  |  | const resetQuery = () => { | 
|---|
|  |  |  | queryForm.value.searchVal = '' | 
|---|
|  |  |  | queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //æ°ççå¯¼åºæ¹æ³ | 
|---|
|  |  |  | const handleExport=()=>{ | 
|---|
|  |  |  | onExport(_curHighQueryData.value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢å¼¹åºæ¡å
³éæ¹æ³ | 
|---|
|  |  |  | const closeQuery = (extraParams={}) => { | 
|---|
|  |  |  | let filteredData = commonGetHighQueryForm(extraParams); | 
|---|
|  |  |  | console.log("closeQueryæ¹æ³"); | 
|---|
|  |  |  | console.log(filteredData); | 
|---|
|  |  |  | commonSaveCurHighQueryData(filteredData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //ä¿åæ¥è¯¢å¼ | 
|---|
|  |  |  | const commonSaveCurHighQueryData=(filteredData={})=>{ | 
|---|
|  |  |  | _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; | 
|---|
|  |  |  | _curHighQueryData.value.searchVal = queryForm.value.searchVal | 
|---|
|  |  |  | _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //è·åé«çº§æ¥è¯¢å¼¹åºæ¡çæ¥è¯¢å¼ | 
|---|
|  |  |  | const commonGetHighQueryForm=(extraParams={})=>{ | 
|---|
|  |  |  | // è¿æ»¤æ undefined çå¼ | 
|---|
|  |  |  | let filteredData = Object.assign( | 
|---|
|  |  |  | {}, | 
|---|
|  |  |  | ...Object.entries(extraParams).map(([key, value]) => | 
|---|
|  |  |  | value !== undefined ? { [key]: value } : {} | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | //ç»åæ¨¡ç³æ¥è¯¢ | 
|---|
|  |  |  | filteredData.searchVal = queryForm.value.searchVal | 
|---|
|  |  |  | filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; | 
|---|
|  |  |  | return filteredData; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¨ææä¸¾é项 | 
|---|
|  |  |  | const enumOptions = reactive({ | 
|---|
|  |  |  | materialType: [] as Array<{ label: string; value: any }>, | 
|---|
|  |  |  | purchaseType: [] as Array<{ label: string; value: any }>, | 
|---|
|  |  |  | isMainBranch: [] as Array<{ label: string; value: any }>, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åæä¸¾æ°æ® | 
|---|
|  |  |  | const fetchEnumData = async () => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | // è·åç©æç±»åæä¸¾ | 
|---|
|  |  |  | const materialTypeData = await getWmsEnumData({ | 
|---|
|  |  |  | EnumName: 'MaterialTypeEnum', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | enumOptions.materialType = materialTypeData.map((item) => ({ | 
|---|
|  |  |  | label: item.description, | 
|---|
|  |  |  | value: item.value, | 
|---|
|  |  |  | })) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åéè´ç±»åæä¸¾ | 
|---|
|  |  |  | const purchaseTypeData = await getWmsEnumData({ | 
|---|
|  |  |  | EnumName: 'PurchaseTypeEnum', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | enumOptions.purchaseType = purchaseTypeData.map((item) => ({ | 
|---|
|  |  |  | label: item.description, | 
|---|
|  |  |  | value: item.value, | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | } catch (error) { | 
|---|
|  |  |  | console.error('è·åæä¸¾æ°æ®å¤±è´¥:', error) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ç»ä»¶æè½½æ¶è·åæä¸¾æ°æ® | 
|---|
|  |  |  | onMounted(() => { | 
|---|
|  |  |  | fetchEnumData() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å®ä¹ååºå¼æ¥è¯¢æ°æ® | 
|---|
|  |  |  | const _curHighQueryData = ref({ filter: '' }); | 
|---|
|  |  |  | // æ°ççæ¥è¯¢æ¹æ³ï¼ä¸»é¡µé¢ä¸çæé®ãæ¥è¯¢ãï¼ | 
|---|
|  |  |  | const handleQueryForMain = async () => { | 
|---|
|  |  |  | _curHighQueryData.value.filter = queryForm.value.filter; | 
|---|
|  |  |  | tableRef.value.getList(_curHighQueryData.value) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢æ¹æ³ï¼é«çº§æ¥è¯¢ä¸çæé®ãæ¥è¯¢ãï¼ | 
|---|
|  |  |  | const handleQuery = async (extraParams = {}) => { | 
|---|
|  |  |  | let filteredData = commonGetHighQueryForm(extraParams); | 
|---|
|  |  |  | commonSaveCurHighQueryData(filteredData); | 
|---|
|  |  |  | tableRef.value.getList(filteredData) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢éç½® | 
|---|
|  |  |  | const resetQuery = () => { | 
|---|
|  |  |  | queryForm.value.filter = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //æ°ççå¯¼åºæ¹æ³ | 
|---|
|  |  |  | const handleExport=()=>{ | 
|---|
|  |  |  | onExport(_curHighQueryData.value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // æ°ççæ¥è¯¢å¼¹åºæ¡å
³éæ¹æ³ | 
|---|
|  |  |  | const closeQuery = (extraParams={}) => { | 
|---|
|  |  |  | let filteredData = commonGetHighQueryForm(extraParams); | 
|---|
|  |  |  | console.log("closeQueryæ¹æ³"); | 
|---|
|  |  |  | console.log(filteredData); | 
|---|
|  |  |  | commonSaveCurHighQueryData(filteredData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //ä¿åæ¥è¯¢å¼ | 
|---|
|  |  |  | const commonSaveCurHighQueryData=(filteredData={})=>{ | 
|---|
|  |  |  | _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; | 
|---|
|  |  |  | _curHighQueryData.value.filter = queryForm.value.filter | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //è·åé«çº§æ¥è¯¢å¼¹åºæ¡çæ¥è¯¢å¼ | 
|---|
|  |  |  | const commonGetHighQueryForm=(extraParams={})=>{ | 
|---|
|  |  |  | // è¿æ»¤æ undefined çå¼ | 
|---|
|  |  |  | let filteredData = Object.assign( | 
|---|
|  |  |  | {}, | 
|---|
|  |  |  | ...Object.entries(extraParams).map(([key, value]) => | 
|---|
|  |  |  | value !== undefined ? { [key]: value } : {} | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | //ç»åæ¨¡ç³æ¥è¯¢ | 
|---|
|  |  |  | filteredData.filter = queryForm.value.filter | 
|---|
|  |  |  | return filteredData; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @returns è¡¨æ ¼ | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | const RenderBaseTable = (props: RenderTableType) => { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | url, | 
|---|
|  |  |  | dataSource, | 
|---|
|  |  |  | isDrag, | 
|---|
|  |  |  | isChecked, | 
|---|
|  |  |  | isHidePagination, | 
|---|
|  |  |  | params, | 
|---|
|  |  |  | autoHeight, | 
|---|
|  |  |  | } = props | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | class={{ | 
|---|
|  |  |  | [styles.wmsMaterialList]: true, | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <BaseTable | 
|---|
|  |  |  | ref={tableRef} | 
|---|
|  |  |  | url={url} | 
|---|
|  |  |  | sortUrlTpl="/api/v1/hIAWms/wmsMaterial/{id}/adjustsort/{sort}" | 
|---|
|  |  |  | v-model:dataSource={dataSource.value} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | contextMenu={contextMenu} | 
|---|
|  |  |  | params={params} | 
|---|
|  |  |  | isDrag={isDrag} | 
|---|
|  |  |  | isChecked={isChecked} | 
|---|
|  |  |  | autoHeight={autoHeight} | 
|---|
|  |  |  | onCheck={onCheck} | 
|---|
|  |  |  | onRowClick={onRowClick} | 
|---|
|  |  |  | isHidePagination={isHidePagination} | 
|---|
|  |  |  | pageSize={20} | 
|---|
|  |  |  | v-slots={{ | 
|---|
|  |  |  | name: ({ row }: any) => { | 
|---|
|  |  |  | return row?.name ? ( | 
|---|
|  |  |  | <TdButton | 
|---|
|  |  |  | onClick={() => openDetail(row)} | 
|---|
|  |  |  | text={<span style="color:#5a84ff">详æ
</span>} | 
|---|
|  |  |  | icon="scale" | 
|---|
|  |  |  | tip={row?.name} | 
|---|
|  |  |  | hover | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {row?.name} | 
|---|
|  |  |  | </TdButton> | 
|---|
|  |  |  | ) : ( | 
|---|
|  |  |  | '-' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | ></BaseTable> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return () => { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <div class={styles.wmsMaterialContent}> | 
|---|
|  |  |  | {/* æ·»å /ç¼è¾ */} | 
|---|
|  |  |  | <WmsMaterialDrawer | 
|---|
|  |  |  | v-model={dialogConfig.visible} | 
|---|
|  |  |  | title={dialogConfig.title} | 
|---|
|  |  |  | row={current.value} | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirm={onConfirmWmsMaterial} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | {/* é«çº§æ¥è¯¢ */} | 
|---|
|  |  |  | <WmsMaterialQueryDrawer | 
|---|
|  |  |  | ref="wmsMaterialQueryDrawerRef" | 
|---|
|  |  |  | v-model={dialogConfigForQuery.visible} | 
|---|
|  |  |  | title={dialogConfigForQuery.title} | 
|---|
|  |  |  | row={current.value} | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirmQuery={handleQuery} | 
|---|
|  |  |  | onRestQuery={resetQuery} | 
|---|
|  |  |  | onClose={closeQuery} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class={styles.headerContent}> | 
|---|
|  |  |  | <div class={styles.header}> | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-add" | 
|---|
|  |  |  | icon="add-p" | 
|---|
|  |  |  | onClick={onAddWmsMaterial} | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | æ·»å | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | <el-divider direction="vertical" /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-divider direction="vertical" /> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | v-permission="wmsMaterial-import" | 
|---|
|  |  |  | name="file" | 
|---|
|  |  |  | accept=".xlsx,.xls,.csv" | 
|---|
|  |  |  | show-file-list={false} | 
|---|
|  |  |  | onError={onError} | 
|---|
|  |  |  | onSuccess={onSuccess} | 
|---|
|  |  |  | before-upload={onBeforeUpload} | 
|---|
|  |  |  | headers={headers.value} | 
|---|
|  |  |  | action="/api/v1/hIAWms/wmsMaterial/import" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <IconButton icon="in">导å
¥</IconButton> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-output" | 
|---|
|  |  |  | icon="out" | 
|---|
|  |  |  | onClick={handleExport} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | å¯¼åº | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <ElFormItem style={{ marginTop: '15px' }}> | 
|---|
|  |  |  | <ElFormItem label="å
³é®å"> | 
|---|
|  |  |  | <ElInput | 
|---|
|  |  |  | v-model={queryForm.value.filter} | 
|---|
|  |  |  | placeholder="请è¾å
¥å
³é®åæç´¢" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <IconButton type="primary" icon="search" onClick={handleQueryForMain}> | 
|---|
|  |  |  | æ¥è¯¢ | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | <IconButton style="" icon="refresh" onClick={resetQuery}> | 
|---|
|  |  |  | éç½® | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-add" | 
|---|
|  |  |  | icon="search" | 
|---|
|  |  |  | onClick={onAdvancedQuery} | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | é«çº§æ¥è¯¢ | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <RenderBaseTable | 
|---|
|  |  |  | url="/api/v1/hIAWms/wmsMaterial/page" | 
|---|
|  |  |  | dataSource={dataSource} | 
|---|
|  |  |  | isChecked={true} | 
|---|
|  |  |  | isDrag={true} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @returns è¡¨æ ¼ | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | const RenderBaseTable = (props: RenderTableType) => { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | url, | 
|---|
|  |  |  | dataSource, | 
|---|
|  |  |  | isDrag, | 
|---|
|  |  |  | isChecked, | 
|---|
|  |  |  | isHidePagination, | 
|---|
|  |  |  | params, | 
|---|
|  |  |  | autoHeight, | 
|---|
|  |  |  | } = props | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | class={{ | 
|---|
|  |  |  | [styles.wmsMaterialList]: true, | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <BaseTable | 
|---|
|  |  |  | ref={tableRef} | 
|---|
|  |  |  | url={url} | 
|---|
|  |  |  | sortUrlTpl="/api/v1/HIAWms/wmsMaterial/{id}/adjustsort/{sort}" | 
|---|
|  |  |  | v-model:dataSource={dataSource.value} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | contextMenu={contextMenu} | 
|---|
|  |  |  | params={params} | 
|---|
|  |  |  | isDrag={isDrag} | 
|---|
|  |  |  | isChecked={isChecked} | 
|---|
|  |  |  | autoHeight={autoHeight} | 
|---|
|  |  |  | onCheck={onCheck} | 
|---|
|  |  |  | onRowClick={onRowClick} | 
|---|
|  |  |  | isHidePagination={isHidePagination} | 
|---|
|  |  |  | pageSize={20} | 
|---|
|  |  |  | v-slots={{ | 
|---|
|  |  |  | name: ({ row }: any) => { | 
|---|
|  |  |  | return row?.name ? ( | 
|---|
|  |  |  | <TdButton | 
|---|
|  |  |  | onClick={() => openDetail(row)} | 
|---|
|  |  |  | text={<span style="color:#5a84ff">详æ
</span>} | 
|---|
|  |  |  | icon="scale" | 
|---|
|  |  |  | tip={row?.name} | 
|---|
|  |  |  | hover | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {row?.name} | 
|---|
|  |  |  | </TdButton> | 
|---|
|  |  |  | ) : ( | 
|---|
|  |  |  | '-' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | ></BaseTable> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return () => { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <div class={styles.wmsMaterialContent}> | 
|---|
|  |  |  | {/* æ·»å /ç¼è¾ */} | 
|---|
|  |  |  | <WmsMaterialDrawer | 
|---|
|  |  |  | v-model={dialogConfig.visible} | 
|---|
|  |  |  | title={dialogConfig.title} | 
|---|
|  |  |  | row={current.value} | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirm={onConfirmWmsMaterial} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | {/* é«çº§æ¥è¯¢ */} | 
|---|
|  |  |  | <WmsMaterialQueryDrawer | 
|---|
|  |  |  | ref="wmsMaterialQueryDrawerRef" | 
|---|
|  |  |  | v-model={dialogConfigForQuery.visible} | 
|---|
|  |  |  | title={dialogConfigForQuery.title} | 
|---|
|  |  |  | row={current.value} | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirmQuery={handleQuery} | 
|---|
|  |  |  | onRestQuery={resetQuery} | 
|---|
|  |  |  | onClose={closeQuery} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class={styles.headerContent}> | 
|---|
|  |  |  | <div class={styles.header}> | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-add" | 
|---|
|  |  |  | icon="add-p" | 
|---|
|  |  |  | onClick={onAddWmsMaterial} | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | æ·»å | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | <el-divider direction="vertical" /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-divider direction="vertical" /> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | v-permission="wmsMaterial-import" | 
|---|
|  |  |  | name="file" | 
|---|
|  |  |  | accept=".xlsx,.xls,.csv" | 
|---|
|  |  |  | show-file-list={false} | 
|---|
|  |  |  | onError={onError} | 
|---|
|  |  |  | onSuccess={onSuccess} | 
|---|
|  |  |  | before-upload={onBeforeUpload} | 
|---|
|  |  |  | headers={headers.value} | 
|---|
|  |  |  | action="/api/v1/HIAWms/wmsMaterial/import" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <IconButton icon="in">导å
¥</IconButton> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-output" | 
|---|
|  |  |  | icon="out" | 
|---|
|  |  |  | onClick={handleExport} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | å¯¼åº | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <ElFormItem style={{ marginTop: '15px' }}> | 
|---|
|  |  |  | <ElFormItem label="å
³é®å"> | 
|---|
|  |  |  | <ElInput | 
|---|
|  |  |  | v-model={queryForm.value.searchVal} | 
|---|
|  |  |  | placeholder={searchFormInputAttrs_Placeholder.value} | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <IconButton type="primary" icon="search" onClick={handleQueryForMain}> | 
|---|
|  |  |  | æ¥è¯¢ | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | {/* <IconButton style="" icon="refresh" onClick={resetQuery}> | 
|---|
|  |  |  | éç½® | 
|---|
|  |  |  | </IconButton> */} | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-add" | 
|---|
|  |  |  | icon="search" | 
|---|
|  |  |  | onClick={onAdvancedQuery} | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | é«çº§æ¥è¯¢ | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <RenderBaseTable | 
|---|
|  |  |  | url="/api/v1/HIAWms/wmsMaterial/page" | 
|---|
|  |  |  | dataSource={dataSource} | 
|---|
|  |  |  | isChecked={true} | 
|---|
|  |  |  | isDrag={true} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }) | 
|---|