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