|
@@ -10,7 +10,7 @@
|
|
|
<div class="tablecon flexcon">
|
|
|
<!-- 新增tab栏的按钮 -->
|
|
|
<div class="addTab">
|
|
|
- <el-button type="primary" style="width: 100%" @click="addTab"
|
|
|
+ <el-button type="primary" style="width: 100%" @click="isShow = true"
|
|
|
>新增模块</el-button
|
|
|
>
|
|
|
</div>
|
|
@@ -24,6 +24,8 @@
|
|
|
/> -->
|
|
|
|
|
|
<LeftTab
|
|
|
+ @editTab="editTab"
|
|
|
+ @deltTab="deltTab"
|
|
|
@select="handleMenu"
|
|
|
:menu="menu"
|
|
|
:default="goodsModuleId"
|
|
@@ -95,8 +97,13 @@
|
|
|
@close="showApplyDetail = false"
|
|
|
:tableData="alDetail"
|
|
|
></vdialog>
|
|
|
+
|
|
|
<!-- 点击新增模块出现的弹窗 -->
|
|
|
- <el-dialog title="新增模块" :visible="isShow" @close="addTabX">
|
|
|
+ <el-dialog
|
|
|
+ :title="ruleForm.id ? '编辑模块' : '新增模块'"
|
|
|
+ :visible="isShow"
|
|
|
+ @close="addTabX"
|
|
|
+ >
|
|
|
<el-form
|
|
|
:model="ruleForm"
|
|
|
ref="ruleForm"
|
|
@@ -111,9 +118,24 @@
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="展示类型:">
|
|
|
- <el-radio v-model="ruleForm.type" label="model">模型</el-radio>
|
|
|
- <el-radio v-model="ruleForm.type" label="img">图片</el-radio>
|
|
|
- <el-radio v-model="ruleForm.type" label="video">视频</el-radio>
|
|
|
+ <el-radio
|
|
|
+ v-model="ruleForm.type"
|
|
|
+ label="model"
|
|
|
+ :disabled="!!ruleForm.id"
|
|
|
+ >模型</el-radio
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ v-model="ruleForm.type"
|
|
|
+ label="img"
|
|
|
+ :disabled="!!ruleForm.id"
|
|
|
+ >图片</el-radio
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ v-model="ruleForm.type"
|
|
|
+ label="video"
|
|
|
+ :disabled="!!ruleForm.id"
|
|
|
+ >视频</el-radio
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
<el-form-item label="投票功能:">
|
|
|
<el-switch
|
|
@@ -154,7 +176,12 @@ import { raw, menuStr } from "./data";
|
|
|
import { getList } from "@/configue/api";
|
|
|
|
|
|
import { mapGetters } from "vuex";
|
|
|
-import { addTabList, getTabList } from "../../../configue/api";
|
|
|
+import {
|
|
|
+ addTabList,
|
|
|
+ getTabDelById,
|
|
|
+ getTabInfoById,
|
|
|
+ getTabList,
|
|
|
+} from "../../../configue/api";
|
|
|
// 导入后面自己写的tab栏组件
|
|
|
import LeftTab from "./componets/leftTab.vue";
|
|
|
export default {
|
|
@@ -179,6 +206,7 @@ export default {
|
|
|
},
|
|
|
goodsModuleId: 1,
|
|
|
// 点击新增模块
|
|
|
+ isShowId: null,
|
|
|
isShow: false,
|
|
|
ruleForm: {
|
|
|
isLike: 0, //点赞功能,0:关, 1:开
|
|
@@ -191,10 +219,36 @@ export default {
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
- //------------------点击新增模块
|
|
|
- addTab() {
|
|
|
- this.isShow = true;
|
|
|
+ async editTab(id) {
|
|
|
+ this.isShowId = id;
|
|
|
+ // console.log('点击了编辑',id);
|
|
|
+ let res = await getTabInfoById(id);
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.ruleForm = res.data;
|
|
|
+ this.isShow = true;
|
|
|
+ } else return this.$message.warning(res.msg);
|
|
|
+ // 根据id获取信息
|
|
|
},
|
|
|
+ deltTab(id) {
|
|
|
+ this.$confirm(
|
|
|
+ "确定删除吗? 当前模块下如果存在数据,也会一并删除.",
|
|
|
+ "提示",
|
|
|
+ {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }
|
|
|
+ ).then(async () => {
|
|
|
+ let res = await getTabDelById(id);
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message.success("删除成功!");
|
|
|
+ this.$router.push("/collection/model");
|
|
|
+ this.goodsModuleId = 1;
|
|
|
+ this.getTabList();
|
|
|
+ } else return this.$message.warning(res.msg);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //------------------点击新增模块
|
|
|
//投票数量只能输入正整数
|
|
|
changeInput() {
|
|
|
let pattern = /^[1-9][0-9]*$/; //正整数的正则表达式
|
|
@@ -214,6 +268,8 @@ export default {
|
|
|
if (res.code === 0) {
|
|
|
this.getTabList();
|
|
|
this.isShow = false;
|
|
|
+ this.addTabX();
|
|
|
+ this.$message.success("操作成功");
|
|
|
} else this.$message.warning(res.msg);
|
|
|
}
|
|
|
},
|
|
@@ -233,7 +289,7 @@ export default {
|
|
|
},
|
|
|
handleMenu(data) {
|
|
|
// 把索引存起来
|
|
|
- localStorage.setItem('XJ_goodsModuleId',data.id)
|
|
|
+ localStorage.setItem("XJ_goodsModuleId", data.id);
|
|
|
this.goodsModuleId = data.id;
|
|
|
this.$router.push({
|
|
|
params: { ...this.$route.params, type: data.type, id: data.id },
|
|
@@ -255,6 +311,10 @@ export default {
|
|
|
},
|
|
|
(data) => {
|
|
|
this.list = data.data;
|
|
|
+ this.list.list.forEach((v) => {
|
|
|
+ if (!v.countLike) v.countLike = 0;
|
|
|
+ if (!v.countVote) v.countVote = 0;
|
|
|
+ });
|
|
|
}
|
|
|
);
|
|
|
},
|
|
@@ -279,7 +339,6 @@ export default {
|
|
|
watch: {
|
|
|
goodsModuleId: {
|
|
|
deep: true,
|
|
|
- immediate: true,
|
|
|
handler: function () {
|
|
|
this.getAuth(this.activeMenu, menuStr[this.subMenu]);
|
|
|
this.getList();
|
|
@@ -298,10 +357,10 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
// 调用获取tab列表方法
|
|
|
+ let myId = localStorage.getItem("XJ_goodsModuleId");
|
|
|
+ if (myId) this.goodsModuleId = Number(myId);
|
|
|
+ else this.goodsModuleId = 1;
|
|
|
this.getTabList();
|
|
|
- let myId = localStorage.getItem('XJ_goodsModuleId')
|
|
|
- if(myId) this.goodsModuleId=Number(myId)
|
|
|
- else this.goodsModuleId=1
|
|
|
},
|
|
|
};
|
|
|
</script>
|