From 401235059061aa567555a391ad4c28c9d6a21f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Thu, 19 Jan 2023 20:24:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/components/MdpSelectUserXm/index.vue | 41 ++- .../core/xmGroup/XmGroupSelectForProduct.vue | 293 ++++++++++++++++++ ...Select.vue => XmGroupSelectForProject.vue} | 16 +- 3 files changed, 317 insertions(+), 33 deletions(-) create mode 100644 src/views/xm/core/xmGroup/XmGroupSelectForProduct.vue rename src/views/xm/core/xmGroup/{XmGroupSelect.vue => XmGroupSelectForProject.vue} (95%) diff --git a/src/views/xm/core/components/MdpSelectUserXm/index.vue b/src/views/xm/core/components/MdpSelectUserXm/index.vue index 3d2fd721..fa661dff 100644 --- a/src/views/xm/core/components/MdpSelectUserXm/index.vue +++ b/src/views/xm/core/components/MdpSelectUserXm/index.vue @@ -23,7 +23,10 @@ - 常用用户 部门用户项目组 + 常用用户 部门用户 + 项目组 + 产品组 + @@ -45,12 +48,15 @@ - + - - + + + + + @@ -58,13 +64,14 @@ import util from '@/common/js/util';//全局公共库 import UsersSelect from '@/views/mdp/sys/user/UsersSelectOnly.vue' - import XmGroupSelect from '@/views/xm/core/xmGroup/XmGroupSelect.vue' + import XmGroupSelectForProject from '@/views/xm/core/xmGroup/XmGroupSelectForProject.vue' + import XmGroupSelectForProduct from '@/views/xm/core/xmGroup/XmGroupSelectForProduct.vue' var us=localStorage.getItem("mdp-his-users") import imtUtil from '@/api/imgUtil';//全局公共库 var users=us?JSON.parse(us):[] export default { name: 'mdp-select-user-xm', - components: { UsersSelect, XmGroupSelect }, + components: { UsersSelect, XmGroupSelectForProject,XmGroupSelectForProduct }, computed: { avaterCpd(){ @@ -108,6 +115,7 @@ users:[], deptUserVisible:false, projectVisible:false, + productVisible:false, } }, watch:{ @@ -237,25 +245,11 @@ onChange(data){ this.$emit('change',data) }, - onProjectUsersConfirm(users){ + onTeamUsersConfirm(users){ this.onChange(users) this.myVal=users[0] this.projectVisible=false; - var notHad=false; - users.forEach(u=>{ - if(!this.users.some(k=>k.userid==u.userid)){ - notHad=true; - this.users.unshift(u) - } - }) - if(notHad){ - var us=JSON.stringify(this.users) - localStorage.setItem("mdp-his-users",us) - } - }, - onConfirmUsers(users){ - this.onChange(users) - this.myVal=users[0] + this.productVisible=false; this.deptUserVisible=false; var notHad=false; users.forEach(u=>{ @@ -268,7 +262,8 @@ var us=JSON.stringify(this.users) localStorage.setItem("mdp-his-users",us) } - } + }, + }, mounted(){ this.users=users diff --git a/src/views/xm/core/xmGroup/XmGroupSelectForProduct.vue b/src/views/xm/core/xmGroup/XmGroupSelectForProduct.vue new file mode 100644 index 00000000..5d70d9e5 --- /dev/null +++ b/src/views/xm/core/xmGroup/XmGroupSelectForProduct.vue @@ -0,0 +1,293 @@ + + + + + diff --git a/src/views/xm/core/xmGroup/XmGroupSelect.vue b/src/views/xm/core/xmGroup/XmGroupSelectForProject.vue similarity index 95% rename from src/views/xm/core/xmGroup/XmGroupSelect.vue rename to src/views/xm/core/xmGroup/XmGroupSelectForProject.vue index 5635b682..1a4a0470 100644 --- a/src/views/xm/core/xmGroup/XmGroupSelect.vue +++ b/src/views/xm/core/xmGroup/XmGroupSelectForProject.vue @@ -40,8 +40,7 @@ import { getGroups } from '@/api/xm/core/xmGroup'; import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect'; - import {mapGetters} from 'vuex' -import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' + import {mapGetters} from 'vuex' export default { computed: { @@ -50,7 +49,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' ]) }, // - props: ['visible','selProject','isSelectSingleUser','isSelectMultiUser','xmProduct'], + props: ['visible','selProject','isSelectSingleUser','isSelectMultiUser'], watch: { "selGroups": function(selGroups) { if(this.selGroups){ @@ -80,8 +79,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' return { filters: { key: '', - selProject:null, - xmProduct:null, + selProject:null, }, selGroups:[], load: {list: false,edit: false,del: false,add: false}, //查询中... @@ -92,8 +90,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' /**begin 自定义属性请在下面加 请加备注**/ xmGroupFormworkSels: [], - selectProjectVisible:false, - selectProductVisible:false, + selectProjectVisible:false, maxTableHeight:300, /**end 自定义属性请在上面加 请加备注**/ } @@ -158,8 +155,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' }, onProjectRowClick:function(project){ - this.filters.selProject=project - this.filters.xmProduct=null; + this.filters.selProject=project this.selectProjectVisible=false; this.getGroups(); }, @@ -172,7 +168,7 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' }, //end methods components: { - XmProjectSelect,XmProductSelect + XmProjectSelect }, mounted() { this.$nextTick(() => {