From d3e09bace1db01d68a9a7a434c07b4331e1b15b7 Mon Sep 17 00:00:00 2001
From: mayf <m13160102112@163.com>
Date: 星期一, 02 九月 2024 21:09:25 +0800
Subject: [PATCH] 商品加价调整

---
 pages/mark-up/goods.vue  |   93 ++++++++++++++++++++++++++++++++++------------
 package.json             |    2 
 config/default-dev.json5 |    2 
 3 files changed, 70 insertions(+), 27 deletions(-)

diff --git a/config/default-dev.json5 b/config/default-dev.json5
index 6dfcbf5..36520fe 100644
--- a/config/default-dev.json5
+++ b/config/default-dev.json5
@@ -1,3 +1,3 @@
 {
-  httpBaseUri: 'http://106.14.123.210:8080',
+  httpBaseUri: 'http://localhost:8080',
 }
diff --git a/package.json b/package.json
index c62714d..88340a0 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "scripts": {
-    "start": "cross-env NODE_APP_INSTANCE=test NODE_ENV=development nuxt",
+    "start": "cross-env NODE_APP_INSTANCE=dev NODE_ENV=development nuxt",
     "build:dev": "cross-env NODE_APP_INSTANCE=dev NODE_ENV=production nuxt build",
     "build:prod": "cross-env NODE_APP_INSTANCE=prod NODE_ENV=production nuxt build",
     "launch": "nuxt start",
diff --git a/pages/mark-up/goods.vue b/pages/mark-up/goods.vue
index b42d169..a0b96cd 100644
--- a/pages/mark-up/goods.vue
+++ b/pages/mark-up/goods.vue
@@ -1,35 +1,29 @@
 <template>
-  <el-bus-crud v-bind="tableConfig" />
+  <el-bus-crud ref="crud" v-bind="tableConfig" />
 </template>
 
 <script>
-import {
-  getGoodsListConfig,
-  getGoodsCategoryListConfig,
-} from '@/utils/form-item-config'
+import { getGoodsCategoryListConfig } from '@/utils/form-item-config'
 
 export default {
   data() {
     return {
       tableConfig: {
-        url: 'flower/api/flower/markup/sp/list',
-        newUrl: 'flower/api/flower/markup/sp/list/save',
-        editUrl: 'flower/api/flower/markup/sp/list/save',
-        onDelete: (row) => {
-          return this.$elBusHttp.request(
-            'flower/api/flower/markup/sp/list/delete',
-            {
-              params: {
-                flowerId: row.flowerId,
-              },
-            }
-          )
+        url: 'flower/api/flower/markup/sp/flower/list',
+        hasNew: false,
+        hasEdit: false,
+        hasDelete: false,
+        hasView: false,
+        persistSelection: true,
+        afterRequest: (list) => {
+          return list.map((i) => ({ ...i, id: i.flowerId }))
         },
         operationAttrs: {
-          width: '140px',
+          width: '80px',
           fixed: 'right',
         },
         columns: [
+          { label: '', type: 'selection', minWidth: 60, fixed: 'left' },
           { label: '商品名称', prop: 'name', minWidth: 150, fixed: 'left' },
           {
             label: '商品封面',
@@ -45,9 +39,9 @@
           { label: '标签', prop: 'tags', minWidth: 120 },
           { label: '供应商', prop: 'supplierName', minWidth: 100 },
           { label: '底价(元)', prop: 'price', minWidth: 100 },
-          { label: '加价(元)', prop: 'fee', minWidth: 100 },
           { label: '销量', prop: 'sales', minWidth: 100 },
           { label: '库存', prop: 'stock', minWidth: 100 },
+          { label: '加价(元)', prop: 'fee', minWidth: 100, fixed: 'right' },
         ],
         searchForm: [
           {
@@ -75,15 +69,64 @@
             ],
           },
         ],
+        extraDialogs: [
+          {
+            title: '商品加价',
+            form: [],
+            atConfirm: async (val) => {
+              const { code } = await this.$elBusHttp.request(
+                'flower/api/flower/markup/sp/flower/list/save',
+                {
+                  method: 'post',
+                  data: val,
+                }
+              )
+              if (code === 0) {
+                this.$message.success('操作成功')
+                this.$refs.crud.clearSelection()
+              } else {
+                return false
+              }
+            },
+          },
+        ],
+        extraButtons: [
+          {
+            text: '设置加价',
+            atClick: (row) => {
+              this.$refs.crud.$refs.extraDialog[0].show({
+                flowerIds: [row.flowerId],
+                fee: row.fee ?? undefined,
+              })
+              return false
+            },
+          },
+        ],
+        headerButtons: [
+          {
+            text: '批量设置加价',
+            type: 'primary',
+            disabled: (selected) => selected.length === 0,
+            atClick: (selected) => {
+              this.$refs.crud.$refs.extraDialog[0].show({
+                flowerIds: selected.map((i) => i.flowerId),
+                fee:
+                  selected.length === 1
+                    ? selected[0].fee ?? undefined
+                    : undefined,
+              })
+              return false
+            },
+          },
+        ],
         form: [
           {
-            ...getGoodsListConfig(),
-            rules: { required: true, message: '请选择商品' },
-            str: true,
-            strKey: 'name',
-            readonly: (row, item, mode) => {
-              return mode === 'edit'
+            id: 'flowerIds',
+            type: 'select',
+            el: {
+              multiple: true,
             },
+            hidden: () => true,
           },
           {
             label: '加价:',

--
Gitblit v1.9.3