From bdee6fec40993873c7031e8c983cbc561d079157 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 17 七月 2025 16:19:06 +0800
Subject: [PATCH] 点检导出按钮
---
src/views/system/UserList.vue | 518 ++++++++++++++++++++++++--------------------------------
1 files changed, 224 insertions(+), 294 deletions(-)
diff --git a/src/views/system/UserList.vue b/src/views/system/UserList.vue
index 47e9d00..d2a35e1 100644
--- a/src/views/system/UserList.vue
+++ b/src/views/system/UserList.vue
@@ -6,71 +6,54 @@
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
- <a-col :md="6" :sm="12">
- <a-form-item label="璐﹀彿">
- <!--<a-input placeholder="璇疯緭鍏ヨ处鍙锋煡璇�" v-model="queryParam.username"></a-input>-->
- <j-input placeholder="杈撳叆璐﹀彿妯$硦鏌ヨ" v-model="queryParam.username"></j-input>
+ <a-col :md="4" :sm="6">
+ <a-form-item label="鐢ㄦ埛璐﹀彿">
+ <j-input placeholder="杈撳叆鐢ㄦ埛璐﹀彿妯$硦鏌ヨ" v-model="queryParam.username"/>
</a-form-item>
</a-col>
- <a-col :md="6" :sm="8">
- <a-form-item label="鎬у埆">
- <a-select v-model="queryParam.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <a-col :md="4" :sm="6">
+ <a-form-item label="鐢ㄦ埛濮撳悕">
+ <a-input placeholder="璇疯緭鍏ョ敤鎴峰鍚�" v-model="queryParam.realname"/>
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="4" :sm="6">
+ <a-form-item label="宀椾綅">
+ <j-dict-select-tag v-model="queryParam.post" placeholder="璇烽�夋嫨宀椾綅" dict-code="sys_position,name,code"/>
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="4" :sm="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-option value="1">姝e父</a-select-option>
+ <a-select-option value="2">鍐荤粨</a-select-option>
</a-select>
</a-form-item>
</a-col>
-
- <template v-if="toggleSearchStatus">
- <a-col :md="6" :sm="8">
- <a-form-item label="鐪熷疄鍚嶅瓧">
- <a-input placeholder="璇疯緭鍏ョ湡瀹炲悕瀛�" v-model="queryParam.realname"></a-input>
- </a-form-item>
- </a-col>
-
- <a-col :md="6" :sm="8">
- <a-form-item label="鎵嬫満鍙风爜">
- <a-input placeholder="璇疯緭鍏ユ墜鏈哄彿鐮佹煡璇�" v-model="queryParam.phone"></a-input>
- </a-form-item>
- </a-col>
-
- <a-col :md="6" :sm="8">
- <a-form-item label="鐢ㄦ埛鐘舵��">
- <a-select v-model="queryParam.status" placeholder="璇烽�夋嫨">
- <a-select-option value="">璇烽�夋嫨</a-select-option>
- <a-select-option value="1">姝e父</a-select-option>
- <a-select-option value="2">鍐荤粨</a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- </template>
-
- <a-col :md="6" :sm="8">
+ <a-col :md="4" :sm="6">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" 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>
<!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
<div class="table-operator" style="border-top: 5px">
- <a-button @click="handleAdd" type="primary" icon="plus" >娣诲姞鐢ㄦ埛</a-button>
+ <a-button @click="handleAdd" type="primary" icon="plus">娣诲姞鐢ㄦ埛</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('鐢ㄦ埛淇℃伅')">瀵煎嚭</a-button>
- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+ <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
+ @change="handleImportExcel">
<a-button type="primary" icon="import">瀵煎叆</a-button>
</a-upload>
- <j-third-app-button biz-type="user" :selected-row-keys="selectedRowKeys" syncToApp syncToLocal @sync-finally="onSyncFinally"/>
+ <j-third-app-button biz-type="user" :selected-row-keys="selectedRowKeys" syncToApp syncToLocal
+ @sync-finally="onSyncFinally"/>
<a-button type="primary" icon="hdd" @click="recycleBinVisible=true">鍥炴敹绔�</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay" @click="handleMenuClick">
@@ -98,7 +81,8 @@
<!-- table鍖哄煙-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
- <i class="anticon anticon-info-circle ant-alert-icon"></i>宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+ <i class="anticon anticon-info-circle ant-alert-icon"></i>宸查�夋嫨 <a style="font-weight: 600">{{
+ selectedRowKeys.length }}</a>椤�
<a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
</div>
@@ -114,16 +98,16 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange">
- <template slot="avatarslot" slot-scope="text, record, index">
+ <template slot="avatarslot" slot-scope="text, record">
<div class="anty-img-wrap">
<a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>
</div>
</template>
<span slot="action" slot-scope="text, record">
- <a @click="handleEdit(record)" >缂栬緫</a>
+ <a @click="handleEdit(record)">缂栬緫</a>
- <a-divider type="vertical" />
+ <a-divider type="vertical"/>
<a-dropdown>
<a class="ant-dropdown-link">
@@ -181,18 +165,18 @@
import UserModal from './modules/UserModal'
import PasswordModal from './modules/PasswordModal'
- import {putAction,getFileAccessHttpUrl} from '@/api/manage';
- import {frozenBatch} from '@/api/api'
- import {JeecgListMixin} from '@/mixins/JeecgListMixin'
- import SysUserAgentModal from "./modules/SysUserAgentModal";
+ import { putAction, getFileAccessHttpUrl } from '@/api/manage'
+ import { frozenBatch } from '@/api/api'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import SysUserAgentModal from './modules/SysUserAgentModal'
import JInput from '@/components/jeecg/JInput'
import UserRecycleBinModal from './modules/UserRecycleBinModal'
import JSuperQuery from '@/components/jeecg/JSuperQuery'
import JThirdAppButton from '@/components/jeecgbiz/thirdApp/JThirdAppButton'
- import {mapActions} from 'vuex'
+ import { mapActions } from 'vuex'
export default {
- name: "UserList",
+ name: 'UserList',
mixins: [JeecgListMixin],
components: {
JThirdAppButton,
@@ -209,71 +193,49 @@
queryParam: {},
recycleBinVisible: false,
columns: [
- /*{
- title: '#',
- dataIndex: '',
- key:'rowIndex',
- width:60,
- align:"center",
- customRender:function (t,r,index) {
- return parseInt(index)+1;
- }
- },*/
{
title: '鐢ㄦ埛璐﹀彿',
- align: "center",
+ align: 'center',
dataIndex: 'username',
width: 120,
sorter: true
},
{
title: '鐢ㄦ埛濮撳悕',
- align: "center",
+ align: 'center',
width: 100,
- dataIndex: 'realname',
+ dataIndex: 'realname'
},
{
title: '澶村儚',
- align: "center",
+ align: 'center',
width: 80,
dataIndex: 'avatar',
- scopedSlots: {customRender: "avatarslot"}
+ scopedSlots: { customRender: 'avatarslot' }
},
-
- // {
- // title: '鎬у埆',
- // align: "center",
- // width: 80,
- // dataIndex: 'sex_dictText',
- // sorter: true
- // },
- // {
- // title: '鐢熸棩',
- // align: "center",
- // width: 100,
- // dataIndex: 'birthday'
- // },
- // {
- // title: '鎵嬫満鍙风爜',
- // align: "center",
- // width: 100,
- // dataIndex: 'phone'
- // },
{
title: '閮ㄩ棬',
- align: "center",
+ align: 'center',
width: 240,
dataIndex: 'orgCodeTxt'
},
{
title: '杞﹂棿',
- align: "center",
+ align: 'center',
width: 240,
- dataIndex: 'productionName'
+ dataIndex: 'productionName',
+ ellipsis: true
+ },
+ {
+ title: '缁翠慨閮ㄩ棬',
+ align: 'center',
+ width: 240,
+ dataIndex: 'repairDepartName',
+ ellipsis: true
},
{
title: '鐘舵��',
- align: "center",
+ align: 'center',
width: 80,
dataIndex: 'status_dictText'
},
@@ -281,270 +243,238 @@
title: '鎿嶄綔',
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
- align: "center",
+ align: 'center',
width: 80
- },
+ }
],
- isDepartType:'',
+ isDepartType: '',
superQueryFieldList: [
- { type: 'input', value: 'username', text: '鐢ㄦ埛璐﹀彿', },
- { type: 'input', value: 'realname', text: '鐢ㄦ埛濮撳悕', },
- { type: 'select', value: 'sex', dbType: 'int', text: '鎬у埆', dictCode: 'sex' },
+ { type: 'input', value: 'username', text: '鐢ㄦ埛璐﹀彿' },
+ { type: 'input', value: 'realname', text: '鐢ㄦ埛濮撳悕' },
+ { type: 'select', value: 'sex', dbType: 'int', text: '鎬у埆', dictCode: 'sex' }
],
url: {
- syncUser: "/act/process/extActProcess/doSyncUser",
- list: "/sys/user/list",
- delete: "/sys/user/delete",
- deleteBatch: "/sys/user/deleteBatch",
- exportXlsUrl: "/sys/user/exportXls",
- importExcelUrl: "sys/user/importExcel",
- },
+ syncUser: '/act/process/extActProcess/doSyncUser',
+ list: '/sys/user/list',
+ delete: '/sys/user/delete',
+ deleteBatch: '/sys/user/deleteBatch',
+ exportXlsUrl: '/sys/user/exportXls',
+ importExcelUrl: 'sys/user/importExcel'
+ }
}
},
computed: {
- importExcelUrl: function(){
- return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ importExcelUrl: function() {
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
}
},
- created() {
- this.queryTreeData()
- },
- methods: {
- ...mapActions(['QueryDepartTree']),
- queryTreeData() {
- this.QueryDepartTree().then(res => {
- if (res.success) {
- this.isDepartType = res.result[0].value
- if(this.isDepartType == -1){
- this.columns=[
- {
- title: '鐢ㄦ埛璐﹀彿',
- align: "center",
- dataIndex: 'username',
- width: 120,
- sorter: true
- },
- {
- title: '鐢ㄦ埛濮撳悕',
- align: "center",
- width: 100,
- dataIndex: 'realname',
- },
- {
- title: '澶村儚',
- align: "center",
- width: 80,
- dataIndex: 'avatar',
- scopedSlots: {customRender: "avatarslot"}
- },
-
- // {
- // title: '鎬у埆',
- // align: "center",
- // width: 80,
- // dataIndex: 'sex_dictText',
- // sorter: true
- // },
- // {
- // title: '鐢熸棩',
- // align: "center",
- // width: 100,
- // dataIndex: 'birthday'
- // },
- // {
- // title: '鎵嬫満鍙风爜',
- // align: "center",
- // width: 100,
- // dataIndex: 'phone'
- // },
- {
- title: '杞﹂棿',
- align: "center",
- width: 240,
- dataIndex: 'productionName'
- },
- {
- title: '鐘舵��',
- align: "center",
- width: 80,
- dataIndex: 'status_dictText'
- },
- {
- title: '鎿嶄綔',
- dataIndex: 'action',
- scopedSlots: { customRender: 'action' },
- align: "center",
- width: 80
- },
-
-
- ]
- }else{
- this.columns= [
- {
+ created() {
+ this.queryTreeData()
+ },
+ methods: {
+ ...mapActions(['QueryDepartTree']),
+ queryTreeData() {
+ this.QueryDepartTree().then(res => {
+ if (res.success) {
+ this.isDepartType = res.result[0].value
+ if (this.isDepartType == -1) {
+ this.columns = [
+ {
title: '鐢ㄦ埛璐﹀彿',
- align: "center",
+ align: 'center',
dataIndex: 'username',
width: 120,
sorter: true
},
- {
- title: '鐢ㄦ埛濮撳悕',
- align: "center",
- width: 100,
- dataIndex: 'realname',
- },
- {
- title: '澶村儚',
- align: "center",
- width: 80,
- dataIndex: 'avatar',
- scopedSlots: {customRender: "avatarslot"}
- },
-
- // {
- // title: '鎬у埆',
- // align: "center",
- // width: 80,
- // dataIndex: 'sex_dictText',
- // sorter: true
- // },
- // {
- // title: '鐢熸棩',
- // align: "center",
- // width: 100,
- // dataIndex: 'birthday'
- // },
- // {
- // title: '鎵嬫満鍙风爜',
- // align: "center",
- // width: 100,
- // dataIndex: 'phone'
- // },
- {
- title: '閮ㄩ棬',
- align: "center",
- width: 240,
- dataIndex: 'orgCodeTxt'
- },
- {
- title: '杞﹂棿',
- align: "center",
- width: 240,
- dataIndex: 'productionName'
- },
- {
- title: '鐘舵��',
- align: "center",
- width: 80,
- dataIndex: 'status_dictText'
- },
- {
- title: '鎿嶄綔',
- dataIndex: 'action',
- scopedSlots: { customRender: 'action' },
- align: "center",
- width: 80
- }
+ {
+ title: '鐢ㄦ埛濮撳悕',
+ align: 'center',
+ width: 100,
+ dataIndex: 'realname'
+ },
+ {
+ title: '宀椾綅',
+ align: 'center',
+ width: 80,
+ dataIndex: 'post_dictText'
+ },
+ {
+ title: '杞﹂棿',
+ align: 'center',
+ width: 240,
+ dataIndex: 'productionName',
+ ellipsis: true
+ },
+ {
+ title: '鐘舵��',
+ align: 'center',
+ width: 80,
+ dataIndex: 'status_dictText'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ scopedSlots: { customRender: 'action' },
+ align: 'center',
+ width: 80
+ }
]
- }
-
} else {
- // this.$message.warn(res.message)
- this.$notification.warning({
- message:'娑堟伅',
- description:res.message
- });
+ this.columns = [
+ {
+ title: '鐢ㄦ埛璐﹀彿',
+ align: 'center',
+ dataIndex: 'username',
+ width: 120,
+ sorter: true
+ },
+ {
+ title: '鐢ㄦ埛濮撳悕',
+ align: 'center',
+ width: 100,
+ dataIndex: 'realname'
+ },
+ {
+ title: '宀椾綅',
+ align: 'center',
+ width: 80,
+ dataIndex: 'post_dictText'
+ },
+ {
+ title: '閮ㄩ棬',
+ align: 'center',
+ width: 240,
+ dataIndex: 'orgCodeTxt'
+ },
+ {
+ title: '杞﹂棿',
+ align: 'center',
+ width: 240,
+ dataIndex: 'productionName',
+ ellipsis: true
+ },
+ {
+ title: '鐝粍',
+ align: 'center',
+ width: 240,
+ dataIndex: 'teamId_dictText'
+ },
+ {
+ title: '鐘舵��',
+ align: 'center',
+ width: 80,
+ dataIndex: 'status_dictText'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ scopedSlots: { customRender: 'action' },
+ align: 'center',
+ width: 80
+ }
+ ]
}
- }).finally(() =>{
- })
- },
- getAvatarView: function (avatar) {
+ } else {
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ }).finally(() => {
+ })
+ },
+ getAvatarView: function(avatar) {
return getFileAccessHttpUrl(avatar)
},
- batchFrozen: function (status) {
+ batchFrozen: function(status) {
if (this.selectedRowKeys.length <= 0) {
// this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
this.$notification.warning({
- message:'娑堟伅',
- description:"璇烽�夋嫨涓�鏉¤褰�"
- });
- return false;
+ message: '娑堟伅',
+ description: '璇烽�夋嫨涓�鏉¤褰�'
+ })
+ return false
} else {
- let ids = "";
- let that = this;
- let isAdmin = false;
- that.selectionRows.forEach(function (row) {
+ let ids = ''
+ let that = this
+ let isAdmin = false
+ that.selectionRows.forEach(function(row) {
if (row.username == 'admin') {
- isAdmin = true;
+ isAdmin = true
}
- });
+ })
if (isAdmin) {
- that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣�,璇烽噸鏂伴�夋嫨锛�');
- return;
+ that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣�,璇烽噸鏂伴�夋嫨锛�')
+ return
}
- that.selectedRowKeys.forEach(function (val) {
- ids += val + ",";
- });
+ that.selectedRowKeys.forEach(function(val) {
+ ids += val + ','
+ })
that.$confirm({
- title: "纭鎿嶄綔",
- content: "鏄惁" + (status == 1 ? "瑙e喕" : "鍐荤粨") + "閫変腑璐﹀彿?",
- onOk: function () {
- frozenBatch({ids: ids, status: status}).then((res) => {
+ title: '纭鎿嶄綔',
+ content: '鏄惁' + (status == 1 ? '瑙e喕' : '鍐荤粨') + '閫変腑璐﹀彿?',
+ onOk: function() {
+ frozenBatch({ ids: ids, status: status }).then((res) => {
if (res.success) {
- that.$message.success(res.message);
- that.loadData();
- that.onClearSelected();
+ that.$message.success(res.message)
+ that.loadData()
+ that.onClearSelected()
} else {
- that.$message.warning(res.message);
+ that.$message.warning(res.message)
}
- });
+ })
}
- });
+ })
}
},
handleMenuClick(e) {
if (e.key == 1) {
- this.batchDel();
+ this.batchDel()
} else if (e.key == 2) {
- this.batchFrozen(2);
+ this.batchFrozen(2)
} else if (e.key == 3) {
- this.batchFrozen(1);
+ this.batchFrozen(1)
}
},
- handleFrozen: function (id, status, username) {
- let that = this;
+ handleFrozen: function(id, status, username) {
+ let that = this
//TODO 鍚庡彴鏍¢獙绠$悊鍛樿鑹�
if ('admin' == username) {
- that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣滐紒');
- return;
+ that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣滐紒')
+ return
}
- frozenBatch({ids: id, status: status}).then((res) => {
+ frozenBatch({ ids: id, status: status }).then((res) => {
if (res.success) {
- that.$message.success(res.message);
- that.loadData();
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
} else {
- that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
}
- });
+ })
},
handleChangePassword(username) {
- this.$refs.passwordmodal.show(username);
+ this.$refs.passwordmodal.show(username)
},
passwordModalOk() {
//TODO 瀵嗙爜淇敼瀹屾垚 涓嶉渶瑕佸埛鏂伴〉闈紝鍙互鎶奷atasource涓殑鏁版嵁鏇存柊涓�涓�
},
- onSyncFinally({isToLocal}) {
+ onSyncFinally({ isToLocal }) {
// 鍚屾鍒版湰鍦版椂鍒锋柊涓嬫暟鎹�
if (isToLocal) {
this.loadData()
}
- },
+ }
}
}
--
Gitblit v1.9.3