|  |  |  | 
|---|
|  |  |  | import TdButton from '@/components/TdButton/TdButton' | 
|---|
|  |  |  | import { vPermission } from '@/libs/Permission/Permission' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getWmsEnumData, | 
|---|
|  |  |  | getWmsDataList, | 
|---|
|  |  |  | getWmsEnumData | 
|---|
|  |  |  | } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | ElInput, | 
|---|
|  |  |  | 
|---|
|  |  |  | onBeforeUpload, | 
|---|
|  |  |  | } = useWmsMaterial(props, ctx) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //å®ä¹é«çº§æ¥è¯¢å¼ç¨ | 
|---|
|  |  |  | const wmsMaterialQueryDrawerRef=ref(null); | 
|---|
|  |  |  | // æ°å¢çæ¥è¯¢æ¡ä»¶ | 
|---|
|  |  |  | const queryForm = ref({ | 
|---|
|  |  |  | materialCode: '', | 
|---|
|  |  |  | materialName: '', | 
|---|
|  |  |  | materialType: '', | 
|---|
|  |  |  | purchaseType: '', | 
|---|
|  |  |  | filter: '', | 
|---|
|  |  |  | searchVal: '', | 
|---|
|  |  |  | str_searchFormInputAttrs:[] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const queryParams = computed(() => ({ | 
|---|
|  |  |  | ...queryForm.value, | 
|---|
|  |  |  | materialType: queryForm.value.materialType || '', // å¤ç䏿 | 
|---|
|  |  |  | purchaseType: queryForm.value.purchaseType || '', | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | //å®ä¹æ´ä½æ¨¡ç³æ¥è¯¢çåæ°ç»(注æï¼å¿
须大å°åè·å端çå®ä½ç±»å±æ§åä¸è´ï¼å¦åä¼å¯¼è´å¹é
ä¸å¯¹çé®é¢) | 
|---|
|  |  |  | const _searchFormInputAttrs = ref([ | 
|---|
|  |  |  | 'MaterialCode', | 
|---|
|  |  |  | 'MaterialName', | 
|---|
|  |  |  | 'Remark' | 
|---|
|  |  |  | ]); | 
|---|
|  |  |  | const searchFormInputAttrs_Placeholder = ref('请è¾å
¥ç©æç¼ç /ç©æåç§°/夿³¨'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¨ææä¸¾é项 | 
|---|
|  |  |  | const enumOptions = reactive({ | 
|---|
|  |  |  | 
|---|
|  |  |  | fetchEnumData() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // æ°å¢çæ¥è¯¢æ¹æ³ | 
|---|
|  |  |  | const handleQuery = async () => { | 
|---|
|  |  |  | console.log('æ¥è¯¢æ¡ä»¶:', queryParams.value) | 
|---|
|  |  |  | // tableRef.value.getTableList() | 
|---|
|  |  |  | tableRef.value.getList(queryParams.value) | 
|---|
|  |  |  | // å®ä¹ååºå¼æ¥è¯¢æ°æ® | 
|---|
|  |  |  | 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 = { | 
|---|
|  |  |  | materialCode: '', | 
|---|
|  |  |  | materialName: '', | 
|---|
|  |  |  | materialType: '', | 
|---|
|  |  |  | purchaseType: '', | 
|---|
|  |  |  | filter: '', | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @returns è¡¨æ ¼ | 
|---|
|  |  |  | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirm={onConfirmWmsMaterial} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | {/* é«çº§æ¥è¯¢ */} | 
|---|
|  |  |  | <WmsMaterialQueryDrawer | 
|---|
|  |  |  | {/* é«çº§æ¥è¯¢ */} | 
|---|
|  |  |  | <WmsMaterialQueryDrawer | 
|---|
|  |  |  | ref="wmsMaterialQueryDrawerRef" | 
|---|
|  |  |  | v-model={dialogConfigForQuery.visible} | 
|---|
|  |  |  | title={dialogConfigForQuery.title} | 
|---|
|  |  |  | row={current.value} | 
|---|
|  |  |  | sort={sort.value} | 
|---|
|  |  |  | onConfirm={onConfirmWmsMaterial} | 
|---|
|  |  |  | onConfirmQuery={handleQuery} | 
|---|
|  |  |  | onRestQuery={resetQuery} | 
|---|
|  |  |  | onClose={closeQuery} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | {/* æ°å¢çæ¥è¯¢è¡¨å */} | 
|---|
|  |  |  | <ElForm | 
|---|
|  |  |  | inline | 
|---|
|  |  |  | model={queryForm.value} | 
|---|
|  |  |  | class={styles.queryForm} | 
|---|
|  |  |  | label-width="80px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ElFormItem label="å
³é®å"> | 
|---|
|  |  |  | <ElInput | 
|---|
|  |  |  | v-model={queryForm.value.filter} | 
|---|
|  |  |  | placeholder="请è¾å
¥å
³é®åæç´¢" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <ElFormItem label="ç©æç¼ç "> | 
|---|
|  |  |  | <ElInput | 
|---|
|  |  |  | v-model={queryForm.value.materialCode} | 
|---|
|  |  |  | placeholder="请è¾å
¥ç©æç¼ç " | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <ElFormItem label="ç©æåç§°"> | 
|---|
|  |  |  | <ElInput | 
|---|
|  |  |  | v-model={queryForm.value.materialName} | 
|---|
|  |  |  | placeholder="请è¾å
¥ç©æåç§°" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <ElFormItem label="ç©æç±»å"> | 
|---|
|  |  |  | <ElSelect | 
|---|
|  |  |  | v-model={queryForm.value.materialType} | 
|---|
|  |  |  | placeholder="è¯·éæ©ç©æç±»å" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | loading={enumOptions.materialType.length === 0} | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {enumOptions.materialType.map((option) => ( | 
|---|
|  |  |  | <ElOption | 
|---|
|  |  |  | key={option.value} | 
|---|
|  |  |  | label={option.label} | 
|---|
|  |  |  | value={option.value} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | ))} | 
|---|
|  |  |  | </ElSelect> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | <ElFormItem label="éè´ç±»å"> | 
|---|
|  |  |  | <ElSelect | 
|---|
|  |  |  | v-model={queryForm.value.purchaseType} | 
|---|
|  |  |  | placeholder="è¯·éæ©éè´ç±»å" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | loading={enumOptions.purchaseType.length === 0} | 
|---|
|  |  |  | class={styles.formItem} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {enumOptions.purchaseType.map((option) => ( | 
|---|
|  |  |  | <ElOption | 
|---|
|  |  |  | key={option.value} | 
|---|
|  |  |  | label={option.label} | 
|---|
|  |  |  | value={option.value} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | ))} | 
|---|
|  |  |  | </ElSelect> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | {/* <ElFormItem label="æ¥æèå´"> | 
|---|
|  |  |  | <ElDatePicker | 
|---|
|  |  |  | v-model={queryForm.value.dateRange} | 
|---|
|  |  |  | type="daterange" | 
|---|
|  |  |  | range-separator="è³" | 
|---|
|  |  |  | start-placeholder="å¼å§æ¥æ" | 
|---|
|  |  |  | end-placeholder="ç»ææ¥æ" | 
|---|
|  |  |  | value-format="YYYY-MM-DD" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ElFormItem> */} | 
|---|
|  |  |  | <ElFormItem> | 
|---|
|  |  |  | <IconButton type="primary" icon="search" onClick={handleQuery}> | 
|---|
|  |  |  | æ¥è¯¢ | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | style="margin-left: 10px;" | 
|---|
|  |  |  | icon="refresh" | 
|---|
|  |  |  | onClick={resetQuery} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | éç½® | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </ElFormItem> | 
|---|
|  |  |  | </ElForm> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class={styles.headerContent}> | 
|---|
|  |  |  | <div class={styles.header}> | 
|---|
|  |  |  | 
|---|
|  |  |  | æ·»å | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 
|---|
|  |  |  | <IconButton | 
|---|
|  |  |  | v-permission="wmsMaterial-output" | 
|---|
|  |  |  | icon="out" | 
|---|
|  |  |  | onClick={onExport} | 
|---|
|  |  |  | onClick={handleExport} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | å¯¼åº | 
|---|
|  |  |  | </IconButton> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | {/* <Search | 
|---|
|  |  |  | placeholder="请è¾å
¥å
³é®å" | 
|---|
|  |  |  | v-model={search.value} | 
|---|
|  |  |  | onConfirm={onSearch} | 
|---|
|  |  |  | style={{ marginTop: '-1px' }} | 
|---|
|  |  |  | /> */} | 
|---|
|  |  |  | <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 | 
|---|