From 996154fb8fab5468cdfc99efbab606605fb762e1 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 14 七月 2025 17:40:34 +0800
Subject: [PATCH] 前端

---
 admin/src/views/business/member.vue |  231 ++++++++++++++++++++-------------------------------------
 1 files changed, 83 insertions(+), 148 deletions(-)

diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue
index 1de7a6d..07e943a 100644
--- a/admin/src/views/business/member.vue
+++ b/admin/src/views/business/member.vue
@@ -2,95 +2,30 @@
   <TableLayout :permissions="['business:member:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="涓婚敭" prop="id">
-        <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鎵嬫満鍙�" prop="telephone">
+        <el-input v-model="searchForm.telephone" clearable placeholder="璇疯緭鍏ユ墜鏈哄彿" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�" prop="deleted">
-        <el-input v-model="searchForm.deleted" placeholder="璇疯緭鍏ユ槸鍚﹀凡鍒犻櫎 0鏈垹闄� 1宸插垹闄�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鐪熷疄濮撳悕" prop="name">
+        <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ョ湡瀹炲鍚�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="鍒涘缓浜虹紪鐮�" prop="createUser">
-        <el-input v-model="searchForm.createUser" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
-        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/>
-      </el-form-item>
-      <el-form-item label="鏇存柊浜虹紪鐮�" prop="updateUser">
-        <el-input v-model="searchForm.updateUser" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鏇存柊鏃堕棿" prop="updateTime">
-        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/>
-      </el-form-item>
-      <el-form-item label="澶囨敞" prop="remark">
-        <el-input v-model="searchForm.remark" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="澶村儚" prop="coverImage">
-        <el-input v-model="searchForm.coverImage" placeholder="璇疯緭鍏ュご鍍�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="openid" prop="openid">
-        <el-input v-model="searchForm.openid" placeholder="璇疯緭鍏penid" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鏄电О" prop="nickName">
-        <el-input v-model="searchForm.nickName" placeholder="璇疯緭鍏ユ樀绉�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone">
-        <el-input v-model="searchForm.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <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="鐢ㄥ伐韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="workerIdentity">
-        <el-input v-model="searchForm.workerIdentity" placeholder="璇疯緭鍏ョ敤宸ヨ韩浠�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="璐ц繍韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="driverIdentity">
-        <el-input v-model="searchForm.driverIdentity" placeholder="璇疯緭鍏ヨ揣杩愯韩浠�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="渚涢寰堢矇:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="chefIdentity">
-        <el-input v-model="searchForm.chefIdentity" placeholder="璇疯緭鍏ヤ緵椁愬緢绮�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="褰撳墠浣欓(鍗曚綅:鍒�)" prop="amount">
-        <el-input v-model="searchForm.amount" placeholder="璇疯緭鍏ュ綋鍓嶄綑棰�(鍗曚綅:鍒�)" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鍘嗗彶鎬婚噾棰�(鍗曚綅:鍒�)" prop="totalAmount">
-        <el-input v-model="searchForm.totalAmount" placeholder="璇疯緭鍏ュ巻鍙叉�婚噾棰�(鍗曚綅:鍒�)" @keypress.enter.native="search"></el-input>
+      <el-form-item label="绫诲瀷" prop="type">
+        <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨绫诲瀷" @change="search">
+            <el-option :value="0" label="鍙戝崟鏂�"></el-option>
+            <el-option :value="1" label="鎺ュ崟鏂�"></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="鐘舵��" prop="status">
-        <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬�" @keypress.enter.native="search"></el-input>
+        <el-select v-model="searchForm.status"  @keypress.enter.native="search" clearable placeholder="鐘舵��">
+          <el-option label="鍚敤" value="0"></el-option>
+          <el-option label="绂佺敤" value="1"></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="鏈�鍚庣櫥褰曟椂闂�" prop="loginTime">
-        <el-date-picker v-model="searchForm.loginTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ渶鍚庣櫥褰曟椂闂�" @change="search"/>
-      </el-form-item>
-      <el-form-item label="鎬荤櫥褰曟鏁�" prop="loginTimes">
-        <el-input v-model="searchForm.loginTimes" placeholder="璇疯緭鍏ユ�荤櫥褰曟鏁�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鎬绘帴鍗曢噺" prop="reciveNum">
-        <el-input v-model="searchForm.reciveNum" placeholder="璇疯緭鍏ユ�绘帴鍗曢噺" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鎬诲彂鍗曢噺" prop="publishNum">
-        <el-input v-model="searchForm.publishNum" placeholder="璇疯緭鍏ユ�诲彂鍗曢噺" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="璇勫垎" prop="score">
-        <el-input v-model="searchForm.score" placeholder="璇疯緭鍏ヨ瘎鍒�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="瀹氫綅鍦板潃" prop="localtion">
-        <el-input v-model="searchForm.localtion" placeholder="璇疯緭鍏ュ畾浣嶅湴鍧�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="绾害" prop="lat">
-        <el-input v-model="searchForm.lat" placeholder="璇疯緭鍏ョ含搴�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="缁忓害" prop="lgt">
-        <el-input v-model="searchForm.lgt" placeholder="璇疯緭鍏ョ粡搴�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鐪佷唤" prop="province">
-        <el-input v-model="searchForm.province" placeholder="璇疯緭鍏ョ渷浠�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鍩庡競" prop="city">
-        <el-input v-model="searchForm.city" placeholder="璇疯緭鍏ュ煄甯�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鍖哄幙" prop="area">
-        <el-input v-model="searchForm.area" placeholder="璇疯緭鍏ュ尯鍘�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鏄惁鎺ュ彈鑷姩娲惧崟:0=鍚︼紱1=鏄紱" prop="autoReciveStatus">
-        <el-input v-model="searchForm.autoReciveStatus" placeholder="璇疯緭鍏ユ槸鍚︽帴鍙楄嚜鍔ㄦ淳鍗�:0=鍚︼紱1=鏄紱" @keypress.enter.native="search"></el-input>
+
+      <el-form-item label="娉ㄥ唽鏃堕棿" prop="eventType">
+        <el-date-picker type="datetime" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
+                        placeholder="璇烽�夋嫨寮�濮嬫椂闂�" />-
+        <el-date-picker type="datetime" v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
+                        placeholder="璇烽�夋嫨缁撴潫鏃堕棿" />
       </el-form-item>
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -104,48 +39,50 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="id" label="涓婚敭" min-width="100px"></el-table-column>
-        <el-table-column prop="deleted" label="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�" min-width="100px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="coverImage" label="澶村儚" min-width="100px"></el-table-column>
-        <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column>
+        <el-table-column prop="openid" label="openid" min-width="100px">
+          <template slot-scope="{row}">
+           <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.openid}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="telephone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
         <el-table-column prop="nickName" label="鏄电О" min-width="100px"></el-table-column>
-        <el-table-column prop="telephone" label="鑱旂郴鐢佃瘽" min-width="100px"></el-table-column>
-        <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
-        <el-table-column prop="workerIdentity" label="鐢ㄥ伐韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="driverIdentity" label="璐ц繍韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="chefIdentity" label="渚涢寰堢矇:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="amount" label="褰撳墠浣欓(鍗曚綅:鍒�)" min-width="100px"></el-table-column>
-        <el-table-column prop="totalAmount" label="鍘嗗彶鎬婚噾棰�(鍗曚綅:鍒�)" min-width="100px"></el-table-column>
-        <el-table-column prop="status" label="鐘舵��" min-width="100px"></el-table-column>
-        <el-table-column prop="loginTime" label="鏈�鍚庣櫥褰曟椂闂�" min-width="100px"></el-table-column>
-        <el-table-column prop="loginTimes" label="鎬荤櫥褰曟鏁�" min-width="100px"></el-table-column>
-        <el-table-column prop="reciveNum" label="鎬绘帴鍗曢噺" min-width="100px"></el-table-column>
-        <el-table-column prop="publishNum" label="鎬诲彂鍗曢噺" min-width="100px"></el-table-column>
-        <el-table-column prop="score" label="璇勫垎" min-width="100px"></el-table-column>
-        <el-table-column prop="localtion" label="瀹氫綅鍦板潃" min-width="100px"></el-table-column>
-        <el-table-column prop="lat" label="绾害" min-width="100px"></el-table-column>
-        <el-table-column prop="lgt" label="缁忓害" min-width="100px"></el-table-column>
-        <el-table-column prop="province" label="鐪佷唤" min-width="100px"></el-table-column>
-        <el-table-column prop="city" label="鍩庡競" min-width="100px"></el-table-column>
-        <el-table-column prop="area" label="鍖哄幙" min-width="100px"></el-table-column>
-        <el-table-column prop="autoReciveStatus" label="鏄惁鎺ュ彈鑷姩娲惧崟:0=鍚︼紱1=鏄紱" min-width="100px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['business:member:update', 'business:member:delete'])"
-          label="鎿嶄綔"
-          min-width="120"
-          fixed="right"
-        >
+        <el-table-column prop="name" label="鐪熷疄濮撳悕" min-width="100px"></el-table-column>
+        <el-table-column prop="workerIdentity" label="韬唤" min-width="100px">
+          <template slot-scope="{row}">
+            鍙戝崟鏂�<span v-if="row.workerIdentity == 2 || row.driverIdentity == 2 || row.chefIdentity == 2">{{'  |  鎺ュ崟鏂�'}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="amount" label="褰撳墠浣欓(鍏�)" min-width="100px">
+          <template slot-scope="{row}">
+            {{((row.amount || 0)/100).toFixed(2)}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="createTime" label="娉ㄥ唽鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column prop="autoReciveStatus" label="鎺ュ彈鑷姩娲惧崟" min-width="100px">
+            <template slot-scope="{row}">
+              {{row.autoReciveStatus ==1?"鏄�":"鍚�"}}
+            </template>
+        </el-table-column>
+        <el-table-column label="鐘舵��">
+          <template slot-scope="{row}">
+            <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
+                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
+            </el-switch>
+          </template>
+        </el-table-column>
+       <el-table-column
+              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
+              label="鎿嶄綔"
+              min-width="120"
+              fixed="right"
+            >
           <template slot-scope="{row}">
             <el-button type="text" @click="$refs.operaMemberWindow.open('缂栬緫浼氬憳淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>
             <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
@@ -160,6 +97,7 @@
       </pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
+    <OperaMemberDetailWindow ref="OperaMemberDetailWindow" />
     <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
   </TableLayout>
 </template>
@@ -169,44 +107,21 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaMemberWindow from '@/components/business/OperaMemberWindow'
+import OperaMemberDetailWindow from '@/components/business/OperaMemberDetailWindow'
 export default {
   name: 'Member',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaMemberWindow },
+  components: { TableLayout, Pagination,OperaMemberDetailWindow, OperaMemberWindow },
   data () {
     return {
       // 鎼滅储
       searchForm: {
-        id: '',
-        deleted: '',
-        createUser: '',
-        createTime: '',
-        updateUser: '',
-        updateTime: '',
-        remark: '',
-        coverImage: '',
-        openid: '',
-        nickName: '',
+        type: 0,
+        startTime: '',
+        endTime: '',
         telephone: '',
         name: '',
-        workerIdentity: '',
-        driverIdentity: '',
-        chefIdentity: '',
-        amount: '',
-        totalAmount: '',
-        status: '',
-        loginTime: '',
-        loginTimes: '',
-        reciveNum: '',
-        publishNum: '',
-        score: '',
-        localtion: '',
-        lat: '',
-        lgt: '',
-        province: '',
-        city: '',
-        area: '',
-        autoReciveStatus: ''
+        status: ''
       }
     }
   },
@@ -218,6 +133,26 @@
       'field.main': 'id'
     })
     this.search()
+  },
+  methods: {
+    openDetail (row) {
+      this.$refs.OperaMemberDetailWindow.open('鐢ㄦ埛璇︽儏', row.id)
+    },
+    changeStatus (e, row) {
+      this.working = true
+      this.api.updateStatus({ id: row.id, workStatus: e })
+        .then(res => {
+          this.$tip.apiSuccess(res || '鎿嶄綔鎴愬姛')
+          this.search()
+        })
+        .catch(e => {
+          this.$tip.apiFailed(e)
+        })
+        .finally(() => {
+          this.working = false
+        })
+        .catch(() => { })
+    }
   }
 }
 </script>

--
Gitblit v1.9.3