From 6461a670fb8b3c7db3a74e0159727b5940808348 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 14 五月 2024 18:11:45 +0800
Subject: [PATCH] 最新版本

---
 admin/src/api/business/member.js                          |    3 +
 admin/src/components/business/OperaMemberWindow.vue       |   13 +++-
 admin/src/components/business/OperaMemberImportWindow.vue |   82 +++++++++++++++++++++++++++
 admin/src/views/business/relativeMember.vue               |   12 ++-
 admin/src/views/business/userAction.vue                   |   24 ++------
 admin/src/assets/style/style.scss                         |   30 ++++++++++
 admin/public/template/member.xlsx                         |    0 
 admin/public/template/traintime.xlsx                      |    0 
 admin/src/views/business/internalMember.vue               |    3 
 9 files changed, 140 insertions(+), 27 deletions(-)

diff --git a/admin/public/template/member.xlsx b/admin/public/template/member.xlsx
new file mode 100644
index 0000000..5516abc
--- /dev/null
+++ b/admin/public/template/member.xlsx
Binary files differ
diff --git a/admin/public/template/traintime.xlsx b/admin/public/template/traintime.xlsx
new file mode 100644
index 0000000..5516abc
--- /dev/null
+++ b/admin/public/template/traintime.xlsx
Binary files differ
diff --git a/admin/src/api/business/member.js b/admin/src/api/business/member.js
index ffb978c..d100a64 100644
--- a/admin/src/api/business/member.js
+++ b/admin/src/api/business/member.js
@@ -45,6 +45,9 @@
 export function updateCanVisit (data) {
   return request.post('/visitsAdmin/cloudService/business/member/updateCanVisitById', data)
 }
+export function importExcel (data) {
+  return request.post('/visitsAdmin/cloudService/business/member/importExcel', data)
+}
 export function batchRoleAuth (data) {
   return request.post('/visitsAdmin/cloudService/business/member/batchRoleAuth', data)
 }
diff --git a/admin/src/assets/style/style.scss b/admin/src/assets/style/style.scss
index 44a053b..4718bce 100644
--- a/admin/src/assets/style/style.scss
+++ b/admin/src/assets/style/style.scss
@@ -93,4 +93,34 @@
 }
   .apply-status5,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4  {
   color: #00BA92  !important;
+
+}
+::v-deep  .el-dialog{
+    margin-top: 300px;
+  }
+.center-title .el-dialog__title {
+  text-align: center;
+  width: 100%;
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.tip {
+  em {
+    font-style: normal;
+    color: $primary-color;
+    font-weight: bold;
+  }
+}
+.tip-warn {
+  margin: 4px 0 12px 0;
+  font-size: 12px;
+  color: #999;
+  i {
+    color: orange;
+    margin-right: 4px;
+    font-size: 14px;
+    position: relative;
+    top: 1px;
+  }
 }
diff --git a/admin/src/components/business/OperaMemberImportWindow.vue b/admin/src/components/business/OperaMemberImportWindow.vue
new file mode 100644
index 0000000..d8ce699
--- /dev/null
+++ b/admin/src/components/business/OperaMemberImportWindow.vue
@@ -0,0 +1,82 @@
+<template>
+  <el-dialog
+      class="center-title"
+      :title="title"
+      width="500px"
+      top="30vh"
+      :visible.sync="visible"
+      :confirm-working="isWorking"
+      @confirm="confirm"
+  >
+    <p class="tip-warn"><i class="el-icon-warning"></i>瀵煎叆璇存槑锛�<br>
+      1.璇峰厛涓嬭浇鏂囦欢妯℃澘锛屽苟鎸夌収妯℃澘瑕佸幓濉啓琛ㄦ牸鍐呭;<br>
+    </p>
+    <el-form class="demo-form-inline" >
+      <el-form-item label="浜哄憳鍚嶅崟" required>
+        <div style="width: 100%;display: flex;align-items: center;">
+          <el-button type="primary" @click="clickRef">鐐瑰嚮涓婁紶</el-button>
+          <el-button type="text" @click="exportTemplate">鐐瑰嚮涓嬭浇妯$増.EXCEL</el-button>
+        </div>
+        <div style="font-size: 14px; color: black;" v-if="fileName">{{fileName}}</div>
+      </el-form-item>
+    </el-form>
+    <input type="file" style="position: fixed; left: 0; top: -50px;" accept=".xlsx" ref="fileExcel" @change="result" />
+    <template   v-slot:footer>
+      <el-button @click="visible=false">杩斿洖</el-button>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { importExcel } from '@/api/business/member'
+export default {
+  name: 'OperaMemberImportWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      fileName: '',
+      companyType: 0
+    }
+  },
+  methods: {
+    open (title, companyType) {
+      this.title = title
+      this.fileName = ''
+      this.visible = true
+      this.companyType = companyType
+    },
+    // 瀵煎嚭妯℃澘
+    exportTemplate () {
+      // 鎶曚繚鐢宠
+      window.open('/template/member.xlsx')
+    },
+    clickRef () {
+      this.$refs.fileExcel.click()
+    },
+    result (e) {
+      const data = new FormData()
+      data.append('file', e.target.files[0])
+      importExcel(data)
+        .then(res => {
+          this.$message.success('瀵煎叆鎴愬姛')
+          this.$emit('success')
+          this.visible = false
+        })
+        .catch(err => {
+          this.$message.error(err)
+          this.fileName = ''
+        })
+        .finally(() => {
+          this.$refs.fileExcel.value = null
+        })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue
index 19be014..c3eb8db 100644
--- a/admin/src/components/business/OperaMemberWindow.vue
+++ b/admin/src/components/business/OperaMemberWindow.vue
@@ -17,12 +17,16 @@
                   @change="handleChangeCompany"
                   :show-all-levels="false"
                   clearable
+                  filterable
                   :props="departprops"
               ></el-cascader>
+              <div style="font-size: 12px;color: #F56C6C"  >
+                娉細浠呮敮鎸侀�夋嫨 銆恵{companyType ===0?'鐩稿叧鏂圭粍缁�':'鍐呴儴缁勭粐'}}銆�
+              </div>
             </el-form-item>
             <el-form-item label="鎵嬫満鍙�" prop="phone">
                 <el-input v-model="form.phone" placeholder="璇疯緭鍏ユ墜鏈哄彿" v-trim/>
-              <div style="color: #F56C6C;font-size: 12px">锛堟敞锛氬憳宸ユ墜鏈哄彿灏嗕綔涓哄钩鍙扮櫥褰曡处鍙凤紝鍒濆瀵嗙爜涓虹郴缁熼粯璁ゅ瘑鐮侀厤缃」锛�</div>
+              <div style="color: #F56C6C;font-size: 12px">娉細鍛樺伐鎵嬫満鍙峰皢浣滀负骞冲彴鐧诲綍璐﹀彿锛屽垵濮嬪瘑鐮佷负绯荤粺榛樿瀵嗙爜閰嶇疆椤�</div>
             </el-form-item>
             <el-form-item label="韬唤璇佸彿" prop="idcardNo" v-if="form.id ==null">
                 <el-input v-model="form.idcardNo" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" v-trim/>
@@ -30,7 +34,7 @@
             <el-form-item label="淇敼韬唤璇佸彿" prop="idcardNoNew" v-if="form.id !=null">
                 <el-input v-model="form.idcardNoNew" placeholder="鍙慨鏀硅韩浠借瘉鍙�" v-trim/>
               <div style="font-size: 12px" v-if="form.id !=null">
-                锛堟敞锛氬綋鍓嶈韩浠借瘉鍙蜂负<span style="color: #F56C6C">銆恵{form.idcardDecode}}銆�</span>锛屽闇�淇敼锛岃鍦ㄨ緭鍏ユ爮濉啓鏂扮殑韬唤璇佸彿!锛�
+                娉細褰撳墠韬唤璇佸彿涓�<span style="color: #F56C6C">銆恵{form.idcardDecode}}銆�</span>锛屽闇�淇敼锛岃鍦ㄨ緭鍏ユ爮濉啓鏂扮殑韬唤璇佸彿!
               </div>
             </el-form-item>
             <el-form-item label="宸ュ彿" prop="code">
@@ -68,6 +72,7 @@
         value: 'id',
         checkStrictly: true
       },
+      companyType:0,
       department: [],
       // 琛ㄥ崟鏁版嵁
       form: {
@@ -113,10 +118,11 @@
      * @title 绐楀彛鏍囬
      * @target 缂栬緫鐨勫璞�
      */
-    open (title, target, depart) {
+    open (title, target, depart,companyType) {
       this.title = title
       this.department = depart
       this.visible = true
+      this.companyType = companyType
       // 鏂板缓
       if (target == null) {
         this.$nextTick(() => {
@@ -142,7 +148,6 @@
             }
           })
         }
-        console.log(that.form.company)
       })
     },
     // 涓婁紶鍥剧墖
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 6efb933..45a0ace 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -51,7 +51,8 @@
 <!--
                 <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">鍚屾</el-button></li>
 -->
-                <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐',null,department,1)"  icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li>
+                <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐',null,department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li>
+                <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆',department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li>
                 <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>
                 <li><el-button type="primary" v-permissions="['business:empower:create']"  @click="startEmpowerBatch()"  icon="el-icon-plus">涓嬪彂鎺堟潈</el-button></li>
             </ul>
diff --git a/admin/src/views/business/relativeMember.vue b/admin/src/views/business/relativeMember.vue
index 189b1d7..7c1440f 100644
--- a/admin/src/views/business/relativeMember.vue
+++ b/admin/src/views/business/relativeMember.vue
@@ -47,12 +47,14 @@
         </template>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create']">
+            <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create','business:traintime:create']">
 <!--
                 <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">鍚屾</el-button></li>
 -->
-                <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐',null,department,0)"  icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li>
-                <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>
+              <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐',null,department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li>
+              <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆',department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li>
+              <li><el-button type="primary" @click="$refs.OperaTrainTimeImportWindow.open('鍩硅鏈熷鍏�',department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:traintime:create']">鍩硅鏈熷鍏�</el-button></li>
+              <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>
                 <li><el-button type="primary" v-permissions="['business:empower:create']"  @click="startEmpowerBatch()"  icon="el-icon-plus">涓嬪彂鎺堟潈</el-button></li>
             </ul>
             <el-table
@@ -182,6 +184,7 @@
             <!--    鏌ョ湅浜哄憳寮�鍗¤褰�    -->
             <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" />
             <OperaMemberWindow ref="OperaMemberWindow" @success="handlePageChange" />
+            <OperaMemberImportWindow ref="OperaMemberImportWindow" @success="handlePageChange" />
             <OperaMemberRoleWindow ref="OperaMemberRoleWindow" @success="handlePageChange" />
         </template>
     </TableLayout1>
@@ -194,13 +197,14 @@
 import cardOpeningRecord from '@/components/business/cardOpeningRecord'
 import Tree from '@/components/common/Tree'
 import OperaMemberWindow from '@/components/business/OperaMemberWindow'
+import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow'
 import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow'
 import { fetchList } from '@/api/business/company'
 import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
 export default {
   name: 'internalMember',
   extends: BaseTable,
-  components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow },
+  components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow ,OperaMemberImportWindow},
   data () {
     return {
       TreeList: [],
diff --git a/admin/src/views/business/userAction.vue b/admin/src/views/business/userAction.vue
index acdbbdd..7e6109a 100644
--- a/admin/src/views/business/userAction.vue
+++ b/admin/src/views/business/userAction.vue
@@ -21,7 +21,7 @@
             <el-form-item label="鎵嬫満鍙�" prop="mobile">
                 <el-input v-model="searchForm.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿" @keypress.enter.native="search"></el-input>
             </el-form-item>
-            <el-form-item label="鍘嗗彶璐﹀彿鐘舵��" prop="beforeStatus">
+<!--            <el-form-item label="鍘嗗彶璐﹀彿鐘舵��" prop="beforeStatus">
                 <el-select v-model="searchForm.beforeStatus" placeholder="璇烽�夋嫨">
                     <el-option label="瑙e喕" :value="0"></el-option>
                     <el-option label="鍐荤粨" :value="1"></el-option>
@@ -34,7 +34,7 @@
                     <el-option label="鎵嬪姩绂诲満" :value="8"></el-option>
                     <el-option label="鍒犻櫎" :value="9"></el-option>
                 </el-select>
-            </el-form-item>
+            </el-form-item>-->
             <el-form-item label="鎿嶄綔绫诲瀷" prop="type">
                 <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
                     <el-option label="瑙e喕" :value="0"></el-option>
@@ -77,7 +77,7 @@
                     </template>
                 </el-table-column>
                 <el-table-column prop="mobile" label="鎵嬫満鍙�"></el-table-column>
-                <el-table-column label="鍘嗗彶鐘舵��">
+<!--                <el-table-column label="鍘嗗彶鐘舵��">
                     <template slot-scope="{row}">
                         <span v-if="row.beforeStatus === 0">瑙e喕</span>
                         <span v-else-if="row.beforeStatus === 1">鍐荤粨</span>
@@ -91,21 +91,9 @@
                         <span v-else-if="row.beforeStatus === 9">鍒犻櫎</span>
                         <span v-else>姝e父</span>
                     </template>
-                </el-table-column>
-                <el-table-column label="鎿嶄綔">
-                    <template slot-scope="{row}">
-                        <span v-if="row.type === 0">瑙e喕</span>
-                        <span v-if="row.type === 1">鍐荤粨</span>
-                        <span v-if="row.type === 2">鎷夐粦</span>
-                        <span v-if="row.type === 3">鎭㈠</span>
-                        <span v-if="row.type === 4">璁句负鎷滆浜�</span>
-                        <span v-if="row.type === 5">鍙栨秷鎷滆浜�</span>
-                        <span v-if="row.type === 6">璁句负楂樼骇瀹℃壒浜�</span>
-                        <span v-if="row.type === 7">鍙栨秷楂樼骇瀹℃壒浜�</span>
-                        <span v-if="row.type === 8">鎵嬪姩绂诲満</span>
-                        <span v-if="row.type === 9">鍒犻櫎</span>
-                    </template>
-                </el-table-column>
+                </el-table-column>-->
+              <el-table-column  prop="typeName" label="鎿嶄綔绫诲瀷" />
+              <el-table-column  prop="remark" label="鎿嶄綔鍐呭" width="350"/>
                 <el-table-column prop="createDate" label="鎿嶄綔鏃堕棿"></el-table-column>
             </el-table>
             <pagination

--
Gitblit v1.9.3