Commit 959b329c authored by “yiyousong”'s avatar “yiyousong”

feat:皮肤管理新增产品编辑和删除

parent 5d6b1173
...@@ -13,23 +13,42 @@ ...@@ -13,23 +13,42 @@
:class="{ active: i === isActive }" :class="{ active: i === isActive }"
v-for="(v, i) in productList" v-for="(v, i) in productList"
:key="v.id" :key="v.id"
@click="changeMenu(i, v)" @click.self="changeMenu(i, v)"
style="width: 50%; text-align: center" style="width: 50%; text-align: center"
> >
<div class="control" v-permission="[1]">
<a-space>
<a-icon type="edit" @click="handleEdit(v)" />
<a-icon type="delete" @click="handleDel(v.id)" />
</a-space>
</div>
{{ v.productName }} {{ v.productName }}
</a-card-grid> </a-card-grid>
</div> </div>
<!-- 编辑产品 -->
<AddDev
ref="AddDev"
:visible.sync="visible"
:title="title"
@addDev="getProductList"
></AddDev>
</div> </div>
</template> </template>
<script> <script>
import { getProductList } from "@/services/surface"; import { getProductList, deleteProduct } from "@/services/surface";
import { mapMutations } from "vuex"; import { mapMutations } from "vuex";
import AddDev from "../modal/AddDev.vue";
export default { export default {
components: {
AddDev,
},
data() { data() {
return { return {
productList: [], //产品列表 productList: [], //产品列表
isActive: "", isActive: "",
visible: false,
title: "编辑产品",
}; };
}, },
created() { created() {
...@@ -62,6 +81,38 @@ export default { ...@@ -62,6 +81,38 @@ export default {
}; };
this.SET_curProduct(obj); this.SET_curProduct(obj);
}, },
// 编辑产品
handleEdit(row) {
this.title = "编辑产品";
this.$refs.AddDev.onEdit(row);
this.visible = true;
},
// 删除产品
handleDel(id) {
let _this = this;
_this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await deleteProduct({ id });
let { code, msg } = res.data;
if (code === 1) {
_this.$message.success(msg);
_this.getProductList();
}
},
onCancel() {
console.log("Cancel");
},
});
console.log(id);
},
}, },
beforeDestroy() { beforeDestroy() {
this.SET_curProduct({}); this.SET_curProduct({});
...@@ -74,6 +125,7 @@ export default { ...@@ -74,6 +125,7 @@ export default {
height: 100%; height: 100%;
background-color: #fff; background-color: #fff;
} }
.search-box { .search-box {
padding: 15px 15px 0px; padding: 15px 15px 0px;
} }
...@@ -85,6 +137,9 @@ export default { ...@@ -85,6 +137,9 @@ export default {
.active { .active {
background-color: #1890ff; background-color: #1890ff;
color: #fff; color: #fff;
.anticon {
color: inherit;
}
} }
} }
/deep/.ant-card-grid { /deep/.ant-card-grid {
...@@ -93,5 +148,23 @@ export default { ...@@ -93,5 +148,23 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
position: relative;
&:hover {
.control {
display: block;
}
}
}
.control {
position: absolute;
right: 10px;
top: 0px;
display: none;
.anticon-edit {
color: #03d76f;
}
.anticon-delete {
color: #fa4d4c;
}
} }
</style> </style>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<a-modal <a-modal
v-model="Visible" v-model="Visible"
title="新增设备" :title="title"
@ok="handleOk" @ok="handleOk"
@cancel="handleClose" @cancel="handleClose"
> >
...@@ -17,11 +17,7 @@ ...@@ -17,11 +17,7 @@
<a-input placeholder="请输入设备名称" v-model="form.productName" /> <a-input placeholder="请输入设备名称" v-model="form.productName" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="设备编号" prop="productCode"> <a-form-model-item label="设备编号" prop="productCode">
<a-input <a-input placeholder="请输入设备编号" v-model="form.productCode" />
type="password"
placeholder="请输入设备编号"
v-model="form.productCode"
/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="备注" prop="productRemark"> <a-form-model-item label="备注" prop="productRemark">
<a-textarea <a-textarea
...@@ -44,6 +40,11 @@ export default { ...@@ -44,6 +40,11 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
title: {
required: true,
type: String,
default: "新增设备",
},
}, },
data() { data() {
return { return {
...@@ -88,9 +89,18 @@ export default { ...@@ -88,9 +89,18 @@ export default {
}, },
// 关闭对话框 // 关闭对话框
handleClose() { handleClose() {
this.$refs.form.resetFields(); this.$refs.form.clearValidate();
this.Visible = false; this.Visible = false;
}, },
// 新增
onAdd() {
Object.assign(this.form, this.$options.data().form);
this.form.id && this.$delete(this.form, "id");
},
// 编辑
onEdit(row) {
this.form = { ...row };
},
}, },
}; };
</script> </script>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<TabHeader label="皮肤管理"> <TabHeader label="皮肤管理">
<a-space> <a-space>
<a-button v-permission="[1]" icon="plus" @click="addDev" <a-button v-permission="[1]" icon="plus" @click="addDev"
>新增设备</a-button >新增产品</a-button
> >
<a-button <a-button
type="primary" type="primary"
...@@ -48,7 +48,12 @@ ...@@ -48,7 +48,12 @@
@addSkinSuccess="addSkinSuccess" @addSkinSuccess="addSkinSuccess"
></AddSurface> ></AddSurface>
<!-- 新增设备 --> <!-- 新增设备 -->
<AddDev :visible.sync="addDevVisible" @addDev="addDevSuccess"></AddDev> <AddDev
ref="AddDev"
:visible.sync="addDevVisible"
@addDev="addDevSuccess"
:title="title"
></AddDev>
</div> </div>
</template> </template>
...@@ -77,6 +82,7 @@ export default { ...@@ -77,6 +82,7 @@ export default {
visible: false, visible: false,
addDevVisible: false, addDevVisible: false,
classifyList: [], //皮肤分类数据 classifyList: [], //皮肤分类数据
title: "新增产品",
}; };
}, },
created() { created() {
...@@ -113,8 +119,8 @@ export default { ...@@ -113,8 +119,8 @@ export default {
}, },
// 编辑皮肤 // 编辑皮肤
editSkin(row) { editSkin(row) {
this.isShow = true;
this.$refs.AddSurface.onEdit(row); this.$refs.AddSurface.onEdit(row);
this.isShow = true;
}, },
// 新增分类成功刷新数据 // 新增分类成功刷新数据
addCategorySuccess() { addCategorySuccess() {
...@@ -126,6 +132,8 @@ export default { ...@@ -126,6 +132,8 @@ export default {
}, },
// 新增设备 // 新增设备
addDev() { addDev() {
this.title = "新增产品";
this.$refs.AddDev.onAdd();
this.addDevVisible = true; this.addDevVisible = true;
}, },
// 新增设备成功 // 新增设备成功
......
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