From 4eac422e52a4d28fb651b75d0f054697c7a2c0fa Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 09 二月 2026 15:14:13 +0800
Subject: [PATCH] 优化

---
 admin/src/views/business/shop.vue |  197 ++++++++++++++++++++++++-------------------------
 1 files changed, 97 insertions(+), 100 deletions(-)

diff --git a/admin/src/views/business/shop.vue b/admin/src/views/business/shop.vue
index 440885d..7bf74de 100644
--- a/admin/src/views/business/shop.vue
+++ b/admin/src/views/business/shop.vue
@@ -2,58 +2,37 @@
   <TableLayout :permissions="['business:shop:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="搴楅摵鍚嶇О" prop="name">
-        <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ簵閾哄悕绉�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="搴楅摵鐘舵��" prop="status">
+      <el-form-item label="鐧诲綍璐﹀彿" prop="name">
+        <el-input v-model="searchForm.username" placeholder="璇疯緭鍏ョ櫥褰曡处鍙�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="閿�鍞ā寮�" prop="saleType" >
         <!-- 0姝e父 1绂佺敤 -->
-        <el-select
-          v-model="searchForm.status"
-          placeholder="璇烽�夋嫨搴楅摵鐘舵��"
-        >
-          <el-option
-            :key="0"
-            :value="0"
-            label="姝e父"
-          ></el-option>
-          <el-option
-            :key="1"
-            :value="1"
-            label="绂佺敤"
-          ></el-option>
+        <el-select     v-model="searchForm.saleType"  placeholder="閿�鍞ā寮�"  @change="search"  >
+          <el-option  :key="0" :value="0"  label="骞冲彴閾鸿揣"  ></el-option>
+          <el-option   :key="1" :value="1" label="鑷富閲囪喘"  ></el-option>
         </el-select>
-        <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬�0姝e父 1绂佺敤" @keypress.enter.native="search"></el-input> -->
       </el-form-item>
-      <el-form-item label="鎺ㄨ崘" prop="isrec">
-        <!-- 0鍚� 1鏄� -->
-        <el-select
-          v-model="searchForm.isrec"
-          placeholder="璇烽�夋嫨搴楅摵鐘舵��"
-        >
-          <el-option
-            :key="0"
-            :value="0"
-            label="鍚�"
-          ></el-option>
-          <el-option
-            :key="1"
-            :value="1"
-            label="鏄�"
-          ></el-option>
+      <el-form-item label="鐘舵��" prop="status">
+        <!-- 0姝e父 1绂佺敤 -->
+        <el-select     v-model="searchForm.status"  placeholder="璇烽�夋嫨鐘舵��"    @change="search"   >
+          <el-option  :key="0" :value="0"  label="姝e父"  ></el-option>
+          <el-option   :key="1" :value="1" label="绂佺敤"  ></el-option>
         </el-select>
-        <!-- <el-input v-model="searchForm.isrec" placeholder="璇疯緭鍏ユ槸鍚︽帹鑽�0鍚� 1鏄�" @keypress.enter.native="search"></el-input> -->
       </el-form-item>
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
-        <!-- <el-button type="primary" @click="showDetail">鎼滅储</el-button> -->
         <el-button @click="reset">閲嶇疆</el-button>
       </section>
     </el-form>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['business:shop:create', 'business:shop:delete']">
-        <li><el-button type="primary" @click="$refs.operaShopWindow.open('鏂板缓搴楅摵')" icon="el-icon-plus" v-permissions="['business:shop:create']">鏂板缓</el-button></li>
+      <ul class="toolbar" >
+        <li><el-button type="primary" @click="$refs.operaShopWindow.open('鏂板缓缁忛攢鍟�')" icon="el-icon-plus" v-permissions="['business:shop:create']">鏂板缓</el-button></li>
         <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:shop:delete']">鍒犻櫎</el-button></li> -->
+        <li><p class="tip-warn" style="width: 100%;margin-left: 20px;"><i class="el-icon-warning"></i>鎻愮ず锛氥�愪緵璐т环璁剧疆銆戝彧缁熻涓婃灦鐘舵�佺殑鍟嗗搧浠锋牸璁剧疆鏁版嵁,(宸插畾浠峰晢鍝佹暟/鍏ㄩ儴鍟嗗搧鏁�)</p></li>
       </ul>
       <el-table
         v-loading="isWorking.search"
@@ -63,37 +42,49 @@
         @selection-change="handleSelectionChange"
       >
         <!-- <el-table-column type="selection" width="55"></el-table-column> -->
-        <el-table-column prop="name" label="搴楅摵鍚嶇О" align="center" min-width="100px"></el-table-column>
-        <el-table-column prop="imgurl" label="搴楅摵LOGO" align="center" min-width="100px">
+        <el-table-column prop="name" label="鍚嶇О" fixed align="center" min-width="100px">
           <template slot-scope="{row}">
-            <el-image :scr="row.imgFullUrl + row.imgurl" :preview-src-list="[row.imgFullUrl + row.imgurl]"></el-image>
+            <el-button type="text" @click="showDetail(row)">{{row.name}}</el-button>
           </template>
         </el-table-column>
-        <el-table-column prop="addr" label="鍦板潃" align="center" min-width="100px"></el-table-column>
+        <el-table-column prop="code" label="闂ㄥ簵ID" align="center" min-width="100px"></el-table-column>
+        <el-table-column prop="integral" label="鐜版湁绉垎" align="center" min-width="100px">
+          <template slot-scope="{row}">
+            <span class="orange">{{(row.integral || 0).toFixed(0)}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="totalIntegral" label="绱绉垎" align="center" min-width="100px">
+          <template slot-scope="{row}">
+            <span class="orange">  {{(row.totalIntegral || 0).toFixed(0)}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="username" label="鐧诲綍璐﹀彿" align="center" min-width="100px"></el-table-column>
+        <el-table-column prop="bigAreaName" label="鎵�灞炲尯鍩�" align="center" min-width="100px"></el-table-column>
+        <el-table-column prop="areaFullName" label="鐪佸競鍖�" align="center" min-width="150px" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            <span v-if="row.areas!=null">{{(row.areas.provinceName||'') + (row.areas.cityName||'') + (row.areas.name||'')}}</span>
+          </template>
+        </el-table-column>
+<!--        <el-table-column prop="imgurl" label="闂ㄥご鍥�" align="center" min-width="100px">
+          <template slot-scope="{row}">
+            <el-image v-if=" row.imgurl" :scr="row.imgFullUrl + row.imgurl" :preview-src-list="[row.imgFullUrl + row.imgurl]"></el-image>
+          </template>
+        </el-table-column>-->
+        <el-table-column prop="addr" label="璇︾粏鍦板潃" align="center" min-width="150px" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="realname" label="鑱旂郴浜�" align="center" min-width="100px"></el-table-column>
+        <el-table-column prop="phone" label="鑱旂郴鐢佃瘽" align="center" min-width="150px"></el-table-column>
+        <el-table-column prop="saleType"  label="閿�鍞ā寮�" align="center" min-width="150px">
+          <template slot-scope="{row}">
+            {{ row.saleType == 1?'鑷富閲囪喘':'骞冲彴閾鸿揣'}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="shopPrice" label="渚涜揣浠疯缃�" min-width="100px" align="center">
+          <template slot-scope="{row}" >
+            <div title="閽堝涓婃灦鍟嗗搧浠锋牸璁剧疆缁熻" @click="goPriceSet(row)" style="cursor:pointer;"><span  class="red"> {{row.pricedGoodsNum||0}}</span> / <span class="green"> {{row.goodsNum||0}}</span>  </div>
+          </template>
+        </el-table-column>
         <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="140px"></el-table-column>
-        <el-table-column label="璐熻矗浜�" align="center" min-width="150px">
-          <template slot-scope="{row}">
-            {{ `${row.nickName} ${row.memberPhone}` }}
-          </template>
-        </el-table-column>
-        <el-table-column label="缁忛攢鍟嗘暟鎹�" align="center" min-width="150px">
-          <template slot-scope="{row}">
-            <el-button type="text" @click="showDetail(row)">鏌ョ湅</el-button>
-          </template>
-        </el-table-column>
-        <el-table-column prop="isrec" label="鏄惁鎺ㄨ崘" align="center" min-width="100px">
-          <template slot-scope="{row}">
-            <el-switch
-              v-model="row.isrec"
-              active-color="#13ce66"
-              inactive-color="#999"
-              :active-value="1"
-              :inactive-value="0"
-              @change="statusChange(row)"
-            ></el-switch>
-          </template>
-        </el-table-column>
-        <el-table-column prop="status" label="鐘舵��" align="center" min-width="100px">
+        <el-table-column prop="status" label="鐘舵��" align="center" min-width="100px" fixed="right">
           <template slot-scope="{row}">
             <el-switch
               v-model="row.status"
@@ -105,38 +96,18 @@
             ></el-switch>
           </template>
         </el-table-column>
-
-        <!-- <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="sex" label="鎬у埆 0鐢� 1濂� 2鏈煡" min-width="100px"></el-table-column>
-        <el-table-column prop="idcard" label="韬唤璇佸彿" min-width="100px"></el-table-column>
-        <el-table-column prop="idcardImg" label="韬唤璇佹闈㈢収" min-width="100px"></el-table-column>
-        <el-table-column prop="idcardImgBack" label="韬唤璇佸弽闈㈢収" min-width="100px"></el-table-column>
-        <el-table-column prop="businessImg" label="钀ヤ笟鎵х収" min-width="100px"></el-table-column>
-        <el-table-column prop="longitude" label="瀹氫綅缁忓害" min-width="100px"></el-table-column>
-        <el-table-column prop="latitude" label="瀹氫綅缁村害" min-width="100px"></el-table-column>
-        <el-table-column prop="areaId" label="鎵�灞炲幙鍖虹紪鐮侊紙鍏宠仈areas)" min-width="100px"></el-table-column>
-        <el-table-column prop="info" label="搴楅摵鎻忚堪" min-width="100px"></el-table-column>
-        <el-table-column prop="origin" label="鏁版嵁鏉ユ簮 0灏忕▼搴忕敵璇� 1鍚庡彴褰曞叆" min-width="100px"></el-table-column>
-        <el-table-column prop="memberId" label="鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級" min-width="100px"></el-table-column>
-        <el-table-column prop="applyId" label="鐢宠缂栫爜锛堝叧鑱攕hop_apply琛級" min-width="100px"></el-table-column>
-        <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="looknum" label="鎬绘祻瑙堥噺" min-width="100px"></el-table-column>
-        <el-table-column prop="startTime" label="钀ヤ笟寮�濮嬫椂闂�" min-width="100px"></el-table-column>
-        <el-table-column prop="endTime" label="钀ヤ笟缁撴潫鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="brandStory" label="鍝佺墝鏁呬簨" min-width="100px"></el-table-column> -->
         <el-table-column
           v-if="containPermissions(['business:shop:update', 'business:shop:delete'])"
           label="鎿嶄綔"
-          min-width="120"
+          min-width="280"
           fixed="right"
           align="center"
         >
           <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaShopWindow.open('缂栬緫搴楅摵', row)" icon="el-icon-edit" v-permissions="['business:shop:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:shop:delete']">鍒犻櫎</el-button>
+            <el-button type="text" @click="$refs.operaShopWindow.open('缂栬緫缁忛攢鍟�', row)" icon="el-icon-edit" v-permissions="['business:shop:update']">缂栬緫</el-button>
+            <el-button type="text" v-permissions="['business:shop:update']" icon="el-icon-edit" @click="goPriceSet(row)">渚涜揣浠�</el-button>
+            <el-button type="text" @click="resetPwd(row)" icon="el-icon-edit"  v-permissions="['business:shop:update']">閲嶇疆瀵嗙爜</el-button>
+            <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:shop:delete']">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -149,7 +120,9 @@
     </template>
     <!-- 鏂板缓/淇敼 -->
     <OperaShopWindow ref="operaShopWindow" @success="handlePageChange"/>
-    <OperaShopDetailWindow ref="operaShopDetailWindow" />
+    <OperaShopInfoWindow ref="OperaShopInfoWindow" />
+    <ResetPwdShopWindow ref="resetPwdWindow"/>
+    <OperaGoodsShopWindow ref="OperaGoodsShopWindow" @success="handlePageChange"/>
   </TableLayout>
 </template>
 
@@ -158,26 +131,30 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaShopWindow from '@/components/business/OperaShopWindow'
-import OperaShopDetailWindow from '@/components/business/OperaShopDetailWindow'
-import { updateIsRecById } from '@/api/business/shop'
+import OperaShopInfoWindow from '@/components/business/OperaShopInfoWindow'
+import OperaGoodsShopWindow from '@/components/business/OperaGoodsShopWindow'
+import { resetPwd, updateIsRecById } from '@/api/business/shop'
+import ResetPwdShopWindow from '@/components/business/ResetPwdShopWindow'
 export default {
   name: 'Shop',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaShopWindow, OperaShopDetailWindow },
+  components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow,OperaGoodsShopWindow },
   data () {
     return {
 
       // 鎼滅储
       searchForm: {
         name: '',
+        username: '',
         status: '',
-        isrec: '',
+        saleType: '',
+        isrec: ''
       }
     }
   },
   created () {
     this.config({
-      module: '搴楅摵鍩烘湰淇℃伅琛�',
+      module: '缁忛攢鍟嗗熀鏈俊鎭〃',
       api: '/business/shop',
       'field.id': 'id',
       'field.main': 'id'
@@ -185,7 +162,27 @@
     this.search()
   },
   methods: {
-    statusChange(row) {
+    goPriceSet(row){
+      this.$refs.OperaGoodsShopWindow.open('璁剧疆渚涜揣浠� - '+row.name, row )
+    },
+    resetPwd (row) {
+      this.$dialog.messageWaring('纭閲嶇疆璇ョ粡閿�鍟嗐��' + row.name + '銆戠殑鐧诲綍瀵嗙爜鍚楋紵')
+        .then(() => {
+          resetPwd({
+            id: row.id
+          })
+            .then(() => {
+              this.$tip.apiSuccess('瀵嗙爜閲嶇疆鎴愬姛')
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+
+            })
+        })
+    },
+    statusChange (row) {
       updateIsRecById(row)
         .then(() => {
           this.$message.success('鎿嶄綔鎴愬姛')
@@ -197,9 +194,9 @@
           this.handlePageChange()
         })
     },
-    showDetail(row) {
-      this.$refs.operaShopDetailWindow.open('搴楅摵璇︽儏', row)
+    showDetail (row) {
+      this.$refs.OperaShopInfoWindow.open('缁忛攢鍟嗚鎯呫��'+row.name+'銆�', row)
     }
-  },
+  }
 }
 </script>

--
Gitblit v1.9.3