2
schangxiang@126.com
2024-11-25 6748b620551df2a2f6a15f3a71f7e93ad03ed7a7
2
已添加7个文件
已修改7个文件
1295 ■■■■ 文件已修改
LA24030_LuLiPackageLine_Print/打印模板文件/包装条码模板_二维码.btw 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/打印模板文件/打印实例.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/´òÓ¡Ä£°åÎļþ/°ü×°ÌõÂëÄ£°å_¶þάÂë.btw
Binary files differ
LA24030_LuLiPackageLine_Print/´òÓ¡Ä£°åÎļþ/´òӡʵÀý.jpg
LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
import request from '/@/utils/request';
enum Api {
  AddWmsConfigPrint = '/api/wmsConfigPrint/add',
  DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete',
  UpdateWmsConfigPrint = '/api/wmsConfigPrint/update',
  PageWmsConfigPrint = '/api/wmsConfigPrint/page',
  ListWmsConfigPrint = '/api/wmsConfigPrint/list',
  DetailWmsConfigPrint = '/api/wmsConfigPrint/detail',
  ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel',
  DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate',
}
// å¢žåŠ æ‰“å°é…ç½®è¡¨
export const addWmsConfigPrint = (params?: any) =>
    request({
        url: Api.AddWmsConfigPrint,
        method: 'post',
        data: params
    });
// åˆ é™¤æ‰“印配置表
export const deleteWmsConfigPrint = (params?: any) =>
    request({
            url: Api.DeleteWmsConfigPrint,
            method: 'post',
            data: params
        });
// ç¼–辑打印配置表
export const updateWmsConfigPrint = (params?: any) =>
    request({
            url: Api.UpdateWmsConfigPrint,
            method: 'post',
            data: params
        });
// å¯¼å…¥æ‰“印配置表
export const importExcelWmsConfigPrint = (params?: any) =>
    request({
        url: Api.ImportExcelWmsConfigPrint,
        method: 'post',
        data: params
    });
// ä¸‹è½½å¯¼å…¥æ‰“印配置表模板
export const downloadExcelTemplateWmsConfigPrint = (params?: any) =>
    request({
            url: Api.DownloadExcelTemplateWmsConfigPrint,
            method: 'get',
            data: params,
            responseType: 'blob'
        });
// åˆ†é¡µæŸ¥è¯¢æ‰“印配置表
export const pageWmsConfigPrint = (params?: any) =>
    request({
            url: Api.PageWmsConfigPrint,
            method: 'post',
            data: params
        });
// ä¸åˆ†é¡µæŸ¥è¯¢æ‰“印配置表
export const listWmsConfigPrint = (params?: any) =>
    request({
            url: Api.ListWmsConfigPrint,
            method: 'get',
            data: params
        });
// è¯¦æƒ…打印配置表
export const detailWmsConfigPrint = (id: any) =>
    request({
            url: Api.DetailWmsConfigPrint,
            method: 'get',
            data: { id }
        });
LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
import request from '/@/utils/request';
enum Api {
  AddWmsConfigPrint = '/api/wmsConfigPrint/add',
  DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete',
  UpdateWmsConfigPrint = '/api/wmsConfigPrint/update',
  PageWmsConfigPrint = '/api/wmsConfigPrint/page',
  ListWmsConfigPrint = '/api/wmsConfigPrint/list',
  DetailWmsConfigPrint = '/api/wmsConfigPrint/detail',
  ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel',
  DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate',
}
// å¢žåŠ æ‰“å°é…ç½®è¡¨
export const addWmsConfigPrint = (params?: any) =>
    request({
        url: Api.AddWmsConfigPrint,
        method: 'post',
        data: params
    });
// åˆ é™¤æ‰“印配置表
export const deleteWmsConfigPrint = (params?: any) =>
    request({
            url: Api.DeleteWmsConfigPrint,
            method: 'post',
            data: params
        });
// ç¼–辑打印配置表
export const updateWmsConfigPrint = (params?: any) =>
    request({
            url: Api.UpdateWmsConfigPrint,
            method: 'post',
            data: params
        });
// å¯¼å…¥æ‰“印配置表
export const importExcelWmsConfigPrint = (params?: any) =>
    request({
        url: Api.ImportExcelWmsConfigPrint,
        method: 'post',
        data: params
    });
// ä¸‹è½½å¯¼å…¥æ‰“印配置表模板
export const downloadExcelTemplateWmsConfigPrint = (params?: any) =>
    request({
            url: Api.DownloadExcelTemplateWmsConfigPrint,
            method: 'get',
            data: params,
            responseType: 'blob'
        });
// åˆ†é¡µæŸ¥è¯¢æ‰“印配置表
export const pageWmsConfigPrint = (params?: any) =>
    request({
            url: Api.PageWmsConfigPrint,
            method: 'post',
            data: params
        });
// ä¸åˆ†é¡µæŸ¥è¯¢æ‰“印配置表
export const listWmsConfigPrint = (params?: any) =>
    request({
            url: Api.ListWmsConfigPrint,
            method: 'get',
            data: params
        });
// è¯¦æƒ…打印配置表
export const detailWmsConfigPrint = (id: any) =>
    request({
            url: Api.DetailWmsConfigPrint,
            method: 'get',
            data: { id }
        });
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
<template>
    <div class="wmsConfigPrint-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="printClassify">
                            <el-select clearable v-model="ruleForm.printClassify" placeholder="请选择打印分类">
                                <el-option v-for="(item,index) in  getEnumPrintClassifyData" :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="printClassifyName">
                            <el-input v-model="ruleForm.printClassifyName" 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="printTemplate">
                            <el-input v-model="ruleForm.printTemplate" 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="printTemplateAddr">
                            <el-input v-model="ruleForm.printTemplateAddr" 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="printerList">
                            <el-input v-model="ruleForm.printerList" placeholder="请输入打印机列表" maxlength="500" 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="remark">
                            <el-input v-model="ruleForm.remark" placeholder="请输入备注" maxlength="255" 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 { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/WmsConfig/wmsConfigPrint";
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
    const getEnumPrintClassifyData = 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>({
        printClassify: [{required: true, message: '请选择打印分类!', trigger: 'change',},],
        printClassifyName: [{required: true, message: '请输入打印分类名!', trigger: 'blur',},],
        printTemplate: [{required: true, message: '请输入打印模板名!', trigger: 'blur',},],
        printTemplateAddr: [{required: true, message: '请输入打印模板地址!', trigger: 'blur',},],
        printerList: [{required: true, message: '请输入打印机列表!', trigger: 'blur',},],
        isDelete: [{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 detailWmsConfigPrint(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 addWmsConfigPrint(values);
                } else {
                    title='编辑';
                    ret = await updateWmsConfigPrint(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 () => {
            getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
    });
    //将属性或者函数暴露给父组件
    defineExpose({ openDialog });
</script>
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,280 @@
<template>
  <div class="wmsConfigPrint-container">
    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
      <el-form :model="queryParamsWmsConfigPrint" 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="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="打印分类名,打印模板名,打印模板地址,打印机列表,备注,创建人,修改人"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印分类">
              <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="请选择打印分类">
                <el-option v-for="(item,index) in getEnumPrintClassifyData_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="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印分类名">
              <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请输入打印分类名"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印模板名">
              <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="请输入打印模板名"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印模板地址">
              <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="请输入打印模板地址"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印机列表">
              <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请输入打印机列表"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="备注">
              <el-input v-model="queryParamsWmsConfigPrint.remark" 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="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> æŸ¥è¯¢ </el-button>
                      <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> é‡ç½® </el-button>
                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> é«˜çº§æŸ¥è¯¢ </el-button>
                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> éšè— </el-button>
                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> æ–°å¢ž </el-button>
                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint"  v-auth="'wmsConfigPrint: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="tableRefWmsConfigPrint"
                :data="tableDataWmsConfigPrint"
                style="width: 100%"
                v-loading="loadingWmsConfigPrint"
                tooltip-effect="light"
                                row-key="id"
                @sort-change="sortChangeWmsConfigPrint"
                border="">
        <el-table-column type="index" label="序号" width="55" align="center"/>
          <el-table-column prop="printClassify" label="打印分类"  show-overflow-tooltip="" >
            <template #default="scope">
              <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
            </template>
          </el-table-column>
        <el-table-column prop="printClassifyName" label="打印分类名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplate" label="打印模板名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplateAddr" label="打印模板地址"  show-overflow-tooltip="" />
        <el-table-column prop="printerList" label="打印机列表"  show-overflow-tooltip="" />
        <el-table-column prop="remark" label="备注"  show-overflow-tooltip="" />
         <el-table-column prop="createTime" label="创建时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
         <el-table-column prop="updateTime" label="修改时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
        <el-table-column prop="createUserName" label="创建人"  show-overflow-tooltip="" />
        <el-table-column prop="updateUserName" label="修改人"  show-overflow-tooltip="" />
        <el-table-column label="操作" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
          <template #default="scope">
            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼–辑 </el-button>
            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> åˆ é™¤ </el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
                v-model:currentPage="tableParamsWmsConfigPrint.page"
                v-model:page-size="tableParamsWmsConfigPrint.pageSize"
                :total="tableParamsWmsConfigPrint.total"
                :page-sizes="[10, 20, 50, 100, 200, 500]"
                small=""
                background=""
                @size-change="handleSizeChangeWmsConfigPrint"
                @current-change="handleCurrentChangeWmsConfigPrint"
                layout="total, sizes, prev, pager, next, jumper"
    />
      <printDialogWmsConfigPrint
        ref="printDialogRefWmsConfigPrint"
        :title="printWmsConfigPrintTitle"
        @reloadTable="handleQueryWmsConfigPrint" />
      <editDialogWmsConfigPrint
        ref="editDialogRefWmsConfigPrint"
        :title="editWmsConfigPrintTitle"
        @reloadTable="handleQueryWmsConfigPrint"
      />
    </el-card>
  </div>
</template>
<script lang="ts" setup="" name="wmsConfigPrint">
  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 printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue'
  import editDialogWmsConfigPrint from '/@/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue'
  import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/WmsConfig/wmsConfigPrint';
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
  import commonFunction from '/@/utils/commonFunction';
  const getEnumPrintClassifyData_Index = ref<any>([]);
    const { getEnumDesc } = commonFunction();
  /***************************************************[打印配置表操作]开始***************************************************/
  const showAdvanceQueryUIWmsConfigPrint = ref(false);
  const tableRefWmsConfigPrint = ref(null);
  const printDialogRefWmsConfigPrint = ref();
  const editDialogRefWmsConfigPrint = ref();
  const loadingWmsConfigPrint = ref(false);
  const disabled_btnWmsConfigPrint = ref(false);
  const tableDataWmsConfigPrint = ref<any>([]);
  const queryParamsWmsConfigPrint = ref<any>({});
  const tableParamsWmsConfigPrint = ref({
    page: 1,
    pageSize: 10,
    total: 0,
  });
  const printWmsConfigPrintTitle = ref("");
  const editWmsConfigPrintTitle = ref("");
  // æ”¹å˜é«˜çº§æŸ¥è¯¢çš„æŽ§ä»¶æ˜¾ç¤ºçŠ¶æ€
  const changeAdvanceQueryUIWmsConfigPrint = () => {
    showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value;
  }
  // æŸ¥è¯¢æ‰“印配置表
  const handleQueryWmsConfigPrint = async () => {
    loadingWmsConfigPrint.value = true;
    disabled_btnWmsConfigPrint.value = true;
    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value));
    if(res.data.type=="success"){
      tableDataWmsConfigPrint.value = res.data.result?.items ?? [];
      tableParamsWmsConfigPrint.value.total = res.data.result?.total;
    }
    loadingWmsConfigPrint.value = false;
    disabled_btnWmsConfigPrint.value = false;
  };
  // é‡ç½®æ‰“印配置表查询
  const resetWmsConfigPrint = async () => {
    queryParamsWmsConfigPrint.value = {}
  };
  // æ‰“印配置表列排序
  const sortChangeWmsConfigPrint = async (column: any) => {
    queryParamsWmsConfigPrint.value.field = column.prop;
    queryParamsWmsConfigPrint.value.order = column.order;
    await handleQueryWmsConfigPrint();
  };
  // æ‰“开新增打印配置表页面
  const openAddWmsConfigPrint = () => {
    editWmsConfigPrintTitle.value = '添加打印配置表';
    editDialogRefWmsConfigPrint.value.openDialog(1,{});
  };
  // æ‰“开打印打印配置表页面
  const openPrintWmsConfigPrint = async (row: any) => {
    printWmsConfigPrintTitle.value = '打印打印配置表';
  }
  // æ‰“开编辑打印配置表页面
  const openEditWmsConfigPrint = (row: any) => {
    editWmsConfigPrintTitle.value = '编辑打印配置表';
    editDialogRefWmsConfigPrint.value.openDialog(2,row);
  };
  // åˆ é™¤æ‰“印配置表
  const delWmsConfigPrint = (row: any) => {
    ElMessageBox.confirm(`确定要删除吗?`, "提示", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
  .then(async () => {
    loadingWmsConfigPrint.value = true;
    var ret = await deleteWmsConfigPrint(row);
    if(ret.data.type=="success"){
        ElMessage.success("删除成功");
    }
    loadingWmsConfigPrint.value = false;
    handleQueryWmsConfigPrint();
  })
  .catch(() => {});
  };
  // æ”¹å˜æ‰“印配置表页面容量
  const handleSizeChangeWmsConfigPrint = (val: number) => {
    tableParamsWmsConfigPrint.value.pageSize = val;
    handleQueryWmsConfigPrint();
  };
  // æ”¹å˜æ‰“印配置表页码序号
  const handleCurrentChangeWmsConfigPrint = (val: number) => {
    tableParamsWmsConfigPrint.value.page = val;
    handleQueryWmsConfigPrint();
  };
/***************************************************[打印配置表操作]结束***************************************************/
/***************************************************[打印配置表导出]开始***************************************************/
//定义当前页面的方法组
const functionMapWmsConfigPrint = {
      getEnumPrintClassifyData_Index,
      formatDate_T_Date,
      formatDate_T_Time
};
//点击导出按钮
const handleExportExcelWmsConfigPrint = async (formData:Blob) => {
    loadingWmsConfigPrint.value = true;
    disabled_btnWmsConfigPrint.value = true;
    var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value));
    new_tableParamsWmsConfigPrint.page = 1;
    new_tableParamsWmsConfigPrint.pageSize = 100000;
    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint));
    if(res.data.type=="success"){
      exportExcelWmsConfigPrint(res.data.result?.items ?? []);
    }
    loadingWmsConfigPrint.value = false;
    disabled_btnWmsConfigPrint.value = false;
};
//导出
const exportExcelWmsConfigPrint  = async (exportDataList:Array) => {
  exportPageExcel(exportDataList, tableRefWmsConfigPrint,"打印配置表",functionMapWmsConfigPrint);
};
/***************************************************[打印配置表导出]结束***************************************************/
  // æ‰“印配置表页面加载时
  onMounted(async () => {
    getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
  });
  handleQueryWmsConfigPrint();
</script>
<style scoped>
:deep(.el-input),
:deep(.el-select),
:deep(.el-input-number) {
    width: 100%;
}
</style>
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
@@ -23,6 +23,13 @@
                        
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="打印分类名" prop="printClassifyName">
                            <el-input v-model="ruleForm.printClassifyName" 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="printTemplate">
                            <el-input v-model="ruleForm.printTemplate" placeholder="请输入打印模板名" maxlength="255" show-word-limit clearable />
                            
@@ -37,11 +44,8 @@
                        
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="打印机列表" prop="printerListList">
                            <el-select clearable v-model="ruleForm.printerListList" placeholder="请选择打印机列表" multiple >
                                <el-option v-for="(item,index) in dl('PrinterList')"  :key="index" :value="item.name" :label="`[${item.code}] ${item.name}`"></el-option>
                            </el-select>
                        <el-form-item label="打印机列表" prop="printerList">
                            <el-input v-model="ruleForm.printerList" placeholder="请输入打印机列表" maxlength="500" show-word-limit clearable />
                            
                        </el-form-item>
                        
@@ -97,9 +101,10 @@
    //自行添加其他规则
    const rules = ref<FormRules>({
        printClassify: [{required: true, message: '请选择打印分类!', trigger: 'change',},],
        printClassifyName: [{required: true, message: '请输入打印分类名!', trigger: 'blur',},],
        printTemplate: [{required: true, message: '请输入打印模板名!', trigger: 'blur',},],
        printTemplateAddr: [{required: true, message: '请输入打印模板地址!', trigger: 'blur',},],
        printerList: [{required: true, message: '请选择打印机列表!', trigger: 'change',},],
        printerList: [{required: true, message: '请输入打印机列表!', trigger: 'blur',},],
        isDelete: [{required: true, message: '请选择软删除!', trigger: 'change',},],
    });
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
@@ -5,7 +5,7 @@
        <el-row>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
            <el-form-item label="关键字">
              <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="打印模板名,打印模板地址,打印机列表,备注,创建人,修改人"/>
              <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="打印分类名,打印模板名,打印模板地址,打印机列表,备注,创建人,修改人"/>
              
            </el-form-item>
          </el-col>
@@ -15,6 +15,12 @@
                <el-option v-for="(item,index) in getEnumPrintClassifyData_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="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印分类名">
              <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请输入打印分类名"/>
              
            </el-form-item>
          </el-col>
@@ -30,21 +36,18 @@
              
            </el-form-item>
          </el-col>
          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印机列表">
              <el-select clearable="" v-model="queryParamsWmsConfigPrint.printerList" placeholder="请选择打印机列表">
                <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`" />
              </el-select>
              <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请输入打印机列表"/>
              
            </el-form-item>
          </el-col> -->
          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="备注">
              <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="请输入备注"/>
              
            </el-form-item>
          </el-col> -->
          </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;">
@@ -74,22 +77,18 @@
        <el-table-column type="index" label="序号" width="55" align="center"/>
          <el-table-column prop="printClassify" label="打印分类"  show-overflow-tooltip="" >
            <template #default="scope">
              {{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}
              <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
            </template>
          </el-table-column>
        <el-table-column prop="printClassifyName" label="打印分类名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplate" label="打印模板名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplateAddr" label="打印模板地址"  show-overflow-tooltip="" />
        <el-table-column prop="printerList" label="打印机列表"  show-overflow-tooltip="" />
        <!-- <el-table-column prop="printerList" label="打印机列表"  show-overflow-tooltip="" >
            <template #default="scope">
              <el-tag :type="diValue('PrinterList', scope.row.printerList)?.tagType"> {{diValue("PrinterList", scope.row.printerList)?.name}} </el-tag>
            </template>
          </el-table-column> -->
        <el-table-column prop="remark" label="备注"  show-overflow-tooltip="" />
        <el-table-column prop="createUserName" label="创建人"  show-overflow-tooltip="" />
         <el-table-column prop="createTime" label="创建时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
        <el-table-column prop="updateUserName" label="修改人"  show-overflow-tooltip="" />
         <el-table-column prop="updateTime" label="修改时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
        <el-table-column prop="createUserName" label="创建人"  show-overflow-tooltip="" />
        <el-table-column prop="updateUserName" label="修改人"  show-overflow-tooltip="" />
        <el-table-column label="操作" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
          <template #default="scope">
            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼–辑 </el-button>
@@ -125,7 +124,7 @@
  import { ref,onMounted } from "vue";
  import { ElMessageBox, ElMessage } from "element-plus";
  import { auth } from '/@/utils/authFunction';
  import { getDictDataItemByValue as diValue, getDictDataList as dl } from '/@/utils/dict-utils';
  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' //引入导出方法
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
<template>
    <div class="wmsConfigPrint-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="printClassify">
                            <el-select clearable v-model="ruleForm.printClassify" placeholder="请选择打印分类">
                                <el-option v-for="(item,index) in  getEnumPrintClassifyData" :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="printClassifyName">
                            <el-input v-model="ruleForm.printClassifyName" 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="printTemplate">
                            <el-input v-model="ruleForm.printTemplate" 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="printTemplateAddr">
                            <el-input v-model="ruleForm.printTemplateAddr" 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="printerList">
                            <el-input v-model="ruleForm.printerList" placeholder="请输入打印机列表" maxlength="500" 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="remark">
                            <el-input v-model="ruleForm.remark" placeholder="请输入备注" maxlength="255" 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 { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/wmsConfigPrint/wmsConfigPrint";
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
    const getEnumPrintClassifyData = 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>({
        printClassify: [{required: true, message: '请选择打印分类!', trigger: 'change',},],
        printClassifyName: [{required: true, message: '请输入打印分类名!', trigger: 'blur',},],
        printTemplate: [{required: true, message: '请输入打印模板名!', trigger: 'blur',},],
        printTemplateAddr: [{required: true, message: '请输入打印模板地址!', trigger: 'blur',},],
        printerList: [{required: true, message: '请输入打印机列表!', trigger: 'blur',},],
        isDelete: [{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 detailWmsConfigPrint(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 addWmsConfigPrint(values);
                } else {
                    title='编辑';
                    ret = await updateWmsConfigPrint(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 () => {
            getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
    });
    //将属性或者函数暴露给父组件
    defineExpose({ openDialog });
</script>
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,280 @@
<template>
  <div class="wmsConfigPrint-container">
    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
      <el-form :model="queryParamsWmsConfigPrint" 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="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="打印分类名,打印模板名,打印模板地址,打印机列表,备注,创建人,修改人"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印分类">
              <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="请选择打印分类">
                <el-option v-for="(item,index) in getEnumPrintClassifyData_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="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印分类名">
              <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请输入打印分类名"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印模板名">
              <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="请输入打印模板名"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印模板地址">
              <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="请输入打印模板地址"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="打印机列表">
              <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请输入打印机列表"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
            <el-form-item label="备注">
              <el-input v-model="queryParamsWmsConfigPrint.remark" 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="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> æŸ¥è¯¢ </el-button>
                      <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> é‡ç½® </el-button>
                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> é«˜çº§æŸ¥è¯¢ </el-button>
                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> éšè— </el-button>
                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> æ–°å¢ž </el-button>
                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint"  v-auth="'wmsConfigPrint: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="tableRefWmsConfigPrint"
                :data="tableDataWmsConfigPrint"
                style="width: 100%"
                v-loading="loadingWmsConfigPrint"
                tooltip-effect="light"
                                row-key="id"
                @sort-change="sortChangeWmsConfigPrint"
                border="">
        <el-table-column type="index" label="序号" width="55" align="center"/>
          <el-table-column prop="printClassify" label="打印分类"  show-overflow-tooltip="" >
            <template #default="scope">
              <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
            </template>
          </el-table-column>
        <el-table-column prop="printClassifyName" label="打印分类名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplate" label="打印模板名"  show-overflow-tooltip="" />
        <el-table-column prop="printTemplateAddr" label="打印模板地址"  show-overflow-tooltip="" />
        <el-table-column prop="printerList" label="打印机列表"  show-overflow-tooltip="" />
        <el-table-column prop="remark" label="备注"  show-overflow-tooltip="" />
         <el-table-column prop="createTime" label="创建时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
         <el-table-column prop="updateTime" label="修改时间" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
        <el-table-column prop="createUserName" label="创建人"  show-overflow-tooltip="" />
        <el-table-column prop="updateUserName" label="修改人"  show-overflow-tooltip="" />
        <el-table-column label="操作" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
          <template #default="scope">
            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼–辑 </el-button>
            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> åˆ é™¤ </el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
                v-model:currentPage="tableParamsWmsConfigPrint.page"
                v-model:page-size="tableParamsWmsConfigPrint.pageSize"
                :total="tableParamsWmsConfigPrint.total"
                :page-sizes="[10, 20, 50, 100, 200, 500]"
                small=""
                background=""
                @size-change="handleSizeChangeWmsConfigPrint"
                @current-change="handleCurrentChangeWmsConfigPrint"
                layout="total, sizes, prev, pager, next, jumper"
    />
      <printDialogWmsConfigPrint
        ref="printDialogRefWmsConfigPrint"
        :title="printWmsConfigPrintTitle"
        @reloadTable="handleQueryWmsConfigPrint" />
      <editDialogWmsConfigPrint
        ref="editDialogRefWmsConfigPrint"
        :title="editWmsConfigPrintTitle"
        @reloadTable="handleQueryWmsConfigPrint"
      />
    </el-card>
  </div>
</template>
<script lang="ts" setup="" name="wmsConfigPrint">
  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 printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue'
  import editDialogWmsConfigPrint from '/@/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue'
  import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/wmsConfigPrint/wmsConfigPrint';
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
  import commonFunction from '/@/utils/commonFunction';
  const getEnumPrintClassifyData_Index = ref<any>([]);
    const { getEnumDesc } = commonFunction();
  /***************************************************[打印配置表操作]开始***************************************************/
  const showAdvanceQueryUIWmsConfigPrint = ref(false);
  const tableRefWmsConfigPrint = ref(null);
  const printDialogRefWmsConfigPrint = ref();
  const editDialogRefWmsConfigPrint = ref();
  const loadingWmsConfigPrint = ref(false);
  const disabled_btnWmsConfigPrint = ref(false);
  const tableDataWmsConfigPrint = ref<any>([]);
  const queryParamsWmsConfigPrint = ref<any>({});
  const tableParamsWmsConfigPrint = ref({
    page: 1,
    pageSize: 10,
    total: 0,
  });
  const printWmsConfigPrintTitle = ref("");
  const editWmsConfigPrintTitle = ref("");
  // æ”¹å˜é«˜çº§æŸ¥è¯¢çš„æŽ§ä»¶æ˜¾ç¤ºçŠ¶æ€
  const changeAdvanceQueryUIWmsConfigPrint = () => {
    showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value;
  }
  // æŸ¥è¯¢æ‰“印配置表
  const handleQueryWmsConfigPrint = async () => {
    loadingWmsConfigPrint.value = true;
    disabled_btnWmsConfigPrint.value = true;
    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value));
    if(res.data.type=="success"){
      tableDataWmsConfigPrint.value = res.data.result?.items ?? [];
      tableParamsWmsConfigPrint.value.total = res.data.result?.total;
    }
    loadingWmsConfigPrint.value = false;
    disabled_btnWmsConfigPrint.value = false;
  };
  // é‡ç½®æ‰“印配置表查询
  const resetWmsConfigPrint = async () => {
    queryParamsWmsConfigPrint.value = {}
  };
  // æ‰“印配置表列排序
  const sortChangeWmsConfigPrint = async (column: any) => {
    queryParamsWmsConfigPrint.value.field = column.prop;
    queryParamsWmsConfigPrint.value.order = column.order;
    await handleQueryWmsConfigPrint();
  };
  // æ‰“开新增打印配置表页面
  const openAddWmsConfigPrint = () => {
    editWmsConfigPrintTitle.value = '添加打印配置表';
    editDialogRefWmsConfigPrint.value.openDialog(1,{});
  };
  // æ‰“开打印打印配置表页面
  const openPrintWmsConfigPrint = async (row: any) => {
    printWmsConfigPrintTitle.value = '打印打印配置表';
  }
  // æ‰“开编辑打印配置表页面
  const openEditWmsConfigPrint = (row: any) => {
    editWmsConfigPrintTitle.value = '编辑打印配置表';
    editDialogRefWmsConfigPrint.value.openDialog(2,row);
  };
  // åˆ é™¤æ‰“印配置表
  const delWmsConfigPrint = (row: any) => {
    ElMessageBox.confirm(`确定要删除吗?`, "提示", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
  .then(async () => {
    loadingWmsConfigPrint.value = true;
    var ret = await deleteWmsConfigPrint(row);
    if(ret.data.type=="success"){
        ElMessage.success("删除成功");
    }
    loadingWmsConfigPrint.value = false;
    handleQueryWmsConfigPrint();
  })
  .catch(() => {});
  };
  // æ”¹å˜æ‰“印配置表页面容量
  const handleSizeChangeWmsConfigPrint = (val: number) => {
    tableParamsWmsConfigPrint.value.pageSize = val;
    handleQueryWmsConfigPrint();
  };
  // æ”¹å˜æ‰“印配置表页码序号
  const handleCurrentChangeWmsConfigPrint = (val: number) => {
    tableParamsWmsConfigPrint.value.page = val;
    handleQueryWmsConfigPrint();
  };
/***************************************************[打印配置表操作]结束***************************************************/
/***************************************************[打印配置表导出]开始***************************************************/
//定义当前页面的方法组
const functionMapWmsConfigPrint = {
      getEnumPrintClassifyData_Index,
      formatDate_T_Date,
      formatDate_T_Time
};
//点击导出按钮
const handleExportExcelWmsConfigPrint = async (formData:Blob) => {
    loadingWmsConfigPrint.value = true;
    disabled_btnWmsConfigPrint.value = true;
    var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value));
    new_tableParamsWmsConfigPrint.page = 1;
    new_tableParamsWmsConfigPrint.pageSize = 100000;
    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint));
    if(res.data.type=="success"){
      exportExcelWmsConfigPrint(res.data.result?.items ?? []);
    }
    loadingWmsConfigPrint.value = false;
    disabled_btnWmsConfigPrint.value = false;
};
//导出
const exportExcelWmsConfigPrint  = async (exportDataList:Array) => {
  exportPageExcel(exportDataList, tableRefWmsConfigPrint,"打印配置表",functionMapWmsConfigPrint);
};
/***************************************************[打印配置表导出]结束***************************************************/
  // æ‰“印配置表页面加载时
  onMounted(async () => {
    getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
  });
  handleQueryWmsConfigPrint();
</script>
<style scoped>
:deep(.el-input),
:deep(.el-select),
:deep(.el-input-number) {
    width: 100%;
}
</style>
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
@@ -62,4 +62,7 @@
    public const string WmsStockSnapshotDetailsGroupName = "库存快照管理";
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
@@ -31,7 +31,7 @@
        /// <summary>
        /// æ‰“印机列表
        /// </summary>
        public virtual List<string> PrinterListList { get; set; }
        public virtual string PrinterList { get; set; }
        
        /// <summary>
        /// å¤‡æ³¨
@@ -39,19 +39,9 @@
        public virtual string Remark { get; set; }
        
        /// <summary>
        /// åˆ›å»ºäºº
        /// </summary>
        public virtual string CreateUserName { get; set; }
        /// <summary>
        /// åˆ›å»ºæ—¶é—´
        /// </summary>
        public virtual DateTime? CreateTime { get; set; }
        /// <summary>
        /// ä¿®æ”¹äºº
        /// </summary>
        public virtual string UpdateUserName { get; set; }
        
        /// <summary>
        /// ä¿®æ”¹æ—¶é—´
@@ -64,9 +54,19 @@
        public virtual long? CreateUserId { get; set; }
        
        /// <summary>
        /// åˆ›å»ºäºº
        /// </summary>
        public virtual string CreateUserName { get; set; }
        /// <summary>
        /// ä¿®æ”¹äººId
        /// </summary>
        public virtual long? UpdateUserId { get; set; }
        /// <summary>
        /// ä¿®æ”¹äºº
        /// </summary>
        public virtual string UpdateUserName { get; set; }
        
        /// <summary>
        /// è½¯åˆ é™¤
@@ -128,6 +128,11 @@
        [Required(ErrorMessage = "打印分类不能为空")]
        public override Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; }
        
        /// <summary>
        /// æ‰“印分类名
        /// </summary>
        [Required(ErrorMessage = "打印分类名不能为空")]
        public override string PrintClassifyName { get; set; }
        
        /// <summary>
        /// æ‰“印模板名
@@ -145,7 +150,7 @@
        /// æ‰“印机列表
        /// </summary>
        [Required(ErrorMessage = "打印机列表不能为空")]
        public override List<string> PrinterListList { get; set; }
        public override string PrinterList { get; set; }
        
        /// <summary>
        /// è½¯åˆ é™¤
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
@@ -36,29 +36,14 @@
    public string PrinterList { get; set; }
    /// <summary>
    /// æ‰“印机列表
    /// </summary>
    public List<string> PrinterListList { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public string Remark { get; set; }
    
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public string CreateUserName { get; set; }
    /// <summary>
    /// åˆ›å»ºæ—¶é—´
    /// </summary>
    public DateTime? CreateTime { get; set; }
    /// <summary>
    /// ä¿®æ”¹äºº
    /// </summary>
    public string UpdateUserName { get; set; }
    
    /// <summary>
    /// ä¿®æ”¹æ—¶é—´
@@ -71,11 +56,21 @@
    public long? CreateUserId { get; set; }
    
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public string CreateUserName { get; set; }
    /// <summary>
    /// ä¿®æ”¹äººId
    /// </summary>
    public long? UpdateUserId { get; set; }
    
    /// <summary>
    /// ä¿®æ”¹äºº
    /// </summary>
    public string UpdateUserName { get; set; }
    /// <summary>
    /// è½¯åˆ é™¤
    /// </summary>
    public bool IsDelete { get; set; }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
@@ -4,8 +4,6 @@
using System.Data;
using System.Web;
using System.Text;
using NPOI.OpenXmlFormats.Dml;
namespace Admin.NET.Application;
/// <summary>
/// æ‰“印配置表服务
@@ -30,16 +28,7 @@
    public async Task<SqlSugarPagedList<WmsConfigPrintOutput>> Page(WmsConfigPrintInput input)
    {
        var query = CommonPageFilter(input);
        var list = await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
        foreach (var item in list.Items)
        {
            //单独处理按钮 ã€Editby shaocx,2024-05-27】
            if (!string.IsNullOrEmpty(item.PrinterList))
            {
                item.PrinterListList = item.PrinterList.Split(",").ToList();
            }
        }
        return list;
        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
    }
    /// <summary>
@@ -53,16 +42,7 @@
    public async Task<List<WmsConfigPrintOutput>> List([FromQuery] WmsConfigPrintInput input)
    {
        var query = CommonPageFilter(input);
        var list = await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync();
        foreach (var item in list)
        {
            //单独处理按钮 ã€Editby shaocx,2024-05-27】
            if (!string.IsNullOrEmpty(item.PrinterList))
            {
                item.PrinterListList = item.PrinterList.Split(",").ToList();
            }
        }
        return list;
        return await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync();
    }
    /// <summary>
@@ -75,10 +55,7 @@
    [Description("WmsConfigPrint/Add")]
    public async Task<long> Add(AddWmsConfigPrintInput input)
    {
        var entity = input.Adapt<WmsConfigPrint>();
        entity.PrintClassifyName = entity.PrintClassify.ToString();
        entity.PrinterList = string.Join(",", input.PrinterListList);
        //重复性验证
        await CheckExist(entity);
@@ -113,8 +90,6 @@
    public async Task Update(UpdateWmsConfigPrintInput input)
    {
        var entity = input.Adapt<WmsConfigPrint>();
        entity.PrintClassifyName = entity.PrintClassify.ToString();
        entity.PrinterList = string.Join(",", input.PrinterListList);
        //重复性验证
        await CheckExist(entity, true);
@@ -130,15 +105,9 @@
    [HttpGet]
    [ApiDescriptionSettings(Name = "Detail")]
    [Description("WmsConfigPrint/Detail")]
    public async Task<WmsConfigPrintOutput> Detail([FromQuery] QueryByIdWmsConfigPrintInput input)
    public async Task<WmsConfigPrint> Detail([FromQuery] QueryByIdWmsConfigPrintInput input)
    {
        var obj= await _rep.GetFirstAsync(u => u.Id == input.Id);
        var entity = obj.Adapt<WmsConfigPrintOutput>();
        if (!string.IsNullOrEmpty(entity.PrinterList))
        {
            entity.PrinterListList = entity.PrinterList.Split(",").ToList();
        }
        return entity;
        return await _rep.GetFirstAsync(u => u.Id == input.Id);
    }
@@ -172,7 +141,6 @@
            .WhereIF(!string.IsNullOrWhiteSpace(input.PrinterList), u => u.PrinterList.Contains(input.PrinterList.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim()))
            .Select<WmsConfigPrintOutput>();
        return query;
    }
@@ -190,38 +158,7 @@
        //没有配置组合校验,不需要验重
        bool isExistForSingle_PrintTemplate = false;
        if (!isEdit)//新增
        {
            //数据是否单独存在重复-打印模板名
            isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
                            u.PrintTemplate.Equals(input.PrintTemplate));
        }
        else//编辑
        {
            //当前编辑数据以外是否单独存在重复-打印模板名
            isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
                              u.Id != input.Id
                              && u.PrintTemplate.Equals(input.PrintTemplate));
        }
        if (isExistForSingle_PrintTemplate) throw Oops.Oh($"验证失败,打印模板名[" + input.PrintTemplate + "]已存在");
        bool isExistForSingle_PrintTemplateAddr = false;
        if (!isEdit)//新增
        {
            //数据是否单独存在重复-打印模板地址
            isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
                            u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
        }
        else//编辑
        {
            //当前编辑数据以外是否单独存在重复-打印模板地址
            isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
                              u.Id != input.Id
                              && u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
        }
        if (isExistForSingle_PrintTemplateAddr) throw Oops.Oh($"验证失败,打印模板地址[" + input.PrintTemplateAddr + "]已存在");
            //没有配置单独校验,不需要验重
    }
    /// <summary>
@@ -245,29 +182,6 @@
        //根据单独校验验证表格中中是否已存在相同数据  
        var existExcelItemForSingle_PrintTemplate = inputs.GroupBy(g => new { g.PrintTemplate }).Where(g => g.Count() > 1).ToList();
        if (existExcelItemForSingle_PrintTemplate != null && existExcelItemForSingle_PrintTemplate.Count > 0)
        {
            var item = existExcelItemForSingle_PrintTemplate.First().ToList().First();
            throw Oops.Oh($"验证失败,导入的表格中,打印模板名[" + item.PrintTemplate + "]已重复存在");
        }
        var existExcelItemForSingle_PrintTemplateAddr = inputs.GroupBy(g => new { g.PrintTemplateAddr }).Where(g => g.Count() > 1).ToList();
        if (existExcelItemForSingle_PrintTemplateAddr != null && existExcelItemForSingle_PrintTemplateAddr.Count > 0)
        {
            var item = existExcelItemForSingle_PrintTemplateAddr.First().ToList().First();
            throw Oops.Oh($"验证失败,导入的表格中,打印模板地址[" + item.PrintTemplateAddr + "]已重复存在");
        }
        //根据单独校验验证数据库中是否已存在相同数据
        var existDBItemList = await _rep.GetListAsync(w =>
                    inputs.Select(s => s.PrintTemplate).ToList().Contains(w.PrintTemplate) ||
                    inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(w.PrintTemplateAddr)
   );
        var db_ForSingle_PrintTemplate = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplate).ToList().Contains(g.PrintTemplate));
        if (db_ForSingle_PrintTemplate != null) throw Oops.Oh($"验证失败,系统中,打印模板名[" + db_ForSingle_PrintTemplate.PrintTemplate + "]已重复存在");
        var db_ForSingle_PrintTemplateAddr = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(g.PrintTemplateAddr));
        if (db_ForSingle_PrintTemplateAddr != null) throw Oops.Oh($"验证失败,系统中,打印模板地址[" + db_ForSingle_PrintTemplateAddr.PrintTemplateAddr + "]已重复存在");