Commit 23e1441b authored by xiaoman's avatar xiaoman

bugfix:钱币分类 keepalive

parent 50fe79b2
......@@ -160,7 +160,7 @@ export const asyncRouterMap = [
{
path: 'infoSet',
component: () => import('@/views/goods/infoSet'),
name: 'category',
name: 'InfoSet',
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'],
title: '钱币设置',
......@@ -172,12 +172,12 @@ export const asyncRouterMap = [
{
path: 'category',
component: () => import('@/views/mall/category'),
name: 'category',
name: 'Category',
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'],
title: '钱币分类',
icon: 'list',
noCache: true
noCache: false
}
},
{
......
......@@ -2,7 +2,7 @@
<section class="app-main">
<transition name="fade-transform" mode="out-in">
<keep-alive :include="cachedViews">
<router-view :key="key"/>
<router-view />
</keep-alive>
</transition>
</section>
......
<template>
<div class="app-container">
<div v-if="activeLevel>0" class="page__header flex f-ai-c">
<el-button type="primary" size="mini" 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 v-if="activeLevel > 0" class="page__header flex f-ai-c">
<el-button
type="primary"
size="mini"
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>
<el-table v-loading="listLoading" :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
v-loading="listLoading"
: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">
<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>
</el-table-column>
<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="center" label="层级" prop="level" />
<el-table-column
align="left"
label="操作"
width="450"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button v-permission="['POST /admin/category/update']" 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>
<el-button
v-permission="['POST /admin/category/update']"
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']">
<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 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>
</template>
</el-table-column>
......@@ -60,15 +119,23 @@
</tree-table> -->
<!-- 添加或修改对话框 -->
<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-input v-model="dataForm.name"/>
<el-input v-model="dataForm.name" />
</el-form-item>
<el-form-item label="扩展名称" prop="extendName">
<el-input v-model="dataForm.extendName"/>
<el-input v-model="dataForm.extendName" />
</el-form-item>
<el-form-item label="品种代码" prop="serialNo">
<el-input v-model="dataForm.serialNo"/>
<el-input v-model="dataForm.serialNo" />
</el-form-item>
<el-form-item label="图片" prop="icon">
<el-upload
......@@ -77,43 +144,44 @@
:show-file-list="false"
:on-success="uploadIconUrl"
class="avatar-uploader"
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"/>
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" />
</el-upload>
</el-form-item>
<el-form-item label="铸年" prop="publishTime">
<el-input v-model="dataForm.publishTime"/>
<el-input v-model="dataForm.publishTime" />
</el-form-item>
<el-form-item label="铸主" prop="publisher">
<el-input v-model="dataForm.publisher"/>
<el-input v-model="dataForm.publisher" />
</el-form-item>
<el-form-item label="王朝" prop="desc">
<el-input v-model="dataForm.dynasty"/>
<el-input v-model="dataForm.dynasty" />
</el-form-item>
<el-form-item label="面值" prop="parValue">
<el-input v-model="dataForm.parValue"/>
<el-input v-model="dataForm.parValue" />
</el-form-item>
<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 label="厚度(mm)" prop="thickness">
<el-input v-model="dataForm.thickness"/>
<el-input v-model="dataForm.thickness" />
</el-form-item>
<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 label="存世量" prop="exiQuantity">
<el-input v-model="dataForm.exiQuantity"/>
<el-input v-model="dataForm.exiQuantity" />
</el-form-item>
<el-form-item label="材质" prop="material">
<el-input v-model="dataForm.material"/>
<el-input v-model="dataForm.material" />
</el-form-item>
<el-form-item label="命名出处" prop="nameSrc">
<el-input v-model="dataForm.nameSrc"/>
<el-input v-model="dataForm.nameSrc" />
</el-form-item>
<el-form-item label="细节描述" prop="desc">
<el-input v-model="dataForm.desc"/>
<el-input v-model="dataForm.desc" />
</el-form-item>
<el-form-item label="金属成分分析表" prop="caTableImage">
<el-upload
......@@ -122,24 +190,38 @@
:show-file-list="false"
:on-success="uploadCaTableImageUrl"
class="avatar-uploader"
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"/>
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" />
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<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>
</div>
</el-dialog>
</div>
</template>
<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 { uploadPath } from '@/api/business/storage'
import TreeTable from 'tree-table-vue'
......@@ -163,8 +245,7 @@ export default {
expandType: false,
selectable: false
},
categories: [
],
categories: [],
catL1: {},
dataForm: {
id: undefined,
......@@ -267,27 +348,29 @@ export default {
const data = {
id: id || 0
}
getCategory(data).then(res => {
if (res && res.data && res.data.data && res.data.data.categoryList) {
if (['create', 'update', 'delete'].includes(this.dialogStatus)) {
this.categoryList.splice(this.activeLevel, 1, {
list: res.data.data.categoryList,
path: res.data.data.categoryPath
})
getCategory(data)
.then((res) => {
if (res && res.data && res.data.data && res.data.data.categoryList) {
if (['create', 'update', 'delete'].includes(this.dialogStatus)) {
this.categoryList.splice(this.activeLevel, 1, {
list: res.data.data.categoryList,
path: res.data.data.categoryPath
})
this.$forceUpdate()
} else {
this.categoryList.push({
list: res.data.data.categoryList,
path: res.data.data.categoryPath
})
this.$forceUpdate()
} else {
this.categoryList.push({
list: res.data.data.categoryList,
path: res.data.data.categoryPath
})
}
}
}
this.listLoading = false
}).catch(() => {
this.categories = []
this.listLoading = false
})
this.listLoading = false
})
.catch(() => {
this.categories = []
this.listLoading = false
})
},
resetForm() {
this.dataForm = {
......@@ -316,7 +399,7 @@ export default {
})
},
createData() {
this.$refs['dataForm'].validate(valid => {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
createCategory(this.dataForm)
.then(() => {
......@@ -328,7 +411,7 @@ export default {
// location.reload()
this.getAllCategories()
})
.catch(response => {
.catch((response) => {
this.$notify.error({
title: '失败',
message: response.data.errmsg
......@@ -352,7 +435,7 @@ export default {
this.dataForm.caTableImage = response.data.url
},
updateData() {
this.$refs['dataForm'].validate(valid => {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
updateCategory(this.dataForm)
.then(() => {
......@@ -364,7 +447,7 @@ export default {
// location.reload()
this.getAllCategories()
})
.catch(response => {
.catch((response) => {
this.$notify.error({
title: '失败',
message: response.data.errmsg
......@@ -384,7 +467,7 @@ export default {
// location.reload()
this.getAllCategories()
})
.catch(response => {
.catch((response) => {
this.$notify.error({
title: '失败',
message: response.data.errmsg
......
<template>
<div class="app-container">
<div class="page__header flex f-ai-c f-jc-e">
<!-- <el-button type="primary" size="mini" class="mr10" @click="onBack">返回</el-button> -->
<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="danger" size="mini" class="mr10" @click="onAdd">添加成交记录</el-button>
</div>
<el-form ref="searchForm" :inline="true" :model="searchForm" class="demo-form-inline">
......@@ -144,7 +144,7 @@ import moment from 'moment'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import Line2Hidden from '@/components/line2Hidden'
export default {
name: 'Category',
name: 'DealRecord',
components: { Pagination, Line2Hidden },
filters: {
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