From 5b629d83de981e12855ec1e6f8b3d0d7ad261f14 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 07 八月 2025 19:16:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 manager/src/views/goods/goods-info/goods.vue |  165 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 144 insertions(+), 21 deletions(-)

diff --git a/manager/src/views/goods/goods-info/goods.vue b/manager/src/views/goods/goods-info/goods.vue
index 7d1d4e4..4dd6d2d 100644
--- a/manager/src/views/goods/goods-info/goods.vue
+++ b/manager/src/views/goods/goods-info/goods.vue
@@ -100,30 +100,31 @@
 
             <div style="margin-left: 13px">
               <div class="div-zoom">
-                <a @click="linkTo(row.id, row.skuId)">{{ row.goodsName }}</a>
+                {{ row.goodsName }}
               </div>
-              <Poptip trigger="hover" title="鎵爜鍦ㄦ墜鏈轰腑鏌ョ湅" transfer>
-                <div slot="content">
-                  <vue-qr
-                    :text="wapLinkTo(row.id, row.skuId)"
-                    :margin="0"
-                    colorDark="#000"
-                    colorLight="#fff"
-                    :size="150"
-                  ></vue-qr>
-                </div>
-                <img
-                  src="../../../assets/qrcode.svg"
-                  class="hover-pointer"
-                  width="20"
-                  height="20"
-                  alt=""
-                />
-              </Poptip>
             </div>
           </div>
         </template>
       </Table>
+      <Modal
+        v-model="showGeneralQrCode"
+        title="浜岀淮鐮�"
+        width="800"
+        :mask-closable="false"
+        :loading="codeLoading"
+      >
+        <vue-qr
+          :text="QRCodeUrl"
+          :margin="0"
+          colorDark="#000"
+          colorLight="#fff"
+          :size="150"
+        ></vue-qr>
+        <div slot="footer">
+          <Button type="text" @click="closeGeneralQrCode">鍏抽棴</Button>
+          <!--          <Button type="primary" @click="generalQrCode">纭</Button>-->
+        </div>
+      </Modal>
       <Row type="flex" justify="end" class="mt_10">
         <Page
           :current="searchForm.pageNumber"
@@ -157,11 +158,29 @@
         >
       </div>
     </Modal>
+    <Modal
+      title="璁剧疆鍟嗗搧鎺掑簭"
+      v-model="showSort"
+      :mask-closable="false"
+      :width="500"
+    >
+      <Form ref="underForm" :model="sortForm" :label-width="100">
+        <FormItem label="鍟嗗搧鎺掑簭" prop="reason">
+          <InputNumber v-model="sortForm.sort" :min="0" :max="999" clearable style="width: 100%" />
+        </FormItem>
+      </Form>
+      <div slot="footer">
+        <Button type="text" @click="showSort= false">鍙栨秷</Button>
+        <Button type="primary" :loading="submitLoading" @click="submitSort"
+        >鎻愪氦</Button
+        >
+      </div>
+    </Modal>
   </div>
 </template>
 
 <script>
-import { getGoodsListData, upGoods, lowGoods } from "@/api/goods";
+import { getGoodsListData, upGoods, lowGoods ,getGoodsFirstSkuId ,goodsSort} from "@/api/goods";
 import {getSts} from '@/api/file'
 import vueQr from "vue-qr";
 export default {
@@ -171,6 +190,16 @@
   name: "goods",
   data() {
     return {
+      sortForm:{
+        goodsId:'',
+        sort:0
+      },
+      showSort:false,
+      showGeneralQrCode:false,
+      QRCodeUrl:'',
+      codeUrl: this.QRcodeBaseUrl+ '/scanpage/goods',
+      codeLoading:false,
+
       id: "", //瑕佹搷浣滅殑id
       loading: true, // 琛ㄥ崟鍔犺浇鐘舵��
       modalVisible: false, // 娣诲姞鎴栫紪杈戞樉绀�
@@ -216,6 +245,8 @@
               return h("Tag", { props: { color: "orange" } }, "闆跺敭");
             } else if (params.row.salesModel === "WHOLESALE") {
               return h("Tag", { props: { color: "magenta" } }, "鎵瑰彂");
+            } else if (params.row.salesModel === "PRESALE") {
+              return h("Tag", { props: { color: "magenta" } }, "棰勫敭");
             } else {
               return h("Tag", { props: { color: "volcano" } }, "鍏朵粬绫诲瀷");
             }
@@ -272,7 +303,7 @@
           key: "action",
           align: "center",
           fixed: "right",
-          width: 150,
+          width: 400,
           render: (h, params) => {
             if (params.row.marketEnable == "DOWN") {
               return h("div", [
@@ -297,6 +328,9 @@
                 h(
                   "Button",
                   {
+                    style: {
+                      marginRight: "5px",
+                    },
                     props: {
                       size: "small",
                     },
@@ -308,6 +342,23 @@
                   },
                   "鏌ョ湅"
                 ),
+                h(
+                  "Button",
+                  {
+                    style: {
+                      marginRight: "5px",
+                    },
+                    props: {
+                      size: "small",
+                    },
+                    on: {
+                      click: () => {
+                        this.generalQrCode(params.row);
+                      },
+                    },
+                  },
+                  "鐢熸垚浜岀淮鐮�"
+                )
               ]);
             } else {
               return h("div", [
@@ -332,6 +383,9 @@
                 h(
                   "Button",
                   {
+                    style: {
+                      marginRight: "5px",
+                    },
                     props: {
                       size: "small",
                     },
@@ -343,6 +397,38 @@
                   },
                   "鏌ョ湅"
                 ),
+                h(
+                  "Button",
+                  {
+                    style: {
+                      marginRight: "5px",
+                    },
+                    props: {
+                      type: "error",
+                      size: "small",
+                    },
+                    on: {
+                      click: () => {
+                        this.generalQrCode(params.row);
+                      },
+                    },
+                  },
+                  "鐢熸垚浜岀淮鐮�"
+                ),                h(
+                  "Button",
+                  {
+                    props: {
+                      type: "error",
+                      size: "small",
+                    },
+                    on: {
+                      click: () => {
+                        this.goodsSort(params.row);
+                      },
+                    },
+                  },
+                  "璁剧疆鍟嗗搧鎺掑簭"
+                )
               ]);
             }
           },
@@ -353,6 +439,43 @@
     };
   },
   methods: {
+    cancelSort(){
+      console.log('鐐瑰嚮浜嗗彇娑�')
+      this.showSort = false;
+    },
+   async submitSort(){
+    const response =  await goodsSort(this.sortForm)
+    console.log(response)
+     this.showSort = false;
+     this.getDataList();
+    },
+    goodsSort(row){
+      // this.sortForm = {
+      //
+      // }
+      this.sortForm.goodsId = row.id;
+      this.sortForm.sort = row.goodsSort
+      this.showSort = true;
+    },
+    closeGeneralQrCode(){
+      this.showGeneralQrCode = false;
+    },
+    generalQrCode(row){
+      this.QRCodeUrl = '';
+      this.showGeneralQrCode = true
+      this.codeLoading = true;
+
+      //鑾峰緱鍟嗗搧瀵瑰簲鐨勭涓�涓猻kuid
+      getGoodsFirstSkuId(row.id).then(res =>{
+        this.codeLoading = false;
+
+        if (res.code){
+          this.QRCodeUrl = this.codeUrl + "?id="+ res.result +"&goodsId=" + row.id
+        }
+      })
+
+    },
+
     // 鍒濆鍖栨暟鎹�
     init() {
       this.getDataList();

--
Gitblit v1.8.0