首页 > 其他分享 >标准的vue3 elementplus格式,不用export default

标准的vue3 elementplus格式,不用export default

时间:2024-09-13 15:35:45浏览次数:12  
标签:elementplus const default value item export filters ref page

<template>
  <div>
    <!-- 查询表单 -->
    <el-form :inline="true" :model="filters" class="demo-form-inline">
      <el-form-item label="产品料号">
        <el-input v-model="filters.bo_no" placeholder="请输入产品料号"></el-input>
      </el-form-item>
      <el-form-item label="品名">
        <el-input v-model="filters.item_name" placeholder="请输入品名"></el-input>
      </el-form-item>
      <el-form-item label="规格">
        <el-input v-model="filters.item_spec" placeholder="请输入规格"></el-input>
      </el-form-item>
      <el-form-item label="年月">
        <el-date-picker
          v-model="filters.mps_ym"
          type="month"
          placeholder="选择年月"
          format="yyyy-MM"
          value-format="yyyy-MM"
        />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="fetchMpsList">查询</el-button>
        <el-button @click="resetFilters">重置</el-button>
      </el-form-item>
    </el-form>

    <!-- 生产计划列表 -->
    <el-table :data="mpsList" style="width: 100%" v-loading="loading">
      <el-table-column prop="mps_no" label="单号" width="180">
        <template #default="{ row }">
          <el-button type="text" @click="showMpsDetails(row.id)">
            {{ row.mps_no }}
          </el-button>
        </template>
      </el-table-column>
      <el-table-column prop="mps_date" label="单据时间" width="180"/>
      <el-table-column prop="fa_no_name" label="厂别" width="180"/>
      <el-table-column prop="bo_no" label="产品料号" width="180"/>
      <el-table-column prop="bo_no_name" label="品名" width="180"/>
      <el-table-column prop="bo_no_spec" label="规格" width="180"/>
      <el-table-column prop="mps_ym" label="年月" width="100"/>
      <el-table-column prop="mps_qty" label="数量" width="100"/>
    </el-table>

    <!-- 分页 -->
    <el-pagination
      v-if="mpsList.length"
      background
      :current-page="page"
      :page-size="pageSize"
      layout="total, prev, pager, next"
      :total="total"
      @current-change="handlePageChange"
    />

    <!-- 详情对话框 -->
    <el-dialog v-model="showDetails" width="80%">
      <template #header>
        <h3>主生产计划详情</h3>
      </template>
      <MPS002HDetail :MPSHeadId="selectedMpsId" />
    </el-dialog>
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import { getMPS002 } from '@/api/mpsApp/mps002/mps002';
import MPS002HDetail from './MPS002HDetail.vue';

const mpsList = ref([]);
const page = ref(1);
const pageSize = ref(10);
const total = ref(0);
const loading = ref(false);
const showDetails = ref(false);
const selectedMpsId = ref(null);

const filters = ref({
  bo_no: '',
  item_name: '',
  item_spec: '',
  mps_ym: '',
});

const fetchMpsList = async () => {
  loading.value = true;
  try {
    const params = {
      page: page.value,
      page_size: pageSize.value,
      bo_no: filters.value.bo_no,
      item_name: filters.value.item_name,
      item_spec: filters.value.item_spec,
      mps_ym: filters.value.mps_ym,
    };
    const response = await getMPS002(params);
    mpsList.value = response.data.results;
    total.value = response.data.count;
  } catch (error) {
    console.error('Error fetching MPS002 list:', error);
  } finally {
    loading.value = false;
  }
};

const resetFilters = () => {
  filters.value = {
    bo_no: '',
    item_name: '',
    item_spec: '',
    mps_ym: '',
  };
  fetchMpsList();
};

const showMpsDetails = (id) => {
  selectedMpsId.value = id;
  showDetails.value = true;
};

const handlePageChange = (newPage) => {
  page.value = newPage;
  fetchMpsList();
};

onMounted(fetchMpsList);
</script>

 

细节:

  1. <script setup>:使用 <script setup> 简化了组件结构,不再需要 export default,并且响应式变量和函数自动暴露到模板中。
  2. 响应式数据:通过 ref 定义响应式数据,如 mpsListpagefilters 等。
  3. 生命周期钩子:使用 onMounted 生命周期钩子在组件挂载时加载数据。
  4. 函数:将表单查询、重置、分页等功能以函数形式定义,并通过模板中的事件绑定触发这些函数。

标签:elementplus,const,default,value,item,export,filters,ref,page
From: https://www.cnblogs.com/beichengshiqiao/p/18412303

相关文章

  • vue3在引入组件时报'has no default export'
    原文:https://blog.csdn.net/weixin_53042678/article/details/138254610这个虽然不影响程序的运行,但是有强迫症患者觉得爆红难受,报错如下: 这个解决的方法也很简单,点击Vscode左下角的设置  添加 "vetur.validation.script":false,重启Vscode即可生效  ......
  • 搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)
    搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)在现代IT环境中,系统监控与分析是确保应用稳定性和高效性的关键。Prometheus与Grafana的结合,为我们提供了一个强大而灵活的监控解决方案,能够实时地收集、处理并展示系统性能指标。本文将详细介绍如何在Linux......
  • 解决Java8中使用LocalDate接收参数异常 not supported by default
    背景在spring项目中经常遇到需要传参为时间类型的参数,java8提供了很方便的日期:LocalDate时间:LocalTime及LocalDateTime类型,在spring接口中直接使用这些类型接收入参时会报错Java8date/timetypejava.time.LocalDatenotsupportedbydefault原因是jackson库默认......
  • Prometheus(普罗米修斯)监控系统 - 4、服务器硬件信息监控(ipmi-exporter)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、下载ipmi_exporter二、dockerimage制作三、测试四、加入监控四、监控进阶总结前言IPMI监控基于IPMI协议,允许对物理服务器的硬件进行低级别管理。IPMIExporter通过与BMC(BaseboardM......
  • VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提
    本文记录一个VisualStudio黑科技,通过配置DefaultXamlRuntime属性,即可让非WPF或WinUI或MAUI等系列类型的项目也可以拥有XAML的智能提示,智能提示方式和WinUI智能提示行为相同比如说在一个控制台项目里面,我期望从控制台开始,定制自己的UI框架,比如说到现在还没有支持......
  • prometheus学习笔记之基于三方exporter实现监控
    一、redis_exporter通过redis_exporter监控redis服务状态git地址:https://github.com/oliver006/redis_exporterdocker地址:https://hub.docker.com/r/oliver006/redis_exporter实验环境:redisk8部署prometheus二进制部署1.redis_exporter使用简解二进制部署prometheus......
  • Prometheus(普罗米修斯)监控系统 - 3、操作系统信息监控(node-exporter)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、部署node-exporter二、测试三、加入监控四、监控进阶1、Daemonset2、Prometheus.rules3、测试其他前言下面就以Ubuntu系统为例子,部署node-exporter并进行监控。一、部署nod......
  • Prometheus可以对接哪些exporter,请举几个列子,这些exporter的功能是什么?
    Prometheus可以对接多种类型的exporter,以便从不同的系统和应用程序中收集监控数据。以下是一些常见的Prometheusexporter及其功能:1.NodeExporter功能:用于收集主机(节点)的硬件和操作系统指标,如CPU使用率、内存使用、磁盘I/O、网络流量等。用途:监控服务器的整体性能,帮......
  • Exporter 停止工作,如何监控?
    要监控Exporter的状态并确保它们持续正常工作,可以采取以下几种策略和方法:1.使用Prometheus自身的监控功能自定义指标:在Exporter中定义自定义指标,报告其健康状态。例如,可以添加一个简单的指标来表示Exporter是否正常运行。目标状态监控:利用Prometheus的up指标监控......
  • k8s集群外exporter怎么使用Prometheus监控
    要在Kubernetes集群外部使用Exporter并通过Prometheus监控它,您可以按照以下步骤进行配置:1.部署Exporter首先,确保您已经在Kubernetes集群外部的主机上部署了Exporter(如NodeExporter、BlackboxExporter等)。以下是以NodeExporter为例的安装步骤:#下载并解压Nod......