vue 项目添加功能实现

一 定义 api 模块

import request from '@/utils/request'

export default {
    // 分页查询
    getHospitalList(current, limit, searchObj) {
        return request({
            url: `/admin/hospital/findPageHospital/${current}/${limit}`,
            method: 'post',
            data: searchObj // 使用 json 进行参数传递
        })
    },
    // 单条删除医院
    deleteHospital(id) {
        return request({
            url: `/admin/hospital/${id}`,
            method: 'delete'
        })
    },
    // 批量删除医院
    removeHospitals(idList) {
        return request({
            url: `/admin/hospital/batchRemove`,
            method: 'delete',
            data: idList
        })
    },
    // 锁定和取消锁定
    lockHospital(id, status) {
        return request({
            url: `/admin/hospital/lockHospital/${id}/${status}`,
            method: 'put'
        })
    },
    // 添加医院
    saveHospital(hospital) {
        return request({
            url: `/admin/hospital/saveHospital`,
            method: 'post',
            data: hospital
        })
    }
}

二 页面部分

<template>
  <div class="app-container">
    <el-form label-width="120px">
      <el-form-item label="名称">
        <el-input v-model="hospital.name" />
      </el-form-item>
      <el-form-item label="省">
        <el-input v-model="hospital.province" />
      </el-form-item>
      <el-form-item label="市">
        <el-input v-model="hospital.city" />
      </el-form-item>
      <el-form-item label="区">
        <el-input v-model="hospital.district" />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="saveOrUpdate">保存</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
// 引入接口定义的 js 文件
import hospital from "@/api/hospital"
export default {
  data() {
    return {
      hospital: {}
    }
  },
  created() {},
  methods: {
    // 添加
    saveOrUpdate() {
      hospital.saveHospital(this.hospital).then(response => {
        // 提示
        this.$message({
          type: "success",
          message: "添加成功!"
        })
        // 跳转列表页面,使用路由跳转方式实现
        this.$router.push({ path: "/hospital/list" })
      })
    }
  }
}
</script>

三 测试效果

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现 Vue 项目的书签功能,可以考虑使用浏览器提供的 localStorage 来保存用户的书签数据。具体实现步骤如下: 1. 在 Vue 项目中创建一个 Bookmarks 组件,用于显示用户的书签列表和书签添加/删除功能。 2. 在 Bookmarks 组件中,使用 Vue 的生命周期钩子函数 created() 来读取 localStorage 中保存的书签数据。如果 localStorage 中没有保存过书签数据,可以初始化一个空数组。 3. 在 Bookmarks 组件中,使用 v-for 指令循环遍历书签数组,以便在页面中显示所有书签。 4. 在 Bookmarks 组件中,添加一个输入框和添加按钮,用于添加新的书签。当用户点击添加按钮时,将输入框中的书签信息添加到书签数组中,并将数组保存到 localStorage 中。 5. 在 Bookmarks 组件中,为每个书签添加一个删除按钮,用于删除书签。当用户点击删除按钮时,从书签数组中删除对应的书签,并将新的数组保存到 localStorage 中。 6. 在 Bookmarks 组件中,为每个书签添加一个点击事件,用于跳转到对应的页面。可以使用 Vue Router 来实现页面跳转。 下面是一个简单的代码示例: ```html <template> <div> <h2>Bookmarks</h2> <div> <input type="text" v-model="newBookmark"> <button @click="addBookmark">Add</button> </div> <ul> <li v-for="(bookmark, index) in bookmarks" :key="index"> <a :href="bookmark.url" target="_blank">{{ bookmark.title }}</a> <button @click="deleteBookmark(index)">Delete</button> </li> </ul> </div> </template> <script> export default { data() { return { bookmarks: [], newBookmark: '' } }, created() { const savedBookmarks = localStorage.getItem('bookmarks') if (savedBookmarks) { this.bookmarks = JSON.parse(savedBookmarks) } }, methods: { addBookmark() { if (this.newBookmark) { this.bookmarks.push({ title: this.newBookmark, url: 'http://example.com/' + this.newBookmark }) localStorage.setItem('bookmarks', JSON.stringify(this.bookmarks)) this.newBookmark = '' } }, deleteBookmark(index) { this.bookmarks.splice(index, 1) localStorage.setItem('bookmarks', JSON.stringify(this.bookmarks)) } } } </script> ``` 注意,这只是一个简单的示例,实际项目中可能需要更复杂的实现。例如,可以添加更多的书签信息,如书签描述、图标等。同时,为了更好的用户体验,可以使用第三方库来美化书签列表和添加/删除操作的界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值