放弃幻想,认清现实,准备斗争
src/api/core/integral-grade.js
- removeById(id) {
- return request({
- url: `/admin/core/integralGrade/remove/${id}`,
- method: 'delete'
- })
- }
"操作" width="200" align="center"> - <template slot-scope="scope">
- <el-button
- type="danger"
- size="mini"
- icon="el-icon-delete"
- @click="removeById(scope.row.id)"
- >
- 删除
- el-button>
- template>
- // 根据id删除数据
- removeById(id) {
- this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- })
- .then(() => {
- integralGradeApi.removeById(id).then(response => {
- this.$message.success(response.message)
- this.fetchData()
- })
- })
- .catch(error => {
- this.$message.info('取消删除')
- })
- }
- save(integralGrade) {
- return request({
- url: '/admin/core/integralGrade/save',
- method: 'post',
- data: integralGrade
- })
- }
src/views/core/integral-grade/form.vue,完善data定义
- export default {
- data() {
- return {
- integralGrade: {}, // 初始化数据
- saveBtnDisabled: false // 保存按钮是否禁用,防止表单重复提交
- }
- }
- }
src/views/core/integral-grade/form.vue,完善template
- <div class="app-container">
-
- <el-form label-width="120px">
- <el-form-item label="借款额度">
- <el-input-number v-model="integralGrade.borrowAmount" :min="0" />
- el-form-item>
- <el-form-item label="积分区间开始">
- <el-input-number v-model="integralGrade.integralStart" :min="0" />
- el-form-item>
- <el-form-item label="积分区间结束">
- <el-input-number v-model="integralGrade.integralEnd" :min="0" />
- el-form-item>
- <el-form-item>
- <el-button
- :disabled="saveBtnDisabled"
- type="primary"
- @click="saveOrUpdate()"
- >
- 保存
- el-button>
- el-form-item>
- el-form>
- div>
src/views/core/integral-grade/form.vue,引入api
import integralGradeApi from '@/api/core/integral-grade'
定义保存方法
src/views/core/integral-grade/list.vue,表格“操作”列中增加“修改”按钮
"'/core/integral-grade/edit/' + scope.row.id" style="margin-right:5px;" > - <el-button type="primary" size="mini" icon="el-icon-edit">
- 修改
- el-button>
src/api/core/integral-grade.js
- getById(id) {
- return request({
- url: `/admin/core/integralGrade/get/${id}`,
- method: 'get'
- })
- }
src/views/core/integral-grade/form.vue,methods中定义回显方法
- // 根据id查询记录
- fetchDataById(id) {
- integralGradeApi.getById(id).then(response => {
- this.integralGrade = response.data.record
- })
- }
页面渲染成功后获取数据
因为已在路由中定义如下内容:path: 'edit/:id',因此可以使用 this.$route.params.id 获取路由中的id
- //页面渲染成功
- created() {
- if (this.$route.params.id) {
- this.fetchDataById(this.$route.params.id)
- }
- },
src/api/core/integral-grade.js
- updateById(integralGrade) {
- return request({
- url: '/admin/core/integralGrade/update',
- method: 'put',
- data: integralGrade
- })
- }
src/views/core/integral-grade/form.vue,methods中定义updateData
- // 根据id更新记录
- updateData() {
- // 数据的获取
- integralGradeApi.updateById(this.integralGrade).then(response => {
- this.$message({
- type: 'success',
- message: response.message
- })
- this.$router.push('/core/integral-grade/list')
- })
- }
完善saveOrUpdate方法
- saveOrUpdate() {
- // 禁用保存按钮
- this.saveBtnDisabled = true
- if (!this.integralGrade.id) {
- this.saveData()
- } else {
- this.updateData()
- }
- },
组件(Component)是 Vue.js 最强大的功能之一。
组件可以扩展 HTML 元素,封装可重用的代码。
组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用界面都可以抽象为一个组件树:
main.js 中引入了App.vue和 router/index.js,根据路由配置,App.vue中的路由出口会显示相应的页面组件的内容
引入顶层组件模块和路由模块
路由出口的位置
路由出口的位置显示的页面组件
2、登录页组件关系
src/layout/index.vue:侧边栏、导航栏、主内容区
src/layout/components/AppMain.vue:Layout的路由出口(主内容区)