NET MVC中如何使用Element-Plus

news2025/5/19 22:23:54

目的

在Net Mvc5或者Net Core Mvc中,我们如何通过cdn的放引入Element-Plus并,使用Element-Plus相关的组件,包含Vue-Icon和多语言的使用。

准备工作

1.这里为了方便,我们直接使用html文件来代替Mvc项目。新建一个index.html文件

2.通过cdn的方式引入vue3、Element-Plus(包含样式、脚本、和多语言包),icons-vue等组件。

<link href="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/index.css" rel="stylesheet" />
    <script src="https://unpkg.com/vue@3"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/index.full.js"></script>
    <script src="https://unpkg.com/@element-plus/icons-vue"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/locale/zh-cn.min.js"></script>

初始化


        const app = Vue.createApp(App);
        Object.entries(ElementPlusIconsVue).forEach(item => {
            app.component(item[0], item[1]);
        });
        app.use(ElementPlus, {locale: ElementPlusLocaleZhCn});
        app.mount("#app");

icon-vue字体全局引用


        Object.entries(ElementPlusIconsVue).forEach(item => {
            app.component(item[0], item[1]);
        });

实现代码

<html>

<head>
    <meta charset="UTF-8" />
    <title>Element Plus</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">

    <link href="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/index.css" rel="stylesheet" />
    <script src="https://unpkg.com/vue@3"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/index.full.js"></script>
    <script src="https://unpkg.com/@element-plus/icons-vue"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/element-plus/2.3.12/locale/zh-cn.min.js"></script>
    <style>
        * {
            font-size: 12px;
        }
        .mt10 {
            margin-top: 10px;
        }
        .workorder-title {
            text-align: right;
            padding: 5px;
        }
        .workorder-content {
            padding: 5px;
        }
    </style>
</head>

<body>
    <div id="app">
        <el-page-header>
            <template #icon>
                <el-icon><Monitor></Monitor></el-icon>
            </template>
            <template #title>
                工单
            </template>
            <template #content>
                <b>详情</b>
            </template>
            <template #extra>
              <div class="flex items-center">
                <el-button type="success" loading>编辑</el-button>
                <el-button type="warning" icon="check">提交</el-button>
                <el-button type="danger">作废</el-button>
              </div>
            </template>
        </el-page-header>

        <el-card size="small" class="mt10">
            <template #header>
                <b>处理步骤</b>
            </template>
            <el-steps :active="2" align-center finish-status="success">
                <el-step title="提交工单" description="李四,在2023-10-11提交工单。"></el-step>
                <el-step title="找商家合核实" description="商家已确认问题,已联系快递公司修改派件地址。"></el-step>
                <el-step title="找快递核实" description="快递公司处理中。">
                    <template #icon>
                        <el-icon size="100"><more></more></el-icon>
                    </template>
                </el-step>
                <el-step title="完成工单" description=""></el-step>
            </el-steps>
        </el-card>

        <el-card size="small" class="mt10">
            <template #header>
                <b>工单主题</b>
            </template>
            <el-form :model="form" disabled label-width="120px">
                <el-form-item label="工单编号">
                    <el-input v-model="form.name"></el-input>
                </el-form-item>
                <el-form-item label="工单状态">
                    <el-tag type="success" effect="dark">草稿</el-tag>
                </el-form-item>
                <el-form-item label="创建信息">
                    <el-date-picker
                        v-model="form.date1"
                        type="date"
                        placeholder="请选择日期"
                        style="width: 100%"></el-date-picker>
                </el-form-item>
                <el-form-item label="工单主题">
                    <el-input v-model="form.title"></el-input>
                </el-form-item>
                <el-form-item label="问题描述">
                    <el-input v-model="form.remark" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea"></el-input>
                </el-form-item>
            </el-form>
        </el-card>

        <el-card size="small" class="mt10">
            <template #header>
                <b>扩展信息</b>
            </template>
            <el-row>
                <el-col :span="2"><div class="workorder-title">工单名称:</div></el-col>
                <el-col :span="10"><div class="workorder-content">速度快可适当放宽速度快得看看打开</div></el-col>
                <el-col :span="2"><div class="workorder-title">处理失效:</div></el-col>
                <el-col :span="10"><el-tag type="danger" effect="dark">生效中</el-tag></el-col>
            </el-row>
            <el-row>
                <el-col :span="2"><div class="workorder-title">扩展字段1:</div></el-col>
                <el-col :span="10"><div class="workorder-content">速度快可适当放宽速度快得看看打开</div></el-col>
                <el-col :span="2"><div class="workorder-title">扩展字段2:</div></el-col>
                <el-col :span="10"><div class="workorder-content">有效</div></el-col>
            </el-row>
            <el-row>
                <el-col :span="2"><div class="workorder-title">扩展字段3:</div></el-col>
                <el-col :span="10"><div class="workorder-content">速度快可适当放宽速度快得看看打开</div></el-col>
                <el-col :span="2"><div class="workorder-title">扩展字段4:</div></el-col>
                <el-col :span="10"><div class="workorder-content">有效</div></el-col>
            </el-row>
        </el-card>

        <el-card size="small" class="mt10">
            <template #header>
                <b>附件信息</b>
            </template>
            <el-row>
                <el-col :span="3" v-for="url in imageList">
                    <el-image
                        style="width: 100px; height: 100px"
                        :src="url"
                        :zoom-rate="1.2"
                        :max-scale="7"
                        :min-scale="0.2"
                        :preview-src-list="imageList"
                        :initial-index="4"
                        fit="cover">
                    </el-image>
                </el-col>
            </el-row>
        </el-card>

        <el-card size="small" class="mt10">
            <template #header>
                <b>处理日志</b>
            </template>
            <el-table :data="tableData" stripe border :table-layout="tableLayout">
                <el-table-column type="expand">
                    <template #default="scope">
                        <el-steps :active="2" align-center finish-status="success" simple>
                            <el-step title="提交工单" description="李四,在2023-10-11提交工单。"></el-step>
                            <el-step title="找商家合核实" description="商家已确认问题,已联系快递公司修改派件地址。"></el-step>
                            <el-step title="找快递核实" description="快递公司处理中。">
                                <template #icon>
                                    <el-icon color="red" size="24"><warning-filled></warning-filled></el-icon>
                                </template>
                            </el-step>
                            <el-step title="完成工单" description=""></el-step>
                        </el-steps>
                    </template>
                </el-table-column>
                <el-table-column type="selection"></el-table-column>
                <el-table-column prop="type" label="处理类型" width="180"></el-table-column>
                <el-table-column prop="remark" label="处理备注">
                    <template #default="scope">
                        <el-tag class="ml-2" type="success">{{scope.row.remark}}</el-tag>
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="处理用户" width="100"></el-table-column>
                <el-table-column prop="date" label="操作时间" width="150"></el-table-column>
                <el-table-column fixed="right" label="操作" width="100" align="center">
                    <template #default>
                      <el-button link type="primary" size="small" @click="handleClick">查看详情</el-button>
                    </template>
                  </el-table-column>
            </el-table>
            <div style="width:100%;display: flex;justify-content: flex-end;align-items: flex-end;margin-top:8px">
                <el-pagination
                    v-model:current-page="page"
                    :page-size="pageSize"
                    :small="small"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="total"
                    @size-change="handleSizeChange"
                    @current-change="handleCurrentChange">
                </el-pagination>
            </div>
        </el-card>

        <!-- <div style="height: 50vh">
            <el-auto-resizer>
                <template #default="{ height, width }">
                    <el-table-v2
                        :columns="columns"
                        :data="tableData"
                        :width="width"
                        :height="height"
                        fixed>
                    </el-table-v2>                    
                </template>
            </el-auto-resizer>
        </div> -->
    </div>
    <script setup>
        const App = { 
            data() { 
                return { 
                    form:{
                        name: '100111',
                        region: '',
                        date1: '2023-03-29',
                        title: '',
                        remark: '',
                        desc: '',
                    },
                    dialogVisible: false,
                    tableLayout:'fixed',
                    page:1,
                    pageSize:10,
                    total: 100,
                    columns:[
                        {
                            key: `0`,
                            dataKey: `type`,
                            title: `处理类型`,
                            width: 100,
                        },
                        {
                            key: `1`,
                            dataKey: `date`,
                            title: `处理时间`,
                            width: 150,
                        },
                        {
                            key: `2`,
                            dataKey: `name`,
                            title: `处理用户`,
                            width: 150,
                        },
                        {
                            key: `3`,
                            dataKey: `remark`,
                            title: `处理备注`,
                            width: 500
                        }
                    ],
                    tableData: [
                        {
                            date: '2016-05-03',
                            name: 'Tom',
                            remark: '快递公司处理中。',
                            type: '快递处理'
                        },
                        {
                            date: '2016-05-02',
                            name: 'Allen',
                            remark: '联系快递该派件地址。',
                            type: '联系快递'
                        },
                        {
                            date: '2016-05-04',
                            name: 'Jack',
                            remark: '已联系用户核实具体问题。',
                            type: '联系用户'
                        },
                        {
                            date: '2016-05-02 10:09:01',
                            name: '赵三',
                            remark: '赵三审核通过,原因:快递原因。',
                            type: '平台审核',
                        },
                        {
                            date: '2016-05-01',
                            name: '李四',
                            remark: '用户提交工单',
                            type: '提交工单',
                        },
                    ],
                    imageList: [
                        'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
                        'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
                        'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
                        'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
                        'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
                        'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
                        'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
                        'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg'
                    ]
                }; 
            },
            methods: {
                handleClose(){
                    this.dialogVisible = false;
                },
                handleSizeChange(pageSize){
                    this.pageSize = pageSize
                },
                handleCurrentChange(page){
                    this.page = page
                },
                handleClick(){

                }
            }
        }; 
        const app = Vue.createApp(App);
        Object.entries(ElementPlusIconsVue).forEach(item => {
            app.component(item[0], item[1]);
        });
        app.use(ElementPlus, {locale: ElementPlusLocaleZhCn});
        app.mount("#app");
    </script>
</body>

</html>

最终效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件知识:DDR3、DDR4和DDR5内存条有啥区别,看完你就懂

目录 一、DDR3内存 二、DDR4内存 三、DDR5内存 DDR3、DDR4和DDR5是计算机内存类型的名称&#xff0c;代表第三代、第四代和第五代双倍数据速率&#xff08;Double Data Rate&#xff0c;简称DDR&#xff09;同步动态随机存取存储器&#xff08;SDRAM&#xff09;。 不同内存…

小程序开发平台源码系统 +功能丰富 +有完整搭建教程

大家好啊&#xff0c;今天要给大家分享的这款系统可就厉害了。全新升级的小程序开发平台源码系统&#xff0c;其中包含了15项不同小程序功能&#xff0c;各行各业都有。一起来看看吧。以下是部分功能实现代码&#xff1a; 系统特色功能一览&#xff1a; 一、微同城本地生活服务…

项目管理中,进度管理是决定成败的关键因素!(建议收藏)

项目管理的主要目标在于确保员工充分理解其责任的目的和关键性&#xff0c;从而使其工作更具焦点和步骤性&#xff0c;以实现一目了然的效果。以小王在十字路口为例&#xff0c;项目经理就如同他的指路人&#xff0c;使其明确自己的方向&#xff0c;避免走错路。 在项目中&…

华测监测预警系统 2.2---任意文件读取漏洞

目录 1. 资产搜集 2. 漏洞复现 3. 实战总结 1. 资产搜集 直接上fofa 和 hunter 个人推荐hunter可以看到icp备案公司直接提交盒子就行了 FOFA语法 app”华测监测预警系统2.2” Hunter语法 web.body”华测监测预警系统2.2” 2. 漏洞复现 这里手动复现的&#xff0c;目录是/…

Kylin麒麟系统下安装人大金仓

虚拟机在线安装 install open-vm-tools-desktop -y 简要介绍 人大金仓数据库管理系统KingbaseES&#xff08;简称&#xff1a;金仓数据库或KingbaseES&#xff09;是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。金仓数据库主…

设计模式-装饰者模式

装饰者模式-简介 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。这种类型的设计模式属于结构型模式&#xff0c;它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中&#xff0c;以…

Unity中Shader的深度偏移Offset

文章目录 前言一、深度偏移一般用于什么时候1、深度偏移一般用于两个模型 重合在同一平面时&#xff0c;在其中一个模型上使用深度偏移后&#xff0c;就能区别出两个模型的深度&#xff0c;从而消除闪动2、虽然&#xff0c;可以让两个模型在深度上错开一点点&#xff0c;来解决…

工业级开源facechain人物写真sd-webui插件使用方式

一、简介 facechain人物写真应用自8月11日开源了第一版证件照生成后。目前在github&#xff08;https://github.com/modelscope/facechain&#xff09;上已有近6K的star&#xff0c;论文链接&#xff1a;FaceChain: A Playground for Identity-Preserving Portrait Generation…

Linux-JVM-CPU爆表调优

CPU爆表调优 一、自定义一个死循环测试类二、运行TestDemo类三、调优1、执行top命令2、执行ps命令3、执行jstack命令 一、自定义一个死循环测试类 第7行一定会死循环&#xff0c;永远出不去 public class TestDemo {public static void main(String[] args) {new Thread(null,(…

安装mmcv及GPU版本的pytorch及torchvision

一、先装GPU版本的pytorch和torchvision pip install torch1.9.1cu111 torchvision0.10.1cu111 torchaudio0.9.1 -f https://download.pytorch.org/whl/torch_stable.html注意&#xff1a;以上适用cuda11.1版本 如果想离线安装&#xff0c;就看这篇文章 二、安装mmcv 看这篇…

Python学习之Python3.10中match-case的用法和示例

在 Python 3.10 中引入了新的 match-case 语法&#xff0c;它是一种用于模式匹配的结构。它类似于 switch-case 语句&#xff0c;可以根据不同的模式匹配执行不同的代码块。 match-case 语法的基本结构如下&#xff1a; match expression:case pattern1:# 执行代码块1case p…

SpringCloud-Seata

一、介绍 &#xff08;1&#xff09;实现分布式事务 &#xff08;2&#xff09;解决Spring只支持单机事务 &#xff08;3&#xff09;事务ID TC&#xff08;事务协调者&#xff09; TM&#xff08;事务管理者&#xff09; RM&#xff08;资源管理者&#xff09;

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation Paper&#xff1a;https://arxiv.org/pdf/2101.00190.pdf Code&#xff1a;https://github.com/XiangLi1999/PrefixTuning 前缀调优&#xff1a;优化生成的连续提示 prefix-tunning 的基本思想也是想…

西湖大学利用 Transformer 分析百亿多肽的自组装特性,破解自组装法则

多肽是两个以上氨基酸通过肽键组成的生物活性物质&#xff0c;可以通过折叠、螺旋形成更高级的蛋白质结构。多肽不仅与多个生理活动相关联&#xff0c;还可以自组装成纳米粒子&#xff0c;参与到生物检测、药物递送、组织工程中。 然而&#xff0c;多肽的序列组成过于多样&…

瞬态抑制二极管TVS的工作原理?|深圳比创达电子EMC(上)

TVS二极管具有响应速度快、漏电流小、钳位电压稳以及无寿命衰减的特性&#xff0c;从小到信号线静电防护&#xff0c;大到电力系统抗雷击浪涌&#xff0c;TVS都发挥着至关重要的作用。本章对瞬态抑制二极管TVS工作机理展开分析&#xff0c;供产品选型参考。接下来就跟着深圳比创…

用git stash暂存修改

git stash命令用于保存当前工作目录的临时状态&#xff0c;包括暂存区和已修改但未暂存的文件。它会将这些修改保存在一个临时区域&#xff08;即“堆栈”&#xff09;中&#xff0c;让你能够回到一个干净的工作目录&#xff0c;可以进行其他操作。等到你完成其他任务后&#x…

立即报名 | 云原生 + AI Meetup 成都站 11.4 正式开启

2023 年&#xff0c;KubeSphere 社区已经在深圳、杭州、上海三个城市各组织了一场线下 Meetup。第四站&#xff0c;我们将走进天府成都。 11 月 4 日&#xff0c;云原生 AI Meetup 成都站将正式开启&#xff01; 此次 Meetup&#xff0c;我们邀请到了蚂蚁集团、云猿生数据、…

系列十二、Redis的主从复制

一、概述 主从复制架构仅仅用来解决数据的冗余备份&#xff0c;从节点仅仅用来同步数据。 二、架构图 三、搭建主从复制 # 1、准备3台机器并修改配置 -- master port 7379-- slave1 port 7380 slaveof masterip masterport-- slave2 port 7381 slaveof masterip masterpor…

美创科技入选“内蒙古自治区第一届网络安全应急技术支撑单位”

近日&#xff0c;内蒙古自治区党委网信办、国家网络应急技术处理协调中心内蒙古分中心评选“内蒙古自治区网络安全应急技术支撑单位”结果公布。 经自治区各地区、各部门和单位推荐各单位自主申报&#xff0c;资料审查和专家评审等环节&#xff0c;美创科技成功入选“内蒙古自治…

win10下yolov7 tensorrt模型部署

TensorRT系列之 Win10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署…