@pangu-backend-ui/user-core 0.0.12 → 0.0.14

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.umd.cjs CHANGED
@@ -1 +1 @@
1
- (function(m,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):(m=typeof globalThis<"u"?globalThis:m||self,e(m["pg-user-core"]={},m.Vue,m.pinia,m.common))})(this,function(m,e,x,D){"use strict";const T={key:0,class:"container"},B=e.defineComponent({__name:"UserMobileComponent",props:{userId:{type:Number,default:null},maskMobile:{type:String,default:null}},setup(l){const t=l,o=e.ref({plainMobile:null,loading:!1}),r=e.inject("http");function p(){o.value.plainMobile==null&&(o.value.loading=!0,r==null||r.get(`/api/user/${t.userId}/plainmobile`).then(i=>{o.value.plainMobile=i.data,o.value.loading=!1}).finally(()=>{o.value.loading=!1}))}return(i,d)=>{const c=e.resolveComponent("View"),_=e.resolveComponent("el-icon"),b=e.resolveComponent("Loading");return t.maskMobile!=null?(e.openBlock(),e.createElementBlock("div",T,[o.value.plainMobile==null?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.maskMobile),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(o.value.plainMobile),1)],64)),o.value.plainMobile==null&&!o.value.loading&&t.userId!=null?(e.openBlock(),e.createBlock(_,{key:2,class:"view-icon",onClick:p},{default:e.withCtx(()=>[e.createVNode(c)]),_:1})):e.createCommentVNode("",!0),o.value.loading?(e.openBlock(),e.createBlock(_,{key:3,class:"is-loading view-icon"},{default:e.withCtx(()=>[e.createVNode(b)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),q="",N=(l,t)=>{const o=l.__vccOpts||l;for(const[r,p]of t)o[r]=p;return o},V=N(B,[["__scopeId","data-v-76c9c9ae"]]),u={install:l=>{l.component("PgUserMobile",V)}};function S(){const l=e.inject("http");function t(o){return l==null?void 0:l.get(`/api/user/${o}`)}return{getUserDetail:t}}const U=e.defineComponent({__name:"LoginHistory",props:["userId"],setup(l){const t=l,o=e.ref({userId:t.userId,loginTimeStart:null,loginTimeEnd:null}),r=e.ref([]);e.watch(r,d=>{d?(o.value.loginTimeStart=d[0],o.value.loginTimeEnd=d[1]):(o.value.loginTimeStart=null,o.value.loginTimeEnd=null)});const p=e.ref();function i(){p.value.search()}return(d,c)=>{const _=e.resolveComponent("el-date-picker"),b=e.resolveComponent("el-button"),f=e.resolveComponent("el-space"),n=e.resolveComponent("el-table-column"),s=e.resolveComponent("el-tag"),h=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(_,{modelValue:r.value,"onUpdate:modelValue":c[0]||(c[0]=a=>r.value=a),type:"datetimerange","range-separator":"-","start-placeholder":"登录开始时间","end-placeholder":"登录结束时间",clearable:""},null,8,["modelValue"]),e.createVNode(b,{type:"primary",icon:"search",onClick:i},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1}),e.createVNode(h,{ref_key:"historiesTable",ref:p,style:{"margin-top":"10px"},"data-url":"/api/user/login-history",condition:o.value},{columns:e.withCtx(()=>[e.createVNode(n,{prop:"createdTime",label:"登录时间",align:"center","show-overflow-tooltip":""}),e.createVNode(n,{prop:"ip",label:"登录IP",align:"center","show-overflow-tooltip":""}),e.createVNode(n,{prop:"runtimeName",label:"运行容器",align:"center","show-overflow-tooltip":""}),e.createVNode(n,{label:"登录方式",align:"center","show-overflow-tooltip":""},{default:e.withCtx(({row:a})=>[a.method==="SMS"?(e.openBlock(),e.createBlock(s,{key:0,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("短信登录")]),_:1})):e.createCommentVNode("",!0),a.method==="THIRD_PLATFORM"?(e.openBlock(),e.createBlock(s,{key:1,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("第三方平台")]),_:1})):e.createCommentVNode("",!0),a.method==="UNIVERIFY"?(e.openBlock(),e.createBlock(s,{key:2,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("一键登录")]),_:1})):e.createCommentVNode("",!0),a.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(n,{prop:"thirdPlatformName",label:"第三方登录",align:"center","show-overflow-tooltip":""}),e.createVNode(n,{prop:"versionCode",label:"版本代码",align:"center","show-overflow-tooltip":""}),e.createVNode(n,{prop:"versionName",label:"版本名称",align:"center","show-overflow-tooltip":""})]),_:1},8,["condition"])],64)}}}),w=x.defineStore("pg-user-core-config-store",()=>{const l=[];return l.push({name:"登录历史",code:"LOGIN_HISTORY",component:U}),{userDetailDialogTabs:e.computed(()=>l)}}),C=e.defineComponent({__name:"UserDetailDialog",setup(l,{expose:t}){const{getUserDetail:o}=S(),r=w(),p=e.ref(!1),i=e.ref(),d=e.ref({activeName:r.userDetailDialogTabs[0].code,tabs:[]}),c=e.ref(!1);function _(b,f){var n;c.value=!0,(n=o(b))==null||n.then(s=>{i.value=s.data,c.value=!1,p.value=!0,d.value.tabs.length=0,d.value.tabs=d.value.tabs.concat(r.userDetailDialogTabs),f&&(d.value.tabs=d.value.tabs.concat(f))})}return t({show:_}),(b,f)=>{const n=e.resolveComponent("el-descriptions-item"),s=e.resolveComponent("el-descriptions"),h=e.resolveComponent("el-tab-pane"),a=e.resolveComponent("el-tabs"),z=e.resolveComponent("el-dialog"),j=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createBlock(z,{modelValue:p.value,"onUpdate:modelValue":f[1]||(f[1]=g=>p.value=g),title:"用户详情",width:"1300"},{default:e.withCtx(()=>[e.createVNode(s,{border:""},{default:e.withCtx(()=>[e.createVNode(n,{label:"用户编号"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.id),1)]),_:1}),e.createVNode(n,{label:"用户昵称"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.nickname),1)]),_:1}),e.createVNode(n,{label:"手机号码"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(V,{"mask-mobile":i.value.mobile,"user-id":i.value.id,key:i.value.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(n,{label:"邀请编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.inviteCode),1)]),_:1}),e.createVNode(n,{label:"活动时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.touchTime),1)]),_:1}),e.createVNode(n,{label:"注册时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.createdTime),1)]),_:1}),e.createVNode(n,{label:"最后登陆"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.lastLoginTime),1)]),_:1}),e.createVNode(n,{label:"最后更新"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.updatedTime),1)]),_:1}),e.createVNode(n,{label:"上级用户"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.parentId),1)]),_:1}),e.createVNode(n,{label:"邀请关系"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value.relationPath),1)]),_:1})]),_:1}),e.createVNode(a,{modelValue:d.value.activeName,"onUpdate:modelValue":f[0]||(f[0]=g=>d.value.activeName=g),style:{"margin-top":"10px"},type:"border-card"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.tabs,(g,H)=>(e.openBlock(),e.createBlock(h,{label:g.name,name:g.code,key:`user_detail_dialog_${g.code}`},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[d.value.activeName==g.code?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.component),{key:`ud_tab_${g.code}`,userId:i.value.id},null,8,["userId"])):e.createCommentVNode("",!0)],1024))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])),[[j,c.value]])}}}),k={install:l=>{l.component("PgUserDetailDialog",C)}},I=[u,k],M=l=>(e.pushScopeId("data-v-391c43be"),l=l(),e.popScopeId(),l),E={class:"page-layout"},L={style:{"margin-top":"10px"}},P=M(()=>e.createElementVNode("template",{"slot-scope":"{row}"},null,-1)),R=e.defineComponent({__name:"list",setup(l){const t=e.ref({id:null,parentId:null,phone:null,nicekname:null,inviteCode:null}),o=e.ref(null);function r(){o.value.search()}const p=e.ref();function i(d){p.value.show(d.id)}return(d,c)=>{const _=e.resolveComponent("el-input"),b=e.resolveComponent("el-button"),f=e.resolveComponent("el-space"),n=e.resolveComponent("el-card"),s=e.resolveComponent("el-table-column"),h=e.resolveComponent("el-image");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",E,[e.createVNode(n,null,{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(_,{modelValue:t.value.id,"onUpdate:modelValue":c[0]||(c[0]=a=>t.value.id=a),placeholder:"ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(_,{modelValue:t.value.parentId,"onUpdate:modelValue":c[1]||(c[1]=a=>t.value.parentId=a),placeholder:"父用户ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(_,{modelValue:t.value.phone,"onUpdate:modelValue":c[2]||(c[2]=a=>t.value.phone=a),placeholder:"手机号",style:{width:"120px"},clearable:""},null,8,["modelValue"]),e.createVNode(_,{modelValue:t.value.nicekname,"onUpdate:modelValue":c[3]||(c[3]=a=>t.value.nicekname=a),placeholder:"昵称",style:{width:"150px"},clearable:""},null,8,["modelValue"]),e.createVNode(_,{modelValue:t.value.inviteCode,"onUpdate:modelValue":c[4]||(c[4]=a=>t.value.inviteCode=a),placeholder:"邀请码",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(b,{type:"primary",icon:"search",onClick:r},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",L,[e.createVNode(e.unref(D.PgTable),{ref_key:"userTable",ref:o,"data-url":"/api/user/page",condition:t.value,onRowDbClick:c[5]||(c[5]=a=>i(a))},{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(a=>[(e.openBlock(),e.createBlock(V,{"mask-mobile":a.row.mobile,"user-id":a.row.id,key:a.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(a=>[e.createVNode(h,{fit:"cover",size:30,src:a.row.avatar,"preview-teleported":"","preview-src-list":[a.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(()=>[P]),_:1})]),_:1},8,["condition"])])]),e.createVNode(C,{ref_key:"userDetailDialog",ref:p},null,512)],64)}}}),A="",$=N(R,[["__scopeId","data-v-391c43be"]]),F={install:(l,t)=>{let o=t.router,r=o.getRoutes().find(p=>p.path=="/");r&&r.meta&&o.addRoute({path:"/user",name:"User",redirect:"/user/list",component:r.meta.commonLayout,children:[{path:"list",name:"UserList",component:$}]})}},y=(l,t)=>{const o=w();if(t.userDetailDialogTabs&&t.userDetailDialogTabs.length)for(let r of t.userDetailDialogTabs)o.userDetailDialogTabs.push(r);I.forEach(r=>l.use(r)),l.use(F,t)},O={install:y};m.UserDetailDialog=k,m.UserMobileComp=u,m.default=O,m.install=y,m.useUserCoreConfigStore=w,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
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,A,R){"use strict";const j={key:0,class:"container"},z=e.defineComponent({__name:"UserMobileComponent",props:{userId:{type:Number,default:null},maskMobile:{type:String,default:null}},setup(m){const n=m,o=e.ref({plainMobile:null,loading:!1}),i=e.inject("http");function d(){o.value.plainMobile==null&&(o.value.loading=!0,i==null||i.get(`/api/user/${n.userId}/plainmobile`).then(a=>{o.value.plainMobile=a.data,o.value.loading=!1}).finally(()=>{o.value.loading=!1}))}return(a,_)=>{const r=e.resolveComponent("View"),V=e.resolveComponent("el-icon"),c=e.resolveComponent("Loading");return n.maskMobile!=null?(e.openBlock(),e.createElementBlock("div",j,[o.value.plainMobile==null?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(n.maskMobile),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(o.value.plainMobile),1)],64)),o.value.plainMobile==null&&!o.value.loading&&n.userId!=null?(e.openBlock(),e.createBlock(V,{key:2,class:"view-icon",onClick:d},{default:e.withCtx(()=>[e.createVNode(r)]),_:1})):e.createCommentVNode("",!0),o.value.loading?(e.openBlock(),e.createBlock(V,{key:3,class:"is-loading view-icon"},{default:e.withCtx(()=>[e.createVNode(c)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),ee="",U=(m,n)=>{const o=m.__vccOpts||m;for(const[i,d]of n)o[i]=d;return o},T=U(z,[["__scopeId","data-v-76c9c9ae"]]),M={install:m=>{m.component("PgUserMobile",T)}},O=e.defineComponent({__name:"LoginHistory",props:["userId"],setup(m){const n=m,o=e.ref({userId:n.userId,loginTimeStart:null,loginTimeEnd:null}),i=e.ref([]);e.watch(i,_=>{_?(o.value.loginTimeStart=_[0],o.value.loginTimeEnd=_[1]):(o.value.loginTimeStart=null,o.value.loginTimeEnd=null)});const d=e.ref();function a(){d.value.search()}return(_,r)=>{const V=e.resolveComponent("el-date-picker"),c=e.resolveComponent("el-button"),b=e.resolveComponent("el-space"),h=e.resolveComponent("el-table-column"),p=e.resolveComponent("el-tag"),C=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=s=>i.value=s),type:"datetimerange","range-separator":"-","start-placeholder":"登录开始时间","end-placeholder":"登录结束时间",clearable:""},null,8,["modelValue"]),e.createVNode(c,{type:"primary",icon:"search",onClick:a},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1}),e.createVNode(C,{ref_key:"historiesTable",ref:d,style:{"margin-top":"10px"},"data-url":"/api/user/login-history",condition:o.value},{columns:e.withCtx(()=>[e.createVNode(h,{prop:"createdTime",label:"登录时间",align:"center","show-overflow-tooltip":""}),e.createVNode(h,{prop:"ip",label:"登录IP",align:"center","show-overflow-tooltip":""}),e.createVNode(h,{prop:"runtimeName",label:"运行容器",align:"center","show-overflow-tooltip":""}),e.createVNode(h,{label:"登录方式",align:"center","show-overflow-tooltip":""},{default:e.withCtx(({row:s})=>[s.method==="SMS"?(e.openBlock(),e.createBlock(p,{key:0,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("短信登录")]),_:1})):e.createCommentVNode("",!0),s.method==="THIRD_PLATFORM"?(e.openBlock(),e.createBlock(p,{key:1,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("第三方平台")]),_:1})):e.createCommentVNode("",!0),s.method==="UNIVERIFY"?(e.openBlock(),e.createBlock(p,{key:2,type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode("一键登录")]),_:1})):e.createCommentVNode("",!0),s.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(h,{prop:"thirdPlatformName",label:"第三方登录",align:"center","show-overflow-tooltip":""}),e.createVNode(h,{prop:"versionCode",label:"版本代码",align:"center","show-overflow-tooltip":""}),e.createVNode(h,{prop:"versionName",label:"版本名称",align:"center","show-overflow-tooltip":""})]),_:1},8,["condition"])],64)}}}),B=A.defineStore("pg-user-core-config-store",()=>{const m=[];return m.push({name:"登录历史",code:"LOGIN_HISTORY",component:O}),{userDetailDialogTabs:e.computed(()=>m)}}),$=e.defineComponent({__name:"AddBlacklistComp",props:{hiddenEntranceSlot:{type:Boolean,default:!1},userId:{type:Number,required:!0}},emits:["success"],setup(m,{expose:n,emit:o}){const i=m,d=e.inject("http"),a=e.ref(!1);let _=e.ref(null);function r(t){a.value=!0,_.value=t??i.userId,t&&h(_.value)}const V=e.ref({description:[{required:!0,message:"请输入加入黑名单的说明"}],unlockTime:[{required:!0,message:"解锁时间不能为空"}]}),c=e.ref({userId:null,unlockTime:null,permissions:[],description:null}),b=e.ref();function h(t){d==null||d.get(`/api/user/${t}/blacklist-and-all-permission-codes`).then(l=>{var N,x,f,y,D;(N=l.data)!=null&&N.info&&((x=l.data)!=null&&x.info.allowPermissionCodes&&(c.value.permissions=JSON.parse((f=l.data)==null?void 0:f.info.allowPermissionCodes)),c.value.userId=(y=l.data)==null?void 0:y.info.userId,c.value.unlockTime=l.data.info.unlockTime,c.value.description=l.data.info.description),b.value=(D=l.data)==null?void 0:D.permissionCodes})}const p=e.ref();function C(){var t;(t=p.value)==null||t.resetFields()}function s(){var t;(t=p.value)==null||t.validate((l,N)=>{l&&(d==null||d.post(`/api/user/${_.value}/blacklist`,c.value).then(x=>{a.value=!1,o("success")}))})}const w=[{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 n({show:r}),(t,l)=>{const N=e.resolveComponent("el-button"),x=e.resolveComponent("el-date-picker"),f=e.resolveComponent("el-form-item"),y=e.resolveComponent("el-checkbox"),D=e.resolveComponent("el-checkbox-group"),S=e.resolveComponent("el-input"),I=e.resolveComponent("el-form"),u=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[i.hiddenEntranceSlot?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:0},()=>[e.createVNode(N,{icon:"lock",type:"warning",onClick:l[0]||(l[0]=g=>r())},{default:e.withCtx(()=>[e.createTextVNode("加入黑名单")]),_:1})]),e.createVNode(u,{modelValue:a.value,"onUpdate:modelValue":l[4]||(l[4]=g=>a.value=g),onClosed:C,title:"黑名单管理",width:"500"},{footer:e.withCtx(()=>[e.createVNode(N,{type:"primary",onClick:s},{default:e.withCtx(()=>[e.createTextVNode("提交")]),_:1})]),default:e.withCtx(()=>[e.createVNode(I,{ref_key:"form",ref:p,"label-position":"top",rules:V.value,model:c.value},{default:e.withCtx(()=>[e.createVNode(f,{label:"解锁时间",prop:"unlockTime"},{default:e.withCtx(()=>[e.createVNode(x,{type:"datetime",shortcuts:w,modelValue:c.value.unlockTime,"onUpdate:modelValue":l[1]||(l[1]=g=>c.value.unlockTime=g)},null,8,["modelValue"])]),_:1}),e.createVNode(f,{label:"允许权限",prop:"allowPermissionCodes"},{default:e.withCtx(()=>[e.createVNode(D,{modelValue:c.value.permissions,"onUpdate:modelValue":l[2]||(l[2]=g=>c.value.permissions=g)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(g,F)=>(e.openBlock(),e.createBlock(y,{label:F,key:F},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(f,{label:"描述",prop:"description"},{default:e.withCtx(()=>[e.createVNode(S,{type:"textarea",modelValue:c.value.description,"onUpdate:modelValue":l[3]||(l[3]=g=>c.value.description=g)},null,8,["modelValue"])]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["modelValue"])],64)}}}),L=e.defineComponent({__name:"UserDetailDialog",setup(m,{expose:n}){const o=B(),i=e.inject("http"),d=e.ref(!1),a=e.ref(),_=e.ref(),r=e.ref({activeName:o.userDetailDialogTabs[0].code,tabs:[]}),V=e.ref(!1);function c(w,t,l){V.value=!0,b(w),t&&(r.value.activeName=t),r.value.tabs.length=0,r.value.tabs=r.value.tabs.concat(o.userDetailDialogTabs),l&&(r.value.tabs=r.value.tabs.concat(l))}function b(w){i==null||i.get(`/api/user/${w}`).then(t=>{a.value=t.data,V.value=!1,d.value=!0,a.value.inBlacklist&&h(w)})}function h(w){i==null||i.get(`/api/user/${w}/blacklist`).then(t=>{_.value=t.data})}const p=e.ref();function C(){p.value.show(a.value.id)}function s(){a.value=null,_.value=null}return n({show:c}),(w,t)=>{const l=e.resolveComponent("el-descriptions-item"),N=e.resolveComponent("el-tag"),x=e.resolveComponent("el-descriptions"),f=e.resolveComponent("el-tab-pane"),y=e.resolveComponent("el-tabs"),D=e.resolveComponent("el-button"),S=e.resolveComponent("el-dialog"),I=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createBlock(S,{modelValue:d.value,"onUpdate:modelValue":t[1]||(t[1]=u=>d.value=u),title:"用户详情",width:"1300",onClosed:s},{footer:e.withCtx(()=>[e.createVNode(D,{icon:"lock",type:"warning",onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inBlacklist?"修改":"加入")+"黑名单",1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(x,{border:""},{default:e.withCtx(()=>[e.createVNode(l,{label:"用户编号"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.id),1)]),_:1}),e.createVNode(l,{label:"用户昵称"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.nickname),1)]),_:1}),e.createVNode(l,{label:"手机号码"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(T,{"mask-mobile":a.value.mobile,"user-id":a.value.id,key:a.value.id},null,8,["mask-mobile","user-id"]))]),_:1}),e.createVNode(l,{label:"邀请编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inviteCode),1)]),_:1}),e.createVNode(l,{label:"活动时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.touchTime),1)]),_:1}),e.createVNode(l,{label:"注册时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.createdTime),1)]),_:1}),e.createVNode(l,{label:"最后登陆"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.lastLoginTime),1)]),_:1}),e.createVNode(l,{label:"最后更新"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.updatedTime),1)]),_:1}),e.createVNode(l,{label:"上级用户"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.parentId),1)]),_:1}),e.createVNode(l,{label:"黑名单"},{default:e.withCtx(()=>[e.createVNode(N,{type:a.value.inBlacklist?"danger":"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.inBlacklist?"是":"否"),1)]),_:1},8,["type"])]),_:1}),e.createVNode(l,{label:"邀请关系"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value.relationPath),1)]),_:1})]),_:1}),_.value?(e.openBlock(),e.createBlock(x,{key:0,style:{"margin-top":"10px"},border:"",column:"2"},{default:e.withCtx(()=>[e.createVNode(l,{label:"黑名单解锁时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value.unlockTime),1)]),_:1}),e.createVNode(l,{label:"加入时间"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value.createdTime),1)]),_:1}),e.createVNode(l,{label:"允许权限"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value.allowPermissionCodes?JSON.parse(_.value.allowPermissionCodes).join(", "):""),1)]),_:1}),e.createVNode(l,{label:"描述"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value.description),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(y,{modelValue:r.value.activeName,"onUpdate:modelValue":t[0]||(t[0]=u=>r.value.activeName=u),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(r.value.tabs,(u,g)=>(e.openBlock(),e.createBlock(f,{label:u.name,name:u.code,key:`user_detail_dialog_${u.code}`},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[r.value.activeName==u.code?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.component),{key:`ud_tab_${u.code}`,userId:a.value.id},null,8,["userId"])):e.createCommentVNode("",!0)],1024))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"]))]),_:1},8,["modelValue"])),[[I,V.value]]),e.createVNode($,{ref_key:"addBlacklistComp",ref:p,onSuccess:t[2]||(t[2]=u=>b(a.value.id)),"hidden-entrance-slot":""},null,512)],64)}}}),E={install:m=>{m.component("PgUserDetailDialog",L)}},q=[M,E],Y=m=>(e.pushScopeId("data-v-391c43be"),m=m(),e.popScopeId(),m),H={class:"page-layout"},J={style:{"margin-top":"10px"}},G=Y(()=>e.createElementVNode("template",{"slot-scope":"{row}"},null,-1)),K=e.defineComponent({__name:"list",setup(m){const n=e.ref({id:null,parentId:null,phone:null,nicekname:null,inviteCode:null}),o=e.ref(null);function i(){o.value.search()}const d=e.ref();function a(_){d.value.show(_.id)}return(_,r)=>{const V=e.resolveComponent("el-input"),c=e.resolveComponent("el-button"),b=e.resolveComponent("el-space"),h=e.resolveComponent("el-card"),p=e.resolveComponent("el-table-column"),C=e.resolveComponent("el-image");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",H,[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,{modelValue:n.value.id,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value.id=s),placeholder:"ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(V,{modelValue:n.value.parentId,"onUpdate:modelValue":r[1]||(r[1]=s=>n.value.parentId=s),placeholder:"父用户ID",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(V,{modelValue:n.value.phone,"onUpdate:modelValue":r[2]||(r[2]=s=>n.value.phone=s),placeholder:"手机号",style:{width:"120px"},clearable:""},null,8,["modelValue"]),e.createVNode(V,{modelValue:n.value.nicekname,"onUpdate:modelValue":r[3]||(r[3]=s=>n.value.nicekname=s),placeholder:"昵称",style:{width:"150px"},clearable:""},null,8,["modelValue"]),e.createVNode(V,{modelValue:n.value.inviteCode,"onUpdate:modelValue":r[4]||(r[4]=s=>n.value.inviteCode=s),placeholder:"邀请码",style:{width:"100px"},clearable:""},null,8,["modelValue"]),e.createVNode(c,{type:"primary",icon:"search",onClick:i},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",J,[e.createVNode(e.unref(R.PgTable),{ref_key:"userTable",ref:o,"data-url":"/api/user/page",condition:n.value,onRowDbClick:r[5]||(r[5]=s=>a(s))},{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(s=>[(e.openBlock(),e.createBlock(T,{"mask-mobile":s.row.mobile,"user-id":s.row.id,key:s.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(s=>[e.createVNode(C,{fit:"cover",size:30,src:s.row.avatar,"preview-teleported":"","preview-src-list":[s.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(()=>[G]),_:1})]),_:1},8,["condition"])])]),e.createVNode(L,{ref_key:"userDetailDialog",ref:d},null,512)],64)}}}),te="",W=U(K,[["__scopeId","data-v-391c43be"]]),Q=e.defineComponent({__name:"UserSelectorComp",props:{modelValue:{required:!0,type:Number},pageSize:{type:Number,default:20}},emits:["update:modelValue"],setup(m,{emit:n}){const o=m,i=e.inject("http"),d=e.ref(o.modelValue);e.watch(d,c=>{n("update:modelValue",c)});const a=e.ref(!1),_=e.ref([]);let r=null;function V(c){c&&(a.value=!0,r&&clearTimeout(r),r=setTimeout(()=>{i==null||i.get("/api/user/keyword-search",{keyword:c,pageSize:o.pageSize}).then(b=>{_.value=b.data}).finally(()=>{a.value=!1})},200))}return(c,b)=>{const h=e.resolveComponent("el-option"),p=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(p,{modelValue:d.value,"onUpdate:modelValue":b[0]||(b[0]=C=>d.value=C),filterable:"",remote:"",loading:a.value,"remote-method":V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,C=>(e.openBlock(),e.createBlock(h,{key:C.id,value:C.id,label:`${C.id} / ${C.nickname} / ${C.mobile} / ${C.inviteCode}`},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{user:C},()=>[e.createTextVNode(e.toDisplayString(C.id)+" / "+e.toDisplayString(C.nickname)+" / "+e.toDisplayString(C.mobile)+" / "+e.toDisplayString(C.inviteCode),1)])]),_:2},1032,["value","label"]))),128))]),_:3},8,["modelValue","loading"])}}}),X=e.defineComponent({__name:"BlackListView",setup(m){const n=e.inject("http"),o=e.ref({userId:null,status:"VALID"}),i=e.ref();function d(){i.value.search()}function a(V){n==null||n.post(`/api/user/blacklist/${V}/unlock`).then(c=>{d()})}const _=e.ref();function r(V){_.value.show(V)}return(V,c)=>{const b=e.resolveComponent("el-option"),h=e.resolveComponent("el-select"),p=e.resolveComponent("el-button"),C=e.resolveComponent("el-space"),s=e.resolveComponent("el-card"),w=e.resolveComponent("el-table-column"),t=e.resolveComponent("el-link"),l=e.resolveComponent("el-tag"),N=e.resolveComponent("el-popconfirm"),x=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(Q,{modelValue:o.value.userId,"onUpdate:modelValue":c[0]||(c[0]=f=>o.value.userId=f),clearable:"",style:{width:"300px"}},null,8,["modelValue"]),e.createVNode(h,{placeholder:"状态",modelValue:o.value.status,"onUpdate:modelValue":c[1]||(c[1]=f=>o.value.status=f),clearable:"",style:{width:"100px"}},{default:e.withCtx(()=>[e.createVNode(b,{value:"VALID",label:"有效"}),e.createVNode(b,{value:"INVALID",label:"失效"})]),_:1},8,["modelValue"]),e.createVNode(p,{icon:"search",type:"primary",onClick:d},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1})]),_:1})]),_:1}),e.createVNode(x,{ref_key:"table",ref:i,"data-url":"/api/user/blacklist",condition:o.value,style:{"margin-top":"10px"}},{columns:e.withCtx(()=>[e.createVNode(w,{label:"ID",prop:"id",width:"100"}),e.createVNode(w,{label:"用户信息"},{default:e.withCtx(()=>[e.createVNode(w,{label:"用户ID",width:"100"},{default:e.withCtx(({row:f})=>[e.createVNode(t,{type:"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.userId),1)]),_:2},1024)]),_:1}),e.createVNode(w,{label:"手机号",width:"150"},{default:e.withCtx(({row:f})=>[e.createVNode(T,{"user-id":f.userId,"mask-mobile":f.userMobile},null,8,["user-id","mask-mobile"])]),_:1}),e.createVNode(w,{label:"用户昵称",prop:"userNickname"})]),_:1}),e.createVNode(w,{label:"限制信息"},{default:e.withCtx(()=>[e.createVNode(w,{label:"描述",prop:"description"}),e.createVNode(w,{label:"允许权限",prop:"allowPermissionCodes","show-overflow-tooltip":""}),e.createVNode(w,{label:"状态",prop:"status",align:"center",width:"100"},{default:e.withCtx(({row:f})=>[e.createVNode(l,{type:f.status=="VALID"?"success":"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.status=="VALID"?"有效":"失效"),1)]),_:2},1032,["type"])]),_:1}),e.createVNode(w,{label:"加入时间",prop:"createdTime",width:"170"}),e.createVNode(w,{label:"解锁时间",prop:"unlockTime",width:"170"})]),_:1}),e.createVNode(w,null,{default:e.withCtx(({row:f})=>[f.status=="VALID"?(e.openBlock(),e.createBlock(N,{key:0,title:"确定要解锁吗?",onConfirm:a},{reference:e.withCtx(()=>[e.createVNode(p,{type:"warning",icon:"unlock"},{default:e.withCtx(()=>[e.createTextVNode("解锁")]),_:1})]),_:1})):e.createCommentVNode("",!0),f.status=="VALID"?(e.openBlock(),e.createBlock(p,{key:1,icon:"edit",onClick:y=>r(f.userId)},{default:e.withCtx(()=>[e.createTextVNode("编辑")]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["condition"]),e.createVNode($,{ref_key:"addBlacklistComp",ref:_,onSuccess:d,"hidden-entrance-slot":""},null,512)],64)}}}),Z={install:(m,n)=>{let o=n.router,i=o.getRoutes().find(d=>d.path=="/");i&&i.meta&&o.addRoute({path:"/user",name:"User",redirect:"/user/list",component:i.meta.commonLayout,children:[{path:"list",name:"UserList",component:W},{path:"blacklist",name:"BlackListView",component:X}]})}},P=(m,n)=>{const o=B();if(n.userDetailDialogTabs&&n.userDetailDialogTabs.length)for(let i of n.userDetailDialogTabs)o.userDetailDialogTabs.push(i);q.forEach(i=>m.use(i)),m.use(Z,n)},v={install:P};k.UserDetailDialog=E,k.UserMobileComp=M,k.default=v,k.install=P,k.useUserCoreConfigStore=B,Object.defineProperties(k,{__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.12",
4
+ "version": "0.0.14",
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.14"
24
+ "@pangu-backend-ui/common": "^0.0.18"
25
25
  },
26
26
  "publishConfig": {
27
27
  "access": "public",
@@ -0,0 +1,322 @@
1
+ import { Http } from "@pangu-backend-ui/common";
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ hiddenEntranceSlot: {
4
+ type: BooleanConstructor;
5
+ default: boolean;
6
+ };
7
+ userId: {
8
+ type: NumberConstructor;
9
+ required: true;
10
+ };
11
+ }, {
12
+ http: Http | undefined;
13
+ emits: (event: "success", ...args: any[]) => void;
14
+ props: any;
15
+ showState: import("vue").Ref<boolean>;
16
+ userIdState: import("vue").Ref<number | null>;
17
+ show: (userId?: number) => void;
18
+ formRule: import("vue").Ref<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
19
+ blacklistInfo: any;
20
+ permissionCodes: import("vue").Ref<any[] | undefined>;
21
+ getBlacklistInfo: (userId: number) => void;
22
+ form: import("vue").Ref<({
23
+ $: import("vue").ComponentInternalInstance;
24
+ $data: {};
25
+ $props: Partial<{
26
+ readonly disabled: boolean;
27
+ readonly labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
28
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right", unknown>;
29
+ readonly labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
30
+ readonly labelSuffix: string;
31
+ readonly showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
32
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
33
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
34
+ readonly inline: boolean;
35
+ readonly inlineMessage: boolean;
36
+ readonly statusIcon: boolean;
37
+ readonly scrollToError: boolean;
38
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
39
+ readonly model: ObjectConstructor;
40
+ readonly rules: {
41
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
42
+ readonly required: false;
43
+ readonly validator: ((val: unknown) => boolean) | undefined;
44
+ __epPropKey: true;
45
+ };
46
+ readonly labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
47
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
48
+ readonly labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
49
+ readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
50
+ readonly inline: BooleanConstructor;
51
+ readonly inlineMessage: BooleanConstructor;
52
+ readonly statusIcon: BooleanConstructor;
53
+ readonly showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
+ readonly size: {
55
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
56
+ readonly required: false;
57
+ readonly validator: ((val: unknown) => boolean) | undefined;
58
+ __epPropKey: true;
59
+ };
60
+ readonly disabled: BooleanConstructor;
61
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
62
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
63
+ readonly scrollToError: BooleanConstructor;
64
+ }>> & {
65
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
66
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "disabled" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError">;
67
+ $attrs: {
68
+ [x: string]: unknown;
69
+ };
70
+ $refs: {
71
+ [x: string]: unknown;
72
+ };
73
+ $slots: Readonly<{
74
+ [name: string]: import("vue").Slot | undefined;
75
+ }>;
76
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
77
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
78
+ $emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void;
79
+ $el: any;
80
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
81
+ readonly model: ObjectConstructor;
82
+ readonly rules: {
83
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
84
+ readonly required: false;
85
+ readonly validator: ((val: unknown) => boolean) | undefined;
86
+ __epPropKey: true;
87
+ };
88
+ readonly labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
89
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
90
+ readonly labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
91
+ readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
92
+ readonly inline: BooleanConstructor;
93
+ readonly inlineMessage: BooleanConstructor;
94
+ readonly statusIcon: BooleanConstructor;
95
+ readonly showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
96
+ readonly size: {
97
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
98
+ readonly required: false;
99
+ readonly validator: ((val: unknown) => boolean) | undefined;
100
+ __epPropKey: true;
101
+ };
102
+ readonly disabled: BooleanConstructor;
103
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
104
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
105
+ readonly scrollToError: BooleanConstructor;
106
+ }>> & {
107
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
108
+ }, {
109
+ COMPONENT_NAME: string;
110
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
111
+ readonly model: ObjectConstructor;
112
+ readonly rules: {
113
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
114
+ readonly required: false;
115
+ readonly validator: ((val: unknown) => boolean) | undefined;
116
+ __epPropKey: true;
117
+ };
118
+ readonly labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
119
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
120
+ readonly labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
121
+ readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
122
+ readonly inline: BooleanConstructor;
123
+ readonly inlineMessage: BooleanConstructor;
124
+ readonly statusIcon: BooleanConstructor;
125
+ readonly showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
126
+ readonly size: {
127
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
128
+ readonly required: false;
129
+ readonly validator: ((val: unknown) => boolean) | undefined;
130
+ __epPropKey: true;
131
+ };
132
+ readonly disabled: BooleanConstructor;
133
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
134
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
135
+ readonly scrollToError: BooleanConstructor;
136
+ }>> & {
137
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
138
+ }>>;
139
+ emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void;
140
+ fields: import("element-plus").FormItemContext[];
141
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
142
+ ns: {
143
+ namespace: import("vue").Ref<string>;
144
+ b: (blockSuffix?: string | undefined) => string;
145
+ e: (element?: string | undefined) => string;
146
+ m: (modifier?: string | undefined) => string;
147
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
148
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
149
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
150
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
151
+ is: {
152
+ (name: string, state: boolean | undefined): string;
153
+ (name: string): string;
154
+ };
155
+ cssVar: (object: Record<string, string>) => Record<string, string>;
156
+ cssVarName: (name: string) => string;
157
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
158
+ cssVarBlockName: (name: string) => string;
159
+ };
160
+ formClasses: import("vue").ComputedRef<(string | {
161
+ [x: string]: boolean | import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
162
+ })[]>;
163
+ addField: (field: import("element-plus").FormItemContext) => void;
164
+ removeField: (field: import("element-plus").FormItemContext) => void;
165
+ resetFields: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => void;
166
+ clearValidate: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => void;
167
+ isValidatable: import("vue").ComputedRef<boolean>;
168
+ obtainValidateFields: (props: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp>) => import("element-plus").FormItemContext[];
169
+ validate: (callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult;
170
+ doValidateField: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => Promise<boolean>;
171
+ validateField: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult;
172
+ scrollToField: (prop: import("element-plus").FormItemProp) => void;
173
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
174
+ validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => boolean;
175
+ }, string, {
176
+ readonly disabled: boolean;
177
+ readonly labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
178
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right", unknown>;
179
+ readonly labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
180
+ readonly labelSuffix: string;
181
+ readonly showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
182
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
183
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
184
+ readonly inline: boolean;
185
+ readonly inlineMessage: boolean;
186
+ readonly statusIcon: boolean;
187
+ readonly scrollToError: boolean;
188
+ }, {}, string> & {
189
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
190
+ created?: ((() => void) | (() => void)[]) | undefined;
191
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
192
+ mounted?: ((() => void) | (() => void)[]) | undefined;
193
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
194
+ updated?: ((() => void) | (() => void)[]) | undefined;
195
+ activated?: ((() => void) | (() => void)[]) | undefined;
196
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
197
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
198
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
199
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
200
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
201
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
202
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
203
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
204
+ };
205
+ $forceUpdate: () => void;
206
+ $nextTick: typeof import("vue").nextTick;
207
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
208
+ } & Readonly<import("vue").ExtractPropTypes<{
209
+ readonly model: ObjectConstructor;
210
+ readonly rules: {
211
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
212
+ readonly required: false;
213
+ readonly validator: ((val: unknown) => boolean) | undefined;
214
+ __epPropKey: true;
215
+ };
216
+ readonly labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
217
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
218
+ readonly labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
219
+ readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
220
+ readonly inline: BooleanConstructor;
221
+ readonly inlineMessage: BooleanConstructor;
222
+ readonly statusIcon: BooleanConstructor;
223
+ readonly showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
224
+ readonly size: {
225
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
226
+ readonly required: false;
227
+ readonly validator: ((val: unknown) => boolean) | undefined;
228
+ __epPropKey: true;
229
+ };
230
+ readonly disabled: BooleanConstructor;
231
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
232
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
233
+ readonly scrollToError: BooleanConstructor;
234
+ }>> & {
235
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
236
+ } & import("vue").ShallowUnwrapRef<{
237
+ COMPONENT_NAME: string;
238
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
239
+ readonly model: ObjectConstructor;
240
+ readonly rules: {
241
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
242
+ readonly required: false;
243
+ readonly validator: ((val: unknown) => boolean) | undefined;
244
+ __epPropKey: true;
245
+ };
246
+ readonly labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
247
+ readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
248
+ readonly labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
249
+ readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
250
+ readonly inline: BooleanConstructor;
251
+ readonly inlineMessage: BooleanConstructor;
252
+ readonly statusIcon: BooleanConstructor;
253
+ readonly showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
254
+ readonly size: {
255
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
256
+ readonly required: false;
257
+ readonly validator: ((val: unknown) => boolean) | undefined;
258
+ __epPropKey: true;
259
+ };
260
+ readonly disabled: BooleanConstructor;
261
+ readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
262
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
263
+ readonly scrollToError: BooleanConstructor;
264
+ }>> & {
265
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
266
+ }>>;
267
+ emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void;
268
+ fields: import("element-plus").FormItemContext[];
269
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
270
+ ns: {
271
+ namespace: import("vue").Ref<string>;
272
+ b: (blockSuffix?: string | undefined) => string;
273
+ e: (element?: string | undefined) => string;
274
+ m: (modifier?: string | undefined) => string;
275
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
276
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
277
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
278
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
279
+ is: {
280
+ (name: string, state: boolean | undefined): string;
281
+ (name: string): string;
282
+ };
283
+ cssVar: (object: Record<string, string>) => Record<string, string>;
284
+ cssVarName: (name: string) => string;
285
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
286
+ cssVarBlockName: (name: string) => string;
287
+ };
288
+ formClasses: import("vue").ComputedRef<(string | {
289
+ [x: string]: boolean | import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
290
+ })[]>;
291
+ addField: (field: import("element-plus").FormItemContext) => void;
292
+ removeField: (field: import("element-plus").FormItemContext) => void;
293
+ resetFields: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => void;
294
+ clearValidate: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => void;
295
+ isValidatable: import("vue").ComputedRef<boolean>;
296
+ obtainValidateFields: (props: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp>) => import("element-plus").FormItemContext[];
297
+ validate: (callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult;
298
+ doValidateField: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined) => Promise<boolean>;
299
+ validateField: (props?: import("element-plus/es/utils").Arrayable<import("element-plus").FormItemProp> | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult;
300
+ scrollToField: (prop: import("element-plus").FormItemProp) => void;
301
+ }> & {} & import("@vue/runtime-core").ComponentCustomProperties & {}) | undefined>;
302
+ reset: () => void;
303
+ submit: () => void;
304
+ unlockTimeShortcuts: {
305
+ text: string;
306
+ value: () => Date;
307
+ }[];
308
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "success"[], "success", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
309
+ hiddenEntranceSlot: {
310
+ type: BooleanConstructor;
311
+ default: boolean;
312
+ };
313
+ userId: {
314
+ type: NumberConstructor;
315
+ required: true;
316
+ };
317
+ }>> & {
318
+ onSuccess?: ((...args: any[]) => any) | undefined;
319
+ }, {
320
+ hiddenEntranceSlot: boolean;
321
+ }>;
322
+ export default _sfc_main;