From 9d7979a2933632bc2083c7f0b3e4a793b0dc3f3e Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 15 七月 2025 12:10:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/api/business/identityInfo.js                                                      |    3 +
 admin/src/components/base/BaseOpera.vue                                                     |   28 +++++++++
 admin/src/views/business/member.vue                                                         |    4 
 admin/src/views/business/identityInfo.vue                                                   |   15 ++--
 server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java               |    3 -
 admin/src/components/business/OperaMemberDetailWindow.vue                                   |    8 +-
 server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java |   21 ++----
 admin/src/components/business/OperaIdentityDetailWindow.vue                                 |   63 ++++++++++++++++++--
 8 files changed, 108 insertions(+), 37 deletions(-)

diff --git a/admin/src/api/business/identityInfo.js b/admin/src/api/business/identityInfo.js
index 755bbb2..19b6679 100644
--- a/admin/src/api/business/identityInfo.js
+++ b/admin/src/api/business/identityInfo.js
@@ -16,6 +16,9 @@
 export function create (data) {
   return request.post('/business/identityInfo/create', data)
 }
+export function audit (data) {
+  return request.post('/business/identityInfo/audit', data)
+}
 
 // 淇敼
 export function updateById (data) {
diff --git a/admin/src/components/base/BaseOpera.vue b/admin/src/components/base/BaseOpera.vue
index 4a364eb..86a2e02 100644
--- a/admin/src/components/base/BaseOpera.vue
+++ b/admin/src/components/base/BaseOpera.vue
@@ -1,4 +1,6 @@
 <script>
+import {mapState} from "vuex";
+
 export default {
   name: 'BaseOpera',
   data () {
@@ -13,6 +15,9 @@
         'field.id': 'id'
       }
     }
+  },
+  computed: {
+    ...mapState(['userInfo']),
   },
   methods: {
     /**
@@ -125,6 +130,29 @@
             this.isWorking = false
           })
       })
+    },
+    /**
+     * 鏄惁鍖呭惈鎸囧畾鏉冮檺
+     *
+     * @param permissions 鐩爣鏉冮檺鏁扮粍
+     * @returns {boolean}
+     */
+    containPermissions (permissions) {
+      if (permissions == null) {
+        return true
+      }
+      if (this.userInfo == null) {
+        return false
+      }
+      if (this.userInfo.permissions == null || this.userInfo.permissions.length === 0) {
+        return false
+      }
+      for (const code of permissions) {
+        if (this.userInfo.permissions.findIndex(p => p === code) > -1) {
+          return true
+        }
+      }
+      return false
     }
   }
 }
diff --git a/admin/src/components/business/OperaIdentityDetailWindow.vue b/admin/src/components/business/OperaIdentityDetailWindow.vue
index 698e2be..3872416 100644
--- a/admin/src/components/business/OperaIdentityDetailWindow.vue
+++ b/admin/src/components/business/OperaIdentityDetailWindow.vue
@@ -7,7 +7,7 @@
     :confirm-working="isWorking"
     @close="close"
     @confirm="confirm">
-    <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
+    <div style="width: calc(100% - 32px); position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
       <div style="display: flex;background: #e4ecfe;padding: 20px">
         <div style="width: 60px;">
           <div class="home_title" v-if="info">
@@ -21,8 +21,7 @@
         <div style="width: calc(100% - 60px);">
           <div class="home_title" v-if="info">
             <div class="left">
-              <span class="m10">鏄电О锛歿{info.nickName }}</span>
-              <span class="mr10 bluebtn" :title="'濮撳悕锛�'+(info.name||'鏈缃鍚�')"  >({{(info.name||'鏈缃鍚�') }})</span>
+              <span class="m10">鏄电О锛歿{info.nickName }}  <span class="ml10 bluebtn" :title="'濮撳悕锛�'+(info.name||'鏈缃鍚�')"  >({{(info.name||'鏈缃鍚�') }})</span></span>
               <el-tag type="primary" class="mr10 tag1">鍙戝崟鏂�</el-tag>
               <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">鎺ュ崟鏂�</el-tag>
             </div>
@@ -41,7 +40,7 @@
               <span class="m10" v-if="item.type ==0">鐢ㄥ伐璁よ瘉</span>
               <span class="m10" v-if="item.type ==1">璐ц繍璁よ瘉</span>
               <span class="m10" v-if="item.type ==2">渚涢璁よ瘉</span>
-              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">璁よ瘉涓�</el-tag>
+              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">鐢宠涓�</el-tag>
               <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">璁よ瘉閫氳繃</el-tag>
               <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">璁よ瘉澶辫触</el-tag>
           </div>
@@ -50,6 +49,7 @@
               <span class="label"> 璁よ瘉绫诲瀷锛�</span> <span class="txt">{{item.authType == 0? '涓汉':'浼佷笟' }}</span>
               <span class="label"> 鑱旂郴浜猴細</span> <span class="txt">{{item.linkName || '' }}</span>
               <span class="label"> 鑱旂郴鏂瑰紡锛�</span> <span class="txt">{{item.telephone || '' }}</span>
+              <span class="label"> 鐢宠鏃堕棿锛�</span> <span class="txt">{{item.createTime || '' }}</span>
             </div>
             <template v-if="item.authType ==1">
               <div class="line">
@@ -74,6 +74,15 @@
           </div>
           </div>
         </div>
+      <div class="line bottom"  v-if="tableData2&& tableData2.length>0 && tableData2[0].auditStatus == 1 && containPermissions(['business:identityinfo:audit'])"   >
+        <el-form :model="form" ref="formCheck" :rules="rules">
+          <el-form-item label="璁よ瘉瀹℃牳璇存槑" style="font-size: 14px" prop="auditRemark">
+            <el-input  type="textarea" rows="5" v-model="form.auditRemark" placeholder="璇疯緭鍏ヨ璇佸鏍稿娉�" v-trim/>
+          </el-form-item>
+        </el-form>
+        <el-button @click="checkDo(2)" type="primary" class="status-red">鍚屾剰</el-button>
+        <el-button  @click="checkDo(3)" type="danger" >鎷掔粷</el-button>
+      </div>
     </div>
   </GlobalWindow>
 </template>
@@ -82,7 +91,7 @@
 import GlobalWindow from '@/components/common/GlobalWindow'
 import BaseOpera from '@/components/base/BaseOpera'
 import { getById } from '@/api/business/member'
-import { fetchList as renzhengList} from '@/api/business/identityInfo'
+import { fetchList as renzhengList,audit } from '@/api/business/identityInfo'
 export default {
   components: {
     GlobalWindow
@@ -90,6 +99,11 @@
   extends: BaseOpera,
   data () {
     return {
+      form: {
+        id: null,
+        auditRemark: null
+      },
+      rules: { auditRemark: [{ required: true, message: '璇疯緭鍏ヨ璇佸鏍稿娉�' }] },
       id: '',
       memberId: '',
       visible: false,
@@ -101,7 +115,7 @@
       total: 0,
       tableData: {},
       tableData1: {},
-      tableData2:[],
+      tableData2: [],
       page0: 1,
       page1: 1,
       loading: false,
@@ -129,6 +143,7 @@
       this.tableData1 = {}
       this.tableData2 = []
       this.id = row.id
+      this.form.id = this.id
       this.memberId = row.memberId
       this.searchForm = {
         type: 0,
@@ -152,12 +167,37 @@
     close () {
 
     },
+    checkDo (status) {
+      console.log( this.$refs.formCheck.length)
+      this.$refs.formCheck.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        this.$dialog.actionConfirm('鎮ㄧ‘璁ゃ��' + (status === 3 ? '鎷掔粷' : '鍚屾剰') + '銆戣鐢宠鍚楋紵','鎿嶄綔纭')
+          .then(() => {
+            this.dealing = true
+            audit({
+              id: this.id,
+              auditStatus: status,
+              auditRemark: this.form.auditRemark
+            })
+              .then(res => {
+                this.$tip.apiSuccess('澶勭悊鎴愬姛')
+                this.getData()
+                this.isShowProblem = false
+              })
+              .finally(() => {
+                this.dealing = false
+              })
+          })
+      })
+    },
     getRenzhengList () {
       this.loading = true
       renzhengList({
         page: 1,
         capacity: 1000000,
-        model:{
+        model: {
           memberId: this.memberId || -1,
           id: this.id || -1
         }
@@ -176,6 +216,15 @@
 
 <style lang="scss" scoped>
 @import '@/assets/style/variables.scss';
+.bottom{
+  text-align: center;
+  display: block;
+  height: auto;
+  background-color: #e4ecfe;
+  width: calc(100% - 32px);
+  z-index: 999;
+  padding: 16px;
+}
 .renzheng{
   margin: 0px 0px 50px 20px;
   width: calc(100% - 60px);
diff --git a/admin/src/components/business/OperaMemberDetailWindow.vue b/admin/src/components/business/OperaMemberDetailWindow.vue
index 33d525e..7b5a453 100644
--- a/admin/src/components/business/OperaMemberDetailWindow.vue
+++ b/admin/src/components/business/OperaMemberDetailWindow.vue
@@ -7,7 +7,7 @@
     :confirm-working="isWorking"
     @close="close"
     @confirm="confirm">
-    <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
+    <div style="width: calc(100% - 32px); position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
       <div style="display: flex;background: #e4ecfe;padding: 20px">
         <div style="width: 60px;">
           <div class="home_title" v-if="info">
@@ -21,8 +21,7 @@
         <div style="width: calc(100% - 60px);">
           <div class="home_title" v-if="info">
             <div class="left">
-              <span class="m10">鏄电О锛歿{info.nickName }}</span>
-              <span class="mr10 bluebtn" :title="'濮撳悕锛�'+(info.name||'鏈缃鍚�')"  >({{(info.name||'鏈缃鍚�') }})</span>
+              <span class="m10">鏄电О锛歿{info.nickName }}  <span class="ml10 bluebtn" :title="'濮撳悕锛�'+(info.name||'鏈缃鍚�')"  >({{(info.name||'鏈缃鍚�') }})</span></span>
               <el-tag type="primary" class="mr10 tag1">鍙戝崟鏂�</el-tag>
               <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">鎺ュ崟鏂�</el-tag>
             </div>
@@ -141,7 +140,7 @@
               <span class="m10" v-if="item.type ==0">鐢ㄥ伐璁よ瘉</span>
               <span class="m10" v-if="item.type ==1">璐ц繍璁よ瘉</span>
               <span class="m10" v-if="item.type ==2">渚涢璁よ瘉</span>
-              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">璁よ瘉涓�</el-tag>
+              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">鐢宠涓�</el-tag>
               <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">璁よ瘉閫氳繃</el-tag>
               <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">璁よ瘉澶辫触</el-tag>
           </div>
@@ -150,6 +149,7 @@
               <span class="label"> 璁よ瘉绫诲瀷锛�</span> <span class="txt">{{item.authType == 0? '涓汉':'浼佷笟' }}</span>
               <span class="label"> 鑱旂郴浜猴細</span> <span class="txt">{{item.linkName || '' }}</span>
               <span class="label"> 鑱旂郴鏂瑰紡锛�</span> <span class="txt">{{item.telephone || '' }}</span>
+              <span class="label"> 鐢宠鏃堕棿锛�</span> <span class="txt">{{item.createTime || '' }}</span>
             </div>
             <template v-if="item.authType ==1">
               <div class="line">
diff --git a/admin/src/views/business/identityInfo.vue b/admin/src/views/business/identityInfo.vue
index 04c95b3..ff07962 100644
--- a/admin/src/views/business/identityInfo.vue
+++ b/admin/src/views/business/identityInfo.vue
@@ -46,7 +46,13 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
-
+        <el-table-column prop="auditStatus" label="瀹℃牳鐘舵��" min-width="100px" fixed="left">
+          <template slot-scope="{row}">
+            <span class="bluestate" v-if="row.auditStatus ==1">鐢宠涓�</span>
+            <span class="greenstate" v-if="row.auditStatus ==2">宸查�氳繃</span>
+            <span class="redstate" v-if="row.auditStatus ==3">鏈�氳繃</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column>
         <el-table-column prop="memberName" label="浼氬憳鏄电О" min-width="100px"></el-table-column>
         <el-table-column prop="type" label="绫诲瀷" min-width="100px">
@@ -54,13 +60,6 @@
            <span v-if="row.type ==0">鐢ㄥ伐韬唤</span>
            <span v-if="row.type ==1">璐ц繍韬唤</span>
            <span v-if="row.type ==2">渚涢韬唤</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="auditStatus" label="瀹℃牳鐘舵��" min-width="100px">
-          <template slot-scope="{row}">
-            <span class="bluestate" v-if="row.auditStatus ==1">鐢宠涓�</span>
-            <span class="greenstate" v-if="row.auditStatus ==2">宸查�氳繃</span>
-            <span class="redstate" v-if="row.auditStatus ==3">鏈�氳繃</span>
           </template>
         </el-table-column>
         <el-table-column prop="authType" label="璁よ瘉绫诲瀷" min-width="100px">
diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue
index d4a8b24..be349a1 100644
--- a/admin/src/views/business/member.vue
+++ b/admin/src/views/business/member.vue
@@ -77,7 +77,7 @@
             </el-switch>
           </template>
         </el-table-column>
-<!--       <el-table-column
+      <el-table-column
               v-if="containPermissions(['business:member:update', 'business:member:delete'])"
               label="鎿嶄綔"
               min-width="120"
@@ -87,7 +87,7 @@
             <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>
           </template>
-        </el-table-column>-->
+        </el-table-column>
       </el-table>
       <pagination
         @size-change="handleSizeChange"
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java b/server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java
index 7ea95d9..5cf29cc 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java
@@ -37,7 +37,6 @@
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @ExcelColumn(name="鍒涘缓鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createTime;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -46,7 +45,6 @@
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
     @ExcelColumn(name="鏇存柊鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date updateTime;
 
     @ApiModelProperty(value = "澶囨敞")
@@ -111,7 +109,6 @@
 
     @ApiModelProperty(value = "璁よ瘉瀹℃壒鏃堕棿")
     @ExcelColumn(name="璁よ瘉瀹℃壒鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date auditTime;
 
     @ApiModelProperty(value = "璁よ瘉瀹℃壒澶囨敞")
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
index 0961efe..5f6cd0b 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -286,7 +286,7 @@
             queryWrapper.le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.eq(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.like(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getType() != null) {
             queryWrapper.eq(IdentityInfo::getType, pageWrap.getModel().getType());
@@ -298,16 +298,16 @@
             queryWrapper.eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType());
         }
         if (pageWrap.getModel().getLinkName() != null) {
-            queryWrapper.eq(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
+            queryWrapper.like(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
         }
         if (pageWrap.getModel().getTelephone() != null) {
-            queryWrapper.eq(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
+            queryWrapper.like(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
         }
         if (pageWrap.getModel().getLocation() != null) {
-            queryWrapper.eq(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
+            queryWrapper.like(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
         }
         if (pageWrap.getModel().getCompanyName() != null) {
-            queryWrapper.eq(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
+            queryWrapper.like(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
         }
         if (pageWrap.getModel().getLat() != null) {
             queryWrapper.eq(IdentityInfo::getLat, pageWrap.getModel().getLat());
@@ -323,15 +323,10 @@
             queryWrapper.le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime()));
         }
         if (pageWrap.getModel().getAuditRemark() != null) {
-            queryWrapper.eq(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark());
+            queryWrapper.like(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.orderByAsc(IdentityInfo::getAuditStatus );
+        queryWrapper.orderByDesc(IdentityInfo::getCreateTime );
         PageData<IdentityInfo> result = PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper));
         if(result!=null && result.getRecords()!=null){
             String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()

--
Gitblit v1.9.3