12 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7611e7ab"],{"0091":function(e,r,t){},"0cd2":function(e,r,t){},1363:function(e,r,t){"use strict";t.d(r,"c",function(){return i}),t.d(r,"d",function(){return s}),t.d(r,"a",function(){return a}),t.d(r,"e",function(){return o}),t.d(r,"b",function(){return l}),t.d(r,"f",function(){return d});var n=t("bf9a");function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n["b"].get("vue-routers",{params:e})}function s(e){return n["b"].post("vue-routers",e)}function a(e){return n["b"].delete("vue-routers/".concat(e))}function o(e,r){return n["b"].put("vue-routers/".concat(e),r)}function l(e){return n["b"].get("vue-routers/".concat(e,"/edit"))}function d(e){return n["b"].put("vue-routers",e)}},"136e":function(e,r,t){},4085:function(e,r,t){"use strict";t.r(r);var n=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("el-card",{scopedSlots:e._u([{key:"header",fn:function(){return[t("content-header")]},proxy:!0}])},[t("el-row",{attrs:{type:"flex",justify:"center"}},[t("lz-form",{ref:"form",attrs:{"get-data":e.getData,submit:e.onSubmit,form:e.form,errors:e.errors,"edit-mode":e.editMode},on:{"update:form":function(r){e.form=r},"update:errors":function(r){e.errors=r}}},[t("el-form-item",{attrs:{label:"标识",required:"",prop:"slug"}},[t("el-input",{model:{value:e.form.slug,callback:function(r){e.$set(e.form,"slug",r)},expression:"form.slug"}})],1),t("el-form-item",{attrs:{label:"名称",required:"",prop:"name"}},[t("el-input",{model:{value:e.form.name,callback:function(r){e.$set(e.form,"name",r)},expression:"form.name"}})],1),t("el-form-item",{attrs:{label:"权限",prop:"permissions"}},[t("el-transfer",{attrs:{filterable:"","filter-method":e.filterMethod,"filter-placeholder":"搜索权限",titles:["待选","已选"],"button-texts":["移除","选择"],data:e.perms,props:{key:"id",label:"name"}},model:{value:e.form.permissions,callback:function(r){e.$set(e.form,"permissions",r)},expression:"form.permissions"}})],1),t("el-form-item",{attrs:{label:"菜单",prop:"vue_routers"}},[t("tree-transfer",{attrs:{title:e.title,pid:"parent_id",from_data:e.vue_router,"array-to-tree":!0,to_data:e.form.vue_routers,"default-props":{label:"title"},mode:e.mode,height:"540px",filter:"","open-all":""},on:{addBtn:e.add,removeBtn:e.remove}})],1)],1)],1)],1)},i=[],s=(t("7f7f"),t("ac6a"),t("5df3"),t("768b")),a=(t("96cf"),t("3b8d")),o=t("4c70"),l=t.n(o),d=t("ada3"),c=t("72a6"),f=t("8cdd"),h=t("1363"),u=t("fe06"),p={name:"Form",components:{LzForm:d["a"],treeTransfer:l.a},mixins:[u["a"]],data:function(){return{title:["待选","已选"],mode:"transfer",form:{slug:"",name:"",permissions:[],vue_routers:[],menu:[]},errors:{},perms:[],vue_router:[]}},methods:{getData:function(){var e=Object(a["a"])(regeneratorRuntime.mark(function e(){var r,t,n,i,a,o;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Object(f["b"])({all:1}),Object(h["c"])({all:1})]);case 2:if(r=e.sent,t=Object(s["a"])(r,2),n=t[0].data,i=t[1].data,this.perms=n,this.vue_router=i,!this.editMode){e.next=15;break}return e.next=11,Object(c["a"])(this.resourceId);case 11:a=e.sent,o=a.data,o.permissions=o.permissions.map(function(e){return e.id}),this.fillForm(o);case 15:case"end":return e.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}(),changeMode:function(){"transfer"==this.mode?this.mode="addressList":this.mode="transfer"},add:function(e,r,t){this.form.menu=r},remove:function(e,r,t,n){this.form.menu=r},onSubmit:function(){var e=Object(a["a"])(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(!this.editMode){e.next=5;break}return e.next=3,Object(c["d"])(this.resourceId,this.form);case 3:e.next=7;break;case 5:return e.next=7,Object(c["c"])(this.form);case 7:case"end":return e.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}(),filterMethod:function(e,r){return r.name.indexOf(e)>-1}}},m=p,A=(t("f37d"),t("2877")),v=Object(A["a"])(m,n,i,!1,null,"04171374",null);r["default"]=v.exports},"469f":function(e,r,t){t("6c1c"),t("1654"),e.exports=t("7d7b")},"4c70":function(e,r,t){!function(r,t){e.exports=t()}("undefined"!=typeof self&&self,function(){return function(e){function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}var t={};return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="/dist/",r(r.s=2)}([function(e,r,t){"use strict";function n(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}var i=t(10),s=function(){function e(e,r){var t=[],n=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!r||t.length!==r);n=!0);}catch(e){i=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw s}}return t}return function(r,t){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return e(r,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();r.a={data:function(){return{from_is_indeterminate:!1,from_check_all:!1,to_is_indeterminate:!1,to_check_all:!1,from_expanded_keys:[],to_expanded_keys:[],from_disabled:!0,to_disabled:!0,from_check_keys:[],to_check_keys:[],filterFrom:"",filterTo:"",filterListFirst:"",filterListSecond:"",filterListThird:"",archiveFirst:[],archiveSecond:[],archiveThird:[],addressee:[],Cc:[],secret_receiver:[],move_up:!1}},props:{width:{type:String,default:"100%"},height:{type:String,default:"320px"},title:{type:Array,default:function(){return["源列表","目标列表"]}},button_text:Array,from_data:{type:Array,default:function(){return[]}},to_data:{type:Array,default:function(){return[]}},defaultProps:{type:Object,default:function(){return{label:"label",children:"children"}}},node_key:{type:String,default:"id"},pid:{type:String,default:"pid"},filter:{type:Boolean,default:!1},openAll:{type:Boolean,default:!1},renderContent:Function,mode:{type:String,default:"transfer"},addressOptions:{type:Object,default:function(){return{num:3,suffix:"suffix",connector:"-"}}},transferOpenNode:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array,default:function(){return[]}},placeholder:{type:String,default:"输入关键字进行过滤"},defaultTransfer:{type:Boolean,default:!1},arrayToTree:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},lazyFn:Function},created:function(){this.from_check_keys=this.defaultCheckedKeys},mounted:function(){var e=this;this.defaultCheckedKeys.length>0&&this.defaultTransfer&&this.$nextTick(function(){e.addToAims()})},methods:{addToAims:function(){function e(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f,t="number"==typeof e[c]?'"'+c+'":'+e[c]+",":'"'+c+'":"'+e[c]+'"';return RegExp(t).test(r)}var r=this,t=this.$refs["from-tree"].getCheckedKeys(),n=this.$refs["from-tree"].getHalfCheckedKeys(),i=this.$refs["from-tree"].getCheckedNodes(),s=JSON.parse(JSON.stringify(i)),a=this.$refs["from-tree"].getHalfCheckedNodes(),o=JSON.parse(JSON.stringify(a)),l=this.defaultProps.children||"children",d=this.pid||"pid",c=this.node_key||"id",f=JSON.stringify(this.self_to_data),h=JSON.parse(JSON.stringify(a)),u=[];h.forEach(function(r){e(r)||u.push(r)}),u.forEach(function(e){e[l]=[],[0,"0"].includes(e[d])?r.$refs["to-tree"].append(e):r.$refs["to-tree"].append(e,e[d])});var p=[];s.forEach(function(r){e(r)||p.push(r)}),p.forEach(function(e){e[l]&&e[l].length>0&&(e[l]=[],[0,"0"].includes(e[d])?r.$refs["to-tree"].append(e):r.$refs["to-tree"].append(e,e[d]))}),i.filter(function(e){return!e[l]||0==e[l].length}).forEach(function(t){e(t)||r.$refs["to-tree"].append(t,t[d])}),i.map(function(e){return r.$refs["from-tree"].remove(e)}),this.from_check_keys=[],this.transferOpenNode&&!this.lazy&&(this.to_expanded_keys=t),this.$emit("addBtn",this.self_from_data,this.self_to_data,{keys:t,nodes:s,harfKeys:n,halfNodes:o}),this.$refs["from-tree"].setCheckedKeys([])},removeToSource:function(){function e(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f,t="number"==typeof e[c]?'"'+c+'":'+e[c]+",":'"'+c+'":"'+e[c]+'"';return RegExp(t).test(r)}var r=this,t=this.$refs["to-tree"].getCheckedKeys(),n=this.$refs["to-tree"].getHalfCheckedKeys(),i=this.$refs["to-tree"].getCheckedNodes(),s=JSON.parse(JSON.stringify(i)),a=this.$refs["to-tree"].getHalfCheckedNodes(),o=JSON.parse(JSON.stringify(a)),l=this.defaultProps.children||"children",d=this.pid||"pid",c=this.node_key||"id",f=JSON.stringify(this.self_from_data),h=JSON.parse(JSON.stringify(a)),u=[];h.forEach(function(r){e(r)||u.push(r)}),u.forEach(function(e){e[l]=[],[0,"0"].includes(e[d])?r.$refs["from-tree"].append(e):r.$refs["from-tree"].append(e,e[d])});var p=[];s.forEach(function(r){e(r)||p.push(r)}),p.forEach(function(e){e[l]&&e[l].length>0&&(e[l]=[],[0,"0"].includes(e[d])?r.$refs["from-tree"].append(e):r.$refs["from-tree"].append(e,e[d]))}),i.filter(function(e){return!e[l]||0==e[l].length}).forEach(function(t){e(t)||r.$refs["from-tree"].append(t,t[d])}),i.map(function(e){return r.$refs["to-tree"].remove(e)}),this.to_check_keys=[],this.transferOpenNode&&!this.lazy&&(this.from_expanded_keys=t),this.$emit("removeBtn",this.self_from_data,this.self_to_data,{keys:t,nodes:s,harfKeys:n,halfNodes:o}),this.$refs["to-tree"].setCheckedKeys([])},leftloadNode:function(e,r){if(0===e.level)return r(this.self_from_data);this.lazyFn&&this.lazyFn(e,r,"left")},rightloadNode:function(e,r){if(0===e.level)return r(this.self_to_data);this.lazyFn&&this.lazyFn(e,r,"right")},fromTreeChecked:function(e,r){this.from_check_keys=r.checkedNodes,this.$emit("left-check-change",e,r)},toTreeChecked:function(e,r){this.to_check_keys=r.checkedNodes,this.$emit("right-check-change",e,r)},fromAllBoxChange:function(e){0!=this.self_from_data.length&&(e?(this.from_check_keys=this.self_from_data,this.$refs["from-tree"].setCheckedNodes(this.self_from_data)):(this.$refs["from-tree"].setCheckedNodes([]),this.from_check_keys=[]))},toAllBoxChange:function(e){0!=this.self_to_data.length&&(e?(this.to_check_keys=this.self_to_data,this.$refs["to-tree"].setCheckedNodes(this.self_to_data)):(this.$refs["to-tree"].setCheckedNodes([]),this.to_check_keys=[]))},filterNodeFrom:function(e,r){return!e||-1!==r[this.defaultProps.label].indexOf(e)},filterNodeTo:function(e,r){return!e||-1!==r[this.defaultProps.label].indexOf(e)},addressListTransfer:function(e){var r=this,t=(this.$refs["from-tree"].getCheckedKeys(!0),this.$refs["from-tree"].getCheckedNodes(!0)),i=[];switch(e){case 0:i=t.filter(function(e){if(!r.addressee.some(function(t){return t[r.node_key]==e[r.node_key]}))return e}),this.addressee=[].concat(n(this.addressee),n(i));break;case 1:i=t.filter(function(e){if(!r.Cc.some(function(t){return t[r.node_key]==e[r.node_key]}))return e}),this.Cc=[].concat(n(this.Cc),n(i));break;case 2:i=t.filter(function(e){if(!r.secret_receiver.some(function(t){return t[r.node_key]==e[r.node_key]}))return e}),this.secret_receiver=[].concat(n(this.secret_receiver),n(i))}this.$refs["from-tree"].setCheckedKeys([]),this.from_check_keys=[],this.$emit("addBtn",this.addressee,this.Cc,this.secret_receiver)},clearList:function(e,r){var t=this;switch(e){case 0:this.addressee="all"==r?[]:this.addressee.filter(function(e){return e[t.node_key]!=r});break;case 1:this.Cc="all"==r?[]:this.Cc.filter(function(e){return e[t.node_key]!=r});break;case 2:this.secret_receiver="all"==r?[]:this.secret_receiver.filter(function(e){return e[t.node_key]!=r})}this.$emit("removeBtn",this.addressee,this.Cc,this.secret_receiver)},moveUp:function(e){this.move_up="up"==e}},computed:{self_from_data:function(){var e=this,r=[].concat(n(this.from_data));return this.arrayToTree?Object(i.a)(r,{id:this.node_key,pid:this.pid,children:this.defaultProps.children}):(r.forEach(function(r){r[e.pid]=0}),r)},self_to_data:function(){var e=this,r=[].concat(n(this.to_data));return this.arrayToTree?Object(i.a)(r,{id:this.node_key,pid:this.pid,children:this.defaultProps.children}):(r.forEach(function(r){r[e.pid]=0}),r)},fromTitle:function(){return s(this.title,1)[0]},toTitle:function(){return s(this.title,2)[1]},toTitleSecond:function(){return s(this.title,3)[2]},toTitleThird:function(){return s(this.title,4)[3]},fromButton:function(){if(void 0!=this.button_text)return s(this.button_text,1)[0]},toButton:function(){if(void 0!=this.button_text)return s(this.button_text,2)[1]}},watch:{from_check_keys:function(e){var r=this;e.length>0?(this.from_disabled=!1,this.from_is_indeterminate=!0,e.filter(function(e){return 0==e[r.pid]}).length==this.self_from_data.length?(this.from_is_indeterminate=!1,this.from_check_all=!0):(this.from_is_indeterminate=!0,this.from_check_all=!1)):(this.from_disabled=!0,this.from_is_indeterminate=!1,this.from_check_all=!1)},to_check_keys:function(e){var r=this;e.length>0?(this.to_disabled=!1,this.to_is_indeterminate=!0,e.filter(function(e){return 0==e[r.pid]}).length==this.self_to_data.length?(this.to_is_indeterminate=!1,this.to_check_all=!0):(this.to_is_indeterminate=!0,this.to_check_all=!1)):(this.to_disabled=!0,this.to_is_indeterminate=!1,this.to_check_all=!1)},filterFrom:function(e){this.$refs["from-tree"].filter(e)},filterTo:function(e){this.$refs["to-tree"].filter(e)},filterListFirst:function(e,r){""==r&&(this.archiveFirst=this.addressee),""==e&&(this.addressee=this.archiveFirst);var t=RegExp(e);this.addressee=this.addressee.filter(function(e){return t.test(e.label)})},filterListSecond:function(e,r){""==r&&(this.archiveSecond=this.Cc),""==e&&(this.Cc=this.archiveSecond);var t=RegExp(e);this.Cc=this.Cc.filter(function(e){return t.test(e.label)})},filterListThird:function(e,r){""==r&&(this.archiveThird=this.secret_receiver),""==e&&(this.secret_receiver=this.archiveThird);var t=RegExp(e);this.secret_receiver=this.secret_receiver.filter(function(e){return t.test(e.label)})},defaultCheckedKeys:function(e){var r=this;e&&this.defaultTransfer&&this.$nextTick(function(){r.addToAims()})}}}},function(e,r){e.exports="data:image/png;base64,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"},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(3);r.default=n.a},function(e,r,t){"use strict";function n(e){a||t(4)}var i=t(0),s=t(11),a=!1,o=t(9),l=n,d=o(i.a,s.a,!1,l,"data-v-20f1e172",null);d.options.__file="lib\\transfer-extend.vue",r.a=d.exports},function(e,r,t){var n=t(5);"string"==typeof n&&(n=[[e.i,n,""]]),n.locals&&(e.exports=n.locals),t(7)("fd0c093c",n,!1,{})},function(e,r,t){r=e.exports=t(6)(!0),r.push([e.i,'\nbody[data-v-20f1e172] {\r\n line-height: 1.666;\r\n color: #666;\r\n font-size: 14px;\n}\nbody[data-v-20f1e172], input[data-v-20f1e172] {\r\n font-family: "verdana";\n}\nbody[data-v-20f1e172], h1[data-v-20f1e172], h2[data-v-20f1e172], h3[data-v-20f1e172], h4[data-v-20f1e172], h5[data-v-20f1e172], h6[data-v-20f1e172], ul[data-v-20f1e172], ol[data-v-20f1e172], li[data-v-20f1e172], p[data-v-20f1e172], dl[data-v-20f1e172], dt[data-v-20f1e172], dd[data-v-20f1e172], table[data-v-20f1e172], th[data-v-20f1e172], td[data-v-20f1e172] {\r\n margin: 0;\r\n padding: 0;\n}\ntable[data-v-20f1e172], th[data-v-20f1e172], td[data-v-20f1e172], img[data-v-20f1e172] {\r\n border: 0;\n}\nem[data-v-20f1e172], i[data-v-20f1e172], th[data-v-20f1e172] {\r\n font-style: normal;\r\n text-decoration: none;\n}\nh1[data-v-20f1e172], h2[data-v-20f1e172], h3[data-v-20f1e172], h4[data-v-20f1e172], h5[data-v-20f1e172], h6[data-v-20f1e172], th[data-v-20f1e172], strong[data-v-20f1e172] {\r\n font-size: 100%;\r\n font-weight: normal;\n}\ninput[data-v-20f1e172], select[data-v-20f1e172], button[data-v-20f1e172], textarea[data-v-20f1e172], table[data-v-20f1e172] {\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: 100%;\n}\ninput[data-v-20f1e172], button[data-v-20f1e172] {\r\n outline: none;\n}\nul[data-v-20f1e172], ol[data-v-20f1e172] {\r\n list-style: none;\n}\ntable[data-v-20f1e172] {\r\n border-collapse: collapse;\r\n border-spacing: 0;\n}\nth[data-v-20f1e172], caption[data-v-20f1e172] {\r\n text-align: left;\n}\na[data-v-20f1e172] {\r\n color: #666;\r\n text-decoration: none;\r\n outline: none;\r\n -webkit-tap-highlight-color: transparent;\n}\nselect[data-v-20f1e172] {\r\n background-color: #fff;\n}\n.el-tree[data-v-20f1e172] {\r\n min-width: 100%;\r\n display: inline-block !important;\n}\n.transfer[data-v-20f1e172] {\r\n position: relative;\r\n overflow: hidden;\n}\n.transfer-left[data-v-20f1e172] {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\n}\n.transfer-right[data-v-20f1e172] {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\n}\n.transfer-right-item[data-v-20f1e172] {\r\n height: calc((100% - 41px) / 2);\n}\n.transfer-right-small[data-v-20f1e172] {\r\n height: 41px;\n}\n.transfer-right-only[data-v-20f1e172] {\r\n height: 100%;\n}\n.transfer-main[data-v-20f1e172] {\r\n padding: 10px;\r\n height: calc(100% - 41px);\r\n box-sizing: border-box;\r\n overflow: auto;\n}\n.transfer-left[data-v-20f1e172],\r\n.transfer-right[data-v-20f1e172] {\r\n border: 1px solid #ebeef5;\r\n width: 40%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n border-radius: 5px;\r\n vertical-align: middle;\n}\n.transfer-center[data-v-20f1e172] {\r\n position: absolute;\r\n top: 50%;\r\n left: 40%;\r\n width: 20%;\r\n transform: translateY(-50%);\r\n text-align: center;\n}\n.transfer-center-item[data-v-20f1e172] {\r\n padding: 10px;\r\n overflow: hidden;\n}\n.address-list-center[data-v-20f1e172] {\r\n height: 100%;\n}\n.address-list-center > .transfer-center-item[data-v-20f1e172] {\r\n height: 50%;\r\n padding: 70px 10px 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\n}\n.address-list-center > .address-only-item[data-v-20f1e172] {\r\n height: 100%;\r\n position: relative;\n}\n.address-only-item > .address-first-btn[data-v-20f1e172] {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\n}\n.transfer-title[data-v-20f1e172] {\r\n border-bottom: 1px solid #ebeef5;\r\n padding: 0 15px;\r\n height: 40px;\r\n line-height: 40px;\r\n color: #333;\r\n font-size: 16px;\r\n background-color: #f5f7fa;\n}\n.transfer-title .el-checkbox[data-v-20f1e172] {\r\n margin-right: 10px;\n}\n.filter-tree[data-v-20f1e172] {\r\n margin-bottom: 10px;\n}\n.address-list-ul[data-v-20f1e172] {\r\n padding-bottom: 20px;\n}\n.address-list-li[data-v-20f1e172] {\r\n position: relative;\r\n padding: 4px 24px 4px 4px;\r\n border-radius: 3px;\r\n overflow: hidden; /*超出部分隐藏*/\r\n white-space: nowrap; /*不换行*/\r\n text-overflow: ellipsis; /*超出部分文字以...显示*/\n}\n.address-list-li[data-v-20f1e172]:hover {\r\n background-color: #f5f7fa;\n}\n.address-list-li:hover .address-list-del[data-v-20f1e172] {\r\n display: block;\n}\n.address-list-del[data-v-20f1e172] {\r\n display: none;\r\n position: absolute;\r\n top: 50%;\r\n right: 2px;\r\n margin-top: -10px;\r\n width: 20px;\r\n height: 20px;\r\n line-height: 20px;\r\n border-radius: 50%;\r\n text-align: center;\r\n background-color: #fef0f0;\r\n color: #f56c6c;\r\n cursor: pointer;\n}\n.u-clear[data-v-20f1e172] {\r\n float: right;\r\n color: #67c23a;\r\n font-size: 14px;\r\n cursor: pointer;\n}\n.move_up_img[data-v-20f1e172] {\r\n float: right;\r\n margin-top: 10px;\r\n width: 20px;\r\n height: 20px;\r\n cursor: pointer;\n}\n.move_down_img[data-v-20f1e172] {\r\n transform: rotate(180deg);\n}\r\n',"",{version:3,sources:["G:/ziliao/npm/tree-transfer/npm/lib/clear.css","G:/ziliao/npm/tree-transfer/npm/lib/lib/transfer-extend.vue"],names:[],mappings:";AAAA;EACE,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;CAAE;AAEpB;EACE,uBAAuB;CAAE;AAE3B;EACE,UAAU;EACV,WAAW;CAAE;AAEf;EACE,UAAU;CAAE;AAEd;EACE,mBAAmB;EACnB,sBAAsB;CAAE;AAE1B;EACE,gBAAgB;EAChB,oBAAoB;CAAE;AAExB;EACE,UAAU;EACV,qBAAqB;EACrB,gBAAgB;CAAE;AAEpB;EACE,cAAc;CAAE;AAElB;EACE,iBAAiB;CAAE;AAErB;EACE,0BAA0B;EAC1B,kBAAkB;CAAE;AAEtB;EACE,iBAAiB;CAAE;AAErB;EACE,YAAY;EACZ,sBAAsB;EACtB,cAAc;EACd,yCAAyC;CAAE;AAE7C;EACE,uBAAuB;CAAE;AC89B3B;EACA,gBAAA;EACA,iCAAA;CACA;AAEA;EACA,mBAAA;EACA,iBAAA;CACA;AAEA;EACA,mBAAA;EACA,OAAA;EACA,QAAA;CACA;AAEA;EACA,mBAAA;EACA,OAAA;EACA,SAAA;CACA;AAEA;EACA,gCAAA;CACA;AAEA;EACA,aAAA;CACA;AAEA;EACA,aAAA;CACA;AAEA;EACA,cAAA;EACA,0BAAA;EACA,uBAAA;EACA,eAAA;CACA;AAEA;;EAEA,0BAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,uBAAA;CACA;AAEA;EACA,mBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,4BAAA;EACA,mBAAA;CACA;AAEA;EACA,cAAA;EACA,iBAAA;CACA;AAEA;EACA,aAAA;CACA;AAEA;EACA,YAAA;EACA,qBAAA;EACA,uBAAA;EACA,iBAAA;CACA;AAEA;EACA,aAAA;EACA,mBAAA;CACA;AAEA;EACA,mBAAA;EACA,SAAA;EACA,UAAA;EACA,iCAAA;CACA;AAEA;EACA,iCAAA;EACA,gBAAA;EACA,aAAA;EACA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,0BAAA;CACA;AAEA;EACA,mBAAA;CACA;AAEA;EACA,oBAAA;CACA;AAEA;EACA,qBAAA;CACA;AAEA;EACA,mBAAA;EACA,0BAAA;EACA,mBAAA;EACA,iBAAA,CAAA,UAAA;EACA,oBAAA,CAAA,OAAA;EACA,wBAAA,CAAA,gBAAA;CACA;AAEA;EACA,0BAAA;CACA;AAEA;EACA,eAAA;CACA;AAEA;EACA,cAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,mBAAA;EACA,0BAAA;EACA,eAAA;EACA,gBAAA;CACA;AAEA;EACA,aAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;CACA;AAEA;EACA,aAAA;EACA,iBAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;CACA;AAEA;EACA,0BAAA;CACA",file:"transfer-extend.vue",sourcesContent:['body {\r\n line-height: 1.666;\r\n color: #666;\r\n font-size: 14px; }\r\n\r\nbody, input {\r\n font-family: "verdana"; }\r\n\r\nbody, h1, h2, h3, h4, h5, h6, ul, ol, li, p, dl, dt, dd, table, th, td {\r\n margin: 0;\r\n padding: 0; }\r\n\r\ntable, th, td, img {\r\n border: 0; }\r\n\r\nem, i, th {\r\n font-style: normal;\r\n text-decoration: none; }\r\n\r\nh1, h2, h3, h4, h5, h6, th, strong {\r\n font-size: 100%;\r\n font-weight: normal; }\r\n\r\ninput, select, button, textarea, table {\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: 100%; }\r\n\r\ninput, button {\r\n outline: none; }\r\n\r\nul, ol {\r\n list-style: none; }\r\n\r\ntable {\r\n border-collapse: collapse;\r\n border-spacing: 0; }\r\n\r\nth, caption {\r\n text-align: left; }\r\n\r\na {\r\n color: #666;\r\n text-decoration: none;\r\n outline: none;\r\n -webkit-tap-highlight-color: transparent; }\r\n\r\nselect {\r\n background-color: #fff; }\r\n\r\n/*# sourceMappingURL=clear.css.map */\r\n','<template>\r\n <div class="transfer" :style="{ width, height }">\r\n <template v-if="mode == \'transfer\'">\r\n \x3c!-- 左侧穿梭框 原料框 --\x3e\r\n <div class="transfer-left">\r\n <h3 class="transfer-title">\r\n <el-checkbox\r\n :indeterminate="from_is_indeterminate"\r\n v-model="from_check_all"\r\n @change="fromAllBoxChange"\r\n ></el-checkbox>\r\n <span>{{ fromTitle }}</span>\r\n <slot name="title-left"></slot>\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main">\r\n \x3c!-- <slot name="from"></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterFrom"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <el-tree\r\n ref="from-tree"\r\n :data="self_from_data"\r\n show-checkbox\r\n :node-key="node_key"\r\n @check="fromTreeChecked"\r\n :default-expanded-keys="from_expanded_keys"\r\n :props="defaultProps"\r\n :filter-node-method="filterNodeFrom"\r\n :default-expand-all="openAll"\r\n :render-content="renderContent"\r\n :default-checked-keys="defaultCheckedKeys"\r\n :lazy="lazy"\r\n :load="leftloadNode"\r\n >\r\n </el-tree>\r\n <slot name="left-footer"></slot>\r\n </div>\r\n </div>\r\n \x3c!-- 穿梭区 按钮框 --\x3e\r\n <div class="transfer-center">\r\n <template v-if="button_text">\r\n <p class="transfer-center-item">\r\n <el-button\r\n type="primary"\r\n @click="addToAims"\r\n :disabled="from_disabled"\r\n >\r\n {{ fromButton || "添加" }}\r\n <i class="el-icon-arrow-right"></i>\r\n </el-button>\r\n </p>\r\n <p class="transfer-center-item">\r\n <el-button\r\n type="primary"\r\n @click="removeToSource"\r\n :disabled="to_disabled"\r\n icon="el-icon-arrow-left"\r\n >{{ toButton || "移除" }}</el-button\r\n >\r\n </p>\r\n </template>\r\n <template v-else>\r\n <p class="transfer-center-item">\r\n <el-button\r\n type="primary"\r\n @click="addToAims"\r\n icon="el-icon-arrow-right"\r\n circle\r\n :disabled="from_disabled"\r\n ></el-button>\r\n </p>\r\n <p class="transfer-center-item">\r\n <el-button\r\n type="primary"\r\n @click="removeToSource"\r\n :disabled="to_disabled"\r\n icon="el-icon-arrow-left"\r\n circle\r\n ></el-button>\r\n </p>\r\n </template>\r\n </div>\r\n \x3c!-- 右侧穿梭框 目标框 --\x3e\r\n <div class="transfer-right">\r\n <h3 class="transfer-title">\r\n <el-checkbox\r\n :indeterminate="to_is_indeterminate"\r\n v-model="to_check_all"\r\n @change="toAllBoxChange"\r\n ></el-checkbox>\r\n <span>{{ toTitle }}</span>\r\n <slot name="title-right"></slot>\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main">\r\n \x3c!-- <slot name=\'to\'></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterTo"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <el-tree\r\n slot="to"\r\n ref="to-tree"\r\n :data="self_to_data"\r\n show-checkbox\r\n :node-key="node_key"\r\n @check="toTreeChecked"\r\n :default-expanded-keys="to_expanded_keys"\r\n :props="defaultProps"\r\n :filter-node-method="filterNodeTo"\r\n :default-expand-all="openAll"\r\n :render-content="renderContent"\r\n :lazy="lazy"\r\n :load="rightloadNode"\r\n >\r\n </el-tree>\r\n <slot name="right-footer"></slot>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else-if="mode == \'addressList\'">\r\n \x3c!-- 左侧穿梭框 原料框 --\x3e\r\n <div class="transfer-left">\r\n <h3 class="transfer-title">\r\n <el-checkbox\r\n :indeterminate="from_is_indeterminate"\r\n v-model="from_check_all"\r\n @change="fromAllBoxChange"\r\n ></el-checkbox>\r\n <span>{{ fromTitle }}</span>\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main">\r\n \x3c!-- <slot name="from"></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterFrom"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <el-tree\r\n ref="from-tree"\r\n :data="self_from_data"\r\n show-checkbox\r\n :node-key="node_key"\r\n @check="fromTreeChecked"\r\n :default-expanded-keys="from_expanded_keys"\r\n :props="defaultProps"\r\n :filter-node-method="filterNodeFrom"\r\n :default-expand-all="openAll"\r\n :render-content="renderContent"\r\n >\r\n </el-tree>\r\n </div>\r\n </div>\r\n \x3c!-- 穿梭区 按钮框 --\x3e\r\n <div class="transfer-center address-list-center">\r\n <p\r\n class="transfer-center-item"\r\n v-show="!move_up"\r\n :class="{ \'address-only-item\': addressOptions.num === 1 }"\r\n >\r\n <el-button\r\n type="primary"\r\n @click="addressListTransfer(0)"\r\n icon="el-icon-arrow-right"\r\n circle\r\n class="address-first-btn"\r\n :disabled="from_disabled"\r\n ></el-button>\r\n </p>\r\n <p class="transfer-center-item" v-if="addressOptions.num > 1">\r\n <el-button\r\n type="primary"\r\n @click="addressListTransfer(1)"\r\n :disabled="from_disabled"\r\n icon="el-icon-arrow-right"\r\n circle\r\n ></el-button>\r\n </p>\r\n <p class="transfer-center-item" v-show="move_up">\r\n <el-button\r\n type="primary"\r\n @click="addressListTransfer(2)"\r\n :disabled="from_disabled"\r\n icon="el-icon-arrow-right"\r\n circle\r\n ></el-button>\r\n </p>\r\n </div>\r\n <div class="transfer-right">\r\n <div\r\n class="transfer-right-item"\r\n :class="{\r\n \'transfer-right-small\': move_up,\r\n \'transfer-right-only\': addressOptions.num === 1\r\n }"\r\n >\r\n <h3 class="transfer-title">\r\n <span>{{ toTitle }}</span>\r\n <span class="u-clear" @click="clearList(0, \'all\')" v-if="!move_up"\r\n >清空</span\r\n >\r\n <img\r\n class="move_up_img move_down_img"\r\n v-else\r\n src="./shang.png"\r\n alt=""\r\n @click="moveUp(\'down\')"\r\n />\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main" v-if="!move_up">\r\n \x3c!-- <slot name=\'to\'></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterListFirst"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <ul class="address-list-ul">\r\n <li\r\n class="address-list-li"\r\n v-for="item of addressee"\r\n :key="item[node_key]"\r\n >\r\n <label>\r\n {{ item[defaultProps.label] }}\r\n {{ addressOptions.connector }}\r\n {{ item[addressOptions.suffix] }}\r\n </label>\r\n <i\r\n class="address-list-del"\r\n @click="clearList(0, item[node_key])"\r\n >x</i\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class="transfer-right-item" v-if="addressOptions.num >= 2">\r\n <h3 class="transfer-title">\r\n <span>{{ toTitleSecond || "抄送人" }}</span>\r\n <span class="u-clear" @click="clearList(1, \'all\')">清空</span>\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main">\r\n \x3c!-- <slot name=\'to\'></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterListSecond"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <ul class="address-list-ul">\r\n <li\r\n class="address-list-li"\r\n v-for="item of Cc"\r\n :key="item[node_key]"\r\n >\r\n <label>\r\n {{ item[defaultProps.label] }}\r\n {{ addressOptions.connector }}\r\n {{ item[addressOptions.suffix] }}\r\n </label>\r\n <i\r\n class="address-list-del"\r\n @click="clearList(1, item[node_key])"\r\n >x</i\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div\r\n v-if="addressOptions.num === 3"\r\n class="transfer-right-item"\r\n :class="{ \'transfer-right-small\': !move_up }"\r\n >\r\n <h3 class="transfer-title">\r\n <span>{{ toTitleThird || "密送人" }}</span>\r\n <span class="u-clear" @click="clearList(2, \'all\')" v-if="move_up"\r\n >清空</span\r\n >\r\n <img\r\n class="move_up_img"\r\n v-else\r\n src="./shang.png"\r\n alt=""\r\n @click="moveUp(\'up\')"\r\n />\r\n </h3>\r\n \x3c!-- 内容区 --\x3e\r\n <div class="transfer-main" v-if="move_up">\r\n \x3c!-- <slot name=\'to\'></slot> --\x3e\r\n <el-input\r\n v-if="filter"\r\n :placeholder="placeholder"\r\n v-model="filterListThird"\r\n size="small"\r\n class="filter-tree"\r\n >\r\n </el-input>\r\n <ul class="address-list-ul">\r\n <li\r\n class="address-list-li"\r\n v-for="item of secret_receiver"\r\n :key="item[node_key]"\r\n >\r\n <label>\r\n {{ item[defaultProps.label] }}\r\n {{ addressOptions.connector }}\r\n {{ item[addressOptions.suffix] }}\r\n </label>\r\n <i\r\n class="address-list-del"\r\n @click="clearList(2, item[node_key])"\r\n >x</i\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { arrayToTree } from "./array.js";\r\nexport default {\r\n data() {\r\n return {\r\n from_is_indeterminate: false, // 源数据是否半选\r\n from_check_all: false, // 源数据是否全选\r\n to_is_indeterminate: false, // 目标数据是否半选\r\n to_check_all: false, // 目标数据是否全选\r\n from_expanded_keys: [], // 源数据展开节点\r\n to_expanded_keys: [], // 目标数据展开节点\r\n from_disabled: true, // 添加按钮是否禁用\r\n to_disabled: true, // 移除按钮是否禁用\r\n from_check_keys: [], // 源数据选中key数组 以此属性关联穿梭按钮,总全选、半选状态\r\n to_check_keys: [], // 目标数据选中key数组 以此属性关联穿梭按钮,总全选、半选状态\r\n filterFrom: "", // 源数据筛选\r\n filterTo: "", // 目标数据筛选\r\n filterListFirst: "", // 通讯录模式 右1筛选\r\n filterListSecond: "", // 通讯录模式 右2筛选\r\n filterListThird: "", // 通讯录模式 右3筛选\r\n archiveFirst: [], // 存档右侧筛选前数据\r\n archiveSecond: [], // 存档右侧筛选前数据\r\n archiveThird: [], // 存档右侧筛选前数据\r\n addressee: [], // 收件人列表\r\n Cc: [], // 抄送人列表\r\n secret_receiver: [], // 密送人列表\r\n move_up: false // 通讯录模式 切换右侧\r\n };\r\n },\r\n props: {\r\n // 宽度\r\n width: {\r\n type: String,\r\n default: "100%"\r\n },\r\n // 高度\r\n height: {\r\n type: String,\r\n default: "320px"\r\n },\r\n // 标题\r\n title: {\r\n type: Array,\r\n default: () => ["源列表", "目标列表"]\r\n },\r\n // 穿梭按钮名字\r\n button_text: Array,\r\n // 源数据\r\n from_data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n // 选中数据\r\n to_data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n // el-tree 配置项\r\n defaultProps: {\r\n type: Object,\r\n default: () => {\r\n return { label: "label", children: "children" };\r\n }\r\n },\r\n // el-tree node-key 必须唯一\r\n node_key: {\r\n type: String,\r\n default: "id"\r\n },\r\n // 自定义 pid参数名\r\n pid: {\r\n type: String,\r\n default: "pid"\r\n },\r\n // 是否启用筛选\r\n filter: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 是否展开所有节点\r\n openAll: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 自定义树节点\r\n renderContent: Function,\r\n // 穿梭框模式\r\n mode: {\r\n type: String,\r\n default: "transfer"\r\n },\r\n // 通讯录模式配置项 num-> 所需右侧通讯录个数 suffix-> label后想要拼接的字段(如id,即取此条数据的id拼接在后方)connector -> 连接符(字符串)\r\n addressOptions: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n num: 3,\r\n suffix: "suffix",\r\n connector: "-"\r\n };\r\n }\r\n },\r\n // 穿梭后是否展开节点\r\n transferOpenNode: {\r\n type: Boolean,\r\n default: true\r\n },\r\n // 源数据 默认选中节点\r\n defaultCheckedKeys: {\r\n type: Array,\r\n default: () => []\r\n },\r\n // 筛选placeholder\r\n placeholder: {\r\n type: String,\r\n default: "输入关键字进行过滤"\r\n },\r\n // 默认穿梭一次默认选中数据\r\n defaultTransfer: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 是否开启arrayToTree\r\n arrayToTree: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 是否启用懒加载\r\n lazy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 懒加载的回调函数\r\n lazyFn: Function\r\n },\r\n created() {\r\n this.from_check_keys = this.defaultCheckedKeys;\r\n },\r\n mounted() {\r\n if (this.defaultCheckedKeys.length > 0 && this.defaultTransfer) {\r\n this.$nextTick(() => {\r\n this.addToAims();\r\n });\r\n }\r\n },\r\n methods: {\r\n // 添加按钮\r\n addToAims() {\r\n // 获取选中通过穿梭框的keys - 仅用于传送纯净的id数组到父组件同后台通信\r\n let keys = this.$refs["from-tree"].getCheckedKeys();\r\n // 获取半选通过穿梭框的keys - 仅用于传送纯净的id数组到父组件同后台通信\r\n let harfKeys = this.$refs["from-tree"].getHalfCheckedKeys();\r\n // 选中节点数据\r\n let arrayCheckedNodes = this.$refs["from-tree"].getCheckedNodes();\r\n // 获取选中通过穿梭框的nodes - 仅用于传送选中节点数组到父组件同后台通信需求\r\n let nodes = JSON.parse(JSON.stringify(arrayCheckedNodes));\r\n // 半选中节点数据\r\n let arrayHalfCheckedNodes = this.$refs["from-tree"].getHalfCheckedNodes();\r\n // 获取半选通过穿梭框的nodes - 仅用于传送选中节点数组到父组件同后台通信需求\r\n let halfNodes = JSON.parse(JSON.stringify(arrayHalfCheckedNodes));\r\n\r\n // 自定义参数读取设置\r\n let children__ = this.defaultProps.children || "children";\r\n let pid__ = this.pid || "pid";\r\n let id__ = this["node_key"] || "id";\r\n\r\n /*\r\n * 先整合目标树没有父节点的叶子节点选中,需要整理出来此叶子节点的父节点直到根节点路径 - 此时所有骨架节点已有\r\n * 再将所有末端叶子节点根据pid直接推入目标树即可\r\n * 声明新盒子将所有半选节点的子节点清除 - 只保留骨架 因为排序是先父后子 因此不存在子元素处理好插入时父元素还没处理的情况\r\n * 下面一二步是为了搭建出来目标树没有根节点躯干节点时的叶子选中,给此叶子搭建出根节点和躯干节点\r\n */\r\n\r\n // let不存在状态提升 因此在函数调用之前赋值 并递归为以为数组!\r\n let self_to_data = JSON.stringify(this.self_to_data);\r\n // 第一步\r\n let skeletonHalfCheckedNodes = JSON.parse(\r\n JSON.stringify(arrayHalfCheckedNodes)\r\n ); // 深拷贝数据 - 半选节点\r\n // 筛选目标树不存在的骨架节点 - 半选内的节点\r\n let newSkeletonHalfCheckedNodes = [];\r\n skeletonHalfCheckedNodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n newSkeletonHalfCheckedNodes.push(item);\r\n }\r\n });\r\n // 筛选到目标树不存在的骨架后在处理每个骨架节点-非末端叶子节点 - 半选节点\r\n newSkeletonHalfCheckedNodes.forEach(item => {\r\n item[children__] = [];\r\n [0, "0"].includes(item[pid__])\r\n ? this.$refs["to-tree"].append(item)\r\n : this.$refs["to-tree"].append(item, item[pid__]);\r\n });\r\n\r\n // 第二步\r\n // 筛选目标树不存在的骨架节点 - 全选内的节点\r\n let newSkeletonCheckedNodes = [];\r\n nodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n newSkeletonCheckedNodes.push(item);\r\n }\r\n });\r\n // 筛选到目标树不存在的骨架后在处理每个骨架节点-非末端叶子节点 - 全选节点\r\n newSkeletonCheckedNodes.forEach(item => {\r\n if (item[children__] && item[children__].length > 0) {\r\n item[children__] = [];\r\n [0, "0"].includes(item[pid__])\r\n ? this.$refs["to-tree"].append(item)\r\n : this.$refs["to-tree"].append(item, item[pid__]);\r\n }\r\n });\r\n\r\n // 第三步 处理末端叶子元素 - 声明新盒子筛选出所有末端叶子节点\r\n let leafCheckedNodes = arrayCheckedNodes.filter(\r\n item => !item[children__] || item[children__].length == 0\r\n );\r\n // 末端叶子插入目标树\r\n leafCheckedNodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n this.$refs["to-tree"].append(item, item[pid__]);\r\n }\r\n });\r\n\r\n // 递归查询data内是否存在item函数\r\n function inquireIsExist(item, strData = self_to_data) {\r\n // 将树形数据格式化成一维字符串 然后通过匹配来判断是否已存在\r\n let strItem =\r\n typeof item[id__] == "number"\r\n ? `"${id__}":${item[id__]},`\r\n : `"${id__}":"${item[id__]}"`;\r\n let reg = RegExp(strItem);\r\n let existed = reg.test(strData);\r\n return existed;\r\n }\r\n\r\n // 左侧删掉选中数据\r\n arrayCheckedNodes.map(item => this.$refs["from-tree"].remove(item));\r\n\r\n // 处理完毕按钮恢复禁用状态\r\n this.from_check_keys = [];\r\n\r\n // 目标数据节点展开\r\n if (this.transferOpenNode && !this.lazy) {\r\n this.to_expanded_keys = keys;\r\n }\r\n\r\n // 传递信息给父组件\r\n this.$emit("addBtn", this.self_from_data, this.self_to_data, {\r\n keys,\r\n nodes,\r\n harfKeys,\r\n halfNodes\r\n });\r\n\r\n // 处理完毕取消选中\r\n this.$refs["from-tree"].setCheckedKeys([]);\r\n },\r\n // 移除按钮\r\n removeToSource() {\r\n // 获取选中通过穿梭框的keys - 仅用于传送纯净的id数组到父组件同后台通信\r\n let keys = this.$refs["to-tree"].getCheckedKeys();\r\n // 获取半选通过穿梭框的keys - 仅用于传送纯净的id数组到父组件同后台通信\r\n let harfKeys = this.$refs["to-tree"].getHalfCheckedKeys();\r\n // 获取选中通过穿梭框的nodes 选中节点数据\r\n let arrayCheckedNodes = this.$refs["to-tree"].getCheckedNodes();\r\n // 获取选中通过穿梭框的nodes - 仅用于传送选中节点数组到父组件同后台通信需求\r\n let nodes = JSON.parse(JSON.stringify(arrayCheckedNodes));\r\n // 半选中节点数据\r\n let arrayHalfCheckedNodes = this.$refs["to-tree"].getHalfCheckedNodes();\r\n // 获取半选通过穿梭框的nodes - 仅用于传送选中节点数组到父组件同后台通信需求\r\n let halfNodes = JSON.parse(JSON.stringify(arrayHalfCheckedNodes));\r\n\r\n // 自定义参数读取设置\r\n let children__ = this.defaultProps.children || "children";\r\n let pid__ = this.pid || "pid";\r\n let id__ = this["node_key"] || "id";\r\n\r\n /*\r\n * 先整合目标树没有父节点的叶子节点选中,需要整理出来此叶子节点的父节点直到根节点路径 - 此时所有骨架节点已有\r\n * 再将所有末端叶子节点根据pid直接推入目标树即可\r\n * 声明新盒子将所有半选节点的子节点清除 - 只保留骨架 因为排序是先父后子 因此不存在子元素处理好插入时父元素还没处理的情况\r\n * 下面一二步是为了搭建出来目标树没有根节点躯干节点时的叶子选中,给此叶子搭建出根节点和躯干节点\r\n */\r\n\r\n // let不存在状态提升 因此在函数调用之前赋值 并递归为以为数组!\r\n let self_from_data = JSON.stringify(this.self_from_data);\r\n // 第一步\r\n let skeletonHalfCheckedNodes = JSON.parse(\r\n JSON.stringify(arrayHalfCheckedNodes)\r\n ); // 深拷贝数据 - 半选节点\r\n // 筛选目标树不存在的骨架节点 - 半选内的节点\r\n let newSkeletonHalfCheckedNodes = [];\r\n skeletonHalfCheckedNodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n newSkeletonHalfCheckedNodes.push(item);\r\n }\r\n });\r\n // 筛选到目标树不存在的骨架后在处理每个骨架节点-非末端叶子节点 - 半选节点\r\n newSkeletonHalfCheckedNodes.forEach(item => {\r\n item[children__] = [];\r\n [0, "0"].includes(item[pid__])\r\n ? this.$refs["from-tree"].append(item)\r\n : this.$refs["from-tree"].append(item, item[pid__]);\r\n });\r\n\r\n // 第二步\r\n // 筛选目标树不存在的骨架节点 - 全选内的节点\r\n let newSkeletonCheckedNodes = [];\r\n nodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n newSkeletonCheckedNodes.push(item);\r\n }\r\n });\r\n // 筛选到目标树不存在的骨架后在处理每个骨架节点-非末端叶子节点 - 全选节点\r\n newSkeletonCheckedNodes.forEach(item => {\r\n if (item[children__] && item[children__].length > 0) {\r\n item[children__] = [];\r\n [0, "0"].includes(item[pid__])\r\n ? this.$refs["from-tree"].append(item)\r\n : this.$refs["from-tree"].append(item, item[pid__]);\r\n }\r\n });\r\n\r\n // 第三步 处理末端叶子元素 - 声明新盒子筛选出所有末端叶子节点\r\n let leafCheckedNodes = arrayCheckedNodes.filter(\r\n item => !item[children__] || item[children__].length == 0\r\n );\r\n // 末端叶子插入目标树\r\n leafCheckedNodes.forEach(item => {\r\n if (!inquireIsExist(item)) {\r\n this.$refs["from-tree"].append(item, item[pid__]);\r\n }\r\n });\r\n\r\n // 递归查询data内是否存在item函数\r\n function inquireIsExist(item, strData = self_from_data) {\r\n // 将树形数据格式化成一维字符串 然后通过匹配来判断是否已存在\r\n let strItem =\r\n typeof item[id__] == "number"\r\n ? `"${id__}":${item[id__]},`\r\n : `"${id__}":"${item[id__]}"`;\r\n let reg = RegExp(strItem);\r\n let existed = reg.test(strData);\r\n return existed;\r\n }\r\n\r\n // 右侧删掉选中数据\r\n arrayCheckedNodes.map(item => this.$refs["to-tree"].remove(item));\r\n\r\n // 处理完毕按钮恢复禁用状态\r\n this.to_check_keys = [];\r\n\r\n // 目标数据节点展开\r\n if (this.transferOpenNode && !this.lazy) {\r\n this.from_expanded_keys = keys;\r\n }\r\n\r\n // 传递信息给父组件\r\n this.$emit("removeBtn", this.self_from_data, this.self_to_data, {\r\n keys,\r\n nodes,\r\n harfKeys,\r\n halfNodes\r\n });\r\n // 处理完毕取消选中\r\n this.$refs["to-tree"].setCheckedKeys([]);\r\n },\r\n // 异步加载左侧\r\n leftloadNode(node, resolve) {\r\n if (node.level === 0) {\r\n return resolve(this.self_from_data);\r\n }\r\n\r\n this.lazyFn && this.lazyFn(node, resolve, "left");\r\n },\r\n // 异步加载右侧\r\n rightloadNode(node, resolve) {\r\n if (node.level === 0) {\r\n return resolve(this.self_to_data);\r\n }\r\n\r\n this.lazyFn && this.lazyFn(node, resolve, "right");\r\n },\r\n // 源树选中事件 - 是否禁用穿梭按钮\r\n fromTreeChecked(nodeObj, treeObj) {\r\n this.from_check_keys = treeObj.checkedNodes;\r\n this.$emit("left-check-change", nodeObj, treeObj);\r\n },\r\n // 目标树选中事件 - 是否禁用穿梭按钮\r\n toTreeChecked(nodeObj, treeObj) {\r\n this.to_check_keys = treeObj.checkedNodes;\r\n this.$emit("right-check-change", nodeObj, treeObj);\r\n },\r\n // 源数据 总全选checkbox\r\n fromAllBoxChange(val) {\r\n if (this.self_from_data.length == 0) {\r\n return;\r\n }\r\n if (val) {\r\n this.from_check_keys = this.self_from_data;\r\n this.$refs["from-tree"].setCheckedNodes(this.self_from_data);\r\n } else {\r\n this.$refs["from-tree"].setCheckedNodes([]);\r\n this.from_check_keys = [];\r\n }\r\n },\r\n // 目标数据 总全选checkbox\r\n toAllBoxChange(val) {\r\n if (this.self_to_data.length == 0) {\r\n return;\r\n }\r\n if (val) {\r\n this.to_check_keys = this.self_to_data;\r\n this.$refs["to-tree"].setCheckedNodes(this.self_to_data);\r\n } else {\r\n this.$refs["to-tree"].setCheckedNodes([]);\r\n this.to_check_keys = [];\r\n }\r\n },\r\n // 源数据 筛选\r\n filterNodeFrom(value, data) {\r\n if (!value) return true;\r\n return data[this.defaultProps.label].indexOf(value) !== -1;\r\n },\r\n // 目标数据筛选\r\n filterNodeTo(value, data) {\r\n if (!value) return true;\r\n return data[this.defaultProps.label].indexOf(value) !== -1;\r\n },\r\n // 通讯录模式 穿梭操作\r\n addressListTransfer(type) {\r\n // 获取选中通过穿梭框的keys - 仅用于传送纯净的id数组到父组件同后台通信\r\n let keys = this.$refs["from-tree"].getCheckedKeys(true);\r\n // 选中节点数据\r\n let arrayCheckedNodes = this.$refs["from-tree"].getCheckedNodes(true);\r\n // 去重筛选\r\n let arrayDeWeighting = [];\r\n switch (type) {\r\n case 0:\r\n arrayDeWeighting = arrayCheckedNodes.filter(item => {\r\n if (\r\n !this.addressee.some(\r\n ite => ite[this.node_key] == item[this.node_key]\r\n )\r\n ) {\r\n return item;\r\n }\r\n });\r\n this.addressee = [...this.addressee, ...arrayDeWeighting];\r\n break;\r\n case 1:\r\n arrayDeWeighting = arrayCheckedNodes.filter(item => {\r\n if (\r\n !this.Cc.some(ite => ite[this.node_key] == item[this.node_key])\r\n ) {\r\n return item;\r\n }\r\n });\r\n this.Cc = [...this.Cc, ...arrayDeWeighting];\r\n break;\r\n case 2:\r\n arrayDeWeighting = arrayCheckedNodes.filter(item => {\r\n if (\r\n !this.secret_receiver.some(\r\n ite => ite[this.node_key] == item[this.node_key]\r\n )\r\n ) {\r\n return item;\r\n }\r\n });\r\n this.secret_receiver = [...this.secret_receiver, ...arrayDeWeighting];\r\n break;\r\n }\r\n\r\n // 处理完毕取消选中\r\n this.$refs["from-tree"].setCheckedKeys([]);\r\n\r\n // 处理完毕按钮恢复禁用状态\r\n this.from_check_keys = [];\r\n\r\n // 传递信息给父组件\r\n this.$emit("addBtn", this.addressee, this.Cc, this.secret_receiver);\r\n },\r\n // 清理 通讯录选中 数据\r\n clearList(type, id) {\r\n switch (type) {\r\n case 0:\r\n this.addressee =\r\n id == "all"\r\n ? []\r\n : this.addressee.filter(item => item[this.node_key] != id);\r\n break;\r\n case 1:\r\n this.Cc =\r\n id == "all"\r\n ? []\r\n : this.Cc.filter(item => item[this.node_key] != id);\r\n break;\r\n case 2:\r\n this.secret_receiver =\r\n id == "all"\r\n ? []\r\n : this.secret_receiver.filter(item => item[this.node_key] != id);\r\n break;\r\n }\r\n // 传递信息给父组件\r\n this.$emit("removeBtn", this.addressee, this.Cc, this.secret_receiver);\r\n },\r\n // 右侧 通讯录 上下自动\r\n moveUp(type) {\r\n if (type == "up") {\r\n this.move_up = true;\r\n } else {\r\n this.move_up = false;\r\n }\r\n }\r\n },\r\n computed: {\r\n // 左侧数据\r\n self_from_data() {\r\n let from_array = [...this.from_data];\r\n if (!this.arrayToTree) {\r\n from_array.forEach(item => {\r\n item[this.pid] = 0;\r\n });\r\n return from_array;\r\n } else {\r\n return arrayToTree(from_array, {\r\n id: this.node_key,\r\n pid: this.pid,\r\n children: this.defaultProps.children\r\n });\r\n }\r\n },\r\n // 右侧数据\r\n self_to_data() {\r\n let to_array = [...this.to_data];\r\n if (!this.arrayToTree) {\r\n to_array.forEach(item => {\r\n item[this.pid] = 0;\r\n });\r\n return to_array;\r\n } else {\r\n return arrayToTree(to_array, {\r\n id: this.node_key,\r\n pid: this.pid,\r\n children: this.defaultProps.children\r\n });\r\n }\r\n },\r\n // 左侧菜单名\r\n fromTitle() {\r\n let [text] = this.title;\r\n return text;\r\n },\r\n // 右侧菜单名\r\n toTitle() {\r\n let [, text] = this.title;\r\n return text;\r\n },\r\n // 右侧菜单名2\r\n toTitleSecond() {\r\n let [, , text] = this.title;\r\n return text;\r\n },\r\n // 右侧菜单名3\r\n toTitleThird() {\r\n let [, , , text] = this.title;\r\n return text;\r\n },\r\n // 上部按钮名\r\n fromButton() {\r\n if (this.button_text == undefined) {\r\n return;\r\n }\r\n\r\n let [text] = this.button_text;\r\n return text;\r\n },\r\n // 下部按钮名\r\n toButton() {\r\n if (this.button_text == undefined) {\r\n return;\r\n }\r\n let [, text] = this.button_text;\r\n return text;\r\n }\r\n },\r\n watch: {\r\n // 左侧 状态监测\r\n from_check_keys(val) {\r\n if (val.length > 0) {\r\n // 穿梭按钮是否禁用\r\n this.from_disabled = false;\r\n // 总半选是否开启\r\n this.from_is_indeterminate = true;\r\n\r\n // 总全选是否开启 - 根据选中节点中为根节点的数量是否和源数据长度相等\r\n let allCheck = val.filter(item => item[this.pid] == 0);\r\n if (allCheck.length == this.self_from_data.length) {\r\n // 关闭半选 开启全选\r\n this.from_is_indeterminate = false;\r\n this.from_check_all = true;\r\n } else {\r\n this.from_is_indeterminate = true;\r\n this.from_check_all = false;\r\n }\r\n } else {\r\n this.from_disabled = true;\r\n this.from_is_indeterminate = false;\r\n this.from_check_all = false;\r\n }\r\n },\r\n // 右侧 状态监测\r\n to_check_keys(val) {\r\n if (val.length > 0) {\r\n // 穿梭按钮是否禁用\r\n this.to_disabled = false;\r\n // 总半选是否开启\r\n this.to_is_indeterminate = true;\r\n\r\n // 总全选是否开启 - 根据选中节点中为根节点的数量是否和源数据长度相等\r\n let allCheck = val.filter(item => item[this.pid] == 0);\r\n if (allCheck.length == this.self_to_data.length) {\r\n // 关闭半选 开启全选\r\n this.to_is_indeterminate = false;\r\n this.to_check_all = true;\r\n } else {\r\n this.to_is_indeterminate = true;\r\n this.to_check_all = false;\r\n }\r\n } else {\r\n this.to_disabled = true;\r\n this.to_is_indeterminate = false;\r\n this.to_check_all = false;\r\n }\r\n },\r\n // 左侧 数据筛选\r\n filterFrom(val) {\r\n this.$refs["from-tree"].filter(val);\r\n },\r\n // 右侧 数据筛选\r\n filterTo(val) {\r\n this.$refs["to-tree"].filter(val);\r\n },\r\n // 通讯录模式 右1筛选\r\n filterListFirst(newval, oldval) {\r\n if (oldval == "") {\r\n this.archiveFirst = this.addressee;\r\n }\r\n if (newval == "") {\r\n this.addressee = this.archiveFirst;\r\n }\r\n let reg = RegExp(newval);\r\n this.addressee = this.addressee.filter(item => reg.test(item.label));\r\n },\r\n // 通讯录模式 右2筛选\r\n filterListSecond(newval, oldval) {\r\n if (oldval == "") {\r\n this.archiveSecond = this.Cc;\r\n }\r\n if (newval == "") {\r\n this.Cc = this.archiveSecond;\r\n }\r\n let reg = RegExp(newval);\r\n this.Cc = this.Cc.filter(item => reg.test(item.label));\r\n },\r\n // 通讯录模式 右3筛选\r\n filterListThird(newval, oldval) {\r\n if (oldval == "") {\r\n this.archiveThird = this.secret_receiver;\r\n }\r\n if (newval == "") {\r\n this.secret_receiver = this.archiveThird;\r\n }\r\n let reg = RegExp(newval);\r\n this.secret_receiver = this.secret_receiver.filter(item =>\r\n reg.test(item.label)\r\n );\r\n },\r\n // 监视默认选中\r\n defaultCheckedKeys(val) {\r\n if (val && this.defaultTransfer) {\r\n this.$nextTick(() => {\r\n this.addToAims();\r\n });\r\n }\r\n }\r\n }\r\n};\r\n<\/script>\r\n\r\n<style scoped>\r\n@import "./clear.css";\r\n.el-tree {\r\n min-width: 100%;\r\n display: inline-block !important;\r\n}\r\n\r\n.transfer {\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\n.transfer-left {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.transfer-right {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n}\r\n\r\n.transfer-right-item {\r\n height: calc((100% - 41px) / 2);\r\n}\r\n\r\n.transfer-right-small {\r\n height: 41px;\r\n}\r\n\r\n.transfer-right-only {\r\n height: 100%;\r\n}\r\n\r\n.transfer-main {\r\n padding: 10px;\r\n height: calc(100% - 41px);\r\n box-sizing: border-box;\r\n overflow: auto;\r\n}\r\n\r\n.transfer-left,\r\n.transfer-right {\r\n border: 1px solid #ebeef5;\r\n width: 40%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n border-radius: 5px;\r\n vertical-align: middle;\r\n}\r\n\r\n.transfer-center {\r\n position: absolute;\r\n top: 50%;\r\n left: 40%;\r\n width: 20%;\r\n transform: translateY(-50%);\r\n text-align: center;\r\n}\r\n\r\n.transfer-center-item {\r\n padding: 10px;\r\n overflow: hidden;\r\n}\r\n\r\n.address-list-center {\r\n height: 100%;\r\n}\r\n\r\n.address-list-center > .transfer-center-item {\r\n height: 50%;\r\n padding: 70px 10px 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n}\r\n\r\n.address-list-center > .address-only-item {\r\n height: 100%;\r\n position: relative;\r\n}\r\n\r\n.address-only-item > .address-first-btn {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n}\r\n\r\n.transfer-title {\r\n border-bottom: 1px solid #ebeef5;\r\n padding: 0 15px;\r\n height: 40px;\r\n line-height: 40px;\r\n color: #333;\r\n font-size: 16px;\r\n background-color: #f5f7fa;\r\n}\r\n\r\n.transfer-title .el-checkbox {\r\n margin-right: 10px;\r\n}\r\n\r\n.filter-tree {\r\n margin-bottom: 10px;\r\n}\r\n\r\n.address-list-ul {\r\n padding-bottom: 20px;\r\n}\r\n\r\n.address-list-li {\r\n position: relative;\r\n padding: 4px 24px 4px 4px;\r\n border-radius: 3px;\r\n overflow: hidden; /*超出部分隐藏*/\r\n white-space: nowrap; /*不换行*/\r\n text-overflow: ellipsis; /*超出部分文字以...显示*/\r\n}\r\n\r\n.address-list-li:hover {\r\n background-color: #f5f7fa;\r\n}\r\n\r\n.address-list-li:hover .address-list-del {\r\n display: block;\r\n}\r\n\r\n.address-list-del {\r\n display: none;\r\n position: absolute;\r\n top: 50%;\r\n right: 2px;\r\n margin-top: -10px;\r\n width: 20px;\r\n height: 20px;\r\n line-height: 20px;\r\n border-radius: 50%;\r\n text-align: center;\r\n background-color: #fef0f0;\r\n color: #f56c6c;\r\n cursor: pointer;\r\n}\r\n\r\n.u-clear {\r\n float: right;\r\n color: #67c23a;\r\n font-size: 14px;\r\n cursor: pointer;\r\n}\r\n\r\n.move_up_img {\r\n float: right;\r\n margin-top: 10px;\r\n width: 20px;\r\n height: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.move_down_img {\r\n transform: rotate(180deg);\r\n}\r\n</style>\r\n'],sourceRoot:""}])},function(e,r){function t(e,r){var t=e[1]||"",i=e[3];if(!i)return t;if(r&&"function"==typeof btoa){var s=n(i);return[t].concat(i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"})).concat([s]).join("\n")}return[t].join("\n")}function n(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var r=[];return r.toString=function(){return this.map(function(r){var n=t(r,e);return r[2]?"@media "+r[2]+"{"+n+"}":n}).join("")},r.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},i=0;i<this.length;i++){var s=this[i][0];"number"==typeof s&&(n[s]=!0)}for(i=0;i<e.length;i++){var a=e[i];"number"==typeof a[0]&&n[a[0]]||(t&&!a[2]?a[2]=t:t&&(a[2]="("+a[2]+") and ("+t+")"),r.push(a))}},r}},function(e,r,t){function n(e){for(var r=0;r<e.length;r++){var t=e[r],n=c[t.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](t.parts[i]);for(;i<t.parts.length;i++)n.parts.push(s(t.parts[i]));n.parts.length>t.parts.length&&(n.parts.length=t.parts.length)}else{var a=[];for(i=0;i<t.parts.length;i++)a.push(s(t.parts[i]));c[t.id]={id:t.id,refs:1,parts:a}}}}function i(){var e=document.createElement("style");return e.type="text/css",f.appendChild(e),e}function s(e){var r,t,n=document.querySelector("style["+v+'~="'+e.id+'"]');if(n){if(p)return m;n.parentNode.removeChild(n)}if(_){var s=u++;n=h||(h=i()),r=a.bind(null,n,s,!1),t=a.bind(null,n,s,!0)}else n=i(),r=o.bind(null,n),t=function(){n.parentNode.removeChild(n)};return r(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;r(e=n)}else t()}}function a(e,r,t,n){var i=t?"":n.css;if(e.styleSheet)e.styleSheet.cssText=k(r,i);else{var s=document.createTextNode(i),a=e.childNodes;a[r]&&e.removeChild(a[r]),a.length?e.insertBefore(s,a[r]):e.appendChild(s)}}function o(e,r){var t=r.css,n=r.media,i=r.sourceMap;if(n&&e.setAttribute("media",n),A.ssrId&&e.setAttribute(v,r.id),i&&(t+="\n/*# sourceURL="+i.sources[0]+" */",t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}var l="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!l)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var d=t(8),c={},f=l&&(document.head||document.getElementsByTagName("head")[0]),h=null,u=0,p=!1,m=function(){},A=null,v="data-vue-ssr-id",_="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,r,t,i){p=t,A=i||{};var s=d(e,r);return n(s),function(r){for(var t=[],i=0;i<s.length;i++){var a=s[i],o=c[a.id];o.refs--,t.push(o)}r?(s=d(e,r),n(s)):s=[];for(i=0;i<t.length;i++){o=t[i];if(0===o.refs){for(var l=0;l<o.parts.length;l++)o.parts[l]();delete c[o.id]}}}};var k=function(){var e=[];return function(r,t){return e[r]=t,e.filter(Boolean).join("\n")}}()},function(e,r){e.exports=function(e,r){for(var t=[],n={},i=0;i<r.length;i++){var s=r[i],a=s[0],o=s[1],l=s[2],d=s[3],c={id:e+":"+i,css:o,media:l,sourceMap:d};n[a]?n[a].parts.push(c):t.push(n[a]={id:a,parts:[c]})}return t}},function(e,r){e.exports=function(e,r,t,n,i,s){var a,o=e=e||{},l=typeof e.default;"object"!==l&&"function"!==l||(a=e,o=e.default);var d,c="function"==typeof o?o.options:o;if(r&&(c.render=r.render,c.staticRenderFns=r.staticRenderFns,c._compiled=!0),t&&(c.functional=!0),i&&(c._scopeId=i),s?(d=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=d):n&&(d=n),d){var f=c.functional,h=f?c.render:c.beforeCreate;f?(c._injectStyles=d,c.render=function(e,r){return d.call(r),h(e,r)}):c.beforeCreate=h?[].concat(h,d):[d]}return{esModule:a,exports:o,options:c}}},function(e,r,t){"use strict";function n(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{id:"id",pid:"pid",children:"children"},t=[],s={};return e.forEach(function(i){["undefined",void 0,null].includes(i[r.pid])&&(i[r.pid]="0");var a,o=e.filter(function(e){return e[r.pid]===i[r.id]});i.children&&i.children instanceof Array?(i.children.map(function(e){return s[e[r.id]]=1}),(a=i.children).push.apply(a,n(o.filter(function(e){return 1!==s[e[r.id]]})))):i.children=o;var l=o.length>0;(l||!l&&[0,"0"].includes(i[r.pid]))&&t.push(i)}),t.every(function(e){return[0,"0"].includes(e[r.pid])})?t:i(t,r)}t.d(r,"a",function(){return i})},function(e,r,t){"use strict";var n=function(){var e=this,r=e.$createElement,n=e._self._c||r;return n("div",{staticClass:"transfer",style:{width:e.width,height:e.height}},["transfer"==e.mode?[n("div",{staticClass:"transfer-left"},[n("h3",{staticClass:"transfer-title"},[n("el-checkbox",{attrs:{indeterminate:e.from_is_indeterminate},on:{change:e.fromAllBoxChange},model:{value:e.from_check_all,callback:function(r){e.from_check_all=r},expression:"from_check_all"}}),e._v(" "),n("span",[e._v(e._s(e.fromTitle))]),e._v(" "),e._t("title-left")],2),e._v(" "),n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterFrom,callback:function(r){e.filterFrom=r},expression:"filterFrom"}}):e._e(),e._v(" "),n("el-tree",{ref:"from-tree",attrs:{data:e.self_from_data,"show-checkbox":"","node-key":e.node_key,"default-expanded-keys":e.from_expanded_keys,props:e.defaultProps,"filter-node-method":e.filterNodeFrom,"default-expand-all":e.openAll,"render-content":e.renderContent,"default-checked-keys":e.defaultCheckedKeys,lazy:e.lazy,load:e.leftloadNode},on:{check:e.fromTreeChecked}}),e._v(" "),e._t("left-footer")],2)]),e._v(" "),n("div",{staticClass:"transfer-center"},[e.button_text?[n("p",{staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",disabled:e.from_disabled},on:{click:e.addToAims}},[e._v("\n "+e._s(e.fromButton||"添加")+"\n "),n("i",{staticClass:"el-icon-arrow-right"})])],1),e._v(" "),n("p",{staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",disabled:e.to_disabled,icon:"el-icon-arrow-left"},on:{click:e.removeToSource}},[e._v(e._s(e.toButton||"移除"))])],1)]:[n("p",{staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",icon:"el-icon-arrow-right",circle:"",disabled:e.from_disabled},on:{click:e.addToAims}})],1),e._v(" "),n("p",{staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",disabled:e.to_disabled,icon:"el-icon-arrow-left",circle:""},on:{click:e.removeToSource}})],1)]],2),e._v(" "),n("div",{staticClass:"transfer-right"},[n("h3",{staticClass:"transfer-title"},[n("el-checkbox",{attrs:{indeterminate:e.to_is_indeterminate},on:{change:e.toAllBoxChange},model:{value:e.to_check_all,callback:function(r){e.to_check_all=r},expression:"to_check_all"}}),e._v(" "),n("span",[e._v(e._s(e.toTitle))]),e._v(" "),e._t("title-right")],2),e._v(" "),n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterTo,callback:function(r){e.filterTo=r},expression:"filterTo"}}):e._e(),e._v(" "),n("el-tree",{ref:"to-tree",attrs:{slot:"to",data:e.self_to_data,"show-checkbox":"","node-key":e.node_key,"default-expanded-keys":e.to_expanded_keys,props:e.defaultProps,"filter-node-method":e.filterNodeTo,"default-expand-all":e.openAll,"render-content":e.renderContent,lazy:e.lazy,load:e.rightloadNode},on:{check:e.toTreeChecked},slot:"to"}),e._v(" "),e._t("right-footer")],2)])]:"addressList"==e.mode?[n("div",{staticClass:"transfer-left"},[n("h3",{staticClass:"transfer-title"},[n("el-checkbox",{attrs:{indeterminate:e.from_is_indeterminate},on:{change:e.fromAllBoxChange},model:{value:e.from_check_all,callback:function(r){e.from_check_all=r},expression:"from_check_all"}}),e._v(" "),n("span",[e._v(e._s(e.fromTitle))])],1),e._v(" "),n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterFrom,callback:function(r){e.filterFrom=r},expression:"filterFrom"}}):e._e(),e._v(" "),n("el-tree",{ref:"from-tree",attrs:{data:e.self_from_data,"show-checkbox":"","node-key":e.node_key,"default-expanded-keys":e.from_expanded_keys,props:e.defaultProps,"filter-node-method":e.filterNodeFrom,"default-expand-all":e.openAll,"render-content":e.renderContent},on:{check:e.fromTreeChecked}})],1)]),e._v(" "),n("div",{staticClass:"transfer-center address-list-center"},[n("p",{directives:[{name:"show",rawName:"v-show",value:!e.move_up,expression:"!move_up"}],staticClass:"transfer-center-item",class:{"address-only-item":1===e.addressOptions.num}},[n("el-button",{staticClass:"address-first-btn",attrs:{type:"primary",icon:"el-icon-arrow-right",circle:"",disabled:e.from_disabled},on:{click:function(r){e.addressListTransfer(0)}}})],1),e._v(" "),e.addressOptions.num>1?n("p",{staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",disabled:e.from_disabled,icon:"el-icon-arrow-right",circle:""},on:{click:function(r){e.addressListTransfer(1)}}})],1):e._e(),e._v(" "),n("p",{directives:[{name:"show",rawName:"v-show",value:e.move_up,expression:"move_up"}],staticClass:"transfer-center-item"},[n("el-button",{attrs:{type:"primary",disabled:e.from_disabled,icon:"el-icon-arrow-right",circle:""},on:{click:function(r){e.addressListTransfer(2)}}})],1)]),e._v(" "),n("div",{staticClass:"transfer-right"},[n("div",{staticClass:"transfer-right-item",class:{"transfer-right-small":e.move_up,"transfer-right-only":1===e.addressOptions.num}},[n("h3",{staticClass:"transfer-title"},[n("span",[e._v(e._s(e.toTitle))]),e._v(" "),e.move_up?n("img",{staticClass:"move_up_img move_down_img",attrs:{src:t(1),alt:""},on:{click:function(r){e.moveUp("down")}}}):n("span",{staticClass:"u-clear",on:{click:function(r){e.clearList(0,"all")}}},[e._v("清空")])]),e._v(" "),e.move_up?e._e():n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterListFirst,callback:function(r){e.filterListFirst=r},expression:"filterListFirst"}}):e._e(),e._v(" "),n("ul",{staticClass:"address-list-ul"},e._l(e.addressee,function(r){return n("li",{key:r[e.node_key],staticClass:"address-list-li"},[n("label",[e._v("\n "+e._s(r[e.defaultProps.label])+"\n "+e._s(e.addressOptions.connector)+"\n "+e._s(r[e.addressOptions.suffix])+"\n ")]),e._v(" "),n("i",{staticClass:"address-list-del",on:{click:function(t){e.clearList(0,r[e.node_key])}}},[e._v("x")])])}))],1)]),e._v(" "),e.addressOptions.num>=2?n("div",{staticClass:"transfer-right-item"},[n("h3",{staticClass:"transfer-title"},[n("span",[e._v(e._s(e.toTitleSecond||"抄送人"))]),e._v(" "),n("span",{staticClass:"u-clear",on:{click:function(r){e.clearList(1,"all")}}},[e._v("清空")])]),e._v(" "),n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterListSecond,callback:function(r){e.filterListSecond=r},expression:"filterListSecond"}}):e._e(),e._v(" "),n("ul",{staticClass:"address-list-ul"},e._l(e.Cc,function(r){return n("li",{key:r[e.node_key],staticClass:"address-list-li"},[n("label",[e._v("\n "+e._s(r[e.defaultProps.label])+"\n "+e._s(e.addressOptions.connector)+"\n "+e._s(r[e.addressOptions.suffix])+"\n ")]),e._v(" "),n("i",{staticClass:"address-list-del",on:{click:function(t){e.clearList(1,r[e.node_key])}}},[e._v("x")])])}))],1)]):e._e(),e._v(" "),3===e.addressOptions.num?n("div",{staticClass:"transfer-right-item",class:{"transfer-right-small":!e.move_up}},[n("h3",{staticClass:"transfer-title"},[n("span",[e._v(e._s(e.toTitleThird||"密送人"))]),e._v(" "),e.move_up?n("span",{staticClass:"u-clear",on:{click:function(r){e.clearList(2,"all")}}},[e._v("清空")]):n("img",{staticClass:"move_up_img",attrs:{src:t(1),alt:""},on:{click:function(r){e.moveUp("up")}}})]),e._v(" "),e.move_up?n("div",{staticClass:"transfer-main"},[e.filter?n("el-input",{staticClass:"filter-tree",attrs:{placeholder:e.placeholder,size:"small"},model:{value:e.filterListThird,callback:function(r){e.filterListThird=r},expression:"filterListThird"}}):e._e(),e._v(" "),n("ul",{staticClass:"address-list-ul"},e._l(e.secret_receiver,function(r){return n("li",{key:r[e.node_key],staticClass:"address-list-li"},[n("label",[e._v("\n "+e._s(r[e.defaultProps.label])+"\n "+e._s(e.addressOptions.connector)+"\n "+e._s(r[e.addressOptions.suffix])+"\n ")]),e._v(" "),n("i",{staticClass:"address-list-del",on:{click:function(t){e.clearList(2,r[e.node_key])}}},[e._v("x")])])}))],1):e._e()]):e._e()])]:e._e()],2)},i=[];n._withStripped=!0;var s={render:n,staticRenderFns:i};r.a=s}])})},"5d73":function(e,r,t){e.exports=t("469f")},"6cbc":function(e,r,t){"use strict";var n=t("0cd2"),i=t.n(n);i.a},"72a6":function(e,r,t){"use strict";t.d(r,"b",function(){return i}),t.d(r,"c",function(){return s}),t.d(r,"d",function(){return a}),t.d(r,"a",function(){return o});var n=t("bf9a");function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n["b"].get("admin-roles",{params:e})}function s(e){return n["b"].post("admin-roles",e)}function a(e,r){return n["b"].put("admin-roles/".concat(e),r)}function o(e){return n["b"].get("admin-roles/".concat(e,"/edit"))}},"768b":function(e,r,t){"use strict";var n=t("a745"),i=t.n(n);function s(e){if(i()(e))return e}var a=t("5d73"),o=t.n(a);function l(e,r){var t=[],n=!0,i=!1,s=void 0;try{for(var a,l=o()(e);!(n=(a=l.next()).done);n=!0)if(t.push(a.value),r&&t.length===r)break}catch(d){i=!0,s=d}finally{try{n||null==l["return"]||l["return"]()}finally{if(i)throw s}}return t}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function c(e,r){return s(e)||l(e,r)||d()}t.d(r,"a",function(){return c})},"7d7b":function(e,r,t){var n=t("e4ae"),i=t("7cd6");e.exports=t("584a").getIterator=function(e){var r=i(e);if("function"!=typeof r)throw TypeError(e+" is not iterable!");return n(r.call(e))}},"8a92":function(e,r,t){"use strict";var n=t("0091"),i=t.n(n);i.a},"8cdd":function(e,r,t){"use strict";t.d(r,"b",function(){return i}),t.d(r,"c",function(){return s}),t.d(r,"d",function(){return a}),t.d(r,"a",function(){return o});var n=t("bf9a");function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n["b"].get("admin-permissions",{params:e})}function s(e){return n["b"].post("admin-permissions",e)}function a(e,r){return n["b"].put("admin-permissions/".concat(e),r)}function o(e){return n["b"].get("admin-permissions/".concat(e,"/edit"))}},ada3:function(e,r,t){"use strict";t("8e6e"),t("456d");var n=t("bd86"),i=t("75fc"),s=(t("a481"),t("96cf"),t("3b8d")),a=(t("ac6a"),t("28a5"),t("9948")),o=t.n(a),l=t("9b02"),d=t.n(l),c=t("1a38"),f=t("873a"),h=t("a22f");function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function p(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(t,!0).forEach(function(r){Object(n["a"])(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(t).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}var m,A,v={name:"LzForm",components:{FlexSpacer:h["a"]},inject:{view:{from:"view",default:null}},data:function(){return{loading:!1,stay:!1}},props:{getData:Function,submit:Function,errors:Object,form:Object,submitText:{type:String,default:"保存"},labelPosition:String,inDialog:Boolean,createdRedirect:{type:[String,Function],default:function(){var e=this.$route.path.split("/");return"/"+(e[e.length-2]||"")}},updatedRedirect:{type:[String,Function],default:function(){return this.$router.back.bind(this.$router)}},disableRedirect:Boolean,disableStay:Boolean,editMode:Boolean},computed:{realLabelPosition:function(){return this.labelPosition||(this.$store.state.miniWidth?"top":"right")},miniWidth:function(){return this.$store.state.miniWidth}},created:function(){this.copyMethods()},methods:{copyMethods:function(){var e=this;[c["default"].extends.methods,c["default"].methods].forEach(function(r){o()(r,function(r,t){e[t]=function(){r.apply(this.$refs.form,arguments)}})})},_getData:function(){var e=Object(s["a"])(regeneratorRuntime.mark(function e(){var r=this;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(this.loading=!0,this.view&&this.$emit("update:form",this.view.formBak),e.prev=2,e.t0=this.getData,!e.t0){e.next=7;break}return e.next=7,this.getData();case 7:this.$nextTick(function(){r.setInitialValues()}),e.next=13;break;case 10:e.prev=10,e.t1=e["catch"](2),Promise.reject(e.t1);case 13:this.loading=!1;case 14:case"end":return e.stop()}},e,this,[[2,10]])}));function r(){return e.apply(this,arguments)}return r}(),onSubmit:function(){var e=Object(s["a"])(regeneratorRuntime.mark(function e(){var r;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(this.$emit("update:errors",{}),e.prev=1,e.t0=this.submit,!e.t0){e.next=6;break}return e.next=6,this.submit();case 6:if(this.$message.success(Object(f["h"])(this.editMode?"updated":"created")),!this.stay&&!this.disableRedirect){e.next=9;break}return e.abrupt("return");case 9:r=this.editMode?this.updatedRedirect:this.createdRedirect,"string"===typeof r?this.$router.push(r):"function"===typeof r&&r(),e.next=17;break;case 13:e.prev=13,e.t1=e["catch"](1),this.$emit("update:errors",Object(f["j"])(e.t1.response)),422!==d()(e.t1,"response.status")&&Promise.reject(e.t1);case 17:case"end":return e.stop()}},e,this,[[1,13]])}));function r(){return e.apply(this,arguments)}return r}(),onReset:function(){this.$refs.form.resetFields()}},watch:{$route:{handler:function(){this.$active&&this._getData()},immediate:!0}},render:function(e){var r=this,t=this.$slots.default;Array.isArray(t)&&(t=t.map(function(t){var n=t.componentOptions,s=n.propsData,a=s.helper,o=s.label;if(a){a=a.replace(/\n/g,"<br>");var l=e("template",{slot:"label"},[e("span",[o]),e("el-tooltip",{attrs:{effect:"dark",placement:"top-start","popper-class":"form-helper-popper ".concat(r.miniWidth?"mini-width":"")}},[e("div",{slot:"content",domProps:{innerHTML:a}}),e("i",{class:"ml-1 el-icon-question helper"})])]);return e("el-form-item",{props:n.propsData},[l].concat(Object(i["a"])(n.children)))}return t}));!this.disableStay&&e("el-checkbox",{attrs:{title:"表单提交后,留在此页"},model:{value:r.stay,callback:function(e){r.stay=e}}},["留在此页"]);var n=this.$slots.footer||e("el-form-item",{class:"footer"},[e("loading-action",{attrs:{type:"primary",action:this.onSubmit}},[this.submitText]),e("el-button",{on:{click:this.onReset}},["重置"]),this.$slots.footerAppend,e("flex-spacer")]);return e("el-form",{props:p({model:this.form,errors:this.errors,labelPosition:this.realLabelPosition},this.$attrs),on:p({},this.$listeners),class:{"in-dialog":this.inDialog},style:{width:this.inDialog?"auto":"800px"},directives:[{name:"loading",value:this.loading}],ref:"form"},[t,n])}},_=v,k=(t("6cbc"),t("8a92"),t("2877")),y=Object(k["a"])(_,m,A,!1,null,"3084f0c4",null);r["a"]=y.exports},f37d:function(e,r,t){"use strict";var n=t("136e"),i=t.n(n);i.a},fe06:function(e,r,t){"use strict";var n=t("873a");r["a"]={provide:function(){return{view:this}},data:function(){return{formField:"form",idField:"id"}},computed:{editMode:function(){return!!this.resourceId},resourceId:function(){return this.$route.params[this.idField]}},created:function(){this.backupForm()},methods:{getResourceId:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return this.$route.params[e]},backupForm:function(){this.formBak=JSON.parse(JSON.stringify(this.$data[this.formField]))},fillForm:function(e){this.$data[this.formField]=Object(n["b"])(this.$data[this.formField],e)}}}}}]);
- //# sourceMappingURL=chunk-7611e7ab.85a91045.js.map
|