dootask/public/js/build/UserSelect.2a15eb24.js
2023-06-14 17:22:03 +08:00

2 lines
6.6 KiB
JavaScript
Vendored

import{n}from"./app.4b352c60.js";var o=function(){var e=this,l=e.$createElement,t=e._self._c||l;return t("div",{staticClass:"common-user-select",class:{"select-border":e.border}},[t("ul",{style:e.warpStyle,on:{click:function(s){return e.onSelect(!0)}}},[e._l(e.values,function(s){return t("li",[t("UserAvatar",{attrs:{userid:s,size:e.avatarSize,"show-icon":e.avatarIcon,"show-name":e.avatarName,"tooltip-disabled":""}})],1)}),e.addIcon||e.values.length===0?t("li",{staticClass:"add-icon",style:e.addStyle,on:{click:function(s){return s.stopPropagation(),e.onSelect.apply(null,arguments)}}}):e._e()],2),t("Modal",{attrs:{"mask-closable":!1,"class-name":"common-user-select-modal",title:e.localTitle,fullscreen:e.windowWidth<576},model:{value:e.showModal,callback:function(s){e.showModal=s},expression:"showModal"}},[t("div",{staticClass:"user-modal-search"},[t("Input",{attrs:{placeholder:e.localPlaceholder,clearable:""},model:{value:e.searchKey,callback:function(s){e.searchKey=s},expression:"searchKey"}},[t("div",{staticClass:"search-pre",attrs:{slot:"prefix"},slot:"prefix"},[e.loadIng>0?t("Loading"):t("Icon",{attrs:{type:"ios-search"}})],1)])],1),t("Scrollbar",{staticClass:"user-modal-list"},[t("ul",e._l(e.lists,function(s){return t("li",{class:{selected:e.selects.includes(s.userid),disabled:e.inUncancelable(s.userid)||e.isDisabled(s.userid)},on:{click:function(i){return e.selectUser(s)}}},[e.selects.includes(s.userid)?t("Icon",{staticClass:"user-modal-icon",attrs:{type:"ios-checkmark-circle"}}):t("Icon",{staticClass:"user-modal-icon",attrs:{type:"ios-radio-button-off"}}),t("UserAvatar",{staticClass:"user-modal-avatar",attrs:{userid:s.userid,"show-name":"","tooltip-disabled":""}}),t("div",{staticClass:"user-modal-userid"},[e._v("ID: "+e._s(s.userid))])],1)}),0)]),e.multipleMax?t("div",{staticClass:"user-modal-multiple"},[t("Checkbox",{staticClass:"multiple-check",attrs:{disabled:e.lists.length===0},on:{"on-change":e.onMultipleChange},model:{value:e.multipleCheck,callback:function(s){e.multipleCheck=s},expression:"multipleCheck"}},[e._v(e._s(e.$L(e.multipleCheck?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009")))]),t("div",{staticClass:"multiple-text"},[t("span",[e._v(e._s(e.$L("\u6700\u591A\u53EA\u80FD\u9009\u62E9"+e.multipleMax+"\u4E2A")))]),e.selects.length?t("em",[e._v("("+e._s(e.$L(`\u5DF2\u9009${e.selects.length}\u4E2A`))+")")]):e._e()])],1):e._e(),t("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[t("Button",{attrs:{type:"default",loading:e.submittIng>0},on:{click:function(s){e.showModal=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),t("Button",{attrs:{type:"primary",loading:e.submittIng>0},on:{click:e.onSubmit}},[e._v(e._s(e.$L("\u786E\u5B9A")))])],1)],1)],1)},c=[];const h={name:"UserSelect",props:{value:{type:[String,Number,Array],default:()=>[]},uncancelable:{type:Array,default:()=>[]},disabledChoice:{type:Array,default:()=>[]},projectId:{type:Number,default:0},noProjectId:{type:Number,default:0},dialogId:{type:Number,default:0},showBot:{type:Boolean,default:!1},showDisable:{type:Boolean,default:!1},multipleMax:{type:Number},avatarSize:{type:Number,default:28},avatarIcon:{type:Boolean,default:!0},avatarName:{type:Boolean,default:!1},addIcon:{type:Boolean,default:!0},onlyAddIconClick:{type:Boolean,default:!1},border:{type:Boolean,default:!1},title:{type:String},placeholder:{type:String},beforeSubmit:Function},data(){return{loadIng:0,submittIng:0,values:[],lists:[],selects:[],showModal:!1,multipleCheck:!1,searchTimer:null,searchKey:null,searchHistory:[]}},watch:{value:{handler(e){typeof e=="number"?this.$emit("input",e>0?[e]:[]):typeof e=="string"&&(e=e.indexOf(",")>-1?e.split(","):[e],this.$emit("input",e.map(l=>$A.runNum(l)).filter(l=>l>0))),this.values=e},immediate:!0},showModal(e){e?this.searchUser():this.searchKey=""},searchKey(){this.searchUser()},"lists.length"(){this.calcMultiple()},"selects.length"(){this.calcMultiple()}},computed:{warpStyle(){if(!this.onlyAddIconClick)return{cursor:"pointer"}},addStyle(){return{width:this.avatarSize+"px",height:this.avatarSize+"px"}},localTitle(){return this.title===void 0?this.$L("\u9009\u62E9\u4F1A\u5458"):this.title},localPlaceholder(){return this.placeholder===void 0?this.$L("\u641C\u7D22\u4F1A\u5458"):this.placeholder}},methods:{searchUser(){if(!this.showModal)return;let e=this.searchKey;const l=this.searchHistory.find(t=>t.key==e);l&&(this.lists=l.data),this.searchTimer&&clearTimeout(this.searchTimer),this.searchTimer=setTimeout(()=>{this.searchKey==e&&(setTimeout(()=>{this.loadIng++},300),this.$store.dispatch("call",{url:"users/search",data:{keys:{key:e,project_id:this.projectId,no_project_id:this.noProjectId,dialog_id:this.dialogId,bot:this.showBot&&e?2:0,disable:this.showDisable&&e?2:0},take:50}}).then(({data:t})=>{this.lists=t;const s=this.searchHistory.findIndex(r=>r.key==e),i={key:e,data:t,time:$A.Time()};s>-1?this.searchHistory.splice(s,1,i):this.searchHistory.push(i)}).catch(({msg:t})=>{this.lists=[],$A.messageWarning(t)}).finally(t=>{this.loadIng--}))},this.searchHistory.length>0?300:0)},onSelect(e=!1){e===!0&&this.onlyAddIconClick||(this.selects=$A.cloneJSON(this.values),this.showModal=!0)},onSubmit(){const e=$A.cloneJSON(this.values);if(this.values=$A.cloneJSON(this.selects),this.$emit("input",this.values),!this.beforeSubmit){this.showModal=!1;return}const l=this.beforeSubmit();l&&l.then?(this.submittIng++,l.then(()=>{this.showModal=!1}).catch(()=>{this.values=e,this.$emit("input",this.values)}).finally(()=>{this.submittIng--})):this.showModal=!1},onMultipleChange(e){if(e){let l=this.multipleMax-this.selects.length;this.lists.some(t=>{if(this.inUncancelable(t.userid)||this.isDisabled(t.userid))return!1;if(l<=0)return $A.messageWarning("\u5DF2\u8D85\u8FC7\u6700\u5927\u9009\u62E9\u6570\u91CF"),!0;this.selects.includes(t.userid)||(this.selects.push(t.userid),l--)}),this.calcMultiple()}else this.selects=$A.cloneJSON(this.uncancelable)},calcMultiple(){this.$nextTick(()=>{this.multipleCheck=this.lists.length>0&&this.lists.filter(e=>this.selects.includes(e.userid)).length===this.lists.length})},selectUser(e){if(this.selects.includes(e.userid)){if(this.inUncancelable(e.userid))return;this.selects=this.selects.filter(l=>l!=e.userid)}else{if(this.isDisabled(e.userid))return;if(this.multipleMax&&this.selects.length>=this.multipleMax){$A.messageWarning("\u5DF2\u8D85\u8FC7\u6700\u5927\u9009\u62E9\u6570\u91CF");return}this.selects.push(e.userid)}},inUncancelable(e){return this.uncancelable.length===0?!1:this.uncancelable.includes(e)},isDisabled(e){return this.disabledChoice.length===0?!1:this.disabledChoice.includes(e)}}},a={};var u=n(h,o,c,!1,d,null,null,null);function d(e){for(let l in a)this[l]=a[l]}var p=function(){return u.exports}();export{p as U};