lzhe
2024-09-09 a958e950dc675c7a3e9cbbbc66e6656669d3a34b
Merge branch 'master' of http://122.9.151.159:9090/r/smart-web
已修改4个文件
169 ■■■■ 文件已修改
src/views/console/base/CalenderTab.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/Dialog.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/components/passwordForm.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/realtime-status/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/CalenderTab.vue
@@ -1,15 +1,16 @@
<!--
 * @Date: 2024-04-04 22:45:43
 * @LastEditors: lzhe lzhe@example.com
 * @LastEditTime: 2024-06-11 15:26:41
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/CalenderTab.vue
 * @LastEditors: gaosp
 * @LastEditTime: 2024-09-07 15:15:29
 * @FilePath: /mdc/Users/mache/Documents/demo/cps-web/src/views/console/base/CalenderTab.vue
-->
<template>
    <el-container>
        <el-aside width="220px">
            <el-button type="primary" icon="el-icon-plus" @click="add">新建日历</el-button>
            <div v-infinite-scroll="load">
                <el-card shadow="never" class="card" v-for="item in caleList" :key="item.id" @click="select(item)">
                <el-card shadow="never" class="card" :class="selectInfo.id === item.id ? 'active' : ''"
                    v-for="item in caleList" :key="item.id" @click="select(item)">
                    <h3>{{ item.code }}</h3>
                    <p>日历名称: {{ item.name }}</p>
                    <p>应用年份: {{ item.year }}</p>
@@ -19,7 +20,7 @@
        <el-container>
            <el-header>
                <span>日历【{{ selectInfo.code }}】{{ selectInfo.name }}</span>
                <el-button type="primary" style="margin-left: auto;" size="small">关联工位</el-button>
                <el-button type="primary" style="margin-left: auto;" size="small" @click="relationWork">关联工位</el-button>
                <!-- <el-button type="primary" size="small">编辑日历</el-button> -->
                <el-popconfirm title="确定删除吗?" @confirm="table_del">
                    <template #reference>
@@ -40,6 +41,18 @@
        </el-container>
        <el-drawer v-model="drawer" size="80%" title="生产日历" :direction="direction" :before-close="handleClose">
            <Add :shiftList="shiftList" @success="success"></Add>
        </el-drawer>
        <el-drawer v-model="raworkVisible" size="80%" title="生产日历" :direction="direction" :before-close="handleClose">
            <el-container v-if="raworkVisible">
                <el-main>
                    <el-tree ref="workstations" default-expand-all :data="workStations" show-checkbox node-key="id"
                        :props="defaultProps" :render-content="renderContent" />
                </el-main>
                <el-footer style="text-align: right">
                    <el-button type="primary" @click="saveBefore">保存</el-button>
                </el-footer>
            </el-container>
        </el-drawer>
    </el-container>
</template>
@@ -68,7 +81,12 @@
            total: 1,
            caleList: [],
            minDate: '',
            maxDate: ''
            maxDate: '',
            raworkVisible: false,
            defaultProps: {
                label: 'title',
                children: 'children',
            },
        }
    },
    created() {
@@ -76,6 +94,84 @@
        this.init()
    },
    methods: {
        relationWork() {
            this.$HTTP.post('/api/blade-cps/group/groupWorkstation', { groupCategory: 1, groupType: 'group_workstation' }).then(res => {
                if (res.code === 200) {
                    this.raworkVisible = true
                    this.workStations = this.formatData(res.data)
                    console.log(this.workStations)
                }
            })
        },
        formatData(data, current) {
            let newData = []
            if (!current) {
                newData = data.filter(item => item.parentId == 0).map(v => {
                    v.children = this.formatData(data, v).sort((a, b) => {
                        return b.sort - a.sort
                    })
                    return v
                })
            } else {
                let res = data.filter(v => v.parentId == current.id)
                res = res.map(item => {
                    item.children = this.formatData(data, item).sort((a, b) => {
                        return b.sort - a.sort
                    })
                    return item
                })
                return res
            }
            return newData
        },
        renderContent(h, { data }) {
            if (data.isWorkstation) {
                return h('div', {}, [
                    h('span', {}, data.title),
                    data.calendarCode ? h('span', {
                        style: {
                            marginLeft: '10px',
                            color: 'var(--el-color-primary)'
                        }
                    }, `已关联(${data.calendarCode})`) : ''
                ])
            } else {
                return data.title
            }
        },
        saveBefore() {
            let workstation = this.$refs.workstations.getCheckedNodes().filter(v => v.isWorkstation) || []
            if (workstation.length == 0) {
                return this.$message.warning("请选择");
            }
            if (workstation.some(v => v.calendarCode).length > 0) {
                this.$confirm(`所选工位已有排班,确认要重新关联生产日历吗?`, '提示', {
                    type: 'warning',
                }).then(() => {
                    this.save(workstation.map(v => v.id))
                }).catch(() => {
                    return false
                })
            } else {
                this.save(workstation.map(v => v.id))
            }
            console.log(this.$refs.workstations.getCheckedNodes().filter(v => v.isWorkstation))
        },
        save(workstationIdList) {
            console.log(workstationIdList, this.selectInfo)
            this.$HTTP.post('/api/blade-cps/calendar/associate-workstation', {
                calendarCode: this.selectInfo.code,
                workstationIdList
            }).then(res => {
                if (res.code === 200) {
                    this.$message.success("操作成功");
                    this.raworkVisible = false
                } else {
                    this.$message.error(res.msg);
                }
            })
        },
        dayclick(day) {
            console.log(day)
        },
@@ -208,6 +304,10 @@
    margin: 12px 12px 12px 0;
}
.card.active {
    border: 1px solid var(--el-color-primary);
}
.vc-arrow {
    display: none !important;
}
src/views/console/base/Dialog.vue
@@ -154,8 +154,9 @@
                shiftNumber: params?.shiftNumber || this?.detail?.paramValue - 0,
                number: params?.number || 1
            }
            console.log(this?.detail?.paramValue, '?????????????//')
            if (params?.shiftDetailVOList?.length > 0) {
                this.shiftDetailDTOList = params?.shiftDetailVOList?.map((item, index) => {
                    let shiftRestTimeDTOList = item?.shiftRestTimeVOList.map(item => {
                        return {
@@ -181,6 +182,40 @@
                    }
                })
                if (params?.shiftDetailVOList?.length < this?.detail?.paramValue) {
                    for (let i = 0; i < this?.detail?.paramValue - params?.shiftDetailVOList?.length; i++) {
                        this.shiftDetailDTOList.push({
                            range: [0, 0],
                            shiftStartTime: 0,
                            shiftEndTime: 0,
                            shiftIndex: i + 1,
                            indexName: '',
                            restNumber: i + 1,
                            shiftRestTimeDTOList: [
                                {
                                    range: [0, 0],
                                    restStartTime: 0,
                                    restEndTime: 0,
                                },
                                {
                                    range: [0, 0],
                                    restStartTime: 0,
                                    restEndTime: 0,
                                },
                                {
                                    range: [0, 0],
                                    restStartTime: 0,
                                    restEndTime: 0,
                                },
                                {
                                    range: [0, 0],
                                    restStartTime: 0,
                                    restEndTime: 0,
                                }
                            ]
                        })
                    }
                }
            } else {
                let len = this?.detail?.paramValue - 0 || 1
                let shiftDetailDTOList = []
src/views/login/components/passwordForm.vue
@@ -22,11 +22,11 @@
export default {
    data() {
        return {
            socket: null,
            socket: null,
            userType: 'admin',
            form: {
                user: "admin",
                password: "123456",
                user: "",
                password: "",
                autologin: false
            },
            rules: {
@@ -54,7 +54,7 @@
    mounted() {
        //this.$HTTP.get('/api/blade-sync/outer-app-config/appStatus')
    },
    methods: {
    methods: {
        async login() {
            var validate = await this.$refs.loginForm.validate().catch(() => { })
            if (!validate) { return false }
@@ -89,7 +89,7 @@
                    });
                }
            })
            if(!isToken) return;
            if (!isToken) return;
            //获取菜单
            await this.$HTTP.get("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({ "appCode": "CPS" })).then(res => {
                if (res.data.length == 0) {
@@ -144,7 +144,7 @@
                            permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"]
                        }
                        this.$TOOL.data.set("MENU", obj.menu);
                        console.log(obj.menu,'menu')
                        console.log(obj.menu, 'menu')
                        this.$TOOL.data.set("PERMISSIONS", obj.permissions)
                        this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
src/views/mdc/realtime-status/index.vue
@@ -1,7 +1,7 @@
<!--
 * @Date: 2024-04-09 22:11:21
 * @LastEditors: lzhe lzhe@example.com
 * @LastEditTime: 2024-09-06 14:13:16
 * @LastEditors: gaosp
 * @LastEditTime: 2024-09-07 14:16:10
 * @FilePath: /mdc/Users/mache/Documents/demo/cps-web/src/views/mdc/realtime-status/index.vue
 实时看板
-->
@@ -278,7 +278,7 @@
                workStationGroupIdList: this.workStationGroupIdList
            }
            this.timestatus = [];
            this.$HTTP.post(`/api/blade-cps/workstation/real-time-status?current=${this.current || 0}&size=${this.size || 0}`, obj).then(res => {
            this.$HTTP.post(`/api/blade-cps/workstation/real-time-status?current=${this.current || 0}&size=${this.size || 6}`, obj).then(res => {
                if (res.code == 200) {
                    var ids = [];
                    console.log(this.allwcs, res.data)
@@ -412,7 +412,7 @@
                                item.color = item1.color;
                            }
                        })
                        if(this.$route.query.currentTag == item.status) {
                        if (this.$route.query.currentTag == item.status) {
                            item.active = true;
                        }
                    })