gaoshp
2024-05-04 a73fcd5dc034496ce9a38a9be166c6bb85819bc1
update
已添加1个文件
已修改7个文件
169 ■■■■ 文件已修改
src/utils/errorHandler.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/Add.vue 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/CalenderTab.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/Dialog.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/Shiftsystem.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/Time.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/base/shift-calendar.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/errorHandler.js
src/utils/request.js
@@ -130,7 +130,7 @@
            }).then((response) => {
                resolve(response.data);
            }).catch((error) => {
                if (error.status == 400) {
                if (error?.status == 400) {
                    ElMessage({
                        message: error.data.msg,
                        type: 'warning',
src/views/console/base/Add.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
<!--
 * @Date: 2024-05-04 16:37:48
 * @LastEditors: Sneed
 * @LastEditTime: 2024-05-04 17:14:15
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/Add.vue
-->
<template>
    <el-container>
        <el-form style="width: 100%;" :model="form" :rules="rules" ref="dialogForm" label-width="120px"
            label-position="center">
            <el-row>
                <el-col :span="8">
                    <el-form-item label="生产日历编号" prop="code">
                        <el-input v-model="form.code" placeholder="请输入生产日历编号" clearable></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="生产日历名称" prop="name">
                        <el-input v-model="form.name" placeholder="请输入生产日历名称" clearable></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="应用年份" prop="year">
                        <el-select v-model="form.year" placeholder="" size="" @change="change">
                            <el-option v-for="item in options" :key="item.value" :label="item.label"
                                :value="item.value" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="应用日期" prop="date">
                        <el-date-picker v-model="form.date" type="daterange" value-format="YYYY-MM-DD"
                            start-placeholder="开始日期" end-placeholder="结束日期" />
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <el-row>
            <el-col>
                <el-button-group>
                    <el-button type="primary" :icon="ArrowLeft">Previous Page</el-button>
                    <el-button type="primary">
                        Next Page<el-icon class="el-icon--right">
                            <ArrowRight />
                        </el-icon>
                    </el-button>
                </el-button-group>
            </el-col>
        </el-row>
    </el-container>
</template>
<script>
import moment from 'moment'
export default {
    data() {
        return {
            options: [],
            form: {},
            rules: {
                name: [
                    { required: true, message: '' }
                ],
                code: [
                    { required: true, message: '' }
                ],
                year: [
                    { required: true, message: '' }
                ],
            }
        }
    },
    created() {
        this.init()
    },
    methods: {
        init() {
            let len = 15
            let currentYear = moment().format('YYYY') - 0
            this.form.year = currentYear
            for (let i = 0; i < len; i++) {
                this.options.push({
                    label: currentYear + i,
                    value: currentYear + i
                })
            }
            this.form.date = [moment().format('YYYY-MM-DD'), moment(`${currentYear}-12-31`).format('YYYY-MM-DD')]
            console.log(this.form)
        }
    }
}
</script>
<style lang="scss" scoped></style>
src/views/console/base/CalenderTab.vue
@@ -1,15 +1,15 @@
<!--
 * @Date: 2024-04-04 22:45:43
 * @LastEditors: Sneed
 * @LastEditTime: 2024-04-09 20:15:57
 * @LastEditTime: 2024-05-04 16:44:58
 * @FilePath: /belleson-frontend/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">新建日历</el-button>
            <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">
                <el-card shadow="never" class="card" v-for="item in caleList" :key="item.id" @click="select(item)">
                        <h3>{{item.code}}</h3>
                        <p>日历名称: {{item.name}}</p>
                        <p>应用年份: {{item.year}}</p>
@@ -18,28 +18,41 @@
            </el-aside>
            <el-container>
                <el-header>
                    <el-button type="primary">关联工位</el-button>
                    <el-button type="primary">编辑日历</el-button>
                    <el-button type="primary">删除</el-button>
                <span>日历【{{ selectInfo.code }}】{{ selectInfo.name }}</span>
                <el-button type="primary" style="margin-left: auto;" size="small">关联工位</el-button>
                <el-button type="primary" size="small">编辑日历</el-button>
                <el-popconfirm title="确定删除吗?" @confirm="table_del">
                    <template #reference>
                        <el-button type="primary" size="small">删除</el-button>
                    </template>
                </el-popconfirm>
                </el-header>
                <el-main>
                    <Calendar :min-date="minDate" :rows="1" disable-page-swipe :nav-visibility="''" :attributes='attributes'/>
                <Calendar :min-date="minDate" :rows="1" disable-page-swipe :nav-visibility="''"
                    :attributes='attributes' />
                </el-main>
            </el-container>
        <el-drawer v-model="drawer" size="80%" title="生产日历" :direction="direction" :before-close="handleClose">
            <Add></Add>
        </el-drawer>
        </el-container>
</template>
<script>
import { Calendar, DatePicker } from 'v-calendar';
import 'v-calendar/style.css';
import Add from './Add.vue'
export default {
    components: {
        Calendar,
        DatePicker
        DatePicker,
        Add
    },
    data() {
        return {
            shiftList: [],
            selectInfo: {},
            drawer: true,
            attributes: [
                
            ],
@@ -58,8 +71,30 @@
        init () {
            this.minDate = new Date('2024-01-01')
            this.maxDate = new Date('2024-01-31')
            this.$HTTP.post('/api/blade-cps/shift/list', { statusList: [1] }).then(res => {
                if (res.code === 200) {
                    this.shiftList = res.data
                }
            })
        },
        load() {
        select(row) {
            this.selectInfo = {
                ...row
            }
        },
        table_del() {
            this.$HTTP.delete(`/api/blade-cps/calendar/${this.selectInfo.id}`).then(res => {
                if (res.code == 200) {
                    this.$message.success("操作成功");
                    this.load(true)
                }
            })
        },
        add() {
            this.drawer = true
        },
        load(flag) {
            if (flag) this.current = 0;
            if  (this.current * 15 >= this.total) {
                return
            }
@@ -69,13 +104,14 @@
                if (res?.data?.records) {
                    if (this.current === 1) {
                        this.caleList = res?.data?.records || []
                        this.select(this.caleList[0])
                    } else {
                        this.caleList.push(
                            ...res?.data?.records || []
                        )
                    }
                }
            })
        }
    }
@@ -87,7 +123,9 @@
    cursor: pointer;
    margin: 12px 12px 12px 0;
}
.vc-arrow {
    display: none!important;;
    display: none !important;
    ;
}
</style>
src/views/console/base/Dialog.vue
@@ -219,12 +219,10 @@
                this.shiftDetailDTOList = shiftDetailDTOList
            }
            console.log(this.shiftDetailDTOList, '>>>?????s')
            return this
        },
        //表单提交方法
        submit() {
            console.log(this.form, this.shiftDetailDTOList)
            this.$refs.dialogForm.validate(async (valid) => {
                if (valid) {
                    this.isSaveing = true;
src/views/console/base/Shiftsystem.vue
@@ -98,7 +98,6 @@
        dayCharts() {
            let { data = [], categories = [], startTime, end } = this.getData1()
            console.log('>>>>>>', data)
            return {
                title: {
                    text: '班制概览'
@@ -226,7 +225,6 @@
            })
            let startTime = moment(moment().format('YYYY-MM-DD') + ' 00:00:00').add(base, 'm').unix()
            let end = moment.unix(startTime).add(24, 'h').unix()
            console.log(moment.unix(startTime).format('YYYY-MM-DD HH:mm:ss'), 'startTIme', moment.unix(end).format('YYYY-MM-DD HH:mm:ss'))
            let data = [];
            var types = [
                { name: 1, color: '#7b9ce1' },
src/views/console/base/Time.vue
@@ -115,11 +115,9 @@
                endTime.add(1, 'd')
            }
            let arrItem1 = endTime.diff(base) / 60000
            console.log('>>>>', arrItem1, arrItem0)
            if (arrItem1 <= arrItem0) {
                return this.$message.warning('开始时间大于结束时间,请重新输入');
            }
            console.log('>>>>', arrItem1, arrItem0)
            // this.endDay = this.getDes(arrItem0)
            arr.push(arrItem0, arrItem1)
            this.value = arr
src/views/console/base/shift-calendar.vue
@@ -1,7 +1,7 @@
<!--
 * @Date: 2024-04-04 21:51:24
 * @LastEditors: Sneed
 * @LastEditTime: 2024-05-02 22:18:25
 * @LastEditTime: 2024-05-04 15:40:16
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/shift-calendar.vue
-->
<template>
@@ -28,7 +28,7 @@
    },
    data() {
        return {
            activeName: '2'
            activeName: '1'
        }
    }
}