自动化立体仓库 - WMS系统
#
zhou zhou
7 天以前 a428561cc29fa6fdfe9bec62f5d00b5c1391df6a
#
1个文件已修改
225 ■■■■ 已修改文件
src/main/webapp/views/erpReceiving/erpReceiving.html 225 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/erpReceiving/erpReceiving.html
@@ -13,88 +13,81 @@
<body>
    <div id="app">
        <el-card>
        <el-form :inline="true">
            <el-form-item label="开工日期">
                <el-date-picker
                        v-model="tableSearchParam.fplancommitdate"
                        type="date"
                        placeholder="选择日期"
                        :default-value="defaultTime"
            <el-form :inline="true">
                <el-form-item label="开工日期">
                    <el-date-picker v-model="tableSearchParam.fplancommitdate" type="date" placeholder="选择日期"
                        :default-value="defaultTime" />
                </el-form-item>
                <el-form-item label="生产单号">
                    <el-input v-model="tableSearchParam.soCode" placeholder="请输入生产单号"></el-input>
                </el-form-item>
                <el-form-item label="车间">
                    <el-select v-model="tableSearchParam.depName" placeholder="选择车间" style="width: 240px">
                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
                    </el-select>
                </el-form-item>
                <el-form-item label="">
                    <el-button type="primary" @click="page" circle>
                        <el-icon>
                            <Search />
                        </el-icon>
                    </el-button>
                </el-form-item>
            </el-form>
            <el-form :inline="true">
                <el-form-item label="">
                    <el-button type="primary" @click="tongbu">同步</el-button>
                </el-form-item>
                <el-form-item label="">
                    <el-button type="primary" @click="caneltongbu1">撤销同步</el-button>
                </el-form-item>
                <el-form-item label="">
                    <el-button type="primary" @click="tongbureturn">退料</el-button>
                </el-form-item>
                <el-form-item label="">
                    <el-button type="primary" @click="caneltongbureturn">撤销退料</el-button>
                </el-form-item>
            </el-form>
            <el-table :data="tableData" border style="width: 100%" row-key="finterid"
                @selection-change="handleSelectionChange" max-height="650">
                <el-table-column type="selection">
                </el-table-column>
                <el-table-column type="index" width="50">
                </el-table-column>
                <el-table-column prop="soCode" label="生产单号">
                </el-table-column>
                <el-table-column prop="fbillno" label="任务单号">
                </el-table-column>
                <el-table-column prop="invCode" label="物料编码">
                </el-table-column>
                <el-table-column prop="invName" label="物料名称" width="300" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column prop="invStd" label="规格" width="200" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column prop="depName" label="车间">
                </el-table-column>
                <el-table-column prop="fauxqty" label="数量" width="90">
                </el-table-column>
                <el-table-column prop="fplancommitdate" label="计划开工时间">
                </el-table-column>
                <el-table-column prop="fplanfinishdate" label="计划完工时间">
                </el-table-column>
                <el-table-column prop="izSyncReceive" label="是否同步" width="90">
                </el-table-column>
                <el-table-column prop="izSyncReceiveReturn" label="是否退料" width="90">
                </el-table-column>
            </el-table>
            <!--            <div style="margin-top: 10px">-->
            <!--                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"-->
            <!--                               :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize"-->
            <!--                               layout="total, sizes, prev, pager, next, jumper" :total="pageTotal">-->
            <!--                </el-pagination>-->
            <!--            </div>-->
                />
            </el-form-item>
            <el-form-item label="生产单号">
                <el-input v-model="tableSearchParam.soCode" placeholder="请输入生产单号"></el-input>
            </el-form-item>
            <el-form-item label="车间">
                <el-select v-model="tableSearchParam.depName" placeholder="选择车间" style="width: 240px" >
                    <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                    />
                </el-select>
            </el-form-item>
            <el-form-item label="">
                <el-button type="primary" @click="page" circle >
                    <el-icon><Search /></el-icon>
                </el-button>
            </el-form-item>
        </el-form>
        <el-form :inline="true">
            <el-form-item label="">
               <el-button type="primary" @click="tongbu" >同步</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary" @click="caneltongbu1">撤销同步</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary" @click="tongbureturn">退料</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary" @click="caneltongbureturn">撤销退料</el-button>
            </el-form-item>
        </el-form>
        <el-table :data="tableData" border style="width: 100%" row-key="finterid" @selection-change="handleSelectionChange" max-height="650">
            <el-table-column type="selection" >
            </el-table-column>
            <el-table-column type="index" width="50" >
            </el-table-column>
            <el-table-column prop="soCode" label="生产单号" >
            </el-table-column>
            <el-table-column prop="fbillno" label="任务单号">
            </el-table-column>
            <el-table-column prop="invCode" label="物料编码">
            </el-table-column>
            <el-table-column prop="invName" label="物料名称" width="300" :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="invStd" label="规格" width="200" :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="depName" label="车间">
            </el-table-column>
            <el-table-column prop="fauxqty" label="数量" width="90">
            </el-table-column>
            <el-table-column prop="fplancommitdate" label="计划开工时间">
            </el-table-column>
            <el-table-column prop="fplanfinishdate" label="计划完工时间">
            </el-table-column>
            <el-table-column prop="izSyncReceive" label="是否同步" width="90">
            </el-table-column>
            <el-table-column prop="izSyncReceiveReturn" label="是否退料" width="90">
            </el-table-column>
        </el-table>
<!--            <div style="margin-top: 10px">-->
<!--                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"-->
<!--                               :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize"-->
<!--                               layout="total, sizes, prev, pager, next, jumper" :total="pageTotal">-->
<!--                </el-pagination>-->
<!--            </div>-->
        </el-card>
    </div>
    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
    <script src="../../static/evn/vue.global.js"></script>
@@ -103,20 +96,20 @@
    <script type="module">
        // 导入中文语言包
        import zhCn from '../../static/js/erp/zh-cn.js';
        const { createApp, ref, onMounted } = Vue;
        const app = createApp({
            setup() {
                const currentPage = ref(1)
                const pageSizes = ref([15,20, 30, 50, 100, 200])
                const pageSizes = ref([15, 20, 30, 50, 100, 200])
                const pageSize = ref(15)
                const pageTotal = ref(0)
                const tableSearchParam = ref({
                    soCode: null,
                    fplancommitdate: new Date(),
                    depName:null
                    depName: null
                })
                const tableData = ref([])
                const defaultTime = ref(new Date())
@@ -135,8 +128,8 @@
                ]
                const selectList = ref([])
                function page(){
                function page() {
                    let data = JSON.parse(JSON.stringify(tableSearchParam.value))
                    data.curr = currentPage.value
                    data.limit = pageSize.value
@@ -158,7 +151,7 @@
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'GET',
                        success: function(res) {
                        success: function (res) {
                            loading.close()
                            if (res.code == 200) {
                                tableData.value = res.data
@@ -178,13 +171,13 @@
                    });
                }
                function tongbu(){
                    if (selectList.value.length === 0){
                function tongbu() {
                    if (selectList.value.length === 0) {
                        ElementPlus.ElMessage({
                            message: "请先选择",
                            type: 'error'
                        });
                        return ;
                        return;
                    }
                    const loading = ElementPlus.ElLoading.service({
                        lock: true,
@@ -192,7 +185,7 @@
                        background: 'rgba(0, 0, 0, 0.7)',
                    })
                    $.ajax({
                        url:"http://127.0.0.1:9090/mo/materialreceive/tongbu",
                        url: "http://127.0.0.1:9090/mo/materialreceive/tongbu",
                        headers: {
                            'token': localStorage.getItem('token')
                        },
@@ -200,7 +193,7 @@
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                        success: function (res) {
                            loading.close();
                            if (res.code == 200) {
                                ElementPlus.ElMessage({
@@ -220,13 +213,22 @@
                    });
                }
                function caneltongbu1(){
                    if (selectList.value.length === 0){
                function caneltongbu1() {
                    if (selectList.value.length === 0) {
                        ElementPlus.ElMessage({
                            message: "请先选择",
                            type: 'error'
                        });
                        return ;
                        return;
                    }
                    // 检查是否有已退料的记录
                    const hasReturned = selectList.value.some(item => item.izSyncReceiveReturn === '是');
                    if (hasReturned) {
                        ElementPlus.ElMessage({
                            message: "选中的数据中存在已退料的记录,不允许撤销同步",
                            type: 'error'
                        });
                        return;
                    }
                    const loading = ElementPlus.ElLoading.service({
                        lock: true,
@@ -242,7 +244,7 @@
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                        success: function (res) {
                            loading.close();
                            if (res.code == 200) {
                                ElementPlus.ElMessage({
@@ -262,13 +264,22 @@
                    });
                }
                function tongbureturn(){
                    if (selectList.value.length === 0){
                function tongbureturn() {
                    if (selectList.value.length === 0) {
                        ElementPlus.ElMessage({
                            message: "请先选择",
                            type: 'error'
                        });
                        return ;
                        return;
                    }
                    // 检查是否有已退料的记录
                    const hasReturned = selectList.value.some(item => item.izSyncReceive !== '是');
                    if (hasReturned) {
                        ElementPlus.ElMessage({
                            message: "选中的数据中存在为同步的记录,不允许生成退料",
                            type: 'error'
                        });
                        return;
                    }
                    const loading = ElementPlus.ElLoading.service({
                        lock: true,
@@ -284,7 +295,7 @@
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                        success: function (res) {
                            loading.close();
                            if (res.code == 200) {
                                ElementPlus.ElMessage({
@@ -304,13 +315,13 @@
                    });
                }
                function caneltongbureturn(){
                    if (selectList.value.length === 0){
                function caneltongbureturn() {
                    if (selectList.value.length === 0) {
                        ElementPlus.ElMessage({
                            message: "请先选择",
                            type: 'error'
                        });
                        return ;
                        return;
                    }
                    const loading = ElementPlus.ElLoading.service({
                        lock: true,
@@ -326,7 +337,7 @@
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                        success: function (res) {
                            loading.close();
                            if (res.code == 200) {
                                ElementPlus.ElMessage({
@@ -345,18 +356,18 @@
                        }
                    });
                }
                function handleSizeChange(val) {
                    pageSize.value = val
                    currentPage.value = 1 // 重置到第一页
                    page()
                }
                function handleCurrentChange(val) {
                    currentPage.value = val
                    page()
                }
                function handleSelectionChange(val) {
                function handleSelectionChange(val) {
                    console.log(val)
                    selectList.value = val
                }
@@ -382,11 +393,11 @@
                    handleSizeChange,
                    handleCurrentChange,
                    handleSelectionChange
                }
            }
        });
        app.use(ElementPlus, {
            locale: zhCn.default || zhCn
        });