@pangu-backend-ui/user-core 0.0.19 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +532 -683
- package/index.umd.cjs +1 -1
- package/package.json +2 -2
- package/types/components/FunctionDisable/AddFunctionDisableDialog.vue.d.ts +30 -0
- package/types/components/FunctionDisable/FunctionDisableTableDialog.vue.d.ts +43 -0
- package/types/components/FunctionDisable/index.d.ts +6 -0
- package/types/components/UserDetail/UserDetailDialog.vue.d.ts +41 -320
- package/types/components/index.d.ts +2 -1
- package/types/views/list.vue.d.ts +62 -319
- package/web-types.json +12 -0
- package/types/components/AddBlacklist/AddBlacklistComp.vue.d.ts +0 -322
- package/types/views/BlackListView.vue.d.ts +0 -777
package/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("@pangu-backend-ui/common")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","@pangu-backend-ui/common"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k["pg-user-core"]={},k.Vue,k.pinia,k.common))})(this,function(k,e,O,j){"use strict";const z={key:0,class:"container"},q=e.defineComponent({__name:"UserMobileComponent",props:{userId:{type:Number,default:null},maskMobile:{type:String,default:null}},setup(c){const i=c,n=e.ref({plainMobile:null,loading:!1}),r=e.inject("http");function d(){n.value.plainMobile==null&&(n.value.loading=!0,r==null||r.get(`/api/user/${i.userId}/plainmobile`).then(a=>{n.value.plainMobile=a.data,n.value.loading=!1}).finally(()=>{n.value.loading=!1}))}return(a,m)=>{const s=e.resolveComponent("View"),h=e.resolveComponent("el-icon"),V=e.resolveComponent("Loading");return i.maskMobile!=null?(e.openBlock(),e.createElementBlock("div",z,[n.value.plainMobile==null?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(i.maskMobile),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(n.value.plainMobile),1)],64)),n.value.plainMobile==null&&!n.value.loading&&i.userId!=null&&a.$hasPer("DECRYPT_MOBILE")?(e.openBlock(),e.createBlock(h,{key:2,class:"view-icon",onClick:d},{default:e.withCtx(()=>[e.createVNode(s)]),_:1})):e.createCommentVNode("",!0),n.value.loading?(e.openBlock(),e.createBlock(h,{key:3,class:"is-loading view-icon"},{default:e.withCtx(()=>[e.createVNode(V)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),oe="",$=(c,i)=>{const n=c.__vccOpts||c;for(const[r,d]of i)n[r]=d;return n},B=$(q,[["__scopeId","data-v-dd075891"]]),M={install:c=>{c.component("PgUserMobile",B)}},K=e.defineComponent({__name:"LoginHistory",props:["userId"],setup(c){const i=c,n=e.ref({userId:i.userId,loginTimeStart:null,loginTimeEnd:null}),r=e.ref([]);e.watch(r,m=>{m?(n.value.loginTimeStart=m[0],n.value.loginTimeEnd=m[1]):(n.value.loginTimeStart=null,n.value.loginTimeEnd=null)});const d=e.ref();function a(){d.value.search()}return(m,s)=>{const h=e.resolveComponent("el-date-picker"),V=e.resolveComponent("el-button"),_=e.resolveComponent("el-space"),f=e.resolveComponent("el-table-column"),p=e.resolveComponent("el-tag"),u=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(h,{modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=l=>r.value=l),type:"datetimerange","range-separator":"-","start-placeholder":"登录开始时间","end-placeholder":"登录结束时间",clearable:""},null,8,["modelValue"]),e.createVNode(V,{type:"primary",icon:"search",onClick:a},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1}),e.createVNode(u,{ref_key:"historiesTable",ref:d,style:{"margin-top":"10px"},"data-url":"/api/user/login-history",condition:n.value},{columns:e.withCtx(()=>[e.createVNode(f,{prop:"createdTime",label:"登录时间",align:"center","show-overflow-tooltip":""}),e.createVNode(f,{prop:"ip",label:"登录IP",align:"center","show-overflow-tooltip":""}),e.createVNode(f,{prop:"runtimeName",label:"运行容器",align:"center","show-overflow-tooltip":""}),e.createVNode(f,{label:"登录方式",align:"center","show-overflow-tooltip":""},{default:e.withCtx(({row:l})=>[l.method==="SMS"?(e.openBlock(),e.createBlock(p,{key:0,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("短信登录")]),_:1})):e.createCommentVNode("",!0),l.method==="THIRD_PLATFORM"?(e.openBlock(),e.createBlock(p,{key:1,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("第三方平台")]),_:1})):e.createCommentVNode("",!0),l.method==="UNIVERIFY"?(e.openBlock(),e.createBlock(p,{key:2,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("一键登录")]),_:1})):e.createCommentVNode("",!0),l.method==="PASSWORD"?(e.openBlock(),e.createBlock(p,{key:3,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("帐号密码")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(f,{prop:"thirdPlatformName",label:"第三方登录",align:"center","show-overflow-tooltip":""}),e.createVNode(f,{prop:"versionCode",label:"版本代码",align:"center","show-overflow-tooltip":""}),e.createVNode(f,{prop:"versionName",label:"版本名称",align:"center","show-overflow-tooltip":""})]),_:1},8,["condition"])],64)}}}),S=O.defineStore("pg-user-core-config-store",()=>{const c=[];return c.push({name:"登录历史",code:"LOGIN_HISTORY",component:e.shallowRef(K)}),{userDetailDialogTabs:e.computed(()=>c)}}),E=e.defineComponent({__name:"AddBlacklistComp",props:{hiddenEntranceSlot:{type:Boolean,default:!1},userId:{type:Number,required:!1}},emits:["success"],setup(c,{expose:i,emit:n}){const r=c,d=e.inject("http"),a=e.ref(!1);let m=e.ref(null);function s(t){a.value=!0;const o=t??r.userId;if(!o)throw Error("未设置用户ID");m.value=o,f(m.value)}const h=e.ref({description:[{required:!0,message:"请输入加入黑名单的说明"}],unlockTime:[{required:!0,message:"解锁时间不能为空"}]}),V=e.ref({userId:null,unlockTime:null,permissions:[],description:null}),_=e.ref();function f(t){d==null||d.get(`/api/user/${t}/blacklist-and-all-permission-codes`).then(o=>{var g,N,x,y,D;(g=o.data)!=null&&g.info&&((N=o.data)!=null&&N.info.allowPermissionCodes&&(V.value.permissions=JSON.parse((x=o.data)==null?void 0:x.info.allowPermissionCodes)),V.value.userId=(y=o.data)==null?void 0:y.info.userId,V.value.unlockTime=o.data.info.unlockTime,V.value.description=o.data.info.description),_.value=(D=o.data)==null?void 0:D.permissionCodes})}const p=e.ref();function u(){var t;(t=p.value)==null||t.resetFields()}function l(){var t;(t=p.value)==null||t.validate((o,g)=>{o&&(d==null||d.post(`/api/user/${m.value}/blacklist`,V.value).then(N=>{a.value=!1,n("success")}))})}const b=[{text:"三天",value:()=>{const t=new Date;return t.setDate(t.getDate()+3),t}},{text:"七天",value:()=>{const t=new Date;return t.setDate(t.getDate()+7),t}},{text:"十五天",value:()=>{const t=new Date;return t.setDate(t.getDate()+15),t}},{text:"一个月",value:()=>{const t=new Date;return t.setMonth(t.getMonth()+1),t}},{text:"三个月",value:()=>{const t=new Date;return t.setMonth(t.getMonth()+3),t}},{text:"六个月",value:()=>{const t=new Date;return t.setMonth(t.getMonth()+6),t}},{text:"永久",value:()=>{const t=new Date;return t.setFullYear(t.getFullYear()+100),t}}];return i({show:s}),(t,o)=>{const g=e.resolveComponent("el-button"),N=e.resolveComponent("el-date-picker"),x=e.resolveComponent("el-form-item"),y=e.resolveComponent("el-checkbox"),D=e.resolveComponent("el-checkbox-group"),w=e.resolveComponent("el-input"),T=e.resolveComponent("el-form"),U=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[r.hiddenEntranceSlot?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:0},()=>[e.createVNode(g,{icon:"lock",type:"warning",onClick:o[0]||(o[0]=C=>s())},{default:e.withCtx(()=>[e.createTextVNode("加入黑名单")]),_:1})]),e.createVNode(U,{modelValue:a.value,"onUpdate:modelValue":o[4]||(o[4]=C=>a.value=C),onClosed:u,title:"黑名单管理",width:"500"},{footer:e.withCtx(()=>[e.createVNode(g,{type:"primary",onClick:l},{default:e.withCtx(()=>[e.createTextVNode("提交")]),_:1})]),default:e.withCtx(()=>[e.createVNode(T,{ref_key:"form",ref:p,"label-position":"top",rules:h.value,model:V.value},{default:e.withCtx(()=>[e.createVNode(x,{label:"解锁时间",prop:"unlockTime"},{default:e.withCtx(()=>[e.createVNode(N,{type:"datetime",shortcuts:b,modelValue:V.value.unlockTime,"onUpdate:modelValue":o[1]||(o[1]=C=>V.value.unlockTime=C)},null,8,["modelValue"])]),_:1}),e.createVNode(x,{label:"允许权限",prop:"allowPermissionCodes"},{default:e.withCtx(()=>[e.createVNode(D,{modelValue:V.value.permissions,"onUpdate:modelValue":o[2]||(o[2]=C=>V.value.permissions=C)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(C,L)=>(e.openBlock(),e.createBlock(y,{label:L,key:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(x,{label:"描述",prop:"description"},{default:e.withCtx(()=>[e.createVNode(w,{type:"textarea",modelValue:V.value.description,"onUpdate:modelValue":o[3]||(o[3]=C=>V.value.description=C)},null,8,["modelValue"])]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["modelValue"])],64)}}}),Y={key:0},I=e.defineComponent({__name:"UserDetailDialog",setup(c,{expose:i}){const n=S(),r=e.inject("http"),d=e.ref(!1),a=e.ref(),m=e.ref(),s=e.ref({activeName:n.userDetailDialogTabs[0].code,tabs:[]}),h=e.ref(!1);function V(b,t,o){h.value=!0,_(b),t&&(s.value.activeName=t),s.value.tabs.length=0,s.value.tabs=s.value.tabs.concat(n.userDetailDialogTabs),o&&(s.value.tabs=s.value.tabs.concat(o))}function _(b){r==null||r.get(`/api/user/${b}`).then(t=>{a.value=t.data,h.value=!1,d.value=!0,a.value.inBlacklist&&f(b)})}function f(b){r==null||r.get(`/api/user/${b}/blacklist`).then(t=>{m.value=t.data})}const p=e.ref();function u(){p.value.show(a.value.id)}function l(){a.value=null,m.value=null}return i({show:V}),(b,t)=>{const o=e.resolveComponent("el-descriptions-item"),g=e.resolveComponent("el-tag"),N=e.resolveComponent("el-descriptions"),x=e.resolveComponent("el-tab-pane"),y=e.resolveComponent("el-tabs"),D=e.resolveComponent("el-button"),w=e.resolveComponent("el-dialog"),T=e.resolveDirective("loading"),U=e.resolveDirective("permission");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(w,{modelValue:d.value,"onUpdate:modelValue":t[1]||(t[1]=C=>d.value=C),title:"用户详情",width:"1300",onClosed:l},e.createSlots({default:e.withCtx(()=>[a.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(N,{border:""},{default:e.withCtx(()=>[e.createVNode(o,{label:"用户编号"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.id),1)]),_:1}),e.createVNode(o,{label:"用户昵称"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.nickname),1)]),_:1}),e.createVNode(o,{label:"手机号码"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(B,{"mask-mobile":a.value.mobile,"user-id":a.value.id,key:a.value.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(o,{label:"邀请编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inviteCode),1)]),_:1}),e.createVNode(o,{label:"活动时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.touchTime),1)]),_:1}),e.createVNode(o,{label:"注册时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.createdTime),1)]),_:1}),e.createVNode(o,{label:"最后登陆"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.lastLoginTime),1)]),_:1}),e.createVNode(o,{label:"最后更新"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.updatedTime),1)]),_:1}),e.createVNode(o,{label:"上级用户"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.parentId),1)]),_:1}),e.createVNode(o,{label:"黑名单"},{default:e.withCtx(()=>[e.createVNode(g,{type:a.value.inBlacklist?"danger":"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inBlacklist?"是":"否"),1)]),_:1},8,["type"])]),_:1}),e.createVNode(o,{label:"邀请关系"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.relationPath),1)]),_:1})]),_:1}),m.value?(e.openBlock(),e.createBlock(N,{key:0,style:{"margin-top":"10px"},border:"",column:"2"},{default:e.withCtx(()=>[e.createVNode(o,{label:"黑名单解锁时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.unlockTime),1)]),_:1}),e.createVNode(o,{label:"加入时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.createdTime),1)]),_:1}),e.createVNode(o,{label:"允许权限"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.allowPermissionCodes?JSON.parse(m.value.allowPermissionCodes).join(", "):""),1)]),_:1}),e.createVNode(o,{label:"描述"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.description),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(y,{modelValue:s.value.activeName,"onUpdate:modelValue":t[0]||(t[0]=C=>s.value.activeName=C),key:`usr_tab_${a.value.id}`,style:{"margin-top":"10px"},type:"border-card"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value.tabs,(C,L)=>(e.openBlock(),e.createBlock(x,{label:C.name,name:C.code,key:`user_detail_dialog_${C.code}`},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[s.value.activeName==C.code?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.component),{key:`ud_tab_${C.code}`,userId:a.value.id},null,8,["userId"])):e.createCommentVNode("",!0)],1024))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"]))])),[[T,h.value]]):e.createCommentVNode("",!0)]),_:2},[a.value?{name:"footer",fn:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(D,{icon:"lock",type:"warning",onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inBlacklist?"修改":"加入")+"黑名单",1)]),_:1})),[[U,"ADD_TO_BLACKLIST"]])]),key:"0"}:void 0]),1032,["modelValue"]),e.createVNode(E,{ref_key:"addBlacklistComp",ref:p,onSuccess:t[2]||(t[2]=C=>_(a.value.id)),"hidden-entrance-slot":""},null,512)],64)}}}),P={install:c=>{c.component("PgUserDetailDialog",I)}},A=e.defineComponent({__name:"UserSelectorComp",props:{modelValue:{required:!0,type:Number},pageSize:{type:Number,default:20}},emits:["update:modelValue"],setup(c,{emit:i}){const n=c,r=e.inject("http");e.onMounted(()=>{n.modelValue&&V(n.modelValue)});const d=e.ref(n.modelValue);e.watch(d,_=>{i("update:modelValue",_)});const a=e.ref(!1),m=e.ref([]);let s=null;function h(_){_&&(a.value=!0,s&&clearTimeout(s),s=setTimeout(()=>{r==null||r.get("/api/user/keyword-search",{keyword:_,pageSize:n.pageSize}).then(f=>{m.value=f.data}).finally(()=>{a.value=!1})},200))}function V(_){a.value=!0,r==null||r.get(`/api/user/${_}`).then(f=>{m.value=[f.data]}).finally(()=>{a.value=!1})}return(_,f)=>{const p=e.resolveComponent("el-option"),u=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(u,{modelValue:d.value,"onUpdate:modelValue":f[0]||(f[0]=l=>d.value=l),filterable:"",remote:"",loading:a.value,"remote-method":h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,l=>(e.openBlock(),e.createBlock(p,{key:l.id,value:l.id,label:`${l.id} / ${l.nickname} / ${l.mobile} / ${l.inviteCode}`},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{user:l},()=>[e.createTextVNode(e.toDisplayString(l.id)+" / "+e.toDisplayString(l.nickname)+" / "+e.toDisplayString(l.mobile)+" / "+e.toDisplayString(l.inviteCode),1)])]),_:2},1032,["value","label"]))),128))]),_:3},8,["modelValue","loading"])}}}),F={install:c=>{c.component("PgUserSelector",A)}},H=[M,P,F],J=c=>(e.pushScopeId("data-v-391c43be"),c=c(),e.popScopeId(),c),G={class:"page-layout"},W={style:{"margin-top":"10px"}},Q=J(()=>e.createElementVNode("template",{"slot-scope":"{row}"},null,-1)),X=e.defineComponent({__name:"list",setup(c){const i=e.ref({id:null,parentId:null,phone:null,nicekname:null,inviteCode:null}),n=e.ref(null);function r(){n.value.search()}const d=e.ref();function a(m){d.value.show(m.id)}return(m,s)=>{const h=e.resolveComponent("el-input"),V=e.resolveComponent("el-button"),_=e.resolveComponent("el-space"),f=e.resolveComponent("el-card"),p=e.resolveComponent("el-table-column"),u=e.resolveComponent("el-image");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",G,[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.value.id,"onUpdate:modelValue":s[0]||(s[0]=l=>i.value.id=l),placeholder:"ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(h,{modelValue:i.value.parentId,"onUpdate:modelValue":s[1]||(s[1]=l=>i.value.parentId=l),placeholder:"父用户ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(h,{modelValue:i.value.phone,"onUpdate:modelValue":s[2]||(s[2]=l=>i.value.phone=l),placeholder:"手机号",style:{width:"120px"},clearable:""},null,8,["modelValue"]),e.createVNode(h,{modelValue:i.value.nicekname,"onUpdate:modelValue":s[3]||(s[3]=l=>i.value.nicekname=l),placeholder:"昵称",style:{width:"150px"},clearable:""},null,8,["modelValue"]),e.createVNode(h,{modelValue:i.value.inviteCode,"onUpdate:modelValue":s[4]||(s[4]=l=>i.value.inviteCode=l),placeholder:"邀请码",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(V,{type:"primary",icon:"search",onClick:r},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",W,[e.createVNode(e.unref(j.PgTable),{ref_key:"userTable",ref:n,"data-url":"/api/user/page",condition:i.value,onRowDbClick:s[5]||(s[5]=l=>a(l))},{columns:e.withCtx(()=>[e.createVNode(p,{prop:"id",label:"UID",width:"80",align:"center"}),e.createVNode(p,{prop:"mobile",label:"手机",width:"115",align:"left","show-overflow-tooltip":""},{default:e.withCtx(l=>[(e.openBlock(),e.createBlock(B,{"mask-mobile":l.row.mobile,"user-id":l.row.id,key:l.row.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(p,{prop:"username",label:"用户名",width:"110",align:"left","show-overflow-tooltip":""}),e.createVNode(p,{prop:"nickname",label:"昵称",width:"110",align:"left","show-overflow-tooltip":""}),e.createVNode(p,{prop:"inviteCode",label:"邀请码",width:"90",align:"center","show-overflow-tooltip":""}),e.createVNode(p,{prop:"avatar",label:"头像",width:"60",align:"center","show-overflow-tooltip":""},{default:e.withCtx(l=>[e.createVNode(u,{fit:"cover",size:30,src:l.row.avatar,"preview-teleported":"","preview-src-list":[l.row.avatar]},null,8,["src","preview-src-list"])]),_:1}),e.createVNode(p,{prop:"parentId",label:"上级ID",width:"80",align:"left","show-overflow-tooltip":""}),e.createVNode(p,{prop:"relationPath",label:"邀请关系","min-width":"150",align:"left","show-overflow-tooltip":""}),e.createVNode(p,{prop:"blackUnlockTime",label:"黑名单解锁",width:"145",align:"left","show-overflow-tooltip":""}),e.createVNode(p,{prop:"lastLoginTime",label:"最后登录时间",width:"145",align:"center","show-overflow-tooltip":""}),e.createVNode(p,{prop:"createdTime",label:"创建时间",width:"145",align:"center","show-overflow-tooltip":""}),e.createVNode(p,{label:"操作",width:"220",fixed:"right"},{default:e.withCtx(()=>[Q]),_:1})]),_:1},8,["condition"])])]),e.createVNode(I,{ref_key:"userDetailDialog",ref:d},null,512)],64)}}}),le="",Z=$(X,[["__scopeId","data-v-391c43be"]]),v=e.defineComponent({__name:"BlackListView",setup(c){const i=e.inject("http"),n=e.ref({userId:null,status:"VALID"}),r=e.ref();function d(){r.value.search()}function a(_){i==null||i.post(`/api/user/blacklist/${_}/unlock`).then(f=>{d()})}const m=e.ref();function s(_){m.value.show(_)}const h=e.ref();function V(_){h.value.show(_)}return(_,f)=>{const p=e.resolveComponent("el-option"),u=e.resolveComponent("el-select"),l=e.resolveComponent("el-button"),b=e.resolveComponent("el-space"),t=e.resolveComponent("el-card"),o=e.resolveComponent("el-table-column"),g=e.resolveComponent("el-link"),N=e.resolveComponent("el-tag"),x=e.resolveComponent("el-popconfirm"),y=e.resolveComponent("pg-table"),D=e.resolveDirective("permission");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(A,{modelValue:n.value.userId,"onUpdate:modelValue":f[0]||(f[0]=w=>n.value.userId=w),clearable:"",style:{width:"300px"}},null,8,["modelValue"]),e.createVNode(u,{placeholder:"状态",modelValue:n.value.status,"onUpdate:modelValue":f[1]||(f[1]=w=>n.value.status=w),clearable:"",style:{width:"100px"}},{default:e.withCtx(()=>[e.createVNode(p,{value:"VALID",label:"有效"}),e.createVNode(p,{value:"INVALID",label:"失效"})]),_:1},8,["modelValue"]),e.createVNode(l,{icon:"search",type:"primary",onClick:d},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createVNode(y,{ref_key:"table",ref:r,"data-url":"/api/user/blacklist",condition:n.value,style:{"margin-top":"10px"}},{columns:e.withCtx(()=>[e.createVNode(o,{label:"ID",prop:"id",width:"100"}),e.createVNode(o,{label:"用户信息"},{default:e.withCtx(()=>[e.createVNode(o,{label:"用户ID",width:"100"},{default:e.withCtx(({row:w})=>[e.createVNode(g,{type:"primary",onClick:T=>V(w.userId)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.userId),1)]),_:2},1032,["onClick"])]),_:1}),e.createVNode(o,{label:"手机号",width:"150"},{default:e.withCtx(({row:w})=>[e.createVNode(B,{"user-id":w.userId,"mask-mobile":w.userMobile},null,8,["user-id","mask-mobile"])]),_:1}),e.createVNode(o,{label:"用户昵称",prop:"userNickname"})]),_:1}),e.createVNode(o,{label:"限制信息"},{default:e.withCtx(()=>[e.createVNode(o,{label:"描述",prop:"description"}),e.createVNode(o,{label:"允许权限",prop:"allowPermissionCodes","show-overflow-tooltip":""}),e.createVNode(o,{label:"状态",prop:"status",align:"center",width:"100"},{default:e.withCtx(({row:w})=>[e.createVNode(N,{type:w.status=="VALID"?"success":"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.status=="VALID"?"有效":"失效"),1)]),_:2},1032,["type"])]),_:1}),e.createVNode(o,{label:"加入时间",prop:"createdTime",width:"170"}),e.createVNode(o,{label:"解锁时间",prop:"unlockTime",width:"170"})]),_:1}),e.createVNode(o,null,{default:e.withCtx(({row:w})=>[w.status=="VALID"&&_.$hasPer("BLACKLIST_UNLOCK")?(e.openBlock(),e.createBlock(x,{key:0,title:"确定要解锁吗?",onConfirm:a},{reference:e.withCtx(()=>[e.createVNode(l,{type:"warning",icon:"unlock"},{default:e.withCtx(()=>[e.createTextVNode("解锁")]),_:1})]),_:1})):e.createCommentVNode("",!0),w.status=="VALID"?e.withDirectives((e.openBlock(),e.createBlock(l,{key:1,icon:"edit",onClick:T=>s(w.userId)},{default:e.withCtx(()=>[e.createTextVNode("编辑")]),_:2},1032,["onClick"])),[[D,"ADD_TO_BLACKLIST"]]):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["condition"]),e.createVNode(E,{ref_key:"addBlacklistComp",ref:m,onSuccess:d,"hidden-entrance-slot":""},null,512),e.createVNode(I,{ref_key:"userDetail",ref:h},null,512)],64)}}}),ee={install:(c,i)=>{let n=i.router,r=n.getRoutes().find(d=>d.path=="/");r&&r.meta&&n.addRoute({path:"/user",name:"User",redirect:"/user/list",component:r.meta.commonLayout,children:[{path:"list",name:"UserList",component:Z},{path:"blacklist",name:"BlackListView",component:v}]})}},R=(c,i)=>{const n=S();if(i.userDetailDialogTabs&&i.userDetailDialogTabs.length)for(let r of i.userDetailDialogTabs)n.userDetailDialogTabs.push(r);H.forEach(r=>c.use(r)),c.use(ee,i)},te={install:R};k.UserDetailDialog=P,k.UserMobileComp=M,k.UserSelectComp=F,k.default=te,k.install=R,k.useUserCoreConfigStore=S,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(u,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("element-plus"),require("@pangu-backend-ui/common")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","element-plus","@pangu-backend-ui/common"],e):(u=typeof globalThis<"u"?globalThis:u||self,e(u["pg-user-core"]={},u.Vue,u.pinia,u["element-plus"],u.common))})(this,function(u,e,O,I,j){"use strict";const Y={key:0,class:"container"},A=e.defineComponent({__name:"UserMobileComponent",props:{userId:{type:Number,default:null},maskMobile:{type:String,default:null}},setup(r){const i=r,a=e.ref({plainMobile:null,loading:!1}),l=e.inject("http");function c(){a.value.plainMobile==null&&(a.value.loading=!0,l==null||l.get(`/api/user/${i.userId}/plainmobile`).then(t=>{a.value.plainMobile=t.data,a.value.loading=!1}).finally(()=>{a.value.loading=!1}))}return(t,p)=>{const n=e.resolveComponent("View"),f=e.resolveComponent("el-icon"),C=e.resolveComponent("Loading");return i.maskMobile!=null?(e.openBlock(),e.createElementBlock("div",Y,[a.value.plainMobile==null?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(i.maskMobile),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.value.plainMobile),1)],64)),a.value.plainMobile==null&&!a.value.loading&&i.userId!=null&&t.$hasPer("DECRYPT_MOBILE")?(e.openBlock(),e.createBlock(f,{key:2,class:"view-icon",onClick:c},{default:e.withCtx(()=>[e.createVNode(n)]),_:1})):e.createCommentVNode("",!0),a.value.loading?(e.openBlock(),e.createBlock(f,{key:3,class:"is-loading view-icon"},{default:e.withCtx(()=>[e.createVNode(C)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),ae="",F=(r,i)=>{const a=r.__vccOpts||r;for(const[l,c]of i)a[l]=c;return a},y=F(A,[["__scopeId","data-v-dd075891"]]),E={install:r=>{r.component("PgUserMobile",y)}},q=e.defineComponent({__name:"LoginHistory",props:["userId"],setup(r){const i=r,a=e.ref({userId:i.userId,loginTimeStart:null,loginTimeEnd:null}),l=e.ref([]);e.watch(l,p=>{p?(a.value.loginTimeStart=p[0],a.value.loginTimeEnd=p[1]):(a.value.loginTimeStart=null,a.value.loginTimeEnd=null)});const c=e.ref();function t(){c.value.search()}return(p,n)=>{const f=e.resolveComponent("el-date-picker"),C=e.resolveComponent("el-button"),b=e.resolveComponent("el-space"),d=e.resolveComponent("el-table-column"),s=e.resolveComponent("el-tag"),m=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(f,{modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=o=>l.value=o),type:"datetimerange","range-separator":"-","start-placeholder":"登录开始时间","end-placeholder":"登录结束时间",clearable:""},null,8,["modelValue"]),e.createVNode(C,{type:"primary",icon:"search",onClick:t},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1}),e.createVNode(m,{ref_key:"historiesTable",ref:c,style:{"margin-top":"10px"},"data-url":"/api/user/login-history",condition:a.value},{columns:e.withCtx(()=>[e.createVNode(d,{prop:"createdTime",label:"登录时间",align:"center","show-overflow-tooltip":""}),e.createVNode(d,{prop:"ip",label:"登录IP",align:"center","show-overflow-tooltip":""}),e.createVNode(d,{prop:"runtimeName",label:"运行容器",align:"center","show-overflow-tooltip":""}),e.createVNode(d,{label:"登录方式",align:"center","show-overflow-tooltip":""},{default:e.withCtx(({row:o})=>[o.method==="SMS"?(e.openBlock(),e.createBlock(s,{key:0,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("短信登录")]),_:1})):e.createCommentVNode("",!0),o.method==="THIRD_PLATFORM"?(e.openBlock(),e.createBlock(s,{key:1,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("第三方平台")]),_:1})):e.createCommentVNode("",!0),o.method==="UNIVERIFY"?(e.openBlock(),e.createBlock(s,{key:2,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("一键登录")]),_:1})):e.createCommentVNode("",!0),o.method==="PASSWORD"?(e.openBlock(),e.createBlock(s,{key:3,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("帐号密码")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{prop:"thirdPlatformName",label:"第三方登录",align:"center","show-overflow-tooltip":""}),e.createVNode(d,{prop:"versionCode",label:"版本代码",align:"center","show-overflow-tooltip":""}),e.createVNode(d,{prop:"versionName",label:"版本名称",align:"center","show-overflow-tooltip":""})]),_:1},8,["condition"])],64)}}}),D=O.defineStore("pg-user-core-config-store",()=>{const r=[];return r.push({name:"登录历史",code:"LOGIN_HISTORY",component:e.shallowRef(q)}),{userDetailDialogTabs:e.computed(()=>r)}}),H={style:{width:"100%",position:"relative",display:"flex","flex-direction":"column",gap:"5px"}},G=e.defineComponent({__name:"AddFunctionDisableDialog",emits:["success"],setup(r,{expose:i,emit:a}){const l=e.ref(!1),c=e.inject("http"),t=e.ref({functionCode:null,expiry:null,remark:null,disableForever:!0}),p={functionCode:[{required:!0,message:"请选择禁用功能"}],expiry:[{validator:(m,o,V)=>{t.value.disableForever&&(o==null&&V(new Error("请选择结束时间")),new Date(o).getTime()<=new Date().getTime()&&V(new Error("结束时间不能小于当前时间"))),V()}}]},n=e.ref({});async function f(){const m=await(c==null?void 0:c.get("/api/user/function-disable/functions"));n.value=m==null?void 0:m.data}const C=e.ref();function b(){C.value.validate(async m=>{m&&(await(c==null?void 0:c.post(`/api/user/${d}/function-disable`,t.value)),I.ElMessage.success("添加成功"),l.value=!1,t.value.functionCode=null,t.value.expiry=null,t.value.remark=null,t.value.disableForever=!0,a("success"))})}let d=null;function s(m){l.value=!0,d=m,f()}return i({show:s}),(m,o)=>{const V=e.resolveComponent("el-option"),w=e.resolveComponent("el-select"),_=e.resolveComponent("el-form-item"),k=e.resolveComponent("el-checkbox"),g=e.resolveComponent("el-date-picker"),x=e.resolveComponent("el-input"),T=e.resolveComponent("el-form"),B=e.resolveComponent("el-button"),S=e.resolveComponent("el-dialog");return e.openBlock(),e.createBlock(S,{modelValue:l.value,"onUpdate:modelValue":o[4]||(o[4]=h=>l.value=h),title:"添加功能禁用",width:"500px","append-to-body":""},{footer:e.withCtx(()=>[e.createVNode(B,{type:"primary",size:"mini",onClick:b},{default:e.withCtx(()=>[e.createTextVNode("提交")]),_:1})]),default:e.withCtx(()=>[e.createVNode(T,{ref_key:"addDisabledFunctionForm",ref:C,model:t.value,rules:p,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(_,{label:"禁用功能",prop:"functionCode"},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:t.value.functionCode,"onUpdate:modelValue":o[0]||(o[0]=h=>t.value.functionCode=h),placeholder:"请选择禁用功能"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(h,U)=>(e.openBlock(),e.createBlock(V,{value:U,label:h},null,8,["value","label"]))),256))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(_,{label:"结束时间",prop:"endDateTime"},{default:e.withCtx(()=>[e.createElementVNode("div",H,[e.createVNode(k,{modelValue:t.value.disableForever,"onUpdate:modelValue":o[1]||(o[1]=h=>t.value.disableForever=h),label:"永久禁用"},null,8,["modelValue"]),t.value.disableForever?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0,type:"datetime",modelValue:t.value.expiry,"onUpdate:modelValue":o[2]||(o[2]=h=>t.value.expiry=h),placeholder:"请输入结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:""},null,8,["modelValue"]))])]),_:1}),e.createVNode(_,{label:"备注"},{default:e.withCtx(()=>[e.createVNode(x,{type:"textarea",placeholder:"请输入备注",modelValue:t.value.remark,"onUpdate:modelValue":o[3]||(o[3]=h=>t.value.remark=h)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),M=e.defineComponent({__name:"FunctionDisableTableDialog",setup(r,{expose:i}){const a=e.inject("http"),l=e.ref(!1),c=e.ref({userId:null}),t=e.ref();function p(d){l.value=!0,c.value.userId=d,e.nextTick(()=>t.value.search())}function n(){t.value.search()}const f=e.ref();function C(){f.value.show(c.value.userId)}async function b(d){await(a==null?void 0:a.post(`/api/user/function-disable/${d}/enable`)),I.ElMessage.success("失效成功"),t.value.search()}return i({show:p}),(d,s)=>{const m=e.resolveComponent("el-table-column"),o=e.resolveComponent("el-tag"),V=e.resolveComponent("el-button"),w=e.resolveComponent("el-popconfirm"),_=e.resolveComponent("pg-table"),k=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(k,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=g=>l.value=g),title:"功能禁用",width:"900px","append-to-body":""},{footer:e.withCtx(()=>[e.createVNode(V,{type:"primary",onClick:C},{default:e.withCtx(()=>[e.createTextVNode(" 添加功能禁用 ")]),_:1})]),default:e.withCtx(()=>[e.createVNode(_,{ref_key:"table",ref:t,"data-url":"/api/user/function-disable/page-search","fetch-data":!1,condition:c.value},{default:e.withCtx(()=>[e.createVNode(m,{prop:"id",label:"ID",width:"80",align:"center"}),e.createVNode(m,{label:"功能",prop:"functionLabel",align:"center",width:"120"}),e.createVNode(m,{label:"状态",width:"80",align:"center"},{default:e.withCtx(({row:g})=>[e.createVNode(o,{size:"mini",type:g.expiry==null||new Date(g.expiry).getTime()>=new Date().getTime()?"success":"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.expiry==null||new Date(g.expiry).getTime()>=new Date().getTime()?"生效":"失效"),1)]),_:2},1032,["type"])]),_:1}),e.createVNode(m,{label:"结束时间",align:"center",width:"160"},{default:e.withCtx(({row:g})=>[e.createTextVNode(e.toDisplayString(g.expiry?g.expiry:"永久"),1)]),_:1}),e.createVNode(m,{prop:"remark",label:"备注","show-overflow-tooltip":"",align:"center"}),e.createVNode(m,{prop:"createdTime",label:"创建时间",width:"160",align:"center"}),e.createVNode(m,{prop:"操作",width:"120",align:"center"},{default:e.withCtx(({row:g})=>[g.expiry==null||new Date(g.expiry).getTime()>=new Date().getTime()?(e.openBlock(),e.createBlock(w,{key:0,title:"确定当前操作吗?",onConfirm:x=>b(g.id)},{reference:e.withCtx(()=>[e.createVNode(V,{type:"warning"},{default:e.withCtx(()=>[e.createTextVNode("失效")]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["condition"])]),_:1},8,["modelValue"]),e.createVNode(G,{ref_key:"addFunctionDisableDialog",ref:f,onSuccess:n},null,512)],64)}}}),J={key:0},$=e.defineComponent({__name:"UserDetailDialog",setup(r,{expose:i}){const a=D(),l=e.inject("http"),c=e.ref(!1),t=e.ref(),p=e.ref(),n=e.ref({activeName:a.userDetailDialogTabs[0].code,tabs:[]}),f=e.ref(!1);function C(V,w,_){f.value=!0,b(V),w&&(n.value.activeName=w),n.value.tabs.length=0,n.value.tabs=n.value.tabs.concat(a.userDetailDialogTabs),_&&(n.value.tabs=n.value.tabs.concat(_))}function b(V){l==null||l.get(`/api/user/${V}`).then(w=>{t.value=w.data,f.value=!1,c.value=!0,t.value.inBlacklist&&d(V)})}function d(V){l==null||l.get(`/api/user/${V}/blacklist`).then(w=>{p.value=w.data})}const s=e.ref();function m(){s.value.show(t.value.id)}function o(){t.value=null,p.value=null}return i({show:C}),(V,w)=>{const _=e.resolveComponent("el-descriptions-item"),k=e.resolveComponent("el-tag"),g=e.resolveComponent("el-descriptions"),x=e.resolveComponent("el-tab-pane"),T=e.resolveComponent("el-tabs"),B=e.resolveComponent("el-button"),S=e.resolveComponent("el-dialog"),h=e.resolveDirective("loading"),U=e.resolveDirective("permission");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{modelValue:c.value,"onUpdate:modelValue":w[1]||(w[1]=N=>c.value=N),title:"用户详情",width:"1300",onClosed:o},e.createSlots({default:e.withCtx(()=>[t.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",J,[e.createVNode(g,{border:""},{default:e.withCtx(()=>[e.createVNode(_,{label:"用户编号"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.id),1)]),_:1}),e.createVNode(_,{label:"用户昵称"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.nickname),1)]),_:1}),e.createVNode(_,{label:"手机号码"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(y,{"mask-mobile":t.value.mobile,"user-id":t.value.id,key:t.value.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(_,{label:"邀请编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.inviteCode),1)]),_:1}),e.createVNode(_,{label:"活动时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.touchTime),1)]),_:1}),e.createVNode(_,{label:"注册时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.createdTime),1)]),_:1}),e.createVNode(_,{label:"最后登陆"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.lastLoginTime),1)]),_:1}),e.createVNode(_,{label:"最后更新"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.updatedTime),1)]),_:1}),e.createVNode(_,{label:"上级用户"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.parentId),1)]),_:1}),e.createVNode(_,{label:"黑名单"},{default:e.withCtx(()=>[e.createVNode(k,{type:t.value.inBlacklist?"danger":"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.inBlacklist?"是":"否"),1)]),_:1},8,["type"])]),_:1}),e.createVNode(_,{label:"邀请关系"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.relationPath),1)]),_:1})]),_:1}),p.value?(e.openBlock(),e.createBlock(g,{key:0,style:{"margin-top":"10px"},border:"",column:"2"},{default:e.withCtx(()=>[e.createVNode(_,{label:"黑名单解锁时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value.unlockTime),1)]),_:1}),e.createVNode(_,{label:"加入时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value.createdTime),1)]),_:1}),e.createVNode(_,{label:"允许权限"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value.allowPermissionCodes?JSON.parse(p.value.allowPermissionCodes).join(", "):""),1)]),_:1}),e.createVNode(_,{label:"描述"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value.description),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(T,{modelValue:n.value.activeName,"onUpdate:modelValue":w[0]||(w[0]=N=>n.value.activeName=N),key:`usr_tab_${t.value.id}`,style:{"margin-top":"10px"},type:"border-card"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.tabs,(N,ie)=>(e.openBlock(),e.createBlock(x,{label:N.name,name:N.code,key:`user_detail_dialog_${N.code}`},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[n.value.activeName==N.code?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.component),{key:`ud_tab_${N.code}`,userId:t.value.id},null,8,["userId"])):e.createCommentVNode("",!0)],1024))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"]))])),[[h,f.value]]):e.createCommentVNode("",!0)]),_:2},[t.value?{name:"footer",fn:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(B,{icon:"lock",type:"warning",onClick:m},{default:e.withCtx(()=>[e.createTextVNode("添加功能禁用")]),_:1})),[[U,"FUNCTION_DISABLE"]])]),key:"0"}:void 0]),1032,["modelValue"]),e.createVNode(M,{ref_key:"functionDisableTableDialog",ref:s},null,512)],64)}}}),L={install:r=>{r.component("PgUserDetailDialog",$)}},K=e.defineComponent({__name:"UserSelectorComp",props:{modelValue:{required:!0,type:Number},pageSize:{type:Number,default:20}},emits:["update:modelValue"],setup(r,{emit:i}){const a=r,l=e.inject("http");e.onMounted(()=>{a.modelValue&&C(a.modelValue)});const c=e.ref(a.modelValue);e.watch(c,b=>{i("update:modelValue",b)});const t=e.ref(!1),p=e.ref([]);let n=null;function f(b){b&&(t.value=!0,n&&clearTimeout(n),n=setTimeout(()=>{l==null||l.get("/api/user/keyword-search",{keyword:b,pageSize:a.pageSize}).then(d=>{p.value=d.data}).finally(()=>{t.value=!1})},200))}function C(b){t.value=!0,l==null||l.get(`/api/user/${b}`).then(d=>{p.value=[d.data]}).finally(()=>{t.value=!1})}return(b,d)=>{const s=e.resolveComponent("el-option"),m=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(m,{modelValue:c.value,"onUpdate:modelValue":d[0]||(d[0]=o=>c.value=o),filterable:"",remote:"",loading:t.value,"remote-method":f},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,o=>(e.openBlock(),e.createBlock(s,{key:o.id,value:o.id,label:`${o.id} / ${o.nickname} / ${o.mobile} / ${o.inviteCode}`},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{user:o},()=>[e.createTextVNode(e.toDisplayString(o.id)+" / "+e.toDisplayString(o.nickname)+" / "+e.toDisplayString(o.mobile)+" / "+e.toDisplayString(o.inviteCode),1)])]),_:2},1032,["value","label"]))),128))]),_:3},8,["modelValue","loading"])}}}),P={install:r=>{r.component("PgUserSelector",K)}},R={install:r=>{r.component("PgFunctionDisableTableDialog",M)}},W=[E,L,P,R],Q=r=>(e.pushScopeId("data-v-391c43be"),r=r(),e.popScopeId(),r),X={class:"page-layout"},Z={style:{"margin-top":"10px"}},v=Q(()=>e.createElementVNode("template",{"slot-scope":"{row}"},null,-1)),ee=e.defineComponent({__name:"list",setup(r){const i=e.ref({id:null,parentId:null,phone:null,nicekname:null,inviteCode:null}),a=e.ref(null);function l(){a.value.search()}const c=e.ref();function t(p){c.value.show(p.id)}return(p,n)=>{const f=e.resolveComponent("el-input"),C=e.resolveComponent("el-button"),b=e.resolveComponent("el-space"),d=e.resolveComponent("el-card"),s=e.resolveComponent("el-table-column"),m=e.resolveComponent("el-image");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",X,[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(f,{modelValue:i.value.id,"onUpdate:modelValue":n[0]||(n[0]=o=>i.value.id=o),placeholder:"ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(f,{modelValue:i.value.parentId,"onUpdate:modelValue":n[1]||(n[1]=o=>i.value.parentId=o),placeholder:"父用户ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(f,{modelValue:i.value.phone,"onUpdate:modelValue":n[2]||(n[2]=o=>i.value.phone=o),placeholder:"手机号",style:{width:"120px"},clearable:""},null,8,["modelValue"]),e.createVNode(f,{modelValue:i.value.nicekname,"onUpdate:modelValue":n[3]||(n[3]=o=>i.value.nicekname=o),placeholder:"昵称",style:{width:"150px"},clearable:""},null,8,["modelValue"]),e.createVNode(f,{modelValue:i.value.inviteCode,"onUpdate:modelValue":n[4]||(n[4]=o=>i.value.inviteCode=o),placeholder:"邀请码",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(C,{type:"primary",icon:"search",onClick:l},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",Z,[e.createVNode(e.unref(j.PgTable),{ref_key:"userTable",ref:a,"data-url":"/api/user/page",condition:i.value,onRowDbClick:n[5]||(n[5]=o=>t(o))},{columns:e.withCtx(()=>[e.createVNode(s,{prop:"id",label:"UID",width:"80",align:"center"}),e.createVNode(s,{prop:"mobile",label:"手机",width:"115",align:"left","show-overflow-tooltip":""},{default:e.withCtx(o=>[(e.openBlock(),e.createBlock(y,{"mask-mobile":o.row.mobile,"user-id":o.row.id,key:o.row.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(s,{prop:"username",label:"用户名",width:"110",align:"left","show-overflow-tooltip":""}),e.createVNode(s,{prop:"nickname",label:"昵称",width:"110",align:"left","show-overflow-tooltip":""}),e.createVNode(s,{prop:"inviteCode",label:"邀请码",width:"90",align:"center","show-overflow-tooltip":""}),e.createVNode(s,{prop:"avatar",label:"头像",width:"60",align:"center","show-overflow-tooltip":""},{default:e.withCtx(o=>[e.createVNode(m,{fit:"cover",size:30,src:o.row.avatar,"preview-teleported":"","preview-src-list":[o.row.avatar]},null,8,["src","preview-src-list"])]),_:1}),e.createVNode(s,{prop:"parentId",label:"上级ID",width:"80",align:"left","show-overflow-tooltip":""}),e.createVNode(s,{prop:"relationPath",label:"邀请关系","min-width":"150",align:"left","show-overflow-tooltip":""}),e.createVNode(s,{prop:"blackUnlockTime",label:"黑名单解锁",width:"145",align:"left","show-overflow-tooltip":""}),e.createVNode(s,{prop:"lastLoginTime",label:"最后登录时间",width:"145",align:"center","show-overflow-tooltip":""}),e.createVNode(s,{prop:"createdTime",label:"创建时间",width:"145",align:"center","show-overflow-tooltip":""}),e.createVNode(s,{label:"操作",width:"220",fixed:"right"},{default:e.withCtx(()=>[v]),_:1})]),_:1},8,["condition"])])]),e.createVNode($,{ref_key:"userDetailDialog",ref:c},null,512)],64)}}}),ne="",te=F(ee,[["__scopeId","data-v-391c43be"]]),oe={install:(r,i)=>{let a=i.router,l=a.getRoutes().find(c=>c.path=="/");l&&l.meta&&a.addRoute({path:"/user",name:"User",redirect:"/user/list",component:l.meta.commonLayout,children:[{path:"list",name:"UserList",component:te}]})}},z=(r,i)=>{const a=D();if(i.userDetailDialogTabs&&i.userDetailDialogTabs.length)for(let l of i.userDetailDialogTabs)a.userDetailDialogTabs.push(l);W.forEach(l=>r.use(l)),r.use(oe,i)},le={install:z};u.FunctionDisableDialog=R,u.UserDetailDialog=L,u.UserMobileComp=E,u.UserSelectComp=P,u.default=le,u.install=z,u.useUserCoreConfigStore=D,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pangu-backend-ui/user-core",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.20",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.js",
|
|
7
7
|
"unpkg": "index.umd.cjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"vue": "^3.2.45",
|
|
22
22
|
"vue-router": "^4.1.6",
|
|
23
23
|
"pinia": "^2.0.28",
|
|
24
|
-
"@pangu-backend-ui/common": "^0.0.
|
|
24
|
+
"@pangu-backend-ui/common": "^0.0.31"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"access": "public",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Http } from "@pangu-backend-ui/common";
|
|
2
|
+
declare const _sfc_main: import("vue").DefineComponent<{}, {
|
|
3
|
+
visible: import("vue").Ref<boolean>;
|
|
4
|
+
http: Http | undefined;
|
|
5
|
+
emits: (event: "success", ...args: any[]) => void;
|
|
6
|
+
form: import("vue").Ref<{
|
|
7
|
+
functionCode: null;
|
|
8
|
+
expiry: null;
|
|
9
|
+
remark: null;
|
|
10
|
+
disableForever: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
rules: {
|
|
13
|
+
functionCode: {
|
|
14
|
+
required: boolean;
|
|
15
|
+
message: string;
|
|
16
|
+
}[];
|
|
17
|
+
expiry: {
|
|
18
|
+
validator: (rule: any, value: string | null, callback: Function) => void;
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
functionCodes: any;
|
|
22
|
+
getFunctionCodes: () => Promise<void>;
|
|
23
|
+
addDisabledFunctionForm: import("vue").Ref<any>;
|
|
24
|
+
createDisabledFunction: () => void;
|
|
25
|
+
userId: number | null;
|
|
26
|
+
show: (userIdParam: number) => void;
|
|
27
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "success"[], "success", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
|
|
28
|
+
onSuccess?: ((...args: any[]) => any) | undefined;
|
|
29
|
+
}, {}>;
|
|
30
|
+
export default _sfc_main;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Http } from '@pangu-backend-ui/common';
|
|
2
|
+
declare const _sfc_main: import("vue").DefineComponent<{}, {
|
|
3
|
+
http: Http | undefined;
|
|
4
|
+
visible: import("vue").Ref<boolean>;
|
|
5
|
+
condition: import("vue").Ref<{
|
|
6
|
+
userId: number | null;
|
|
7
|
+
}>;
|
|
8
|
+
table: import("vue").Ref<any>;
|
|
9
|
+
show: (userId: number) => void;
|
|
10
|
+
search: () => void;
|
|
11
|
+
addFunctionDisableDialog: import("vue").Ref<any>;
|
|
12
|
+
showAddDisabledFunctionDialog: () => void;
|
|
13
|
+
enableFunction: (id: number) => Promise<void>;
|
|
14
|
+
AddFunctionDisableDialog: import("vue").DefineComponent<{}, {
|
|
15
|
+
visible: import("vue").Ref<boolean>;
|
|
16
|
+
http: Http | undefined;
|
|
17
|
+
emits: (event: "success", ...args: any[]) => void;
|
|
18
|
+
form: import("vue").Ref<{
|
|
19
|
+
functionCode: null;
|
|
20
|
+
expiry: null;
|
|
21
|
+
remark: null;
|
|
22
|
+
disableForever: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
rules: {
|
|
25
|
+
functionCode: {
|
|
26
|
+
required: boolean;
|
|
27
|
+
message: string;
|
|
28
|
+
}[];
|
|
29
|
+
expiry: {
|
|
30
|
+
validator: (rule: any, value: string | null, callback: Function) => void;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
functionCodes: any;
|
|
34
|
+
getFunctionCodes: () => Promise<void>;
|
|
35
|
+
addDisabledFunctionForm: import("vue").Ref<any>;
|
|
36
|
+
createDisabledFunction: () => void;
|
|
37
|
+
userId: number | null;
|
|
38
|
+
show: (userIdParam: number) => void;
|
|
39
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "success"[], "success", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
|
|
40
|
+
onSuccess?: ((...args: any[]) => any) | undefined;
|
|
41
|
+
}, {}>;
|
|
42
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
43
|
+
export default _sfc_main;
|