Commit fe52ea32 authored by “yiyousong”'s avatar “yiyousong”

perf: 优化应用集市

parent 4dfd6782
...@@ -75,6 +75,7 @@ export default { ...@@ -75,6 +75,7 @@ export default {
type: [String, Array], type: [String, Array],
default: "", default: "",
}, },
// 文件限制
accept: { accept: {
type: String, type: String,
default: "", default: "",
...@@ -87,9 +88,12 @@ export default { ...@@ -87,9 +88,12 @@ export default {
}, },
default: 0, // 0为不限制 default: 0, // 0为不限制
}, },
// 上传文件大小限制mb // 上传文件大小限制mb 0为不限制
MB: { MB: {
type: Number, type: Number,
validator: (value) => {
return value >= 0;
},
default: 10, default: 10,
}, },
action: { action: {
......
...@@ -45,66 +45,57 @@ ...@@ -45,66 +45,57 @@
<div class="version-manage flex1"> <div class="version-manage flex1">
<div class="title">版本管理</div> <div class="title">版本管理</div>
<div class="table-content"> <div class="table-content">
<a-table <y-table
:loading="loading"
size="small" size="small"
bordered bordered
:scroll="{ y: 350 }" :scroll="{ y: 350 }"
:columns="columns" :columns="columns"
:pagination="{ :data="tableData"
showTotal: (total) => `共 ${total} 条`, :pageSize.sync="size"
current: current, :page.sync="page"
total: total, :total="total"
pageSize: size, :loading="loading"
showSizeChanger: true, @changePagination="getVersions"
showQuickJumper: true,
size: 'small',
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ (page - 1) * size + index + 1
(current - 1) * size + index + 1
}}</span> }}</span>
<!-- 版本号 --> <!-- 版本号 -->
<template slot="version" slot-scope="text"> <template slot="version" slot-scope="{ record }">
v{{ text.version }} v{{ record.version }}
</template> </template>
<!-- 应用包 --> <!-- 应用包 -->
<template slot="fileName" slot-scope="text"> <template slot="fileName" slot-scope="{ record }">
<a v-if="text.fileName" class="primary">{{ text.fileName }}</a> <a v-if="record.fileName" class="primary">{{ record.fileName }}</a>
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 当前是否使用 --> <!-- 当前是否使用 -->
<template slot="used" slot-scope="text"> <template slot="used" slot-scope="{ record }">
<a-tag v-if="text.used" color="blue"> 正在使用 </a-tag> <a-tag v-if="record.used" color="blue"> 正在使用 </a-tag>
<span v-else></span> <span v-else></span>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span <span
class="primary pointer" class="primary pointer"
:disabled="text.used ? true : false" :disabled="record.used ? true : false"
@click="handleUse(text.id)" @click="handleUse(record.id)"
>使用</span >使用</span
> >
<span class="primary pointer" @click="handlePreview(text.id)" <span class="primary pointer" @click="handlePreview(record.id)"
>预览</span >预览</span
> >
<span <span
class="delete pointer" class="delete pointer"
v-permission="[1]" v-permission="[1]"
@click="handleDel(text.id)" @click="handleDel(record.id)"
>删除</span >删除</span
> >
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
</div> </div>
<!-- 站点树弹窗 --> <!-- 站点树弹窗 -->
...@@ -127,8 +118,8 @@ import { ...@@ -127,8 +118,8 @@ import {
deleteVersion, deleteVersion,
} from "@/services/market"; } from "@/services/market";
import CheckSite from "../modal/CheckSite.vue"; import CheckSite from "../modal/CheckSite.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import YTable from "@/components/YTable.vue";
export default { export default {
props: { props: {
// 应用信息 // 应用信息
...@@ -142,15 +133,15 @@ export default { ...@@ -142,15 +133,15 @@ export default {
}, },
components: { components: {
CheckSite, CheckSite,
YTable,
}, },
data() { data() {
const columns = [ const columns = [
{ {
title: "序号", title: "序号",
dataIndex: "num",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}, },
{ {
...@@ -181,11 +172,10 @@ export default { ...@@ -181,11 +172,10 @@ export default {
columns, columns,
appId: this.$route.query.id, appId: this.$route.query.id,
appInfo: {}, // 应用信息 appInfo: {}, // 应用信息
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
loading: false, loading: false,
pageSizeOptions,
form: {}, form: {},
tableData: [], tableData: [],
siteVisible: false, siteVisible: false,
...@@ -224,7 +214,7 @@ export default { ...@@ -224,7 +214,7 @@ export default {
async getVersions() { async getVersions() {
this.loading = true; this.loading = true;
let res = await getVersionList({ let res = await getVersionList({
page: this.current, page: this.page,
size: this.size, size: this.size,
appId: this.appId, appId: this.appId,
}); });
...@@ -304,17 +294,6 @@ export default { ...@@ -304,17 +294,6 @@ export default {
}); });
}, },
// 翻页
handleChange(cur) {
this.current = cur;
this.getVersions();
},
// 改变每页显示数量
showSizeChange(cur, size) {
this.current = cur;
this.size = size;
this.getVersions();
},
// 查看试用范围详情 // 查看试用范围详情
checkSite(siteList) { checkSite(siteList) {
this.$refs.CheckSite.getSiteList(siteList); this.$refs.CheckSite.getSiteList(siteList);
......
...@@ -16,57 +16,51 @@ ...@@ -16,57 +16,51 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="table-content"> <div class="table-content">
<a-table <y-table
:columns="columns"
:data="tableData"
:pageSize.sync="size"
:page.sync="page"
:total="total"
:loading="loading"
:scroll="{ y: 580 }"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
:loading="loading" @changePagination="getCategoryList"
bordered
:scroll="{ y: 580 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ (page - 1) * size + index + 1
(current - 1) * size + index + 1
}}</span> }}</span>
<!-- 主题封面 --> <!-- 主题封面 -->
<template slot="cover" slot-scope="text"> <template slot="cover" slot-scope="{ record }">
<img <img
class="cover" class="cover"
v-if="text.cover" v-if="record.cover"
:src="text.cover" :src="record.cover"
@click="handlePreview(text.cover)" @click="handlePreview(record.cover)"
/> />
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 创建时间 --> <!-- 创建时间 -->
<template slot="createTime" slot-scope="text"> <template slot="createTime" slot-scope="{ record }">
{{ text.createTime | dateFormat }} {{ record.createTime | dateFormat }}
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span class="primary pointer" @click="handleEdit(text)">编辑</span> <span class="primary pointer" @click="handleEdit(record)"
<span class="delete pointer" @click="handleDel(text.id)">删除</span> >编辑</span
>
<span class="delete pointer" @click="handleDel(record.id)"
>删除</span
>
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
<!-- 新增、编辑分类 --> <!-- 新增、编辑分类 -->
<AddTheme <AddTheme
...@@ -82,14 +76,13 @@ ...@@ -82,14 +76,13 @@
import { getCategoryList, deleteCategory } from "@/services/market"; import { getCategoryList, deleteCategory } from "@/services/market";
import AddTheme from "../modal/AddTheme"; import AddTheme from "../modal/AddTheme";
import local from "@/utils/local"; import local from "@/utils/local";
import { pageSizeOptions } from "@/config/pageConfig.js"; import YTable from "@/components/YTable.vue";
const columns = [ const columns = [
{ {
title: "序号", title: "序号",
dataIndex: "num",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}, },
{ {
...@@ -129,6 +122,7 @@ const columns = [ ...@@ -129,6 +122,7 @@ const columns = [
export default { export default {
components: { components: {
AddTheme, AddTheme,
YTable,
}, },
data() { data() {
return { return {
...@@ -137,10 +131,9 @@ export default { ...@@ -137,10 +131,9 @@ export default {
tableData: [], // 表格数据 tableData: [], // 表格数据
loading: false, loading: false,
searchVal: "", // 搜索 searchVal: "", // 搜索
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据 selectedRowKeys: [], // 表格勾选数据
AddVisible: false, AddVisible: false,
title: "新增主题", title: "新增主题",
...@@ -156,7 +149,7 @@ export default { ...@@ -156,7 +149,7 @@ export default {
async getCategoryList() { async getCategoryList() {
this.loading = true; this.loading = true;
let res = await getCategoryList({ let res = await getCategoryList({
page: this.current, page: this.page,
size: this.size, size: this.size,
siteId: this.siteId, siteId: this.siteId,
categoryName: `%${this.searchVal}%`, categoryName: `%${this.searchVal}%`,
...@@ -164,8 +157,8 @@ export default { ...@@ -164,8 +157,8 @@ export default {
this.loading = false; this.loading = false;
let { data, total } = res.data.data; let { data, total } = res.data.data;
if (res.data.code === 1) { if (res.data.code === 1) {
if (!data.length && this.current > 1) { if (!data.length && this.page > 1) {
this.current -= 1; this.page -= 1;
this.getCategoryList(); this.getCategoryList();
} }
this.tableData = data; this.tableData = data;
...@@ -181,21 +174,10 @@ export default { ...@@ -181,21 +174,10 @@ export default {
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.page = 1;
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.getCategoryList(); this.getCategoryList();
}, },
// 翻页
handleChange(cur) {
this.current = cur;
this.getCategoryList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getCategoryList();
},
// 勾选表格 // 勾选表格
onSelectChange(keys) { onSelectChange(keys) {
this.selectedRowKeys = keys; this.selectedRowKeys = keys;
......
...@@ -39,40 +39,30 @@ ...@@ -39,40 +39,30 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="table-content"> <div class="table-content">
<a-table <y-table
:loading="loading"
bordered
:columns="columns" :columns="columns"
:data="tableData"
:pageSize.sync="size"
:page.sync="page"
:total="total"
:loading="loading"
:scroll="{ y: 550 }" :scroll="{ y: 550 }"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
:rowKey="(record) => record.id" @changePagination="getDatasetList"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ (page - 1) * size + index + 1
(current - 1) * size + index + 1
}}</span> }}</span>
<!-- 图片 --> <!-- 图片 -->
<template slot="img" slot-scope="text"> <template slot="img" slot-scope="{ record }">
<a-space v-if="text.img"> <a-space v-if="record.img">
<img <img
class="pre-item" class="pre-item"
v-for="(v, i) in filterRes(text.img)" v-for="(v, i) in filterRes(record.img)"
:key="i" :key="i"
:src="v" :src="v"
@click="handlePreview('img', v)" @click="handlePreview('img', v)"
...@@ -81,10 +71,10 @@ ...@@ -81,10 +71,10 @@
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 视频 --> <!-- 视频 -->
<template slot="video" slot-scope="text"> <template slot="video" slot-scope="{ record }">
<a-space v-if="text.video"> <a-space v-if="record.video">
<video <video
v-for="(v, i) in filterRes(text.video)" v-for="(v, i) in filterRes(record.video)"
:key="i" :key="i"
width="50" width="50"
:src="v" :src="v"
...@@ -94,18 +84,22 @@ ...@@ -94,18 +84,22 @@
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span class="primary pointer" @click="handleEdit(text)">编辑</span> <span class="primary pointer" @click="handleEdit(record)"
<span class="delete pointer" @click="handleDel(text.id)">删除</span> >编辑</span
>
<span class="delete pointer" @click="handleDel(record.id)"
>删除</span
>
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
<!-- 新增数据 --> <!-- 新增数据 -->
<AddData <AddData
ref="AddData" ref="AddData"
@addSuccess="getDatasetList" @success="getDatasetList"
:AddVisible.sync="AddVisible" :AddVisible.sync="AddVisible"
:title="title" :title="title"
></AddData> ></AddData>
...@@ -119,13 +113,13 @@ ...@@ -119,13 +113,13 @@
<script> <script>
import AddData from "../modal/AddData.vue"; import AddData from "../modal/AddData.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import { import {
getDatasetList, getDatasetList,
deleteDataset, deleteDataset,
getTempleteList, getTempleteList,
} from "@/services/market"; } from "@/services/market";
import PrevieModal from "@/components/PrevieModal.vue"; import PrevieModal from "@/components/PrevieModal.vue";
import YTable from "@/components/YTable.vue";
export default { export default {
// props: { // props: {
// // 应用信息 // // 应用信息
...@@ -140,6 +134,7 @@ export default { ...@@ -140,6 +134,7 @@ export default {
components: { components: {
AddData, AddData,
PrevieModal, PrevieModal,
YTable,
}, },
data() { data() {
return { return {
...@@ -147,10 +142,9 @@ export default { ...@@ -147,10 +142,9 @@ export default {
api2: process.env.VUE_APP_API_IMG_URL, api2: process.env.VUE_APP_API_IMG_URL,
appId: this.$route.query.id, appId: this.$route.query.id,
loading: false, loading: false,
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
pageSizeOptions,
searchVal: "", searchVal: "",
tableData: [], tableData: [],
AddVisible: false, AddVisible: false,
...@@ -172,7 +166,7 @@ export default { ...@@ -172,7 +166,7 @@ export default {
title: "序号", title: "序号",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}; };
let action = { let action = {
...@@ -203,7 +197,7 @@ export default { ...@@ -203,7 +197,7 @@ export default {
let row = record.appInfoFieldList.find( let row = record.appInfoFieldList.find(
(item) => item.fieldCode == v.fieldCode (item) => item.fieldCode == v.fieldCode
); );
if (row && row.fieldTypeValue && !row.serviceApiParams) { if (row && row.fieldTypeValue && !row.serviceApi) {
let fieldTypeValue = JSON.parse(row.fieldTypeValue); let fieldTypeValue = JSON.parse(row.fieldTypeValue);
return fieldTypeValue[text]; return fieldTypeValue[text];
} else { } else {
...@@ -258,7 +252,7 @@ export default { ...@@ -258,7 +252,7 @@ export default {
let obj = {}; let obj = {};
let orConditionList = []; let orConditionList = [];
let form = { let form = {
page: this.current, page: this.page,
size: this.size, size: this.size,
appId: this.appId, appId: this.appId,
}; };
...@@ -275,8 +269,8 @@ export default { ...@@ -275,8 +269,8 @@ export default {
this.loading = false; this.loading = false;
if (res.data.code === 1) { if (res.data.code === 1) {
let { data, total } = res.data.data; let { data, total } = res.data.data;
if (!data.length && this.current > 1) { if (!data.length && this.page > 1) {
this.current -= 1; this.page -= 1;
this.getDatasetList(); this.getDatasetList();
} }
data.forEach((v) => { data.forEach((v) => {
...@@ -301,21 +295,10 @@ export default { ...@@ -301,21 +295,10 @@ export default {
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.page = 1;
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.getDatasetList(); this.getDatasetList();
}, },
// 翻页
handleChange(cur) {
this.current = cur;
this.getDatasetList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getDatasetList();
},
// 编辑 // 编辑
handleEdit(row) { handleEdit(row) {
this.title = "编辑"; this.title = "编辑";
......
...@@ -17,44 +17,41 @@ ...@@ -17,44 +17,41 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="table-content"> <div class="table-content">
<a-table <y-table
:columns="columns"
:data="tableData"
:pageSize.sync="size"
:page.sync="page"
:total="total"
:loading="loading" :loading="loading"
bordered
:scroll="{ y: 550 }" :scroll="{ y: 550 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
:rowKey="(record) => record.id" @changePagination="getAppList"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ index + 1 }}</span> (page - 1) * size + index + 1
}}</span>
<!-- 允许为空 --> <!-- 允许为空 -->
<template slot="fieldNull" slot-scope="text"> <template slot="fieldNull" slot-scope="{ record }">
<a-tag v-if="text.fieldNull === 1" color="green"></a-tag> <a-tag v-if="record.fieldNull === 1" color="green"></a-tag>
<a-tag v-else color="red"></a-tag> <a-tag v-else color="red"></a-tag>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span class="primary pointer" @click="handleEdit(text)">编辑</span> <span class="primary pointer" @click="handleEdit(record)"
<span class="delete pointer" @click="handleDel(text.id)">删除</span> >编辑</span
>
<span class="delete pointer" @click="handleDel(record.id)"
>删除</span
>
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
<!-- 新增数据 --> <!-- 新增数据 -->
<AddField <AddField
...@@ -69,7 +66,7 @@ ...@@ -69,7 +66,7 @@
<script> <script>
import AddField from "../modal/AddField.vue"; import AddField from "../modal/AddField.vue";
import { getTempleteList, deleteTemplete } from "@/services/market"; import { getTempleteList, deleteTemplete } from "@/services/market";
import { pageSizeOptions } from "@/config/pageConfig.js"; import YTable from "@/components/YTable.vue";
export default { export default {
// props: { // props: {
// // 应用信息 // // 应用信息
...@@ -83,6 +80,7 @@ export default { ...@@ -83,6 +80,7 @@ export default {
// }, // },
components: { components: {
AddField, AddField,
YTable,
}, },
data() { data() {
const columns = [ const columns = [
...@@ -90,7 +88,7 @@ export default { ...@@ -90,7 +88,7 @@ export default {
title: "序号", title: "序号",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}, },
{ {
...@@ -108,9 +106,7 @@ export default { ...@@ -108,9 +106,7 @@ export default {
}, },
{ {
title: "数据类型", title: "数据类型",
customRender: (text) => { dataIndex: "dataType",
return <span>{text.dataType ? text.dataType : "--"}</span>;
},
}, },
{ {
title: "数据长度", title: "数据长度",
...@@ -142,10 +138,9 @@ export default { ...@@ -142,10 +138,9 @@ export default {
appId: this.$route.query.id, appId: this.$route.query.id,
columns, columns,
loading: false, loading: false,
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
pageSizeOptions,
searchVal: "", searchVal: "",
tableData: [], tableData: [],
fieldVisible: false, fieldVisible: false,
...@@ -161,7 +156,7 @@ export default { ...@@ -161,7 +156,7 @@ export default {
async getTempleteList() { async getTempleteList() {
this.loading = true; this.loading = true;
let res = await getTempleteList({ let res = await getTempleteList({
page: this.current, page: this.page,
size: this.size, size: this.size,
appId: this.appId, appId: this.appId,
fieldName: this.searchVal, fieldName: this.searchVal,
...@@ -169,8 +164,8 @@ export default { ...@@ -169,8 +164,8 @@ export default {
this.loading = false; this.loading = false;
if (res.data.code === 1) { if (res.data.code === 1) {
let { data, total } = res.data.data; let { data, total } = res.data.data;
if (!data.length && this.current > 1) { if (!data.length && this.page > 1) {
this.current -= 1; this.page -= 1;
this.getTempleteList(); this.getTempleteList();
} }
this.tableData = data.sort((a, b) => { this.tableData = data.sort((a, b) => {
...@@ -187,21 +182,11 @@ export default { ...@@ -187,21 +182,11 @@ export default {
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.page = 1;
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.getTempleteList(); this.getTempleteList();
}, },
// 翻页
handleChange(cur) {
this.current = cur;
this.getTempleteList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getTempleteList();
},
// 编辑 // 编辑
handleEdit(row) { handleEdit(row) {
this.title = "编辑"; this.title = "编辑";
......
...@@ -22,91 +22,86 @@ ...@@ -22,91 +22,86 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="table-content"> <div class="table-content">
<a-table <y-table
:columns="columns"
:data="tableData"
:pageSize.sync="size"
:page.sync="page"
:total="total"
:loading="loading"
:scroll="{ y: 560 }"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
:loading="loading" @changePagination="getAppList"
bordered
:scroll="{ y: 560 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ (page - 1) * size + index + 1
(current - 1) * size + index + 1
}}</span> }}</span>
<!-- 图标 --> <!-- 图标 -->
<template slot="appIconPath" slot-scope="text"> <template slot="appIconPath" slot-scope="{ record }">
<img <img
v-if="text.appIconPath" v-if="record.appIconPath"
class="pointer" class="pointer"
height="20" height="20"
width="20" width="20"
:src="text.appIconPath" :src="record.appIconPath"
@click="handlePreview(text.appIconPath)" @click="handlePreview(record.appIconPath)"
/> />
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 主题类型 --> <!-- 主题类型 -->
<template slot="appThemeName" slot-scope="text"> <template slot="appThemeName" slot-scope="{ record }">
{{ filterItems(text.appThemeName) }} {{ filterItems(record.appThemeName) }}
</template> </template>
<!-- 简介 --> <!-- 简介 -->
<template slot="summary" slot-scope="text"> <template slot="summary" slot-scope="{ record }">
<span :title="text.summary">{{ <span :title="record.summary">{{
text.summary ? text.summary : "--" record.summary ? record.summary : "--"
}}</span> }}</span>
</template> </template>
<!-- 版本 --> <!-- 版本 -->
<template slot="version" slot-scope="text"> <template slot="version" slot-scope="{ record }">
{{ text.version || text.version == 0 ? "v" + text.version : "--" }} {{
record.version || record.version == 0 ? "v" + record.version : "--"
}}
</template> </template>
<!-- 类型 --> <!-- 类型 -->
<template slot="appType" slot-scope="text"> <template slot="appType" slot-scope="{ record }">
{{ text.appType === 1 ? "应用程序" : "URL" }} {{ record.appType === 1 ? "应用程序" : "URL" }}
</template> </template>
<!-- 上下架 --> <!-- 上下架 -->
<template slot="shelves" slot-scope="text"> <template slot="shelves" slot-scope="{ record }">
<YSwitch <YSwitch
checkedChildren="上架" checkedChildren="上架"
unCheckedChildren="下架" unCheckedChildren="下架"
v-model="text.shelves" v-model="record.shelves"
@change="changeShelves(text)" @change="changeShelves(record)"
></YSwitch> ></YSwitch>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span class="primary pointer" @click="handleCloneAppData(text)" <span class="primary pointer" @click="handleCloneAppData(record)"
>克隆数据</span >克隆数据</span
> >
<span class="primary pointer" @click="handleEdit(text)">编辑</span> <span class="primary pointer" @click="handleEdit(record)"
<span class="primary pointer" @click="handleCheck(text.id)" >编辑</span
>
<span class="primary pointer" @click="handleCheck(record.id)"
>查看</span >查看</span
> >
<span <span
class="delete pointer" class="delete pointer"
:class="{ unDelete: userInfo.id != 1 && text.distribute }" :class="{ unDelete: userInfo.id != 1 && record.distribute }"
@click="handleDel(text.distribute, text.id)" @click="handleDel(record.distribute, record.id)"
>删除</span >删除</span
> >
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
<!-- 新增应用 --> <!-- 新增应用 -->
<AddApp <AddApp
...@@ -141,6 +136,7 @@ import AddApp from "../modal/AddApp.vue"; ...@@ -141,6 +136,7 @@ import AddApp from "../modal/AddApp.vue";
import CheckSite from "../modal/CheckSite.vue"; import CheckSite from "../modal/CheckSite.vue";
import ChangeThem from "../modal/ChangeThem.vue"; import ChangeThem from "../modal/ChangeThem.vue";
import CloneData from "../modal/CloneData.vue"; import CloneData from "../modal/CloneData.vue";
import YTable from "@/components/YTable.vue";
import { import {
getAppList, getAppList,
deleteApp, deleteApp,
...@@ -149,14 +145,12 @@ import { ...@@ -149,14 +145,12 @@ import {
} from "@/services/market"; } from "@/services/market";
import local from "@/utils/local"; import local from "@/utils/local";
import { mapMutations, mapGetters } from "vuex"; import { mapMutations, mapGetters } from "vuex";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [ const columns = [
{ {
title: "序号", title: "序号",
dataIndex: "num",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}, },
{ {
...@@ -206,6 +200,7 @@ export default { ...@@ -206,6 +200,7 @@ export default {
CheckSite, CheckSite,
ChangeThem, ChangeThem,
CloneData, CloneData,
YTable,
}, },
data() { data() {
return { return {
...@@ -215,10 +210,9 @@ export default { ...@@ -215,10 +210,9 @@ export default {
tableData: [], // 表格数据 tableData: [], // 表格数据
loading: false, loading: false,
searchVal: "", // 搜索 searchVal: "", // 搜索
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
pageSizeOptions,
selectedRowKeys: [], // 表格勾选id列表 selectedRowKeys: [], // 表格勾选id列表
selectedAppList: [], // 表格勾选信息列表 selectedAppList: [], // 表格勾选信息列表
AddVisible: false, AddVisible: false,
...@@ -258,7 +252,7 @@ export default { ...@@ -258,7 +252,7 @@ export default {
async getAppList() { async getAppList() {
this.loading = true; this.loading = true;
let res = await getAppList({ let res = await getAppList({
page: this.current, page: this.page,
size: this.size, size: this.size,
siteId: this.siteId, siteId: this.siteId,
appName: `%${this.searchVal}%`, appName: `%${this.searchVal}%`,
...@@ -269,8 +263,8 @@ export default { ...@@ -269,8 +263,8 @@ export default {
this.dict = dict; this.dict = dict;
this.SET_appDict(dict); this.SET_appDict(dict);
if (res.data.code === 1) { if (res.data.code === 1) {
if (!data.length && this.current > 1) { if (!data.length && this.page > 1) {
this.current -= 1; this.page -= 1;
this.getAppList(); this.getAppList();
} }
this.tableData = data; this.tableData = data;
...@@ -293,20 +287,12 @@ export default { ...@@ -293,20 +287,12 @@ export default {
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.page = 1;
this.getAppList(); this.selectedRowKeys = [];
}, this.selectedAppList = [];
// 翻页
handleChange(cur) {
this.current = cur;
this.getAppList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getAppList(); this.getAppList();
}, },
// 勾选表格 // 勾选表格
onSelectChange(keys, rows) { onSelectChange(keys, rows) {
this.selectedRowKeys = keys; this.selectedRowKeys = keys;
...@@ -381,6 +367,8 @@ export default { ...@@ -381,6 +367,8 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
_this.$message.success(msg); _this.$message.success(msg);
_this.selectedRowKeys = [];
_this.selectedAppList = [];
_this.getAppList(); _this.getAppList();
} }
}, },
......
...@@ -22,91 +22,86 @@ ...@@ -22,91 +22,86 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="table-content"> <div class="table-content">
<a-table <y-table
:columns="columns"
:data="tableData"
:pageSize.sync="size"
:page.sync="page"
:total="total"
:loading="loading"
:scroll="{ y: 560 }"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
:loading="loading" @changePagination="getAppList"
bordered
:scroll="{ y: 560 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
> >
<!-- 序号 --> <span slot="index" slot-scope="{ index }">{{
<span slot="num" slot-scope="text, record, index">{{ (page - 1) * size + index + 1
(current - 1) * size + index + 1
}}</span> }}</span>
<!-- 图标 --> <!-- 图标 -->
<template slot="appIconPath" slot-scope="text"> <template slot="appIconPath" slot-scope="{ record }">
<img <img
v-if="text.appIconPath" v-if="record.appIconPath"
class="pointer" class="pointer"
height="20" height="20"
width="20" width="20"
:src="text.appIconPath" :src="record.appIconPath"
@click="handlePreview(text.appIconPath)" @click="handlePreview(record.appIconPath)"
/> />
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 主题类型 --> <!-- 主题类型 -->
<template slot="appThemeName" slot-scope="text"> <template slot="appThemeName" slot-scope="{ record }">
{{ filterItems(text.appThemeName) }} {{ filterItems(record.appThemeName) }}
</template> </template>
<!-- 简介 --> <!-- 简介 -->
<template slot="summary" slot-scope="text"> <template slot="summary" slot-scope="{ record }">
<span :title="text.summary">{{ <span :title="record.summary">{{
text.summary ? text.summary : "--" record.summary ? record.summary : "--"
}}</span> }}</span>
</template> </template>
<!-- 版本 --> <!-- 版本 -->
<template slot="version" slot-scope="text"> <template slot="version" slot-scope="{ record }">
{{ text.version || text.version == 0 ? "v" + text.version : "--" }} {{
record.version || record.version == 0 ? "v" + record.version : "--"
}}
</template> </template>
<!-- 类型 --> <!-- 类型 -->
<template slot="appType" slot-scope="text"> <template slot="appType" slot-scope="{ record }">
{{ text.appType === 1 ? "应用程序" : "URL" }} {{ record.appType === 1 ? "应用程序" : "URL" }}
</template> </template>
<!-- 上下架 --> <!-- 上下架 -->
<template slot="shelves" slot-scope="text"> <template slot="shelves" slot-scope="{ record }">
<YSwitch <YSwitch
checkedChildren="上架" checkedChildren="上架"
unCheckedChildren="下架" unCheckedChildren="下架"
v-model="text.shelves" v-model="record.shelves"
@change="changeShelves(text)" @change="changeShelves(record)"
></YSwitch> ></YSwitch>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="{ record }">
<a-space size="middle"> <a-space size="middle">
<span class="primary pointer" @click="handleCloneAppData(text)" <span class="primary pointer" @click="handleCloneAppData(record)"
>克隆数据</span >克隆数据</span
> >
<span class="primary pointer" @click="handleEdit(text)">编辑</span> <span class="primary pointer" @click="handleEdit(record)"
<span class="primary pointer" @click="handleCheck(text.id)" >编辑</span
>
<span class="primary pointer" @click="handleCheck(record.id)"
>查看</span >查看</span
> >
<span <span
class="delete pointer" class="delete pointer"
:class="{ unDelete: userInfo.id != 1 && text.distribute }" :class="{ unDelete: userInfo.id != 1 && record.distribute }"
@click="handleDel(text.distribute, text.id)" @click="handleDel(record.distribute, record.id)"
>删除</span >删除</span
> >
</a-space> </a-space>
</template> </template>
</a-table> </y-table>
</div> </div>
<!-- 新增应用 --> <!-- 新增应用 -->
<AddApp <AddApp
...@@ -149,14 +144,13 @@ import { ...@@ -149,14 +144,13 @@ import {
} from "@/services/market"; } from "@/services/market";
import local from "@/utils/local"; import local from "@/utils/local";
import { mapMutations, mapGetters } from "vuex"; import { mapMutations, mapGetters } from "vuex";
import { pageSizeOptions } from "@/config/pageConfig.js"; import YTable from "@/components/YTable.vue";
const columns = [ const columns = [
{ {
title: "序号", title: "序号",
dataIndex: "num",
width: "65px", width: "65px",
scopedSlots: { scopedSlots: {
customRender: "num", customRender: "index",
}, },
}, },
{ {
...@@ -206,6 +200,7 @@ export default { ...@@ -206,6 +200,7 @@ export default {
CheckSite, CheckSite,
ChangeThem, ChangeThem,
CloneData, CloneData,
YTable,
}, },
data() { data() {
return { return {
...@@ -215,10 +210,9 @@ export default { ...@@ -215,10 +210,9 @@ export default {
tableData: [], // 表格数据 tableData: [], // 表格数据
loading: false, loading: false,
searchVal: "", // 搜索 searchVal: "", // 搜索
current: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
pageSizeOptions,
selectedRowKeys: [], // 表格勾选id列表 selectedRowKeys: [], // 表格勾选id列表
selectedAppList: [], // 表格勾选信息列表 selectedAppList: [], // 表格勾选信息列表
AddVisible: false, AddVisible: false,
...@@ -258,7 +252,7 @@ export default { ...@@ -258,7 +252,7 @@ export default {
async getAppList() { async getAppList() {
this.loading = true; this.loading = true;
let res = await getAppList({ let res = await getAppList({
page: this.current, page: this.page,
size: this.size, size: this.size,
siteId: this.siteId, siteId: this.siteId,
appName: `%${this.searchVal}%`, appName: `%${this.searchVal}%`,
...@@ -269,8 +263,8 @@ export default { ...@@ -269,8 +263,8 @@ export default {
this.dict = dict; this.dict = dict;
this.SET_appDict(dict); this.SET_appDict(dict);
if (res.data.code === 1) { if (res.data.code === 1) {
if (!data.length && this.current > 1) { if (!data.length && this.page > 1) {
this.current -= 1; this.page -= 1;
this.getAppList(); this.getAppList();
} }
this.tableData = data; this.tableData = data;
...@@ -293,20 +287,12 @@ export default { ...@@ -293,20 +287,12 @@ export default {
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.page = 1;
this.getAppList(); this.selectedRowKeys = [];
}, this.selectedAppList = [];
// 翻页
handleChange(cur) {
this.current = cur;
this.getAppList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getAppList(); this.getAppList();
}, },
// 勾选表格 // 勾选表格
onSelectChange(keys, rows) { onSelectChange(keys, rows) {
this.selectedRowKeys = keys; this.selectedRowKeys = keys;
...@@ -382,6 +368,8 @@ export default { ...@@ -382,6 +368,8 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
_this.$message.success(msg); _this.$message.success(msg);
_this.selectedRowKeys = [];
_this.selectedAppList = [];
_this.getAppList(); _this.getAppList();
} }
}, },
......
...@@ -33,21 +33,12 @@ ...@@ -33,21 +33,12 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="应用图标" prop="appIconPath"> <a-form-model-item label="应用图标" prop="appIconPath">
<a-upload <YUpload
name="file" accept=".png,.jpg,.jpeg,.svg"
list-type="picture-card" :limit="1"
:action="api + 'base/file/commonupload'" v-model="form.appIconPath"
:file-list="iconFileList" listType="picture-card"
@change="handleChangeIcon" ></YUpload>
:accept="accept"
:before-upload="iconBeforeUpload"
@preview="handlePreview"
>
<div v-if="iconFileList.length < 1">
<a-icon type="plus" />
<div class="ant-upload-text">选择图标</div>
</div>
</a-upload>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="应用简介" prop="summary"> <a-form-model-item label="应用简介" prop="summary">
<a-textarea <a-textarea
...@@ -91,18 +82,16 @@ ...@@ -91,18 +82,16 @@
prop="filePath" prop="filePath"
v-if="form.appType === 1" v-if="form.appType === 1"
> >
<a-upload <YUpload
name="file" accept=".zip"
:action="api + 'base/file/commonupload'" :limit="1"
:multiple="false" v-model="form.filePath"
:file-list="fileList" @onSuccess="appUpload"
@change="handleChangeFile"
accept="application/x-zip-compressed"
> >
<a-button type="primary"> <a-button type="primary">
<a-icon type="upload" /> .zip文件 <a-icon type="upload" /> .zip文件
</a-button> </a-button>
</a-upload> </YUpload>
</a-form-model-item> </a-form-model-item>
<a-form-model-item v-else label="应用URL" prop="url"> <a-form-model-item v-else label="应用URL" prop="url">
<a-input v-model="form.url" placeholder="请输入应用URL" /> <a-input v-model="form.url" placeholder="请输入应用URL" />
...@@ -158,10 +147,12 @@ import YSwitch from "../../../../components/yswitch/YSwitch.vue"; ...@@ -158,10 +147,12 @@ import YSwitch from "../../../../components/yswitch/YSwitch.vue";
import { saveApp } from "@/services/market"; import { saveApp } from "@/services/market";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { checkCodeNumber } from "@/utils/validate"; import { checkCodeNumber } from "@/utils/validate";
import YUpload from "@/components/YUpload.vue";
// import local from "@/utils/local"; // import local from "@/utils/local";
export default { export default {
components: { components: {
YSwitch, YSwitch,
YUpload,
}, },
props: { props: {
title: { title: {
...@@ -182,9 +173,7 @@ export default { ...@@ -182,9 +173,7 @@ export default {
}, },
data() { data() {
return { return {
accept: "image/jpeg,image/png,image/svg+xml",
api: process.env.VUE_APP_API_BASE_URL + "/", api: process.env.VUE_APP_API_BASE_URL + "/",
iconFileList: [],
labelCol: { labelCol: {
span: 3, span: 3,
}, },
...@@ -249,7 +238,6 @@ export default { ...@@ -249,7 +238,6 @@ export default {
{ required: true, message: "请选择是否有更新", trigger: "change" }, { required: true, message: "请选择是否有更新", trigger: "change" },
], ],
}, },
fileList: [],
beFrom: "", // 来自终端还是移动端 beFrom: "", // 来自终端还是移动端
}; };
}, },
...@@ -269,14 +257,10 @@ export default { ...@@ -269,14 +257,10 @@ export default {
// 关闭 // 关闭
onClose() { onClose() {
this.$refs.form.resetFields(); this.$refs.form.resetFields();
this.fileList = [];
this.iconFileList = [];
this.loading = false; this.loading = false;
this.Visible = false; this.Visible = false;
}, },
resetForm() { resetForm() {
this.fileList = [];
this.iconFileList = [];
this.$refs.form.resetFields(); this.$refs.form.resetFields();
}, },
// 提交 // 提交
...@@ -295,81 +279,7 @@ export default { ...@@ -295,81 +279,7 @@ export default {
} }
}); });
}, },
// 图标上传之前
iconBeforeUpload(file) {
const isJpgOrPng =
file.type === "image/jpeg" ||
file.type === "image/png" ||
file.type === "image/svg+xml";
if (!isJpgOrPng) {
this.$message.error("请上传jpeg、png或者svg格式图片!");
}
const isLt5M = file.size / 1024 / 1024 < 5;
if (!isLt5M) {
this.$message.error("图片大小不能超过 5MB!");
}
return isJpgOrPng && isLt5M;
},
// 上传图标
handleChangeIcon({ file, fileList }) {
if (
file.status &&
file.status != "removed" &&
file.response &&
file.response.code == -1
) {
this.$message.error(file.response.msg);
fileList = fileList.filter((file) => file.response.code != -1);
}
this.iconFileList = [...fileList].slice(-1);
this.iconFileList = this.iconFileList.map((v) => {
if (v.response) {
v.url = v.response.url;
}
return v;
});
if (this.iconFileList[0]) {
this.form.appIconPath = this.iconFileList[0].url;
} else {
this.form.appIconPath = "";
}
},
// 预览
handlePreview(info) {
this.$viewerApi({
images: [info.url],
});
},
// 上传应用
handleChangeFile(info) {
if (
info.file.status &&
info.file.status != "removed" &&
info.file.response &&
info.file.response.code == -1
) {
this.$message.error(info.file.response.msg);
info.fileList = info.fileList.filter(
(file) => file.response.code != -1
);
}
let fileList = [...info.fileList];
fileList = fileList.slice(-1);
fileList = fileList.map((file) => {
if (file.response) {
file.url = file.response.url;
}
return file;
});
this.fileList = fileList;
if (this.fileList.length) {
this.form.fileName = this.fileList[0].name;
this.form.filePath = this.fileList[0].url;
} else {
this.form.filePath = "";
this.form.fileName = "";
}
},
// 新增 // 新增
onAdd(type) { onAdd(type) {
Object.assign(this.form, this.$options.data().form); Object.assign(this.form, this.$options.data().form);
...@@ -380,22 +290,6 @@ export default { ...@@ -380,22 +290,6 @@ export default {
onEdit(data) { onEdit(data) {
this.$nextTick(() => { this.$nextTick(() => {
this.form = { ...data }; this.form = { ...data };
this.fileList = [
{
uid: "-1",
name: this.form.fileName,
status: "done",
url: this.form.filePath,
},
];
this.iconFileList = [
{
uid: "-2",
name: this.form.appIconPath,
status: "done",
url: this.form.appIconPath,
},
];
}); });
}, },
...@@ -411,9 +305,12 @@ export default { ...@@ -411,9 +305,12 @@ export default {
} else { } else {
this.form.filePath = ""; this.form.filePath = "";
this.form.fileName = ""; this.form.fileName = "";
this.fileList = [];
} }
}, },
appUpload({ fileList }) {
let fileName = fileList[0] ? fileList[0].name : "";
this.form.fileName = fileName;
},
}, },
}; };
</script> </script>
......
...@@ -21,21 +21,12 @@ ...@@ -21,21 +21,12 @@
<a-input v-model="form.categoryCode" placeholder="请输入主题编码" /> <a-input v-model="form.categoryCode" placeholder="请输入主题编码" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="主题封面" prop="cover"> <a-form-model-item label="主题封面" prop="cover">
<a-upload <YUpload
name="file" accept=".png,.jpg,.jpeg,.svg"
list-type="picture-card" :limit="1"
:action="api + 'base/file/commonupload'" v-model="form.cover"
:file-list="fileList" listType="picture-card"
@change="handleChangeCover" ></YUpload>
:accept="accept"
:before-upload="beforeUpload"
@preview="handlePreview"
>
<div v-if="fileList.length < 1">
<a-icon type="plus" />
<div class="ant-upload-text">选择封面</div>
</div>
</a-upload>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="排序" prop="sort"> <a-form-model-item label="排序" prop="sort">
<a-input-number v-model="form.sort" :min="1" /> <a-input-number v-model="form.sort" :min="1" />
...@@ -52,6 +43,7 @@ ...@@ -52,6 +43,7 @@
<script> <script>
import { saveCategory } from "@/services/market"; import { saveCategory } from "@/services/market";
import local from "@/utils/local"; import local from "@/utils/local";
import YUpload from "@/components/YUpload.vue";
export default { export default {
props: { props: {
addVisile: { addVisile: {
...@@ -64,12 +56,11 @@ export default { ...@@ -64,12 +56,11 @@ export default {
default: "新增分类", default: "新增分类",
}, },
}, },
components: {}, components: {
YUpload,
},
data() { data() {
return { return {
accept: "image/jpeg,image/png",
api: process.env.VUE_APP_API_BASE_URL + "/",
fileList: [],
form: { form: {
siteId: local.getLocal("siteId"), // 站点id siteId: local.getLocal("siteId"), // 站点id
siteName: local.getLocal("siteName"), // 站点名称 siteName: local.getLocal("siteName"), // 站点名称
...@@ -110,21 +101,10 @@ export default { ...@@ -110,21 +101,10 @@ export default {
onEdit(data) { onEdit(data) {
this.$nextTick(() => { this.$nextTick(() => {
this.form = { ...data }; this.form = { ...data };
if (this.form.cover) {
this.fileList = [
{
uid: "-2",
name: this.form.cover,
status: "done",
url: this.form.cover,
},
];
}
}); });
}, },
// 关闭弹窗 // 关闭弹窗
handleClose() { handleClose() {
this.fileList = [];
this.$refs.form.resetFields(); this.$refs.form.resetFields();
this.Visible = false; this.Visible = false;
}, },
...@@ -142,52 +122,9 @@ export default { ...@@ -142,52 +122,9 @@ export default {
} }
}); });
}, },
// 上传之前
beforeUpload(file) {
const isJpgOrPng =
file.type === "image/jpeg" || file.type === "image/png";
if (!isJpgOrPng) {
this.$message.error("请上传jpeg、png格式图片!");
}
const isLt10M = file.size / 1024 / 1024 < 10;
if (!isLt10M) {
this.$message.error("图片大小不能超过 10MB!");
}
return isJpgOrPng && isLt10M;
},
// 上传封面
handleChangeCover({ file, fileList }) {
if (
file.status &&
file.status != "removed" &&
file.response &&
file.response.code == -1
) {
this.$message.error(file.response.msg);
fileList = fileList.filter((file) => file.response.code != -1);
}
this.fileList = [...fileList].slice(-1);
this.fileList = this.fileList.map((v) => {
if (v.response) {
v.url = v.response.url;
}
return v;
});
if (this.fileList[0]) {
this.form.cover = this.fileList[0].url;
} else {
this.form.cover = "";
}
},
// 预览
handlePreview(info) {
this.$viewerApi({
images: [info.url],
});
},
// 重置 // 重置
handleReset() { handleReset() {
this.fileList = [];
this.$refs.form.resetFields(); this.$refs.form.resetFields();
}, },
}, },
......
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