找回密码
 立即注册
查看: 84|回复: 0

前端Web实战(Vue3工程化+ElementPlus) DEMO案例

[复制链接]

106

主题

5

精华

110

金币

技术维护QQ:515138

积分
242
发表于 2025-12-4 08:38:22 | 显示全部楼层 |阅读模式
前端Web实战(Vue3工程化+ElementPlus)
https://cn.vuejs.org/

  1. <script setup>
  2. import { ref, onMounted } from 'vue'
  3. import axios from 'axios'
  4. const searchEmp = ref({
  5.   name: '',
  6.   gender: '',
  7.   job: '',
  8. })
  9. onMounted(() => {
  10.   search();
  11. })
  12. const search = async () => {
  13.   const url = `https://web-server.itheima.net/emps/list?name=${searchEmp.value.name}&gender=${searchEmp.value.gender}&job=${searchEmp.value.job}`
  14.   const result = await axios.get(url)
  15.   tableData.value = result.data.data
  16. }
  17. const clear = () => {
  18.   searchEmp.value = { name: '', gender: '', job: '' }
  19.   search();
  20. }
  21. let tableData = ref([])
  22. </script>
  23. <template>
  24.   <div id="center">
  25.     <el-form :inline="true" :model="searchEmp" class="demo-form-inline">
  26.       <el-form-item label="姓名">
  27.         <el-input v-model="searchEmp.name" placeholder="请输入姓名" clearable />
  28.       </el-form-item>
  29.       <el-form-item label="性别">
  30.         <el-select v-model="searchEmp.gender" placeholder="请选择" clearable style="width: 100px">
  31.           <el-option label="男" value="1" />
  32.           <el-option label="女" value="2" />
  33.         </el-select>
  34.       </el-form-item>
  35.       <el-form-item label="职位">
  36.         <el-select v-model="searchEmp.job" placeholder="请选择" clearable style="width: 100px">
  37.           <el-option label="班主任" value="1" />
  38.           <el-option label="讲师" value="2" />
  39.           <el-option label="咨询师" value="3" />
  40.         </el-select>
  41.       </el-form-item>
  42.       <el-form-item>
  43.         <el-button type="primary" @click="search">查询</el-button>
  44.         <el-button type="primary" @click="clear">清空</el-button>
  45.       </el-form-item>
  46.     </el-form>
  47.     <br>
  48.     <!-- 表格 -->
  49.     <el-table :data="tableData" border style="width: 100%; ">
  50.       <el-table-column prop="id" label="ID" width="80" align="center" />
  51.       <el-table-column prop="name" label="姓名" width="100" align="center" />
  52.       <el-table-column label="头像" width="120" align="center">
  53.         <template #default="scope">
  54.           <img :src="scope.row.image" width="50">
  55.         </template>
  56.       </el-table-column>
  57.       <el-table-column prop="gender" label="性别" width="120" align="center">
  58.         <template #default="scope">
  59.           {{ scope.row.gender == 1 ? '男' : '女' }}
  60.         </template>
  61.       </el-table-column>
  62.       <el-table-column label="职位" width="180" align="center">
  63.         <template #default="scope">
  64.           <span v-if="scope.row.job == 1">班主任</span>
  65.           <span v-else-if="scope.row.job == 2">讲师</span>
  66.           <span v-else-if="scope.row.job == 3">咨询师</span>
  67.           <span v-else>其他</span>
  68.         </template>
  69.       </el-table-column>
  70.       <el-table-column prop="entrydate" label="入职日期" width="180" align="center" />
  71.       <el-table-column prop="updatetime" label="更新时间" align="center" />
  72.     </el-table>
  73.   </div>
  74. </template>
  75. <style scoped>
  76. #center {
  77.   width: 70%;
  78.   margin: auto;
  79.   margin-top: 100px;
  80. }
  81. </style>
复制代码


游客,如果您要查看本帖隐藏内容请回复

vue-project01.zip (27.53 KB, 下载次数: 0, 售价: 50 金币)


下一篇:ElementPlus案例附带源代码
网站建设,公众号小程序开发,系统定制,软件App开发,技术维护【联系我们】手机/微信:17817817816 QQ:515138

QQ|Archiver|自丢网 ( 粤ICP备2024252464号-1 )

GMT+8, 2025-12-21 18:34

专注于网站建设,公众号小程序制作,商城小程序,系统定制,软件App开发

【联系我们】手机/微信:17817817816 QQ:515138

快速回复 返回顶部 返回列表