VUE----公司年度目标设置

Vue-OKR-Tree实战:如何快速搭建企业级目标对齐视图(附完整代码) 本文详细介绍了如何使用Vue-OKR-Tree组件快速搭建企业级目标对齐视图,包括基础实现、性能优化和高级定制开发。通过实战代码示例,展示了如何利用树结构组件实现OKR系统的核心功能,提升企业目标管理效率。 阅读详情

公司年度目标设置

效果图

在这里插入图片描述

原始写法

月份直接指定
缺点:代码量大
优化:指定月份,月份占比两个数组,大小为12,直接循环输出item input

添加

HTML
<div class="target-month-wrap">
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline text-r"><span>{{ targetDate }}</span>年 - 月份</div></div>
            <div class="layui-col-md4"><div class="layui-inline" lay-tips="最小单位:万,不能包含小数">流水目标(万)</div></div>
            <div class="layui-col-md4"><div class="layui-inline">占比(%)</div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="总计"></div></div>
            <div class="layui-col-md4"><div class="layui-inline" lay-tips="需于年度目标一致"><input class="layui-input layui-disabled" name="monthTotal" readonly v-model="monthTotal"></div></div>
            <div class="layui-col-md4"><div class="layui-inline" lay-tips="总流水目标占年度目标"><input class="layui-input layui-disabled" readonly v-model="targetRate"></div></div>
        </div>

        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="1月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_1" name="month_1" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_1_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="2月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" step="1" v-model="month_2" name="month_2" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_2_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="3月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_3" name="month_3" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_3_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="4月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_4" name="month_4" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_4_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="5月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_5" name="month_5" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_5_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="6月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_6" name="month_6" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_6_rate"></div></div>
        </div>

        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="7月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_7" name="month_7" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_7_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="8月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_8" name="month_8" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_8_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="9月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_9" name="month_9" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_9_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="10月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_10" name="month_10" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_10_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="11月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_11" name="month_11" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_11_rate"></div></div>
        </div>
        <div class="layui-row cl">
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly value="12月"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input type="number" min="0" v-model="month_12" name="month_12" autocomplete="off" class="layui-input" placeholder="万"></div></div>
            <div class="layui-col-md4"><div class="layui-inline"><input class="layui-input layui-disabled" readonly v-model="month_12_rate"></div></div>
        </div>
    </div>
JS
Vue.createApp({
        data() {
            return {
                message: '数字不能小于0',
                selectYear: new Date().getFullYear(),
                targetDate: 0,
                targetAmount: 0,
                targetRate: 0,
                monthTotal: 0,
                month_1: 0,
                month_2: 0,
                month_3: 0,
                month_4: 0,
                month_5: 0,
                month_6: 0,
                month_7: 0,
                month_8: 0,
                month_9: 0,
                month_10: 0,
                month_11: 0,
                month_12: 0,
                month_1_rate: 0,
                month_2_rate: 0,
                month_3_rate: 0,
                month_4_rate: 0,
                month_5_rate: 0,
                month_6_rate: 0,
                month_7_rate: 0,
                month_8_rate: 0,
                month_9_rate: 0,
                month_10_rate: 0,
                month_11_rate: 0,
                month_12_rate: 0,
            }
        },
        mounted() {
            this.targetDate = this.selectYear;
            layui.tpl.getYear($("#target-company-list-add-year"), this.selectYear);

            form.on('select(target-company-list-add-year)', (data) => {
                this.targetDate = data.value;
            })
        },
        methods: {
            oninput(e) {
                e.target.value = (e.target.value.replace('\.', ''))
            }
        },
        watch: {
            targetRate(val) {
                this.targetRate = parseInt(val) >= 0 ? val : 0
                this.month_1_rate = parseInt(this.monthTotal) > 0 ? (this.month_1 / this.monthTotal * 100).toFixed(2) : 0
                this.month_2_rate = parseInt(this.monthTotal) > 0 ? (this.month_2 / this.monthTotal * 100).toFixed(2) : 0
                this.month_3_rate = parseInt(this.monthTotal) > 0 ? (this.month_3 / this.monthTotal * 100).toFixed(2) : 0
                this.month_4_rate = parseInt(this.monthTotal) > 0 ? (this.month_4 / this.monthTotal * 100).toFixed(2) : 0
                this.month_5_rate = parseInt(this.monthTotal) > 0 ? (this.month_5 / this.monthTotal * 100).toFixed(2) : 0
                this.month_6_rate = parseInt(this.monthTotal) > 0 ? (this.month_6 / this.monthTotal * 100).toFixed(2) : 0
                this.month_7_rate = parseInt(this.monthTotal) > 0 ? (this.month_7 / this.monthTotal * 100).toFixed(2) : 0
                this.month_8_rate = parseInt(this.monthTotal) > 0 ? (this.month_8 / this.monthTotal * 100).toFixed(2) : 0
                this.month_9_rate = parseInt(this.monthTotal) > 0 ? (this.month_9 / this.monthTotal * 100).toFixed(2) : 0
                this.month_10_rate = parseInt(this.monthTotal) > 0 ? (this.month_10 / this.monthTotal * 100).toFixed(2) : 0
                this.month_11_rate = parseInt(this.monthTotal) > 0 ? (this.month_11 / this.monthTotal * 100).toFixed(2) : 0
                this.month_12_rate = parseInt(this.monthTotal) > 0 ? (this.month_12 / this.monthTotal * 100).toFixed(2) : 0
            },
            targetAmount(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                this.targetAmount = val
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_1(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_1 = val = 0}
                this.monthTotal = val + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_2(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_2 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_3(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_3 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_4(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_4 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_5(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_5 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_6(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_6 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_7(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_7 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_8 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_8(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_8 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_9 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_9(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_9 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_10 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_10(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_10 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_11 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_11(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_11 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_12
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
            month_12(val) {
                val = parseInt(val) > 0 ? parseInt(val) : 0
                if (val < 0) {layui.notice.warning({message: this.message}); this.month_12 = val = 0}
                this.monthTotal = val + this.month_1 + this.month_2 + this.month_3 + this.month_4 + this.month_5 + this.month_6 + this.month_7 + this.month_8 + this.month_9 + this.month_10 + this.month_11
                this.targetRate = (this.monthTotal / this.targetAmount * 100).toFixed(2)
            },
        }
    }).mount(#target-company-list-add'');

更新

vue data 的数据格式返回即可
拷贝重绘数据:Object.assign(this.$data, res.data)

关键代码
mounted() {
    this.initData();

    form.on('select(target-company-list-update-year)', function (data) {
        this.targetDate = data.value;
    })
},
methods: {
    initData() {
        if (params && params.targetDate) {
            this.targetDate = params.targetDate;
            layui.tpl.getSingleSelect($("#target-company-list-update-year"), this.targetDate);
            
            admin.req({
                url: url,
                data: {init: 1, targetDate: this.targetDate, targetAmount: 1, monthTotal: 1},
                success: (res) => {
                    if (res.code === 0) {
                        Object.assign(this.$data, res.data)
                    } else {
                        layui.notice.error({message: res.msg})
                    }
                }
            })
        } else {
            layui.notice.error({message: "获取参数为空"})
        }
    }
},
2024 目标,乘风破浪,勇往直前* 目标,重新出发 阅读详情

相关推荐

vue报表系统

这是用vue.js开发的报表系统前端,其中包括表格、饼状图、柱状图、折线图、侧边导航栏,饼状图、柱状图、折线图使用了vchart插件,通过axios技术与后台交互

vue antd 实现年度选择和年度范围选择

vue antd 实现年度选择和年度范围选择

weixin_49684489的博客 2258

从药企研发视角:如何用GNN提升分子水溶性预测准确率?PyTorch+ESOL全案例

本文从药企研发的实际需求出发,详细介绍了如何利用图神经网络(GNN)技术,结合PyTorch框架和ESOL数据集,构建并优化分子水溶性预测模型。通过完整的代码案例,深入探讨了分子图数据处理、GNN架构设计、超参数调优以及模型评估与解释等关键环节,旨在帮助研发团队提升预测准确率,从而更高效地筛选和优化候选药物分子。

weixin_29054399的博客 292

VUE3搞一下数据录入

环境搭建:Vue3、bootstrap4.js、bootstrap4.css、jquery.min.js 工具:google chrome、Hbuilder 项目结构: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="../boo...

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 904

海康威视4G摄像头直连实战:不用萤石云,手把手教你用ISUP SDK搞定跨网段视频流

本文详细介绍了如何通过海康威视ISUP SDK实现4G摄像头的直连通信,提供了一套零平台费、自主可控的技术方案。文章涵盖技术选型、设备端配置、服务器端开发及高级应用场景,特别适合中小型安防项目,帮助开发者解决跨网段视频流传输难题,降低长期运营成本。

weixin_27076351的博客 467

2019年上交电院计算机直博保研经历

本人选报的是上交六月一日在武汉举办的直博选拔,五月三十一日到达酒店,地点在武汉大学旁边(PS:上交是不管住宿、来回车票的,~划重点~包括夏令营),入住后当然是紧张的准备英语面试等等内容了,当天我是排在了下午面试,感觉还很好,上午可以多睡一会,最好能够去踩踩点上午,然后下午面试一定要早去,说是一点开始,但是老师十二点半就开始让学生进去了,有一个同学排在第二个,但是当时叫到他时还不到一点,没到,最后据...

LifeMaker的博客 4890

vue:Element:日期:月份

场景一:如何设置月份,默认显示当前月,只能显示最近六个月 效果图如下: html代码: Js代码: data( ) { return { // 设置的默认值 billMonthPrice: new Date().getFullYear() + '-' + (new Date().getMonth() + 1), } }, 注)请注意传参的时候转换下格式:bi...

1363648943的专栏 721

12、多端神经形态晶体管:原理、应用与算法探索

本文综述了多端神经形态晶体管的原理、应用与算法探索。从神经元MOS晶体管的发展到基于电解质栅极晶体管(EGT)的新型器件设计,系统阐述了其在低电压、多功能逻辑运算和突触行为模拟方面的优势。重点介绍了其在化学生物传感器(如多巴胺和pH检测)中的高灵敏度应用,以及在树突整合、时空总和、动态逻辑和神经元算术等树突算法中的实现。文章还总结了该类器件在神经形态计算、智能传感等领域的广阔前景,并分析了当前面临的材料工艺、理论建模与系统集成挑战,展望了未来发展方向。

delta的博客 143

vue中 日期选择--本日、本周、本月、本年选择器实现(基于elementui)

vue中 日期选择--本日、本周、本月、本年选择器(基于elementui)

weixin_46567616的博客 2119

AI人工智能 Agent:在仓储物流中的应用

AI人工智能 Agent:在仓储物流中的应用 1. 背景介绍 1.1 问题的由来 仓储物流行业是全球经济运行的基石之一,涉及商品的存储、运输、分拣和配送等多个环节。随着电子商务的普及和消费者对物流速度和精确性的要求不断提高,仓储物流

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 859

MyBatis-Plus 实战:敏感字段自动加解密支持模糊查询

本文基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括:1)AESUtil工具类提供加解密基础能力;2)EncryptTypeHandler实现字段类型转换;3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。

蔡定努 595

vue 制作一个简单的录入功能

<el-form :model="form" ref="form" :rules="rules"> <div class="mec-form-header"> <div class="sensition-wrap-content"> <span class="sensition-wrap-title">基础信息</span> <div class="mec-input-to.

dasdsadsaczx的博客 763

KEPServerEX作为MQTT客户端

打开软件: 测试没有连接上MQTT代理。

低码开发 1681

2022年度技术总结

2022年2月,系统学习巩固了计算机网络课程(本科),基本的七层模式,四层模式,重点是与前端开发相关的 TCP UDP HTTP HTTPS 等协议。现在有一个整体的认识:即下层给上层提供服务,每一层有不同的协议;数据从上层到下层一次封装,经过物理层传输后,从下到上解封。数据传输依据滑动窗口算法(slide window),确保数据传输的完整和高效,就是栈和队列的扩展。作为前端开发人员,熟悉基础的计算机网络知识,是必须的,日常和其他同事沟通或者处理基本问题也游刃有余了。

MichaelAn的博客 1998

彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

renkai721的专栏 24万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2023年度总结

主旨为总结2023所掌握的技术,工作项目开发经历,生活上的改变;查看2023年目标完成了几何,有什么感悟;以及2024年的大致计划安排;

weixin_45068267的博客 988

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2024年度总结 EXI-小洲

2024年度总结 EXI-小洲

EXIxiaozhou的博客 1377

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于vue的石油公司勘探开发业绩对标系统[Vue]-计算机毕业设计源码+LW文档

摘要:本文设计开发了一套基于Vue框架的石油公司勘探开发业绩对标系统,实现了石油企业核心业务数据的数字化管理。系统包含用户管理、公司信息管理、经营/勘探/开发业绩管理、投资信息管理及多维统计分析等11大功能模块,采用前后端分离架构,通过Vue、ElementUI等技术实现友好界面,Node.js提供后端服务支持。该系统有效解决了传统人工对标效率低、准确性差的问题,为石油企业进行精准业绩对标、优化经营决策提供了信息化工具,具有重要的应用价值。系统经过严格测试验证,在性能、安全性和用户体验方面均达到预期目标。

QQ375279829的博客 891

2023年度总结 EXI-小洲

2023年度总结 EXI-小洲

EXIxiaozhou的博客 1904

使用 OKR 来创建你的2022年目标,BAT都在使用它,你也可以

成功实现你的新年目标的最好方法之一是将它们分解成更小、更容易管理和 “可伸展 “的目标。OKR(目标和关键结果)是一个框架,可以帮助你完成这个过程。 OKR 是由英特尔联合创始人安迪-格鲁夫在20世纪90年代初开发的。其背后的理念是,如果你想实现某些目标,你需要确定你想去哪里,你每天需要取得哪些进展(目标),以及成功是什么样子(关键结果)。 一个公司将为一个财政年度设定 OKR,个人目标可以是每周骑行40公里这样的事情,而关键结果则是骑行里程这样的指标。这个想法不仅适用于公司,也适用于个人,他们可以用它来设

Tita OKR 445

2022年度总结

即使没有定下目标,我也总有一些事情想去做并付诸实践,不过这几年随惯性写了一些年度总结,回顾一下年初的计划,发现完成率似乎还可以,让我觉得这件事还是有继续做下去的必要,不然走着走着就忘了当初的目标。

lmx736338483的博客 162

2021 年度规划

2021 年度计划 有生活,有故事,微信搜索【醒途】关注这个有点意思的程序员。 1 年 = 4 季 = 12 月 = 52 周 = 365 天 我希望自己能够按时给出年度规划、季度规划、月度规划、每周规划以及每日规划。 我也希望自己能够按时给出年度总结、季度总结、月度总结、每周总结以及每日总结。 我还希望自己能够根据规划和总结不断地调整相应的规划,使得自己能够更迅速且高效的达成目标。 生活上 办理上海居住证 办理房产地落户 这里是一个秘密计划 每月两部豆瓣评分8.0以上电影,输出:语句摘录 旅行至少三

醒途 555

2018年度总结(纪录生活 不喜勿喷)

前言国际惯例先自我介绍一下,我是Mr. Ma 。这是我在掘金上发表的第一篇文章。今天是2018年1月30日(腊月25),距离2018年彻底过去还有五天,今天也是我的生日,选择在这个比较有纪念意思的时间发表了我在掘金的第一篇文章。自己在写作方面没有太大的天赋,以后会多些一些文章练习,希望大家不喜勿喷!工作篇上半年p2p经历了各种暴雷,好多p2p公司跑路,当然我所在的公司也不例外,就这样团队解散了,...

weixin_34290390的博客 130

年度员工总结 模板

产品事业部研发部AI组2021年度员工总结姓名:XXX2021年12月20日2021年度员工总结:(一)成绩回顾本年度的工作围绕着二三维计算机图形学(CG)展开,包括二维图形学(前端UI设...

全栈空间 1373

一张图看程序媛阿源的2021个人年度流水账

大家好,我是若川。持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构...

u012384510的博客 3199

若川的 2021 年度总结,弹指之间

1前言从2014年开始,每一年都会写年度总结,已经坚持了7个年头。7年的光阴就是弹指之间,转瞬即逝。正如孔子所说:逝者如斯夫,不舍昼夜。回顾2014,约定2015(QQ空间日志)2015年...

u012384510的博客 706
上一篇: JAVA----发送短信息工具类
下一篇: JAVA----公司年度目标设置(后端)
damys
博客等级 码龄17年 356粉丝 524原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值