123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- <template>
- <a-modal
- :title="title"
- :width="1200"
- :visible="visible"
- @ok="handleOk"
- @cancel="handleCancel"
- cancelText="关闭">
- <div class="table-page-search-wrapper">
- <a-form layout="inline">
- <a-row :gutter="24">
- <a-col :span="6">
- <a-form-item label="账号">
- <a-input placeholder="请输入账号" v-model="queryParam.username"></a-input>
- </a-form-item>
- </a-col>
- <a-col :span="6">
- <a-form-item label="性别">
- <a-select v-model="queryParam.sex" placeholder="请选择性别">
- <a-select-option value="">请选择性别查询</a-select-option>
- <a-select-option value="1">男性</a-select-option>
- <a-select-option value="2">女性</a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- <template v-if="toggleSearchStatus">
- <a-col :span="6">
- <a-form-item label="邮箱">
- <a-input placeholder="请输入邮箱" v-model="queryParam.email"></a-input>
- </a-form-item>
- </a-col>
- <a-col :span="6">
- <a-form-item label="手机号码">
- <a-input placeholder="请输入手机号码" v-model="queryParam.phone"></a-input>
- </a-form-item>
- </a-col>
- <a-col :span="6">
- <a-form-item label="状态">
- <a-select v-model="queryParam.status" placeholder="请选择状态">
- <a-select-option value="">请选择状态</a-select-option>
- <a-select-option value="1">正常</a-select-option>
- <a-select-option value="2">解冻</a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- </template>
- <a-col :span="6" >
- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
- <a-button type="primary" @click="searchByquery" icon="search">查询</a-button>
- <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
- <a @click="handleToggleSearch" style="margin-left: 8px">
- {{ toggleSearchStatus ? '收起' : '展开' }}
- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
- </a>
- </span>
- </a-col>
- </a-row>
- </a-form>
- </div>
- <!-- update-begin author:kangxiaolin date:20190921 for:系统发送通知 用户多选失败 #513 -->
- <a-table
- ref="table"
- rowKey="id"
- :columns="columns"
- :dataSource="dataSource"
- :pagination="ipagination"
- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,onSelect:onSelect}"
- @change="handleTableChange"
- >
- <!-- update-end author:kangxiaolin date:20190921 for:系统发送通知 用户多选失败 #513 -->
- </a-table>
- </a-modal>
- </template>
- <script>
- import { filterObj } from '@/utils/util';
- import { getUserList } from '@/api/api'
- export default {
- name: "SelectUserListModal",
- components: {
- },
- data () {
- return {
- title:"选择用户",
- queryParam: {},
- columns: [{
- title: '用户账号',
- align:"center",
- dataIndex: 'username',
- fixed:'left',
- width:200
- },{
- title: '用户名称',
- align:"center",
- dataIndex: 'realname',
- },{
- title: '性别',
- align:"center",
- dataIndex: 'sex',
- customRender:function (text) {
- if(text==1){
- return "男";
- }else if(text==2){
- return "女";
- }else{
- return text;
- }
- }
- },{
- title: '手机号码',
- align:"center",
- dataIndex: 'phone'
- },{
- title: '邮箱',
- align:"center",
- dataIndex: 'email'
- },{
- title: '状态',
- align:"center",
- dataIndex: 'status',
- customRender:function (text) {
- if(text==1){
- return "正常";
- }else if(text==2){
- return "冻结";
- }else{
- return text;
- }
- }
- }],
- dataSource:[],
- ipagination:{
- current: 1,
- pageSize: 5,
- pageSizeOptions: ['5', '10', '20'],
- showTotal: (total, range) => {
- return range[0] + "-" + range[1] + " 共" + total + "条"
- },
- showQuickJumper: true,
- showSizeChanger: true,
- total: 0
- },
- isorter:{
- column: 'createTime',
- order: 'desc',
- },
- selectedRowKeys: [],
- selectionRows: [],
- visible:false,
- toggleSearchStatus:false,
- }
- },
- created() {
- this.loadData();
- },
- methods: {
- add (selectUser,userIds) {
- this.visible = true;
- this.edit(selectUser,userIds);
- },
- edit(selectUser,userIds){
- //控制台报错
- if(userIds&&userIds.length>0){
- this.selectedRowKeys = userIds.split(',');
- }else{
- this.selectedRowKeys = []
- }
- if(!selectUser){
- this.selectionRows=[]
- }else{
- var that=this;
- that.selectionRows=[];
- selectUser.forEach(function(record,index){
- console.log(record)
- that.selectionRows.push({id: that.selectedRowKeys[index],realname:record.label})
- })
- // this.selectionRows = selectUser;
- }
- },
- loadData (arg){
- if(arg===1){
- this.ipagination.current = 1;
- }
- let params = this.getQueryParams();//查询条件
- getUserList(params).then((res)=>{
- if(res.success){
- this.dataSource = res.result.records;
- this.ipagination.total = Number(res.result.total);
- }
- })
- },
- getQueryParams(){
- let param = Object.assign({}, this.queryParam,this.isorter);
- param.field = this.getQueryField();
- //--update-begin----author:scott---date:20190818------for:新建公告时指定特定用户翻页错误SelectUserListModal #379----
- // param.current = this.ipagination.current;
- // param.pageSize = this.ipagination.pageSize;
- param.pageNo = this.ipagination.current;
- param.pageSize = this.ipagination.pageSize;
- //--update-end----author:scott---date:20190818------for:新建公告时指定特定用户翻页错误SelectUserListModal #379---
- return filterObj(param);
- },
- getQueryField(){
- let str = "id,";
- for(let a = 0;a<this.columns.length;a++){
- str+=","+this.columns[a].dataIndex;
- }
- return str;
- },
- //--update-begin----author:kangxiaolin---date:20190921------for:系统发送通知 用户多选失败 #513----
- onSelectChange (selectedRowKeys) {
- this.selectedRowKeys = selectedRowKeys;
- },
- onSelect(record, selected){
- if(selected == true ){
- this.selectionRows.push(record);
- }else {
- this.selectionRows.forEach(function(item,index,arr){
- if(item.id == record.id) {
- arr.splice(index, 1);
- }
- })
- }
- //--update-end----author:kangxiaolin---date:20190921------for:系统发送通知 用户多选失败 #513----
- },
- searchReset(){
- let that = this;
- Object.keys(that.queryParam).forEach(function(key){
- that.queryParam[key] = '';
- });
- that.loadData(1);
- },
- handleTableChange(pagination, filters, sorter){
- //TODO 筛选
- if (Object.keys(sorter).length>0){
- this.isorter.column = sorter.field;
- this.isorter.order = "ascend"==sorter.order?"asc":"desc"
- }
- this.ipagination = pagination;
- this.loadData();
- },
- handleCancel () {
- this.selectionRows = [];
- this.selectedRowKeys = [];
- this.visible = false;
- },
- handleOk () {
- this.$emit("choseUser",this.selectionRows);
- this.handleCancel();
- },
- searchByquery(){
- this.loadData(1);
- },
- handleToggleSearch(){
- this.toggleSearchStatus = !this.toggleSearchStatus;
- },
- }
- }
- </script>
- <style scoped>
- .ant-card-body .table-operator{
- margin-bottom: 18px;
- }
- .ant-table-tbody .ant-table-row td{
- padding-top:15px;
- padding-bottom:15px;
- }
- .anty-row-operator button{margin: 0 5px}
- .ant-btn-danger{background-color: #ffffff}
- .ant-modal-cust-warp{height: 100%}
- .ant-modal-cust-warp .ant-modal-body{height:calc(100% - 110px) !important;overflow-y: auto}
- .ant-modal-cust-warp .ant-modal-content{height:90% !important;overflow-y: hidden}
- .anty-img-wrap{height:25px;position: relative;}
- .anty-img-wrap > img{max-height:100%;}
- </style>
|