Commit 23e1441b authored by xiaoman's avatar xiaoman

bugfix:钱币分类 keepalive

parent 50fe79b2
...@@ -160,7 +160,7 @@ export const asyncRouterMap = [ ...@@ -160,7 +160,7 @@ export const asyncRouterMap = [
{ {
path: 'infoSet', path: 'infoSet',
component: () => import('@/views/goods/infoSet'), component: () => import('@/views/goods/infoSet'),
name: 'category', name: 'InfoSet',
meta: { meta: {
perms: ['GET /admin/category/list', 'POST /admin/category/create', 'GET /admin/category/read', 'POST /admin/category/update', 'POST /admin/category/delete', 'POST /admin/category/getSubCategory', 'POST /admin/bidrecord/list'], perms: ['GET /admin/category/list', 'POST /admin/category/create', 'GET /admin/category/read', 'POST /admin/category/update', 'POST /admin/category/delete', 'POST /admin/category/getSubCategory', 'POST /admin/bidrecord/list'],
title: '钱币设置', title: '钱币设置',
...@@ -172,12 +172,12 @@ export const asyncRouterMap = [ ...@@ -172,12 +172,12 @@ export const asyncRouterMap = [
{ {
path: 'category', path: 'category',
component: () => import('@/views/mall/category'), component: () => import('@/views/mall/category'),
name: 'category', name: 'Category',
meta: { meta: {
perms: ['GET /admin/category/list', 'POST /admin/category/create', 'GET /admin/category/read', 'POST /admin/category/update', 'POST /admin/category/delete', 'POST /admin/category/getSubCategory', 'POST /admin/bidrecord/list'], perms: ['GET /admin/category/list', 'POST /admin/category/create', 'GET /admin/category/read', 'POST /admin/category/update', 'POST /admin/category/delete', 'POST /admin/category/getSubCategory', 'POST /admin/bidrecord/list'],
title: '钱币分类', title: '钱币分类',
icon: 'list', icon: 'list',
noCache: true noCache: false
} }
}, },
{ {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<section class="app-main"> <section class="app-main">
<transition name="fade-transform" mode="out-in"> <transition name="fade-transform" mode="out-in">
<keep-alive :include="cachedViews"> <keep-alive :include="cachedViews">
<router-view :key="key"/> <router-view />
</keep-alive> </keep-alive>
</transition> </transition>
</section> </section>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-if="activeLevel>0" class="page__header flex f-ai-c"> <div v-if="activeLevel > 0" class="page__header flex f-ai-c">
<el-button type="primary" size="mini" class="mr10" @click="onBack">返回</el-button> <el-button
<div v-if="categoryList[activeLevel]&&categoryList[activeLevel].path" class="flex"> type="primary"
<div v-for="(item,index) in categoryList[activeLevel].path" :key="index" class="page__header--text flex f-ai-c"> size="mini"
{{ item }} <span v-if="index !==categoryList[activeLevel].path.length-1"> > </span> class="mr10"
@click="onBack"
>返回</el-button
>
<div
v-if="categoryList[activeLevel] && categoryList[activeLevel].path"
class="flex"
>
<div
v-for="(item, index) in categoryList[activeLevel].path"
:key="index"
class="page__header--text flex f-ai-c"
>
{{ item }}
<span v-if="index !== categoryList[activeLevel].path.length - 1">
>
</span>
</div> </div>
</div> </div>
</div> </div>
<el-table v-loading="listLoading" :data="categoryList[activeLevel] && categoryList[activeLevel].list" size="small" element-loading-text="正在查询中。。。" border fit highlight-current-row> <el-table
<el-table-column align="center" label="ID" prop="id"/> v-loading="listLoading"
<el-table-column align="center" label="名称" prop="name"/> :data="categoryList[activeLevel] && categoryList[activeLevel].list"
size="small"
element-loading-text="正在查询中。。。"
border
fit
highlight-current-row
>
<el-table-column align="center" label="ID" prop="id" />
<el-table-column align="center" label="名称" prop="name" />
<el-table-column align="center" label="图片" width="120px"> <el-table-column align="center" label="图片" width="120px">
<template slot-scope="scope"> <template slot-scope="scope">
<img v-if="scope.row.icon" :src="scope.row.icon" class="row-img"> <img v-if="scope.row.icon" :src="scope.row.icon" class="row-img" >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="层级" prop="level"/> <el-table-column align="center" label="层级" prop="level" />
<el-table-column align="left" label="操作" width="450" class-name="small-padding fixed-width"> <el-table-column
align="left"
label="操作"
width="450"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-permission="['POST /admin/category/update']" type="warning" size="medium" @click="handleUpdate(scope.row)">编辑</el-button> <el-button
<el-button v-permission="['POST /admin/category/delete']" type="danger" size="medium" @click="handleDelete(scope.row)">删除</el-button> v-permission="['POST /admin/category/update']"
<el-button v-permission="['POST /admin/category/add']" type="primary" size="medium" @click="handleCreate(scope.row)">添加子类目</el-button> type="warning"
size="medium"
@click="handleUpdate(scope.row)"
>编辑</el-button
>
<el-button
v-permission="['POST /admin/category/delete']"
type="danger"
size="medium"
@click="handleDelete(scope.row)"
>删除</el-button
>
<el-button
v-permission="['POST /admin/category/add']"
type="primary"
size="medium"
@click="handleCreate(scope.row)"
>添加子类目</el-button
>
<i v-permission="['POST /admin/category/getSubCategory']"> <i v-permission="['POST /admin/category/getSubCategory']">
<el-button v-if="!scope.row.leaf" type="" size="medium" @click="handleChild(scope.row)">查看子类目</el-button> <el-button
v-if="!scope.row.leaf"
type=""
size="medium"
@click="handleChild(scope.row)"
>查看子类目</el-button
>
</i> </i>
<i v-permission="['POST /admin/category/getSubCategory']"> <i v-permission="['POST /admin/category/getSubCategory']">
<el-button v-if="scope.row.leaf" type="" size="medium" @click="handleDealRecord(scope.row)">成交记录</el-button> <el-button
v-if="scope.row.leaf"
type=""
size="medium"
@click="handleDealRecord(scope.row)"
>成交记录</el-button
>
</i> </i>
</template> </template>
</el-table-column> </el-table-column>
...@@ -60,15 +119,23 @@ ...@@ -60,15 +119,23 @@
</tree-table> --> </tree-table> -->
<!-- 添加或修改对话框 --> <!-- 添加或修改对话框 -->
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"> <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form ref="dataForm" :rules="rules" :model="dataForm" status-icon label-position="left" label-width="100px" style="width: 400px; margin-left:50px;"> <el-form
ref="dataForm"
:rules="rules"
:model="dataForm"
status-icon
label-position="left"
label-width="100px"
style="width: 400px; margin-left: 50px"
>
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input v-model="dataForm.name"/> <el-input v-model="dataForm.name" />
</el-form-item> </el-form-item>
<el-form-item label="扩展名称" prop="extendName"> <el-form-item label="扩展名称" prop="extendName">
<el-input v-model="dataForm.extendName"/> <el-input v-model="dataForm.extendName" />
</el-form-item> </el-form-item>
<el-form-item label="品种代码" prop="serialNo"> <el-form-item label="品种代码" prop="serialNo">
<el-input v-model="dataForm.serialNo"/> <el-input v-model="dataForm.serialNo" />
</el-form-item> </el-form-item>
<el-form-item label="图片" prop="icon"> <el-form-item label="图片" prop="icon">
<el-upload <el-upload
...@@ -77,43 +144,44 @@ ...@@ -77,43 +144,44 @@
:show-file-list="false" :show-file-list="false"
:on-success="uploadIconUrl" :on-success="uploadIconUrl"
class="avatar-uploader" class="avatar-uploader"
accept=".jpg,.jpeg,.png,.gif"> accept=".jpg,.jpeg,.png,.gif"
<img v-if="dataForm.icon" :src="dataForm.icon" class="avatar"> >
<i v-else class="el-icon-plus avatar-uploader-icon"/> <img v-if="dataForm.icon" :src="dataForm.icon" class="avatar" >
<i v-else class="el-icon-plus avatar-uploader-icon" />
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="铸年" prop="publishTime"> <el-form-item label="铸年" prop="publishTime">
<el-input v-model="dataForm.publishTime"/> <el-input v-model="dataForm.publishTime" />
</el-form-item> </el-form-item>
<el-form-item label="铸主" prop="publisher"> <el-form-item label="铸主" prop="publisher">
<el-input v-model="dataForm.publisher"/> <el-input v-model="dataForm.publisher" />
</el-form-item> </el-form-item>
<el-form-item label="王朝" prop="desc"> <el-form-item label="王朝" prop="desc">
<el-input v-model="dataForm.dynasty"/> <el-input v-model="dataForm.dynasty" />
</el-form-item> </el-form-item>
<el-form-item label="面值" prop="parValue"> <el-form-item label="面值" prop="parValue">
<el-input v-model="dataForm.parValue"/> <el-input v-model="dataForm.parValue" />
</el-form-item> </el-form-item>
<el-form-item label="直径(mm)" prop="diameter"> <el-form-item label="直径(mm)" prop="diameter">
<el-input v-model="dataForm.diameter"/> <el-input v-model="dataForm.diameter" />
</el-form-item> </el-form-item>
<el-form-item label="厚度(mm)" prop="thickness"> <el-form-item label="厚度(mm)" prop="thickness">
<el-input v-model="dataForm.thickness"/> <el-input v-model="dataForm.thickness" />
</el-form-item> </el-form-item>
<el-form-item label="重量(g)" prop="weight"> <el-form-item label="重量(g)" prop="weight">
<el-input v-model="dataForm.weight"/> <el-input v-model="dataForm.weight" />
</el-form-item> </el-form-item>
<el-form-item label="存世量" prop="exiQuantity"> <el-form-item label="存世量" prop="exiQuantity">
<el-input v-model="dataForm.exiQuantity"/> <el-input v-model="dataForm.exiQuantity" />
</el-form-item> </el-form-item>
<el-form-item label="材质" prop="material"> <el-form-item label="材质" prop="material">
<el-input v-model="dataForm.material"/> <el-input v-model="dataForm.material" />
</el-form-item> </el-form-item>
<el-form-item label="命名出处" prop="nameSrc"> <el-form-item label="命名出处" prop="nameSrc">
<el-input v-model="dataForm.nameSrc"/> <el-input v-model="dataForm.nameSrc" />
</el-form-item> </el-form-item>
<el-form-item label="细节描述" prop="desc"> <el-form-item label="细节描述" prop="desc">
<el-input v-model="dataForm.desc"/> <el-input v-model="dataForm.desc" />
</el-form-item> </el-form-item>
<el-form-item label="金属成分分析表" prop="caTableImage"> <el-form-item label="金属成分分析表" prop="caTableImage">
<el-upload <el-upload
...@@ -122,24 +190,38 @@ ...@@ -122,24 +190,38 @@
:show-file-list="false" :show-file-list="false"
:on-success="uploadCaTableImageUrl" :on-success="uploadCaTableImageUrl"
class="avatar-uploader" class="avatar-uploader"
accept=".jpg,.jpeg,.png,.gif"> accept=".jpg,.jpeg,.png,.gif"
<img v-if="dataForm.caTableImage" :src="dataForm.caTableImage" class="avatar"> >
<i v-else class="el-icon-plus avatar-uploader-icon"/> <img
v-if="dataForm.caTableImage"
:src="dataForm.caTableImage"
class="avatar"
>
<i v-else class="el-icon-plus avatar-uploader-icon" />
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button> <el-button @click="dialogFormVisible = false">取消</el-button>
<el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button> <el-button
v-if="dialogStatus == 'create'"
type="primary"
@click="createData"
>确定</el-button
>
<el-button v-else type="primary" @click="updateData">确定</el-button> <el-button v-else type="primary" @click="updateData">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { createCategory, updateCategory, deleteCategory, getCategory } from '@/api/business/category' import {
createCategory,
updateCategory,
deleteCategory,
getCategory
} from '@/api/business/category'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { uploadPath } from '@/api/business/storage' import { uploadPath } from '@/api/business/storage'
import TreeTable from 'tree-table-vue' import TreeTable from 'tree-table-vue'
...@@ -163,8 +245,7 @@ export default { ...@@ -163,8 +245,7 @@ export default {
expandType: false, expandType: false,
selectable: false selectable: false
}, },
categories: [ categories: [],
],
catL1: {}, catL1: {},
dataForm: { dataForm: {
id: undefined, id: undefined,
...@@ -267,7 +348,8 @@ export default { ...@@ -267,7 +348,8 @@ export default {
const data = { const data = {
id: id || 0 id: id || 0
} }
getCategory(data).then(res => { getCategory(data)
.then((res) => {
if (res && res.data && res.data.data && res.data.data.categoryList) { if (res && res.data && res.data.data && res.data.data.categoryList) {
if (['create', 'update', 'delete'].includes(this.dialogStatus)) { if (['create', 'update', 'delete'].includes(this.dialogStatus)) {
this.categoryList.splice(this.activeLevel, 1, { this.categoryList.splice(this.activeLevel, 1, {
...@@ -284,7 +366,8 @@ export default { ...@@ -284,7 +366,8 @@ export default {
} }
} }
this.listLoading = false this.listLoading = false
}).catch(() => { })
.catch(() => {
this.categories = [] this.categories = []
this.listLoading = false this.listLoading = false
}) })
...@@ -316,7 +399,7 @@ export default { ...@@ -316,7 +399,7 @@ export default {
}) })
}, },
createData() { createData() {
this.$refs['dataForm'].validate(valid => { this.$refs['dataForm'].validate((valid) => {
if (valid) { if (valid) {
createCategory(this.dataForm) createCategory(this.dataForm)
.then(() => { .then(() => {
...@@ -328,7 +411,7 @@ export default { ...@@ -328,7 +411,7 @@ export default {
// location.reload() // location.reload()
this.getAllCategories() this.getAllCategories()
}) })
.catch(response => { .catch((response) => {
this.$notify.error({ this.$notify.error({
title: '失败', title: '失败',
message: response.data.errmsg message: response.data.errmsg
...@@ -352,7 +435,7 @@ export default { ...@@ -352,7 +435,7 @@ export default {
this.dataForm.caTableImage = response.data.url this.dataForm.caTableImage = response.data.url
}, },
updateData() { updateData() {
this.$refs['dataForm'].validate(valid => { this.$refs['dataForm'].validate((valid) => {
if (valid) { if (valid) {
updateCategory(this.dataForm) updateCategory(this.dataForm)
.then(() => { .then(() => {
...@@ -364,7 +447,7 @@ export default { ...@@ -364,7 +447,7 @@ export default {
// location.reload() // location.reload()
this.getAllCategories() this.getAllCategories()
}) })
.catch(response => { .catch((response) => {
this.$notify.error({ this.$notify.error({
title: '失败', title: '失败',
message: response.data.errmsg message: response.data.errmsg
...@@ -384,7 +467,7 @@ export default { ...@@ -384,7 +467,7 @@ export default {
// location.reload() // location.reload()
this.getAllCategories() this.getAllCategories()
}) })
.catch(response => { .catch((response) => {
this.$notify.error({ this.$notify.error({
title: '失败', title: '失败',
message: response.data.errmsg message: response.data.errmsg
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="page__header flex f-ai-c f-jc-e"> <div class="page__header flex f-ai-c f-jc-sb">
<!-- <el-button type="primary" size="mini" class="mr10" @click="onBack">返回</el-button> --> <el-button type="primary" size="mini" class="mr10" @click="onBack">返回</el-button>
<el-button type="danger" size="mini" class="mr10" @click="onAdd">添加成交记录</el-button> <el-button type="danger" size="mini" class="mr10" @click="onAdd">添加成交记录</el-button>
</div> </div>
<el-form ref="searchForm" :inline="true" :model="searchForm" class="demo-form-inline"> <el-form ref="searchForm" :inline="true" :model="searchForm" class="demo-form-inline">
...@@ -144,7 +144,7 @@ import moment from 'moment' ...@@ -144,7 +144,7 @@ import moment from 'moment'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import Line2Hidden from '@/components/line2Hidden' import Line2Hidden from '@/components/line2Hidden'
export default { export default {
name: 'Category', name: 'DealRecord',
components: { Pagination, Line2Hidden }, components: { Pagination, Line2Hidden },
filters: { filters: {
filterTime(val) { filterTime(val) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment