cashier-admin-java/product/category/index.vue

157 lines
7.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">自增id</label>
<el-input v-model="query.id" clearable placeholder="自增id" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<label class="el-form-item-label">简称</label>
<el-input v-model="query.shortName" clearable placeholder="简称" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<label class="el-form-item-label">店铺Id</label>
<el-input v-model="query.shopId" clearable placeholder="店铺Id" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<rrOperation :crud="crud" />
</div>
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="自增id">
<el-input v-model="form.id" style="width: 370px;" />
</el-form-item>
<el-form-item label="分类名称" prop="name">
<el-input v-model="form.name" style="width: 370px;" />
</el-form-item>
<el-form-item label="简称">
<el-input v-model="form.shortName" style="width: 370px;" />
</el-form-item>
<el-form-item label="分类层级">
<el-input v-model="form.tree" style="width: 370px;" />
</el-form-item>
<el-form-item label="上级分类id-为0则表示是顶级">
<el-input v-model="form.pid" style="width: 370px;" />
</el-form-item>
<el-form-item label="图标">
<el-input v-model="form.pic" style="width: 370px;" />
</el-form-item>
<el-form-item label="商户Id">
<el-input v-model="form.merchantId" style="width: 370px;" />
</el-form-item>
<el-form-item label="店铺Id" prop="shopId">
<el-input v-model="form.shopId" style="width: 370px;" />
</el-form-item>
<el-form-item label="颜色格式标识">
<el-input v-model="form.style" style="width: 370px;" />
</el-form-item>
<el-form-item label="是否显示1显示 0不显示" prop="isShow">
<el-input v-model="form.isShow" style="width: 370px;" />
</el-form-item>
<el-form-item label="分类描述">
<el-input v-model="form.detail" style="width: 370px;" />
</el-form-item>
<el-form-item label="排序">
<el-input v-model="form.sort" style="width: 370px;" />
</el-form-item>
<el-form-item label="关键词">
<el-input v-model="form.keyWord" style="width: 370px;" />
</el-form-item>
<el-form-item label="createdAt">
<el-input v-model="form.createdAt" style="width: 370px;" />
</el-form-item>
<el-form-item label="updatedAt">
<el-input v-model="form.updatedAt" style="width: 370px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="id" label="自增id" />
<el-table-column prop="name" label="分类名称" />
<el-table-column prop="shortName" label="简称" />
<el-table-column prop="tree" label="分类层级" />
<el-table-column prop="pid" label="上级分类id-为0则表示是顶级" />
<el-table-column prop="pic" label="图标" />
<el-table-column prop="merchantId" label="商户Id" />
<el-table-column prop="shopId" label="店铺Id" />
<el-table-column prop="style" label="颜色格式标识" />
<el-table-column prop="isShow" label="是否显示1显示 0不显示" />
<el-table-column prop="detail" label="分类描述" />
<el-table-column prop="sort" label="排序" />
<el-table-column prop="keyWord" label="关键词" />
<el-table-column prop="createdAt" label="createdAt" />
<el-table-column prop="updatedAt" label="updatedAt" />
<el-table-column v-if="checkPer(['admin','tbShopCategory:edit','tbShopCategory:del'])" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudTbShopCategory from '@/api/tbShopCategory'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = { id: null, name: null, shortName: null, tree: null, pid: null, pic: null, merchantId: null, shopId: null, style: null, isShow: null, detail: null, sort: null, keyWord: null, createdAt: null, updatedAt: null }
export default {
name: 'TbShopCategory',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({ title: 'product/category', url: 'api/tbShopCategory', idField: 'id', sort: 'id,desc', crudMethod: { ...crudTbShopCategory }})
},
data() {
return {
permission: {
add: ['admin', 'tbShopCategory:add'],
edit: ['admin', 'tbShopCategory:edit'],
del: ['admin', 'tbShopCategory:del']
},
rules: {
name: [
{ required: true, message: '分类名称不能为空', trigger: 'blur' }
],
shopId: [
{ required: true, message: '店铺Id不能为空', trigger: 'blur' }
],
isShow: [
{ required: true, message: '是否显示1显示 0不显示不能为空', trigger: 'blur' }
]
},
queryTypeOptions: [
{ key: 'id', display_name: '自增id' },
{ key: 'shortName', display_name: '简称' },
{ key: 'shopId', display_name: '店铺Id' }
]
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>