From d286265fcefa1ab2233742cf1e30b38ae6c9215f Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期六, 12 七月 2025 14:38:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/system/UserList.vue | 417 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 211 insertions(+), 206 deletions(-) diff --git a/src/views/system/UserList.vue b/src/views/system/UserList.vue index b186bbc..d2a35e1 100644 --- a/src/views/system/UserList.vue +++ b/src/views/system/UserList.vue @@ -6,22 +6,27 @@ <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-input placeholder="璇疯緭鍏ョ湡瀹炲悕瀛�" v-model="queryParam.realname"></a-input> + <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="6" :sm="8"> + <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 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> @@ -29,25 +34,26 @@ </a-form-item> </a-col> - <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> </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"> @@ -75,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> @@ -98,9 +105,9 @@ </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"> @@ -158,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, @@ -188,47 +195,47 @@ columns: [ { 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", + align: 'center', width: 240, dataIndex: 'orgCodeTxt' }, { title: '杞﹂棿', - align: "center", + align: 'center', width: 240, dataIndex: 'productionName', - ellipsis: true, + ellipsis: true }, { title: '缁翠慨閮ㄩ棬', - align: "center", + align: 'center', width: 240, dataIndex: 'repairDepartName', - ellipsis: true, + ellipsis: true }, { title: '鐘舵��', - align: "center", + align: 'center', width: 80, dataIndex: 'status_dictText' }, @@ -236,240 +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: 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.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: 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 - } + { + 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.$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.$notification.success({ - message:'娑堟伅', - description:res.message - }); - that.loadData(); + message: '娑堟伅', + description: res.message + }) + that.loadData() } else { that.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + 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