ZengTao
2023-10-27 dfce0011f8b675debd45adaefb9915c23a673d61
修改玻璃信息为分页显示,修改手动上面界面
6个文件已修改
205 ■■■■ 已修改文件
CanadaMes-ui/src/api/home.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/api/home.js
@@ -130,4 +130,4 @@
        method: 'post',
        data:""
    })
}
}
CanadaMes-ui/src/views/home/index.vue
@@ -194,8 +194,8 @@
                </div>
            </div>
            <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
                <el-input style="width:15%;" :placeholder="$t('Enter the glass lD')" v-model="glassid"></el-input>
                <el-button type="primary" @click="showform(1)">{{ $t('Infeed barcodid') }}</el-button>
                <el-input style="width:15%;" :placeholder="$t('Enter the glass lD')" v-model="glassid1"></el-input>
                <el-button type="primary" @click="showform3()">{{ $t('Infeed barcodid') }}</el-button>
                <el-input style="width:15%;" :placeholder="$t('Enter the order number')" v-model="order"></el-input>
                <el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button>
            </div>
@@ -304,7 +304,6 @@
        </el-footer>
        <el-dialog :visible.sync="dialogFormVisible" :title="$t('Please confirm the glass information')">
            <el-form :model="form" label-width="100px" style="padding-right: 30px">
                <el-form-item :label="$t('Barcodid')">
                    <el-input style="width:15%;" :placeholder="$t('Enter the glass lD')" v-model="glassid"></el-input>
                    <el-button type="primary" @click="showform(3)">{{ $t('Query') }}</el-button>
@@ -334,6 +333,59 @@
                </span>
            </template>
        </el-dialog>
        <el-dialog :visible.sync="dialogFormVisible5" :title="$t('Please confirm the glass information')">
            <el-form :model="form" label-width="100px" style="padding-right: 30px">
                <el-form-item style="text-align: center;">
                    <el-input style="width:15%;" :placeholder="$t('Enter the glass lD')" v-model="glassid1"></el-input>
                    <el-button type="primary" @click="showform(3)">{{ $t('Query') }}</el-button>
                </el-form-item>
                <div style="display: flex;justify-content: space-around;">
                    <label for="">扫码位</label>
                    <label for="">上片位</label>
                </div>
                <div style="display: flex;justify-content: space-around;">
                    <el-form-item :label="$t('Barcodid')">
                        <el-input v-model="form2.glassId" readonly autocomplete="off" />
                    </el-form-item>
                    <el-form-item :label="$t('Barcodid')">
                        <el-input v-model="form3.glassId" readonly autocomplete="off" />
                    </el-form-item>
                </div>
                <div style="display: flex;justify-content: space-around;">
                    <el-form-item :label="$t('order')">
                        <el-input v-model="form2.orderId" readonly autocomplete="off" />
                    </el-form-item>
                    <el-form-item :label="$t('order')">
                        <el-input v-model="form3.orderId" readonly autocomplete="off" />
                    </el-form-item>
                </div>
                <div style="display: flex;justify-content: space-around;">
                    <el-form-item :label="$t('length')">
                        <el-input v-model="form2.height" readonly autocomplete="off" />
                    </el-form-item>
                    <el-form-item :label="$t('length')">
                        <el-input v-model="form3.height" readonly autocomplete="off" />
                    </el-form-item>
                </div>
                <div style="display: flex;justify-content: space-around;">
                    <el-form-item :label="$t('width')">
                        <el-input v-model="form2.width" readonly autocomplete="off" />
                    </el-form-item>
                    <el-form-item :label="$t('width')">
                        <el-input v-model="form3.width" readonly autocomplete="off" />
                    </el-form-item>
                </div>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="FeedInglassid()" type="primary">{{ $t('confirm') }}</el-button>
                    <el-button @click="cancel3()">{{ $t('cancel') }}</el-button>
                </span>
            </template>
        </el-dialog>
        <el-dialog :visible.sync="dialogFormVisible1" :title="$t('Please confirm the Ordering Information')">
            <el-form :model="form1" label-width="100px" style="padding-right: 30px">
                <el-form-item :label="$t('order')">
@@ -387,13 +439,38 @@
        <el-dialog :visible.sync="dialogFormVisible4" :title="$t('OrderInfo')" top="5vh">
            <el-input style="width:15%;" :placeholder="$t('Enter the Order lD')" v-model="orderid"></el-input>
            <el-button type="primary" @click="selectglassinfo()">{{ $t('Query') }}</el-button>
            <el-table :data="this.GlassInfo" :height="700" border style="width: 100%;overflow: auto;">
            <el-table :data="GlassInfo.slice((currentPage - 1) * pagesize, currentPage * pagesize)
                " :height="700" border style="width: 100%;overflow: auto;">
                <el-table-column prop="glassId" :label="$t('Barcodid')"></el-table-column>
                <el-table-column prop="orderId" :label="$t('Order Number')"></el-table-column>
                <el-table-column prop="width" :label="$t('length')"></el-table-column>
                <el-table-column prop="height" :label="$t('width')"></el-table-column>
            </el-table>
            <!-- <el-table :data="tableDatas.slice((currentPage - 1) * pagesize, currentPage * pagesize)
                " style="width: 100%">
                <el-table-column label="Date" prop="date"> </el-table-column>
                <el-table-column label="Name" prop="name"> </el-table-column>
                <el-table-column label="操作">
                    <template slot-scope="scope">
                        <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
                        <el-button size="mini" type="danger"
                            @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
                    </template>
                </el-table-column>
            </el-table> -->
            <!-- 表格分页 -->
            <!-- pager-count pager-count属性可以设置最大页码按钮数,超出折叠,默认为7-->
            <!-- 注意:若数据是后端接口返回的则此时:total="pageCount"-->
            <el-pagination :style="'margin-top:-2px'" @size-change="handleSizeChange" @current-change="handleCurrentChange"
                :pager-count="7" :current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="pagesize"
                layout="total, sizes, prev, pager, next, jumper" :total="GlassInfo.length > 0 ? GlassInfo.length : null"
                background style="float: right; margin-top: 20px">
            </el-pagination>
        </el-dialog>
    </el-container>
</template>
@@ -423,6 +500,7 @@
            dialogFormVisible2: false,
            dialogFormVisible3: false,
            dialogFormVisible4: false,
            dialogFormVisible5: false,
            form: {
                orderId: "",
                glassId: "",
@@ -432,6 +510,18 @@
            form1: {
                order: "NG2210210",
                number: 800,
            },
            form2: {
                orderId: "5",
                glassId: "6",
                height: "7",
                width: "8"
            },
            form3: {
                orderId: "1",
                glassId: "2",
                height: "3",
                width: "4"
            },
            alarm: [],
            tableData: [],
@@ -445,6 +535,7 @@
            tasklist2: [],
            order: "",
            glassid: "",
            glassid1: "",
            url: "../../img/bigcar01.png",
            car1: 145,
            car2: 210,
@@ -458,7 +549,10 @@
            text: "",
            zhuangtai: "",
            orderid: "",
            GlassInfo: []
            GlassInfo: [],
            currentPage: 1,  //默认初始页
            pagesize: 15,    //每页默认显示的数据
            pageCount: 0
        };
    },
    created() {
@@ -505,6 +599,14 @@
                    this.alarm = obj.alarmmg[0];
                    this.loadglassheight = obj.loadglassheight;
                    this.zhuangtai = obj.zhuangtai[0];
                    this.glassid1 = obj.queid[0];
                    if (this.glassid1 != "") {
                        this.showform3();
                    }
                    this.form2 = obj.form2;
                    this.form2 = obj.form3;
                    //if (obj.dbconnected == "false") {
                    this.text = this.$t('DataBase Connection failed');
                    // }
@@ -650,6 +752,10 @@
                this.dialogFormVisible1 = true;
            }
        },
        //显示扫码位和上片位
        showform3() {
            this.dialogFormVisible5 = true;
        },
        selectglassinfo() {
            SelectGlass(this.orderid).then(res => {
                this.GlassInfo = res.data.glass;
@@ -674,6 +780,10 @@
        //取消操作时关闭页面
        cancel1() {
            this.dialogFormVisible1 = false;
            this.form1 = {};
        },
        cancel3() {
            this.dialogFormVisible5 = false;
            this.form1 = {};
        },
        //结束进/出片任务
@@ -821,7 +931,22 @@
                    this.$message.success(this.$t('Operation successful'));
                }
            });
        }
        },
        handleEdit(index, row) {
            console.log(index, row);
        },
        //表格删除
        handleDelete(index, row) {
            console.log(index, row);
        },
        //改变每页容纳的数据量
        handleSizeChange: function (size) {
            this.pagesize = size;
        },
        //切换页码
        handleCurrentChange: function (currentPage) {
            this.currentPage = currentPage;
        },
    }
}
</script>
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -3,18 +3,26 @@
import cn.hutool.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.PostMapping;
import com.example.springboot.common.Result;
import com.example.springboot.entity.Glass;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
import com.example.springboot.service.JdbcConnections;
public class Plchome extends Thread {
    private HomeMapper homeMapper;
    private SpianMapper spianMapper;
    private JdbcConnections dbserve;
    @Override
    public void run() {
        while (this != null) {
@@ -27,6 +35,7 @@
            // 注入mapper
            homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
            spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
            // 笼子使用情况
            List<StorageCage> tableData = homeMapper.selectAll();
            jsonObject.append("tableData", tableData);
@@ -36,7 +45,7 @@
            List<StorageCage> cagelist3 = homeMapper.selectRack3();
            List<StorageCage> cagelist4 = homeMapper.selectRack4();
            jsonObject.append("cagelist1", cagelist1);
            jsonObject.append("cagelist2", (Object)cagelist2);
            jsonObject.append("cagelist2", (Object) cagelist2);
            jsonObject.append("cagelist3", cagelist3);
            jsonObject.append("cagelist4", cagelist4);
            // 进出片任务
@@ -51,11 +60,19 @@
            List<String> addressList = new ArrayList<String>();
            addressList.add("DB106.12");
            addressList.add("DB106.0");
            List<Short> paramlist= S7control.getinstance().ReadWord(addressList);
            List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
            // 获取进片车状态
            List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态
            boolean exist1 = datas1ListState.contains((short) 0);
            jsonObject.append("zhuangtai",exist1);
            jsonObject.append("zhuangtai", exist1);
            // 伍 获取进是否有待确认的玻璃id
            String queid = spianMapper.Selectqueueid();
            jsonObject.append("queid", queid);
            // 获取扫码位与上片位玻璃信息
            List<Glass> form2 = homeMapper.GetQueueInfo(1);
            List<Glass> form3 = homeMapper.GetQueueInfo(2);
            jsonObject.append("form2", form2);
            jsonObject.append("form3", form3);
            // List<Short> paramlists = new ArrayList<Short>();
            // short para1 = 11111;
            // short para2 = 32000;
@@ -63,26 +80,24 @@
            // paramlists.add(para2);
            // System.out.println(paramlists);
            if(paramlist!=null){
            jsonObject.append("params", paramlist);
            if (paramlist != null) {
                jsonObject.append("params", paramlist);
            }
           List<Short> inglassInfo=  S7control.getinstance().ReadWord("DB106.24",1);
           if(inglassInfo!=null){
            if(inglassInfo.size()>0)
            jsonObject.append("loadglassheight", inglassInfo.get(0)*70);
            List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
            if (inglassInfo != null) {
                if (inglassInfo.size() > 0)
                    jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
            }
               dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
               boolean dbconnected=false;
               try {
            dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
            boolean dbconnected = false;
            try {
                dbserve.getConn();
                 dbconnected=true;
               } catch (Exception e) {
                dbconnected = true;
            } catch (Exception e) {
                // TODO: handle exception
                 dbconnected=false;
               }
            jsonObject.append("dbconnected",  dbconnected);
                dbconnected = false;
            }
            jsonObject.append("dbconnected", dbconnected);
            // jsonObject.append("params", new short[] { 30, 40, });
            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Home");
            if (sendwServer != null) {
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -216,4 +216,7 @@
        map.put("glass", glass);
        return Result.success(map);
    }
}
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -107,7 +107,10 @@
  @Select("select count(*) from storage_cage where glass_id=#{glassId}")
  short SelectStorageByGlassId(String glassId);
  @Select("select * from glass where orderid=#{orderid}")
  @Select("select * from glass where position(#{orderid} in orderid)")
  List<Glass> SelectGlass(String orderid);
  @Select("select * from queue qe inner join glass gl on qe.glassid=gl.glassid where id=#{id}")
  List<Glass> GetQueueInfo(int id);
  
}
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -103,5 +103,8 @@
     //根据笼子格子层数获取玻璃id
     @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;")
     Integer Selectoutstate();
    //获取进片队列id
     @Select("select glassid from queue where type=1 and state=0;")
     String Selectqueueid();
}