From fdc04183eb4e61e3dfb03ab9ec626317374054d3 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 28 七月 2025 23:23:33 +0800
Subject: [PATCH] update
---
src/views/system/modules/SelectDeviceModal.vue | 20
src/views/system/UserList.vue | 796 +++++++++++-----------
src/views/system/modules/UserModal.vue | 1183 ++++++++++++++++------------------
3 files changed, 968 insertions(+), 1,031 deletions(-)
diff --git a/src/views/system/UserList.vue b/src/views/system/UserList.vue
index 5a29723..ee75d0e 100644
--- a/src/views/system/UserList.vue
+++ b/src/views/system/UserList.vue
@@ -14,48 +14,19 @@
</a-col>
<a-col :md="6" :sm="8">
- <a-form-item label="鎬у埆">
- <a-select v-model="queryParam.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <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">
<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>
@@ -179,391 +150,410 @@
<script>
- 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 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 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 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'
- export default {
- name: "UserList",
- mixins: [JeecgListMixin],
- components: {
- JThirdAppButton,
- SysUserAgentModal,
- UserModal,
- PasswordModal,
- JInput,
- UserRecycleBinModal,
- JSuperQuery
- },
- data() {
- return {
- description: '杩欐槸鐢ㄦ埛绠$悊椤甸潰',
- queryParam: {},
- recycleBinVisible: false,
- columns: [
- /*{
- title: '#',
- dataIndex: '',
- key:'rowIndex',
- width:60,
- align:"center",
- customRender:function (t,r,index) {
- return parseInt(index)+1;
- }
- },*/
- {
- 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: 'orgCodeTxt'
- },
- {
- 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
- },
-
-
- ],
- isDepartType:'',
- superQueryFieldList: [
- { 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",
- },
- }
- },
- computed: {
- 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',
- ellipsis: true,
- },
- {
- title: '鐘舵��',
- align: "center",
- width: 80,
- dataIndex: 'status_dictText'
- },
- {
- title: '鎿嶄綔',
- dataIndex: 'action',
- scopedSlots: { customRender: 'action' },
- align: "center",
- width: 80
- },
-
-
- ]
- }else{
- 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: '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
- }
-
-
- ]
- }
-
- } else {
- // this.$message.warn(res.message)
- this.$notification.warning({
- message:'娑堟伅',
- description:res.message
- });
+export default {
+ name: "UserList",
+ mixins: [JeecgListMixin],
+ components: {
+ JThirdAppButton,
+ SysUserAgentModal,
+ UserModal,
+ PasswordModal,
+ JInput,
+ UserRecycleBinModal,
+ JSuperQuery
+ },
+ data() {
+ return {
+ description: '杩欐槸鐢ㄦ埛绠$悊椤甸潰',
+ queryParam: {},
+ recycleBinVisible: false,
+ columns: [
+ /*{
+ title: '#',
+ dataIndex: '',
+ key:'rowIndex',
+ width:60,
+ align:"center",
+ customRender:function (t,r,index) {
+ return parseInt(index)+1;
}
- }).finally(() =>{
- })
- },
- getAvatarView: function (avatar) {
- return getFileAccessHttpUrl(avatar)
- },
+ },*/
+ {
+ 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"}
+ },
- batchFrozen: function (status) {
- if (this.selectedRowKeys.length <= 0) {
- // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+ // {
+ // 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: 80,
+ // dataIndex: 'post_dictText'
+ // },
+ {
+ title: '閮ㄩ棬',
+ align: "center",
+ width: 240,
+ dataIndex: 'orgCodeTxt'
+ },
+ {
+ 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
+ },
+
+
+ ],
+ isDepartType:'',
+ superQueryFieldList: [
+ { 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",
+ },
+ }
+ },
+ computed: {
+ 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: 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.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: 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
+ }
+
+
+ ]
+ }
+
+ } else {
+ // this.$message.warn(res.message)
this.$notification.warning({
message:'娑堟伅',
- description:"璇烽�夋嫨涓�鏉¤褰�"
- });
- return false;
- } else {
- let ids = "";
- let that = this;
- let isAdmin = false;
- that.selectionRows.forEach(function (row) {
- if (row.username == 'admin') {
- isAdmin = true;
- }
- });
- if (isAdmin) {
- that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣�,璇烽噸鏂伴�夋嫨锛�');
- return;
- }
- that.selectedRowKeys.forEach(function (val) {
- ids += val + ",";
- });
- that.$confirm({
- 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();
- } else {
- that.$message.warning(res.message);
- }
- });
- }
+ description:res.message
});
}
- },
- handleMenuClick(e) {
- if (e.key == 1) {
- this.batchDel();
- } else if (e.key == 2) {
- this.batchFrozen(2);
- } else if (e.key == 3) {
- this.batchFrozen(1);
- }
- },
- handleFrozen: function (id, status, username) {
+ }).finally(() =>{
+ })
+ },
+ getAvatarView: function (avatar) {
+ return getFileAccessHttpUrl(avatar)
+ },
+
+ batchFrozen: function (status) {
+ if (this.selectedRowKeys.length <= 0) {
+ // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+ this.$notification.warning({
+ message:'娑堟伅',
+ description:"璇烽�夋嫨涓�鏉¤褰�"
+ });
+ return false;
+ } else {
+ let ids = "";
let that = this;
- //TODO 鍚庡彴鏍¢獙绠$悊鍛樿鑹�
- if ('admin' == username) {
- that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣滐紒');
+ let isAdmin = false;
+ that.selectionRows.forEach(function (row) {
+ if (row.username == 'admin') {
+ isAdmin = true;
+ }
+ });
+ if (isAdmin) {
+ that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣�,璇烽噸鏂伴�夋嫨锛�');
return;
}
- frozenBatch({ids: id, status: status}).then((res) => {
- if (res.success) {
- that.$notification.success({
- message:'娑堟伅',
- description:res.message
- });
- that.loadData();
- } else {
- that.$notification.warning({
- message:'娑堟伅',
- description:res.message
+ that.selectedRowKeys.forEach(function (val) {
+ ids += val + ",";
+ });
+ that.$confirm({
+ 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();
+ } else {
+ that.$message.warning(res.message);
+ }
});
}
});
- },
- handleChangePassword(username) {
- this.$refs.passwordmodal.show(username);
- },
- passwordModalOk() {
- //TODO 瀵嗙爜淇敼瀹屾垚 涓嶉渶瑕佸埛鏂伴〉闈紝鍙互鎶奷atasource涓殑鏁版嵁鏇存柊涓�涓�
- },
- onSyncFinally({isToLocal}) {
- // 鍚屾鍒版湰鍦版椂鍒锋柊涓嬫暟鎹�
- if (isToLocal) {
- this.loadData()
+ }
+ },
+ handleMenuClick(e) {
+ if (e.key == 1) {
+ this.batchDel();
+ } else if (e.key == 2) {
+ this.batchFrozen(2);
+ } else if (e.key == 3) {
+ this.batchFrozen(1);
+ }
+ },
+ handleFrozen: function (id, status, username) {
+ let that = this;
+ //TODO 鍚庡彴鏍¢獙绠$悊鍛樿鑹�
+ if ('admin' == username) {
+ that.$message.warning('绠$悊鍛樿处鍙蜂笉鍏佽姝ゆ搷浣滐紒');
+ return;
+ }
+ frozenBatch({ids: id, status: status}).then((res) => {
+ if (res.success) {
+ that.$notification.success({
+ message:'娑堟伅',
+ description:res.message
+ });
+ that.loadData();
+ } else {
+ that.$notification.warning({
+ message:'娑堟伅',
+ description:res.message
+ });
}
- },
- }
-
+ });
+ },
+ handleChangePassword(username) {
+ this.$refs.passwordmodal.show(username);
+ },
+ passwordModalOk() {
+ //TODO 瀵嗙爜淇敼瀹屾垚 涓嶉渶瑕佸埛鏂伴〉闈紝鍙互鎶奷atasource涓殑鏁版嵁鏇存柊涓�涓�
+ },
+ onSyncFinally({isToLocal}) {
+ // 鍚屾鍒版湰鍦版椂鍒锋柊涓嬫暟鎹�
+ if (isToLocal) {
+ this.loadData()
+ }
+ },
}
+
+}
</script>
<style scoped>
- @import '~@assets/less/common.less'
+@import '~@assets/less/common.less'
</style>
\ No newline at end of file
diff --git a/src/views/system/modules/SelectDeviceModal.vue b/src/views/system/modules/SelectDeviceModal.vue
index e3f8b69..c316b6c 100644
--- a/src/views/system/modules/SelectDeviceModal.vue
+++ b/src/views/system/modules/SelectDeviceModal.vue
@@ -95,11 +95,11 @@
visible: false,
dataSource: [],
//绯荤粺鏄惁瀹炴柦璁惧绠$悊妯″潡
- eamModuleFlag: true,
+ eamModuleFlag: false,
}
},
created() {
- this.loadEamSystemConfigValue();
+ // this.loadEamSystemConfigValue();
this.closeAll()
},
methods: {
@@ -190,14 +190,14 @@
this.$emit('selectFinished', this.deviceNodes)
this.visible = false
},
- loadEamSystemConfigValue() {
- let params = {settingKey: 'has_eam_module'};
- getSystemConfigValue(params).then(res => {
- if (res.success) {
- this.eamModuleFlag = res.result.settingValue === '1'
- }
- })
- },
+ // loadEamSystemConfigValue() {
+ // let params = {settingKey: 'has_eam_module'};
+ // getSystemConfigValue(params).then(res => {
+ // if (res.success) {
+ // this.eamModuleFlag = res.result.settingValue === '1'
+ // }
+ // })
+ // },
}
}
diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue
index 7cb8619..c88687a 100644
--- a/src/views/system/modules/UserModal.vue
+++ b/src/views/system/modules/UserModal.vue
@@ -97,9 +97,10 @@
/>
</a-form-model-item>
- <!--<a-form-model-item label="鑱屽姟" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
- <!--<j-select-position placeholder="璇烽�夋嫨鑱屽姟" :multiple="false" v-model="model.post"/>-->
- <!--</a-form-model-item>-->
+ <a-form-model-item label="宀椾綅" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <!-- <j-select-position placeholder="璇烽�夋嫨宀椾綅" :multiple="false" v-model="model.post"/>-->
+ <j-dict-select-tag placeholder="璇烽�夋嫨宀椾綅" dict-code="sys_position, name, code" v-model="model.post" />
+ </a-form-model-item>
<a-form-model-item
label="瑙掕壊鍒嗛厤"
@@ -139,22 +140,6 @@
label="杞﹂棿鍒嗛厤"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
- v-show="!factoryDisabled"
- >
- <j-select-factory
- v-model="model.selectedFactory"
- :multi="true"
- @back="backFactoryInfo"
- :backProduction="true"
- :treeProductOpera="true"
- ></j-select-factory>
- </a-form-model-item>
-
- <!--杞﹂棿鍒嗛厤-->
- <a-form-model-item
- label="MDC杞﹂棿鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
v-show="!productionDisabled"
>
<j-select-production
@@ -166,85 +151,90 @@
></j-select-production>
</a-form-model-item>
+
+ <a-form-model-item
+ label="閫夋嫨璁惧"
+ :labelCol="labelCol"
+ :wrapperCol="wrapperCol"
+ v-show="!productionDisabled"
+ >
+ <a-tooltip title="閫夋嫨璁惧鍚庯紝鐢ㄦ埛灏卞彧鏈夎繖浜涜澶囩殑鏉冮檺锛佷笉閫夋嫨璁惧锛屽垯浼氭牴鎹溅闂村垎閰嶆帶鍒惰澶囩殑鏉冮檺锛�"
+ placement="topRight">
+ <a-input-search
+ :readOnly="true"
+ v-model="model.equipmentIds"
+ @search="deviceSearch"
+ enter-button
+ placeholder="璇烽�夋嫨璁惧"
+ :disabled="!model.selectedProduction"
+ />
+ </a-tooltip>
+ </a-form-model-item>
+
+
<!--<a-form-model-item-->
- <!--label="閫夋嫨璁惧"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--v-show="!factoryDisabled"-->
+ <!--label="棣栭〉鏉冮檺"-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
<!-->-->
- <!--<a-input-search-->
- <!--:readOnly="true"-->
- <!--v-model="model.equipmentIds"-->
- <!--@search="deviceSearch"-->
- <!--enter-button-->
- <!--placeholder="璇烽�夋嫨璁惧"-->
- <!--:disabled="!model.selectedFactory"-->
- <!--/>-->
+ <!--<a-radio-group-->
+ <!--v-model="model.userType"-->
+ <!--:defaultValue="0"-->
+ <!-->-->
+ <!--<a-radio :value="4">鍏徃绾�</a-radio>-->
+ <!--<a-radio :value="3">杞﹂棿绾�</a-radio>-->
+ <!--<a-radio :value="2">宸ユ绾�</a-radio>-->
+ <!--<a-radio :value="1">鎿嶄綔宸�</a-radio>-->
+ <!--<a-radio :value="0">鏃�</a-radio>-->
+ <!--</a-radio-group>-->
<!--</a-form-model-item>-->
<!--<a-form-model-item-->
- <!--label="棣栭〉鏉冮檺"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
+ <!--label="鐝粍鍒嗛厤"-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--prop="teamId"-->
<!-->-->
- <!--<a-radio-group-->
- <!--v-model="model.userType"-->
- <!--:defaultValue="0"-->
- <!-->-->
- <!--<a-radio :value="4">鍏徃绾�</a-radio>-->
- <!--<a-radio :value="3">杞﹂棿绾�</a-radio>-->
- <!--<a-radio :value="2">宸ユ绾�</a-radio>-->
- <!--<a-radio :value="1">鎿嶄綔宸�</a-radio>-->
- <!--<a-radio :value="0">鏃�</a-radio>-->
- <!--</a-radio-group>-->
- <!--</a-form-model-item>-->
-
- <!--<a-form-model-item-->
- <!--label="鐝粍鍒嗛厤"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="teamId"-->
- <!-->-->
- <!--<j-dict-select-tag-->
- <!--v-model="model.teamId"-->
- <!--:triggerChange="true"-->
- <!--dictCode="mom_base_team,name,id,del_flag = 0"-->
- <!--placeholder="璇风淮鎶ょ彮缁�"-->
- <!--></j-dict-select-tag>-->
+ <!--<j-dict-select-tag-->
+ <!--v-model="model.teamId"-->
+ <!--:triggerChange="true"-->
+ <!--dictCode="mom_base_team,name,id,del_flag = 0"-->
+ <!--placeholder="璇风淮鎶ょ彮缁�"-->
+ <!--></j-dict-select-tag>-->
<!--</a-form-model-item>-->
<!--<a-form-model-item-->
- <!--label="涓績鍒嗛厤"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="areaId"-->
+ <!--label="涓績鍒嗛厤"-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--prop="areaId"-->
<!-->-->
- <!--<!– <j-dict-select-tag-->
- <!--v-model="model.areaId"-->
- <!--:triggerChange="true"-->
- <!--dictCode="mom_base_area,name,id,del_flag = 0"-->
- <!--placeholder="璇风淮鎶や腑蹇�"-->
- <!--></j-dict-select-tag> –>-->
- <!--<j-multi-select-tag-->
- <!--:triggerChange="true"-->
- <!--v-model="model.areaId"-->
- <!--dictCode="mom_base_area,name,id,del_flag = 0 and type = 1"-->
- <!--placeholder="璇风淮鎶や腑蹇�"-->
- <!-->-->
- <!--</j-multi-select-tag>-->
+ <!--<!– <j-dict-select-tag-->
+ <!--v-model="model.areaId"-->
+ <!--:triggerChange="true"-->
+ <!--dictCode="mom_base_area,name,id,del_flag = 0"-->
+ <!--placeholder="璇风淮鎶や腑蹇�"-->
+ <!--></j-dict-select-tag> –>-->
+ <!--<j-multi-select-tag-->
+ <!--:triggerChange="true"-->
+ <!--v-model="model.areaId"-->
+ <!--dictCode="mom_base_area,name,id,del_flag = 0 and type = 1"-->
+ <!--placeholder="璇风淮鎶や腑蹇�"-->
+ <!-->-->
+ <!--</j-multi-select-tag>-->
<!--</a-form-model-item>-->
<!--<a-form-model-item-->
- <!--label="璐熻矗閮ㄩ棬"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--v-if="departIdShow==true"-->
+ <!--label="璐熻矗閮ㄩ棬"-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--v-if="departIdShow==true"-->
<!-->-->
- <!--<j-multi-select-tag-->
- <!--:disabled="disableSubmit"-->
- <!--v-model="model.departIds"-->
- <!--:options="nextDepartOptions"-->
- <!--placeholder="璇烽�夋嫨璐熻矗閮ㄩ棬"-->
- <!-->-->
- <!--</j-multi-select-tag>-->
+ <!--<j-multi-select-tag-->
+ <!--:disabled="disableSubmit"-->
+ <!--v-model="model.departIds"-->
+ <!--:options="nextDepartOptions"-->
+ <!--placeholder="璇烽�夋嫨璐熻矗閮ㄩ棬"-->
+ <!-->-->
+ <!--</j-multi-select-tag>-->
<!--</a-form-model-item>-->
<!--<a-form-model-item-->
@@ -350,557 +340,514 @@
</a-button>
</div>
-<!-- <select-device-modal-->
-<!-- ref="selectDeviceModal"-->
-<!-- @selectFinished="selectOK"-->
-<!-- :title="'閫夋嫨璁惧'"-->
-<!-- />-->
+ <select-device-modal
+ ref="selectDeviceModal"
+ @selectFinished="selectOK"
+ :title="'閫夋嫨璁惧'"
+ />
</a-drawer>
</template>
<script>
- import moment from 'moment'
- import Vue from 'vue'
- import { ACCESS_TOKEN } from '@/store/mutation-types'
- import { getAction } from '@/api/manage'
- import { addUser, editUser, queryUserRole, queryall } from '@/api/api'
- import { disabledAuthFilter } from '@/utils/authFilter'
- import { duplicateCheck } from '@/api/api'
- import JSelectFactory from '../../../components/jeecgbiz/JSelectFactory'
- import { mapActions } from 'vuex'
- import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
- import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction'
- // import SelectDeviceModal from './SelectDeviceModal'
+import moment from 'moment'
+import Vue from 'vue'
+import { ACCESS_TOKEN } from '@/store/mutation-types'
+import { getAction } from '@/api/manage'
+import { addUser, editUser, queryUserRole, queryall } from '@/api/api'
+import { disabledAuthFilter } from '@/utils/authFilter'
+import { duplicateCheck } from '@/api/api'
+import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction'
+import { mapActions } from 'vuex'
+import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
+import SelectDeviceModal from './SelectDeviceModal'
- export default {
- name: 'UserModal',
- components: {
- // SelectDeviceModal,
- JSelectFactory,
- JSelectProduction
- },
- data() {
- return {
- departDisabled: false, //鏄惁鏄垜鐨勯儴闂ㄨ皟鐢ㄨ椤甸潰
- factoryDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
- productionDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
- roleDisabled: false, //鏄惁鏄鑹茬淮鎶よ皟鐢ㄨ椤甸潰
- modalWidth: 800,
- drawerWidth: 700,
- modaltoggleFlag: true,
- confirmDirty: false,
- userId: '', //淇濆瓨鐢ㄦ埛id
- disableSubmit: false,
- dateFormat: 'YYYY-MM-DD',
- validatorRules: {
- username: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯处鍙�!' },
- { validator: this.validateUsername }],
- password: [{
+export default {
+ name: 'UserModal',
+ components: {
+ SelectDeviceModal,
+ JSelectProduction
+ },
+ data() {
+ return {
+ departDisabled: false, //鏄惁鏄垜鐨勯儴闂ㄨ皟鐢ㄨ椤甸潰
+ productionDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
+ roleDisabled: false, //鏄惁鏄鑹茬淮鎶よ皟鐢ㄨ椤甸潰
+ modalWidth: 800,
+ drawerWidth: 700,
+ modaltoggleFlag: true,
+ confirmDirty: false,
+ userId: '', //淇濆瓨鐢ㄦ埛id
+ disableSubmit: false,
+ dateFormat: 'YYYY-MM-DD',
+ validatorRules: {
+ workNo:[{ required: true, message: '璇疯緭鍏ュ伐鍙�!' }],
+ username: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯处鍙�!' },
+ { validator: this.validateUsername }],
+ password: [
+ {
required: true,
- pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
- message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
+ // pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
+ message: '璇疯緭鍏ョ櫥褰曞瘑鐮�!'
},
- { validator: this.validateToNextPassword, trigger: 'change' }],
- confirmpassword: [{ required: true, message: '璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�!' },
- { validator: this.compareToFirstPassword }],
- realname: [{ required: true, message: '璇疯緭鍏ョ敤鎴峰悕绉�!' }],
- phone: [{ required: false, message: '璇疯緭鍏ユ墜鏈哄彿!' }, { validator: this.validatePhone }],
- email: [{ validator: this.validateEmail }],
- roles: {},
- workNo: [{ required: true, message: '璇疯緭鍏ュ伐鍙�' },
- { validator: this.validateWorkNo }],
- telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '璇疯緭鍏ユ纭殑搴ф満鍙风爜' }],
- teamId: [{ required: false, message: '璇风淮鎶ょ彮缁�' }]
- },
- departIdShow: false,
- title: '鎿嶄綔',
- visible: false,
- model: {},
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 }
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 16 }
- },
- uploadLoading: false,
- confirmLoading: false,
- headers: {},
- url: {
- fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload',
- userWithDepart: '/sys/user/userDepartList', // 寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬮儴闂ㄤ俊鎭渶瑕佺殑url
- //寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬭溅闂翠俊鎭渶瑕佺殑url
- userProductionList: '/sys/user/userProductionList',
- userId: '/sys/user/generateUserId', // 寮曞叆鐢熸垚娣诲姞鐢ㄦ埛鎯呭喌涓嬬殑url
- syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//鍚屾鐢ㄦ埛鍒板伐浣滄祦
- queryTenantList: '/sys/tenant/queryList'
- },
- tenantsOptions: [],
- rolesOptions: [],
- nextDepartOptions: [],
- nextFactoryOptions: [],
- nextProductionOptions: [],
- isDepartType: '',
- model: {
- selectedFactory: '',
- selectedProduction: ''
- }
- }
- },
- watch: {
- visible: {
- handler(value) {
- if (value) this.initDictData('password_length')
- }
+ { validator: this.validateToNextPassword, trigger: 'change' }],
+ confirmpassword: [{ required: true, message: '璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�!' },
+ { validator: this.compareToFirstPassword }],
+ realname: [{ required: true, message: '璇疯緭鍏ョ敤鎴峰悕绉�!' }],
+ phone: [{ required: false, message: '璇疯緭鍏ユ墜鏈哄彿!' }, { validator: this.validatePhone }],
+ email: [{ validator: this.validateEmail }],
+ roles: {},
+ // workNo: [{ required: true, message: '璇疯緭鍏ュ伐鍙�' },
+ // { validator: this.validateWorkNo }],
+ telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '璇疯緭鍏ユ纭殑搴ф満鍙风爜' }],
+ teamId: [{ required: false, message: '璇风淮鎶ょ彮缁�' }]
},
- 'model.selectedFactory': {
- handler(newVal, oldVal) {
- if (newVal) {
- // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
- if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
- //this.$refs.selectDeviceModal.queryTreeData(newVal)
- }
- // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
- if (newVal === '') this.model.equipmentIds = ''
- }
+ departIdShow: false,
+ title: '鎿嶄綔',
+ visible: false,
+ model: {},
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 }
},
- 'model.selectedProduction': {
- handler(newVal, oldVal) {
- if (newVal && this.$refs.selectDeviceModal) {
- // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
- if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
- this.$refs.selectDeviceModal.queryTreeData(newVal)
- }
- // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
- if (newVal === '') this.model.equipmentIds = ''
- }
- }
- },
- created() {
- const token = Vue.ls.get(ACCESS_TOKEN)
- this.headers = { 'X-Access-Token': token }
- this.initRoleList()
- this.initTenantList()
- this.queryTreeData()
- },
- computed: {
- uploadAction: function () {
- return this.url.fileUpload
- }
- },
- methods: {
- ...mapActions(['QueryDepartTree']),
- queryTreeData() {
- this.QueryDepartTree().then(res => {
- if (res.success) {
- this.isDepartType = res.result[0].value
- } else {
- // this.$message.warn(res.message)
- this.$notification.warning({
- message: '娑堟伅',
- description: res.message
- })
- }
- }).finally(() => {
- })
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 }
},
- add() {
- this.refresh()
- this.edit({
- activitiSync: '1',
- userType: 0,
- userIdentity: 1,
- selectedroles: '',
- selecteddeparts: '',
- selectedFactory: '',
- selectedProduction: ''
- })
+ uploadLoading: false,
+ confirmLoading: false,
+ headers: {},
+ url: {
+ fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload',
+ userWithDepart: '/sys/user/userDepartList', // 寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬮儴闂ㄤ俊鎭渶瑕佺殑url
+ //寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬭溅闂翠俊鎭渶瑕佺殑url
+ userProductionList: '/sys/user/userProductionList',
+ userId: '/sys/user/generateUserId', // 寮曞叆鐢熸垚娣诲姞鐢ㄦ埛鎯呭喌涓嬬殑url
+ syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//鍚屾鐢ㄦ埛鍒板伐浣滄祦
+ queryTenantList: '/sys/tenant/queryList'
},
- edit(record) {
- let that = this
- that.visible = true
- //鏍规嵁灞忓箷瀹藉害鑷�傚簲鎶藉眽瀹藉害
- this.resetScreenSize()
- that.userId = record.id
- console.log('record', record)
- that.model = Object.assign({}, record)
- //韬唤涓轰笂绾ф樉绀鸿礋璐i儴闂紝鍚﹀垯涓嶆樉绀�
- if (this.model.userIdentity == 2) {
- this.departIdShow = true
- } else {
- this.departIdShow = false
- }
-
- if (record.hasOwnProperty('id')) {
- that.getUserRoles(record.id)
- that.getUserDeparts(record.id)
- }
- },
- isDisabledAuth(code) {
- return disabledAuthFilter(code)
- },
- //绐楀彛鏈�澶у寲鍒囨崲
- toggleScreen() {
- if (this.modaltoggleFlag) {
- this.modalWidth = window.innerWidth
- } else {
- this.modalWidth = 800
- }
- this.modaltoggleFlag = !this.modaltoggleFlag
- },
- // 鏍规嵁灞忓箷鍙樺寲,璁剧疆鎶藉眽灏哄
- resetScreenSize() {
- let screenWidth = document.body.clientWidth
- if (screenWidth < 500) {
- this.drawerWidth = screenWidth
- } else {
- this.drawerWidth = 700
- }
- },
- //鍒濆鍖栫鎴峰瓧鍏�
- initTenantList() {
- getAction(this.url.queryTenantList).then(res => {
- if (res.success) {
- this.tenantsOptions = res.result.map((item, index, arr) => {
- let c = { label: item.name, value: item.id + '' }
- return c
- })
- }
- })
- },
- //鍒濆鍖栬鑹插瓧鍏�
- initRoleList() {
- queryall().then((res) => {
- if (res.success) {
- this.rolesOptions = res.result.map((item, index, arr) => {
- let c = { label: item.roleName, value: item.id }
- return c
- })
- }
- })
- },
- getUserRoles(userid) {
- queryUserRole({ userid: userid }).then((res) => {
- if (res.success) {
- this.$set(this.model, 'selectedroles', res.result.join(','))
- }
- })
- },
- getUserDeparts(userid) {
- let that = this
- //閮ㄩ棬鐨剈rl 鑾峰彇閮ㄩ棬鍒嗛厤
- getAction(that.url.userWithDepart, { userId: userid }).then((res) => {
- if (res.success) {
- let departOptions = []
- let selectDepartKeys = []
- for (let i = 0; i < res.result.length; i++) {
- selectDepartKeys.push(res.result[i].key)
- //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
- departOptions.push({
- value: res.result[i].key,
- label: res.result[i].title
- })
- }
-
- this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(','))
- that.nextDepartOptions = departOptions
- }
- })
-
- // 鑾峰彇杞﹂棿鍒嗛厤
- getAction(that.url.userProductionList, { userId: userid }).then((res) => {
- if (res.success) {
- let FactoryOptions = []
- let selectFactoryKeys = []
- for (let i = 0; i < res.result.length; i++) {
- selectFactoryKeys.push(res.result[i].key)
- //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
- FactoryOptions.push({
- value: res.result[i].key,
- label: res.result[i].title
- })
- }
-
- this.$set(this.model, 'selectedFactory', selectFactoryKeys.join(','))
- that.nextFactoryOptions = FactoryOptions
- }
- })
-
- getAction(that.url.userProductionList, { userId: userid }).then((res) => {
- if (res.success) {
- let ProductionOptions = []
- let selectProductKeys = []
- for (let i = 0; i < res.result.length; i++) {
- selectProductKeys.push(res.result[i].key)
- //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
- ProductionOptions.push({
- value: res.result[i].key,
- label: res.result[i].title
- })
- }
-
- this.$set(this.model, 'selectedProduction', selectProductKeys.join(','))
- that.nextProductionOptions = ProductionOptions
- }
- })
- //杞﹂棿鐨剈rl
- },
- backDepartInfo(info) {
- this.model.departIds = this.model.selecteddeparts
- this.nextDepartOptions = info.map((item, index, arr) => {
- let c = { label: item.text, value: item.value + '' }
- return c
- })
- },
- backFactoryInfo(info) {
- this.model.factoryIds = this.model.selectedFactory
- this.nextFactoryOptions = info.map((item, index, arr) => {
- let c = { label: item.text, value: item.value + '' }
- return c
- })
- },
-
- backProductionInfo(info) {
- this.model.productionIds = this.model.selectedProduction
- this.nextProductionOptions = info.map((item, index, arr) => {
- let c = { label: item.text, value: item.value + '' }
- return c
- })
- },
-
- refresh() {
- this.userId = ''
- this.nextDepartOptions = []
- this.nextFactoryOptions = []
- this.nextProductionOptions = []
- this.departIdShow = false
- },
- close() {
- this.$emit('close')
- this.visible = false
- this.disableSubmit = false
- this.nextDepartOptions = []
- this.nextFactoryOptions = []
- this.nextProductionOptions = []
- this.departIdShow = false
- this.$refs.form.resetFields()
- },
- moment,
- handleSubmit() {
- const that = this
- // 瑙﹀彂琛ㄥ崟楠岃瘉
- this.$refs.form.validate(valid => {
- if (valid) {
- that.confirmLoading = true
- //濡傛灉鏄笂绾ф嫨浼犲叆departIds,鍚﹀垯涓虹┖
- if (this.model.userIdentity !== 2) {
- this.model.departIds = ''
- }
- let obj
- if (!this.model.id) {
- this.model.id = this.userId
- obj = addUser(this.model)
- } else {
- obj = editUser(this.model)
- }
- obj.then((res) => {
- if (res.success) {
- that.$message.success(res.message)
- that.$emit('ok')
- } else {
- that.$message.warning(res.message)
- }
- }).finally(() => {
- that.confirmLoading = false
- that.close()
- })
- } else {
- return false
- }
- })
- },
- handleCancel() {
- this.close()
- },
- validateToNextPassword(rule, value, callback) {
- const confirmpassword = this.model.confirmpassword
- if (value && confirmpassword && value !== confirmpassword) {
- callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
- }
- if (value && this.confirmDirty) {
- this.$refs.form.validateField(['confirmpassword'])
- }
- callback()
- },
- compareToFirstPassword(rule, value, callback) {
- if (value && value !== this.model.password) {
- callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
- } else {
- callback()
- }
- },
- validatePhone(rule, value, callback) {
- if (!value) {
- callback()
- } else {
- if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'phone',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('鎵嬫満鍙峰凡瀛樺湪!')
- }
- })
- } else {
- callback('璇疯緭鍏ユ纭牸寮忕殑鎵嬫満鍙风爜!')
- }
- }
- },
- validateEmail(rule, value, callback) {
- if (!value) {
- callback()
- } else {
- if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'email',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- console.log(res)
- if (res.success) {
- callback()
- } else {
- callback('閭宸插瓨鍦�!')
- }
- })
- } else {
- callback('璇疯緭鍏ユ纭牸寮忕殑閭!')
- }
- }
- },
- validateUsername(rule, value, callback) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'username',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('鐢ㄦ埛鍚嶅凡瀛樺湪!')
- }
- })
- },
- validateWorkNo(rule, value, callback) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'work_no',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('宸ュ彿宸插瓨鍦�!')
- }
- })
- },
- handleConfirmBlur(e) {
- const value = e.target.value
- this.confirmDirty = this.confirmDirty || !!value
- },
- beforeUpload: function (file) {
- var fileType = file.type
- if (fileType.indexOf('image') < 0) {
- this.$message.warning('璇蜂笂浼犲浘鐗�')
- return false
- }
- //TODO 楠岃瘉鏂囦欢澶у皬
- },
- identityChange(e) {
- if (e.target.value === 1) {
- this.departIdShow = false
- } else {
- this.departIdShow = true
- }
- },
- initDictData(dictCode) {
- //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
- ajaxGetDictItems(dictCode, null).then((res) => {
- if (res.success) {
- const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$')
-
- this.validatorRules.password[0] = {
- required: true,
- pattern: regExp,
- message: `瀵嗙爜鐢�${res.result[0].value}浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!`
- }
-
- }
- })
- },
-
- deviceSearch() {
- //this.$refs.selectDeviceModal.visible = true
- //this.$refs.selectDeviceModal.selectedRowKeys = []
- //this.$refs.selectDeviceModal.selectedRows = []
- //this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : []
- },
-
- /**
- * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
- * @param data 宸查�夋嫨鐨勮澶囨暟缁�
- */
- selectOK(data) {
- console.log('data=', data)
- this.$set(this.model, 'equipmentIds', data.join(','))
+ tenantsOptions: [],
+ rolesOptions: [],
+ nextDepartOptions: [],
+ nextProductionOptions: [],
+ isDepartType: '',
+ model: {
+ selectedProduction: ''
}
}
+ },
+ watch: {
+ visible: {
+ handler(value) {
+ if (value) this.initDictData('password_length')
+ }
+ },
+ 'model.selectedProduction': {
+ handler(newVal, oldVal) {
+ if (newVal && this.$refs.selectDeviceModal) {
+ // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
+ if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
+ this.$refs.selectDeviceModal.queryTreeData(newVal)
+ }
+ // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
+ if (newVal === '') this.model.equipmentIds = ''
+ }
+ }
+ },
+ created() {
+ const token = Vue.ls.get(ACCESS_TOKEN)
+ this.headers = { 'X-Access-Token': token }
+ this.initRoleList()
+ this.initTenantList()
+ this.queryTreeData()
+ },
+ computed: {
+ uploadAction: function() {
+ return this.url.fileUpload
+ }
+ },
+ methods: {
+ ...mapActions(['QueryDepartTree']),
+ queryTreeData() {
+ this.QueryDepartTree().then(res => {
+ if (res.success) {
+ this.isDepartType = res.result[0].value
+ } else {
+ // this.$message.warn(res.message)
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ }).finally(() => {
+ })
+ },
+ add() {
+ this.refresh()
+ this.edit({
+ activitiSync: '1',
+ userType: 0,
+ userIdentity: 1,
+ selectedroles: '',
+ selecteddeparts: '',
+ selectedProduction: ''
+ })
+ },
+ edit(record) {
+ let that = this
+ that.visible = true
+ //鏍规嵁灞忓箷瀹藉害鑷�傚簲鎶藉眽瀹藉害
+ this.resetScreenSize()
+ that.userId = record.id
+ console.log('record', record)
+ that.model = Object.assign({}, record)
+ //韬唤涓轰笂绾ф樉绀鸿礋璐i儴闂紝鍚﹀垯涓嶆樉绀�
+ if (this.model.userIdentity == 2) {
+ this.departIdShow = true
+ } else {
+ this.departIdShow = false
+ }
+
+ if (record.hasOwnProperty('id')) {
+ that.getUserRoles(record.id)
+ that.getUserDeparts(record.id)
+ }
+ },
+ isDisabledAuth(code) {
+ return disabledAuthFilter(code)
+ },
+ //绐楀彛鏈�澶у寲鍒囨崲
+ toggleScreen() {
+ if (this.modaltoggleFlag) {
+ this.modalWidth = window.innerWidth
+ } else {
+ this.modalWidth = 800
+ }
+ this.modaltoggleFlag = !this.modaltoggleFlag
+ },
+ // 鏍规嵁灞忓箷鍙樺寲,璁剧疆鎶藉眽灏哄
+ resetScreenSize() {
+ let screenWidth = document.body.clientWidth
+ if (screenWidth < 500) {
+ this.drawerWidth = screenWidth
+ } else {
+ this.drawerWidth = 700
+ }
+ },
+ //鍒濆鍖栫鎴峰瓧鍏�
+ initTenantList() {
+ getAction(this.url.queryTenantList).then(res => {
+ if (res.success) {
+ this.tenantsOptions = res.result.map((item, index, arr) => {
+ let c = { label: item.name, value: item.id + '' }
+ return c
+ })
+ }
+ })
+ },
+ //鍒濆鍖栬鑹插瓧鍏�
+ initRoleList() {
+ queryall().then((res) => {
+ if (res.success) {
+ this.rolesOptions = res.result.map((item, index, arr) => {
+ let c = { label: item.roleName, value: item.id }
+ return c
+ })
+ }
+ })
+ },
+ getUserRoles(userid) {
+ queryUserRole({ userid: userid }).then((res) => {
+ if (res.success) {
+ this.$set(this.model, 'selectedroles', res.result.join(','))
+ }
+ })
+ },
+ getUserDeparts(userid) {
+ let that = this
+ //閮ㄩ棬鐨剈rl 鑾峰彇閮ㄩ棬鍒嗛厤
+ getAction(that.url.userWithDepart, { userId: userid }).then((res) => {
+ if (res.success) {
+ let departOptions = []
+ let selectDepartKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectDepartKeys.push(res.result[i].key)
+ //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
+ departOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(','))
+ that.nextDepartOptions = departOptions
+ }
+ })
+
+ // 鑾峰彇杞﹂棿鍒嗛厤
+ getAction(that.url.userProductionList, { userId: userid }).then((res) => {
+ if (res.success) {
+ let ProductionOptions = []
+ let selectProductKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectProductKeys.push(res.result[i].key)
+ //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
+ ProductionOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selectedProduction', selectProductKeys.join(','))
+ that.nextProductionOptions = ProductionOptions
+ }
+ })
+ //杞﹂棿鐨剈rl
+ },
+ backDepartInfo(info) {
+ this.model.departIds = this.model.selecteddeparts
+ this.nextDepartOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+ backProductionInfo(info) {
+ this.model.productionIds = this.model.selectedProduction
+ this.nextProductionOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+
+ refresh() {
+ this.userId = ''
+ this.nextDepartOptions = []
+ this.nextProductionOptions = []
+ this.departIdShow = false
+ },
+ close() {
+ this.$emit('close')
+ this.visible = false
+ this.disableSubmit = false
+ this.nextDepartOptions = []
+ this.nextProductionOptions = []
+ this.departIdShow = false
+ this.$refs.form.resetFields()
+ },
+ moment,
+ handleSubmit() {
+ const that = this
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true
+ //濡傛灉鏄笂绾ф嫨浼犲叆departIds,鍚﹀垯涓虹┖
+ if (this.model.userIdentity !== 2) {
+ this.model.departIds = ''
+ }
+ let obj
+ if (!this.model.id) {
+ this.model.id = this.userId
+ obj = addUser(this.model)
+ } else {
+ obj = editUser(this.model)
+ }
+ obj.then((res) => {
+ if (res.success) {
+ that.$message.success(res.message)
+ that.$emit('ok')
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false
+ that.close()
+ })
+ } else {
+ return false
+ }
+ })
+ },
+ handleCancel() {
+ this.close()
+ },
+ validateToNextPassword(rule, value, callback) {
+ const confirmpassword = this.model.confirmpassword
+ if (value && confirmpassword && value !== confirmpassword) {
+ callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
+ }
+ if (value && this.confirmDirty) {
+ this.$refs.form.validateField(['confirmpassword'])
+ }
+ callback()
+ },
+ compareToFirstPassword(rule, value, callback) {
+ if (value && value !== this.model.password) {
+ callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
+ } else {
+ callback()
+ }
+ },
+ validatePhone(rule, value, callback) {
+ if (!value) {
+ callback()
+ } else {
+ if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'phone',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('鎵嬫満鍙峰凡瀛樺湪!')
+ }
+ })
+ } else {
+ callback('璇疯緭鍏ユ纭牸寮忕殑鎵嬫満鍙风爜!')
+ }
+ }
+ },
+ validateEmail(rule, value, callback) {
+ if (!value) {
+ callback()
+ } else {
+ if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'email',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ console.log(res)
+ if (res.success) {
+ callback()
+ } else {
+ callback('閭宸插瓨鍦�!')
+ }
+ })
+ } else {
+ callback('璇疯緭鍏ユ纭牸寮忕殑閭!')
+ }
+ }
+ },
+ validateUsername(rule, value, callback) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'username',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('鐢ㄦ埛鍚嶅凡瀛樺湪!')
+ }
+ })
+ },
+ validateWorkNo(rule, value, callback) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'work_no',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('宸ュ彿宸插瓨鍦�!')
+ }
+ })
+ },
+ handleConfirmBlur(e) {
+ const value = e.target.value
+ this.confirmDirty = this.confirmDirty || !!value
+ },
+ beforeUpload: function(file) {
+ var fileType = file.type
+ if (fileType.indexOf('image') < 0) {
+ this.$message.warning('璇蜂笂浼犲浘鐗�')
+ return false
+ }
+ //TODO 楠岃瘉鏂囦欢澶у皬
+ },
+ identityChange(e) {
+ if (e.target.value === 1) {
+ this.departIdShow = false
+ } else {
+ this.departIdShow = true
+ }
+ },
+ initDictData(dictCode) {
+ //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+ ajaxGetDictItems(dictCode, null).then((res) => {
+ if (res.success) {
+ const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$')
+
+ this.validatorRules.password[0] = {
+ required: true,
+ pattern: regExp,
+ message: `瀵嗙爜鐢�${res.result[0].value}浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!`
+ }
+
+ }
+ })
+ },
+
+ deviceSearch() {
+ this.$refs.selectDeviceModal.visible = true
+ this.$refs.selectDeviceModal.selectedRowKeys = []
+ this.$refs.selectDeviceModal.selectedRows = []
+ this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : []
+ },
+
+ /**
+ * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
+ * @param data 宸查�夋嫨鐨勮澶囨暟缁�
+ */
+ selectOK(data) {
+ console.log('data=', data)
+ this.$set(this.model, 'equipmentIds', data.join(','))
+ }
}
+}
</script>
<style scoped>
- .avatar-uploader > .ant-upload {
- width: 104px;
- height: 104px;
- }
+.avatar-uploader > .ant-upload {
+ width: 104px;
+ height: 104px;
+}
- .ant-upload-select-picture-card i {
- font-size: 49px;
- color: #999;
- }
+.ant-upload-select-picture-card i {
+ font-size: 49px;
+ color: #999;
+}
- .ant-upload-select-picture-card .ant-upload-text {
- margin-top: 8px;
- color: #666;
- }
+.ant-upload-select-picture-card .ant-upload-text {
+ margin-top: 8px;
+ color: #666;
+}
- .ant-table-tbody .ant-table-row td {
- padding-top: 10px;
- padding-bottom: 10px;
- }
+.ant-table-tbody .ant-table-row td {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
- .drawer-bottom-button {
- position: absolute;
- bottom: -8px;
- width: 100%;
- border-top: 1px solid #e8e8e8;
- padding: 10px 16px;
- text-align: right;
- left: 0;
- background: #fff;
- border-radius: 0 0 2px 2px;
- }
+.drawer-bottom-button {
+ position: absolute;
+ bottom: -8px;
+ width: 100%;
+ border-top: 1px solid #e8e8e8;
+ padding: 10px 16px;
+ text-align: right;
+ left: 0;
+ background: #fff;
+ border-radius: 0 0 2px 2px;
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.3