Commit e2a5a329 authored by guoyou's avatar guoyou

股东列表

parent d925a7af
...@@ -195,4 +195,31 @@ export function updAddPositionChangeRecord(params) { ...@@ -195,4 +195,31 @@ export function updAddPositionChangeRecord(params) {
// method: 'post', // method: 'post',
// data: params // data: params
// }); // });
// } // }
\ No newline at end of file
// 股东列表
export function stockholderList(query) {
return fetch({
url: 'api/admin/appShareholder/page',
method: 'post',
data: query
});
}
// 新增股东
export function addUserPostion(query) {
return fetch({
url: 'api/admin/appShareholder/addUserPostion',
method: 'post',
data: query
});
}
// 批量导入
export function exports(query) {
return fetch({
url: 'api/admin/appShareholder/export',
method: 'post',
data: query
});
}
\ No newline at end of file
...@@ -801,6 +801,12 @@ export const asyncRouterMap = [{ ...@@ -801,6 +801,12 @@ export const asyncRouterMap = [{
component: _import('interior/employeesInput'), component: _import('interior/employeesInput'),
name: '员工录入', name: '员工录入',
authority: 'employeesInput' authority: 'employeesInput'
},
{
path: 'shareholder',
component: _import('interior/shareholder'),
name: '股东列表',
authority: 'shareholder'
} }
] ]
} }
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input> <el-input v-model="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input> <el-input v-model="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -103,10 +103,10 @@ ...@@ -103,10 +103,10 @@
<el-dialog :title="staffTitle" :visible.sync="bulkUploadMember" class="member" @close="closeAdd"> <el-dialog :title="staffTitle" :visible.sync="bulkUploadMember" class="member" @close="closeAdd">
<el-form :model="staffTitleFrom" ref="userMembership" :rules="rules" label-width="100px"> <el-form :model="staffTitleFrom" ref="userMembership" :rules="rules" label-width="100px">
<el-form-item label="员工姓名"> <el-form-item label="员工姓名">
<el-input v-model.number="staffTitleFrom.name" placeholder="请输入姓名"></el-input> <el-input v-model="staffTitleFrom.name" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input> <el-input v-model="staffTitleFrom.phone" placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="入职日期" v-show="staffTitle == '新增员工'"> <el-form-item label="入职日期" v-show="staffTitle == '新增员工'">
<el-date-picker <el-date-picker
...@@ -866,7 +866,6 @@ export default { ...@@ -866,7 +866,6 @@ export default {
if(data.status == 200){ if(data.status == 200){
this.staffInfo.record = data.data this.staffInfo.record = data.data
} }
}) })
}, },
//确定 //确定
......
<template>
<div class="app-container calendar-list-container">
<div class="filter-container" v-loading="loading">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="姓名">
<el-input v-model="listQuery.name" placeholder="请输入股东姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="手机号">
<el-input v-model="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="分公司">
<el-select v-model="listQuery.companyId" clearable placeholder="请选择">
<el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="身份">
<el-select class="filter-item" v-model="listQuery.positionId" placeholder="请选员工身份">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in statusList"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" @click="cleaningQuery">清除搜索条件</el-button>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="addData">新增股东</el-button>
<el-button class="filter-item" type="primary" @click="toLoad">批量导入股东</el-button>
</el-form>
<!--批量导入会员窗口-->
<el-dialog title="导入股东" :visible.sync="tolead">
<el-form :model="fileForm">
<el-form-item label="上传文件" label-width="80px">
<el-button type="primary" icon="el-icon-download">
<a class="el-icon-download" href="https://mgmt.dfangche.com/axshare/gudongdaoru.xlsx">下载模板</a>
</el-button>
<el-upload
ref="uploadExcel"
:limit="limitNum"
action
:headers="getHeaderWithToken"
accept=".xlsx"
:http-request="upLoad"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:before-upload="beforeUploadFile"
:on-change="fileChange"
:on-exceed="exceedFile"
:file-list="fileList"
>
<el-button size="small" type="primary" icon="el-icon-edit">
上传文件
<i class="el-icon-upload el-icon--right"></i>
</el-button>
<div slot="tip" class="el-upload__tip">只能上传xlsx(Excel2007以上版本)文件,且不超过10M</div>
</el-upload>
<el-button size="small" class="filter-item" type="primary" @click="cancelNotDeleteForm">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 提示 -->
<el-dialog title="上传提示" :visible.sync="uploadHiut">
<p>
上传成功:
<b>{{uploadListHiut.success}}</b>条,上传失败:
<b>{{uploadListHiut.error}}</b>
</p>
<ul class="defeated">
<li v-for="(item,index) in uploadListHiut.uploadList" :key="index">
<p>
失败行数:
<span>{{item.num}}</span>,失败原因:
<span>{{item.msg}}</span>
</p>
</li>
</ul>
</el-dialog>
<!-- 新增 || 编辑股东 -->
<el-dialog :title="addPopTitle" :visible.sync="addPop" class="member" @close="closeAdd">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="姓名">
<el-input v-model="ruleForm.name" placeholder="请输入股东姓名"></el-input>
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="ruleForm.phone" placeholder="请输入股东姓名"></el-input>
</el-form-item>
<el-form-item label="入股日期">
<el-date-picker v-model="time" type="date" placeholder="选择日期" style="width:100%"></el-date-picker>
</el-form-item>
<el-form-item label="入股公司">
<el-select v-model="ruleForm.companyList" multiple placeholder="请选择" style="width:100%">
<el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="状态" v-show="addPopTitle == '编辑'">
<el-input v-model="ruleForm.name" placeholder="持股中" style="width:90%" disabled></el-input>
<el-button type="text" @click="amend">修改</el-button>
</el-form-item>-->
<el-row style="text-align:center">
<el-button type="primary" @click="submitBtn">确定</el-button>
<el-button type="primary" @click="addPop = false">取消</el-button>
</el-row>
</el-form>
</el-dialog>
<el-dialog :title="shareTitle == 1 ? '入股时间' : '退股时间'" :visible.sync="sharePop" class="member">
<el-date-picker
v-model="listQuery.name"
type="date"
:placeholder="+shareTitle == 1 ? '请选择入股时间' : '请选择退股时间'"
style="width:100%"
></el-date-picker>
<el-row style="text-align:center;margin-top:20px">
<el-button type="primary" @click="shareBtn">确定</el-button>
<el-button type="primary" @click="sharePop = false">取消</el-button>
</el-row>
</el-dialog>
<!-- 表格数据 -->
<el-table :key="tableKey" :data="list" border fit highlight-current-row style="width: 100%">
<el-table-column label="序号" align="center" width="70">
<template scope="scope">
<span>{{scope.$index+(listQuery.page - 1) * listQuery.limit + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="companyName" label="入股公司" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></el-table-column>
<el-table-column prop="isQuit" label="状态" align="center">
<template scope="scope">
<span>{{scope.row.isQuit == 0 ? '持股中' :'已退股'}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" fixed="right">
<template scope="scope">
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="infoStaff(scope.row)"
>详情</el-button>
<!-- <el-button
size="small"
class="el-button el-button--text el-button--small"
@click="editorStaff(scope.row)"
>编辑</el-button> -->
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="listQuery.page"
:page-sizes="[10,20,30, 50]"
:page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
style="margin-top:20px"
></el-pagination>
<!-- 员工详情 S -->
<el-dialog title="员工信息详情" :visible.sync="infoPop" class="member">
<p class="title">基础信息</p>
<p class="staff-info">
<span>
<b>姓名:</b>
{{staffInfo.info.name}}
</span>
<span>
<b>手机号:</b>
{{staffInfo.info.phone}}
</span>
<span>
<b>状态:</b>
{{staffInfo.info.isQuit == 1?"已退股":'持股中'}}
</span>
<span>
<b>入股公司:</b>
{{staffInfo.info.companyName}}
</span>
</p>
<!-- <p class="title" style="margin-top:20px">股权变动</p> -->
<!-- <p v-for="(item,index) in staffInfo.record" :key="index">
<b v-show="!!item.jobRemark">{{item.relTime}}</b>
<span v-if="item.jobRemark == 1" v-show="!!item.relTime">入职</span>
<span v-else-if="item.jobRemark == 4">(人事调动) {{item.oldCompanyName}} => {{item.newCompanyName}}</span>
<span v-else-if="item.jobRemark == 2">(职位变更) {{item.oldJobName}} => {{item.newJobName}}</span>
<span
v-else-if="item.jobRemark == 3"
>(身份变更) {{item.oldPositionName}} => {{item.newPositionName}}</span>
<span v-else-if="item.jobRemark == 5">离职</span>
<span v-else-if="item.jobRemark == 6">复职</span>
</p>-->
</el-dialog>
<!-- 员工详情 E -->
</div>
</div>
</template>
<script>
import { getAll } from 'api/base_info/branch_company'
import { getrewardSetting } from 'api/purseManage'
import { getToken } from 'src/utils/auth'
import {
stockholderList,
addUserPostion,
exports
} from 'src/api/admin/userManagement/index'
import { formatDate } from 'utils/dateFormattor'
export default {
created() {
this.getList()
this.getAllFn()
this.getRank()
},
computed: {
getHeaderWithToken() {
return { Authorization: getToken() }
}
},
data() {
return {
infoPop: false,
time: null,
sharePop: false,
shareTitle: 1,
BASE_API: process.env.BASE_API,
tableKey: 0,
total: null,
list: [],
ruleForm: {
name: null,
phone: null,
companyList: [],
relTime: null
},
rules: {},
addPopTitle: '新增',
addPop: false,
uploadListHiut: {
uploadList: [],
success: '',
error: ''
},
uploadHiut: false,
limitNum: 1,
fileList: [],
tolead: false, //批量导入
loading: false,
companyList: [], //分公司
statusList: [], //身份
listQuery: {
name: null,
phone: null,
companyId: null,
positionId: null,
page: 1,
limit: 10
},
fileForm: {
file: ''
},
staffInfo: {
info: {},
record: []
}
}
},
methods: {
closeAdd() {
this.time = null
this.ruleForm={
name: null,
phone: null,
companyList: [],
relTime: null
}
},
//入股 退股时间
shareBtn() {},
//详情
infoStaff(row) {
this.infoPop = true
this.staffInfo.info = row
},
//编辑
editorStaff() {},
//新增,编辑
submitBtn() {
if (
!this.ruleForm.name ||
!this.ruleForm.phone ||
!this.ruleForm.companyList ||
!this.time
) {
this.$message('必填项不能为空')
} else {
if (this.addPopTitle == '新增') {
this.ruleForm.relTime =
formatDate(this.time, 'yyyy-MM-dd') + ' 00:00:00'
addUserPostion(this.ruleForm).then(data => {
if (data.status == 200) {
this.$message.success('新增成功')
this.addPop = false
this.getList()
} else {
this.$message.error(data.message)
}
})
}
}
},
handleSizeChange(val) {
this.listQuery.limit = val
this.getList()
},
handleCurrentChange(val) {
this.listQuery.page = val
this.getList()
},
//修改分公司
amend() {},
//新增股东
addData() {
this.addPopTitle = '新增'
this.addPop = true
},
//分公司
getAllFn() {
getAll().then(data => {
if (data.status == 200) {
this.companyList = data.data
this.companyList.unshift({ name: '全部', id: '' })
}
})
},
//搜索
handleFilter() {
this.listQuery.page = 1
this.getList()
},
//清空搜索
cleaningQuery() {
this.listQuery = {
name: null,
phone: null,
companyId: null,
positionId: null,
page: 1,
limit: 10
}
this.getList()
},
getList() {
this.loading = true
stockholderList(this.listQuery).then(data => {
if (data.status == 200) {
this.list = data.data.data
this.total = data.data.totalCount
}
setTimeout(() => {
this.loading = false
}, 300)
})
},
//获取身份
getRank() {
getrewardSetting().then(data => {
if (data.status == 200) {
this.statusList = data.data
}
})
},
upLoad(file) {
var form = new FormData()
// 文件对象
form.append('file', file.file)
exports(form).then(res => {
console.log(res)
this.uploadHiut = true
;(this.uploadListHiut = {
uploadList: res.data.data,
success: res.data.success,
error: res.data.error
}),
this.getList()
})
},
// 文件超出个数限制时的钩子
exceedFile(files, fileList) {
this.$notify.warning({
title: '警告',
message: `只能选择 ${
this.limitNum
} 个文件,当前共选择了 ${files.length + fileList.length} 个`
})
},
cancelNotDeleteForm() {
this.tolead = false
this.$refs.uploadExcel.clearFiles()
},
//批量导入员工
toLoad() {
this.tolead = true
},
fileChange(file, fileList) {
//console.log("change");
//console.log(file);
this.fileForm.file = file.raw
//console.log(this.fileForm.file);
// console.log(fileList);
},
//excel上传
handleRemove(file, fileList) {
//console.log(file, fileList);
},
handlePreview(file) {
//console.log(file);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`)
},
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
beforeUploadFile(file) {
//console.log("before upload");
//console.log(file);
let extension = file.name.substring(file.name.lastIndexOf('.') + 1)
let size = file.size / 1024 / 1024
if (extension !== 'xlsx') {
this.$notify.warning({
title: '警告',
message: `只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
})
}
if (size > 10) {
this.$notify.warning({
title: '警告',
message: `文件大小不得超过10M`
})
}
}
}
}
</script>
<style>
.title {
color: #666;
border-bottom: 1px solid #d9d9d9;
padding-bottom: 10px;
}
.staff-info span {
display: inline-block;
margin: 10px 20px 0 0;
}
.member .el-dialog--small {
width: 500px;
}
.defeated {
padding: 0;
}
.defeated li {
list-style: none;
}
</style>
\ No newline at end of file
...@@ -681,7 +681,7 @@ ...@@ -681,7 +681,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="交强险单号" prop="strongInsuranceNo"> <el-form-item label="交强险单号" prop="strongInsuranceNo">
<el-input v-model.number="form.strongInsuranceNo" placeholder="请输入交强险单号"></el-input> <el-input v-model="form.strongInsuranceNo" placeholder="请输入交强险单号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment