使用代码生成器生成部分代码
This commit is contained in:
parent
e499c6af11
commit
c47b055de3
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_bookApi = (id: number) => {
|
||||
return service.get('/maku/t_book/' + id)
|
||||
}
|
||||
|
||||
export const useT_bookSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_book', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_book', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_book_collectionApi = (id: number) => {
|
||||
return service.get('/maku/t_book_collection/' + id)
|
||||
}
|
||||
|
||||
export const useT_book_collectionSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_book_collection', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_book_collection', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_book_commentApi = (id: number) => {
|
||||
return service.get('/maku/t_book_comment/' + id)
|
||||
}
|
||||
|
||||
export const useT_book_commentSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_book_comment', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_book_comment', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_purchaseApi = (id: number) => {
|
||||
return service.get('/maku/t_purchase/' + id)
|
||||
}
|
||||
|
||||
export const useT_purchaseSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_purchase', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_purchase', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_purchase_detailsApi = (id: number) => {
|
||||
return service.get('/maku/t_purchase_details/' + id)
|
||||
}
|
||||
|
||||
export const useT_purchase_detailsSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_purchase_details', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_purchase_details', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_shopping_trolleyApi = (id: number) => {
|
||||
return service.get('/maku/t_shopping_trolley/' + id)
|
||||
}
|
||||
|
||||
export const useT_shopping_trolleySubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_shopping_trolley', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_shopping_trolley', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import service from '@/utils/request'
|
||||
|
||||
export const useT_userApi = (id: number) => {
|
||||
return service.get('/maku/t_user/' + id)
|
||||
}
|
||||
|
||||
export const useT_userSubmitApi = (dataForm: any) => {
|
||||
if (dataForm.id) {
|
||||
return service.put('/maku/t_user', dataForm)
|
||||
} else {
|
||||
return service.post('/maku/t_user', dataForm)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookName">
|
||||
<el-input v-model="dataForm.bookName" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="author">
|
||||
<el-input v-model="dataForm.author" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="price">
|
||||
<el-input v-model="dataForm.price" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookCover">
|
||||
<el-input v-model="dataForm.bookCover" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="introduction">
|
||||
<el-input v-model="dataForm.introduction" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="description">
|
||||
<el-input v-model="dataForm.description" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="store">
|
||||
<el-input v-model="dataForm.store" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_bookApi, useT_bookSubmitApi } from '@/api/maku/t_book'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
bookName: '',
|
||||
author: '',
|
||||
price: '',
|
||||
bookCover: '',
|
||||
introduction: '',
|
||||
description: '',
|
||||
store: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_book(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_book = (id: number) => {
|
||||
useT_bookApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_bookSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,77 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookName" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="author" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="price" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookCover" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="introduction" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="description" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="store" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_book:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_book:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_bookIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_book/page',
|
||||
deleteUrl: '/maku/t_book',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,90 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="userId">
|
||||
<el-input v-model="dataForm.userId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookId">
|
||||
<el-input v-model="dataForm.bookId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_book_collectionApi, useT_book_collectionSubmitApi } from '@/api/maku/t_book_collection'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
userId: '',
|
||||
bookId: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_book_collection(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_book_collection = (id: number) => {
|
||||
useT_book_collectionApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_book_collectionSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,72 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book_collection:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book_collection:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="userId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_book_collection:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_book_collection:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_book_collectionIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_book_collection/page',
|
||||
deleteUrl: '/maku/t_book_collection',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,98 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="userId">
|
||||
<el-input v-model="dataForm.userId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookId">
|
||||
<el-input v-model="dataForm.bookId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="comment">
|
||||
<el-input v-model="dataForm.comment" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="parentId">
|
||||
<el-input v-model="dataForm.parentId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_book_commentApi, useT_book_commentSubmitApi } from '@/api/maku/t_book_comment'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
userId: '',
|
||||
bookId: '',
|
||||
comment: '',
|
||||
parentId: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_book_comment(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_book_comment = (id: number) => {
|
||||
useT_book_commentApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_book_commentSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,74 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book_comment:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_book_comment:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="userId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="comment" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="parentId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_book_comment:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_book_comment:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_book_commentIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_book_comment/page',
|
||||
deleteUrl: '/maku/t_book_comment',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,90 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="tradingHour">
|
||||
<el-input v-model="dataForm.tradingHour" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="totalPrice">
|
||||
<el-input v-model="dataForm.totalPrice" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_purchaseApi, useT_purchaseSubmitApi } from '@/api/maku/t_purchase'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
tradingHour: '',
|
||||
totalPrice: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_purchase(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_purchase = (id: number) => {
|
||||
useT_purchaseApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_purchaseSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,72 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_purchase:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_purchase:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="tradingHour" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="totalPrice" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_purchase:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_purchase:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_purchaseIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_purchase/page',
|
||||
deleteUrl: '/maku/t_purchase',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,86 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="purchaseId">
|
||||
<el-input v-model="dataForm.purchaseId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookId">
|
||||
<el-input v-model="dataForm.bookId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="price">
|
||||
<el-input v-model="dataForm.price" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_purchase_detailsApi, useT_purchase_detailsSubmitApi } from '@/api/maku/t_purchase_details'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
purchaseId: '',
|
||||
bookId: '',
|
||||
price: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_purchase_details(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_purchase_details = (id: number) => {
|
||||
useT_purchase_detailsApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_purchase_detailsSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,71 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_purchase_details:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_purchase_details:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="purchaseId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="price" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_purchase_details:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_purchase_details:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_purchase_detailsIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_purchase_details/page',
|
||||
deleteUrl: '/maku/t_purchase_details',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,90 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="userId">
|
||||
<el-input v-model="dataForm.userId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="bookId">
|
||||
<el-input v-model="dataForm.bookId" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_shopping_trolleyApi, useT_shopping_trolleySubmitApi } from '@/api/maku/t_shopping_trolley'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
userId: '',
|
||||
bookId: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_shopping_trolley(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_shopping_trolley = (id: number) => {
|
||||
useT_shopping_trolleyApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_shopping_trolleySubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,72 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_shopping_trolley:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_shopping_trolley:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="userId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="bookId" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_shopping_trolley:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_shopping_trolley:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_shopping_trolleyIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_shopping_trolley/page',
|
||||
deleteUrl: '/maku/t_shopping_trolley',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
|
@ -0,0 +1,102 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false">
|
||||
<el-form ref="dataFormRef" :model="dataForm" :rules="dataRules" label-width="100px" @keyup.enter="submitHandle()">
|
||||
<el-form-item label="" prop="id">
|
||||
<el-input v-model="dataForm.id" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="username">
|
||||
<el-input v-model="dataForm.username" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="password">
|
||||
<el-input v-model="dataForm.password" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="avatar">
|
||||
<el-input v-model="dataForm.avatar" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="balance">
|
||||
<el-input v-model="dataForm.balance" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="status">
|
||||
<el-input v-model="dataForm.status" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="createTime">
|
||||
<el-input v-model="dataForm.createTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="updateTime">
|
||||
<el-input v-model="dataForm.updateTime" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitHandle()">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessage } from 'element-plus/es'
|
||||
import { useT_userApi, useT_userSubmitApi } from '@/api/maku/t_user'
|
||||
|
||||
const emit = defineEmits(['refreshDataList'])
|
||||
|
||||
const visible = ref(false)
|
||||
const dataFormRef = ref()
|
||||
|
||||
const dataForm = reactive({
|
||||
id: '',
|
||||
username: '',
|
||||
password: '',
|
||||
avatar: '',
|
||||
balance: '',
|
||||
status: '',
|
||||
createTime: '',
|
||||
updateTime: ''})
|
||||
|
||||
const init = (id?: number) => {
|
||||
visible.value = true
|
||||
dataForm.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
if (dataFormRef.value) {
|
||||
dataFormRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (id) {
|
||||
getT_user(id)
|
||||
}
|
||||
}
|
||||
|
||||
const getT_user = (id: number) => {
|
||||
useT_userApi(id).then(res => {
|
||||
Object.assign(dataForm, res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const dataRules = ref({
|
||||
})
|
||||
|
||||
// 表单提交
|
||||
const submitHandle = () => {
|
||||
dataFormRef.value.validate((valid: boolean) => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
useT_userSubmitApi(dataForm).then(() => {
|
||||
ElMessage.success({
|
||||
message: '操作成功',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
visible.value = false
|
||||
emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
|
@ -0,0 +1,75 @@
|
|||
<template>
|
||||
<el-card class="layout-query">
|
||||
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button icon="Search" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="RefreshRight" @click="reset(queryRef)">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card>
|
||||
<el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_user:save'" icon="Plus" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-space>
|
||||
<el-space>
|
||||
<el-button v-auth="'maku:t_user:delete'" icon="Delete" plain type="danger" @click="deleteBatchHandle()">批量删除</el-button>
|
||||
</el-space>
|
||||
</el-space>
|
||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border class="layout-table" @selection-change="selectionChangeHandle">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="id" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="username" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="password" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="avatar" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="balance" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="status" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="updateTime" label="" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button v-auth="'maku:t_user:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button v-auth="'maku:t_user:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="state.page"
|
||||
:page-sizes="state.pageSizes"
|
||||
:page-size="state.limit"
|
||||
:total="state.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MakuT_userIndex">
|
||||
import {useCrud} from '@/hooks'
|
||||
import {reactive, ref} from 'vue'
|
||||
import {IHooksOptions} from '@/hooks/interface'
|
||||
import AddOrUpdate from './add-or-update.vue'
|
||||
|
||||
const state: IHooksOptions = reactive({
|
||||
dataListUrl: '/maku/t_user/page',
|
||||
deleteUrl: '/maku/t_user',
|
||||
queryForm: {
|
||||
}
|
||||
})
|
||||
|
||||
const queryRef = ref()
|
||||
const addOrUpdateRef = ref()
|
||||
const addOrUpdateHandle = (id?: number) => {
|
||||
addOrUpdateRef.value.init(id)
|
||||
}
|
||||
|
||||
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state)
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user