liuying
2024-11-27 92055daa17b8d7f9d6e60113f17af269efcf2152
前端
已添加2个文件
已删除1个文件
831 ■■■■ 文件已修改
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/备份index.vue 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/component/editDialog.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/±¸·Ýindex.vue
ÎļþÒÑɾ³ý
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/component/editDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<template>
    <div class="wmsSubstituteGood-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">
                <el-row :gutter="35">
                    <el-form-item v-show="false">
                        <el-input v-model="ruleForm.id" />
                    </el-form-item>
                </el-row>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="cancel">取 æ¶ˆ</el-button>
                    <el-button type="primary" @click="submit">ç¡® å®š</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 { addWmsSubstituteGood, updateWmsSubstituteGood, detailWmsSubstituteGood } from "/@/api/main/WmsBase/wmsSubstituteGood";
    //父级传递来的参数
    var props = defineProps({
        title: {
        type: String,
        default: "",
    },
    });
    //父级传递来的函数,用于回调
    const emit = defineEmits(["reloadTable"]);
    const ruleFormRef = ref();
    const isShowDialog = ref(false);
    const ruleForm = ref<any>({});
    //自行添加其他规则
    const rules = ref<FormRules>({
        substituteCode: [{required: true, message: '请输入替代编号!', trigger: 'blur',},],
        materialCode: [{required: true, message: '请选择物料编号!', trigger: 'change',},],
        materialName: [{required: true, message: '请输入物料名称!', trigger: 'blur',},],
        substituteMaterialCode: [{required: true, message: '请输入替代品物料编号!', trigger: 'blur',},],
        substituteMaterialName: [{required: true, message: '请输入替代品物料名称!', trigger: 'blur',},],
        substituteIndex: [{required: true, message: '请输入替代次序!', trigger: 'blur',},],
    });
    // æ‰“开弹窗
    const openDialog = async (row: any) => {
        // ruleForm.value = JSON.parse(JSON.stringify(row));
        // æ”¹ç”¨detail获取最新数据来编辑
        let rowData = JSON.parse(JSON.stringify(row));
        if (rowData.id)
            ruleForm.value = (await detailWmsSubstituteGood(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 () => {
        ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
            if (isValid) {
                let values = ruleForm.value;
                if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
                    await addWmsSubstituteGood(values);
                } else {
                    await updateWmsSubstituteGood(values);
                }
                closeDialog();
            } else {
                ElMessage({
                    message: `表单有${Object.keys(fields).length}处验证失败,请修改后再提交`,
                    type: "error",
                });
            }
        });
    };
    // é¡µé¢åŠ è½½æ—¶
    onMounted(async () => {
    });
    //将属性或者函数暴露给父组件
    defineExpose({ openDialog });
</script>
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,312 @@
<template>
    <div class="wmsSubstituteGood-container">
        <el-card class="full-table" shadow="hover" style="margin-top: 5px">
            <el-form :model="queryParams" @submit.native.prevent ref="queryForm" labelWidth="100">
                <el-row>
                    <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10">
                        <el-form-item label="部件条码" size="large">
                            <el-input
                                size="large"
                                v-model="queryParams.upi"
                                ref="materialCodeInput"
                                clearable=""
                                placeholder="请扫部件条码"
                                @input="handleChange"
                                @keyup.enter.prevent="handleEnter"
                                @confirm.enter.prevent="handleEnter"
                            />
                        </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 size="large" type="primary" icon="ele-Search" @click="handleQuery"> æŸ¥è¯¢ </el-button>
                                <el-button size="large" icon="ele-Refresh" @click="() => (queryParams = {})"> é‡ç½® </el-button>
                                <!--
                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> é«˜çº§æŸ¥è¯¢ </el-button>
                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> éšè— </el-button> -->
                                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> æ–°å¢ž </el-button> -->
                            </el-button-group>
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <br />
            <div class="detailBox">
                <ul>
                    <!-- <li>
                        <span class="text_left">是否齐包:</span>
                        <span class="text_rt"></span>
                    </li>
                    <li>
                        <span class="text_left">是否齐套:</span>
                        <span class="text_rt"></span>
                    </li> -->
                    <li>
                        <span class="text_left">部件条码:</span>
                        <span class="text_rt">{{ tableData.upi }}</span>
                    </li>
                    <li>
                        <span class="text_left">部件名称:</span>
                        <span class="text_rt">{{ tableData.detailName }}</span>
                    </li>
                    <li>
                        <span class="text_left">批次号:</span>
                        <span class="text_rt">{{ tableData.planNo }}</span>
                    </li>
                    <li>
                        <span class="text_left">订单号:</span>
                        <span class="text_rt">{{ tableData.orderId }}</span>
                    </li>
                    <br />    <br />    <br />    <br />    <br />    <br />
                        <br />    <br />    <br />    <br />    <br />
                    <br />    <br />    <br />    <br />    <br />    <br />
                    <!-- <li>
                        <span class="text_left">客户名称:</span>
                        <span class="text_rt">{{ tableData.Info10 }}</span>
                    </li> -->
                    <!-- <li>
                        <span class="text_left">长:</span>
                        <span class="text_rt">{{ tableData.length }}</span>
                    </li>
                    <li>
                        <span class="text_left">宽:</span>
                        <span class="text_rt">{{ tableData.width }}</span>
                    </li>
                    <li>
                        <span class="text_left">厚:</span>
                        <span class="text_rt">{{ tableData.thk }}</span>
                    </li>
                    <li>
                        <span class="text_left">部件纹理:</span>
                        <span class="text_rt">{{ tableData.matgrid }}</span>
                    </li>
                    <li>
                        <span class="text_left">是否封边:</span>
                        <span class="text_rt">{{ tableData.isEB }}</span>
                    </li>
                    <li>
                        <span class="text_left">打孔设备编号:</span>
                        <span class="text_rt">{{ tableData.dRNum }}</span>
                    </li> -->
                </ul>
            </div>
            <!-- ç”Ÿæˆform é½å¥— é½åŒ… è®¾ç½®ng包 -->
            <!-- ç”Ÿæˆform é½å¥— é½åŒ… è®¾ç½®ng包 -->
            <!-- <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
      <el-row :gutter="35">
        <el-form-item v-show="false">
          <el-input v-model="ruleForm.id" />
        </el-form-item>
        <el-form-item label="齐套" prop="completeSet">
          <el-select v-model="ruleForm.completeSet" placeholder="请选择齐套">
            <el-option label="选项1" value="option1"></el-option>
            <el-option label="选项2" value="option2"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="齐包" prop="packageSetup">
          <el-input v-model="ruleForm.packageSetup" placeholder="请输入齐包设置"></el-input>
        </el-form-item>
        <el-form-item label="ng包" prop="ngPackage">
          <el-input v-model="ruleForm.ngPackage" placeholder="请输入ng包"></el-input>
        </el-form-item>
      </el-row>
    </el-form> -->
        </el-card>
    </div>
</template>
<script lang="ts" setup="" name="wmsSubstituteGood">
import { onMounted, ref } 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 } from '/@/utils/formatTime';
import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New';
import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue';
import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
import { ShortageList } from '/@/api/main/ReportCenter/wmsStockQuan';
const showAdvanceQueryUI = ref(false);
const printDialogRef = ref();
const editDialogRef = ref();
const loading = ref(false);
const tableData = ref<any>([]);
const queryParams = ref<any>({
    upi: '',
});
const tableParams = ref({
    page: 1,
    pageSize: 10,
    total: 0,
});
const getIsDisabledData = [
    {
        value: true,
        text: '是',
    },
    {
        value: false,
        text: '否',
    },
];
const printWmsSubstituteGoodTitle = ref('');
const editWmsSubstituteGoodTitle = ref('');
// æ”¹å˜é«˜çº§æŸ¥è¯¢çš„æŽ§ä»¶æ˜¾ç¤ºçŠ¶æ€
const changeAdvanceQueryUI = () => {
    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
};
// ç”¨äºŽå¼•用输入框
const materialCodeInput = ref(null);
onMounted(() => {
    // åœ¨ç»„件挂载后进行聚焦
    materialCodeInput.value.$el.querySelector('input').focus();
});
// æŸ¥è¯¢æ“ä½œ 888888888
const handleQuery = async () => {
    console.log('8888888进入方法', queryParams.value);
    if (!queryParams.value.upi) {
        return;
    }
    console.log('查询');
    loading.value = true;
    var res = await ShortageList(Object.assign(queryParams.value, tableParams.value));
    if (res.data.result.length != 1) {
        ElMessage.warning('此条码不存在或不在缺料清单中!');
        tableData.value = [];
        return;
    }
    tableData.value = res.data.result[0] ?? [];
    loading.value = false;
};
// åˆ—排序
const sortChange = async (column: any) => {
    queryParams.value.field = column.prop;
    queryParams.value.order = column.order;
    await handleQuery();
};
// æ‰“开新增页面
const openAddWmsSubstituteGood = () => {
    editWmsSubstituteGoodTitle.value = '添加替代品管理';
    editDialogRef.value.openDialog({});
};
// æ‰“开打印页面
const openPrintWmsSubstituteGood = async (row: any) => {
    printWmsSubstituteGoodTitle.value = '打印替代品管理';
};
// æ‰“开编辑页面
const openEditWmsSubstituteGood = (row: any) => {
    editWmsSubstituteGoodTitle.value = '编辑替代品管理';
    editDialogRef.value.openDialog(row);
};
// åˆ é™¤
const delWmsSubstituteGood = (row: any) => {
    ElMessageBox.confirm(`确定要删除吗?`, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
    })
        .then(async () => {
            var ret = await deleteWmsSubstituteGood(row);
            if (ret.data.type == 'success') {
                handleQuery();
                ElMessage.success('删除成功');
            }
        })
        .catch(() => {});
};
// æ”¹å˜é¡µé¢å®¹é‡
const handleSizeChange = (val: number) => {
    tableParams.value.pageSize = val;
    handleQuery();
};
// æ”¹å˜é¡µç åºå·
const handleCurrentChange = (val: number) => {
    tableParams.value.page = val;
    handleQuery();
};
// handleQuery();
const rules = {
    // è¿™é‡Œå®šä¹‰è¡¨å•验证规则
    completeSet: [{ required: true, message: '请选择齐套', trigger: 'change' }],
    packageSetup: [{ required: true, message: '请输入齐包设置', trigger: 'blur' }],
    ngPackage: [{ required: true, message: '请输入ng包', trigger: 'blur' }],
};
const ruleForm = ref({
    id: '',
    completeSet: '',
    packageSetup: '',
    ngPackage: '',
});
const sourceEnum: any = ref([
    {
        value: 'id',
        text: 'ID',
    },
]);
const handleChange = (event: Event) => {
    console.log('77777777777');
    handleQuery();
};
const handleEnter = (event: Event) => {
    event.preventDefault(); // é˜»æ­¢é»˜è®¤äº‹ä»¶
    handleQuery();
};
</script>
<style scoped>
:deep(.el-input),
:deep(.el-select),
:deep(.el-input-number) {
    width: 100%;
}
.detailBox {
    width: 90%;
    margin: 0 auto;
    display: block;
    padding-bottom: 10px;
    ul {
        margin: 0;
        padding: 0;
        li {
            display: block;
            line-height: 30px;
            text-align: left;
            list-style-type: none;
            width: 25%;
            word-wrap: break-word;
        }
    }
}
.text_left {
    font-weight: 700;
}
</style>