LA24030_LuLiPackageLine_Web/public/config.js
@@ -4,6 +4,6 @@ "VITE_OPEN_CDN": "false", "VITE_PUBLIC_PATH": "", "VITE_SM_PUBLIC_KEY": "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312", //"VITE_API_URL": "http://localhost:5005" "VITE_API_URL": "http://172.17.1.111:5005" //æ£å¼å°å "VITE_API_URL": "http://localhost:5005" //"VITE_API_URL": "http://172.17.1.111:5005" //æ£å¼å°å } LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPackageProcess.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,78 @@ import request from '/@/utils/request'; enum Api { AddWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/add', DeleteWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/delete', UpdateWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/update', PageWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/page', ListWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/list', DetailWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/detail', ImportExcelWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/importExcel', DownloadExcelTemplateWmsRecordPackageProcess = '/api/wmsRecordPackageProcess/downloadExcelTemplate', } // å¢å å è¿ç¨å±¥å export const addWmsRecordPackageProcess = (params?: any) => request({ url: Api.AddWmsRecordPackageProcess, method: 'post', data: params }); // å é¤å è¿ç¨å±¥å export const deleteWmsRecordPackageProcess = (params?: any) => request({ url: Api.DeleteWmsRecordPackageProcess, method: 'post', data: params }); // ç¼è¾å è¿ç¨å±¥å export const updateWmsRecordPackageProcess = (params?: any) => request({ url: Api.UpdateWmsRecordPackageProcess, method: 'post', data: params }); // å¯¼å ¥å è¿ç¨å±¥å export const importExcelWmsRecordPackageProcess = (params?: any) => request({ url: Api.ImportExcelWmsRecordPackageProcess, method: 'post', data: params }); // ä¸è½½å¯¼å ¥å è¿ç¨å±¥åæ¨¡æ¿ export const downloadExcelTemplateWmsRecordPackageProcess = (params?: any) => request({ url: Api.DownloadExcelTemplateWmsRecordPackageProcess, method: 'get', data: params, responseType: 'blob' }); // å页æ¥è¯¢å è¿ç¨å±¥å export const pageWmsRecordPackageProcess = (params?: any) => request({ url: Api.PageWmsRecordPackageProcess, method: 'post', data: params }); // ä¸å页æ¥è¯¢å è¿ç¨å±¥å export const listWmsRecordPackageProcess = (params?: any) => request({ url: Api.ListWmsRecordPackageProcess, method: 'get', data: params }); // 详æ å è¿ç¨å±¥å export const detailWmsRecordPackageProcess = (id: any) => request({ url: Api.DetailWmsRecordPackageProcess, method: 'get', data: { id } }); LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiProcess.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,78 @@ import request from '/@/utils/request'; enum Api { AddWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/add', DeleteWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/delete', UpdateWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/update', PageWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/page', ListWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/list', DetailWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/detail', ImportExcelWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/importExcel', DownloadExcelTemplateWmsRecordUpiProcess = '/api/wmsRecordUpiProcess/downloadExcelTemplate', } // å¢å æ¿ä»¶è¿ç¨å±¥å export const addWmsRecordUpiProcess = (params?: any) => request({ url: Api.AddWmsRecordUpiProcess, method: 'post', data: params }); // å 餿¿ä»¶è¿ç¨å±¥å export const deleteWmsRecordUpiProcess = (params?: any) => request({ url: Api.DeleteWmsRecordUpiProcess, method: 'post', data: params }); // ç¼è¾æ¿ä»¶è¿ç¨å±¥å export const updateWmsRecordUpiProcess = (params?: any) => request({ url: Api.UpdateWmsRecordUpiProcess, method: 'post', data: params }); // å¯¼å ¥æ¿ä»¶è¿ç¨å±¥å export const importExcelWmsRecordUpiProcess = (params?: any) => request({ url: Api.ImportExcelWmsRecordUpiProcess, method: 'post', data: params }); // ä¸è½½å¯¼å ¥æ¿ä»¶è¿ç¨å±¥åæ¨¡æ¿ export const downloadExcelTemplateWmsRecordUpiProcess = (params?: any) => request({ url: Api.DownloadExcelTemplateWmsRecordUpiProcess, method: 'get', data: params, responseType: 'blob' }); // å页æ¥è¯¢æ¿ä»¶è¿ç¨å±¥å export const pageWmsRecordUpiProcess = (params?: any) => request({ url: Api.PageWmsRecordUpiProcess, method: 'post', data: params }); // ä¸å页æ¥è¯¢æ¿ä»¶è¿ç¨å±¥å export const listWmsRecordUpiProcess = (params?: any) => request({ url: Api.ListWmsRecordUpiProcess, method: 'get', data: params }); // è¯¦æ æ¿ä»¶è¿ç¨å±¥å export const detailWmsRecordUpiProcess = (id: any) => request({ url: Api.DetailWmsRecordUpiProcess, method: 'get', data: { id } }); LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPackageProcess/component/editDialog.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,204 @@ <template> <div class="wmsRecordPackageProcess-container"> <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> <template #header> <div style="color: #fff"> <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> <span>{{ props.title }}</span> </div> </template> <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading"> <el-row :gutter="35"> <el-form-item v-show="false"> <el-input v-model="ruleForm.id" /> </el-form-item> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="å è£ å·" prop="packageCode"> <el-input v-model="ruleForm.packageCode" placeholder="请è¾å ¥å è£ å·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="ç产åå·" prop="info5"> <el-input v-model="ruleForm.info5" placeholder="请è¾å ¥ç产åå·" maxlength="60" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="æ¹æ¬¡å·" prop="planNo"> <el-input v-model="ruleForm.planNo" placeholder="请è¾å ¥æ¹æ¬¡å·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="订åå·" prop="orderId"> <el-input v-model="ruleForm.orderId" placeholder="请è¾å ¥è®¢åå·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="å ç¶æ" prop="upiStatus"> <el-select clearable v-model="ruleForm.upiStatus" placeholder="è¯·éæ©å ç¶æ"> <el-option v-for="(item,index) in getEnumUpiStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="æ è®°" prop="upiFlag"> <el-select clearable v-model="ruleForm.upiFlag" placeholder="è¯·éæ©æ è®°"> <el-option v-for="(item,index) in getEnumUpiFlagData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="ä½ç½®" prop="location"> <el-input v-model="ruleForm.location" placeholder="请è¾å ¥ä½ç½®" maxlength="255" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="夿³¨" prop="operRemark"> <el-input v-model="ruleForm.operRemark" placeholder="请è¾å ¥å¤æ³¨" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> </el-row> </el-form> <template #footer> <span class="dialog-footer"> <el-button @click="cancel">å æ¶</el-button> <el-button type="primary" @click="submit" :disabled="disabled_btn">ç¡® å®</el-button> </span> </template> </el-dialog> </div> </template> <style scoped> :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style> <script lang="ts" setup> import { ref,onMounted } from "vue"; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { addWmsRecordPackageProcess, updateWmsRecordPackageProcess, detailWmsRecordPackageProcess } from "/@/api/main/ReportCenter/wmsRecordPackageProcess"; import { getAPI } from '/@/utils/axios-utils'; import { SysEnumApi } from '/@/api-services/api'; const getEnumUpiStatusData = ref<any>([]); const getEnumUpiFlagData = ref<any>([]); //ç¶çº§ä¼ 鿥çåæ° var props = defineProps({ title: { type: String, default: "", }, }); //ç¶çº§ä¼ 鿥ç彿°ï¼ç¨äºåè° const emit = defineEmits(["reloadTable"]); const ruleFormRef = ref(); const isShowDialog = ref(false); const loading = ref(false); const disabled_btn = ref(false); const ruleForm = ref<any>({}); //èªè¡æ·»å å ¶ä»è§å const rules = ref<FormRules>({ packageCode: [{required: true, message: '请è¾å ¥å è£ å·ï¼', trigger: 'blur',},], planNo: [{required: true, message: '请è¾å ¥æ¹æ¬¡å·ï¼', trigger: 'blur',},], orderId: [{required: true, message: '请è¾å ¥è®¢åå·ï¼', trigger: 'blur',},], upiStatus: [{required: true, message: 'è¯·éæ©å ç¶æï¼', trigger: 'change',},], }); /* * æå¼å¼¹çª * @param flag æ è®°ï¼1æ°å¢ 2ç¼è¾ 3æ¥çï¼ * @param row è¡æ°æ® */ const openDialog = async (flag: number,row: any) => { // ruleForm.value = JSON.parse(JSON.stringify(row)); // æ¹ç¨detailè·åææ°æ°æ®æ¥ç¼è¾ let rowData = JSON.parse(JSON.stringify(row)); if (rowData.id) ruleForm.value = (await detailWmsRecordPackageProcess(rowData.id)).data.result; else { ruleForm.value = rowData; } isShowDialog.value = true; }; // å ³éå¼¹çª const closeDialog = () => { emit("reloadTable"); isShowDialog.value = false; }; // åæ¶ const cancel = () => { isShowDialog.value = false; }; // æäº¤ const submit = async () => { disabled_btn.value = true; ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { if (isValid) { loading.value = true; let values = ruleForm.value; let ret={}; let title='æ°å¢'; if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { ret = await addWmsRecordPackageProcess(values); } else { title='ç¼è¾'; ret = await updateWmsRecordPackageProcess(values); } loading.value = false; disabled_btn.value = false; if(ret.data.type=="success"){ ElMessage.success(title+'æå'); closeDialog(); } } else { disabled_btn.value = false; ElMessage({ message: `表åæ${Object.keys(fields).length}å¤éªè¯å¤±è´¥ï¼è¯·ä¿®æ¹ååæäº¤`, type: "error", }); } }); }; // 页é¢å è½½æ¶ onMounted(async () => { getEnumUpiStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; getEnumUpiFlagData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiFlagEnum')).data.result ?? []; }); //å°å±æ§æè 彿°æ´é²ç»ç¶ç»ä»¶ defineExpose({ openDialog }); </script> LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPackageProcess/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,301 @@ <template> <div class="wmsRecordPackageProcess-container"> <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> <el-form :model="queryParamsWmsRecordPackageProcess" ref="queryForm" labelWidth="90"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> <el-form-item label="å ³é®å"> <el-input v-model="queryParamsWmsRecordPackageProcess.searchKey" clearable="" placeholder="å è£ å·,ç产åå·,æ¹æ¬¡å·,订åå·,ä½ç½®,夿³¨,å建人"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="å è£ å·"> <el-input v-model="queryParamsWmsRecordPackageProcess.packageCode" clearable="" placeholder="请è¾å ¥å è£ å·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="ç产åå·"> <el-input v-model="queryParamsWmsRecordPackageProcess.info5" clearable="" placeholder="请è¾å ¥ç产åå·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="æ¹æ¬¡å·"> <el-input v-model="queryParamsWmsRecordPackageProcess.planNo" clearable="" placeholder="请è¾å ¥æ¹æ¬¡å·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="订åå·"> <el-input v-model="queryParamsWmsRecordPackageProcess.orderId" clearable="" placeholder="请è¾å ¥è®¢åå·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="å ç¶æ"> <el-select clearable="" v-model="queryParamsWmsRecordPackageProcess.upiStatus" placeholder="è¯·éæ©å ç¶æ"> <el-option v-for="(item,index) in getEnumUpiStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="æ è®°"> <el-select clearable="" v-model="queryParamsWmsRecordPackageProcess.upiFlag" placeholder="è¯·éæ©æ è®°"> <el-option v-for="(item,index) in getEnumUpiFlagData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="ä½ç½®"> <el-input v-model="queryParamsWmsRecordPackageProcess.location" clearable="" placeholder="请è¾å ¥ä½ç½®"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPackageProcess"> <el-form-item label="夿³¨"> <el-input v-model="queryParamsWmsRecordPackageProcess.operRemark" clearable="" placeholder="请è¾å ¥å¤æ³¨"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> <el-form-item> <el-button-group style="display: flex; align-items: center;"> <el-button type="primary" icon="ele-Search" @click="handleQueryWmsRecordPackageProcess" v-auth="'wmsRecordPackageProcess:page'" :disabled="disabled_btnWmsRecordPackageProcess"> æ¥è¯¢ </el-button> <el-button icon="ele-Refresh" @click="resetWmsRecordPackageProcess"> éç½® </el-button> <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordPackageProcess" v-if="!showAdvanceQueryUIWmsRecordPackageProcess" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordPackageProcess" v-if="showAdvanceQueryUIWmsRecordPackageProcess" style="margin-left:5px;"> éè </el-button> <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordPackageProcess" v-auth="'wmsRecordPackageProcess:add'"> æ°å¢ </el-button> <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordPackageProcess" v-auth="'wmsRecordPackageProcess:exportExcel'" > å¯¼åº </el-button> </el-button-group> </el-form-item> </el-col> </el-row> </el-form> </el-card> <el-card class="full-table" shadow="hover" style="margin-top: 5px"> <el-table ref="tableRefWmsRecordPackageProcess" :data="tableDataWmsRecordPackageProcess" style="width: 100%" v-loading="loadingWmsRecordPackageProcess" tooltip-effect="light" row-key="id" @sort-change="sortChangeWmsRecordPackageProcess" border=""> <el-table-column type="index" label="åºå·" width="55" align="center"/> <el-table-column prop="packageCode" label="å è£ å·" show-overflow-tooltip="" /> <el-table-column prop="info5" label="ç产åå·" show-overflow-tooltip="" /> <el-table-column prop="planNo" label="æ¹æ¬¡å·" show-overflow-tooltip="" /> <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> <el-table-column prop="upiStatus" label="å ç¶æ" show-overflow-tooltip="" > <template #default="scope"> <el-tag>{{ getEnumDesc(scope.row.upiStatus, getEnumUpiStatusData_Index)}}</el-tag> </template> </el-table-column> <el-table-column prop="upiFlag" label="æ è®°" show-overflow-tooltip="" > <template #default="scope"> <el-tag>{{ getEnumDesc(scope.row.upiFlag, getEnumUpiFlagData_Index)}}</el-tag> </template> </el-table-column> <el-table-column prop="location" label="ä½ç½®" show-overflow-tooltip="" /> <el-table-column prop="operRemark" label="夿³¨" show-overflow-tooltip="" /> <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordPackageProcess:update') || auth('wmsRecordPackageProcess:delete')"> <template #default="scope"> <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordPackageProcess(scope.row)" v-auth="'wmsRecordPackageProcess:update'"> ç¼è¾ </el-button> <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordPackageProcess(scope.row)" v-auth="'wmsRecordPackageProcess:delete'"> å é¤ </el-button> </template> </el-table-column> </el-table> <el-pagination v-model:currentPage="tableParamsWmsRecordPackageProcess.page" v-model:page-size="tableParamsWmsRecordPackageProcess.pageSize" :total="tableParamsWmsRecordPackageProcess.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" @size-change="handleSizeChangeWmsRecordPackageProcess" @current-change="handleCurrentChangeWmsRecordPackageProcess" layout="total, sizes, prev, pager, next, jumper" /> <printDialogWmsRecordPackageProcess ref="printDialogRefWmsRecordPackageProcess" :title="printWmsRecordPackageProcessTitle" @reloadTable="handleQueryWmsRecordPackageProcess" /> <editDialogWmsRecordPackageProcess ref="editDialogRefWmsRecordPackageProcess" :title="editWmsRecordPackageProcessTitle" @reloadTable="handleQueryWmsRecordPackageProcess" /> </el-card> </div> </template> <script lang="ts" setup="" name="wmsRecordPackageProcess"> import { ref,onMounted } from "vue"; import { ElMessageBox, ElMessage } from "element-plus"; import { auth } from '/@/utils/authFunction'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å ¥å¯¼åºæ¹æ³ import printDialogWmsRecordPackageProcess from '/@/views/system/print/component/hiprint/preview.vue' import { pageWmsRecordPackageProcess, deleteWmsRecordPackageProcess,importExcelWmsRecordPackageProcess,downloadExcelTemplateWmsRecordPackageProcess } from '/@/api/main/ReportCenter/wmsRecordPackageProcess'; import { getAPI } from '/@/utils/axios-utils'; import { SysEnumApi } from '/@/api-services/api'; import commonFunction from '/@/utils/commonFunction'; const getEnumUpiStatusData_Index = ref<any>([]); const getEnumUpiFlagData_Index = ref<any>([]); const { getEnumDesc } = commonFunction(); /***************************************************[å è¿ç¨å±¥åæä½]å¼å§***************************************************/ const showAdvanceQueryUIWmsRecordPackageProcess = ref(false); const tableRefWmsRecordPackageProcess = ref(null); const printDialogRefWmsRecordPackageProcess = ref(); const editDialogRefWmsRecordPackageProcess = ref(); const loadingWmsRecordPackageProcess = ref(false); const disabled_btnWmsRecordPackageProcess = ref(false); const tableDataWmsRecordPackageProcess = ref<any>([]); const queryParamsWmsRecordPackageProcess = ref<any>({}); const tableParamsWmsRecordPackageProcess = ref({ page: 1, pageSize: 10, total: 0, }); const printWmsRecordPackageProcessTitle = ref(""); const editWmsRecordPackageProcessTitle = ref(""); // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ const changeAdvanceQueryUIWmsRecordPackageProcess = () => { showAdvanceQueryUIWmsRecordPackageProcess.value = !showAdvanceQueryUIWmsRecordPackageProcess.value; } // æ¥è¯¢å è¿ç¨å±¥å const handleQueryWmsRecordPackageProcess = async () => { loadingWmsRecordPackageProcess.value = true; disabled_btnWmsRecordPackageProcess.value = true; var res = await pageWmsRecordPackageProcess(Object.assign(queryParamsWmsRecordPackageProcess.value, tableParamsWmsRecordPackageProcess.value)); if(res.data.type=="success"){ tableDataWmsRecordPackageProcess.value = res.data.result?.items ?? []; tableParamsWmsRecordPackageProcess.value.total = res.data.result?.total; } loadingWmsRecordPackageProcess.value = false; disabled_btnWmsRecordPackageProcess.value = false; }; // éç½®å è¿ç¨å±¥åæ¥è¯¢ const resetWmsRecordPackageProcess = async () => { queryParamsWmsRecordPackageProcess.value = {} }; // å è¿ç¨å±¥ååæåº const sortChangeWmsRecordPackageProcess = async (column: any) => { queryParamsWmsRecordPackageProcess.value.field = column.prop; queryParamsWmsRecordPackageProcess.value.order = column.order; await handleQueryWmsRecordPackageProcess(); }; // æå¼æ°å¢å è¿ç¨å±¥åé¡µé¢ const openAddWmsRecordPackageProcess = () => { editWmsRecordPackageProcessTitle.value = 'æ·»å å è¿ç¨å±¥å'; editDialogRefWmsRecordPackageProcess.value.openDialog(1,{}); }; // æå¼æå°å è¿ç¨å±¥åé¡µé¢ const openPrintWmsRecordPackageProcess = async (row: any) => { printWmsRecordPackageProcessTitle.value = 'æå°å è¿ç¨å±¥å'; } // æå¼ç¼è¾å è¿ç¨å±¥åé¡µé¢ const openEditWmsRecordPackageProcess = (row: any) => { editWmsRecordPackageProcessTitle.value = 'ç¼è¾å è¿ç¨å±¥å'; editDialogRefWmsRecordPackageProcess.value.openDialog(2,row); }; // å é¤å è¿ç¨å±¥å const delWmsRecordPackageProcess = (row: any) => { ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning", }) .then(async () => { loadingWmsRecordPackageProcess.value = true; var ret = await deleteWmsRecordPackageProcess(row); if(ret.data.type=="success"){ ElMessage.success("å 餿å"); } loadingWmsRecordPackageProcess.value = false; handleQueryWmsRecordPackageProcess(); }) .catch(() => {}); }; // æ¹åå è¿ç¨å±¥å页é¢å®¹é const handleSizeChangeWmsRecordPackageProcess = (val: number) => { tableParamsWmsRecordPackageProcess.value.pageSize = val; handleQueryWmsRecordPackageProcess(); }; // æ¹åå è¿ç¨å±¥å页ç åºå· const handleCurrentChangeWmsRecordPackageProcess = (val: number) => { tableParamsWmsRecordPackageProcess.value.page = val; handleQueryWmsRecordPackageProcess(); }; /***************************************************[å è¿ç¨å±¥åæä½]ç»æ***************************************************/ /***************************************************[å è¿ç¨å±¥å导åº]å¼å§***************************************************/ //å®ä¹å½å页é¢çæ¹æ³ç» const functionMapWmsRecordPackageProcess = { getEnumUpiStatusData_Index, getEnumUpiFlagData_Index, formatDate_T_Date, formatDate_T_Time }; //ç¹å»å¯¼åºæé® const handleExportExcelWmsRecordPackageProcess = async (formData:Blob) => { loadingWmsRecordPackageProcess.value = true; disabled_btnWmsRecordPackageProcess.value = true; var new_tableParamsWmsRecordPackageProcess=JSON.parse(JSON.stringify(tableParamsWmsRecordPackageProcess.value)); new_tableParamsWmsRecordPackageProcess.page = 1; new_tableParamsWmsRecordPackageProcess.pageSize = 100000; var res = await pageWmsRecordPackageProcess(Object.assign(queryParamsWmsRecordPackageProcess.value, new_tableParamsWmsRecordPackageProcess)); if(res.data.type=="success"){ exportExcelWmsRecordPackageProcess(res.data.result?.items ?? []); } loadingWmsRecordPackageProcess.value = false; disabled_btnWmsRecordPackageProcess.value = false; }; //å¯¼åº const exportExcelWmsRecordPackageProcess = async (exportDataList:Array) => { exportPageExcel(exportDataList, tableRefWmsRecordPackageProcess,"å è¿ç¨å±¥å",functionMapWmsRecordPackageProcess); }; /***************************************************[å è¿ç¨å±¥å导åº]ç»æ***************************************************/ // å è¿ç¨å±¥å页é¢å è½½æ¶ onMounted(async () => { getEnumUpiStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; getEnumUpiFlagData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiFlagEnum')).data.result ?? []; }); handleQueryWmsRecordPackageProcess(); </script> <style scoped> :deep(.el-input), :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style> LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiProcess/component/editDialog.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,227 @@ <template> <div class="wmsRecordUpiProcess-container"> <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> <template #header> <div style="color: #fff"> <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> <span>{{ props.title }}</span> </div> </template> <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading"> <el-row :gutter="35"> <el-form-item v-show="false"> <el-input v-model="ruleForm.id" /> </el-form-item> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="é¨ä»¶æ¡ç " prop="upi"> <el-input v-model="ruleForm.upi" placeholder="请è¾å ¥é¨ä»¶æ¡ç " maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="å è£ å·" prop="packageCode"> <el-input v-model="ruleForm.packageCode" placeholder="请è¾å ¥å è£ å·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="ç产åå·" prop="info5"> <el-input v-model="ruleForm.info5" placeholder="请è¾å ¥ç产åå·" maxlength="60" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="æ¹æ¬¡å·" prop="planNo"> <el-input v-model="ruleForm.planNo" placeholder="请è¾å ¥æ¹æ¬¡å·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="订åå·" prop="orderId"> <el-input v-model="ruleForm.orderId" placeholder="请è¾å ¥è®¢åå·" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="æ¿æç¶æ" prop="upiStatus"> <el-select clearable v-model="ruleForm.upiStatus" placeholder="è¯·éæ©æ¿æç¶æ"> <el-option v-for="(item,index) in getEnumUpiStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="æ è®°" prop="upiFlag"> <el-select clearable v-model="ruleForm.upiFlag" placeholder="è¯·éæ©æ è®°"> <el-option v-for="(item,index) in getEnumUpiFlagData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="ä½ç½®" prop="location"> <el-input v-model="ruleForm.location" placeholder="请è¾å ¥ä½ç½®" maxlength="255" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="é¨ä»¶åç§°" prop="detailName"> <el-input v-model="ruleForm.detailName" placeholder="请è¾å ¥é¨ä»¶åç§°" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="ææ" prop="info18"> <el-input v-model="ruleForm.info18" placeholder="请è¾å ¥ææ" maxlength="60" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="夿³¨" prop="operRemark"> <el-input v-model="ruleForm.operRemark" placeholder="请è¾å ¥å¤æ³¨" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> </el-row> </el-form> <template #footer> <span class="dialog-footer"> <el-button @click="cancel">å æ¶</el-button> <el-button type="primary" @click="submit" :disabled="disabled_btn">ç¡® å®</el-button> </span> </template> </el-dialog> </div> </template> <style scoped> :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style> <script lang="ts" setup> import { ref,onMounted } from "vue"; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { addWmsRecordUpiProcess, updateWmsRecordUpiProcess, detailWmsRecordUpiProcess } from "/@/api/main/ReportCenter/wmsRecordUpiProcess"; import { getAPI } from '/@/utils/axios-utils'; import { SysEnumApi } from '/@/api-services/api'; const getEnumUpiStatusData = ref<any>([]); const getEnumUpiFlagData = ref<any>([]); //ç¶çº§ä¼ 鿥çåæ° var props = defineProps({ title: { type: String, default: "", }, }); //ç¶çº§ä¼ 鿥ç彿°ï¼ç¨äºåè° const emit = defineEmits(["reloadTable"]); const ruleFormRef = ref(); const isShowDialog = ref(false); const loading = ref(false); const disabled_btn = ref(false); const ruleForm = ref<any>({}); //èªè¡æ·»å å ¶ä»è§å const rules = ref<FormRules>({ upi: [{required: true, message: '请è¾å ¥é¨ä»¶æ¡ç ï¼', trigger: 'blur',},], packageCode: [{required: true, message: '请è¾å ¥å è£ å·ï¼', trigger: 'blur',},], planNo: [{required: true, message: '请è¾å ¥æ¹æ¬¡å·ï¼', trigger: 'blur',},], orderId: [{required: true, message: '请è¾å ¥è®¢åå·ï¼', trigger: 'blur',},], upiStatus: [{required: true, message: 'è¯·éæ©æ¿æç¶æï¼', trigger: 'change',},], detailName: [{required: true, message: '请è¾å ¥é¨ä»¶åç§°ï¼', trigger: 'blur',},], }); /* * æå¼å¼¹çª * @param flag æ è®°ï¼1æ°å¢ 2ç¼è¾ 3æ¥çï¼ * @param row è¡æ°æ® */ const openDialog = async (flag: number,row: any) => { // ruleForm.value = JSON.parse(JSON.stringify(row)); // æ¹ç¨detailè·åææ°æ°æ®æ¥ç¼è¾ let rowData = JSON.parse(JSON.stringify(row)); if (rowData.id) ruleForm.value = (await detailWmsRecordUpiProcess(rowData.id)).data.result; else { ruleForm.value = rowData; } isShowDialog.value = true; }; // å ³éå¼¹çª const closeDialog = () => { emit("reloadTable"); isShowDialog.value = false; }; // åæ¶ const cancel = () => { isShowDialog.value = false; }; // æäº¤ const submit = async () => { disabled_btn.value = true; ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { if (isValid) { loading.value = true; let values = ruleForm.value; let ret={}; let title='æ°å¢'; if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { ret = await addWmsRecordUpiProcess(values); } else { title='ç¼è¾'; ret = await updateWmsRecordUpiProcess(values); } loading.value = false; disabled_btn.value = false; if(ret.data.type=="success"){ ElMessage.success(title+'æå'); closeDialog(); } } else { disabled_btn.value = false; ElMessage({ message: `表åæ${Object.keys(fields).length}å¤éªè¯å¤±è´¥ï¼è¯·ä¿®æ¹ååæäº¤`, type: "error", }); } }); }; // 页é¢å è½½æ¶ onMounted(async () => { getEnumUpiStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; getEnumUpiFlagData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiFlagEnum')).data.result ?? []; }); //å°å±æ§æè 彿°æ´é²ç»ç¶ç»ä»¶ defineExpose({ openDialog }); </script> LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiProcess/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,322 @@ <template> <div class="wmsRecordUpiProcess-container"> <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> <el-form :model="queryParamsWmsRecordUpiProcess" ref="queryForm" labelWidth="90"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> <el-form-item label="å ³é®å"> <el-input v-model="queryParamsWmsRecordUpiProcess.searchKey" clearable="" placeholder="é¨ä»¶æ¡ç ,å è£ å·,ç产åå·,æ¹æ¬¡å·,订åå·,ä½ç½®,é¨ä»¶åç§°,ææ,夿³¨,å建人"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="é¨ä»¶æ¡ç "> <el-input v-model="queryParamsWmsRecordUpiProcess.upi" clearable="" placeholder="请è¾å ¥é¨ä»¶æ¡ç "/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="å è£ å·"> <el-input v-model="queryParamsWmsRecordUpiProcess.packageCode" clearable="" placeholder="请è¾å ¥å è£ å·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="ç产åå·"> <el-input v-model="queryParamsWmsRecordUpiProcess.info5" clearable="" placeholder="请è¾å ¥ç产åå·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="æ¹æ¬¡å·"> <el-input v-model="queryParamsWmsRecordUpiProcess.planNo" clearable="" placeholder="请è¾å ¥æ¹æ¬¡å·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="订åå·"> <el-input v-model="queryParamsWmsRecordUpiProcess.orderId" clearable="" placeholder="请è¾å ¥è®¢åå·"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="æ¿æç¶æ"> <el-select clearable="" v-model="queryParamsWmsRecordUpiProcess.upiStatus" placeholder="è¯·éæ©æ¿æç¶æ"> <el-option v-for="(item,index) in getEnumUpiStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="æ è®°"> <el-select clearable="" v-model="queryParamsWmsRecordUpiProcess.upiFlag" placeholder="è¯·éæ©æ è®°"> <el-option v-for="(item,index) in getEnumUpiFlagData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="ä½ç½®"> <el-input v-model="queryParamsWmsRecordUpiProcess.location" clearable="" placeholder="请è¾å ¥ä½ç½®"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="é¨ä»¶åç§°"> <el-input v-model="queryParamsWmsRecordUpiProcess.detailName" clearable="" placeholder="请è¾å ¥é¨ä»¶åç§°"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="ææ"> <el-input v-model="queryParamsWmsRecordUpiProcess.info18" clearable="" placeholder="请è¾å ¥ææ"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiProcess"> <el-form-item label="夿³¨"> <el-input v-model="queryParamsWmsRecordUpiProcess.operRemark" clearable="" placeholder="请è¾å ¥å¤æ³¨"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> <el-form-item> <el-button-group style="display: flex; align-items: center;"> <el-button type="primary" icon="ele-Search" @click="handleQueryWmsRecordUpiProcess" v-auth="'wmsRecordUpiProcess:page'" :disabled="disabled_btnWmsRecordUpiProcess"> æ¥è¯¢ </el-button> <el-button icon="ele-Refresh" @click="resetWmsRecordUpiProcess"> éç½® </el-button> <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordUpiProcess" v-if="!showAdvanceQueryUIWmsRecordUpiProcess" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordUpiProcess" v-if="showAdvanceQueryUIWmsRecordUpiProcess" style="margin-left:5px;"> éè </el-button> <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordUpiProcess" v-auth="'wmsRecordUpiProcess:add'"> æ°å¢ </el-button> <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordUpiProcess" v-auth="'wmsRecordUpiProcess:exportExcel'" > å¯¼åº </el-button> </el-button-group> </el-form-item> </el-col> </el-row> </el-form> </el-card> <el-card class="full-table" shadow="hover" style="margin-top: 5px"> <el-table ref="tableRefWmsRecordUpiProcess" :data="tableDataWmsRecordUpiProcess" style="width: 100%" v-loading="loadingWmsRecordUpiProcess" tooltip-effect="light" row-key="id" @sort-change="sortChangeWmsRecordUpiProcess" border=""> <el-table-column type="index" label="åºå·" width="55" align="center"/> <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> <el-table-column prop="packageCode" label="å è£ å·" show-overflow-tooltip="" /> <el-table-column prop="info5" label="ç产åå·" show-overflow-tooltip="" /> <el-table-column prop="planNo" label="æ¹æ¬¡å·" show-overflow-tooltip="" /> <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> <el-table-column prop="upiStatus" label="æ¿æç¶æ" show-overflow-tooltip="" > <template #default="scope"> <el-tag>{{ getEnumDesc(scope.row.upiStatus, getEnumUpiStatusData_Index)}}</el-tag> </template> </el-table-column> <el-table-column prop="upiFlag" label="æ è®°" show-overflow-tooltip="" > <template #default="scope"> <el-tag>{{ getEnumDesc(scope.row.upiFlag, getEnumUpiFlagData_Index)}}</el-tag> </template> </el-table-column> <el-table-column prop="location" label="ä½ç½®" show-overflow-tooltip="" /> <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> <el-table-column prop="info18" label="ææ" show-overflow-tooltip="" /> <el-table-column prop="operRemark" label="夿³¨" show-overflow-tooltip="" /> <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordUpiProcess:update') || auth('wmsRecordUpiProcess:delete')"> <template #default="scope"> <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordUpiProcess(scope.row)" v-auth="'wmsRecordUpiProcess:update'"> ç¼è¾ </el-button> <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordUpiProcess(scope.row)" v-auth="'wmsRecordUpiProcess:delete'"> å é¤ </el-button> </template> </el-table-column> </el-table> <el-pagination v-model:currentPage="tableParamsWmsRecordUpiProcess.page" v-model:page-size="tableParamsWmsRecordUpiProcess.pageSize" :total="tableParamsWmsRecordUpiProcess.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" @size-change="handleSizeChangeWmsRecordUpiProcess" @current-change="handleCurrentChangeWmsRecordUpiProcess" layout="total, sizes, prev, pager, next, jumper" /> <printDialogWmsRecordUpiProcess ref="printDialogRefWmsRecordUpiProcess" :title="printWmsRecordUpiProcessTitle" @reloadTable="handleQueryWmsRecordUpiProcess" /> <editDialogWmsRecordUpiProcess ref="editDialogRefWmsRecordUpiProcess" :title="editWmsRecordUpiProcessTitle" @reloadTable="handleQueryWmsRecordUpiProcess" /> </el-card> </div> </template> <script lang="ts" setup="" name="wmsRecordUpiProcess"> import { ref,onMounted } from "vue"; import { ElMessageBox, ElMessage } from "element-plus"; import { auth } from '/@/utils/authFunction'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å ¥å¯¼åºæ¹æ³ import printDialogWmsRecordUpiProcess from '/@/views/system/print/component/hiprint/preview.vue' import { pageWmsRecordUpiProcess, deleteWmsRecordUpiProcess,importExcelWmsRecordUpiProcess,downloadExcelTemplateWmsRecordUpiProcess } from '/@/api/main/ReportCenter/wmsRecordUpiProcess'; import { getAPI } from '/@/utils/axios-utils'; import { SysEnumApi } from '/@/api-services/api'; import commonFunction from '/@/utils/commonFunction'; const getEnumUpiStatusData_Index = ref<any>([]); const getEnumUpiFlagData_Index = ref<any>([]); const { getEnumDesc } = commonFunction(); /***************************************************[æ¿ä»¶è¿ç¨å±¥åæä½]å¼å§***************************************************/ const showAdvanceQueryUIWmsRecordUpiProcess = ref(false); const tableRefWmsRecordUpiProcess = ref(null); const printDialogRefWmsRecordUpiProcess = ref(); const editDialogRefWmsRecordUpiProcess = ref(); const loadingWmsRecordUpiProcess = ref(false); const disabled_btnWmsRecordUpiProcess = ref(false); const tableDataWmsRecordUpiProcess = ref<any>([]); const queryParamsWmsRecordUpiProcess = ref<any>({}); const tableParamsWmsRecordUpiProcess = ref({ page: 1, pageSize: 10, total: 0, }); const printWmsRecordUpiProcessTitle = ref(""); const editWmsRecordUpiProcessTitle = ref(""); // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ const changeAdvanceQueryUIWmsRecordUpiProcess = () => { showAdvanceQueryUIWmsRecordUpiProcess.value = !showAdvanceQueryUIWmsRecordUpiProcess.value; } // æ¥è¯¢æ¿ä»¶è¿ç¨å±¥å const handleQueryWmsRecordUpiProcess = async () => { loadingWmsRecordUpiProcess.value = true; disabled_btnWmsRecordUpiProcess.value = true; var res = await pageWmsRecordUpiProcess(Object.assign(queryParamsWmsRecordUpiProcess.value, tableParamsWmsRecordUpiProcess.value)); if(res.data.type=="success"){ tableDataWmsRecordUpiProcess.value = res.data.result?.items ?? []; tableParamsWmsRecordUpiProcess.value.total = res.data.result?.total; } loadingWmsRecordUpiProcess.value = false; disabled_btnWmsRecordUpiProcess.value = false; }; // éç½®æ¿ä»¶è¿ç¨å±¥åæ¥è¯¢ const resetWmsRecordUpiProcess = async () => { queryParamsWmsRecordUpiProcess.value = {} }; // æ¿ä»¶è¿ç¨å±¥ååæåº const sortChangeWmsRecordUpiProcess = async (column: any) => { queryParamsWmsRecordUpiProcess.value.field = column.prop; queryParamsWmsRecordUpiProcess.value.order = column.order; await handleQueryWmsRecordUpiProcess(); }; // æå¼æ°å¢æ¿ä»¶è¿ç¨å±¥åé¡µé¢ const openAddWmsRecordUpiProcess = () => { editWmsRecordUpiProcessTitle.value = 'æ·»å æ¿ä»¶è¿ç¨å±¥å'; editDialogRefWmsRecordUpiProcess.value.openDialog(1,{}); }; // æå¼æå°æ¿ä»¶è¿ç¨å±¥åé¡µé¢ const openPrintWmsRecordUpiProcess = async (row: any) => { printWmsRecordUpiProcessTitle.value = 'æå°æ¿ä»¶è¿ç¨å±¥å'; } // æå¼ç¼è¾æ¿ä»¶è¿ç¨å±¥åé¡µé¢ const openEditWmsRecordUpiProcess = (row: any) => { editWmsRecordUpiProcessTitle.value = 'ç¼è¾æ¿ä»¶è¿ç¨å±¥å'; editDialogRefWmsRecordUpiProcess.value.openDialog(2,row); }; // å 餿¿ä»¶è¿ç¨å±¥å const delWmsRecordUpiProcess = (row: any) => { ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning", }) .then(async () => { loadingWmsRecordUpiProcess.value = true; var ret = await deleteWmsRecordUpiProcess(row); if(ret.data.type=="success"){ ElMessage.success("å 餿å"); } loadingWmsRecordUpiProcess.value = false; handleQueryWmsRecordUpiProcess(); }) .catch(() => {}); }; // æ¹åæ¿ä»¶è¿ç¨å±¥å页é¢å®¹é const handleSizeChangeWmsRecordUpiProcess = (val: number) => { tableParamsWmsRecordUpiProcess.value.pageSize = val; handleQueryWmsRecordUpiProcess(); }; // æ¹åæ¿ä»¶è¿ç¨å±¥å页ç åºå· const handleCurrentChangeWmsRecordUpiProcess = (val: number) => { tableParamsWmsRecordUpiProcess.value.page = val; handleQueryWmsRecordUpiProcess(); }; /***************************************************[æ¿ä»¶è¿ç¨å±¥åæä½]ç»æ***************************************************/ /***************************************************[æ¿ä»¶è¿ç¨å±¥å导åº]å¼å§***************************************************/ //å®ä¹å½å页é¢çæ¹æ³ç» const functionMapWmsRecordUpiProcess = { getEnumUpiStatusData_Index, getEnumUpiFlagData_Index, formatDate_T_Date, formatDate_T_Time }; //ç¹å»å¯¼åºæé® const handleExportExcelWmsRecordUpiProcess = async (formData:Blob) => { loadingWmsRecordUpiProcess.value = true; disabled_btnWmsRecordUpiProcess.value = true; var new_tableParamsWmsRecordUpiProcess=JSON.parse(JSON.stringify(tableParamsWmsRecordUpiProcess.value)); new_tableParamsWmsRecordUpiProcess.page = 1; new_tableParamsWmsRecordUpiProcess.pageSize = 100000; var res = await pageWmsRecordUpiProcess(Object.assign(queryParamsWmsRecordUpiProcess.value, new_tableParamsWmsRecordUpiProcess)); if(res.data.type=="success"){ exportExcelWmsRecordUpiProcess(res.data.result?.items ?? []); } loadingWmsRecordUpiProcess.value = false; disabled_btnWmsRecordUpiProcess.value = false; }; //å¯¼åº const exportExcelWmsRecordUpiProcess = async (exportDataList:Array) => { exportPageExcel(exportDataList, tableRefWmsRecordUpiProcess,"æ¿ä»¶è¿ç¨å±¥å",functionMapWmsRecordUpiProcess); }; /***************************************************[æ¿ä»¶è¿ç¨å±¥å导åº]ç»æ***************************************************/ // æ¿ä»¶è¿ç¨å±¥å页é¢å è½½æ¶ onMounted(async () => { getEnumUpiStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; getEnumUpiFlagData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiFlagEnum')).data.result ?? []; }); handleQueryWmsRecordUpiProcess(); </script> <style scoped> :deep(.el-input), :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style> LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordPackageProcess/Dto/WmsRecordPackageProcessInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,177 @@ using Admin.NET.Core; using System.ComponentModel.DataAnnotations; namespace Admin.NET.Application; /// <summary> /// å è¿ç¨å±¥ååºç¡è¾å ¥åæ° /// </summary> public class WmsRecordPackageProcessBaseInput { /// <summary> /// å è£ å· /// </summary> public virtual string PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public virtual string Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public virtual string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public virtual string OrderId { get; set; } /// <summary> /// å ç¶æ /// </summary> public virtual Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public virtual Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public virtual string Location { get; set; } /// <summary> /// 夿³¨ /// </summary> public virtual string OperRemark { get; set; } /// <summary> /// å建æ¶é´ /// </summary> public virtual DateTime? CreateTime { get; set; } /// <summary> /// å建人Id /// </summary> public virtual long? CreateUserId { get; set; } /// <summary> /// å建人 /// </summary> public virtual string CreateUserName { get; set; } } /// <summary> /// å è¿ç¨å±¥åå页æ¥è¯¢è¾å ¥åæ° /// </summary> public class WmsRecordPackageProcessInput : BasePageInput { /// <summary> /// å ³é®åæ¥è¯¢ /// </summary> public string? SearchKey { get; set; } /// <summary> /// å è£ å· /// </summary> public string? PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public string? Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public string? PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public string? OrderId { get; set; } /// <summary> /// å ç¶æ /// </summary> public Admin.NET.Application.UpiStatusEnum? UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public string? Location { get; set; } /// <summary> /// 夿³¨ /// </summary> public string? OperRemark { get; set; } } /// <summary> /// å è¿ç¨å±¥åå¢å è¾å ¥åæ° /// </summary> public class AddWmsRecordPackageProcessInput : WmsRecordPackageProcessBaseInput { /// <summary> /// å è£ å· /// </summary> [Required(ErrorMessage = "å è£ å·ä¸è½ä¸ºç©º")] public override string PackageCode { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> [Required(ErrorMessage = "æ¹æ¬¡å·ä¸è½ä¸ºç©º")] public override string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> [Required(ErrorMessage = "订åå·ä¸è½ä¸ºç©º")] public override string OrderId { get; set; } /// <summary> /// å ç¶æ /// </summary> [Required(ErrorMessage = "å ç¶æä¸è½ä¸ºç©º")] public override Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } } /// <summary> /// å è¿ç¨å±¥åå é¤è¾å ¥åæ° /// </summary> public class DeleteWmsRecordPackageProcessInput : BaseIdInput { } /// <summary> /// å è¿ç¨å±¥åæ´æ°è¾å ¥åæ° /// </summary> public class UpdateWmsRecordPackageProcessInput : AddWmsRecordPackageProcessInput { /// <summary> /// 主é®Id /// </summary> [Required(ErrorMessage = "主é®Idä¸è½ä¸ºç©º")] public long Id { get; set; } } /// <summary> /// å è¿ç¨å±¥å䏻鮿¥è¯¢è¾å ¥åæ° /// </summary> public class QueryByIdWmsRecordPackageProcessInput : DeleteWmsRecordPackageProcessInput { } LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordPackageProcess/Dto/WmsRecordPackageProcessOutput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,70 @@ namespace Admin.NET.Application; /// <summary> /// å è¿ç¨å±¥åè¾åºåæ° /// </summary> public class WmsRecordPackageProcessOutput { /// <summary> /// 主é®Id /// </summary> public long? Id { get; set; } /// <summary> /// å è£ å· /// </summary> public string PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public string Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public string OrderId { get; set; } /// <summary> /// å ç¶æ /// </summary> public Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public string Location { get; set; } /// <summary> /// 夿³¨ /// </summary> public string OperRemark { get; set; } /// <summary> /// å建æ¶é´ /// </summary> public DateTime? CreateTime { get; set; } /// <summary> /// å建人Id /// </summary> public long? CreateUserId { get; set; } /// <summary> /// å建人 /// </summary> public string CreateUserName { get; set; } } LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordPackageProcess/WmsRecordPackageProcessService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,194 @@ using Admin.NET.Core.Service; using Admin.NET.Application.Entity; using Microsoft.AspNetCore.Http; using System.Data; using System.Web; using System.Text; namespace Admin.NET.Application; /// <summary> /// å è¿ç¨å±¥åæå¡ /// </summary> [ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)] public class WmsRecordPackageProcessService : IDynamicApiController, ITransient { private readonly SqlSugarRepository<WmsRecordPackageProcess> _rep; public WmsRecordPackageProcessService(SqlSugarRepository<WmsRecordPackageProcess> rep) { _rep = rep; } /// <summary> /// å页æ¥è¯¢å è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Page")] [Description("WmsRecordPackageProcess/Page")] public async Task<SqlSugarPagedList<WmsRecordPackageProcessOutput>> Page(WmsRecordPackageProcessInput input) { var query = CommonPageFilter(input); return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); } /// <summary> /// ä¸å页æ¥è¯¢å è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet] [ApiDescriptionSettings(Name = "List")] [Description("WmsRecordPackageProcess/List")] public async Task<List<WmsRecordPackageProcessOutput>> List([FromQuery] WmsRecordPackageProcessInput input) { var query = CommonPageFilter(input); return await query.OrderBuilder(input, "", "Id").Select<WmsRecordPackageProcessOutput>().ToListAsync(); } /// <summary> /// å¢å å è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Add")] [Description("WmsRecordPackageProcess/Add")] public async Task<long> Add(AddWmsRecordPackageProcessInput input) { var entity = input.Adapt<WmsRecordPackageProcess>(); //é夿§éªè¯ await CheckExist(entity); await _rep.InsertAsync(entity); return entity.Id; } /// <summary> /// å é¤å è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Delete")] [Description("WmsRecordPackageProcess/Delete")] public async Task Delete(DeleteWmsRecordPackageProcessInput input) { var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); //await _rep.FakeDeleteAsync(entity); //åå é¤ await _rep.DeleteAsync(entity); //çå é¤ } /// <summary> /// æ´æ°å è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Update")] [Description("WmsRecordPackageProcess/Update")] public async Task Update(UpdateWmsRecordPackageProcessInput input) { var entity = input.Adapt<WmsRecordPackageProcess>(); //é夿§éªè¯ await CheckExist(entity,true); await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } /// <summary> /// è·åå è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet] [ApiDescriptionSettings(Name = "Detail")] [Description("WmsRecordPackageProcess/Detail")] public async Task<WmsRecordPackageProcess> Detail([FromQuery] QueryByIdWmsRecordPackageProcessInput input) { return await _rep.GetFirstAsync(u => u.Id == input.Id); } #region ç§ææ¹æ³ /// <summary> /// å ¬å ±æ¥è¯¢å è¿ç¨å±¥åæ¡ä»¶ /// </summary> /// <param name="input"></param> /// <returns></returns> private ISugarQueryable<WmsRecordPackageProcessOutput> CommonPageFilter(WmsRecordPackageProcessInput input) { var query = _rep.AsQueryable() .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => u.PackageCode.Contains(input.SearchKey.Trim()) || u.Info5.Contains(input.SearchKey.Trim()) || u.PlanNo.Contains(input.SearchKey.Trim()) || u.OrderId.Contains(input.SearchKey.Trim()) || u.Location.Contains(input.SearchKey.Trim()) || u.OperRemark.Contains(input.SearchKey.Trim()) || u.CreateUserName.Contains(input.SearchKey.Trim()) ) .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim())) .WhereIF(input.UpiStatus.HasValue, u => u.UpiStatus == input.UpiStatus) .WhereIF(input.UpiFlag.HasValue, u => u.UpiFlag == input.UpiFlag) .WhereIF(!string.IsNullOrWhiteSpace(input.Location), u => u.Location.Contains(input.Location.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.OperRemark), u => u.OperRemark.Contains(input.OperRemark.Trim())) .Select<WmsRecordPackageProcessOutput>(); return query; } /// <summary> /// é夿§éªè¯ /// </summary> /// <param name="input">éªè¯å¯¹è±¡</param> /// <param name="isEdit">æ¯å¦æ¯ç¼è¾</param> /// <returns></returns> private async Task CheckExist( WmsRecordPackageProcess input,bool isEdit=false) { //没æé ç½®ç»åæ ¡éªï¼ä¸éè¦éªé //没æé ç½®åç¬æ ¡éªï¼ä¸éè¦éªé } /// <summary> /// æ ¹æ®ç»åæ ¡éªååç¬æ ¡éªéªè¯æ°æ®æ¯å¦å·²åå¨-å¯¼å ¥æ¶éªè¯ /// </summary> /// <param name="inputs"></param> /// <returns></returns> private async Task CheckExisitForImport(List<WmsRecordPackageProcess> inputs) { if (inputs?.Count <= 0) { throw Oops.Oh($"å¯¼å ¥æ°æ®ä¸è½ä¸ºç©º"); } //æ ¹æ®ç»åæ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® //æ ¹æ®åç¬æ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® } #endregion } LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiProcess/Dto/WmsRecordUpiProcessInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,219 @@ using Admin.NET.Core; using System.ComponentModel.DataAnnotations; namespace Admin.NET.Application; /// <summary> /// æ¿ä»¶è¿ç¨å±¥ååºç¡è¾å ¥åæ° /// </summary> public class WmsRecordUpiProcessBaseInput { /// <summary> /// é¨ä»¶æ¡ç /// </summary> public virtual string Upi { get; set; } /// <summary> /// å è£ å· /// </summary> public virtual string PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public virtual string Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public virtual string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public virtual string OrderId { get; set; } /// <summary> /// æ¿æç¶æ /// </summary> public virtual Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public virtual Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public virtual string Location { get; set; } /// <summary> /// é¨ä»¶åç§° /// </summary> public virtual string DetailName { get; set; } /// <summary> /// ææ /// </summary> public virtual string Info18 { get; set; } /// <summary> /// 夿³¨ /// </summary> public virtual string OperRemark { get; set; } /// <summary> /// å建æ¶é´ /// </summary> public virtual DateTime? CreateTime { get; set; } /// <summary> /// å建人Id /// </summary> public virtual long? CreateUserId { get; set; } /// <summary> /// å建人 /// </summary> public virtual string CreateUserName { get; set; } } /// <summary> /// æ¿ä»¶è¿ç¨å±¥åå页æ¥è¯¢è¾å ¥åæ° /// </summary> public class WmsRecordUpiProcessInput : BasePageInput { /// <summary> /// å ³é®åæ¥è¯¢ /// </summary> public string? SearchKey { get; set; } /// <summary> /// é¨ä»¶æ¡ç /// </summary> public string? Upi { get; set; } /// <summary> /// å è£ å· /// </summary> public string? PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public string? Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public string? PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public string? OrderId { get; set; } /// <summary> /// æ¿æç¶æ /// </summary> public Admin.NET.Application.UpiStatusEnum? UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public string? Location { get; set; } /// <summary> /// é¨ä»¶åç§° /// </summary> public string? DetailName { get; set; } /// <summary> /// ææ /// </summary> public string? Info18 { get; set; } /// <summary> /// 夿³¨ /// </summary> public string? OperRemark { get; set; } } /// <summary> /// æ¿ä»¶è¿ç¨å±¥åå¢å è¾å ¥åæ° /// </summary> public class AddWmsRecordUpiProcessInput : WmsRecordUpiProcessBaseInput { /// <summary> /// é¨ä»¶æ¡ç /// </summary> [Required(ErrorMessage = "é¨ä»¶æ¡ç ä¸è½ä¸ºç©º")] public override string Upi { get; set; } /// <summary> /// å è£ å· /// </summary> [Required(ErrorMessage = "å è£ å·ä¸è½ä¸ºç©º")] public override string PackageCode { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> [Required(ErrorMessage = "æ¹æ¬¡å·ä¸è½ä¸ºç©º")] public override string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> [Required(ErrorMessage = "订åå·ä¸è½ä¸ºç©º")] public override string OrderId { get; set; } /// <summary> /// æ¿æç¶æ /// </summary> [Required(ErrorMessage = "æ¿æç¶æä¸è½ä¸ºç©º")] public override Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } /// <summary> /// é¨ä»¶åç§° /// </summary> [Required(ErrorMessage = "é¨ä»¶åç§°ä¸è½ä¸ºç©º")] public override string DetailName { get; set; } } /// <summary> /// æ¿ä»¶è¿ç¨å±¥åå é¤è¾å ¥åæ° /// </summary> public class DeleteWmsRecordUpiProcessInput : BaseIdInput { } /// <summary> /// æ¿ä»¶è¿ç¨å±¥åæ´æ°è¾å ¥åæ° /// </summary> public class UpdateWmsRecordUpiProcessInput : AddWmsRecordUpiProcessInput { /// <summary> /// 主é®Id /// </summary> [Required(ErrorMessage = "主é®Idä¸è½ä¸ºç©º")] public long Id { get; set; } } /// <summary> /// æ¿ä»¶è¿ç¨å±¥å䏻鮿¥è¯¢è¾å ¥åæ° /// </summary> public class QueryByIdWmsRecordUpiProcessInput : DeleteWmsRecordUpiProcessInput { } LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiProcess/Dto/WmsRecordUpiProcessOutput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,85 @@ namespace Admin.NET.Application; /// <summary> /// æ¿ä»¶è¿ç¨å±¥åè¾åºåæ° /// </summary> public class WmsRecordUpiProcessOutput { /// <summary> /// 主é®Id /// </summary> public long? Id { get; set; } /// <summary> /// é¨ä»¶æ¡ç /// </summary> public string Upi { get; set; } /// <summary> /// å è£ å· /// </summary> public string PackageCode { get; set; } /// <summary> /// ç产åå· /// </summary> public string Info5 { get; set; } /// <summary> /// æ¹æ¬¡å· /// </summary> public string PlanNo { get; set; } /// <summary> /// 订åå· /// </summary> public string OrderId { get; set; } /// <summary> /// æ¿æç¶æ /// </summary> public Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } /// <summary> /// æ è®° /// </summary> public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; } /// <summary> /// ä½ç½® /// </summary> public string Location { get; set; } /// <summary> /// é¨ä»¶åç§° /// </summary> public string DetailName { get; set; } /// <summary> /// ææ /// </summary> public string Info18 { get; set; } /// <summary> /// 夿³¨ /// </summary> public string OperRemark { get; set; } /// <summary> /// å建æ¶é´ /// </summary> public DateTime? CreateTime { get; set; } /// <summary> /// å建人Id /// </summary> public long? CreateUserId { get; set; } /// <summary> /// å建人 /// </summary> public string CreateUserName { get; set; } } LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiProcess/WmsRecordUpiProcessService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,200 @@ using Admin.NET.Core.Service; using Admin.NET.Application.Entity; using Microsoft.AspNetCore.Http; using System.Data; using System.Web; using System.Text; namespace Admin.NET.Application; /// <summary> /// æ¿ä»¶è¿ç¨å±¥åæå¡ /// </summary> [ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)] public class WmsRecordUpiProcessService : IDynamicApiController, ITransient { private readonly SqlSugarRepository<WmsRecordUpiProcess> _rep; public WmsRecordUpiProcessService(SqlSugarRepository<WmsRecordUpiProcess> rep) { _rep = rep; } /// <summary> /// å页æ¥è¯¢æ¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Page")] [Description("WmsRecordUpiProcess/Page")] public async Task<SqlSugarPagedList<WmsRecordUpiProcessOutput>> Page(WmsRecordUpiProcessInput input) { var query = CommonPageFilter(input); return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); } /// <summary> /// ä¸å页æ¥è¯¢æ¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet] [ApiDescriptionSettings(Name = "List")] [Description("WmsRecordUpiProcess/List")] public async Task<List<WmsRecordUpiProcessOutput>> List([FromQuery] WmsRecordUpiProcessInput input) { var query = CommonPageFilter(input); return await query.OrderBuilder(input, "", "Id").Select<WmsRecordUpiProcessOutput>().ToListAsync(); } /// <summary> /// å¢å æ¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Add")] [Description("WmsRecordUpiProcess/Add")] public async Task<long> Add(AddWmsRecordUpiProcessInput input) { var entity = input.Adapt<WmsRecordUpiProcess>(); //é夿§éªè¯ await CheckExist(entity); await _rep.InsertAsync(entity); return entity.Id; } /// <summary> /// å 餿¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Delete")] [Description("WmsRecordUpiProcess/Delete")] public async Task Delete(DeleteWmsRecordUpiProcessInput input) { var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); //await _rep.FakeDeleteAsync(entity); //åå é¤ await _rep.DeleteAsync(entity); //çå é¤ } /// <summary> /// æ´æ°æ¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "Update")] [Description("WmsRecordUpiProcess/Update")] public async Task Update(UpdateWmsRecordUpiProcessInput input) { var entity = input.Adapt<WmsRecordUpiProcess>(); //é夿§éªè¯ await CheckExist(entity,true); await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } /// <summary> /// è·åæ¿ä»¶è¿ç¨å±¥å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet] [ApiDescriptionSettings(Name = "Detail")] [Description("WmsRecordUpiProcess/Detail")] public async Task<WmsRecordUpiProcess> Detail([FromQuery] QueryByIdWmsRecordUpiProcessInput input) { return await _rep.GetFirstAsync(u => u.Id == input.Id); } #region ç§ææ¹æ³ /// <summary> /// å ¬å ±æ¥è¯¢æ¿ä»¶è¿ç¨å±¥åæ¡ä»¶ /// </summary> /// <param name="input"></param> /// <returns></returns> private ISugarQueryable<WmsRecordUpiProcessOutput> CommonPageFilter(WmsRecordUpiProcessInput input) { var query = _rep.AsQueryable() .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => u.Upi.Contains(input.SearchKey.Trim()) || u.PackageCode.Contains(input.SearchKey.Trim()) || u.Info5.Contains(input.SearchKey.Trim()) || u.PlanNo.Contains(input.SearchKey.Trim()) || u.OrderId.Contains(input.SearchKey.Trim()) || u.Location.Contains(input.SearchKey.Trim()) || u.DetailName.Contains(input.SearchKey.Trim()) || u.Info18.Contains(input.SearchKey.Trim()) || u.OperRemark.Contains(input.SearchKey.Trim()) || u.CreateUserName.Contains(input.SearchKey.Trim()) ) .WhereIF(!string.IsNullOrWhiteSpace(input.Upi), u => u.Upi.Contains(input.Upi.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim())) .WhereIF(input.UpiStatus.HasValue, u => u.UpiStatus == input.UpiStatus) .WhereIF(input.UpiFlag.HasValue, u => u.UpiFlag == input.UpiFlag) .WhereIF(!string.IsNullOrWhiteSpace(input.Location), u => u.Location.Contains(input.Location.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.Info18), u => u.Info18.Contains(input.Info18.Trim())) .WhereIF(!string.IsNullOrWhiteSpace(input.OperRemark), u => u.OperRemark.Contains(input.OperRemark.Trim())) .Select<WmsRecordUpiProcessOutput>(); return query; } /// <summary> /// é夿§éªè¯ /// </summary> /// <param name="input">éªè¯å¯¹è±¡</param> /// <param name="isEdit">æ¯å¦æ¯ç¼è¾</param> /// <returns></returns> private async Task CheckExist( WmsRecordUpiProcess input,bool isEdit=false) { //没æé ç½®ç»åæ ¡éªï¼ä¸éè¦éªé //没æé ç½®åç¬æ ¡éªï¼ä¸éè¦éªé } /// <summary> /// æ ¹æ®ç»åæ ¡éªååç¬æ ¡éªéªè¯æ°æ®æ¯å¦å·²åå¨-å¯¼å ¥æ¶éªè¯ /// </summary> /// <param name="inputs"></param> /// <returns></returns> private async Task CheckExisitForImport(List<WmsRecordUpiProcess> inputs) { if (inputs?.Count <= 0) { throw Oops.Oh($"å¯¼å ¥æ°æ®ä¸è½ä¸ºç©º"); } //æ ¹æ®ç»åæ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® //æ ¹æ®åç¬æ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® } #endregion }