YY 2 lat temu
rodzic
commit
19c9a4d7ac

+ 23 - 0
src/views/selfShop/goods/index.vue

@@ -20,6 +20,7 @@
         @lower="toLower"
         @delete="toDelete"
         @spec="toSpec"
+        @copy="toCopy"
       ></data-table>
     </template>
     <template v-else>
@@ -76,6 +77,7 @@ export default {
         { label: '上架', method: 'puton', display: (i) => i.status == '0' },
         { label: '下架', method: 'lower', display: (i) => i.status == '1' },
         { label: '库存管理', method: 'spec' },
+        { label: '复制', method: 'copy' },
         { label: '删除', method: 'delete', confirm: true, type: 'danger' },
       ],
       btnList: [{ label: '添加', method: 'add' }],
@@ -101,6 +103,7 @@ export default {
         { label: '商品图片', model: 'file', type: 'upload', url: '/files/point/goods/upload' },
         { label: '商品介绍', model: 'brief', custom: true },
       ],
+
       rules: {},
       form: {},
       // 商品分类
@@ -138,6 +141,26 @@ export default {
       };
       this.$set(this, 'form', obj);
     },
+    async toCopy({ data }) {
+      this.$confirm('是否确认复制该商品?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      }).then(async () => {
+        delete data.id;
+        delete data._id;
+        delete data.meta;
+        delete data.view_num;
+        delete data.__v;
+        let res;
+        res = await this.create(data);
+        if (this.$checkRes(res)) {
+          this.$message({ type: `success`, message: `复制成功` });
+          this.toBack();
+          this.search();
+        }
+      });
+    },
     async searchOthers() {
       let res = await this.tree();
       if (this.$checkRes(res)) this.$set(this, `tagsList`, res.data);

+ 21 - 1
src/views/selfShop/goods/spec.vue

@@ -12,7 +12,7 @@
         </template>
       </data-search>
       <data-btn :fields="btnFields" @add="toAdd" />
-      <data-table ref="dataTable" :fields="fields" :opera="opera" :data="list" :total="total" @edit="toEdit" @delete="toDelete" @query="search">
+      <data-table ref="dataTable" :fields="fields" :opera="opera" :data="list" :total="total" @edit="toEdit" @delete="toDelete" @query="search" @copy="toCopy">
         <template #code="{ row, item }">
           <el-link type="primary" @click="toData(row)">{{ row[item.model] }}</el-link>
         </template>
@@ -73,6 +73,7 @@ export default {
       ],
       opera: [
         { label: '修改', method: 'edit' },
+        { label: '复制', method: 'copy' },
         { label: '删除', method: 'delete', confirm: true, type: 'danger' },
       ],
       list: [],
@@ -126,6 +127,25 @@ export default {
       const obj = { goods: this.goods, status: '0', can_group: '1', freight: 0 };
       this.$set(this, 'form', obj);
     },
+    async toCopy({ data }) {
+      this.$confirm('是否确认复制该商品?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      }).then(async () => {
+        delete data.id;
+        delete data._id;
+        delete data.meta;
+        delete data.__v;
+        let res;
+        res = await this.create(data);
+        if (this.$checkRes(res)) {
+          this.$message({ type: `success`, message: `复制成功` });
+          this.search();
+          this.toBackList();
+        }
+      });
+    },
     async toSave({ data }) {
       let group_config = {};
       group_config.money = data.money;