@huilian/components-tms 3.3.8 → 3.4.0
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/lib/bundle.esm.js +78 -46
- package/package.json +59 -59
- package/readme.md +135 -135
package/lib/bundle.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{mapGetters}from'vuex';import axios from'axios';import moment from'moment';import Pagination from'@/components/Pagination';//
|
|
1
|
+
import{mapGetters}from'vuex';import axios$1 from'axios';import moment from'moment';import Pagination from'@/components/Pagination';//
|
|
2
2
|
//
|
|
3
3
|
//
|
|
4
4
|
//
|
|
@@ -54,7 +54,7 @@ const existing=options.beforeCreate;options.beforeCreate=existing?[].concat(exis
|
|
|
54
54
|
var script$i={name:'HelloVue',props:{msg:String}};const isOldIE=typeof navigator!=='undefined'&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(context){return(id,style)=>addStyle(id,style);}let HEAD;const styles={};function addStyle(id,css){const group=isOldIE?css.media||'default':id;const style=styles[group]||(styles[group]={ids:new Set(),styles:[]});if(!style.ids.has(id)){style.ids.add(id);let code=css.source;if(css.map){// https://developer.chrome.com/devtools/docs/javascript-debugging
|
|
55
55
|
// this makes source maps inside style tags work properly in Chrome
|
|
56
56
|
code+='\n/*# sourceURL='+css.map.sources[0]+' */';// http://stackoverflow.com/a/26603875
|
|
57
|
-
code+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(css.map))))+' */';}if(!style.element){style.element=document.createElement('style');style.element.type='text/css';if(css.media)style.element.setAttribute('media',css.media);if(HEAD===undefined){HEAD=document.head||document.getElementsByTagName('head')[0];}HEAD.appendChild(style.element);}if('styleSheet'in style.element){style.styles.push(code);style.element.styleSheet.cssText=style.styles.filter(Boolean).join('\n');}else{const index=style.ids.size-1;const textNode=document.createTextNode(code);const nodes=style.element.childNodes;if(nodes[index])style.element.removeChild(nodes[index]);if(nodes.length)style.element.insertBefore(textNode,nodes[index]);else style.element.appendChild(textNode);}}}/* script */const __vue_script__$i=script$i;/* template */var __vue_render__$i=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"hello"},[_c("h1",[_vm._v(_vm._s(_vm.msg))]),_vm._v(" "),_vm._m(0),_vm._v(" "),_c("h3",[_vm._v("Installed CLI Plugins")]),_vm._v(" "),_vm._m(1),_vm._v(" "),_c("h3",[_vm._v("Essential Links")]),_vm._v(" "),_vm._m(2),_vm._v(" "),_c("h3",[_vm._v("Ecosystem")]),_vm._v(" "),_vm._m(3)]);};var __vue_staticRenderFns__$i=[function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("p",[_vm._v("\n For a guide and recipes on how to configure / customize this project,"),_c("br"),_vm._v("\n check out the\n "),_c("a",{attrs:{href:"https://cli.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-cli documentation")]),_vm._v(".\n ")]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel",target:"_blank",rel:"noopener"}},[_vm._v("babel")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript",target:"_blank",rel:"noopener"}},[_vm._v("typescript")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint",target:"_blank",rel:"noopener"}},[_vm._v("eslint")])])]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Core Docs")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://forum.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Forum")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://chat.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Community Chat")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://twitter.com/vuejs",target:"_blank",rel:"noopener"}},[_vm._v("Twitter")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://news.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("News")])])]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://router.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-router")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://vuex.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vuex")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-devtools#vue-devtools",target:"_blank",rel:"noopener"}},[_vm._v("vue-devtools")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://vue-loader.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-loader")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/awesome-vue",target:"_blank",rel:"noopener"}},[_vm._v("awesome-vue")])])]);}];__vue_render__$i._withStripped=true;/* style */const __vue_inject_styles__$i=function(inject){if(!inject)return;inject("data-v-
|
|
57
|
+
code+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(css.map))))+' */';}if(!style.element){style.element=document.createElement('style');style.element.type='text/css';if(css.media)style.element.setAttribute('media',css.media);if(HEAD===undefined){HEAD=document.head||document.getElementsByTagName('head')[0];}HEAD.appendChild(style.element);}if('styleSheet'in style.element){style.styles.push(code);style.element.styleSheet.cssText=style.styles.filter(Boolean).join('\n');}else{const index=style.ids.size-1;const textNode=document.createTextNode(code);const nodes=style.element.childNodes;if(nodes[index])style.element.removeChild(nodes[index]);if(nodes.length)style.element.insertBefore(textNode,nodes[index]);else style.element.appendChild(textNode);}}}/* script */const __vue_script__$i=script$i;/* template */var __vue_render__$i=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"hello"},[_c("h1",[_vm._v(_vm._s(_vm.msg))]),_vm._v(" "),_vm._m(0),_vm._v(" "),_c("h3",[_vm._v("Installed CLI Plugins")]),_vm._v(" "),_vm._m(1),_vm._v(" "),_c("h3",[_vm._v("Essential Links")]),_vm._v(" "),_vm._m(2),_vm._v(" "),_c("h3",[_vm._v("Ecosystem")]),_vm._v(" "),_vm._m(3)]);};var __vue_staticRenderFns__$i=[function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("p",[_vm._v("\n For a guide and recipes on how to configure / customize this project,"),_c("br"),_vm._v("\n check out the\n "),_c("a",{attrs:{href:"https://cli.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-cli documentation")]),_vm._v(".\n ")]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel",target:"_blank",rel:"noopener"}},[_vm._v("babel")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript",target:"_blank",rel:"noopener"}},[_vm._v("typescript")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint",target:"_blank",rel:"noopener"}},[_vm._v("eslint")])])]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Core Docs")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://forum.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Forum")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://chat.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("Community Chat")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://twitter.com/vuejs",target:"_blank",rel:"noopener"}},[_vm._v("Twitter")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://news.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("News")])])]);},function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("ul",[_c("li",[_c("a",{attrs:{href:"https://router.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-router")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://vuex.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vuex")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/vue-devtools#vue-devtools",target:"_blank",rel:"noopener"}},[_vm._v("vue-devtools")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://vue-loader.vuejs.org",target:"_blank",rel:"noopener"}},[_vm._v("vue-loader")])]),_vm._v(" "),_c("li",[_c("a",{attrs:{href:"https://github.com/vuejs/awesome-vue",target:"_blank",rel:"noopener"}},[_vm._v("awesome-vue")])])]);}];__vue_render__$i._withStripped=true;/* style */const __vue_inject_styles__$i=function(inject){if(!inject)return;inject("data-v-84e29316_0",{source:"\nh3[data-v-84e29316] {\n margin: 40px 0 0;\n}\nul[data-v-84e29316] {\n list-style-type: none;\n padding: 0;\n}\nli[data-v-84e29316] {\n display: inline-block;\n margin: 0 10px;\n}\na[data-v-84e29316] {\n color: #42b983;\n}\n",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/hellovue/index.vue"],"names":[],"mappings":";AA4CA;EACA,gBAAA;AACA;AACA;EACA,qBAAA;EACA,UAAA;AACA;AACA;EACA,qBAAA;EACA,cAAA;AACA;AACA;EACA,cAAA;AACA","file":"index.vue","sourcesContent":["<template>\n <div class=\"hello\">\n <h1>{{ msg }}</h1>\n <p>\n For a guide and recipes on how to configure / customize this project,<br>\n check out the\n <a href=\"https://cli.vuejs.org\" target=\"_blank\" rel=\"noopener\">vue-cli documentation</a>.\n </p>\n <h3>Installed CLI Plugins</h3>\n <ul>\n <li><a href=\"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel\" target=\"_blank\" rel=\"noopener\">babel</a></li>\n <li><a href=\"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript\" target=\"_blank\" rel=\"noopener\">typescript</a></li>\n <li><a href=\"https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint\" target=\"_blank\" rel=\"noopener\">eslint</a></li>\n </ul>\n <h3>Essential Links</h3>\n <ul>\n <li><a href=\"https://vuejs.org\" target=\"_blank\" rel=\"noopener\">Core Docs</a></li>\n <li><a href=\"https://forum.vuejs.org\" target=\"_blank\" rel=\"noopener\">Forum</a></li>\n <li><a href=\"https://chat.vuejs.org\" target=\"_blank\" rel=\"noopener\">Community Chat</a></li>\n <li><a href=\"https://twitter.com/vuejs\" target=\"_blank\" rel=\"noopener\">Twitter</a></li>\n <li><a href=\"https://news.vuejs.org\" target=\"_blank\" rel=\"noopener\">News</a></li>\n </ul>\n <h3>Ecosystem</h3>\n <ul>\n <li><a href=\"https://router.vuejs.org\" target=\"_blank\" rel=\"noopener\">vue-router</a></li>\n <li><a href=\"https://vuex.vuejs.org\" target=\"_blank\" rel=\"noopener\">vuex</a></li>\n <li><a href=\"https://github.com/vuejs/vue-devtools#vue-devtools\" target=\"_blank\" rel=\"noopener\">vue-devtools</a></li>\n <li><a href=\"https://vue-loader.vuejs.org\" target=\"_blank\" rel=\"noopener\">vue-loader</a></li>\n <li><a href=\"https://github.com/vuejs/awesome-vue\" target=\"_blank\" rel=\"noopener\">awesome-vue</a></li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'HelloVue',\n props: {\n msg: String,\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\nh3 {\n margin: 40px 0 0;\n}\nul {\n list-style-type: none;\n padding: 0;\n}\nli {\n display: inline-block;\n margin: 0 10px;\n}\na {\n color: #42b983;\n}\n</style>"]},media:undefined});};/* scoped */const __vue_scope_id__$i="data-v-84e29316";/* module identifier */const __vue_module_identifier__$i=undefined;/* functional template */const __vue_is_functional_template__$i=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$i=/*#__PURE__*/normalizeComponent({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$i,__vue_scope_id__$i,__vue_is_functional_template__$i,__vue_module_identifier__$i,false,createInjector,undefined,undefined);__vue_component__$i.install=function(Vue){Vue.component(__vue_component__$i.name,__vue_component__$i);};var commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!=='undefined'?window:typeof global!=='undefined'?global:typeof self!=='undefined'?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,'default')?x['default']:x;}function getAugmentedNamespace(n){if(n.__esModule)return n;var a=Object.defineProperty({},'__esModule',{value:true});Object.keys(n).forEach(function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:true,get:function(){return n[k];}});});return a;}var vuedraggable_umd={exports:{}};/**!
|
|
58
58
|
* Sortable 1.10.2
|
|
59
59
|
* @author RubaXa <trash@rubaxa.org>
|
|
60
60
|
* @author owenm <owen23355@gmail.com>
|
|
@@ -531,7 +531,9 @@ var helper=__webpack_require__("c649");// CONCATENATED MODULE: ./src/vuedraggabl
|
|
|
531
531
|
function buildAttribute(object,propName,value){if(value===undefined){return object;}object=object||{};object[propName]=value;return object;}function computeVmIndex(vnodes,element){return vnodes.map(function(elt){return elt.elm;}).indexOf(element);}function _computeIndexes(slots,children,isTransition,footerOffset){if(!slots){return[];}var elmFromNodes=slots.map(function(elt){return elt.elm;});var footerIndex=children.length-footerOffset;var rawIndexes=_toConsumableArray(children).map(function(elt,idx){return idx>=footerIndex?elmFromNodes.length:elmFromNodes.indexOf(elt);});return isTransition?rawIndexes.filter(function(ind){return ind!==-1;}):rawIndexes;}function emit(evtName,evtData){var _this=this;this.$nextTick(function(){return _this.$emit(evtName.toLowerCase(),evtData);});}function delegateAndEmit(evtName){var _this2=this;return function(evtData){if(_this2.realList!==null){_this2["onDrag"+evtName](evtData);}emit.call(_this2,evtName,evtData);};}function isTransitionName(name){return["transition-group","TransitionGroup"].includes(name);}function vuedraggable_isTransition(slots){if(!slots||slots.length!==1){return false;}var _slots=_slicedToArray(slots,1),componentOptions=_slots[0].componentOptions;if(!componentOptions){return false;}return isTransitionName(componentOptions.tag);}function getSlot(slot,scopedSlot,key){return slot[key]||(scopedSlot[key]?scopedSlot[key]():undefined);}function computeChildrenAndOffsets(children,slot,scopedSlot){var headerOffset=0;var footerOffset=0;var header=getSlot(slot,scopedSlot,"header");if(header){headerOffset=header.length;children=children?[].concat(_toConsumableArray(header),_toConsumableArray(children)):_toConsumableArray(header);}var footer=getSlot(slot,scopedSlot,"footer");if(footer){footerOffset=footer.length;children=children?[].concat(_toConsumableArray(children),_toConsumableArray(footer)):_toConsumableArray(footer);}return{children:children,headerOffset:headerOffset,footerOffset:footerOffset};}function getComponentAttributes($attrs,componentData){var attributes=null;var update=function update(name,value){attributes=buildAttribute(attributes,name,value);};var attrs=Object.keys($attrs).filter(function(key){return key==="id"||key.startsWith("data-");}).reduce(function(res,key){res[key]=$attrs[key];return res;},{});update("attrs",attrs);if(!componentData){return attributes;}var on=componentData.on,props=componentData.props,componentDataAttrs=componentData.attrs;update("on",on);update("props",props);Object.assign(attributes.attrs,componentDataAttrs);return attributes;}var eventsListened=["Start","Add","Remove","Update","End"];var eventsToEmit=["Choose","Unchoose","Sort","Filter","Clone"];var readonlyProperties=["Move"].concat(eventsListened,eventsToEmit).map(function(evt){return"on"+evt;});var draggingElement=null;var props={options:Object,list:{type:Array,required:false,default:null},value:{type:Array,required:false,default:null},noTransitionOnDrag:{type:Boolean,default:false},clone:{type:Function,default:function _default(original){return original;}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:false,default:null}};var draggableComponent={name:"draggable",inheritAttrs:false,props:props,data:function data(){return{transitionMode:false,noneFunctionalComponentMode:false};},render:function render(h){var slots=this.$slots.default;this.transitionMode=vuedraggable_isTransition(slots);var _computeChildrenAndOf=computeChildrenAndOffsets(slots,this.$slots,this.$scopedSlots),children=_computeChildrenAndOf.children,headerOffset=_computeChildrenAndOf.headerOffset,footerOffset=_computeChildrenAndOf.footerOffset;this.headerOffset=headerOffset;this.footerOffset=footerOffset;var attributes=getComponentAttributes(this.$attrs,this.componentData);return h(this.getTag(),attributes,children);},created:function created(){if(this.list!==null&&this.value!==null){helper["b"/* console */].error("Value and list props are mutually exclusive! Please set one or another.");}if(this.element!=="div"){helper["b"/* console */].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props");}if(this.options!==undefined){helper["b"/* console */].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props");}},mounted:function mounted(){var _this3=this;this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional();if(this.noneFunctionalComponentMode&&this.transitionMode){throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));}var optionsAdded={};eventsListened.forEach(function(elt){optionsAdded["on"+elt]=delegateAndEmit.call(_this3,elt);});eventsToEmit.forEach(function(elt){optionsAdded["on"+elt]=emit.bind(_this3,elt);});var attributes=Object.keys(this.$attrs).reduce(function(res,key){res[Object(helper["a"/* camelize */])(key)]=_this3.$attrs[key];return res;},{});var options=Object.assign({},this.options,attributes,optionsAdded,{onMove:function onMove(evt,originalEvent){return _this3.onDragMove(evt,originalEvent);}});!("draggable"in options)&&(options.draggable=">*");this._sortable=new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer,options);this.computeIndexes();},beforeDestroy:function beforeDestroy(){if(this._sortable!==undefined)this._sortable.destroy();},computed:{rootContainer:function rootContainer(){return this.transitionMode?this.$el.children[0]:this.$el;},realList:function realList(){return this.list?this.list:this.value;}},watch:{options:{handler:function handler(newOptionValue){this.updateOptions(newOptionValue);},deep:true},$attrs:{handler:function handler(newOptionValue){this.updateOptions(newOptionValue);},deep:true},realList:function realList(){this.computeIndexes();}},methods:{getIsFunctional:function getIsFunctional(){var fnOptions=this._vnode.fnOptions;return fnOptions&&fnOptions.functional;},getTag:function getTag(){return this.tag||this.element;},updateOptions:function updateOptions(newOptionValue){for(var property in newOptionValue){var value=Object(helper["a"/* camelize */])(property);if(readonlyProperties.indexOf(value)===-1){this._sortable.option(value,newOptionValue[property]);}}},getChildrenNodes:function getChildrenNodes(){if(this.noneFunctionalComponentMode){return this.$children[0].$slots.default;}var rawNodes=this.$slots.default;return this.transitionMode?rawNodes[0].child.$slots.default:rawNodes;},computeIndexes:function computeIndexes(){var _this4=this;this.$nextTick(function(){_this4.visibleIndexes=_computeIndexes(_this4.getChildrenNodes(),_this4.rootContainer.children,_this4.transitionMode,_this4.footerOffset);});},getUnderlyingVm:function getUnderlyingVm(htmlElt){var index=computeVmIndex(this.getChildrenNodes()||[],htmlElt);if(index===-1){//Edge case during move callback: related element might be
|
|
532
532
|
//an element different from collection
|
|
533
533
|
return null;}var element=this.realList[index];return{index:index,element:element};},getUnderlyingPotencialDraggableComponent:function getUnderlyingPotencialDraggableComponent(_ref){var vue=_ref.__vue__;if(!vue||!vue.$options||!isTransitionName(vue.$options._componentTag)){if(!("realList"in vue)&&vue.$children.length===1&&"realList"in vue.$children[0])return vue.$children[0];return vue;}return vue.$parent;},emitChanges:function emitChanges(evt){var _this5=this;this.$nextTick(function(){_this5.$emit("change",evt);});},alterList:function alterList(onList){if(this.list){onList(this.list);return;}var newList=_toConsumableArray(this.value);onList(newList);this.$emit("input",newList);},spliceList:function spliceList(){var _arguments=arguments;var spliceList=function spliceList(list){return list.splice.apply(list,_toConsumableArray(_arguments));};this.alterList(spliceList);},updatePosition:function updatePosition(oldIndex,newIndex){var updatePosition=function updatePosition(list){return list.splice(newIndex,0,list.splice(oldIndex,1)[0]);};this.alterList(updatePosition);},getRelatedContextFromMoveEvent:function getRelatedContextFromMoveEvent(_ref2){var to=_ref2.to,related=_ref2.related;var component=this.getUnderlyingPotencialDraggableComponent(to);if(!component){return{component:component};}var list=component.realList;var context={list:list,component:component};if(to!==related&&list&&component.getUnderlyingVm){var destination=component.getUnderlyingVm(related);if(destination){return Object.assign(destination,context);}}return context;},getVmIndex:function getVmIndex(domIndex){var indexes=this.visibleIndexes;var numberIndexes=indexes.length;return domIndex>numberIndexes-1?numberIndexes:indexes[domIndex];},getComponent:function getComponent(){return this.$slots.default[0].componentInstance;},resetTransitionData:function resetTransitionData(index){if(!this.noTransitionOnDrag||!this.transitionMode){return;}var nodes=this.getChildrenNodes();nodes[index].data=null;var transitionContainer=this.getComponent();transitionContainer.children=[];transitionContainer.kept=undefined;},onDragStart:function onDragStart(evt){this.context=this.getUnderlyingVm(evt.item);evt.item._underlying_vm_=this.clone(this.context.element);draggingElement=evt.item;},onDragAdd:function onDragAdd(evt){var element=evt.item._underlying_vm_;if(element===undefined){return;}Object(helper["d"/* removeNode */])(evt.item);var newIndex=this.getVmIndex(evt.newIndex);this.spliceList(newIndex,0,element);this.computeIndexes();var added={element:element,newIndex:newIndex};this.emitChanges({added:added});},onDragRemove:function onDragRemove(evt){Object(helper["c"/* insertNodeAt */])(this.rootContainer,evt.item,evt.oldIndex);if(evt.pullMode==="clone"){Object(helper["d"/* removeNode */])(evt.clone);return;}var oldIndex=this.context.index;this.spliceList(oldIndex,1);var removed={element:this.context.element,oldIndex:oldIndex};this.resetTransitionData(oldIndex);this.emitChanges({removed:removed});},onDragUpdate:function onDragUpdate(evt){Object(helper["d"/* removeNode */])(evt.item);Object(helper["c"/* insertNodeAt */])(evt.from,evt.item,evt.oldIndex);var oldIndex=this.context.index;var newIndex=this.getVmIndex(evt.newIndex);this.updatePosition(oldIndex,newIndex);var moved={element:this.context.element,oldIndex:oldIndex,newIndex:newIndex};this.emitChanges({moved:moved});},updateProperty:function updateProperty(evt,propertyName){evt.hasOwnProperty(propertyName)&&(evt[propertyName]+=this.headerOffset);},computeFutureIndex:function computeFutureIndex(relatedContext,evt){if(!relatedContext.element){return 0;}var domChildren=_toConsumableArray(evt.to.children).filter(function(el){return el.style["display"]!=="none";});var currentDOMIndex=domChildren.indexOf(evt.related);var currentIndex=relatedContext.component.getVmIndex(currentDOMIndex);var draggedInList=domChildren.indexOf(draggingElement)!==-1;return draggedInList||!evt.willInsertAfter?currentIndex:currentIndex+1;},onDragMove:function onDragMove(evt,originalEvent){var onMove=this.move;if(!onMove||!this.realList){return true;}var relatedContext=this.getRelatedContextFromMoveEvent(evt);var draggedContext=this.context;var futureIndex=this.computeFutureIndex(relatedContext,evt);Object.assign(draggedContext,{futureIndex:futureIndex});var sendEvt=Object.assign({},evt,{relatedContext:relatedContext,draggedContext:draggedContext});return onMove(sendEvt,originalEvent);},onDragEnd:function onDragEnd(){this.computeIndexes();draggingElement=null;}}};if(typeof window!=="undefined"&&"Vue"in window){window.Vue.component("draggable",draggableComponent);}/* harmony default export */var vuedraggable=draggableComponent;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
|
|
534
|
-
/* harmony default export */__webpack_exports__["default"]=vuedraggable;/***/}/******/})["default"]);});})(vuedraggable_umd);var draggable=/*@__PURE__*/getDefaultExportFromCjs(vuedraggable_umd.exports);var img$9="data:image/png;base64,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";var img$8="data:image/png;base64,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";var img$7="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAAB9ICHSAAAYi0lEQVR4Ae3dfYxcVd3A8TO7233rltaWUHaehW6KFNqqjT7ZokZj8SEkxZeIGmI0JDXiH2BB28f+UV9AxGgifVoCFEKC0Yh/EBKjiUaMkTcTMO3yRIhPW6xQallm28KW1m673be5zznT3uHO7MzsuXPunXvuud9JNnPvnXPOPedzfvfM3Tv3RQheCCCAgN0COd3qTY6Ori163v/ppq+Vrief11pfW63MtZaZVqhWmfWWaVeqXgFxLO9optDx4eFQ2fqGhkKld0cqbMtDMcnE7kjVi6moBJsK9KhWXq9brew+rUrtGBj4Q71WhVl+78CAt2vFitXz5dEa9vcNDXnzFRTm87XDww3XqyUVZoVRpDWq1GU7d4q+j32sVA813b54cXlazTf7amrr81f2xtat/qQITuc6O8WRzZvLn4WdMJJakM/PXV97+9xlIZcYSU0XCuXVrdm7tzS9f/368rJmJxpuBX6hbH1SQktKiU0UCsZjVeS7w35XtuJde+vTbWUrKs06EEAAAQQQQAABiwTY89TtDO09T90Co0gX+v++egfM6lWmTf633LtuXb2Pay6PXao4NVVzxY0WhpaK+yieqmzsUo1E6n0WWqpRTEWlGLpSUa24npJabmX3aVVKHUBt1DLdz3TLmfdrJurDQKoBqTwQGzrQ/a7yD7SqY51qujgxId787nfFRdddJxbfcEMpWfA4qJ9P573pSi2SR4XVocTgYUU1ffyhhyoOyupUojqNVqBXZ/Ln1YHYKI5x+uX570aVqj4QG1UF2fpU90iF3X431XufV8rPyIFYX4J3BBBAAAEEEEAAAQQQQCAdAtr/8IVpThQnrYdZXzBtLpcb7+7vXxRcFsV05FBR/AcdRcOiPlHI6AhQFA1KSxlAafZU00dfNcsvJWv0I06Ychqljfs3mZZAxd2IRoBRfcampynZkogKu+k185u8ZnubTmZlRDVznkDTApoZWxJRjFGavZFEsqgugvLrHsmeeRy/v/sVjOp9vt/z51uPlWPUfJVO4nOgNNUTgfLPpVB1vPy++8rnVvjL1dV3q194obz84k2bxOUPPqjZpHiSteRbr1bVl918s/zlPyf6PvrROR/PnjolDsjlgz/7mVjy2c+WPu8LnKyiFkR1CsaclddZkBjU2GOPlao09stf1q5aR4foff/7xeGvfU2oiBqXZ/GYXEZZeyX6S/nW07RKZIzSrJtVySKJqGCLOMIZ1MjgdOSbnjq4n0FHmowAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAnAKR/1KsKntudHSf53lr4qx4vbJlg+7rzue31Pu82eWRQ9nwk7r8EbYor7Ayv2l3QDXyX4oDZSc2KaM58nZFXmBiOjGvGChNYKCA0hTQTBb7OZzqxNWJgwc1q9NcslZcQhL7phc3UnO04XPFDhW+SnbmiH3Ta8Vm0QpaIkpTGSigNAU0k8U+RjWze2DjuBb7psfugWbIupIs9k3Pxs2omc6LfdNrplI25gFKs1cihdoxOHi15npTlyyyMUrdm9+bmbEGwH9WwLaRkUh+FzAuJAv3PFC9H+mmZ004xVARoDRRgQJKU0AzWWTfeprrq3gsyuThw+L4/feXsgYfl3LuH/8Qbz3ySLlI/xEr/oKR7duFNznpz7bkveVQnQMDwn9mdltfX+m2IuquGMHlCk3dfmT/NdcI4XnCf+xLS0TqrCTRMao4Pi4mZPQs/dKXKqr37z//+fzzcPbsqVie5EzLI0o1trO/X6h7s3S/972i56qrxOtyWt1WpNHLv8GNStPq+7KodSYCNXPihPj3U08JdX+WN++6S9Vj3lcSOMFKJbLpFeVAHHyAUrBC/vTVf/mLGHv8cX828fdEIqpeq4O3Pjrx61+LY/IhYra8+F9PsycS2fQ062ZVMnOojNyLxRhq7d69kd+N3qpQulAZ4zGqulE2nOyq6sQd8qt7pkXzxptei+qZ+GqA0uwCoLIMJa9cmPcJqJo+JEMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAWcEIr82Ng4Z+QSep+QzSz4ZR9lpKlM+3KZLXio2ZXOdrQ+oJB/nZGPHRX0RedRttP7K2KSeDRY1dFbKsz6gstIRrrSTgHKlJy1pBwFlSUe4Ug0CypWetKQdVt0fsVmT8eHhZrNalc+FZ5swQlkVUumvjBMB1dbZmf6ecKQFTnzl9a5b50h3pL8ZToxQ6e8Gd1pAQLnTl1a0hICyohvcqYQT+1CtOmzgwr/1cYcuI1Tcwhkr34mA4rCBPVHrxFcehw3sCSgnRih7OKkJAUUMRCpg5VfeMxs2dPzva68dk2drLo20tQ4U5j8AXp67fce3R0YesK1J1pxTvmNg4HZPiPMPJA4obZaP2OX1rsCD8jHE1S954cKJ/7ziiuXXPvvsTPVnrZ63IqD2DQ3JWOJlKrB2eDjx/mQfyrQXyV8hQEBVcDBjKkBAmQqSv0KAgKrgYMZUwMrDBqaNqs5/8aZN4pLbbqteXDH/xrZt4vRzz5WW6aQ/uHGjmBkbK5ehk+eVDRtE8ezZch4XJzIRUH7HjctDEEc2b/Zny++r9+wRl917rzgkA+/c/v3l5fXS5++6S6x68kkxc/KkOHj99eX0aqJenopEDs/wlSc7Vx7HKXXxzFtvaXV14e67S+k6liwRHcuWaeXJSqJMjVB98qDgmhoHSmdPnRIHP/Up4U3p39hkqlAQnfm86Fq1Ssz89a/leOlauVLkv//98nxwonDPPcFZJ6czFVBRfR3lurpKwaQi4kwgmNT85KFDIguBo9pa65WpgKoF0GhZ1+Cg6N++vZSkW45EPWvXlpN7xaI48OEPl+eZOC9wfuchYQ1+eommA/jpJRpHSrFIgP/yLOoMF6piRUDJ7937XMCkDUJYEVBrhoe3rBkc7JKBVaRTwgtIt9027D+pmluxU96IcKJQ4FypABA3bQ1gMOm+gBVfee4zZ6eFBFR2+rolLbU+oPgPsCVxENlKrN8pVy2Vl1N1Th49OiHfrd8AIuuZqoLkGRG75aM55p57U5WOWQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDImEAqnkal+uRcobBL5HK3yCdS9WWpj+RTqPbLTrqpq79/XxrabX1AqUebnRsdnUwDZpx1lIH1tHy82X/FuY4oyrY+oGQwzWb5OXnBTm7L5d5n+0hl/QMNCaZ3Q0o+Hv6Jd+fsnLI+oOxkS6ZWcuNak8ya9ddKQOlbkVJDgIDSQCKJvgABpW9FSg0BAkoDiST6AgSUvhUpNQQIKA0kkugLEFD6VqTUECCgNJBIoi9AQOlbkVJDoEMjjfVJzr78sihOTVlfz0YV7Fm1SrQvXtwoSSo+c2KESnswqUiZOHgwFQEzXyWdCKj5GsnnrRMgoFpnnYk1EVCZ6ObWNZKAap11wzW1dXY2/DwtHzrxX17f0FBavJ2vJyOU813c2gYSUK31dn5tBJTzXdzaBhJQrfV2fm0ElPNd3NoGElCt9XZ+bQSU813c2gY6cRyqFWcbuHI2QNzh5cQI1YqzDVw5G4CAiluA8iMVcGKEilSEwowECCgjPjJXCxBQ1SJ15l05G6BO8yJb7MR/eZxtEFk8GBfECGVMSAFBAQIqqMG0sQABZUxIAUEBAiqowbSxAAFlTEgBQQGrA2rHwMAfgpVlWogdg4NX2+xgZUDJQLr93oEBT971dqPNeEnUzZuZObDjssvGntmwwcpDPlYF1K4VK1ZfCKT7k+istKxT3g146Yuvvjpt4whuRUCprU1tdTOzs/vT0qk21FON4GoDVCO6DfVRdbDiSQr7hoakDS9TgbXDw4n3pxUjlCkk+e0RIKDs6QsnakJAOdGN9jSCgLKnL5yoCQHlRDfa0wgCyp6+cKImBJQT3WhPIwgoe/rCiZoQUE50oz2NsPIHxqh5Ltu5c06RxYkJcfall8Tpp58WM2NjFZ/XSj999Kg4MzwsTj/zTEVaf6ZWHv8z//2NrVv9SWffEz9Ur2Tj/ullzd69DTuwODkpXvn4x8tp5kuvLn0//PWvl9OrifnyqDT7169Xb7G9bPjpJRMjlN+D1R26UN6bc8Xu3aKtq0tc/sAD4sjtlb+xBtN3r14tlnzmM2LpF78oetetEysfe0wcuvlmv+jyezBPeWGGJjK9D6W+wl659tpSd/ddc03Dbj934IA4+tOflkeZ7quuEm2LFjXMk8UPMx1QqsOLZ86E7vfjjzxSyjP48MOh87qeIfMBtegTnwjdx2O/+lUpT7d84A+vSoFM7UMtC+zztF90kVgkd8S7Vq4sibyxbVulTIM5T+7E13vV2zk/smWLGH/++XrZnFmeqYBaXrXT7ffiMbljfvq55/xZo/eTv/tdzfzTx4/XXO7awkwF1D8/97ly/6njULPvvFOeDzOxIJ8vJZcXDMzJVrjnnjnLsrQgUwE1XShE0reDF3bKTz/7bCTluVRI5nfKw3bmsq98RSxYvryUbeQ73wmb3fn0mRqhwvZm//btpSxtvb1ioTxO1bFkSbmIkTvvLE8z8a4AAfWuxZyp99x445xl3vS0+OfnPy9mjh2b8xkLuIzKqRiw4bc89qGcCqnkG0NAJd8HTtWAgHKqO5NvDAGVfB84VQMCypXuzOXGbWgKAWVDL0RQh5znPRpBMcZFWBFQ8jzk3cYtyXgBa4aHt9hAYEVASYzNBFVz4SDdimsGB7uayx19Llkfu18ThQL3jgp0UU8+b3WfWTFCBbyYTLkAAZXyDrSt+gSUbT2S8voQUCnvQNuqT0DZ1iMprw8BlfIOtK36BJRtPZLy+hBQKerAnCW/1zUiI6Aa6dj2mSW/1zVisT6g5FbJ73wXerA7n7fi97pUB1R3f//mrAeVbH9ROljze12jgOIzBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBNIukEt7A2ypv+d5nZNHj+6U9blVTrfZUi/q0TqBXC5XlGt7uOvSS7fK6anWrdndNTFARdC350ZHH5SD0jciKIoiHBGQA9Tu7v7+zY40J7Fm8E1vSH+uUNjF4GSI6GB2FRMqNhxsWkubxB6UIbfcezotg7HPsBiyOygg96LG5V7UIgeb1rImsQdlSM3gZAjocHZiw7xzGaDMDSkBAQRiEmCAigmWYhFAwFyAAcrckBIQQCAmAQaomGApFgEEzAUYoMwNKQEBBGISYICKCZZiEUDAXIABytyQEhBAICYBBqiYYCkWAQTMBRigzA0pAQEEYhLoiKlcig0pcPbll0VxigvgQ7LFkryts1P0rlsXS9kUGk6APahwXrGlZnCKjTZ0wfRFaLLYMjBAxUZLwQggYCrAAGUqSH4EEIhNgAEqNloKRgABUwEGKFPBiPL3rFol1MFZXskKqD5QfcHLDgFuWGfYDxOFgmdYBNkdFujJ59nGDPqXPSgDPLIigEC8AgxQ8fpSOgIIGAgwQBngkRUBBOIVYICK15fSEUDAQIABygCPrAggEK8AA1S8vpSOAAIGAgxQBnhkRQCBeAW4m0G8vtqlu3Q3A+4GoN3tJJxHgD2oeYBa9bFLV9C71JZW9T/rqS3AAFXbhaUIIGCBAAOUBZ1AFRBAoLYAA1RtF5YigIAFAgxQFnSCqoIrdzPgbgCWBJQj1eBKa8OO5G4GhoCOZ+duBmYdzB6UmR+5EUAgRgEGqBhxKRoBBMwEGKDM/MiNAAIxCjBAxYhL0QggYCbAAGXmR24EEIhRgGvxQuLuHBhYKm9CfldRiNtkVvxC+mUt+b0DA+qe9TNyT+Ah+ZP53VtHRk5kzcCkvWxgGno7VqzY6BWL/yM8b/WsRnqSIFAl0CG/0O6Qy+6QA5YQudyBds/bKgerP1alY7ZKgAGqCkTNqr2kYlvbD+SgdKuc7fBmGZZqMLGoWYHzX3RPlgYruXeVa2t7uK1Y/AF7V3NBGaAumMzZSyrK7zxeCMQv0CG/CG+XX4G3+3tXcsD672//619Pxr9q+9fAmeQX+mjf0BDPt7M/XjNTw7XDw2ybsrf5FS8zIU9DEUifAANU+vqMGiOQGQEGqMx0NQ1FIH0CDFDp6zNqjEBmBBigMtPVNBSB9AkwQKWvz6gxApkRYIDKTFfTUATSJ8AAlb4+o8YIZEaAASozXU1DEUifAJe6pK/Patb44k2bxCW3qRsshH+pB22e/O1vxdu/+IWYefvtmgU0W77neWLi738Xb//852L8+edrlh1c2Ox6gmWo6Vc2bBDFs2erFzOfMgEGqJR1mG511aAze+pUzeTtixaJtu7u8mfqSSxLb7qp9KfyvPblL4uZt94qf15rolb5bb29on3hworkuVxO9H7gA+LyXbtKy6ePHRNHvvlNMXnoUEW6ejO11lMvbXC5vL4tOMt0SgUYoFLacfNV++xLL4kjmzfPl6z0ef7OO8WST3+6NN2+eLG48ve/L+2BeBMTdfPrlt85OCgu3bJF9H3kI6WyFixfLq54/HFR+MlPxMnf/KZu+f4Huuvx0/PulgDHoNzqz6ZaU/jhD8XUm2+W86q9nsXXXVeeN5mYOny4tMd08IYbRDEw4OW3bxfLv/Utk6LJmwEBBqgMdLJOEzuWLq1INn38eMW86Yw6tnVIHicLvt5z443BWaYRmCPAv3hzSLK1YOH69eI/fvQj0dbTU264GkzO7NlTno9qYur118XM2JjoWLasVKRaZ+8HPyjO/u1vdVexcGhIrNY4uB4s4I1t28T4Cy8EFzGdUgEGqJR23HzV7pMDz5q9e+dLNufzd+SveaM//vGc5VEtmJSDlD9AqTK7rryy4QCl/t0UCxaEW73Kw8sJAQYoJ7oxfCOK584J9Yva9OhoaYA48cQTonjmTPiCwuRoby/tMQWzzLenMy4HWd2D/cFymXZDgAHKjX6c0wobN+zFGzeKnByk/NfkkSNiemTEn+UdgTkCDFBzSFgQh8DFX/2quORW9QyK8y9vZkaoY0W8EGgkwADVSIfPmhZokyds9n7oQ2L5HXeIrhUrKsqZOXlSvPqFL4ji6dMVy5lBoFqAAapahHktgWYOws/KY1xvfu97Wpe8aFWCRM4LMEA538WtbaA6+K4ul1F7SZMHD4ozL74o1PGwWXl6AS8Ewgrwe+wFMR47FTZ0SB+nAI+dOq/LmeRxRhllI4CAkQADlBEfmRFAIE4BBqg4dSkbAQSMBBigjPjIjAACcQowQPm6udx+f5J3BBIVIBbL/AxQPoXn3SR/0uQ2jL4H74kIlGJQxmIiK7dwpQxQFzpF/qy7b/XgYI/I5Z62sJ+oUhYEZOypGFSxmIXm6rSR86DqKMnzotZKnFu8XO56meRy4Xl9dZKyGIHwArncuMx0JOd5f/KEeJRBqTYhA1RtF+2lE4WCjC9eCNQW6Mnn2cZq02gt5V88LSYSIYBAEgIMUEmos04EENASYIDSYiIRAggkIcAAlYQ660QAAS0BBigtJhIhgEASAgxQSaizTgQQ0BJggNJiIhECCCQhwABlqC6f28Y1fIaGrmYnNsx7lgHK0FCehXeTDESu4TN0dC27igkVG661q9Xt4SzXCMQ9z+ucPHr0Sfn+yQiKo4iUC8jB6emuSy/dKN+nUt6UxKvPABVxF0yOjq6VA9Ut8qLj0jV8cppr+CI2tqk4OQiVrqmT12r+SU4/2tXfz4W+NnUQdUEAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQsEjg/wFrm7Dsn4r+SwAAAABJRU5ErkJggg==";var img$6="data:image/png;base64,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";var img$5="data:image/png;base64,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";var img$4="data:image/png;base64,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U9dpJQnqt/dIETWpl0btmqbT4bX2vPTZWqB4z7y34ADd07cRDbyyEfXtlE0lTGBOnvUvGN81Za0QuC1MS7nd/jW/5oOXyB366tx9NPaO86nteemUVMNFZeUV10Y5ht+yYUYPYZnzw6GAEKLASxqP0L11Fn029iJRtlZ4lUyYR1qyWwgTD1u4tkArii38bC9Qj723TQjUs39oJYC3/tMPKvCf/3SYbrm0vvBbtO64Kow7eIdzLbP7rV4i7N8/H6HZ3+dT5xaZ1P83DamhJ1X480vSxxoCJQID/pZvLQzwqXS2blSLJg1sLTzaM03U5fwsOdDLLr1NBn0vu+1oSfhSPYdmpVsvfTt5hMY6crKU5q08SqfOldumX61w68X2Gsro3l7wawHxH0x0BGw7y4uuuUhlNgFLCBRbB3rJ7IYi//gQsIRAsUHxCE+LunwV0hufZjurFLfLPcMK4ydO1RKD8lDdm19QpD2XD5XIwWF4aauDOxdNq0rAEpe8qtWCj10JQKDs2nMWrbflBcrtdmMGaFHh0aqW5QflvNI+ny+F7RM6x46WPwG0IBvhxzpqRq4nbagReSEPEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABBxGwxdeoOG/2NaqpPq9vsI98GQ7ir6Mprg3JSXRHTmbqeh2REx7F8gLFP2126ERxccJJJboCLlrQoE7alYmuRrjyLS9QTJjKq/N38pQdmJzk6mB1TWX5DxpCmCpFqrSMZle6rGmzvEBZE1uiauVrl6iS9ZYLgdJLCvF0EYBA6cKESHoJQKD0kkI8XQQgULowIZJeAhAovaQQTxcBCJQuTIiklwAESi8pxNNFAAKlCxMi6SUAgdJLCvF0EUjSFcvikVbuPkclZT6L1zJ09do2TKM6tex/ftu/Bayf7C5MXNQ2HSwKLXE2CXWEQNmEdbWoJgSqWnRz/BoJgYof62pREgTKIt2ckmT5vY66SFm+FfkFRfaevunqBv2RGnjSLN1n0FD6+xIxdRCAQOmAhCj6CUCg9LNC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YnmBYkv5uM9X0YP1a6dY4n6drQUq15M2tLoLFdtJ4M2tk2qZ+3WhBAphIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIGB3Ai67N8Aq9ff5fCmHTxS/SC7Xn5ndbZV6oR7xI+Byubzk871Wv07qSGYviV/Jzi0JCsqAvj1UUPSKj+hBA7JCFg4hwE6sGbmetKEOaU7CmoErfYzoD58smQrlFCNEBybnMsFlw4FNi2uTMIKKEfehguJTPvJlxJgNkjuQgItcp3M9qZkObFrcmoQRVIyooZxiBOjg5JCN2DsXCip2hsgBBEDAJAJQUCaBRbYgAAKxE4CCip0hcgABEDCJABSUSWCRLQiAQOwEoKBiZ4gcQAAETCIABWUSWGQLAiAQOwEoqNgZIgcQAAGTCEBBmQQW2YIACMROAAoqdobIAQRAwCQCSSbli2wjJLBy9zkqKWNPcMEknEBKkou6NquZ8HqgAkQYQVlECqCcLNIRrBroC+v0BRSUdfoCNQEBEAggAAUVAAROEAAB6xCAgrJOX6AmIAACAQSgoAKAJMrZtmEa8cVZmMQS4H3A+wLGGgRwRsTYD/kFRbj1FiNDJydv4EnDORZDB2MEFQM8JAUBEDCXABSUuXyROwiAQAwEoKBigIekIAAC5hKAgjKXL3IHARCIgQAUVAzwkBQEQMBcAlBQ5vJF7iAAAjEQgIKKAR6SggAImEsAbzMwl6/u3J30NgO8DUB3tyNiGAIYQYUBFK9gJz1B76S2xKv/UY42ASgobS7wBQEQsAABKCgLdAKqAAIgoE0ACkqbC3xBAAQsQAAKygKdwKvglLcZ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";var img$3="data:image/png;base64,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";var img$2="data:image/png;base64,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lirylyoaDLtdbPF7tZLXmjjWyRfTX1aa8ws5+VGZ0bd+ttb1yr5raPMXP2GL7/ztTSPbxDFfo5VzdlB14eVyEfYmJYA3R5wzHN7qYlIPtqjYeKvLiGFxBGVRB4daIGAFAghQVrAidAABixJAgLKoYaEWCFiBAAKUFawIHUDAogQQoCxqWKgFAlYggAB1zorseUU9VjAodDA/AfjiqA0RoBQWYvD7O5R2SIBArAnAF2XCuA5KJsH26+suWcIeL/k2u1cVXDy4IBkfAuyhoyI5hWUrZ+3Q9sCs+IiV0FnwQVTB/8rn87PP9rp/SiTwxwNMYHfXZ6k0QxEI6CLAT+VEonoWl17NzHD825VTt4d+1o2uGc3XGQFKp83azzQxH8MGAuoECnLL8BlTR6OpFGtQmjChEQiAQCIIIEAlgjrmBAEQ0EQAAUoTJjQCARBIBAEEqERQx5wgAAKaCCBAacKERiAAAokggACVCOqYEwRAQBMBBChNmNAIBEAgEQQQoHRTxz18uhFadgD4hl7TIkDpJMiuwsM9fDoZWrU7fEO/ZXGVq36G1NndsoTdDsPu4RPBMwo8zT4Eu4VFZH/L8rJLcE+dTmPiA6UToGd3UWzN7uwa+ikJ4pUsVk0gwj18nnysmxZ62P109ezezVfzcpL+TRCKcE+ddY0NzUAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABCIm8P8B73KF2/EETJgAAAAASUVORK5CYII=";var img$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAAB9ICHSAAAbUElEQVR4Ae3deYxUxb7A8RoYBhC4LANcBX2A7KIgLiAkCGgiWyKiiJiIcblE7mOG4BXC8Nfj/TUTo6gwPDDcMRo1IEIiMchiXFADjAuiPpAJgsMiehkGEUbgscy8qnM5TXfTPXNOn6XrVH876ZnTp6vqVH3q19WnzyoEDwQQQEBvgTyn1autrR3U0NDwv07Tp0rXuXNnR8trlipzqnleK5SqzHTzHFcqXQFBzM/PpNDdu3e7yjZo0CBX6bWUchR4qpnHjx9vcNXcFIl9D/QUywhslq8x5TZ20rWK7ksnkzzf0aevuLj4g+SMmbwuKipqmDt37sCm8jqKqW7duk1YuXJlU2U1+X737t1Vmj3y2WjYOJJqcmk+J3AklbzMqVOnCvkFLT755JPYWwMGDBB79+4VTz/9tNi2bZuI/ySuXbs2ls7JREZS+fn5VoXuuOOO2DI6duxoTVdUVIgff/xRqIr06dPH+h9L5HAi40qp8r/++uuUi5k8eXLK+U5nZtR9Fy9ejJVfUlJiTW/dutX6b79ev359LI3biUY/BXZhpaWlnr/37LLU/4ULFza63Iy6L34BQUw3WuP4Beb8WoLj7nO6LhSvyzQCCCCAAAIIIJADAqx5Ou1kx2ueTgv0I53r331uN8KqX9P9+/d3VdfApeJ/uDqtGYHuVMrXmIrf/OO0AqnS0X2pVFLNc/TpUxtQU2V2O89pOU12n9+bgVRDIrkpyFH3xXeT2uCqNsSqh/1fTY8aNUr9E/aWPPWeet52223WfDd/XA8JaoOr2sj6xBNPiGuvvTa2LLWNXFWorKzMmqfSdOnSRdTU1MTSOJ1wLaUK7tChg3j99devWoZdIVvrqgQOZ7iWUuWePHkyVrxdgerqajFy5Ehx9913x7RiiVxO8OlTYHl5ecuagmtSyi6ADbG2BP8RQAABBBBAAAEEEEAAgWgIOP7B56Y5fhy07mZ5SWnr5LEv7ZLmeX7pO5Qfv6A9t0oW4PeBQhltlvKjIVErAyiHPZbRNkWHZceSud0xGMvoYsKvnUHpFskYlU4maT4fvSSQdC+1/Ohlsk8+XQP9mq9lRGVynIBfIOnKYYxKJ5M0X8uISqpjRi/9OgnKXrgvERXE/ne7gn79b2p/flPLMTaimmq42/eBcigWCtSIESPE9OnTrSq1bNkydkCHfaRAfF3j08a/v2DBAjFr1qxYUvWeOu4irEco61GqMe3btxfDhw8XXbt2ddy2l19+OYa6c+dOsWXLFsd5/U4YGtQff/whKisrrfq///77jtohT7lNOBZFRZF94IyjAnxMxLeeQ8xQxiiHddE6mS8RFd9CtnDGa+TgdBAfvbocdKTJCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCAQp4PueYlVZedLQbnljiZuCrHi6suWlMV4uLCx8Nt37mc73HUqHXeoSq15iNc8UJVW+IPYUp1pOqPNkNPveLt8LDFUkxIUB5RAbKKAcCjhMFvgxnHV1deLgwYMOq5NZsqDP1VO1CvyjFzRSZrTucwUO5b5KeuYwcoVTUXOWepYCjo+eQ3igHEJpuXoQxte9Q59YssAjitWDmHVuTLB64LCfA//oOayH9smActhFvkLJy84PcLjcyCXzbfXA6bX5wxKy61NeXu7LOOy5kFy45oHqXF8/emFFSzaWA5RDdaCAcijgMJlv33qNLS/+9ii7du0SP/30k5VczU++N3X8PHU3k2eeeUaoayYsX748lid5WcllJL/vx+tQPnr2vbFVg9T9YuxLiaj5yQ973pgxY8STTz5pXRBC3U7dzqPKUM/4MpPLCOJ1KFDxFV+zZk38y7TT119/fex+N+oKZdm6goZdwVA+emph6ros8uAJoSLFyeOtt94S8mJZsUjKGaiqqirLZ8eOHU6crDRLly6Npc3mdVlUJUL76KkbJ8XfPCkmkGZCwQwePDjh3YKCgoTXYb4I7aOXrlH2IK3ej/94qWn13sSJE62sFy5cEOfPn09XTODz+a3nkDi0j57D+mibzA+onLgWi2coedlG369Gr2NYeR6jkhulw8Guqk4ce5DcMyG99vzRC6meWV8MUA67AKgch2ryDqgOfUiGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALGCPh+bmwQMvJ8249kufcEUXaUypQ3t2kpr9OSvas9OMDSPqCy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";var img="data:image/png;base64,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";var zh={"0":"请输入内容","1":"取消全部筛选","2":"序号","3":"操作","4":"可添加列表项","5":"列表配置","6":"已选列表项","7":"排序","8":"固定在左边","9":"取消","10":"确定","11":"重置","12":"请选择","13":"开始日期","14":"结束日期","15":"至","16":'列表项名',"17":'最近一周',"18":'最近一个月',"19":'最近三个月',"20":'点击上传',"21":'请选择要上传的附件,最多',"22":'个',"23":'单个附件最大'};var en={"0":"Please enter the content.","1":"Cancl all check","2":"Serial No.","3":"Operate","4":"Can add list items","5":"List Configuration","6":"Selected list items","7":"sort","8":"Fixed on the left side","9":"Cancel","10":"Confirm","11":"Reset","12":"Please select","13":"Start Date","14":"End Date","15":"to","16":'List Item Name',"17":'Last week',"18":'Last month',"19":'Last three months',"20":'Click to upload',"21":'Please select the attachment to upload, up to a maximum of',"22":'individual',"23":'Maximum for a single attachment'};var cht={"0":"請輸入內容","1":"取消全部篩選","2":"序號","3":"操作","4":"可添加列表項","5":"清單配寘","6":"已選列表項","7":"排序","8":"固定在左邊","9":"取消","10":"確定","11":"重置","12":"請選擇","13":"開始日期","14":"結束日期","15":"至","16":'清單項名',"17":'最近一周',"18":'最近一個月',"19":'最近三個月',"20":'點擊上傳',"21":'請選擇要上傳的附件,最多',"22":'個',"23":'單個附件最大'};var idMap={'请输入内容':0,'取消全部筛选':1,'序号':2,'操作':3,'可添加列表项':4,'列表配置':5,'已选列表项':6,'排序':7,'固定在左边':8,'取消':9,'确定':10,'重置':11,'请选择':12,'开始日期':13,'结束日期':14,'至':15,'列表项名':16,'最近一周':17,'最近一个月':18,'最近三个月':19,'点击上传':20,'请选择要上传的附件,最多':21,'个':22,'单个附件最大':23};var trans=str=>{let lan=localStorage.getItem('language')||'zh';let id=idMap[str];let obj={};switch(lan){case'zh':obj=zh;break;case'en':obj=en;break;case'cht':obj=cht;break;}let txt=obj[id]||str;return txt;};//
|
|
534
|
+
/* harmony default export */__webpack_exports__["default"]=vuedraggable;/***/}/******/})["default"]);});})(vuedraggable_umd);var draggable=/*@__PURE__*/getDefaultExportFromCjs(vuedraggable_umd.exports);var img$9="data:image/png;base64,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";var img$8="data:image/png;base64,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";var img$7="data:image/png;base64,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";var img$6="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAAB9ICHSAAAXS0lEQVR4Ae3de5AcxX3A8d/s3emke+xZErqD6GTz1MMHZTl2QSouYgsSxYIoVZEIsh3h/AFOgi0oAbErj0pQquJKkdigOMEyCYYk4o8YU3YlJkCdShJVCUmZsmOCJZCiMgbrLtJJ6KR7SvfaycyiXe3ezu71bE/v9s58r0ramZ6enu7P77e9s69ZEf4QQAABuwUc1e6NnTnRl5mdPaRaP6heV88qpeOlgnYOKtPtUFCb5cqUO1WuARPlzdU0Ov7aS6F261j/yVD14yMVduShmLzK8ZEql1NRCVaV6FEdvFxYrQyfUqf6t6ZfKDeqMOX9W9Luvm3L1y20j9K0f2R7m7tQQ2G2r31msuJxlaTCHDCKulUleu7AKx96TiZe3yfn9j0h/vK5A98Up6lFuj7+2WyVwa/ekasa6rYiY66lsOFzWhaLO3Mht3vJrdHwtay4Mn/AwuV8YZULWjk1c/rt/GELl/OFVS5odarcMSuFrtw+heVGOlV4gGqWlRLdb3hk6Lj2XBX56XA1I652H+XwqY6y2o6wHwIIIIAAAggg0KACnHmqBk75zFO1wSjqhX7aXu4Fs3KdcVpapb1vQ7nNgeXGpdyZqcADVyoMLWX6VTy/s8alKomU2xZaqlJORaUYulNRHbickl9uZfiUOuW/gFppZKrbVNtZ8GEm7Kt4Kh00+kqeSgeqqRM60XMH8V949f/8F1uDlnPbspVC/ld1pzrWb5Kjd7XLmr0T2UPmlgtvQ/YlX10p0fO15y34L776nfD/CpfnVQu9qtWpwhdfC5dD92LeDtz7fBDHkcfnwZSsLiiV24MXYnMS3CKAAAIIIIAAAggggAACjSGg/IQvzHCi+NB6mOMV1XWc8a7u3s6isghWIoeK4hl0BOOSqD8opPUKUBQDapQ2gFKMVNWvviq2n61W6U2cMO1Uqmv6PZmaQJkeRCXAqLZx11OUrElGhb3rVfOevOJ4q65mZUZV8zmBqgUUd6xJRjFHKUajHtWi+hJUru+RnJmbeP8918Gobhd6P3+h41g5Ry3U6XpsB0pRvS5Quc9S+H1s8z6al1vP3frlK3//u/lyf93/0lvhdr+sln81edQLGtCy2x/IFqdv/q2izdly7xMBHR/aWFRe75W6QQ3/22PZseducxC59eHnH80VWXHLo55iGOoyRyn2zapqkWRU4Yh4hbNQI4HL0d/1vBf3E+jIkBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAwKRD5O8V+Z0eHjh/2rsnzQZMdL9d2ynF2d3b3vvdRmXKVqiiPHMqGt9Qdx8mku3ubqvAou0v07xSXPVTtNriuG/m4Im+wdhy1PRJQit5AAaUooFjN+Gc450bflfNv/UCxO9VVq8VXSIzf9UwjVUcbfi/jUOG7ZOcexu96tbhb1IKWjFJUBgooRQHFasbnqGpOD2yc14zf9Tg9UEzZuFQzftez8W5UTfCM3/Wq6ZSN+wClGJVIoQ5uXb5W8bgNVy2yOcq/Nv+MO2MNQO63AjZ+ZzSS9wW0G0nCNQ/86Ed617MmnQx0BChFVKCAUhRQrBbZo57i8bLVcj+TkpmalFN7vyRzIyel88Ytkr75M9nt04NH5fQ//3FR3cL2q/1d68I2wi7XBSr3My5+Z/3LiEz8eL9Mvvnv4jS3ysAjmyXV1pUt939RJYfi18v9wkrYQUZRv+5zlD/49htuLRpLZnJELrz9miz91S8UlddzpS4Z5Q/YvwZLqn2pLN/8kAzu3iaLfm6dtFz2gWx566rrZfGV6+WdP/lYPW2Kjl03qLFXvyuZqQl599k/zXZomQc1O3pK/HL/+iwnvnF3UUfrvVI3qKAfTXKnz0tQeb2R/OPXfY6yAUGlDzzXU1EioxSVIoJKxLVYtOco77KNkV+NXj3OtaupPUfN76oNH3b1+8QV8udHpkbr2ne9GvWz7ocBSjEEQCUaSuEXUBV9qIYAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAArERiPy7sSZkRocG9rvi3mKi7UZq0/txm1bvR26mbe6z9QlVz59zsjFwUX+JPOoxWv/N2Hr9NljU0Elpz/qESkog4jJOEioukbRkHCSUJYGISzdIqLhE0pJx1O1CklGOf/y1l6Jsrm5txeG3TZih6pY+8TxwLBLKaWmNZ3QacFSxeMhr79vQgPTx7HIsZqh4hqYxR0VCNWbcrO01CWVtaBqzY7E4h6rVywZxeFpvOk2ZoUwLJ6z9WCQULxvYk7WxeMjjZQN7EioWM5Q9nPSEhCIHIhWw8iHv4K5PNM/8+EdD4rrLIh1tDBrL/QC8k5L7f+W50b+xbUjWfKZ83x3p+9yMfG0+0E17Ds8vSvT69+/tKx2/4wy33PDhng27Xp4t3VjbEisS6sj2Nu+j4/zpCng/Y1j3eHIOpRtF9i8SIKGKOFjRFSChdAXZv0iAhCriYEVXwMqXDXQHFbT/mr0TQcX5ssz0BTl29/Ls+rLNX5QVd+7KbwtaGNy9TcZ/+LwsvW2ndH/6y0FVSsqO3tVeUha3gsQkVC5wQUFNLe6U6/7+pPhJV7h94tABGXhkc27X/O3qfxqXlTu/Je88/Ety9oXd2X+5jU7LYln91JnsamFbue1xv+Uhz4twW9/HQ8XZu2BFtv7s2f8LtV8SKiduhir30Hf62Ydl+HtfKYp5+/W3ZGetokJvZW58WH5y/7XizkzN35T49cQlVJiHoXIPeYnPmgoAPORVwGFTeIG6v1Tvd5m3XsIHLmgP3noJUqGsoQV4yGvo8NnXeSsSKuU4u+2joUfVCFiRUKv3Tjyw5tqrvAuSSqaaQSR9H8/tcRvOn/w4WHFSXikhRoaO81mpAiAu2lqAwWL8Bax4yIs/c3JGSEIlJ9Y1Gan1CcUzwJrkQWQHsf6k3B+p67qLxk4Pnvdurb8DRBaZ+Q15z+S6ulftmF/MOgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggkXKAhfo3Kj9HYqYHHvB8kvsf7aaqOJMXMC9AbTnPznZ3LrzjcCOO2PqH8nzYbPTUw1QiYJvvoiHMg3dN7q8ljRNG29QnlJdNcon8nryDKqebm622fqaz/QUOS6VJGubOzz15as3PJ+oSyk60+vXJFPlifI6sflYRSt6KmggAJpYBEFXUBEkrdipoKAiSUAhJV1AVIKHUraioIkFAKSFRRFyCh1K2oqSBAQikgUUVdgIRSt6KmgkCzQh3rq0wcPijuTGO/f7zk6o9KU/oy660X6mAsZqhGTyY/SOff+sFCsWqI7bFIqIaQTkgnSaiEBLpWwyShaiWdkOOQUJYE2mlptaQnet2IxbO8jvWf1FNg78gEmKEio6QhX4CEIg8iFSChIuWkMRKKHIhUgISKlJPGSChyIFIBEipSThqLxetQtfi0QVw+DWA65WMxQ9Xi0wZx+TQACWVagPYjFYjFDBWpCI1pCZBQWnzsPF+AhJovUmY9Lp8GKDO8yIpj8SyPTxtElg/aDTFDaRPSQKEACVWowbK2AAmlTUgDhQIkVKEGy9oCJJQ2IQ0UClidUP1b0y8UdpZlkYNbl6+12cHKlw323ZG+z83I18S7Sil/xQIz7syb/Vu7hltu+HDPhl0vzxZvrf+aVTPUvm3L1/VvSbvZZKq/jb09cN1lM6//94yNM7gVCXVw1yeavXvdGXdm5g17o2hhz1zZ5N8B/Rndlt5Z8UsKR7a38eAWQUasfWay7vG0YoaKwJImLBEgoSwJRFy6QULFJZKWjIOEsiQQcekGCRWXSFoyDhLKkkDEpRskVFwiack4SChLAhGXbpBQcYmkJeOw8s3hqG06b9wi6Zs/U9Ls9OBRmTz6HzLxoxeLtq186LmidX8lMzUp54++ImOv/ovMjZzMbw+qm99YsDDx+j45t++JgpJ4LiYioVp6rpGO9ZtKI+iVLbt9Z7Z8cPc2Gf/h89nlwLrelvRNW6Xns49KZvqCHLt7ecW62Y0F/80OnyhYi+9iIhIqF76JQwdk4JHNuVVJtXXJFZ//B+n40EZZufNbcvSu9vw2f2H+elvfBln1B89LatFi6f3Sv8rAX/56SZ01eyeybfz0D2+U6YHDRe0lYSXR51CZyREZ/MpviPfL69lYL776IxVjPun9BMixz12erdN+w60V6yZ1Y6ITKhf0qXf+J7u45LpfyBWVvc1cGCu7jQ1ctDWbA4uvXJ+9HXv1OwvmRMdHfm3BOkmukKhzqJbLPuCdhD/wXrwdR1p7+yT9sU/l4z97tvjEOV/Xq5FqXyodP3+btK5cl63vn8TzVyqQqIRadPk1suJTf16iMDc+LD+5/9qS8qC6fqXTzz6cf0ZYslPCCxKVUJP/+19y8hv35EM+c/rt/HLQwlsP9uWLM1MTMjd6Or/OQrBAohLKnT4vCyVRIVOYuoX7JXmZZ3lJjr6BsZNQBlCT3CQJleToGxh73b9244+Jr1FFE1m+RhWNI61YJMBDnkXBiENXSKg4RNGiMZBQFgUjDl0hoeIQxffGMG7DUEgoG6IQQR9SjvNkBM1oN2FFQnlv/D+uPZKEN7B678TFj1HUF8KKhFqzd3IHSVVdInhumTXXXtVa3d7R72XFC5uVhjUydJxrRxUAdfWssjpmVsxQBV4sNrgACdXgAbSt+ySUbRFp8P6QUA0eQNu6T0LZFpEG7w8J1eABtK37JJRtEWnw/pBQjRRAx7Hi/bpKZCRUJR3LtnnBsuL9ukos9icU7/Pl49fZ3WvF+3X5DgUsWJ9QXd2rdkjCk8pxnEy6u9ea9+sC8ogiBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBGIj4MRmJHUeiOu6i0ZPDzzqiHOvt5yqc3c4fB0EHMfJuOLuSa/ofdBbnq5DF2J3SCaoCEI6cur434orX4igKZqIi4Ajj3d1r9oRl+HUaxw80mvKj50aeIzJSRMxjrt7D1jZ3Ijj2Go4Js6gNLFHTg2Miet2aDbD7nEUcJzxru7ezjgOrVZj4gxKV5rJSVcwvvuTG9qxZYLSJqQBBBAwJcAEZUqWdhFAQFuACUqbkAYQQMCUABOUKVnaRQABbQEmKG1CGkAAAVMCTFCmZGkXAQS0BZigtAlpAAEETAkwQZmSpV0EENAWYILSJqQBBBAwJdBsqmHaDScwcfiguDNT4XaithEBp6VV2vs2GGmbRsMJcAYVzstYbSYnY7ShGyYWocmM7cAEZYyWhhFAQFeACUpXkP0RQMCYABOUMVoaRgABXQEmKF3BiPZfcvVHxX9xlr/6Cvgx8GPBnx0CXLBOMw4jQ8ddzSbYPcYCXT2ruI9pxJczKA08dkUAAbMCTFBmfWkdAQQ0BJigNPDYFQEEzAowQZn1pXUEENAQYILSwGNXBBAwK8AEZdaX1hFAQEOACUoDj10RQMCsAFczMOur3HqcrmbA1QCUw07FBQQ4g1oAqFab4/QN+jiNpVbx5zjBAkxQwS6UIoCABQJMUBYEgS4ggECwABNUsAulCCBggQATlAVB8LsQl6sZcDUASxIqJt3gm9aageRqBpqAMd+dqxnoBZgzKD0/9kYAAYMCTFAGcWkaAQT0BJig9PzYGwEEDAowQRnEpWkEENATYILS82NvBBAwKMB38ULi/udvppeNZ+Rhx5XPexcjxy+kX9Kq929Ju95b5bPef1/vSMmf/eK3R4eTZqAzXj5moKC3/46lmzKZua96E9K6+dVv2nN4fhHrCOQFvn9vX345t+Dd6d50muTBX/726Eu5Mm6DBTgDCHDxz5Im5lK7RDL3+mdJc5m5gFoUIVCdgP9A587Ji97ZlfhnVyKpPe1NmV2cXZV6cgZ10aTSWVIp26USzqAuWbBUKhB0BlVa61KJf3aVSjU9dOtzZ1+8VJrcJSaoi7E/sr3Ne2DjDwE7BNY+M8l90wsF7+LZkY/0AgEEAgSYoAJQKEIAATsEmKDsiAO9QACBAAEmqAAUihBAwA4BJig74kAvEEAgQIAJKgCFIgQQsEOACcqOONALBBAIEGCCCkChCAEE7BBggrIjDvQCAQQCBPguXgBKoxYt2/xFWXHnrqq6n5mZkpGDT8uZ7/2VzJ07WdKGqbaX3rZTuj/95ZLj6RScO/CUDD19n04T7GuJABOUJYEw0Q1/0smMB1/dI9X+PkktWpI/bKqlVZZu/L3svzlvn7f/6EaZPXsiv33+QlRtu1PjFY/jf5u2+X1XFB1+dvS0yJz3Hdsyf3OT58psobjRBJigGi1iIfp7/ugrMvDIZqU9Lv+dJ6Tr5u3Zuk0dy+Tqvz4mxz7XI+7UROD+UbV9bv+T4v8r9+e0LJbVT50p2nz8L26X6QEuc1OEEtMVXoOKaWDDDuvk3/2uTJ/6aX43x3Gk86at+XWdBZNt6/SLfe0XYIKyP0Y162FzurvoWLPDg0XrOism29bpF/vaLcAEZXd8atK7tutvkWu+/o6kFrfnjzfrvVA+eWh/fr3aBZNtV9sn9mscAV6DapxYhe5puzfxrNkb/BpSpcbOvfy0DH1zR6UqYrLtigdmY6IEmKASFe7iwWamz8vsmeMy8+7PZPLIK3Kuf49kLowVV6pyzWTbVXaJ3RpQgAmqAYOm2uWJQweU38VTbTNXz2TbuWNwiwCvQZEDCCBgrQATlLWhoWMIIMAERQ4ggIC1AkxQ1oaGjiGAAD9tczEH+Nkp7gw2CfCzU+9FgzMom7KSviCAQJEAE1QRBysIIGCTABOUTdGgLwggUCTABFXEwQoCCNgkwAR1MRqOOG/YFBj6klwBcvFS7JmgLlqkmpw7vUsgZS7RsIRA7QX8HPRzsfZHtvOITFAX43LdP44fXn3NVUu8C7UdsDNU9CruAn7u+Tno52Lcx6o6Pj4HVUbq2G939LkZ9x7XlY2uuO/3qnWUqUoxAtUIjHtP5X7mnTH1OynnSSalYEImqGAX5dKRoeOucmUqJk6gq2cV9zGNqPMUTwOPXRFAwKwAE5RZX1pHAAENASYoDTx2RQABswJMUGZ9aR0BBDQEmKA08NgVAQTMCjBBmfWldQQQ0BBggtLAY1cEEDArwASl6et9yIXv8GkaxnV3ckM/skxQmoZOc7P3HT6H7/BpOsZtdz8n/NyI27hqPR4+5RqBuOu6i8ZODb7ofSXmlgiao4kGF/C+wnKgs3vlJm+Smm7wodS9+0xQEYdg7MyJPpmb877D5250Hef94rp8hy9iY6uac5xxx3W979Q5/dLU9GTn8iv4oq9VAaIzCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL2CPw/MABRWDHUFSYAAAAASUVORK5CYII=";var img$5="data:image/png;base64,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";var img$4="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAAB9ICHSAAAkGElEQVR4Ae2dB5gURdrH3xk2wQaYXWAJkiSIRAFRFwQ59MzpE89TP04Q8c5DUMBD8EDFMwCCoiCKnwnTnYfo6amIeHKAKChIkJwzLHFhSRtnvqqa7d7u2Z6Znpnume7efz3PTFcOv3r77arq6m4iGBAAARCwNgGX3uodO1XcvrTMt05vfK14DTxpuspzayXW8ou1Qlp5BvPTXalgGZjhnxRNpsu2n40o2WUta0UU35KkdAkeb2Z+QZEvouZqRDZc0DXKMM3LUJmKVHaCtQrdF4xMoL+usy8r79G5gQmjcWfljfLl9H70wnBpdXVfowGLYj7zlBU58O4VIcvVRUqZYTzsEVcqqUZlI0fe2kzUce/bvahRdqqwvzu8PY26ze+vtEfSmIhVwu63eon8n5m9gx5hleK/xgMXy2UOeGm9bE9JdtPkT3fT/lm9VXHkCEEsEZOS8hl3x/n09Ec7JKfq6KqEqfLX69CVXEvQm9dPo12Hi0Q5nAQ3SmINPSm0YuplVfy5RzhBj7pSorQo/8JVKurui7I+upLpIsVzqvajBN3dp3cspKt/EAkEQAAEQAAEQAAEnEMAI0+9fal75Kk3QyPiRTxDjnQRNiXJRV2b1YyorqaTKimLfMEGgq63Dw2VKSzE6sVuVDxdZx9fQDWiQL35hD37tNamYq2gLZeCdHWfRIYvrHIjHd9+2O+WVvK4vxR2U/e6sl1Kr/cYVff16eihhWsLVGVIFeNLjNw+cc5Omv7lXlUcyWFK9/EKvXhfG6kMw48RdR8vXSLy+14NRGV+fuGSoEvSPO6Ee1pFXOmoui/iUgISmNJ9AWVE5HS73DPCJQhLSsoAC7ESCRxBAARAAARAAARAAARAAARAwB4EdE/4ImmOEZvWIylPGddFrtO5ntRMpZ8RdsNBGTGDNqJhRm8UingFyIhG2DEPgNLZaxHfkNGZrypapDcGVYl1Ooy6GRSsOOioYGQC/HHqBQAJ5rTkqRfNPflgDTTK35ISFc0+AaOABMsHOioYmQB/S0pUQB2jchr1EJRUuCESZcb9d6mCRh3D3VEMV45jJSpcwyMNByidxEwFNeXe1rRlZk9RFf5UnbRTgHtIdk96krBLz49x/wXPdhNppDjc0aRumpxm2I1N6B+jOoo4fFMIjyelF54m/JkK6i/vbKX0tBqi2stfvFQ8v6ZsPA9YN6OH8PdVbHviG1AuaJwuN5XH579lUy6ho4Ulsr9k+WL5UZF+3zv+Z+Qkf6OPpg84W/1xiWjolH/tkuvOGy499Lft4FnawGC1e/BHEX7DxXXleNwixeP2QMjcj5tt/9eT3pq/3+8w6R9XPZ1gTT31dNbBFtEMkShlS7HCqaRRDe2Gn3p8cb8ackSTQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMBMAobfKeaVzS8oZi+n9rUzs+LB8na73S/Vr50yIlh4tP6Gg7LCLXWXy+XNrZPq328ULZmAdIbfKQ7IPyFOn89neLsMzzAhZOJQKEDphAxQAKWTgM5opu/hPHHWS5sO+j/aoLNOEUcz+1k9XiHTTz2zIUVMNcoEpoOKsl6WS+bIASenjKfUEyRrOPV0ggconaAsOTyIx+VeJx85mukSheGBzLp6WDA80NnPpp96Outh+WgApbOLDAWVk/dYW53l2i6aYcMD/m7+UiqzDADpWwGFSycboodjzqQ6vPOA976hp55lxMmEigCUTqgABVA6CeiMZqpESZ9A4XXh9qs6Z8vVUobx71jzdxp8PLqTHC6l4fH4r2vLyldrSn6vDbmQ+Js44mFMLeWqi3LkNnA7/0kvfJDCOKANe08L/4taZApgyjiSfevrPam41Esdhi6V8+GQVk/LI/7xcCmeXKDBFlMlitfVrTEAmfFAW/pp80m5Kb99fKWwr955ij5bdpjm/62rHCZZWv/pB/JkJEtOcSw4U0bN7vte5WeWw1RQg6atp7Wv5FGHpun0zn8qXwly62X16bYJa8Qn4pdsUH8k6MGZm6h90wy5vVzipF8wqfllWyHd2dv/CR05ocEWU0F9s/IY1UlPpm/+1o3GfbCdbnhqFY39XQu5CfzDRZe388hubrm4VZbKzeHwH9t4QQOvbKQKkxzdWJqPl+RLTlOOpoIKrDE/tYbc0ET2Xr61ULZLls/HXaSpb86793t69g+tpGjyMZnpJ27KvbKXKRZTlTmv8Z4j56hpPfXnGy8f/bPcGC4t/NSSzO0T10jWkEdlmmCnZMgMIgzUULWR5YC5XmS8HB/bCB1VLd7FEjMo9trGyiGzg+UqZh0VyMYKm115nbD3ILBn4uSO+dSLUz0TXgxA6ewCgKrOoNgVKuwXUHXyQTQQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAHHEDD82VgzyOSfKPqOfNTXjLztlCf7uE0q+8hNiZXrbHmBSuTnnKzYcUY/RG50G23wZGxivg1mNOjqkp8NBKq6dIUz2gmBckY/WqYVECjLdIUzKgKBckY/WqYVpr8fMR4tXbb9bDyKMb0MK34iKNJGQ0NFSgzxQxJwhEClJFl+OS1kJzgp0BGXvK7N1K8cdlIH2a0tjtBQdoPu5PpCoJzcuwloGwQqAdCdXKQjxlDxWjZwwrTebGGGhjKbcDXL3xEChWUD60itIy55WDawjkA5QkNZBydqAoGCDBhKwJKXvD59xietKj5zyEdU+Y1ZQ5tt38ykD8CTy/1Q4Y+TplutJZa5CZbVY/Qw8nmnBQLaMvfpQK9q7W5z/eNV2s868XiX1PTchQvHl1UJjLOHJQTKDl++jHO/RFUc+4xhwvsTY6ioug6JghGAQAUjA/+oCECgosKGRMEIQKCCkYF/VAQsuWygpyX7Z/UW0SbO2UnTv9yrSiKFHTpRTF2H/6QZNvnTXfTSv/eIsI7NM2je+K6qeErHzkPn6PLRy5VeJJWh8gxwNB64WPYZdmMTGnN7C9mtZeny8DI6fNLST5prVVvlZ1uBuuCBH2jzzJ6ik5QC9fL9F4gGHj9dSuxdAORi8x4fW9DipmWDyp2dkjDte6cXi+OiDxYepNGztvojBvxz4eG/TsOW0rFTpapQpdAoA6Q0geGL1xfQXZPXKqMK+0us3qtevoyOs/w7snLsamx7yTtdVE4HjhcL7n+6trHM//aeucLecai/U7YyoZPM4ondhfWqcb+I42159YUwlXt9QYWJR+z56M8i/q/T88Qx3N8z/VuKKHuOnAsXVQ4f/sZmYc/OTKb6tVNkf7tZbKuhOOjuI38SmuOJO1vS6/P20/sjOwj+7Yb8KI6L1xVQ7w4eqpnippysZOFXWualjfvOCHsDj7/jth4I/RjWrsNFIr7WX7BL33drjtM9U9dpJQnqt/dIETWpl0btmqbT4bX2vPTZWqB4z7y34ADd07cRDbyyEfXtlE0lTGBOnvUvGN81Za0QuC1MS7nd/jW/5oOXyB366tx9NPaO86nteemUVMNFZeUV10Y5ht+yYUYPYZnzw6GAEKLASxqP0L11Fn029iJRtlZ4lUyYR1qyWwgTD1u4tkArii38bC9Qj723TQjUs39oJYC3/tMPKvCf/3SYbrm0vvBbtO64Kow7eIdzLbP7rV4i7N8/H6HZ3+dT5xaZ1P83DamhJ1X480vSxxoCJQID/pZvLQzwqXS2blSLJg1sLTzaM03U5fwsOdDLLr1NBn0vu+1oSfhSPYdmpVsvfTt5hMY6crKU5q08SqfOldumX61w68X2Gsro3l7wawHxH0x0BGw7y4uuuUhlNgFLCBRbB3rJ7IYi//gQsIRAsUHxCE+LunwV0hufZjurFLfLPcMK4ydO1RKD8lDdm19QpD2XD5XIwWF4aauDOxdNq0rAEpe8qtWCj10JQKDs2nMWrbflBcrtdmMGaFHh0aqW5QflvNI+ny+F7RM6x46WPwG0IBvhxzpqRq4nbagReSEPEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABBxGwxdeoOG/2NaqpPq9vsI98GQ7ir6Mprg3JSXRHTmbqeh2REx7F8gLFP2126ERxccJJJboCLlrQoE7alYmuRrjyLS9QTJjKq/N38pQdmJzk6mB1TWX5DxpCmCpFqrSMZle6rGmzvEBZE1uiauVrl6iS9ZYLgdJLCvF0EYBA6cKESHoJQKD0kkI8XQQgULowIZJeAhAovaQQTxcBCJQuTIiklwAESi8pxNNFAAKlCxMi6SUAgdJLCvF0EUjSFcvikVbuPkclZT6L1zJ09do2TKM6tex/ftu/Bayf7C5MXNQ2HSwKLXE2CXWEQNmEdbWoJgSqWnRz/BoJgYof62pREgTKIt2ckmT5vY66SFm+FfkFRfaevunqBv2RGnjSLN1n0FD6+xIxdRCAQOmAhCj6CUCg9LNC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YnmBYkv5uM9X0YP1a6dY4n6drQUq15M2tLoLFdtJ4M2tk2qZ+3WhBAphIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIGB3Ai67N8Aq9ff5fCmHTxS/SC7Xn5ndbZV6oR7xI+Byubzk871Wv07qSGYviV/Jzi0JCsqAvj1UUPSKj+hBA7JCFg4hwE6sGbmetKEOaU7CmoErfYzoD58smQrlFCNEBybnMsFlw4FNi2uTMIKKEfehguJTPvJlxJgNkjuQgItcp3M9qZkObFrcmoQRVIyooZxiBOjg5JCN2DsXCip2hsgBBEDAJAJQUCaBRbYgAAKxE4CCip0hcgABEDCJABSUSWCRLQiAQOwEoKBiZ4gcQAAETCIABWUSWGQLAiAQOwEoqNgZIgcQAAGTCEBBmQQW2YIACMROAAoqdobIAQRAwCQCSSbli2wjJLBy9zkqKWNPcMEknEBKkou6NquZ8HqgAkQYQVlECqCcLNIRrBroC+v0BRSUdfoCNQEBEAggAAUVAAROEAAB6xCAgrJOX6AmIAACAQSgoAKAJMrZtmEa8cVZmMQS4H3A+wLGGgRwRsTYD/kFRbj1FiNDJydv4EnDORZDB2MEFQM8JAUBEDCXABSUuXyROwiAQAwEoKBigIekIAAC5hKAgjKXL3IHARCIgQAUVAzwkBQEQMBcAlBQ5vJF7iAAAjEQgIKKAR6SggAImEsAbzMwl6/u3J30NgO8DUB3tyNiGAIYQYUBFK9gJz1B76S2xKv/UY42ASgobS7wBQEQsAABKCgLdAKqAAIgoE0ACkqbC3xBAAQsQAAKygKdwKvglLcZ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";var img$3="data:image/png;base64,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";var img$2="data:image/png;base64,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lirylyoaDLtdbPF7tZLXmjjWyRfTX1aa8ws5+VGZ0bd+ttb1yr5raPMXP2GL7/ztTSPbxDFfo5VzdlB14eVyEfYmJYA3R5wzHN7qYlIPtqjYeKvLiGFxBGVRB4daIGAFAghQVrAidAABixJAgLKoYaEWCFiBAAKUFawIHUDAogQQoCxqWKgFAlYggAB1zorseUU9VjAodDA/AfjiqA0RoBQWYvD7O5R2SIBArAnAF2XCuA5KJsH26+suWcIeL/k2u1cVXDy4IBkfAuyhoyI5hWUrZ+3Q9sCs+IiV0FnwQVTB/8rn87PP9rp/SiTwxwNMYHfXZ6k0QxEI6CLAT+VEonoWl17NzHD825VTt4d+1o2uGc3XGQFKp83azzQxH8MGAuoECnLL8BlTR6OpFGtQmjChEQiAQCIIIEAlgjrmBAEQ0EQAAUoTJjQCARBIBAEEqERQx5wgAAKaCCBAacKERiAAAokggACVCOqYEwRAQBMBBChNmNAIBEAgEQQQoHRTxz18uhFadgD4hl7TIkDpJMiuwsM9fDoZWrU7fEO/ZXGVq36G1NndsoTdDsPu4RPBMwo8zT4Eu4VFZH/L8rJLcE+dTmPiA6UToGd3UWzN7uwa+ikJ4pUsVk0gwj18nnysmxZ62P109ezezVfzcpL+TRCKcE+ddY0NzUAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABCIm8P8B73KF2/EETJgAAAAASUVORK5CYII=";var img$1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAAB9ICHSAAAbUElEQVR4Ae3deYxUxb7A8RoYBhC4LANcBX2A7KIgLiAkCGgiWyKiiJiIcblE7mOG4BXC8Nfj/TUTo6gwPDDcMRo1IEIiMchiXFADjAuiPpAJgsMiehkGEUbgscy8qnM5TXfTPXNOn6XrVH876ZnTp6vqVH3q19WnzyoEDwQQQEBvgTyn1autrR3U0NDwv07Tp0rXuXNnR8trlipzqnleK5SqzHTzHFcqXQFBzM/PpNDdu3e7yjZo0CBX6bWUchR4qpnHjx9vcNXcFIl9D/QUywhslq8x5TZ20rWK7ksnkzzf0aevuLj4g+SMmbwuKipqmDt37sCm8jqKqW7duk1YuXJlU2U1+X737t1Vmj3y2WjYOJJqcmk+J3AklbzMqVOnCvkFLT755JPYWwMGDBB79+4VTz/9tNi2bZuI/ySuXbs2ls7JREZS+fn5VoXuuOOO2DI6duxoTVdUVIgff/xRqIr06dPH+h9L5HAi40qp8r/++uuUi5k8eXLK+U5nZtR9Fy9ejJVfUlJiTW/dutX6b79ev359LI3biUY/BXZhpaWlnr/37LLU/4ULFza63Iy6L34BQUw3WuP4Beb8WoLj7nO6LhSvyzQCCCCAAAIIIJADAqx5Ou1kx2ueTgv0I53r331uN8KqX9P9+/d3VdfApeJ/uDqtGYHuVMrXmIrf/OO0AqnS0X2pVFLNc/TpUxtQU2V2O89pOU12n9+bgVRDIrkpyFH3xXeT2uCqNsSqh/1fTY8aNUr9E/aWPPWeet52223WfDd/XA8JaoOr2sj6xBNPiGuvvTa2LLWNXFWorKzMmqfSdOnSRdTU1MTSOJ1wLaUK7tChg3j99devWoZdIVvrqgQOZ7iWUuWePHkyVrxdgerqajFy5Ehx9913x7RiiVxO8OlTYHl5ecuagmtSyi6ADbG2BP8RQAABBBBAAAEEEEAAgWgIOP7B56Y5fhy07mZ5SWnr5LEv7ZLmeX7pO5Qfv6A9t0oW4PeBQhltlvKjIVErAyiHPZbRNkWHZceSud0xGMvoYsKvnUHpFskYlU4maT4fvSSQdC+1/Ohlsk8+XQP9mq9lRGVynIBfIOnKYYxKJ5M0X8uISqpjRi/9OgnKXrgvERXE/ne7gn79b2p/flPLMTaimmq42/eBcigWCtSIESPE9OnTrSq1bNkydkCHfaRAfF3j08a/v2DBAjFr1qxYUvWeOu4irEco61GqMe3btxfDhw8XXbt2ddy2l19+OYa6c+dOsWXLFsd5/U4YGtQff/whKisrrfq///77jtohT7lNOBZFRZF94IyjAnxMxLeeQ8xQxiiHddE6mS8RFd9CtnDGa+TgdBAfvbocdKTJCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCAQp4PueYlVZedLQbnljiZuCrHi6suWlMV4uLCx8Nt37mc73HUqHXeoSq15iNc8UJVW+IPYUp1pOqPNkNPveLt8LDFUkxIUB5RAbKKAcCjhMFvgxnHV1deLgwYMOq5NZsqDP1VO1CvyjFzRSZrTucwUO5b5KeuYwcoVTUXOWepYCjo+eQ3igHEJpuXoQxte9Q59YssAjitWDmHVuTLB64LCfA//oOayH9smActhFvkLJy84PcLjcyCXzbfXA6bX5wxKy61NeXu7LOOy5kFy45oHqXF8/emFFSzaWA5RDdaCAcijgMJlv33qNLS/+9ii7du0SP/30k5VczU++N3X8PHU3k2eeeUaoayYsX748lid5WcllJL/vx+tQPnr2vbFVg9T9YuxLiaj5yQ973pgxY8STTz5pXRBC3U7dzqPKUM/4MpPLCOJ1KFDxFV+zZk38y7TT119/fex+N+oKZdm6goZdwVA+emph6ros8uAJoSLFyeOtt94S8mJZsUjKGaiqqirLZ8eOHU6crDRLly6Npc3mdVlUJUL76KkbJ8XfPCkmkGZCwQwePDjh3YKCgoTXYb4I7aOXrlH2IK3ej/94qWn13sSJE62sFy5cEOfPn09XTODz+a3nkDi0j57D+mibzA+onLgWi2coedlG369Gr2NYeR6jkhulw8Guqk4ce5DcMyG99vzRC6meWV8MUA67AKgch2ryDqgOfUiGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALGCPh+bmwQMvJ8249kufcEUXaUypQ3t2kpr9OSvas9OMDSPqCyeTsnB36hJ/H7JHK/G6D9mbHZujeY39C5Up72AZUrHWFKOwkoU3pSk3YQUJp0hCnVIKBM6UlN2pH16yP64bB7924/isl6GTreIsgtCiOUWzHSNypgREDl5xsx0DbaUVF504ie6N+/f1S8ja+nESOU8b0UoQYSUBHqrChUlYCKQi9FqI5GrEOFtdnAhJ/1QccmI1TQwjlWvhEBxWYDfaLWiK88NhvoE1BGjFD6cFITAooY8FVAy6+8RYsW5ctDf/8lj9bs5GtrDSjMvgF8s2bN5ixZsuTK/So1aZs2ATVnzpzi+vr6JcpFnpSgCY++1VBWMrgsL3niwgl5AsNf5QfxYrZrrMVJCqWlpQ3ZhjBh+fI2hlnvT9ahTIgkjdpAQGnUGSZUhYAyoRc1agMBpVFnmFAVbX7lecUcMWKEGD16dKPFrFu3Tuzbt89KU1JSYv0vKytrNI9dbnV1tVi9enUs7ezZs0W7dulv5W2Xay8nljHNxK5du8SmTZvSvBud2cYElE2e3PH2/AULFoiHHnpIvPHGG+LXX3+1Z2f0f/78+aJ58+Zi5cqVQm4vSyhD/oQXalkqkFRQ2YFlJ7IDrKKiQtTU1NizjflvXECl6xnV0epx+vTpdEkcz1+2bJmQ283EzJkzrTxqdNm8ebOQG2KtZ3IQOS7YgITGBVTPnj2t0SG5b86ePSvKy8vFpUuXkt9y/frMmTMJI0/v3r2F3Mgo2rRpEyvrvffeE3v37o29zpUJ4wIq3Veenx1qf23ZI9H+/fvF0qVX9oKo9x944AGxZs0aceDAAT8XrX1ZxgWUW/Hx48enzZJuJVmtnE+fPt0aCY8dOyYqKyvFqVOnRLdu3cTYsWNj5eVaMKmGZ31TvapElHe9/OUvf7ECSf3iO3LkiOcVfuWR6UOHXS85P0Jl2nl2PjUyqSePfwuwYZNI8FVAi4CSP+lf9rVVFJY1AS3WoVTr5S+iAvlr6ayc1CLIs9YjGSxYfiCXyV+WRRlk9T2LNgGVrmXyYDuOlYrD4aKtcRhMmi/A14v5fRxqCwmoULnNX5j2AcUvwGgFofYr5YpT7sUvOHHixFn5X/sPQIDdv0yukGvxSy7ANlI0AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCLgViMTdqFSjamtrX5J3o/qbnGzrtpFRTi9v77ZH1n9aYWHh7ii0Q/uAUrc2k8H0f1HADLiOH8vbm90b8DI8F699QMlgupTj98mLdbIcrW7WfaTS/oaGBFMsntTEmoRXGr7QPqA0NMtaleSH66asLdzhggkoh1AkcyZAQDlzIpVDAQLKIRTJnAkQUM6cSOVQgIByCEUyZwIElDMnUjkUIKAcQpHMmQAB5cyJVA4FCCiHUCRzJpDvLJneqaqqqsTFixf1rmQTtevRo4do2zb6B1IYMUJFPZhUrB08eLCJkIvG20YEVDSoc6OWBFRu9HNorSSgQqPOjQURUJr0c36+Eb+PhPZHbB4/frxBkz7XohryMGCt+4wRSoswMacSBJQ5falFSwgoLbrBnEoQUOb0pRYtIaC06AZzKkFAmdOXWrSEgNKiG8yphBFb08I42sCUowGCDl0jRqgwjjYw5WgAAipoAcr3VcCIEcpXEQrzJEBAeeIjc7IAAZUskua1KUcDpGmeb7O13nOtWsnRBol9zdEGiR68MlyArzzDOzjs5hFQYYsbvjwCyvAODrt5BFTY4oYvT+uAKi4u/sBwf9fNKyoqGuA6U4gZtNw5PGfOnOL6+vol8iKlIVJEZlE/yg/aCXl56b8uWrRIu/PvtRqh5s6dO1B+AhtUMEWme7NQUflB6yS3z13QcQTXYoSSn7R8eYH7f8mjBjploX8iu0gZWBPUB7BZs2ZzlixZslSHhmixpby0tJTvNh+iYeHChVnvT62+8nwwpYgsCxBQWe4A0xZPQJnWo1luDwGV5Q4wbfEElGk9muX2EFBZ7gDTFk9AmdajWW4PAZXlDjBt8QSUaT2a5fZosevFD4OpU6deVcyFCxfE4cOHhTqz+M8//4y9P2DAAHHzzTeLo0ePim3btsXmp5qwy127du1Vb48bN04MGjRIFBQUiEuXLlnLeuedd4S9U7tfv35i8ODBV+VLNSNV+anS6T7PmIDq06dPSuuBAweK++67z7ow/gsvvGCl6dixo1Dp7Y5PmfHyzFTldujQQcyaNSshW/PmzUXPnj3FggULxIYNG8QPP/wg7OUkJDT8hTEBZfdTWVmZPWn9V508ffp0oU6DeuSRR4QaQbw+7GB69913xf79+2PF3XXXXWLMmDFi0qRJVkBVVlYK9bQfqg7z5s2zXibX004T9f/Gr0NVV1eLxYsXW/3Uq1cvz/2lRiL7ER9Mat6OHTtEXV2d9fbQoUPtZDn137gRKlXvnT9/PtXsjOapdSX70apVK3Hu3Dn7pfW/vLw84XWuvciJgOrbt6+v/VpTUyO6dOki5AGB4uzZs2L9+vVCjYQ8hDAuoIYPHx7r19atW1sr3/JsW2veunXrYu95maioqBCjR48WI0aMEGoZah1NPVRwrVq1Shw7dsxL8ZHOa1xAjR07NmWHfPrpp2Lfvn0p38tk5tatW4V6qnUq9StyyJAhVnA99dRTQm2uePHFFzMpNvJ5jAuoFStWxDpFrTudOXMm9jqICbVOtXHjRuvZokUL8dxzzwn1f8aMGeLNN98MYpFal2ncr7yTJ08K+xlEME2ZMkWUlJSIVCOhGpmWL19udXj37t217vigKmdcQAUFZZe7fft2azJ+Xc1+T/1v166d9dLJRtP4fKZMG/eV56ZjunbtKsaPH58yy6FDh8SePXuueu+3334T8jQvIc80sUYqtR6lduGolfNhw4aJbt26WXk++CA3z1HN6YBq3769uPXWW68KGjVDjTCpAkq99/zzz1tbvNWWb/VrL/nx5ZdfWlvKk+fnwus8HRoZ1dOo8vLyrBFJjUqnT58WR44ciW0pz4arDqdR5fQI5bXT1Sj2yy+/WE+vZZmSn5VyU3pSk3YQUJp0hCnVIKBM6UlN2kFAadIRPlTj38fN+FCQlyIIKC96GuWVvzj/qUN1tAgoibFMB4wo10HuDnpWh/prEVASo4igyjgc6nv37t0y49w+Z9Riw2ZjbeJOCok63Ekh0YNXhgto8ZVnuHFONY+AyqnuDr6xBFTwxjm1BAIqp7o7+MYSUMEb59QSCKic6u7gG0tABW/s5xK02F/XWIMIqMZ0NHtPl/11jbFEIaDYz3e5B+UNg7TYXxfpgJK7GopkA3I6qOTIVC+DSZv9dY0FFO8hgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEHWBvKg3QJf6NzQ0FNTW1i7Oy8v7u5xupku9qEd4ArLv62XfLy8sLPyHnD4f3pLNXRIDlA99e/z48XJZzGwfiqIIcwSWde7cucic5mSnJXzTe3SXa00vySIYnDw6Gph99uXYMLBp4TWJNSiP1nLt6bQsoq3HYshupkCdXItqZ2bTwmkVa1DenRmcvBuaWgKx4bFnGaA8ApIdAQSCE2CACs6WkhFAwKMAA5RHQLIjgEBwAgxQwdlSMgIIeBRggPIISHYEEAhOgAEqOFtKRgABjwIMUB4ByY4AAsEJMEAFZ0vJCCDgUYAByiMg2RFAIDiB/OCKpmQ3AlVVVeLixYtuspA2IIH8/HzRv3//gEqnWDcCrEG50QowLYNTgLgui6YvXIIFmJwBKkBcikYAAW8CDFDe/MiNAAIBCjBABYhL0Qgg4E2AAcqbn2+5e/ToIdTGWR7ZFVB9oPqChx4CXLDOYz/IC9Y1eCyC7AYLyAvW8Rnz0L+sQXnAIysCCAQrwAAVrC+lI4CABwEGKA94ZEUAgWAFGKCC9aV0BBDwIMAA5QGPrAggEKwAA1SwvpSOAAIeBBigPOCRFQEEghXgyMBgfR2XbtLVDLgagONuJ2ETAqxBNQEU1tsmnUFvUlvC6n+Wk1qAASq1C3MRQEADAQYoDTqBKiCAQGoBBqjULsxFAAENBBigNOgEVQVTrmbA1QA0CShDqsGZ1h47kqsZeAQ0PDtXM/DWwaxBefMjNwIIBCjAABUgLkUjgIA3AQYob37kRgCBAAUYoALEpWgEEPAmwADlzY/cCCAQoADn4rnEffbZZzvJUzn+S2b7z4aGBvxc+uVa8qKiooa8vDx1y+j/kYdg/PdLL710ItcMvLSXD5gDPRlkE2SyF+Vz4IULFxzkIAkCVwQuf5HNkbEzR8aSeuPHZs2a/WPJkiWbrqRiKpUAA1QKFbWWJINpkfzm+ztrSSmAmOVVYGB9ff1GNViptSsZY8tbtGixiLWrq1kZoC6bpFpLkoFztRhzEPBR4PIXYLH8Qiy2165k8c+Vl5dv9HExkS2KAepy13Xv3v2DTHpx5cqVmWQjT44IyLhy29KBMoOKRc7ykAjsxXMbPqRHAIHQBBigQqNmQQgg4FaAAcqtGOkRQCA0AQao0KhZEAIIuBVggHIrRnoEEAhNgAEqNGoWhAACbgUYoNyKkR4BBEITYIAKjZoFIYCAWwEGKLdipA9EoFWrVqJLly6ibdu2gZRPodEU4EhyzfptxIgRYvTo0RnVSt0w87vvvhPbt28XdXV1V5WRXPa+ffvEunXrrkrnZkZymdXV1WL16tVpi+jYsaMYM2aM6NevnzoPLW26+DdOnjwptm3bJr7//vv42WL48OFi7NixCfO8vti1a5fYtIlzeL06+pWfAcovyYDKUYPO2bNnU5au1jrkSaax99QdVW6//XbrqfJUVFSkHKhiGUKcaNOmjZgxY4bo0KFDwlLlTSfEwYMHxZkzZ4S6UsQ111wj2rVrJ2688UbRunVrK63KM3HiRDFu3DixatUqceTIEWv++fPnxenTpxPKi3+hBsDkNTK1nEuXLsUnS5g+d+5cwmteZFeAASq7/k0uXX0YG1sjiS9g0qRJ4pZbbrFmqQ/37NmzxeLFi60Pfny6bExPmTIlYXDavHmz+Pbbb5usSvwaWvPmzcVjjz0mXn31VfH7779b+RsrQw3Y8+bNS1iGGuBqamoS5vFCXwG2QenbN65rtmHDBqF+DtkPtQYxcKA69zS7DzVQXHfddQmVOHXqVMLrdC/Uz9UvvvjCWlNSa0vqOWzYsHTJmW+YAGtQhnWo+okU/3A6EMTn8Xta/UytrKwUI0eOjBX98MMPixMnTojPP/9cVFVVCXl9pNh7yRNqgFJPHrknwABlSJ/37NlT3H///aKgoCDWIrWhXG201uHx2Wefia+++ko8+uijomvXrlaVOnXqJCZPnpxQPbXtTG28V4PWzz//3OjAlZCRF0YKMEBp3q1q4CkpKXFdSx33RqnB57XXXrPaIi95K3r16iVuuukm0adPH9GyZUtrvtp2NnjwYOsZ32g10H744YeitrY2fjbThgswQEW8g9WeL/UzTj0PHTokvvnmG6H2bun+UD/p9u/fbz2T63rDDTdY287U4KX2VKqHGqhnzpxp7YF7++23xdGjR5Oz8dpAAQYozTtVrTk43Yuna1PUoQ/2QKPquHfv3kbXhA4fPizUc8uWLVaT7r33XnHnnXda02pP3uOPPy5WrFiRsEPAepM/xgmwF8+4LtWvQWpv4qhRo2LPBx980FUlP/roI5F8fFL79u1dlUHiaAowQEWz3yJVa/WzM/5g08LCQjF//nzRu3fvJtuhDk8oLi5OWAM7duyYdXBnk5lJEHkBfuJFvgszb0Dfvn0z2gCvDo5UB1o6fai747zyyitiyJAhYsIEdYtBIdRPNXWogduHOi5q69atbrORPqICDFAR7bgoVludJ6ieak/d0KFDrac6raWxhzo1Ra2B7dy5M2EtrLE8vGeOQJ45TfHWktLSUm6C542Q3D4KLFy4kM+m9GQblI9BRVEIIOCvAAOUv56UhgACPgowQPmISVEIIOCvAAOUv56UhgACPgowQF3B3HNlkikEsipALF7mZ4C6DCGPdp4mJ9Nf8yOr8crCc0ig/nIs5lCT0zeVXZlxNmvWrCk4cODARnlg4T1xs5lEIBQBOTB9LC91PGHatGn6n+0diogQDFBpoMvKygbJt/4mB6v75P//kE9uN5LGitkZCai7WhySg5I6I/qf8pI6uzMqxfBMDFAeO1he9J8DPD0ampy9c+fOfMY8dDDboDzgkRUBBIIVYIAK1pfSEUDAgwADlAc8siKAQLACDFDB+lI6Agh4EGCA8oBHVgQQCFaAASpYX0pHAAEPAgxQHvDIigACwQowQHn0lQfacd6UR0NTsxMb3nuWAcq74TQZiJzD593RqBIux4Q6v5OHBwGOcvWAZ2eVp8MUyDvebpSv77Hn8T+nBT6Wd66ZIAcpzqnzGAYMUB4Bk7PLgco6h0/Ov08OXJzDlwxk3us6ORAdks2yzqmTAxPn1JnXx7QIAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQMAXgf8H6bYKRebDeaYAAAAASUVORK5CYII=";var img="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASgAAAEoCAYAAAGcAFyPAAAABGdBTUEAALGPC/xhBQAAAERlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAAqACAAQAAAABAAABKKADAAQAAAABAAABKAAAAACUmJZGAAACBGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+Mjk2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI5NjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpfMtJzAAAc/klEQVR4Ae2debAVxbnAP+ACyh6uiQJhj1wWUxK0VBKMEZeEqFmqUqAxsYrCSgW8l4jPivDX4/0FSXwSERIrWpWtsBQI0Sz68syzTAXQpFySKERABESwYrggS9i59/XXYY7nXM4y58xy+vT8pure09PT/XX37/vmm56e7hkRNghAAAJuE+gWtnrt7e2TOjs7Xw+bvli6Cy64IFR53YtlLhYXtULFZJaKC12pUgKSiG+qReimTZuqyjZp0qSq0jtJKpThaTP37dvXWVVziySO3dCLlJFYVKw2Va3tlGoV6itFpmt8qLOvra3t6a4Za9lvbW3tvPvuuydUyhvKpoYOHTrjkUceqSSr4vFhw4Zpms3mr6zZhCJVsbSYE8RSqYULF+aqFYSD39yBKgKRKrVgwQJb1M9+9jP7e9ddd8nSpUttOPitoi65pDVXavz48bJs2TL59re/LXv37rUCV65cmRMcJVBzpd544w1b7ne/+90o5RfNW3OlikqLKdLJSpX1F/kNz3wvIbT6wvaF8ukShgAEIAABCEAAAhkgQM8zrJJD9zzDCowjXagBjvyCqh2EbWpqkpaWlnwRFcOJkzp9+nTFSnRNgKF3JVJqP1abYiC2FOak4kOdfTqAGkcFwsqpePYtWbIklgrlN2rRokVlyw1FKl9gGuGaK9V1oPXWW2+Nrb41VyoYfL333nttZYYPHy633367DX/lK1+JVMGq/VRQmg6+3nPPPXL//ffLlClTZPfu3fL444/bw2vXrg2S1fRbc6W0tAceeMAW+sorr4j+xbXVrL64KlBMTuqV6tatW8XB9rL+Ir8VDMTm0yAMAQhAAAIQgAAEIAABCEDAfQKhb/iqaUock9arKa9L2iNm7kv/LnGRd2MHFccddORWGQFxTxRKfVwjDgj1kAGokNQjjSmGLEOqfTAYVm5+urgeBuXLzA/jo/JplAlz6pWBk3/IyVOvlmfy+Y1KIuykRdUyTyAJOPky8VH5NMqEnbSoMvUNfSiuRVBBgbFYVBLP34MKxvVb6Xl+pXK8tahKDa/2eF1AXXvttefU81Of+lQuTuc33HffffLNb35TzKPcXHw9A3UBZdYrytVXX51r9+WXXy6jRo3K7e/cuVO+853vyMMPP2yBBQeuuuoq0a5DPba6lLpq1Srb1qlTp8qRI0fkpZdesn/FAAQrAtXK1q1bJ2PGjLHJtm7dWix5YnGpW9ScOXNyjXnhhRfktddey+3PmzfPhk+ePJmLCwIKTOEEf0F8Wr+xOACuemmpqwHKicWi8tvJCGc+jQyGk3DmRzLIkSZDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIEkCsT8p1sqaRUObzIclJiZZ8VKyzXyq7zc3N//7hdmlEtUQHzsoFx6pG1gdBlaPGniUzJLEk+KShaV1wFhz7O2KXWBaMNIuB1AhiQMKUCEJhEyW+GRXncy6a9eukNWpLVnSa/W0VomfeklDqg1t9bkSB1V9ldzM4WWHU1GzSr1OBsepFxI8oEKCcrJ7kMblPiSfXLLELYruQY51NgJ0D0LqOfFTL2Q9nE8GqJAqihWUee38+JDlNlyy2LoHYd/NnxahoD4rVqyIxQ9HFpKF1Z+q3FhPvbSspR7lACokdUCFBBWbMw9ZXsVkc+fOlYEDB4q+GunFF1+U9evXF+SZNWuWPPHEEwVxaeykDuq8886TK6+8Uv7whz/k2qdvyNi8ebMcOnTIxgUvhRg0aJB0795dOjo6bHzPnj1l9OjRuXxpBlI/9a6//nr7lZT8Rk6bNk1uuOGG/Cgb7tGjhwUVHNCvrNRrSx3UJZdcYr/vHby0ZvLkyfYTMxdffHGOwfz58+0LbPRb4MHbyfRD5fq+lnptqZ96QUP19NuwYYO1pL/85S9BtP1dvnx5wf6wYcNk48aNMm7cOBuvULdt21aQJumduoHS7wLdcsst8r3vfa9iG/fs2SP6F2xpQ9JyUz/19M0+wTZy5MggKH/+859t+MSJE7m4YoHjx48Xi048jluYkIhTt6iQ9XIuGaBCqiQOUJl4F0tkUOa1jbG/jT6kklNNFtmZd62tC5NdtU7MPeiqmZT2I596KdWz7sUAKqQKAJVxUBW/gBqSD8kgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAFvCMS+NjYJMma97f8ZudOTkN1IMs3HbXqbj9ycdLnOzhtUPT/n5KLi4l5EHncbnV8ZW69vg8UNOivynDeorCjCl3ZiUL5o0pF2YFCOKMKXamBQvmjSkXbU7Y2bcbZ/06ZNcYqrmywXPxFULQw8VLXESF+WgBcG1dTkhaMtq6hGOeiFJlpaWhqFt/f19MJDea+lBmogBtVAymqEqmJQjaClBqqjF32otIYNfLitT9o28VBJE86YfC8MimEDd6zWi0sewwbuGJQXHsodnNQEg8IGYiXg5CVv8eLFTWbq7z/MbM3BsbbWA2HBB+DNp3Tnm+97PuRak5wxKPOV2DbzrWH7BVSzKME1Ts7VR1kZ47K8zMKF/WYBw4XmRDxd74o6sUhhyZIlnfUG4UP55jOGddcnfSgfLMmhNmBQDinDh6pgUClo0fRxUijFjSIyY1ALFy4MRbxYurlz58rs2bNl7Nix9m/ixInymc98Ru6991752te+VlbuxRdfLPfdd1/ZND4dzIRBqQGcOXNGihlLvjL1uLl7kk984hP50TZ87Ngx2b59u/3bvHmzPP/883L//ffLRz/6URk6dOg56TXiG9/4hjW8ogc9jXRm2CBJvtddd51s3LhRduzYYY1q6dKl5xSnxrR69WoZMmSIXHvttfLqq68WpOnTp48Ej3h69eolgwYNkqlTp8revXvtX37iAQMGyLx582TNmjXWACsZcn7eRg9nwqD69u1rDcoMlMrPf/7zc4xKFb527Vp56623rNFdffXV5+j16NGjsmXLloL4P/7xjwX7unPzzTfLuHHjpJjRnpPYwwjvDap3795WbWpMuu3Zs0dWrVqVMyrt36xbt07efPPNgnQDBw6UgwcP2riw/9ra2sSMYNvL67e+9a2CbLqvl90VK1YUxPu2471BXX/99XLgwIECve3evVsee+wxa1RPPfWUbN26teD4/v375YYbbrBeq+BAhZ2HHir+JEQ94IMPPlghtx+HnbifZaQ8HmNipDwejkhxiEAmhg0c4u19VTAo71WcbgOdMCjzaOL76Tab0pIi4ESnXBtnBhV7mZHoYybohJEnBTwJueaEXGnuJFuTkF2tTGcMqlTFzWQ75krlweGlrXkwCPpPgMuL/zpOtYUYVKq4/S/MeYPiDrCxjND5TrniNA92e5nna8fMr/MnQILqX2k65E7cySXYRkRDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFAtgYb4GpU2qr29fZn5GtWdJtiv2kY2cnrzebfNpv4zm5ubNzVCO5w3KP20mTGmE40AM+E6Pmc+b3ZdwmVEFu+8QRljOpPx7+TllGy81SWueyrnP2iIMeXsSQOrC/Yc3HHeoBxkVrcqmZNrYt0KD1kwBhUSFMnCEcCgwnEiVUgCGFRIUCQLRwCDCseJVCEJYFAhQZEsHAEMKhwnUoUkgEGFBEWycAQwqHCcSBWSAAYVEhTJwhFoCpfM7VRbtmyR06dPu13JCrUbOXKk9OvX+BMpvPBQjW5Mamu7du2qYHKNcdgLg2oM1NmoJQaVDT2n1koMKjXU2SgIg3JEz01NXtwfifMzNvft29fpiM6dqIaZBuy0zvBQTpiJP5XAoPzRpRMtwaCcUIM/lcCg/NGlEy3BoJxQgz+VwKD80aUTLcGgnFCDP5XwYjQtjdkGvswGSNp0vfBQacw28GU2AAaVNAHkx0rACw8VKxGERSKAQUXCR+auBDCorkRK7PsyG6BE82KLdvrJtbaS2QaFuma2QSEP9jwnwCXPcwWn3TwMKm3inpeHQXmu4LSbh0GlTdzz8pw2qLa2tqc9519181pbW8dXnSnFDE4+HJ4/f35bR0fHcvOS0hRRNExRfzcn2n7zeukLFy9e7Nz6e6c81N133z3BnIGdakwNo946VNScaIPN+NwpFz24Ex7KnGlN5gX3/zCzBgbXQT8NW6QxrBl6Anbv3n3+8uXLH3KhIU6MlC9ZsoRrWwzWsGjRorrr06lLXgxMEVFnAhhUnRXgW/EYlG8arXN7MKg6K8C34jEo3zRa5/ZgUHVWgG/FY1ApaHTYsGEplOJGEU4MbCaNYtq0abJ+/fpQxUyfPl2ee+65grQLFy7M7Z85c0ZOnTol7733nmzYsKHiy1b1zb433XST/OhHP8rJ8DmQCYMaM2aM6Jzw559/vqwup06dKpq2q0FppjVr1ti85jOt0r9/fxk3bpzcdttt8uijj+o05ZJy58yZI8eOHSt53LcDmbjkDRkyRK666qqKurvmmmvEzNkumm779u2if2+++aa8+uqr8sQTT8j+/ftl5syZRdNr5Oc+9zk5//zzSx738UAmDEq9yvHjx+XTn/50SR1eccUV9lJWMkGRA2+88YYMGDCgyBGRiy66SCZPnizmGWXR475GZsKgVHnqUT75yU+W1KP2ndatW1fyeLEDkyZNkqNHj55zSA34jjvusJ7s0KFD5xz3OSITfShV4LvvvisnTpyQYh30KVOm2E977Nixw+q6R48eop3v/K2lpcXumif79jI2YcIEGThwYNHOtvat1NB+97vfyaxZs/LFeB/23qD00hNsq1evlq9//evn3PHdeOONuU63ph0+fLjs3LkzyGZ/P/vZz4pO+FND08vngQMH5Kc//antR+UnVEMbMWKEPPjgg/nRmQl7b1Bjx461BqAa3bNnj/VSeunbuHGjVfKll15qjUQ73LqpsWiergZl5hvZ4+X+9e7dW774xS9az5SlO7t8Jt73oUaPHl0wVqS3//mdc70Te/LJJ3NM9LU9OnRQyzZ79mx76fzXv/5lhxV0aKFPnz7Ss2dPu1+LzEbL472HGjp0qDz77LM5vbzzzjty8uRJO4xw+PBhMdONZdu2bbnj2o8K+ku5yBCByy67TNRD6aDnjBkzcjk0TjvpGrd169ZcvK8B7w1KO9FBZztQonqp22+/3faJ8r2THu+aNshT6ffll18W/eu6aae8VOe9a1of9r2/5KmS3n///QJd7d6923oS7WTr6xTzt4MHD+bvEq6SgPceSjvZxba1a9dK3759ix2yHXP1bHo51K2UjKKZu0Tq5VWHK7Ky1X1Su4JmkUI85sYihXg4IsUhApnoQznE2/uqYFDeqzjdBmJQ6fL2vjQMynsVp9tADCpd3t6XhkH5o+IjLjQFg3JBCzHUwTwvfDQGMZFFOGFQBsbKyC3JuACzMmeBCwicMCgDoxWjqtkcOsz8rd415445oxOPXsq1iS8pFNLhSwqFPNjznIATlzzPGWeqeRhUptSdfGMxqOQZZ6oEDCpT6k6+sRhU8owzVQIGlSl1J99YDCp5xnGW4MTzunINwqDK0XHsmCvP68phaQSD4jnfWQ2aDwY58byuoQ3KPGpoNQ3ItFEZz9RhjMmZ53XlDIpjEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBRifQrdEb4Er9Ozs7e7W3tz/QrVu3uSbc3ZV6UY/0CBjddxjd/7C5ufkeEz6ZXsn+loSDikG3+/btW2HE3BWDKET4Q2DlBRdc0OpPc+rTEq70EbmbXtMyIwLnFJGjh9nvOmsbHjYtvSbRg4rI2vSeDhsR/SKKIbufBI6YXlR/P5uWTqvoQUXnjHOKztBXCdhGRM3ioCICJDsEIJAcARxUcmyRDAEIRCSAg4oIkOwQgEByBHBQybFFMgQgEJEADioiQLJDAALJEcBBJccWyRCAQEQCOKiIAMkOAQgkRwAHlRxbJEMAAhEJ4KAiAiQ7BCCQHIGm5EQjuRoCW7ZskdOnT1eThbQJEWhqapKWlpaEpCO2GgL0oKqhlWBanFOCcKsUjS6qBJZgchxUgnARDQEIRCOAg4rGj9wQgECCBHBQCcJFNAQgEI0ADioav9hyjxw5UnRwlq2+BFQHqgs2NwjwwrqIejAvrOuMKILsHhMwL6zjHIugX3pQEeCRFQIQSJYADipZvkiHAAQiEMBBRYBHVghAIFkCOKhk+SIdAhCIQAAHFQEeWSEAgWQJ4KCS5Yt0CEAgAgEcVAR4ZIUABJIlwMzAZPmGlu7T2wx4G0BotZOwAgF6UBUApXXYpxX0PrUlLf1TTnECOKjiXIiFAAQcIICDckAJVAECEChOAAdVnAuxEICAAwRwUA4oQavgy9sMeBuAIwblSTVYaR1RkbzNICJAz7PzNoNoCqYHFY0fuSEAgQQJ4KAShItoCEAgGgEcVDR+5IYABBIkgINKEC6iIQCBaARwUNH4kRsCEEiQAGvxqoS7YMGCwWYpx3+abPM6OzvhVyW/rCVvbW3t7Natm34y+gdmCsZ/LVu2bH/WGERpLydYCHrGyGaYZP9t/iacOnUqRA6SQOADAmcvZPON7cw3tqQH/t69e/d7li9f/j8fpCJUjAAOqggV7SUZY1psrnxz6SUVAURUVAITOjo6nlFnpb0rY2M/7Nmz52J6V+dixUGdZVKsl2QM51xixEAgRgJnL4Bt5oLYFvSujPj/WLFixTMxFtOwonBQZ1U3bNiwp2vR4iOPPFJLNvJkhICxq2pbOsFkUFtklYeBwFO8as2H9BCAQGoEcFCpoaYgCECgWgI4qGqJkR4CEEiNAA4qNdQUBAEIVEsAB1UtMdJDAAKpEcBBpYaagiAAgWoJMM2gWmIOpx8yZIicOHFC9u+PbzXFwIEDpV+/frJnz56yLZ8yZYqcd955BWl0HlnwZyYmypkzZ2z9Dh8+LO+++67EOSt/+PDhonV46qmnCurATmMTwEE1tv4Kan/55ZfLiBEj5LHHHpMDBw4UHKtlZ8CAAXLbbbfJP//5T/nFL35RVsSVV14p6szUQba3txekNbOlpVevXmJmS0vfvn2lR48e1lnt3btXNm7cKDt27ChIX82OWTIi06ZNk6lTp8bS5mrKJm3yBHBQyTNOpQR1AqNHj5Y+ffrIV7/6VVm1apW8//77NZfdv39/65wGDRpkZQZOpZJA7Rk9/vjjJZOpQ7noootk8uTJ8vGPf1xmzZolL730kvz+978vmafUgcGDB8stt9wi2nNk85MAY1Ce6FVPenVOuqlzUSelzqWWTW/ptOf0oQ99yGbX3o/eQsWx6a2e9pyefvpp+dvf/mZFXnbZZaK9tWq2Sy+9VGbPnm2dk946svlJAAfliV7HjBljW3Lo0CHZtGmTPeFrcVJ6C6bOSXsn27dvFx0v0i2Qb3di+qdfgNFNe3/aQwuznX/++fLlL39ZZsyYIersfvvb38rbb78dJitpGpAADqoBlVasyoED2bVrl/zmN7+RzZs3WyelzkbHhsJsgXNqbm6Wt956S9atWyc7d+60WQP5YeSUS6PjUPqJrZtvvlkmTZpkk+otXpgxs1GjRsmcOXOkpaXFDtr/+Mc/ltdee61ccRxrcAKMQTW4ArX6+vRs6NChtiU64KxPzn7961/b/YkTJ+bGpLR3VWrT28Nbb71VzGeS7KC1DorrrZM6KB0r0ni9DSsnQ2VrPe68886CYnTcSR2T3irqn/aYTp48aZ3gyy+/bHtqBRm67Gjv6pprrpErrrjC9prWr18vGzZssO3skpRdzwjgoDxQqA6O60mvjino8QROSuMnTJhgnZQ+3SvmYPS2SZ3Thz/8YZs/cE6KJnB4KudjH/uYvPLKK2WJHTlyJNer0Vuw4C+YYnD8+HF72xh2KoQ6xi984QvykY98xE6f0N6hjmGxZYMADsoDPY8dO9a24r333pOjR4/mWqRO6le/+pV1XuPHjy/qpLT3pc5JHYDeHq5du1bMK41zMlSeyr3wwgvtOFQlB6UO8E9/+lMuf5SAzmuaPn266FiVDqg/++yzsc6dilI38qZDAAeVDudESxllxmZ0C3pPdufsP3VSOnlRe0A6dqNjUtqT0sHvwDmp89GB5jVr1hQ4p0COytU0Oscq7HSDIG8tvzoW9vnPf14Cx6sTOnUqwR133FFUXDDGpr86RqWb9th+8pOf2DD/GpcADqpxdWdrro5DpwXoVmrCY+CkvvSlL8m4ceNsT0p7SjfddJOdk7R79+6SzimQqxMxdfxInVSpcmwlYvinA/LqMMM+ndMpB/rUUSeJvv7667YG2ma2xieAg2pwHQa9DL0te+edd0q2RseCnnzySQmclA5ka69K86xevbrsrZM6MO3F6EC3Oo+kHVS1T+a0B6kOSse34rq9LAmSA6kSYJpBqrjjL0wHyHVTR5M/dlSspMBJbdu2zTonXV9XyTmpHL1dUielW1zTDaww/kGgAgF6UBUAuX5YnY1OqAz7ZEud1C9/+Uu7sFYHnvVxf5jthRdeyN1y6bQBlZO/vfjii9K7d285ePBgfnQq4b/+9a92gP/YsWOplEch6RHoll5Rbpe0ZMkSBi3cVlGmardo0SLOTaNxbvEyZfY0FgKNRQAH1Vj6orYQyBQBHFSm1E1jIdBYBHBQjaUvaguBTBHAQWVK3TQWAo1FAAfVWPqithDIFAEc1Afq3vxBkBAE6koAWzyLHwd1FoRZ9jHTBAtnH9bVRik8owQ6ztpiRptf2Gwmg+XxMMs+epk3ST5jFppOz4smCIFUCBjH9JxZSjRj5syZ4ab3p1Kr+haCgyrBf+nSpfo+2juNs7rR/I4wf/9+ZUCJ9ERDoEoCR0z6t41T+l/z++jChQs3VZk/E8lxUBHVvG/fPpbIRGToc3bzRlDOsQgKZgwqAjyyQgACyRLAQSXLF+kQgEAEAjioCPDICgEIJEsAB5UsX6RDAAIRCOCgIsAjKwQgkCwBHFSyfJEOAQhEIICDigCPrBCAQLIEcFAR+ZqJdqybisjQ1+zYRnTN4qCiM5xpDJE1fNE5eiXhrE3o+k62CASY5RoBXpDVLIfp1d7e/ozZnx7E8ZtpAs81NzfPME6KNXURzQAHFRFg1+zGUdk1fCb+RuO4WMPXFZB/+0eMI3rbNMuuqTOOiTV1/umYFkEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQjEQuD/ATXO9WvCP9ITAAAAAElFTkSuQmCC";var zh={"0":"请输入内容","1":"取消全部筛选","2":"序号","3":"操作","4":"可添加列表项","5":"列表配置","6":"已选列表项","7":"排序","8":"固定在左边","9":"取消","10":"确定","11":"重置","12":"请选择","13":"开始日期","14":"结束日期","15":"至","16":'列表项名',"17":'最近一周',"18":'最近一个月',"19":'最近三个月',"20":'点击上传',"21":'请选择要上传的附件,最多',"22":'个',"23":'单个附件最大'};var en={"0":"Please enter the content.","1":"Cancl all check","2":"Serial No.","3":"Operate","4":"Can add list items","5":"List Configuration","6":"Selected list items","7":"sort","8":"Fixed on the left side","9":"Cancel","10":"Confirm","11":"Reset","12":"Please select","13":"Start Date","14":"End Date","15":"to","16":'List Item Name',"17":'Last week',"18":'Last month',"19":'Last three months',"20":'Click to upload',"21":'Please select the attachment to upload, up to a maximum of',"22":'individual',"23":'Maximum for a single attachment'};var cht={"0":"請輸入內容","1":"取消全部篩選","2":"序號","3":"操作","4":"可添加列表項","5":"清單配寘","6":"已選列表項","7":"排序","8":"固定在左邊","9":"取消","10":"確定","11":"重置","12":"請選擇","13":"開始日期","14":"結束日期","15":"至","16":'清單項名',"17":'最近一周',"18":'最近一個月',"19":'最近三個月',"20":'點擊上傳',"21":'請選擇要上傳的附件,最多',"22":'個',"23":'單個附件最大'};var idMap={'请输入内容':0,'取消全部筛选':1,'序号':2,'操作':3,'可添加列表项':4,'列表配置':5,'已选列表项':6,'排序':7,'固定在左边':8,'取消':9,'确定':10,'重置':11,'请选择':12,'开始日期':13,'结束日期':14,'至':15,'列表项名':16,'最近一周':17,'最近一个月':18,'最近三个月':19,'点击上传':20,'请选择要上传的附件,最多':21,'个':22,'单个附件最大':23};var trans=str=>{let lan=localStorage.getItem('language')||'zh';let id=idMap[str];let obj={};switch(lan){case'zh':obj=zh;break;case'en':obj=en;break;case'cht':obj=cht;break;}let txt=obj[id]||str;return txt;};const getFileUrl=async file=>{try{const url=process.env.VUE_APP_BASE_API+"/huilianApi/waterNarkcs/addDocumentWaterMark";let headers={"Content-Type":"application/x-www-form-urlencoded"// 通常不需要手动设置,但为了完整性还是加上
|
|
535
|
+
};if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:url,headers:headers});}const formData=new FormData();formData.append("url",file);const res=await axios.post(url,formData,{headers});// console.log(res);
|
|
536
|
+
return{data:res.data.data,result:"success"};}catch(error){console.error("出错了:",error);return{result:"error"};}};//
|
|
535
537
|
var script$h={components:{draggable},props:{limit:{// 限制文件个数
|
|
536
538
|
default:1,type:Number},multiple:{// 上传多个文件
|
|
537
539
|
default:false,type:Boolean},formMaxSize:{// 限制文件大小
|
|
@@ -553,7 +555,7 @@ dialogImageUrl:"",loading:"",noneBtnImg:false,drag:false,trans,headers:{}};},com
|
|
|
553
555
|
let headers={"Content-Type":"multipart/form-data"// 通常不需要手动设置,但为了完整性还是加上
|
|
554
556
|
};if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:this.apiUrl,headers:headers});}const formData=new FormData();formData.append("file",file);// 添加文件到FormData中
|
|
555
557
|
// 使用axios或fetch发送请求,这里使用axios为例
|
|
556
|
-
for(let key in this.formData){formData.append(key,this.formData[key]);}axios.post(this.apiUrl,formData,{headers}).then(response=>{onSuccess(response.data,response);// 调用onSuccess回调
|
|
558
|
+
for(let key in this.formData){formData.append(key,this.formData[key]);}axios$1.post(this.apiUrl,formData,{headers}).then(response=>{onSuccess(response.data,response);// 调用onSuccess回调
|
|
557
559
|
}).catch(error=>{onError(error);// 调用onError回调
|
|
558
560
|
});},// 处理格式
|
|
559
561
|
formatFileType(){let arr=[];this.fileType.map(item=>{arr.push(item);arr.push(item.toUpperCase());});return arr.join(",");},// 缩略图展示
|
|
@@ -572,15 +574,30 @@ if(this.formMaxWH.width){const isSize=this.validImage(file).then(data=>{return f
|
|
|
572
574
|
// 验证文件类型
|
|
573
575
|
const nameList=file.name.split(".");const allowTypes=this.fileType.map(type=>type.toLowerCase());const ext="."+nameList[nameList.length-1].toLowerCase();if(!allowTypes.includes(ext)){setTimeout(()=>{this.$message({message:`请上传${this.fileType.join("、")}的文件!`,type:"warning"});},1);return false;}},// 校验图片宽高
|
|
574
576
|
validImage(file){const _this=this;return new Promise(function(resolve,reject){const width=parseInt(_this.formMaxWH.width,10);const height=parseInt(_this.formMaxWH.height,10);let _URL=window.URL||window.webkitURL;let img=new Image();img.onload=function(){if(img.width!==width||img.height!==height){return reject({type:false,msg:`请上传${width}px * ${height}px的图片`});}return resolve({type:true});};img.src=_URL.createObjectURL(file);});},formHandleRemove(file,formFileList){if(file.status!=="ready"){this.formFileList.splice(this.formFileList.indexOf(file),1);this.noneBtnImg=this.formFileList.length>=this.limit;}},handlePreview(file){if(this.listType==="text"){this.handlePictureCardPreview(file);}},handlePictureCardPreview(file){let type,url;if(file.raw){type=this.fileFormat(file.name.toLowerCase());url=file.response.data[0].attachmenturl;}else{type=this.fileFormat(file.url.toLowerCase());url=file.url;}if(type==="IMG"){this.dialogImageUrl=file.url;this.$refs.previewImg.showViewer=true;const m=e=>{e.preventDefault();};document.body.style.overflow="hidden";document.addEventListener("touchmove",m,false);// 禁止页面滑动
|
|
575
|
-
this.$nextTick(()=>{document.querySelector(".el-image-viewer__close").addEventListener("click",()=>{const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);});});}else if(type
|
|
577
|
+
this.$nextTick(()=>{document.querySelector(".el-image-viewer__close").addEventListener("click",()=>{const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);});});}// else if (type === "PDF") {
|
|
578
|
+
// window.open(
|
|
579
|
+
// "https://www.hellogil.com/web/contractPreview.html?url=" +
|
|
580
|
+
// url.replace("http://", "https://")
|
|
581
|
+
// );
|
|
582
|
+
// }
|
|
583
|
+
else if(type==="WORD"||type==="EXCEL"||type==="CSV"||type==="PPT"||type==="PDF"){// window.open(
|
|
584
|
+
// `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +
|
|
585
|
+
// url.replace("http://", "https://")
|
|
586
|
+
// );
|
|
587
|
+
const urlWithoutParams=url.split("?")[0].toLowerCase();if(!urlWithoutParams.endsWith(".doc")&&!urlWithoutParams.endsWith(".xlx")){// URL后缀不包含.doc和.xlx时执行的代码
|
|
588
|
+
// window.open(
|
|
589
|
+
// `https://www.hellogil.com/web/#/officePreview?url=` +
|
|
590
|
+
// encodeURIComponent(url.replace("http://", "https://"))
|
|
591
|
+
// );
|
|
592
|
+
getFileUrl(url.replace("http://","https://")).then(res=>{if(res.result==="success"){window.open(res.data);}else{this.$message({message:"该文件不支持预览!",type:"warning"});}});}else{this.$message({message:"该文件不支持预览!",type:"warning"});}}else{this.$message({message:"该文件不支持预览!",type:"warning"});}},handleDownload(file){console.log(file);var name;let url=file.response?file.response.data[0].attachmenturl:file.url;if(file.name){name=file.name;if(!name.indexOf(".")>-1){var a=url.split("/");var b=a[a.length-1];name=file.name+"."+b.split(".")[1];}}else{var a=url.split("/");name=a[a.length-1];}axios$1({method:"post",url:process.env.VUE_APP_BASE_API+"/huilianApi/uploader/downloadZipFiles",data:"fileUrls="+JSON.stringify([{imgName:name.replace(/\&/g,"-").replace(/\?/g,"-").replace(/\%/g,"-"),dataImg:url}]),responseType:"blob"// 加上这个是重点
|
|
576
593
|
}).then(res=>{this.downloadFile(res.data,name);});},downloadFile(data,name){const url=window.URL.createObjectURL(new Blob([data]));const link=document.createElement("a");link.style.display="none";link.href=url;link.setAttribute("download",name);document.body.appendChild(link);link.click();URL.revokeObjectURL(link.href);document.body.removeChild(link);this.$message({message:"下载成功",type:"success"});},// 允许上传文件个数验证
|
|
577
594
|
formHandleExceed(files,formFileList){this.$message.warning(`最多上传 ${this.limit} 个文件!`);},// 上传文件
|
|
578
595
|
handleUploadForm(file,fileList){if(!file.url){file.url=URL.createObjectURL(file.raw);}},// 上传成功
|
|
579
|
-
handleSuccess(response,file,fileList){var num=0;for(var i=0;i<fileList.length;i++){if(fileList[i].status==="success"){num++;}}if(num===fileList.length){this.formFileList=fileList;this.$emit("update:fileUrl",this.formFileList);this.noneBtnImg=this.formFileList.length>=this.limit;if(this.handleSuccessCallback){this.handleSuccessCallback(response,file,fileList);}}},// 上传失败
|
|
596
|
+
handleSuccess(response,file,fileList){var num=0;for(var i=0;i<fileList.length;i++){if(fileList[i].status==="success"){num++;}}if(num===fileList.length){this.formFileList=fileList;this.$emit("update:fileUrl",this.formFileList);this.noneBtnImg=this.formFileList.length>=this.limit;if(this.handleSuccessCallback){this.handleSuccessCallback(response,file,fileList);}}this.$message({message:"上传成功",type:"success"});},// 上传失败
|
|
580
597
|
handleError(err,file,fileList){console.log(err);// this.loading.close()
|
|
581
598
|
},dragEnd(){// this.drag = false;
|
|
582
599
|
this.$emit("update:fileUrl",this.formFileList);},showImgViewer(){this.imgViewerVisible=true;const m=e=>{e.preventDefault();};document.body.style.overflow="hidden";document.addEventListener("touchmove",m,false);// 禁止页面滑动
|
|
583
|
-
},closeImgViewer(){this.imgViewerVisible=false;const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);}}};/* script */const __vue_script__$h=script$h;/* template */var __vue_render__$h=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"upload_file_box"},[_c("div",{staticStyle:{height:"0",overflow:"hidden"}},[_c("el-image",{ref:"previewImg",attrs:{src:_vm.dialogImageUrl,"preview-src-list":_vm.formFileList.map(function(item){return _vm.bgImg(item);})}})],1),_vm._v(" "),_c("el-upload",{class:{disUoloadSty:_vm.noneBtnImg},attrs:{headers:_vm.headers,action:_vm.apiUrl,"list-type":_vm.listType,tip:_vm.tip,limit:_vm.limit,multiple:_vm.multiple,data:_vm.formData,accept:_vm.formatFileType(),disabled:_vm.fileDisabled,"file-list":_vm.formFileList,"on-exceed":_vm.formHandleExceed,"before-upload":_vm.beforeUploadForm,"on-change":_vm.handleUploadForm,"on-remove":_vm.formHandleRemove,"on-success":_vm.handleSuccess,"on-error":_vm.handleError,"on-preview":_vm.handlePreview,"http-request":_vm.customHttpRequest},scopedSlots:_vm._u([{key:"file",fn:function(ref){var file=ref.file;return _vm.listType==="picture-card"?_c("div",{staticClass:"upload_file_operation"},[_c("div",{staticClass:"upload_file_bg",style:"background: url("+_vm.bgImg(file)+") no-repeat 50% 50%; background-size: contain;"}),_vm._v(" "),file.status!=="success"?_c("span",{staticClass:"el-upload-list__item-actions",staticStyle:{opacity:"1"}},[_c("i",{staticClass:"el-icon-loading"})]):_vm._e()]):_vm._e();}}],null,true)},[_vm.listType==="text"?_c("div",{staticStyle:{"text-align":"left"}},[_c("el-button",{attrs:{type:"primary",disabled:_vm.fileDisabled}},[_vm._v(_vm._s(_vm.trans("点击上传")))]),_vm._v(" "),_c("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[_vm._v("\n "+_vm._s(_vm.tip?_vm.tip:""+_vm.trans("请选择要上传的附件,最多")+_vm.limit+_vm.trans("个")+","+_vm.trans("单个附件最大")+_vm.formMaxSize+"M")+"\n ")])],1):_vm._e(),_vm._v(" "),_vm.listType==="excel"?_c("div",{staticStyle:{"text-align":"left"}},[_c("el-button",{attrs:{type:"primary"}},[_vm._v(_vm._s(_vm.trans("点击上传")))]),_vm._v(" "),_vm._t("tip")],2):_vm._e(),_vm._v(" "),_vm.listType==="picture-card"?_c("draggable",_vm._b({staticClass:"el-upload-list el-upload-list--picture-card",style:{position:"absolute",left:0,top:0},attrs:{slot:"tip",tag:"ul"},on:{end:_vm.dragEnd},slot:"tip",model:{value:_vm.formFileList,callback:function($$v){_vm.formFileList=$$v;},expression:"formFileList"}},"draggable",_vm.dragOptions,false),_vm._l(_vm.formFileList,function(file,inex){return _c("li",{key:inex,staticClass:"el-upload-list__item is-success"},[_c("div",{staticClass:"upload_file_operation"},[_c("div",{staticClass:"upload_file_bg",style:"background: url("+_vm.bgImg(file)+") 50% 50% / contain no-repeat;"}),_vm._v(" "),_c("span",{staticClass:"el-upload-list__item-actions"},[_c("span",{staticClass:"el-upload-list__item-preview",on:{click:function($event){return _vm.handlePictureCardPreview(file);}}},[_c("i",{staticClass:"el-icon-zoom-in"})]),_vm._v(" "),_c("span",{staticClass:"el-upload-list__item-delete",on:{click:function($event){return _vm.handleDownload(file);}}},[_c("i",{staticClass:"el-icon-download"})]),_vm._v(" "),!_vm.fileDisabled?_c("span",{staticClass:"el-upload-list__item-delete",on:{click:function($event){return _vm.formHandleRemove(file);}}},[_c("i",{staticClass:"el-icon-delete"})]):_vm._e()])])]);}),0):_vm._e(),_vm._v(" "),_vm.listType==="picture-card"?_c("i",{staticClass:"el-icon-plus",attrs:{slot:"default"},slot:"default"}):_vm._e()],1)],1);};var __vue_staticRenderFns__$h=[];__vue_render__$h._withStripped=true;/* style */const __vue_inject_styles__$h=function(inject){if(!inject)return;inject("data-v-2d4b90e2_0",{source:".upload_file_box {\n position: relative;\n}\n.upload_file_box .el-upload-list--picture-card .el-upload-list__item {\n width: 104px;\n height: 104px;\n transition: none;\n}\n.upload_file_box .el-upload--picture-card {\n width: 104px;\n height: 104px;\n line-height: 104px;\n position: relative;\n z-index: 1;\n}\n.upload_file_box .upload_file_operation {\n width: 100%;\n height: 100%;\n}\n.upload_file_box .upload_file_operation .upload_file_bg {\n width: 100%;\n height: 100%;\n background-size: contain;\n}\n.upload_file_box .disUoloadSty .el-upload--picture-card {\n display: none;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{"version":3,"sources":["D:\\项目\\npm\\components\\UploadFile\\index.vue","index.vue"],"names":[],"mappings":"AAmoBA;EACA,kBAAA;ACloBA;ADqoBA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;ACnoBA;ADuoBA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,kBAAA;EACA,UAAA;ACroBA;ADwoBA;EACA,WAAA;EACA,YAAA;ACtoBA;ADwoBA;EACA,WAAA;EACA,YAAA;EACA,wBAAA;ACtoBA;AD2oBA;EACA,aAAA;ACzoBA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"upload_file_box\">\r\n <div style=\"height: 0; overflow: hidden\">\r\n <el-image\r\n ref=\"previewImg\"\r\n :src=\"dialogImageUrl\"\r\n :preview-src-list=\"formFileList.map((item) => bgImg(item))\"\r\n />\r\n </div>\r\n\r\n <el-upload\r\n :class=\"{ disUoloadSty: noneBtnImg }\"\r\n :headers=\"headers\"\r\n :action=\"apiUrl\"\r\n :list-type=\"listType\"\r\n :tip=\"tip\"\r\n :limit=\"limit\"\r\n :multiple=\"multiple\"\r\n :data=\"formData\"\r\n :accept=\"formatFileType()\"\r\n :disabled=\"fileDisabled\"\r\n :file-list=\"formFileList\"\r\n :on-exceed=\"formHandleExceed\"\r\n :before-upload=\"beforeUploadForm\"\r\n :on-change=\"handleUploadForm\"\r\n :on-remove=\"formHandleRemove\"\r\n :on-success=\"handleSuccess\"\r\n :on-error=\"handleError\"\r\n :on-preview=\"handlePreview\"\r\n :http-request=\"customHttpRequest\"\r\n >\r\n <div v-if=\"listType === 'text'\" style=\"text-align: left\">\r\n <el-button type=\"primary\" :disabled=\"fileDisabled\">{{\r\n trans(\"点击上传\")\r\n }}</el-button>\r\n <div slot=\"tip\" class=\"el-upload__tip\">\r\n {{\r\n tip\r\n ? tip\r\n : `${trans(\"请选择要上传的附件,最多\")}${limit}${trans(\r\n \"个\"\r\n )},${trans(\"单个附件最大\")}${formMaxSize}M`\r\n }}\r\n </div>\r\n </div>\r\n <div v-if=\"listType === 'excel'\" style=\"text-align: left\">\r\n <el-button type=\"primary\">{{ trans(\"点击上传\") }}</el-button>\r\n <slot name=\"tip\"></slot>\r\n </div>\r\n\r\n <draggable\r\n slot=\"tip\"\r\n v-if=\"listType === 'picture-card'\"\r\n tag=\"ul\"\r\n v-model=\"formFileList\"\r\n v-bind=\"dragOptions\"\r\n @end=\"dragEnd\"\r\n class=\"el-upload-list el-upload-list--picture-card\"\r\n :style=\"{ position: 'absolute', left: 0, top: 0 }\"\r\n >\r\n <li\r\n class=\"el-upload-list__item is-success\"\r\n v-for=\"(file, inex) in formFileList\"\r\n :key=\"inex\"\r\n >\r\n <div class=\"upload_file_operation\">\r\n <div\r\n class=\"upload_file_bg\"\r\n :style=\"`background: url(${bgImg(\r\n file\r\n )}) 50% 50% / contain no-repeat;`\"\r\n />\r\n <span class=\"el-upload-list__item-actions\">\r\n <span\r\n class=\"el-upload-list__item-preview\"\r\n @click=\"handlePictureCardPreview(file)\"\r\n >\r\n <i class=\"el-icon-zoom-in\" />\r\n </span>\r\n <span\r\n class=\"el-upload-list__item-delete\"\r\n @click=\"handleDownload(file)\"\r\n >\r\n <i class=\"el-icon-download\" />\r\n </span>\r\n <span\r\n v-if=\"!fileDisabled\"\r\n class=\"el-upload-list__item-delete\"\r\n @click=\"formHandleRemove(file)\"\r\n >\r\n <i class=\"el-icon-delete\" />\r\n </span>\r\n </span>\r\n </div>\r\n </li>\r\n </draggable>\r\n\r\n <i\r\n slot=\"default\"\r\n class=\"el-icon-plus\"\r\n v-if=\"listType === 'picture-card'\"\r\n />\r\n <div\r\n slot=\"file\"\r\n slot-scope=\"{ file }\"\r\n class=\"upload_file_operation\"\r\n v-if=\"listType === 'picture-card'\"\r\n >\r\n <div\r\n class=\"upload_file_bg\"\r\n :style=\"`background: url(${bgImg(\r\n file\r\n )}) no-repeat 50% 50%; background-size: contain;`\"\r\n />\r\n <span\r\n v-if=\"file.status !== 'success'\"\r\n style=\"opacity: 1\"\r\n class=\"el-upload-list__item-actions\"\r\n >\r\n <i class=\"el-icon-loading\"></i>\r\n </span>\r\n </div>\r\n </el-upload>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// import { attachment } from '@/config/api/publicApi'\r\nimport draggable from \"vuedraggable\";\r\nimport { mapGetters } from \"vuex\";\r\nimport axios from \"axios\";\r\nimport CSV from \"./fileImages/CSV.png\";\r\nimport EXCEL from \"./fileImages/EXCEL.png\";\r\nimport PDF from \"./fileImages/PDF.png\";\r\nimport PPT from \"./fileImages/PPT.png\";\r\nimport RAR from \"./fileImages/RAR.png\";\r\nimport WORD from \"./fileImages/WORD.png\";\r\nimport ZIP from \"./fileImages/ZIP.png\";\r\nimport APK from \"./fileImages/APK.png\";\r\nimport PLIST from \"./fileImages/PLIST.png\";\r\nimport MP4 from \"./fileImages/MP4.png\";\r\nimport trans from \"../lang/trans\";\r\n\r\nexport default {\r\n components: {\r\n draggable,\r\n },\r\n props: {\r\n limit: {\r\n // 限制文件个数\r\n default: 1,\r\n type: Number,\r\n },\r\n multiple: {\r\n // 上传多个文件\r\n default: false,\r\n type: Boolean,\r\n },\r\n formMaxSize: {\r\n // 限制文件大小\r\n default: 10, // M\r\n type: Number,\r\n },\r\n formMaxWH: {\r\n // 限制图片尺寸 单位px { width: 100, height: 100 }\r\n default: () => {\r\n return {};\r\n },\r\n type: Object,\r\n },\r\n fileUrl: {\r\n // 文件数组\r\n default: () => {\r\n return [];\r\n },\r\n type: Array,\r\n },\r\n tip: {\r\n // 上传文件说明\r\n default: \"\",\r\n type: String,\r\n },\r\n formData: {\r\n // 上传时附带的额外参数\r\n default: () => {\r\n return {\r\n attachmenType: \"VOUCHER\",\r\n };\r\n },\r\n type: Object,\r\n },\r\n handleSuccessCallback: {\r\n type: Function,\r\n },\r\n fileType: {\r\n // 限制选择文件类型\r\n // default: '.pptx,.csv,.zip,.rar,image/*,application/msexcel,application/msword,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/plain',\r\n default: () => {\r\n return [\r\n \".pptx\",\r\n \".csv\",\r\n \".zip\",\r\n \".rar\",\r\n \".jpg\",\r\n \".jpeg\",\r\n \".png\",\r\n \".doc\",\r\n \".docx\",\r\n \".pdf\",\r\n \".xls\",\r\n \".xlsx\",\r\n \".mp4\",\r\n \".pdf\",\r\n ];\r\n },\r\n type: Array,\r\n },\r\n fileDisabled: {\r\n default: false,\r\n type: Boolean,\r\n },\r\n apiUrl: {\r\n default: \"/gateway/huilianApi/uploader/attachment\",\r\n type: String,\r\n },\r\n listType: {\r\n default: \"picture-card\",\r\n type: String,\r\n },\r\n },\r\n data() {\r\n return {\r\n formFileList: [], // 显示上传文件\r\n dialogImageUrl: \"\",\r\n loading: \"\",\r\n noneBtnImg: false,\r\n drag: false,\r\n trans,\r\n headers: {},\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"userInfo\"]),\r\n dragOptions() {\r\n return {\r\n animation: 100,\r\n group: \"description\",\r\n disabled: false,\r\n ghostClass: \"ghost\",\r\n };\r\n },\r\n },\r\n watch: {\r\n fileUrl: {\r\n deep: true,\r\n immediate: true,\r\n handler() {\r\n this.formFileList = this.fileUrl;\r\n if (this.fileDisabled) {\r\n this.noneBtnImg = true;\r\n }\r\n if (this.fileUrl.length >= this.limit) {\r\n this.noneBtnImg = true;\r\n } else {\r\n this.noneBtnImg = false;\r\n }\r\n },\r\n },\r\n },\r\n mounted() {\r\n // if (window.HLEncryption) {\r\n // this.headers = window.HLEncryption.setRequestHeaders({\r\n // url: this.apiUrl,\r\n // headers: {},\r\n // });\r\n // }\r\n },\r\n methods: {\r\n customHttpRequest({ file, onSuccess, onError }) {\r\n // 动态生成headers\r\n let headers = {\r\n \"Content-Type\": \"multipart/form-data\", // 通常不需要手动设置,但为了完整性还是加上\r\n };\r\n\r\n if (window.HLEncryption) {\r\n headers = window.HLEncryption.setRequestHeaders({\r\n url: this.apiUrl,\r\n headers: headers,\r\n });\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\"file\", file); // 添加文件到FormData中\r\n // 使用axios或fetch发送请求,这里使用axios为例\r\n for (let key in this.formData) {\r\n formData.append(key, this.formData[key]);\r\n }\r\n axios\r\n .post(this.apiUrl, formData, { headers })\r\n .then((response) => {\r\n onSuccess(response.data, response); // 调用onSuccess回调\r\n })\r\n .catch((error) => {\r\n onError(error); // 调用onError回调\r\n });\r\n },\r\n // 处理格式\r\n formatFileType() {\r\n let arr = [];\r\n this.fileType.map((item) => {\r\n arr.push(item);\r\n arr.push(item.toUpperCase());\r\n });\r\n return arr.join(\",\");\r\n },\r\n // 缩略图展示\r\n bgImg(file) {\r\n let type = \"\";\r\n const types = {\r\n IMG: \"\",\r\n WORD: WORD,\r\n EXCEL: EXCEL,\r\n PDF: PDF,\r\n CSV: CSV,\r\n RAR: RAR,\r\n ZIP: ZIP,\r\n PPT: PPT,\r\n APK: APK,\r\n PLIST: PLIST,\r\n MP4: MP4,\r\n };\r\n\r\n if (file.raw) {\r\n type = this.fileFormat(file.name.toLowerCase());\r\n } else {\r\n type = this.fileFormat(file.url.toLowerCase());\r\n }\r\n\r\n if (type === \"IMG\") {\r\n return file.url;\r\n } else {\r\n return types[type];\r\n }\r\n },\r\n // 文件格式\r\n fileFormat(name) {\r\n const images = \"bmp|jpg|jpeg|png|gif|svg|webp|JPG|JPEG|PNG\";\r\n const word = \"doc|docx|DOC|DOCX\";\r\n const excel = \"xls|xlsx|XLS|XLSX\";\r\n const pdf = \"pdf|PDF\";\r\n const csv = \"csv|CSV\";\r\n const rar = \"rar|RAR\";\r\n const zip = \"zip|ZIP\";\r\n const ppt = \"pptx|PPTX\";\r\n const apk = \"apk|APK\";\r\n const plist = \"plist|PLIST\";\r\n const mp4 = \"mp4|MP4\";\r\n\r\n const pattern_images = new RegExp(\".(\" + images + \")$\");\r\n const pattern_word = new RegExp(\".(\" + word + \")$\");\r\n const pattern_excel = new RegExp(\".(\" + excel + \")$\");\r\n const pattern_pdf = new RegExp(\".(\" + pdf + \")$\");\r\n const pattern_csv = new RegExp(\".(\" + csv + \")$\");\r\n const pattern_rar = new RegExp(\".(\" + rar + \")$\");\r\n const pattern_zip = new RegExp(\".(\" + zip + \")$\");\r\n const pattern_ppt = new RegExp(\".(\" + ppt + \")$\");\r\n const pattern_apk = new RegExp(\".(\" + apk + \")$\");\r\n const pattern_plist = new RegExp(\".(\" + plist + \")$\");\r\n const pattern_mp4 = new RegExp(\".(\" + mp4 + \")$\");\r\n\r\n if (name.indexOf(\"?\") > -1) {\r\n name = name.split(\"?\")[0];\r\n }\r\n\r\n if (pattern_images.test(name)) {\r\n return \"IMG\";\r\n } else if (pattern_word.test(name)) {\r\n return \"WORD\";\r\n } else if (pattern_excel.test(name)) {\r\n return \"EXCEL\";\r\n } else if (pattern_pdf.test(name)) {\r\n return \"PDF\";\r\n } else if (pattern_csv.test(name)) {\r\n return \"CSV\";\r\n } else if (pattern_rar.test(name)) {\r\n return \"RAR\";\r\n } else if (pattern_zip.test(name)) {\r\n return \"ZIP\";\r\n } else if (pattern_ppt.test(name)) {\r\n return \"PPT\";\r\n } else if (pattern_apk.test(name)) {\r\n return \"APK\";\r\n } else if (pattern_plist.test(name)) {\r\n return \"PLIST\";\r\n } else if (pattern_mp4.test(name)) {\r\n return \"MP4\";\r\n }\r\n },\r\n // 开始上传前验证\r\n beforeUploadForm(file) {\r\n // 验证文件大小\r\n if (file.size / 1024 / 1024 > this.formMaxSize) {\r\n setTimeout(() => {\r\n this.$message({\r\n message: `上传文件 “${file.name}” 大小不能超过${this.formMaxSize}M!`,\r\n type: \"warning\",\r\n });\r\n }, 1);\r\n return false;\r\n }\r\n\r\n // 验证尺寸是否符合\r\n if (this.formMaxWH.width) {\r\n const isSize = this.validImage(file).then(\r\n (data) => {\r\n return file;\r\n },\r\n (data) => {\r\n this.$message.error(data.msg);\r\n return Promise.reject();\r\n }\r\n );\r\n return isSize;\r\n }\r\n\r\n // 中文乱码处理\r\n // if (file.raw) {\r\n // let reader = new FileReader(); // 读取文件内容\r\n // reader.readAsText(file.raw, \"gb2312\"); // 防止中文乱码问题,不加reader.onload方法都不会触发\r\n // reader.onload = function(e) {\r\n // this.contentHtml = e.target.result; // txt文本内容,接下来就可以对其进行校验处理了\r\n // };\r\n // }\r\n\r\n // 验证文件类型\r\n const nameList = file.name.split(\".\");\r\n const allowTypes = this.fileType.map((type) => type.toLowerCase());\r\n const ext = \".\" + nameList[nameList.length - 1].toLowerCase();\r\n if (!allowTypes.includes(ext)) {\r\n setTimeout(() => {\r\n this.$message({\r\n message: `请上传${this.fileType.join(\"、\")}的文件!`,\r\n type: \"warning\",\r\n });\r\n }, 1);\r\n return false;\r\n }\r\n },\r\n // 校验图片宽高\r\n validImage(file) {\r\n const _this = this;\r\n return new Promise(function (resolve, reject) {\r\n const width = parseInt(_this.formMaxWH.width, 10);\r\n const height = parseInt(_this.formMaxWH.height, 10);\r\n let _URL = window.URL || window.webkitURL;\r\n let img = new Image();\r\n img.onload = function () {\r\n if (img.width !== width || img.height !== height) {\r\n return reject({\r\n type: false,\r\n msg: `请上传${width}px * ${height}px的图片`,\r\n });\r\n }\r\n return resolve({\r\n type: true,\r\n });\r\n };\r\n img.src = _URL.createObjectURL(file);\r\n });\r\n },\r\n formHandleRemove(file, formFileList) {\r\n if (file.status !== \"ready\") {\r\n this.formFileList.splice(this.formFileList.indexOf(file), 1);\r\n this.noneBtnImg = this.formFileList.length >= this.limit;\r\n }\r\n },\r\n handlePreview(file) {\r\n if (this.listType === \"text\") {\r\n this.handlePictureCardPreview(file);\r\n }\r\n },\r\n handlePictureCardPreview(file) {\r\n let type, url;\r\n if (file.raw) {\r\n type = this.fileFormat(file.name.toLowerCase());\r\n url = file.response.data[0].attachmenturl;\r\n } else {\r\n type = this.fileFormat(file.url.toLowerCase());\r\n url = file.url;\r\n }\r\n\r\n if (type === \"IMG\") {\r\n this.dialogImageUrl = file.url;\r\n this.$refs.previewImg.showViewer = true;\r\n\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"hidden\";\r\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\r\n\r\n this.$nextTick(() => {\r\n document\r\n .querySelector(\".el-image-viewer__close\")\r\n .addEventListener(\"click\", () => {\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"auto\";\r\n document.removeEventListener(\"touchmove\", m, true);\r\n });\r\n });\r\n } else if (type === \"PDF\") {\r\n window.open(\r\n \"https://www.hellogil.com/web/contractPreview.html?url=\" +\r\n url.replace(\"http://\", \"https://\")\r\n );\r\n } else if (\r\n type === \"WORD\" ||\r\n type === \"EXCEL\" ||\r\n type === \"CSV\" ||\r\n type === \"PPT\"\r\n ) {\r\n window.open(\r\n `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +\r\n url.replace(\"http://\", \"https://\")\r\n );\r\n } else {\r\n this.$message({\r\n message: \"该文件不支持预览!\",\r\n type: \"warning\",\r\n });\r\n }\r\n },\r\n handleDownload(file) {\r\n console.log(file);\r\n var name;\r\n let url = file.response ? file.response.data[0].attachmenturl : file.url;\r\n if (file.name) {\r\n name = file.name;\r\n if (!name.indexOf(\".\") > -1) {\r\n var a = url.split(\"/\");\r\n var b = a[a.length - 1];\r\n name = file.name + \".\" + b.split(\".\")[1];\r\n }\r\n } else {\r\n var a = url.split(\"/\");\r\n name = a[a.length - 1];\r\n }\r\n axios({\r\n method: \"post\",\r\n url:\r\n process.env.VUE_APP_BASE_API +\r\n \"/huilianApi/uploader/downloadZipFiles\",\r\n data:\r\n \"fileUrls=\" +\r\n JSON.stringify([\r\n {\r\n imgName: name\r\n .replace(/\\&/g, \"-\")\r\n .replace(/\\?/g, \"-\")\r\n .replace(/\\%/g, \"-\"),\r\n dataImg: url,\r\n },\r\n ]),\r\n responseType: \"blob\", // 加上这个是重点\r\n }).then((res) => {\r\n this.downloadFile(res.data, name);\r\n });\r\n },\r\n downloadFile(data, name) {\r\n const url = window.URL.createObjectURL(new Blob([data]));\r\n const link = document.createElement(\"a\");\r\n link.style.display = \"none\";\r\n link.href = url;\r\n link.setAttribute(\"download\", name);\r\n document.body.appendChild(link);\r\n link.click();\r\n URL.revokeObjectURL(link.href);\r\n document.body.removeChild(link);\r\n this.$message({\r\n message: \"下载成功\",\r\n type: \"success\",\r\n });\r\n },\r\n // 允许上传文件个数验证\r\n formHandleExceed(files, formFileList) {\r\n this.$message.warning(`最多上传 ${this.limit} 个文件!`);\r\n },\r\n // 上传文件\r\n handleUploadForm(file, fileList) {\r\n if (!file.url) {\r\n file.url = URL.createObjectURL(file.raw);\r\n }\r\n },\r\n // 上传成功\r\n handleSuccess(response, file, fileList) {\r\n var num = 0;\r\n for (var i = 0; i < fileList.length; i++) {\r\n if (fileList[i].status === \"success\") {\r\n num++;\r\n }\r\n }\r\n if (num === fileList.length) {\r\n this.formFileList = fileList;\r\n this.$emit(\"update:fileUrl\", this.formFileList);\r\n this.noneBtnImg = this.formFileList.length >= this.limit;\r\n if (this.handleSuccessCallback) {\r\n this.handleSuccessCallback(response, file, fileList);\r\n }\r\n }\r\n },\r\n // 上传失败\r\n handleError(err, file, fileList) {\r\n console.log(err);\r\n // this.loading.close()\r\n },\r\n\r\n dragEnd() {\r\n // this.drag = false;\r\n this.$emit(\"update:fileUrl\", this.formFileList);\r\n },\r\n showImgViewer() {\r\n this.imgViewerVisible = true;\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"hidden\";\r\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\r\n },\r\n closeImgViewer() {\r\n this.imgViewerVisible = false;\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"auto\";\r\n document.removeEventListener(\"touchmove\", m, true);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.upload_file_box {\r\n position: relative;\r\n\r\n .el-upload-list--picture-card {\r\n .el-upload-list__item {\r\n width: 104px;\r\n height: 104px;\r\n transition: none;\r\n }\r\n }\r\n\r\n .el-upload--picture-card {\r\n width: 104px;\r\n height: 104px;\r\n line-height: 104px;\r\n position: relative;\r\n z-index: 1;\r\n }\r\n\r\n .upload_file_operation {\r\n width: 100%;\r\n height: 100%;\r\n\r\n .upload_file_bg {\r\n width: 100%;\r\n height: 100%;\r\n background-size: contain;\r\n }\r\n }\r\n\r\n .disUoloadSty {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n }\r\n}\r\n</style>\r\n",".upload_file_box {\n position: relative;\n}\n.upload_file_box .el-upload-list--picture-card .el-upload-list__item {\n width: 104px;\n height: 104px;\n transition: none;\n}\n.upload_file_box .el-upload--picture-card {\n width: 104px;\n height: 104px;\n line-height: 104px;\n position: relative;\n z-index: 1;\n}\n.upload_file_box .upload_file_operation {\n width: 100%;\n height: 100%;\n}\n.upload_file_box .upload_file_operation .upload_file_bg {\n width: 100%;\n height: 100%;\n background-size: contain;\n}\n.upload_file_box .disUoloadSty .el-upload--picture-card {\n display: none;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$h=undefined;/* module identifier */const __vue_module_identifier__$h=undefined;/* functional template */const __vue_is_functional_template__$h=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$h=/*#__PURE__*/normalizeComponent({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$h,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$h,false,createInjector,undefined,undefined);__vue_component__$h.install=function(Vue){Vue.component(__vue_component__$h.name,__vue_component__$h);};//
|
|
600
|
+
},closeImgViewer(){this.imgViewerVisible=false;const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);}}};/* script */const __vue_script__$h=script$h;/* template */var __vue_render__$h=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"upload_file_box"},[_c("div",{staticStyle:{height:"0",overflow:"hidden"}},[_c("el-image",{ref:"previewImg",attrs:{src:_vm.dialogImageUrl,"preview-src-list":_vm.formFileList.map(function(item){return _vm.bgImg(item);})}})],1),_vm._v(" "),_c("el-upload",{class:{disUoloadSty:_vm.noneBtnImg},attrs:{headers:_vm.headers,action:_vm.apiUrl,"list-type":_vm.listType,tip:_vm.tip,limit:_vm.limit,multiple:_vm.multiple,data:_vm.formData,accept:_vm.formatFileType(),disabled:_vm.fileDisabled,"file-list":_vm.formFileList,"on-exceed":_vm.formHandleExceed,"before-upload":_vm.beforeUploadForm,"on-change":_vm.handleUploadForm,"on-remove":_vm.formHandleRemove,"on-success":_vm.handleSuccess,"on-error":_vm.handleError,"on-preview":_vm.handlePreview,"http-request":_vm.customHttpRequest},scopedSlots:_vm._u([{key:"file",fn:function(ref){var file=ref.file;return _vm.listType==="picture-card"?_c("div",{staticClass:"upload_file_operation"},[_c("div",{staticClass:"upload_file_bg",style:"background: url("+_vm.bgImg(file)+") no-repeat 50% 50%; background-size: contain;"}),_vm._v(" "),file.status!=="success"?_c("span",{staticClass:"el-upload-list__item-actions",staticStyle:{opacity:"1"}},[_c("i",{staticClass:"el-icon-loading"})]):_vm._e()]):_vm._e();}}],null,true)},[_vm.listType==="text"?_c("div",{staticStyle:{"text-align":"left"}},[_c("el-button",{attrs:{type:"primary",disabled:_vm.fileDisabled}},[_vm._v(_vm._s(_vm.trans("点击上传")))]),_vm._v(" "),_c("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[_vm._v("\n "+_vm._s(_vm.tip?_vm.tip:""+_vm.trans("请选择要上传的附件,最多")+_vm.limit+_vm.trans("个")+","+_vm.trans("单个附件最大")+_vm.formMaxSize+"M")+"\n ")])],1):_vm._e(),_vm._v(" "),_vm.listType==="excel"?_c("div",{staticStyle:{"text-align":"left"}},[_c("el-button",{attrs:{type:"primary"}},[_vm._v(_vm._s(_vm.trans("点击上传")))]),_vm._v(" "),_vm._t("tip")],2):_vm._e(),_vm._v(" "),_vm.listType==="picture-card"?_c("draggable",_vm._b({staticClass:"el-upload-list el-upload-list--picture-card",style:{position:"absolute",left:0,top:0},attrs:{slot:"tip",tag:"ul"},on:{end:_vm.dragEnd},slot:"tip",model:{value:_vm.formFileList,callback:function($$v){_vm.formFileList=$$v;},expression:"formFileList"}},"draggable",_vm.dragOptions,false),_vm._l(_vm.formFileList,function(file,inex){return _c("li",{key:inex,staticClass:"el-upload-list__item is-success"},[_c("div",{staticClass:"upload_file_operation"},[_c("div",{staticClass:"upload_file_bg",style:"background: url("+_vm.bgImg(file)+") 50% 50% / contain no-repeat;"}),_vm._v(" "),_c("span",{staticClass:"el-upload-list__item-actions"},[_c("span",{staticClass:"el-upload-list__item-preview",on:{click:function($event){return _vm.handlePictureCardPreview(file);}}},[_c("i",{staticClass:"el-icon-zoom-in"})]),_vm._v(" "),_c("span",{staticClass:"el-upload-list__item-delete",on:{click:function($event){return _vm.handleDownload(file);}}},[_c("i",{staticClass:"el-icon-download"})]),_vm._v(" "),!_vm.fileDisabled?_c("span",{staticClass:"el-upload-list__item-delete",on:{click:function($event){return _vm.formHandleRemove(file);}}},[_c("i",{staticClass:"el-icon-delete"})]):_vm._e()])])]);}),0):_vm._e(),_vm._v(" "),_vm.listType==="picture-card"?_c("i",{staticClass:"el-icon-plus",attrs:{slot:"default"},slot:"default"}):_vm._e()],1)],1);};var __vue_staticRenderFns__$h=[];__vue_render__$h._withStripped=true;/* style */const __vue_inject_styles__$h=function(inject){if(!inject)return;inject("data-v-0cdbb288_0",{source:".upload_file_box {\n position: relative;\n}\n.upload_file_box .el-upload-list--picture-card .el-upload-list__item {\n width: 104px;\n height: 104px;\n transition: none;\n}\n.upload_file_box .el-upload--picture-card {\n width: 104px;\n height: 104px;\n line-height: 104px;\n position: relative;\n z-index: 1;\n}\n.upload_file_box .upload_file_operation {\n width: 100%;\n height: 100%;\n}\n.upload_file_box .upload_file_operation .upload_file_bg {\n width: 100%;\n height: 100%;\n background-size: contain;\n}\n.upload_file_box .disUoloadSty .el-upload--picture-card {\n display: none;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/UploadFile/index.vue","index.vue"],"names":[],"mappings":"AAqqBA;EACA,kBAAA;ACpqBA;ADuqBA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;ACrqBA;ADyqBA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,kBAAA;EACA,UAAA;ACvqBA;AD0qBA;EACA,WAAA;EACA,YAAA;ACxqBA;AD0qBA;EACA,WAAA;EACA,YAAA;EACA,wBAAA;ACxqBA;AD6qBA;EACA,aAAA;AC3qBA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\n <div class=\"upload_file_box\">\n <div style=\"height: 0; overflow: hidden\">\n <el-image\n ref=\"previewImg\"\n :src=\"dialogImageUrl\"\n :preview-src-list=\"formFileList.map((item) => bgImg(item))\"\n />\n </div>\n\n <el-upload\n :class=\"{ disUoloadSty: noneBtnImg }\"\n :headers=\"headers\"\n :action=\"apiUrl\"\n :list-type=\"listType\"\n :tip=\"tip\"\n :limit=\"limit\"\n :multiple=\"multiple\"\n :data=\"formData\"\n :accept=\"formatFileType()\"\n :disabled=\"fileDisabled\"\n :file-list=\"formFileList\"\n :on-exceed=\"formHandleExceed\"\n :before-upload=\"beforeUploadForm\"\n :on-change=\"handleUploadForm\"\n :on-remove=\"formHandleRemove\"\n :on-success=\"handleSuccess\"\n :on-error=\"handleError\"\n :on-preview=\"handlePreview\"\n :http-request=\"customHttpRequest\"\n >\n <div v-if=\"listType === 'text'\" style=\"text-align: left\">\n <el-button type=\"primary\" :disabled=\"fileDisabled\">{{\n trans(\"点击上传\")\n }}</el-button>\n <div slot=\"tip\" class=\"el-upload__tip\">\n {{\n tip\n ? tip\n : `${trans(\"请选择要上传的附件,最多\")}${limit}${trans(\n \"个\"\n )},${trans(\"单个附件最大\")}${formMaxSize}M`\n }}\n </div>\n </div>\n <div v-if=\"listType === 'excel'\" style=\"text-align: left\">\n <el-button type=\"primary\">{{ trans(\"点击上传\") }}</el-button>\n <slot name=\"tip\"></slot>\n </div>\n\n <draggable\n slot=\"tip\"\n v-if=\"listType === 'picture-card'\"\n tag=\"ul\"\n v-model=\"formFileList\"\n v-bind=\"dragOptions\"\n @end=\"dragEnd\"\n class=\"el-upload-list el-upload-list--picture-card\"\n :style=\"{ position: 'absolute', left: 0, top: 0 }\"\n >\n <li\n class=\"el-upload-list__item is-success\"\n v-for=\"(file, inex) in formFileList\"\n :key=\"inex\"\n >\n <div class=\"upload_file_operation\">\n <div\n class=\"upload_file_bg\"\n :style=\"`background: url(${bgImg(\n file\n )}) 50% 50% / contain no-repeat;`\"\n />\n <span class=\"el-upload-list__item-actions\">\n <span\n class=\"el-upload-list__item-preview\"\n @click=\"handlePictureCardPreview(file)\"\n >\n <i class=\"el-icon-zoom-in\" />\n </span>\n <span\n class=\"el-upload-list__item-delete\"\n @click=\"handleDownload(file)\"\n >\n <i class=\"el-icon-download\" />\n </span>\n <span\n v-if=\"!fileDisabled\"\n class=\"el-upload-list__item-delete\"\n @click=\"formHandleRemove(file)\"\n >\n <i class=\"el-icon-delete\" />\n </span>\n </span>\n </div>\n </li>\n </draggable>\n\n <i\n slot=\"default\"\n class=\"el-icon-plus\"\n v-if=\"listType === 'picture-card'\"\n />\n <div\n slot=\"file\"\n slot-scope=\"{ file }\"\n class=\"upload_file_operation\"\n v-if=\"listType === 'picture-card'\"\n >\n <div\n class=\"upload_file_bg\"\n :style=\"`background: url(${bgImg(\n file\n )}) no-repeat 50% 50%; background-size: contain;`\"\n />\n <span\n v-if=\"file.status !== 'success'\"\n style=\"opacity: 1\"\n class=\"el-upload-list__item-actions\"\n >\n <i class=\"el-icon-loading\"></i>\n </span>\n </div>\n </el-upload>\n </div>\n</template>\n\n<script>\n// import { attachment } from '@/config/api/publicApi'\nimport draggable from \"vuedraggable\";\nimport { mapGetters } from \"vuex\";\nimport axios from \"axios\";\nimport CSV from \"./fileImages/CSV.png\";\nimport EXCEL from \"./fileImages/EXCEL.png\";\nimport PDF from \"./fileImages/PDF.png\";\nimport PPT from \"./fileImages/PPT.png\";\nimport RAR from \"./fileImages/RAR.png\";\nimport WORD from \"./fileImages/WORD.png\";\nimport ZIP from \"./fileImages/ZIP.png\";\nimport APK from \"./fileImages/APK.png\";\nimport PLIST from \"./fileImages/PLIST.png\";\nimport MP4 from \"./fileImages/MP4.png\";\nimport trans from \"../lang/trans\";\nimport { getFileUrl } from \"../public\";\n\nexport default {\n components: {\n draggable,\n },\n props: {\n limit: {\n // 限制文件个数\n default: 1,\n type: Number,\n },\n multiple: {\n // 上传多个文件\n default: false,\n type: Boolean,\n },\n formMaxSize: {\n // 限制文件大小\n default: 10, // M\n type: Number,\n },\n formMaxWH: {\n // 限制图片尺寸 单位px { width: 100, height: 100 }\n default: () => {\n return {};\n },\n type: Object,\n },\n fileUrl: {\n // 文件数组\n default: () => {\n return [];\n },\n type: Array,\n },\n tip: {\n // 上传文件说明\n default: \"\",\n type: String,\n },\n formData: {\n // 上传时附带的额外参数\n default: () => {\n return {\n attachmenType: \"VOUCHER\",\n };\n },\n type: Object,\n },\n handleSuccessCallback: {\n type: Function,\n },\n fileType: {\n // 限制选择文件类型\n // default: '.pptx,.csv,.zip,.rar,image/*,application/msexcel,application/msword,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/plain',\n default: () => {\n return [\n \".pptx\",\n \".csv\",\n \".zip\",\n \".rar\",\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".doc\",\n \".docx\",\n \".pdf\",\n \".xls\",\n \".xlsx\",\n \".mp4\",\n \".pdf\",\n ];\n },\n type: Array,\n },\n fileDisabled: {\n default: false,\n type: Boolean,\n },\n apiUrl: {\n default: \"/gateway/huilianApi/uploader/attachment\",\n type: String,\n },\n listType: {\n default: \"picture-card\",\n type: String,\n },\n },\n data() {\n return {\n formFileList: [], // 显示上传文件\n dialogImageUrl: \"\",\n loading: \"\",\n noneBtnImg: false,\n drag: false,\n trans,\n headers: {},\n };\n },\n computed: {\n ...mapGetters([\"userInfo\"]),\n dragOptions() {\n return {\n animation: 100,\n group: \"description\",\n disabled: false,\n ghostClass: \"ghost\",\n };\n },\n },\n watch: {\n fileUrl: {\n deep: true,\n immediate: true,\n handler() {\n this.formFileList = this.fileUrl;\n if (this.fileDisabled) {\n this.noneBtnImg = true;\n }\n if (this.fileUrl.length >= this.limit) {\n this.noneBtnImg = true;\n } else {\n this.noneBtnImg = false;\n }\n },\n },\n },\n mounted() {\n // if (window.HLEncryption) {\n // this.headers = window.HLEncryption.setRequestHeaders({\n // url: this.apiUrl,\n // headers: {},\n // });\n // }\n },\n methods: {\n customHttpRequest({ file, onSuccess, onError }) {\n // 动态生成headers\n let headers = {\n \"Content-Type\": \"multipart/form-data\", // 通常不需要手动设置,但为了完整性还是加上\n };\n\n if (window.HLEncryption) {\n headers = window.HLEncryption.setRequestHeaders({\n url: this.apiUrl,\n headers: headers,\n });\n }\n\n const formData = new FormData();\n formData.append(\"file\", file); // 添加文件到FormData中\n // 使用axios或fetch发送请求,这里使用axios为例\n for (let key in this.formData) {\n formData.append(key, this.formData[key]);\n }\n axios\n .post(this.apiUrl, formData, { headers })\n .then((response) => {\n onSuccess(response.data, response); // 调用onSuccess回调\n })\n .catch((error) => {\n onError(error); // 调用onError回调\n });\n },\n // 处理格式\n formatFileType() {\n let arr = [];\n this.fileType.map((item) => {\n arr.push(item);\n arr.push(item.toUpperCase());\n });\n return arr.join(\",\");\n },\n // 缩略图展示\n bgImg(file) {\n let type = \"\";\n const types = {\n IMG: \"\",\n WORD: WORD,\n EXCEL: EXCEL,\n PDF: PDF,\n CSV: CSV,\n RAR: RAR,\n ZIP: ZIP,\n PPT: PPT,\n APK: APK,\n PLIST: PLIST,\n MP4: MP4,\n };\n\n if (file.raw) {\n type = this.fileFormat(file.name.toLowerCase());\n } else {\n type = this.fileFormat(file.url.toLowerCase());\n }\n\n if (type === \"IMG\") {\n return file.url;\n } else {\n return types[type];\n }\n },\n // 文件格式\n fileFormat(name) {\n const images = \"bmp|jpg|jpeg|png|gif|svg|webp|JPG|JPEG|PNG\";\n const word = \"doc|docx|DOC|DOCX\";\n const excel = \"xls|xlsx|XLS|XLSX\";\n const pdf = \"pdf|PDF\";\n const csv = \"csv|CSV\";\n const rar = \"rar|RAR\";\n const zip = \"zip|ZIP\";\n const ppt = \"pptx|PPTX\";\n const apk = \"apk|APK\";\n const plist = \"plist|PLIST\";\n const mp4 = \"mp4|MP4\";\n\n const pattern_images = new RegExp(\".(\" + images + \")$\");\n const pattern_word = new RegExp(\".(\" + word + \")$\");\n const pattern_excel = new RegExp(\".(\" + excel + \")$\");\n const pattern_pdf = new RegExp(\".(\" + pdf + \")$\");\n const pattern_csv = new RegExp(\".(\" + csv + \")$\");\n const pattern_rar = new RegExp(\".(\" + rar + \")$\");\n const pattern_zip = new RegExp(\".(\" + zip + \")$\");\n const pattern_ppt = new RegExp(\".(\" + ppt + \")$\");\n const pattern_apk = new RegExp(\".(\" + apk + \")$\");\n const pattern_plist = new RegExp(\".(\" + plist + \")$\");\n const pattern_mp4 = new RegExp(\".(\" + mp4 + \")$\");\n\n if (name.indexOf(\"?\") > -1) {\n name = name.split(\"?\")[0];\n }\n\n if (pattern_images.test(name)) {\n return \"IMG\";\n } else if (pattern_word.test(name)) {\n return \"WORD\";\n } else if (pattern_excel.test(name)) {\n return \"EXCEL\";\n } else if (pattern_pdf.test(name)) {\n return \"PDF\";\n } else if (pattern_csv.test(name)) {\n return \"CSV\";\n } else if (pattern_rar.test(name)) {\n return \"RAR\";\n } else if (pattern_zip.test(name)) {\n return \"ZIP\";\n } else if (pattern_ppt.test(name)) {\n return \"PPT\";\n } else if (pattern_apk.test(name)) {\n return \"APK\";\n } else if (pattern_plist.test(name)) {\n return \"PLIST\";\n } else if (pattern_mp4.test(name)) {\n return \"MP4\";\n }\n },\n // 开始上传前验证\n beforeUploadForm(file) {\n // 验证文件大小\n if (file.size / 1024 / 1024 > this.formMaxSize) {\n setTimeout(() => {\n this.$message({\n message: `上传文件 “${file.name}” 大小不能超过${this.formMaxSize}M!`,\n type: \"warning\",\n });\n }, 1);\n return false;\n }\n\n // 验证尺寸是否符合\n if (this.formMaxWH.width) {\n const isSize = this.validImage(file).then(\n (data) => {\n return file;\n },\n (data) => {\n this.$message.error(data.msg);\n return Promise.reject();\n }\n );\n return isSize;\n }\n\n // 中文乱码处理\n // if (file.raw) {\n // let reader = new FileReader(); // 读取文件内容\n // reader.readAsText(file.raw, \"gb2312\"); // 防止中文乱码问题,不加reader.onload方法都不会触发\n // reader.onload = function(e) {\n // this.contentHtml = e.target.result; // txt文本内容,接下来就可以对其进行校验处理了\n // };\n // }\n\n // 验证文件类型\n const nameList = file.name.split(\".\");\n const allowTypes = this.fileType.map((type) => type.toLowerCase());\n const ext = \".\" + nameList[nameList.length - 1].toLowerCase();\n if (!allowTypes.includes(ext)) {\n setTimeout(() => {\n this.$message({\n message: `请上传${this.fileType.join(\"、\")}的文件!`,\n type: \"warning\",\n });\n }, 1);\n return false;\n }\n },\n // 校验图片宽高\n validImage(file) {\n const _this = this;\n return new Promise(function (resolve, reject) {\n const width = parseInt(_this.formMaxWH.width, 10);\n const height = parseInt(_this.formMaxWH.height, 10);\n let _URL = window.URL || window.webkitURL;\n let img = new Image();\n img.onload = function () {\n if (img.width !== width || img.height !== height) {\n return reject({\n type: false,\n msg: `请上传${width}px * ${height}px的图片`,\n });\n }\n return resolve({\n type: true,\n });\n };\n img.src = _URL.createObjectURL(file);\n });\n },\n formHandleRemove(file, formFileList) {\n if (file.status !== \"ready\") {\n this.formFileList.splice(this.formFileList.indexOf(file), 1);\n this.noneBtnImg = this.formFileList.length >= this.limit;\n }\n },\n handlePreview(file) {\n if (this.listType === \"text\") {\n this.handlePictureCardPreview(file);\n }\n },\n handlePictureCardPreview(file) {\n let type, url;\n if (file.raw) {\n type = this.fileFormat(file.name.toLowerCase());\n url = file.response.data[0].attachmenturl;\n } else {\n type = this.fileFormat(file.url.toLowerCase());\n url = file.url;\n }\n\n if (type === \"IMG\") {\n this.dialogImageUrl = file.url;\n this.$refs.previewImg.showViewer = true;\n\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\n\n this.$nextTick(() => {\n document\n .querySelector(\".el-image-viewer__close\")\n .addEventListener(\"click\", () => {\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"auto\";\n document.removeEventListener(\"touchmove\", m, true);\n });\n });\n }\n // else if (type === \"PDF\") {\n // window.open(\n // \"https://www.hellogil.com/web/contractPreview.html?url=\" +\n // url.replace(\"http://\", \"https://\")\n // );\n // }\n else if (\n type === \"WORD\" ||\n type === \"EXCEL\" ||\n type === \"CSV\" ||\n type === \"PPT\" ||\n type === \"PDF\"\n ) {\n // window.open(\n // `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +\n // url.replace(\"http://\", \"https://\")\n // );\n const urlWithoutParams = url.split(\"?\")[0].toLowerCase();\n if (\n !urlWithoutParams.endsWith(\".doc\") &&\n !urlWithoutParams.endsWith(\".xlx\")\n ) {\n // URL后缀不包含.doc和.xlx时执行的代码\n // window.open(\n // `https://www.hellogil.com/web/#/officePreview?url=` +\n // encodeURIComponent(url.replace(\"http://\", \"https://\"))\n // );\n getFileUrl(url.replace(\"http://\", \"https://\")).then((res) => {\n if (res.result === \"success\") {\n window.open(res.data);\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n });\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n },\n handleDownload(file) {\n console.log(file);\n var name;\n let url = file.response ? file.response.data[0].attachmenturl : file.url;\n if (file.name) {\n name = file.name;\n if (!name.indexOf(\".\") > -1) {\n var a = url.split(\"/\");\n var b = a[a.length - 1];\n name = file.name + \".\" + b.split(\".\")[1];\n }\n } else {\n var a = url.split(\"/\");\n name = a[a.length - 1];\n }\n axios({\n method: \"post\",\n url:\n process.env.VUE_APP_BASE_API +\n \"/huilianApi/uploader/downloadZipFiles\",\n data:\n \"fileUrls=\" +\n JSON.stringify([\n {\n imgName: name\n .replace(/\\&/g, \"-\")\n .replace(/\\?/g, \"-\")\n .replace(/\\%/g, \"-\"),\n dataImg: url,\n },\n ]),\n responseType: \"blob\", // 加上这个是重点\n }).then((res) => {\n this.downloadFile(res.data, name);\n });\n },\n downloadFile(data, name) {\n const url = window.URL.createObjectURL(new Blob([data]));\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n link.href = url;\n link.setAttribute(\"download\", name);\n document.body.appendChild(link);\n link.click();\n URL.revokeObjectURL(link.href);\n document.body.removeChild(link);\n this.$message({\n message: \"下载成功\",\n type: \"success\",\n });\n },\n // 允许上传文件个数验证\n formHandleExceed(files, formFileList) {\n this.$message.warning(`最多上传 ${this.limit} 个文件!`);\n },\n // 上传文件\n handleUploadForm(file, fileList) {\n if (!file.url) {\n file.url = URL.createObjectURL(file.raw);\n }\n },\n // 上传成功\n handleSuccess(response, file, fileList) {\n var num = 0;\n for (var i = 0; i < fileList.length; i++) {\n if (fileList[i].status === \"success\") {\n num++;\n }\n }\n if (num === fileList.length) {\n this.formFileList = fileList;\n this.$emit(\"update:fileUrl\", this.formFileList);\n this.noneBtnImg = this.formFileList.length >= this.limit;\n if (this.handleSuccessCallback) {\n this.handleSuccessCallback(response, file, fileList);\n }\n }\n this.$message({\n message: \"上传成功\",\n type: \"success\",\n });\n },\n // 上传失败\n handleError(err, file, fileList) {\n console.log(err);\n // this.loading.close()\n },\n\n dragEnd() {\n // this.drag = false;\n this.$emit(\"update:fileUrl\", this.formFileList);\n },\n showImgViewer() {\n this.imgViewerVisible = true;\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\n },\n closeImgViewer() {\n this.imgViewerVisible = false;\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"auto\";\n document.removeEventListener(\"touchmove\", m, true);\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n.upload_file_box {\n position: relative;\n\n .el-upload-list--picture-card {\n .el-upload-list__item {\n width: 104px;\n height: 104px;\n transition: none;\n }\n }\n\n .el-upload--picture-card {\n width: 104px;\n height: 104px;\n line-height: 104px;\n position: relative;\n z-index: 1;\n }\n\n .upload_file_operation {\n width: 100%;\n height: 100%;\n\n .upload_file_bg {\n width: 100%;\n height: 100%;\n background-size: contain;\n }\n }\n\n .disUoloadSty {\n .el-upload--picture-card {\n display: none;\n }\n }\n}\n</style>\n",".upload_file_box {\n position: relative;\n}\n.upload_file_box .el-upload-list--picture-card .el-upload-list__item {\n width: 104px;\n height: 104px;\n transition: none;\n}\n.upload_file_box .el-upload--picture-card {\n width: 104px;\n height: 104px;\n line-height: 104px;\n position: relative;\n z-index: 1;\n}\n.upload_file_box .upload_file_operation {\n width: 100%;\n height: 100%;\n}\n.upload_file_box .upload_file_operation .upload_file_bg {\n width: 100%;\n height: 100%;\n background-size: contain;\n}\n.upload_file_box .disUoloadSty .el-upload--picture-card {\n display: none;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$h=undefined;/* module identifier */const __vue_module_identifier__$h=undefined;/* functional template */const __vue_is_functional_template__$h=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$h=/*#__PURE__*/normalizeComponent({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$h,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$h,false,createInjector,undefined,undefined);__vue_component__$h.install=function(Vue){Vue.component(__vue_component__$h.name,__vue_component__$h);};//
|
|
584
601
|
var script$g={props:{fileUrl:{// 文件数组
|
|
585
602
|
default:()=>{return[];},type:Array},isShowDownload:{// 是否显示
|
|
586
603
|
default:true,type:Boolean},showTitle:{// 是否显示图片名
|
|
@@ -593,8 +610,23 @@ default:"block",type:String}},data(){return{formFileList:[],// 显示上传文
|
|
|
593
610
|
dialogImageUrl:""};},computed:{...mapGetters(["userInfo"])},watch:{fileUrl:{deep:true,immediate:true,handler(){this.formFileList=this.fileUrl;}}},methods:{// 缩略图展示
|
|
594
611
|
bgImg(file){let type="";const types={IMG:"",WORD:img$4,EXCEL:img$8,PDF:img$7,CSV:img$9,RAR:img$5,ZIP:img$3,PPT:img$6,PLIST:img$1};if(file.raw){type=this.fileFormat(file.name);}else{type=this.fileFormat(file.url);}if(type==="IMG"){return file.url;}else{return types[type];}},// 文件格式
|
|
595
612
|
fileFormat(name){const images="bmp|jpg|jpeg|png|gif|svg|webp|JPG|JPEG|PNG";const word="doc|docx|DOC|DOCX";const excel="xls|xlsx|XLS|XLSX";const pdf="pdf|PDF";const csv="csv|CSV";const rar="rar|RAR";const zip="zip|ZIP";const ppt="pptx|PPTX";const plist="plist|PLIST";const pattern_images=new RegExp(".("+images+")$");const pattern_word=new RegExp(".("+word+")$");const pattern_excel=new RegExp(".("+excel+")$");const pattern_pdf=new RegExp(".("+pdf+")$");const pattern_csv=new RegExp(".("+csv+")$");const pattern_rar=new RegExp(".("+rar+")$");const pattern_zip=new RegExp(".("+zip+")$");const pattern_ppt=new RegExp(".("+ppt+")$");const pattern_plist=new RegExp(".("+plist+")$");if(name.indexOf("?")>-1){name=name.split("?")[0];}if(pattern_images.test(name)){return"IMG";}else if(pattern_word.test(name)){return"WORD";}else if(pattern_excel.test(name)){return"EXCEL";}else if(pattern_pdf.test(name)){return"PDF";}else if(pattern_csv.test(name)){return"CSV";}else if(pattern_rar.test(name)){return"RAR";}else if(pattern_zip.test(name)){return"ZIP";}else if(pattern_ppt.test(name)){return"PPT";}else if(pattern_plist.test(name)){return"PLIST";}},handlePictureCardPreview(file){let type,url;if(file.raw){type=this.fileFormat(file.name);url=file.response.data[0].attachmenturl;}else{type=this.fileFormat(file.url);url=file.url;}if(type==="IMG"){this.dialogImageUrl=file.url;this.$refs.previewImg.showViewer=true;const m=e=>{e.preventDefault();};document.body.style.overflow="hidden";document.addEventListener("touchmove",m,false);// 禁止页面滑动
|
|
596
|
-
this.$nextTick(()=>{document.querySelector(".el-image-viewer__close").addEventListener("click",()=>{const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);});});}else if(type
|
|
597
|
-
}).then(res=>{this.downloadFile(res.data,name);});},downloadFile(data,name){const url=window.URL.createObjectURL(new Blob([data]));const link=document.createElement("a");link.style.display="none";link.href=url;link.setAttribute("download",name);document.body.appendChild(link);link.click();URL.revokeObjectURL(link.href);document.body.removeChild(link);this.$message({message:"下载成功",type:"success"});}}};/* script */const __vue_script__$g=script$g;/* template */var __vue_render__$g=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"show_file_box"},[_c("div",{staticStyle:{height:"0",width:"0",overflow:"hidden"}},[_c("el-image",{ref:"previewImg",attrs:{src:_vm.dialogImageUrl,"preview-src-list":_vm.formFileList.map(function(item){return _vm.bgImg(item);})}})],1),_vm._v(" "),_vm.type==="block"?_c("div",{},_vm._l(_vm.fileUrl,function(item,index){return _c("div",{key:index,staticClass:"show_file_operation"},[_c("div",{staticClass:"show_file_bg",style:"background: url("+_vm.bgImg(item)+") no-repeat 50% 50%; background-size: contain;"}),_vm._v(" "),_c("span",{staticClass:"el-show-list__item-actions"},[_c("span",{staticClass:"el-show-list__item-preview",on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_c("i",{staticClass:"el-icon-zoom-in"})]),_vm._v(" "),_c("span",{directives:[{name:"show",rawName:"v-show",value:_vm.isShowDownload,expression:"isShowDownload"}],staticClass:"el-show-list__item-delete",on:{click:function($event){return _vm.handleDownload(item);}}},[_c("i",{staticClass:"el-icon-download"})])]),_vm._v(" "),_vm.showTitle?_c("p",{staticClass:"show_file_title"},[_vm._v(_vm._s(item.name))]):_vm._e()]);}),0):_vm._e(),_vm._v(" "),_vm.type==="text"?_c("div",_vm._l(_vm.fileUrl,function(item,index){return _c("a",{key:index,on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_vm._v(_vm._s(item.name))]);}),0):_vm._e(),_vm._v(" "),_vm.type==="custom"?_c("div",[_vm._t("content",null,{props:_vm.fileUrl,callback:_vm.handlePictureCardPreviewCallback})],2):_vm._e(),_vm._v(" "),_vm.type==="list"?_c("div",[_c("ul",_vm._l(_vm.fileUrl,function(item,index){return _c("li",{key:index,staticClass:"clearfix",class:index+1<_vm.fileUrl.length?"mb-15":""},[_vm._m(0,true),_vm._v(" "),_c("div",{staticClass:"clearfix fl ml-10 textCss",staticStyle:{width:"calc(100% - 30px)"}},[_c("div",{staticClass:"fl imgName"},[_vm._v("\n "+_vm._s(item.name)+"\n ")]),_vm._v(" "),_c("el-button",{directives:[{name:"show",rawName:"v-show",value:_vm.isShowDownload,expression:"isShowDownload"}],staticClass:"fr",attrs:{icon:"el-icon-download",type:"text"},on:{click:function($event){return _vm.handleDownload(item);}}},[_vm._v("下载")]),_vm._v(" "),_c("el-button",{staticClass:"fr mr-15",attrs:{icon:"el-icon-zoom-in",type:"text"},on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_vm._v("预览")])],1)]);}),0)]):_vm._e()]);};var __vue_staticRenderFns__$g=[function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",{staticClass:"fl"},[_c("i",{staticClass:"el-icon-folder-opened"})]);}];__vue_render__$g._withStripped=true;/* style */const __vue_inject_styles__$g=function(inject){if(!inject)return;inject("data-v-709dad1a_0",{source:".show_file_box a {\n color: #10c2b0;\n}\n.show_file_box::after {\n content: \"\";\n display: block;\n clear: both;\n}\n.show_file_box .show_file_operation {\n border-radius: 4px;\n position: relative;\n line-height: 104px;\n float: left;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n.show_file_box .show_file_operation .show_file_bg {\n width: 104px;\n height: 104px;\n border: 1px solid #c0ccda;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions {\n position: absolute;\n width: 104px;\n height: 104px;\n left: 0;\n top: 0;\n cursor: default;\n text-align: center;\n color: #fff;\n opacity: 0;\n font-size: 20px;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity 0.3s;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions span {\n cursor: pointer;\n font-size: inherit;\n color: inherit;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions .el-show-list__item-delete {\n position: static;\n top: 0;\n margin-left: 20px;\n}\n.show_file_box .show_file_operation:hover .el-show-list__item-actions {\n opacity: 1;\n}\n.show_file_box .show_file_operation .show_file_title {\n font-size: 12px;\n color: #999;\n line-height: 12px;\n text-align: center;\n}\n.show_file_box ul,\n.show_file_box li {\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n max-width: 500px;\n min-width: 250px;\n}\n.show_file_box li {\n width: 100%;\n color: #409eff;\n font-size: 13px;\n line-height: 22px;\n}\n.show_file_box li .imgName {\n width: calc(100% - 140px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.show_file_box li .el-button {\n color: #409eff;\n padding: 0;\n font-size: 13px;\n line-height: 20px;\n}\n.show_file_box li .el-button i {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{"version":3,"sources":["D:\\项目\\npm\\components\\ShowFile\\index.vue","index.vue"],"names":[],"mappings":"AAmVA;EACA,cAAA;AClVA;ADoVA;EACA,WAAA;EACA,cAAA;EACA,WAAA;AClVA;ADoVA;EAGA,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,WAAA;EACA,kBAAA;EACA,mBAAA;ACpVA;ADqVA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;ACnVA;ADqVA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,OAAA;EACA,MAAA;EACA,eAAA;EACA,kBAAA;EACA,WAAA;EACA,UAAA;EACA,eAAA;EACA,oCAAA;EACA,wBAAA;ACnVA;ADoVA;EACA,eAAA;EACA,kBAAA;EACA,cAAA;AClVA;ADoVA;EACA,gBAAA;EACA,MAAA;EACA,iBAAA;AClVA;ADsVA;EACA,UAAA;ACpVA;ADuVA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;ACrVA;ADyVA;;EAEA,gBAAA;EACA,SAAA;EACA,UAAA;EAEA,WAAA;EACA,gBAAA;EACA,gBAAA;ACxVA;AD0VA;EACA,WAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;ACxVA;ADyVA;EAEA,yBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;ACxVA;AD0VA;EACA,cAAA;EACA,UAAA;EACA,eAAA;EACA,iBAAA;ACxVA;ADyVA;EACA,iBAAA;ACvVA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"show_file_box\">\r\n <div style=\"height: 0; width: 0; overflow: hidden\">\r\n <el-image\r\n ref=\"previewImg\"\r\n :src=\"dialogImageUrl\"\r\n :preview-src-list=\"formFileList.map((item) => bgImg(item))\"\r\n />\r\n </div>\r\n <div class=\"\" v-if=\"type === 'block'\">\r\n <div\r\n class=\"show_file_operation\"\r\n v-for=\"(item, index) in fileUrl\"\r\n :key=\"index\"\r\n >\r\n <div\r\n class=\"show_file_bg\"\r\n :style=\"`background: url(${bgImg(\r\n item\r\n )}) no-repeat 50% 50%; background-size: contain;`\"\r\n />\r\n <span class=\"el-show-list__item-actions\">\r\n <span\r\n class=\"el-show-list__item-preview\"\r\n @click=\"handlePictureCardPreview(item)\"\r\n >\r\n <i class=\"el-icon-zoom-in\" />\r\n </span>\r\n <span class=\"el-show-list__item-delete\" v-show=\"isShowDownload\" @click=\"handleDownload(item)\">\r\n \r\n <i class=\"el-icon-download\" />\r\n </span>\r\n </span>\r\n <p v-if=\"showTitle\" class=\"show_file_title\">{{ item.name }}</p>\r\n </div>\r\n </div>\r\n <div v-if=\"type === 'text'\">\r\n <a\r\n v-for=\"(item, index) in fileUrl\"\r\n :key=\"index\"\r\n @click=\"handlePictureCardPreview(item)\"\r\n >{{ item.name }}</a\r\n >\r\n </div>\r\n <div v-if=\"type === 'custom'\">\r\n <slot\r\n name=\"content\"\r\n :props=\"fileUrl\"\r\n :callback=\"handlePictureCardPreviewCallback\"\r\n >\r\n </slot>\r\n </div>\r\n <div v-if=\"type === 'list'\">\r\n <ul>\r\n <li\r\n class=\"clearfix\"\r\n :class=\"index + 1 < fileUrl.length ? 'mb-15' : ''\"\r\n v-for=\"(item, index) in fileUrl\"\r\n :key=\"index\"\r\n >\r\n <span class=\"fl\">\r\n <i class=\"el-icon-folder-opened\"></i>\r\n </span>\r\n <div\r\n class=\"clearfix fl ml-10 textCss\"\r\n style=\"width: calc(100% - 30px)\"\r\n >\r\n <div class=\"fl imgName\">\r\n {{ item.name }}\r\n </div>\r\n <!-- <i class=\"el-icon-download\" class=\"fr ml-10\" @click=\"handleDownload(item)\">下载</i>\r\n <i class=\"el-icon-zoom-in\" class=\"fr\">预览</i> -->\r\n <el-button\r\n icon=\"el-icon-download\"\r\n type=\"text\"\r\n class=\"fr\"\r\n v-show=\"isShowDownload\"\r\n @click=\"handleDownload(item)\"\r\n >下载</el-button\r\n >\r\n <el-button\r\n icon=\"el-icon-zoom-in\"\r\n type=\"text\"\r\n class=\"fr mr-15\"\r\n @click=\"handlePictureCardPreview(item)\"\r\n >预览</el-button\r\n >\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters } from \"vuex\";\r\nimport axios from \"axios\";\r\nimport CSV from \"../UploadFile/fileImages/CSV.png\";\r\nimport EXCEL from \"../UploadFile/fileImages/EXCEL.png\";\r\nimport PDF from \"../UploadFile/fileImages/PDF.png\";\r\nimport PPT from \"../UploadFile/fileImages/PPT.png\";\r\nimport RAR from \"../UploadFile/fileImages/RAR.png\";\r\nimport WORD from \"../UploadFile/fileImages/WORD.png\";\r\nimport ZIP from \"../UploadFile/fileImages/ZIP.png\";\r\nimport PLIST from \"../UploadFile/fileImages/PLIST.png\";\r\n\r\nexport default {\r\n props: {\r\n fileUrl: {\r\n // 文件数组\r\n default: () => {\r\n return [];\r\n },\r\n type: Array,\r\n },\r\n isShowDownload: {\r\n // 是否显示\r\n default: true,\r\n type: Boolean,\r\n },\r\n showTitle: {\r\n // 是否显示图片名\r\n default: false,\r\n type: Boolean,\r\n },\r\n // isText: { // 是否以文字形式展示\r\n // default: false,\r\n // type: Boolean\r\n // },\r\n type: {\r\n // 展示类型{block: 块,text: 文字,list: 列,custom:自定义}\r\n default: \"block\",\r\n type: String,\r\n },\r\n },\r\n data() {\r\n return {\r\n formFileList: [], // 显示上传文件\r\n dialogImageUrl: \"\",\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"userInfo\"]),\r\n },\r\n watch: {\r\n fileUrl: {\r\n deep: true,\r\n immediate: true,\r\n handler() {\r\n this.formFileList = this.fileUrl;\r\n },\r\n },\r\n },\r\n methods: {\r\n // 缩略图展示\r\n bgImg(file) {\r\n let type = \"\";\r\n const types = {\r\n IMG: \"\",\r\n WORD: WORD,\r\n EXCEL: EXCEL,\r\n PDF: PDF,\r\n CSV: CSV,\r\n RAR: RAR,\r\n ZIP: ZIP,\r\n PPT: PPT,\r\n PLIST: PLIST,\r\n };\r\n\r\n if (file.raw) {\r\n type = this.fileFormat(file.name);\r\n } else {\r\n type = this.fileFormat(file.url);\r\n }\r\n\r\n if (type === \"IMG\") {\r\n return file.url;\r\n } else {\r\n return types[type];\r\n }\r\n },\r\n // 文件格式\r\n fileFormat(name) {\r\n const images = \"bmp|jpg|jpeg|png|gif|svg|webp|JPG|JPEG|PNG\";\r\n const word = \"doc|docx|DOC|DOCX\";\r\n const excel = \"xls|xlsx|XLS|XLSX\";\r\n const pdf = \"pdf|PDF\";\r\n const csv = \"csv|CSV\";\r\n const rar = \"rar|RAR\";\r\n const zip = \"zip|ZIP\";\r\n const ppt = \"pptx|PPTX\";\r\n const plist = \"plist|PLIST\";\r\n\r\n const pattern_images = new RegExp(\".(\" + images + \")$\");\r\n const pattern_word = new RegExp(\".(\" + word + \")$\");\r\n const pattern_excel = new RegExp(\".(\" + excel + \")$\");\r\n const pattern_pdf = new RegExp(\".(\" + pdf + \")$\");\r\n const pattern_csv = new RegExp(\".(\" + csv + \")$\");\r\n const pattern_rar = new RegExp(\".(\" + rar + \")$\");\r\n const pattern_zip = new RegExp(\".(\" + zip + \")$\");\r\n const pattern_ppt = new RegExp(\".(\" + ppt + \")$\");\r\n const pattern_plist = new RegExp(\".(\" + plist + \")$\");\r\n\r\n if (name.indexOf(\"?\") > -1) {\r\n name = name.split(\"?\")[0];\r\n }\r\n\r\n if (pattern_images.test(name)) {\r\n return \"IMG\";\r\n } else if (pattern_word.test(name)) {\r\n return \"WORD\";\r\n } else if (pattern_excel.test(name)) {\r\n return \"EXCEL\";\r\n } else if (pattern_pdf.test(name)) {\r\n return \"PDF\";\r\n } else if (pattern_csv.test(name)) {\r\n return \"CSV\";\r\n } else if (pattern_rar.test(name)) {\r\n return \"RAR\";\r\n } else if (pattern_zip.test(name)) {\r\n return \"ZIP\";\r\n } else if (pattern_ppt.test(name)) {\r\n return \"PPT\";\r\n } else if (pattern_plist.test(name)) {\r\n return \"PLIST\";\r\n }\r\n },\r\n\r\n handlePictureCardPreview(file) {\r\n let type, url;\r\n if (file.raw) {\r\n type = this.fileFormat(file.name);\r\n url = file.response.data[0].attachmenturl;\r\n } else {\r\n type = this.fileFormat(file.url);\r\n url = file.url;\r\n }\r\n\r\n if (type === \"IMG\") {\r\n this.dialogImageUrl = file.url;\r\n this.$refs.previewImg.showViewer = true;\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"hidden\";\r\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\r\n\r\n this.$nextTick(() => {\r\n document\r\n .querySelector(\".el-image-viewer__close\")\r\n .addEventListener(\"click\", () => {\r\n const m = (e) => {\r\n e.preventDefault();\r\n };\r\n document.body.style.overflow = \"auto\";\r\n document.removeEventListener(\"touchmove\", m, true);\r\n });\r\n });\r\n } else if (type === \"PDF\") {\r\n window.open(\r\n \"https://www.hellogil.com/web/contractPreview.html?url=\" +\r\n url.replace(\"http://\", \"https://\")\r\n );\r\n } else if (\r\n type === \"WORD\" ||\r\n type === \"EXCEL\" ||\r\n type === \"CSV\" ||\r\n type === \"PPT\"\r\n ) {\r\n window.open(\r\n `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +\r\n url.replace(\"http://\", \"https://\")\r\n );\r\n } else {\r\n this.$message({\r\n message: \"该文件不支持预览!\",\r\n type: \"warning\",\r\n });\r\n }\r\n },\r\n handlePictureCardPreviewCallback(item) {\r\n this.handlePictureCardPreview(item);\r\n },\r\n handleDownload(file) {\r\n console.log(file);\r\n var name;\r\n if (file.name) {\r\n name = file.name;\r\n if (!name.indexOf(\".\") > -1) {\r\n var a = file.url.split(\"/\");\r\n var b = a[a.length - 1];\r\n name = file.name + \".\" + b.split(\".\")[1];\r\n }\r\n } else {\r\n var a = file.url.split(\"/\");\r\n name = a[a.length - 1];\r\n }\r\n axios({\r\n method: \"post\",\r\n url:\r\n process.env.VUE_APP_BASE_API +\r\n \"/huilianApi/uploader/downloadZipFiles\",\r\n data:\r\n \"fileUrls=\" +\r\n JSON.stringify([\r\n {\r\n imgName: name\r\n .replace(/\\&/g, \"-\")\r\n .replace(/\\?/g, \"-\")\r\n .replace(/\\%/g, \"-\"),\r\n dataImg: file.url,\r\n },\r\n ]),\r\n responseType: \"blob\", // 加上这个是重点\r\n }).then((res) => {\r\n this.downloadFile(res.data, name);\r\n });\r\n },\r\n downloadFile(data, name) {\r\n const url = window.URL.createObjectURL(new Blob([data]));\r\n const link = document.createElement(\"a\");\r\n link.style.display = \"none\";\r\n link.href = url;\r\n link.setAttribute(\"download\", name);\r\n document.body.appendChild(link);\r\n link.click();\r\n URL.revokeObjectURL(link.href);\r\n document.body.removeChild(link);\r\n this.$message({\r\n message: \"下载成功\",\r\n type: \"success\",\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.show_file_box {\r\n a {\r\n color: #10c2b0;\r\n }\r\n &::after {\r\n content: \"\";\r\n display: block;\r\n clear: both;\r\n }\r\n .show_file_operation {\r\n // width: 104px;\r\n // height: 104px;\r\n border-radius: 4px;\r\n position: relative;\r\n line-height: 104px;\r\n float: left;\r\n margin-right: 10px;\r\n margin-bottom: 10px;\r\n .show_file_bg {\r\n width: 104px;\r\n height: 104px;\r\n border: 1px solid #c0ccda;\r\n }\r\n .el-show-list__item-actions {\r\n position: absolute;\r\n width: 104px;\r\n height: 104px;\r\n left: 0;\r\n top: 0;\r\n cursor: default;\r\n text-align: center;\r\n color: #fff;\r\n opacity: 0;\r\n font-size: 20px;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n transition: opacity 0.3s;\r\n span {\r\n cursor: pointer;\r\n font-size: inherit;\r\n color: inherit;\r\n }\r\n .el-show-list__item-delete {\r\n position: static;\r\n top: 0;\r\n margin-left: 20px;\r\n }\r\n }\r\n &:hover {\r\n .el-show-list__item-actions {\r\n opacity: 1;\r\n }\r\n }\r\n .show_file_title {\r\n font-size: 12px;\r\n color: #999;\r\n line-height: 12px;\r\n text-align: center;\r\n }\r\n }\r\n\r\n ul,\r\n li {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n // width: 500px;\r\n width: 100%;\r\n max-width: 500px;\r\n min-width: 250px;\r\n }\r\n li {\r\n width: 100%;\r\n color: #409eff;\r\n font-size: 13px;\r\n line-height: 22px;\r\n .imgName {\r\n // width: 350px;\r\n width: calc(100% - 140px);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n .el-button {\r\n color: #409eff;\r\n padding: 0;\r\n font-size: 13px;\r\n line-height: 20px;\r\n i {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n",".show_file_box a {\n color: #10c2b0;\n}\n.show_file_box::after {\n content: \"\";\n display: block;\n clear: both;\n}\n.show_file_box .show_file_operation {\n border-radius: 4px;\n position: relative;\n line-height: 104px;\n float: left;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n.show_file_box .show_file_operation .show_file_bg {\n width: 104px;\n height: 104px;\n border: 1px solid #c0ccda;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions {\n position: absolute;\n width: 104px;\n height: 104px;\n left: 0;\n top: 0;\n cursor: default;\n text-align: center;\n color: #fff;\n opacity: 0;\n font-size: 20px;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity 0.3s;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions span {\n cursor: pointer;\n font-size: inherit;\n color: inherit;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions .el-show-list__item-delete {\n position: static;\n top: 0;\n margin-left: 20px;\n}\n.show_file_box .show_file_operation:hover .el-show-list__item-actions {\n opacity: 1;\n}\n.show_file_box .show_file_operation .show_file_title {\n font-size: 12px;\n color: #999;\n line-height: 12px;\n text-align: center;\n}\n.show_file_box ul,\n.show_file_box li {\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n max-width: 500px;\n min-width: 250px;\n}\n.show_file_box li {\n width: 100%;\n color: #409eff;\n font-size: 13px;\n line-height: 22px;\n}\n.show_file_box li .imgName {\n width: calc(100% - 140px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.show_file_box li .el-button {\n color: #409eff;\n padding: 0;\n font-size: 13px;\n line-height: 20px;\n}\n.show_file_box li .el-button i {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$g=undefined;/* module identifier */const __vue_module_identifier__$g=undefined;/* functional template */const __vue_is_functional_template__$g=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$g=/*#__PURE__*/normalizeComponent({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$g,__vue_scope_id__$g,__vue_is_functional_template__$g,__vue_module_identifier__$g,false,createInjector,undefined,undefined);__vue_component__$g.install=function(Vue){Vue.component(__vue_component__$g.name,__vue_component__$g);};var ElTableDraggable_umd={exports:{}};(function(module,exports){(function webpackUniversalModuleDefinition(root,factory){module.exports=factory();})(typeof self!=='undefined'?self:commonjsGlobal,function(){return(/******/function(modules){// webpackBootstrap
|
|
613
|
+
this.$nextTick(()=>{document.querySelector(".el-image-viewer__close").addEventListener("click",()=>{const m=e=>{e.preventDefault();};document.body.style.overflow="auto";document.removeEventListener("touchmove",m,true);});});}// else if (type === "PDF") {
|
|
614
|
+
// window.open(
|
|
615
|
+
// "https://www.hellogil.com/web/contractPreview.html?url=" +
|
|
616
|
+
// url.replace("http://", "https://")
|
|
617
|
+
// );
|
|
618
|
+
// }
|
|
619
|
+
else if(type==="WORD"||type==="EXCEL"||type==="CSV"||type==="PPT"||type==="PDF"){// window.open(
|
|
620
|
+
// `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +
|
|
621
|
+
// url.replace("http://", "https://")
|
|
622
|
+
// );
|
|
623
|
+
const urlWithoutParams=url.split("?")[0].toLowerCase();if(!urlWithoutParams.endsWith(".doc")&&!urlWithoutParams.endsWith(".xlx")){// URL后缀不包含.doc和.xlx时执行的代码
|
|
624
|
+
// window.open(
|
|
625
|
+
// `https://www.hellogil.com/web/#/officePreview?url=` +
|
|
626
|
+
// encodeURIComponent(url.replace("http://", "https://"))
|
|
627
|
+
// );
|
|
628
|
+
getFileUrl(url.replace("http://","https://")).then(res=>{if(res.result==="success"){window.open(res.data);}else{this.$message({message:"该文件不支持预览!",type:"warning"});}});}else{this.$message({message:"该文件不支持预览!",type:"warning"});}}else{this.$message({message:"该文件不支持预览!",type:"warning"});}},handlePictureCardPreviewCallback(item){this.handlePictureCardPreview(item);},handleDownload(file){console.log(file);var name;if(file.name){name=file.name;if(!name.indexOf(".")>-1){var a=file.url.split("/");var b=a[a.length-1];name=file.name+"."+b.split(".")[1];}}else{var a=file.url.split("/");name=a[a.length-1];}axios$1({method:"post",url:process.env.VUE_APP_BASE_API+"/huilianApi/uploader/downloadZipFiles",data:"fileUrls="+JSON.stringify([{imgName:name.replace(/\&/g,"-").replace(/\?/g,"-").replace(/\%/g,"-"),dataImg:file.url}]),responseType:"blob"// 加上这个是重点
|
|
629
|
+
}).then(res=>{this.downloadFile(res.data,name);});},downloadFile(data,name){const url=window.URL.createObjectURL(new Blob([data]));const link=document.createElement("a");link.style.display="none";link.href=url;link.setAttribute("download",name);document.body.appendChild(link);link.click();URL.revokeObjectURL(link.href);document.body.removeChild(link);this.$message({message:"下载成功",type:"success"});}}};/* script */const __vue_script__$g=script$g;/* template */var __vue_render__$g=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"show_file_box"},[_c("div",{staticStyle:{height:"0",width:"0",overflow:"hidden"}},[_c("el-image",{ref:"previewImg",attrs:{src:_vm.dialogImageUrl,"preview-src-list":_vm.formFileList.map(function(item){return _vm.bgImg(item);})}})],1),_vm._v(" "),_vm.type==="block"?_c("div",{},_vm._l(_vm.fileUrl,function(item,index){return _c("div",{key:index,staticClass:"show_file_operation"},[_c("div",{staticClass:"show_file_bg",style:"background: url("+_vm.bgImg(item)+") no-repeat 50% 50%; background-size: contain;"}),_vm._v(" "),_c("span",{staticClass:"el-show-list__item-actions"},[_c("span",{staticClass:"el-show-list__item-preview",on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_c("i",{staticClass:"el-icon-zoom-in"})]),_vm._v(" "),_c("span",{directives:[{name:"show",rawName:"v-show",value:_vm.isShowDownload,expression:"isShowDownload"}],staticClass:"el-show-list__item-delete",on:{click:function($event){return _vm.handleDownload(item);}}},[_c("i",{staticClass:"el-icon-download"})])]),_vm._v(" "),_vm.showTitle?_c("p",{staticClass:"show_file_title"},[_vm._v(_vm._s(item.name))]):_vm._e()]);}),0):_vm._e(),_vm._v(" "),_vm.type==="text"?_c("div",_vm._l(_vm.fileUrl,function(item,index){return _c("a",{key:index,on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_vm._v(_vm._s(item.name))]);}),0):_vm._e(),_vm._v(" "),_vm.type==="custom"?_c("div",[_vm._t("content",null,{props:_vm.fileUrl,callback:_vm.handlePictureCardPreviewCallback})],2):_vm._e(),_vm._v(" "),_vm.type==="list"?_c("div",[_c("ul",_vm._l(_vm.fileUrl,function(item,index){return _c("li",{key:index,staticClass:"clearfix",class:index+1<_vm.fileUrl.length?"mb-15":""},[_vm._m(0,true),_vm._v(" "),_c("div",{staticClass:"clearfix fl ml-10 textCss",staticStyle:{width:"calc(100% - 30px)"}},[_c("div",{staticClass:"fl imgName"},[_vm._v("\n "+_vm._s(item.name)+"\n ")]),_vm._v(" "),_c("el-button",{directives:[{name:"show",rawName:"v-show",value:_vm.isShowDownload,expression:"isShowDownload"}],staticClass:"fr",attrs:{icon:"el-icon-download",type:"text"},on:{click:function($event){return _vm.handleDownload(item);}}},[_vm._v("下载")]),_vm._v(" "),_c("el-button",{staticClass:"fr mr-15",attrs:{icon:"el-icon-zoom-in",type:"text"},on:{click:function($event){return _vm.handlePictureCardPreview(item);}}},[_vm._v("预览")])],1)]);}),0)]):_vm._e()]);};var __vue_staticRenderFns__$g=[function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",{staticClass:"fl"},[_c("i",{staticClass:"el-icon-folder-opened"})]);}];__vue_render__$g._withStripped=true;/* style */const __vue_inject_styles__$g=function(inject){if(!inject)return;inject("data-v-72ef282a_0",{source:".show_file_box a {\n color: #10c2b0;\n}\n.show_file_box::after {\n content: \"\";\n display: block;\n clear: both;\n}\n.show_file_box .show_file_operation {\n border-radius: 4px;\n position: relative;\n line-height: 104px;\n float: left;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n.show_file_box .show_file_operation .show_file_bg {\n width: 104px;\n height: 104px;\n border: 1px solid #c0ccda;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions {\n position: absolute;\n width: 104px;\n height: 104px;\n left: 0;\n top: 0;\n cursor: default;\n text-align: center;\n color: #fff;\n opacity: 0;\n font-size: 20px;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity 0.3s;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions span {\n cursor: pointer;\n font-size: inherit;\n color: inherit;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions .el-show-list__item-delete {\n position: static;\n top: 0;\n margin-left: 20px;\n}\n.show_file_box .show_file_operation:hover .el-show-list__item-actions {\n opacity: 1;\n}\n.show_file_box .show_file_operation .show_file_title {\n font-size: 12px;\n color: #999;\n line-height: 12px;\n text-align: center;\n}\n.show_file_box ul,\n.show_file_box li {\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n max-width: 500px;\n min-width: 250px;\n}\n.show_file_box li {\n width: 100%;\n color: #409eff;\n font-size: 13px;\n line-height: 22px;\n}\n.show_file_box li .imgName {\n width: calc(100% - 140px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.show_file_box li .el-button {\n color: #409eff;\n padding: 0;\n font-size: 13px;\n line-height: 20px;\n}\n.show_file_box li .el-button i {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=index.vue.map */",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/ShowFile/index.vue","index.vue"],"names":[],"mappings":"AAoXA;EACA,cAAA;ACnXA;ADqXA;EACA,WAAA;EACA,cAAA;EACA,WAAA;ACnXA;ADqXA;EAGA,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,WAAA;EACA,kBAAA;EACA,mBAAA;ACrXA;ADsXA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;ACpXA;ADsXA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,OAAA;EACA,MAAA;EACA,eAAA;EACA,kBAAA;EACA,WAAA;EACA,UAAA;EACA,eAAA;EACA,oCAAA;EACA,wBAAA;ACpXA;ADqXA;EACA,eAAA;EACA,kBAAA;EACA,cAAA;ACnXA;ADqXA;EACA,gBAAA;EACA,MAAA;EACA,iBAAA;ACnXA;ADuXA;EACA,UAAA;ACrXA;ADwXA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;ACtXA;AD0XA;;EAEA,gBAAA;EACA,SAAA;EACA,UAAA;EAEA,WAAA;EACA,gBAAA;EACA,gBAAA;ACzXA;AD2XA;EACA,WAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;ACzXA;AD0XA;EAEA,yBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;ACzXA;AD2XA;EACA,cAAA;EACA,UAAA;EACA,eAAA;EACA,iBAAA;ACzXA;AD0XA;EACA,iBAAA;ACxXA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\n <div class=\"show_file_box\">\n <div style=\"height: 0; width: 0; overflow: hidden\">\n <el-image\n ref=\"previewImg\"\n :src=\"dialogImageUrl\"\n :preview-src-list=\"formFileList.map((item) => bgImg(item))\"\n />\n </div>\n <div class=\"\" v-if=\"type === 'block'\">\n <div\n class=\"show_file_operation\"\n v-for=\"(item, index) in fileUrl\"\n :key=\"index\"\n >\n <div\n class=\"show_file_bg\"\n :style=\"`background: url(${bgImg(\n item\n )}) no-repeat 50% 50%; background-size: contain;`\"\n />\n <span class=\"el-show-list__item-actions\">\n <span\n class=\"el-show-list__item-preview\"\n @click=\"handlePictureCardPreview(item)\"\n >\n <i class=\"el-icon-zoom-in\" />\n </span>\n <span\n class=\"el-show-list__item-delete\"\n v-show=\"isShowDownload\"\n @click=\"handleDownload(item)\"\n >\n <i class=\"el-icon-download\" />\n </span>\n </span>\n <p v-if=\"showTitle\" class=\"show_file_title\">{{ item.name }}</p>\n </div>\n </div>\n <div v-if=\"type === 'text'\">\n <a\n v-for=\"(item, index) in fileUrl\"\n :key=\"index\"\n @click=\"handlePictureCardPreview(item)\"\n >{{ item.name }}</a\n >\n </div>\n <div v-if=\"type === 'custom'\">\n <slot\n name=\"content\"\n :props=\"fileUrl\"\n :callback=\"handlePictureCardPreviewCallback\"\n >\n </slot>\n </div>\n <div v-if=\"type === 'list'\">\n <ul>\n <li\n class=\"clearfix\"\n :class=\"index + 1 < fileUrl.length ? 'mb-15' : ''\"\n v-for=\"(item, index) in fileUrl\"\n :key=\"index\"\n >\n <span class=\"fl\">\n <i class=\"el-icon-folder-opened\"></i>\n </span>\n <div\n class=\"clearfix fl ml-10 textCss\"\n style=\"width: calc(100% - 30px)\"\n >\n <div class=\"fl imgName\">\n {{ item.name }}\n </div>\n <!-- <i class=\"el-icon-download\" class=\"fr ml-10\" @click=\"handleDownload(item)\">下载</i>\n <i class=\"el-icon-zoom-in\" class=\"fr\">预览</i> -->\n <el-button\n icon=\"el-icon-download\"\n type=\"text\"\n class=\"fr\"\n v-show=\"isShowDownload\"\n @click=\"handleDownload(item)\"\n >下载</el-button\n >\n <el-button\n icon=\"el-icon-zoom-in\"\n type=\"text\"\n class=\"fr mr-15\"\n @click=\"handlePictureCardPreview(item)\"\n >预览</el-button\n >\n </div>\n </li>\n </ul>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport axios from \"axios\";\nimport CSV from \"../UploadFile/fileImages/CSV.png\";\nimport EXCEL from \"../UploadFile/fileImages/EXCEL.png\";\nimport PDF from \"../UploadFile/fileImages/PDF.png\";\nimport PPT from \"../UploadFile/fileImages/PPT.png\";\nimport RAR from \"../UploadFile/fileImages/RAR.png\";\nimport WORD from \"../UploadFile/fileImages/WORD.png\";\nimport ZIP from \"../UploadFile/fileImages/ZIP.png\";\nimport PLIST from \"../UploadFile/fileImages/PLIST.png\";\nimport { getFileUrl } from \"../public\";\n\nexport default {\n props: {\n fileUrl: {\n // 文件数组\n default: () => {\n return [];\n },\n type: Array,\n },\n isShowDownload: {\n // 是否显示\n default: true,\n type: Boolean,\n },\n showTitle: {\n // 是否显示图片名\n default: false,\n type: Boolean,\n },\n // isText: { // 是否以文字形式展示\n // default: false,\n // type: Boolean\n // },\n type: {\n // 展示类型{block: 块,text: 文字,list: 列,custom:自定义}\n default: \"block\",\n type: String,\n },\n },\n data() {\n return {\n formFileList: [], // 显示上传文件\n dialogImageUrl: \"\",\n };\n },\n computed: {\n ...mapGetters([\"userInfo\"]),\n },\n watch: {\n fileUrl: {\n deep: true,\n immediate: true,\n handler() {\n this.formFileList = this.fileUrl;\n },\n },\n },\n methods: {\n // 缩略图展示\n bgImg(file) {\n let type = \"\";\n const types = {\n IMG: \"\",\n WORD: WORD,\n EXCEL: EXCEL,\n PDF: PDF,\n CSV: CSV,\n RAR: RAR,\n ZIP: ZIP,\n PPT: PPT,\n PLIST: PLIST,\n };\n\n if (file.raw) {\n type = this.fileFormat(file.name);\n } else {\n type = this.fileFormat(file.url);\n }\n\n if (type === \"IMG\") {\n return file.url;\n } else {\n return types[type];\n }\n },\n // 文件格式\n fileFormat(name) {\n const images = \"bmp|jpg|jpeg|png|gif|svg|webp|JPG|JPEG|PNG\";\n const word = \"doc|docx|DOC|DOCX\";\n const excel = \"xls|xlsx|XLS|XLSX\";\n const pdf = \"pdf|PDF\";\n const csv = \"csv|CSV\";\n const rar = \"rar|RAR\";\n const zip = \"zip|ZIP\";\n const ppt = \"pptx|PPTX\";\n const plist = \"plist|PLIST\";\n\n const pattern_images = new RegExp(\".(\" + images + \")$\");\n const pattern_word = new RegExp(\".(\" + word + \")$\");\n const pattern_excel = new RegExp(\".(\" + excel + \")$\");\n const pattern_pdf = new RegExp(\".(\" + pdf + \")$\");\n const pattern_csv = new RegExp(\".(\" + csv + \")$\");\n const pattern_rar = new RegExp(\".(\" + rar + \")$\");\n const pattern_zip = new RegExp(\".(\" + zip + \")$\");\n const pattern_ppt = new RegExp(\".(\" + ppt + \")$\");\n const pattern_plist = new RegExp(\".(\" + plist + \")$\");\n\n if (name.indexOf(\"?\") > -1) {\n name = name.split(\"?\")[0];\n }\n\n if (pattern_images.test(name)) {\n return \"IMG\";\n } else if (pattern_word.test(name)) {\n return \"WORD\";\n } else if (pattern_excel.test(name)) {\n return \"EXCEL\";\n } else if (pattern_pdf.test(name)) {\n return \"PDF\";\n } else if (pattern_csv.test(name)) {\n return \"CSV\";\n } else if (pattern_rar.test(name)) {\n return \"RAR\";\n } else if (pattern_zip.test(name)) {\n return \"ZIP\";\n } else if (pattern_ppt.test(name)) {\n return \"PPT\";\n } else if (pattern_plist.test(name)) {\n return \"PLIST\";\n }\n },\n\n handlePictureCardPreview(file) {\n let type, url;\n if (file.raw) {\n type = this.fileFormat(file.name);\n url = file.response.data[0].attachmenturl;\n } else {\n type = this.fileFormat(file.url);\n url = file.url;\n }\n\n if (type === \"IMG\") {\n this.dialogImageUrl = file.url;\n this.$refs.previewImg.showViewer = true;\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"touchmove\", m, false); // 禁止页面滑动\n\n this.$nextTick(() => {\n document\n .querySelector(\".el-image-viewer__close\")\n .addEventListener(\"click\", () => {\n const m = (e) => {\n e.preventDefault();\n };\n document.body.style.overflow = \"auto\";\n document.removeEventListener(\"touchmove\", m, true);\n });\n });\n }\n // else if (type === \"PDF\") {\n // window.open(\n // \"https://www.hellogil.com/web/contractPreview.html?url=\" +\n // url.replace(\"http://\", \"https://\")\n // );\n // }\n else if (\n type === \"WORD\" ||\n type === \"EXCEL\" ||\n type === \"CSV\" ||\n type === \"PPT\" ||\n type === \"PDF\"\n ) {\n // window.open(\n // `https://file-preview.hellogil.com/onlinePreview?watermarkTxt=${this.userInfo.userName}${this.userInfo.jobCard}&url=` +\n // url.replace(\"http://\", \"https://\")\n // );\n const urlWithoutParams = url.split(\"?\")[0].toLowerCase();\n if (\n !urlWithoutParams.endsWith(\".doc\") &&\n !urlWithoutParams.endsWith(\".xlx\")\n ) {\n // URL后缀不包含.doc和.xlx时执行的代码\n // window.open(\n // `https://www.hellogil.com/web/#/officePreview?url=` +\n // encodeURIComponent(url.replace(\"http://\", \"https://\"))\n // );\n getFileUrl(url.replace(\"http://\", \"https://\")).then((res) => {\n if (res.result === \"success\") {\n window.open(res.data);\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n });\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n } else {\n this.$message({\n message: \"该文件不支持预览!\",\n type: \"warning\",\n });\n }\n },\n handlePictureCardPreviewCallback(item) {\n this.handlePictureCardPreview(item);\n },\n handleDownload(file) {\n console.log(file);\n var name;\n if (file.name) {\n name = file.name;\n if (!name.indexOf(\".\") > -1) {\n var a = file.url.split(\"/\");\n var b = a[a.length - 1];\n name = file.name + \".\" + b.split(\".\")[1];\n }\n } else {\n var a = file.url.split(\"/\");\n name = a[a.length - 1];\n }\n axios({\n method: \"post\",\n url:\n process.env.VUE_APP_BASE_API +\n \"/huilianApi/uploader/downloadZipFiles\",\n data:\n \"fileUrls=\" +\n JSON.stringify([\n {\n imgName: name\n .replace(/\\&/g, \"-\")\n .replace(/\\?/g, \"-\")\n .replace(/\\%/g, \"-\"),\n dataImg: file.url,\n },\n ]),\n responseType: \"blob\", // 加上这个是重点\n }).then((res) => {\n this.downloadFile(res.data, name);\n });\n },\n downloadFile(data, name) {\n const url = window.URL.createObjectURL(new Blob([data]));\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n link.href = url;\n link.setAttribute(\"download\", name);\n document.body.appendChild(link);\n link.click();\n URL.revokeObjectURL(link.href);\n document.body.removeChild(link);\n this.$message({\n message: \"下载成功\",\n type: \"success\",\n });\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n.show_file_box {\n a {\n color: #10c2b0;\n }\n &::after {\n content: \"\";\n display: block;\n clear: both;\n }\n .show_file_operation {\n // width: 104px;\n // height: 104px;\n border-radius: 4px;\n position: relative;\n line-height: 104px;\n float: left;\n margin-right: 10px;\n margin-bottom: 10px;\n .show_file_bg {\n width: 104px;\n height: 104px;\n border: 1px solid #c0ccda;\n }\n .el-show-list__item-actions {\n position: absolute;\n width: 104px;\n height: 104px;\n left: 0;\n top: 0;\n cursor: default;\n text-align: center;\n color: #fff;\n opacity: 0;\n font-size: 20px;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity 0.3s;\n span {\n cursor: pointer;\n font-size: inherit;\n color: inherit;\n }\n .el-show-list__item-delete {\n position: static;\n top: 0;\n margin-left: 20px;\n }\n }\n &:hover {\n .el-show-list__item-actions {\n opacity: 1;\n }\n }\n .show_file_title {\n font-size: 12px;\n color: #999;\n line-height: 12px;\n text-align: center;\n }\n }\n\n ul,\n li {\n list-style: none;\n margin: 0;\n padding: 0;\n // width: 500px;\n width: 100%;\n max-width: 500px;\n min-width: 250px;\n }\n li {\n width: 100%;\n color: #409eff;\n font-size: 13px;\n line-height: 22px;\n .imgName {\n // width: 350px;\n width: calc(100% - 140px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .el-button {\n color: #409eff;\n padding: 0;\n font-size: 13px;\n line-height: 20px;\n i {\n font-weight: bold;\n }\n }\n }\n}\n</style>\n",".show_file_box a {\n color: #10c2b0;\n}\n.show_file_box::after {\n content: \"\";\n display: block;\n clear: both;\n}\n.show_file_box .show_file_operation {\n border-radius: 4px;\n position: relative;\n line-height: 104px;\n float: left;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n.show_file_box .show_file_operation .show_file_bg {\n width: 104px;\n height: 104px;\n border: 1px solid #c0ccda;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions {\n position: absolute;\n width: 104px;\n height: 104px;\n left: 0;\n top: 0;\n cursor: default;\n text-align: center;\n color: #fff;\n opacity: 0;\n font-size: 20px;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity 0.3s;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions span {\n cursor: pointer;\n font-size: inherit;\n color: inherit;\n}\n.show_file_box .show_file_operation .el-show-list__item-actions .el-show-list__item-delete {\n position: static;\n top: 0;\n margin-left: 20px;\n}\n.show_file_box .show_file_operation:hover .el-show-list__item-actions {\n opacity: 1;\n}\n.show_file_box .show_file_operation .show_file_title {\n font-size: 12px;\n color: #999;\n line-height: 12px;\n text-align: center;\n}\n.show_file_box ul,\n.show_file_box li {\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n max-width: 500px;\n min-width: 250px;\n}\n.show_file_box li {\n width: 100%;\n color: #409eff;\n font-size: 13px;\n line-height: 22px;\n}\n.show_file_box li .imgName {\n width: calc(100% - 140px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.show_file_box li .el-button {\n color: #409eff;\n padding: 0;\n font-size: 13px;\n line-height: 20px;\n}\n.show_file_box li .el-button i {\n font-weight: bold;\n}\n\n/*# sourceMappingURL=index.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$g=undefined;/* module identifier */const __vue_module_identifier__$g=undefined;/* functional template */const __vue_is_functional_template__$g=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$g=/*#__PURE__*/normalizeComponent({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$g,__vue_scope_id__$g,__vue_is_functional_template__$g,__vue_module_identifier__$g,false,createInjector,undefined,undefined);__vue_component__$g.install=function(Vue){Vue.component(__vue_component__$g.name,__vue_component__$g);};var ElTableDraggable_umd={exports:{}};(function(module,exports){(function webpackUniversalModuleDefinition(root,factory){module.exports=factory();})(typeof self!=='undefined'?self:commonjsGlobal,function(){return(/******/function(modules){// webpackBootstrap
|
|
598
630
|
/******/ // The module cache
|
|
599
631
|
/******/var installedModules={};/******/ /******/ // The require function
|
|
600
632
|
/******/function __webpack_require__(moduleId){/******/ /******/ // Check if module is in cache
|
|
@@ -2120,7 +2152,7 @@ module.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectLis
|
|
|
2120
2152
|
*/function isSymbol(value){return typeof value=='symbol'||isObjectLike(value)&&baseGetTag(value)==symbolTag;}module.exports=isSymbol;/***/}/******/})["default"]);});})(ElTableDraggable_umd);var ElTableDraggable=/*@__PURE__*/getDefaultExportFromCjs(ElTableDraggable_umd.exports);//
|
|
2121
2153
|
var script$f={name:"SelectCol",components:{ElTableDraggable},props:{initialColumns:Array,columnsShow:Array,visible:Boolean,getNewCol:Function,saveMyTemplateColumns:Function,templateKey:String},data(){return{inResize:true,trans,columns:this.initialColumns,dataHiddenList:[],dataSelectList:[],multipleSelection:[],tableCol:[{label:trans("列表项名"),prop:"columnPropertyName"}],tableSelectCol:[{label:trans("列表项名"),prop:"columnPropertyName"}]};},mounted(){this.filterCol();},watch:{visible(val){this.visible=val;this.filterCol();}},methods:{filterCol(){this.dataSelectList=this.columnsShow;// this.dataHiddenList = this.columns.filter(i => !i.show)
|
|
2122
2154
|
this.dataHiddenList=this.columns.map(i=>{const isSelect=this.columnsShow.find(j=>j.columnPropertyName===i.columnPropertyName);if(!isSelect){return i;}}).filter(i=>i);},cancel(){this.$emit('update:visible',false);},submit(){const select=this.dataSelectList;const hidden=this.dataHiddenList;const newCols=select.concat(hidden);const columns=select.map(i=>{return{columnCode:i.columnCode,isFixed:i.isFixed};});this.saveMyTemplateColumns({templateKey:this.templateKey,columns:columns}).then(response=>{if(response.result==='success'){this.getNewCol(select,newCols);this.cancel();}else{this.$message.error(response.msg);}});},change(newList){this.dataSelectList=newList.map((i,index)=>{i.index=index;return i;});this.columns=this.dataSelectList.concat(this.dataHiddenList);},fixed(key,arrow){const selectIndex=this.dataSelectList.findIndex(i=>i.columnProperty===key);const select=this.dataSelectList[selectIndex];select.isFixed=arrow;this.$set(this.dataSelectList,selectIndex,select);},deleteItem(key){const index=this.dataSelectList.findIndex(i=>i.columnProperty===key);const delItem=this.dataSelectList[index];this.dataHiddenList=[...this.dataHiddenList,{...delItem}];this.$delete(this.dataSelectList,index);},handleSelectionChange(val){this.multipleSelection=val;},selectRow(){this.dataSelectList=this.dataSelectList.concat(this.multipleSelection);this.dataSelectList=this.dataSelectList.map((i,index)=>{i.index=index;return i;});this.dataHiddenList=this.dataHiddenList.filter(i=>!this.multipleSelection.find(s=>s.columnProperty===i.columnProperty));this.columns=this.dataSelectList.concat(this.dataHiddenList);// this.filterCol()
|
|
2123
|
-
this.inResize=false;this.$nextTick(t=>{this.inResize=true;});}}};/* script */const __vue_script__$f=script$f;/* template */var __vue_render__$f=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("el-dialog",{attrs:{title:_vm.trans("列表配置"),width:"880px",visible:_vm.visible,"before-close":_vm.cancel},on:{"update:visible":function($event){_vm.visible=$event;}}},[_c("div",[_c("el-row",{attrs:{gutter:10}},[_c("el-col",{attrs:{span:11}},[_c("div",{staticClass:"tableHeader"},[_vm._v(_vm._s(_vm.trans("可添加列表项"))+":"+_vm._s(_vm.dataHiddenList.length))]),_vm._v(" "),_c("el-table",{staticStyle:{width:"394px"},attrs:{data:_vm.dataHiddenList,border:""},on:{"selection-change":_vm.handleSelectionChange}},[_c("el-table-column",{attrs:{type:"selection",width:"55"}}),_vm._v(" "),_vm._l(_vm.tableCol,function(item){return _c("el-table-column",{key:item.key,attrs:{label:item.label,prop:item.prop,width:item.width}});})],2)],1),_vm._v(" "),_c("el-col",{staticStyle:{"padding-top":"25%"},attrs:{span:2}},[_c("el-button",{attrs:{icon:"el-icon-caret-right",circle:""},on:{click:_vm.selectRow}})],1),_vm._v(" "),_vm.inResize?_c("el-col",{attrs:{span:11}},[_c("div",{staticClass:"tableHeader"},[_vm._v(_vm._s(_vm.trans("已选列表项"))+":"+_vm._s(_vm.dataSelectList.length))]),_vm._v(" "),_c("ElTableDraggable",{attrs:{handle:".web20_yidong"},on:{input:_vm.change}},[_c("el-table",{staticStyle:{width:"100%"},attrs:{data:_vm.dataSelectList,"row-key":"columnProperty",border:""}},[_c("el-table-column",{attrs:{type:"index",label:_vm.trans("排序"),width:"50"}}),_vm._v(" "),_vm._l(_vm.tableSelectCol,function(item,index){return _c("el-table-column",{key:item.key,attrs:{label:item.label,prop:item.prop,index:index,width:item.width}});}),_vm._v(" "),_c("el-table-column",{attrs:{label:_vm.trans("操作"),width:"100"},scopedSlots:_vm._u([{key:"default",fn:function(ref){var row=ref.row;return[_c("svg",{staticClass:"icon web20_yidong",staticStyle:{"margin-right":"5px"},attrs:{"aria-hidden":"true"}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_yidong"}})]),_vm._v(" "),_c("i",{staticClass:"el-icon-delete",staticStyle:{"margin-right":"5px"},on:{click:function($event){return _vm.deleteItem(row.columnProperty);}}}),_vm._v(" "),row.isFixed==1?_c("svg",{staticClass:"icon",staticStyle:{color:"#008000","margin-right":"5px"},attrs:{"aria-hidden":"true"},on:{click:function($event){return _vm.fixed(row.columnProperty,0);}}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_guding"}})]):_vm._e(),_vm._v(" "),row.isFixed==0?_c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"400",trigger:"click"}},[_c("div",[_c("el-button",{on:{click:function($event){return _vm.fixed(row.columnProperty,1);}}},[_vm._v(_vm._s(_vm.trans("固定在左边")))])],1),_vm._v(" "),_c("svg",{staticClass:"icon",staticStyle:{"margin-right":"5px"},attrs:{slot:"reference","aria-hidden":"true"},slot:"reference"},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_feiguding"}})])])],1):_vm._e()];}}],null,false,769329392)})],2)],1)],1):_vm._e()],1)],1),_vm._v(" "),_c("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[_c("el-button",{on:{click:_vm.cancel}},[_vm._v(_vm._s(_vm.trans("取消")))]),_vm._v(" "),_c("el-button",{attrs:{type:"primary"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1)]);};var __vue_staticRenderFns__$f=[];__vue_render__$f._withStripped=true;/* style */const __vue_inject_styles__$f=function(inject){if(!inject)return;inject("data-v-b5c63fe6_0",{source:"\n.tableHeader[data-v-b5c63fe6] {\r\n width: 100%;\r\n border-radius: 8px 8px 0 0;\r\n border: 1px solid #E4E7EF;\r\n height: 40px;\r\n line-height: 40px;\r\n text-indent: 10px;\r\n border-bottom: none;\n}\r\n",map:{"version":3,"sources":["D:\\项目\\npm\\components\\FormTableScheme\\component\\SelectCol\\index.vue"],"names":[],"mappings":";AAiLA;IACA,WAAA;IACA,0BAAA;IACA,yBAAA;IACA,YAAA;IACA,iBAAA;IACA,iBAAA;IACA,mBAAA;AACA","file":"index.vue","sourcesContent":["<template>\r\n <el-dialog :title=\"trans('列表配置')\" width=\"880px\" :visible.sync=\"visible\" :before-close=\"cancel\">\r\n <div>\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"11\">\r\n <div class=\"tableHeader\">{{ trans('可添加列表项') }}:{{ dataHiddenList.length }}</div>\r\n <el-table :data=\"dataHiddenList\" style=\"width: 394px\" border @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"55\"> </el-table-column>\r\n <el-table-column :label=\"item.label\" :prop=\"item.prop\" v-for=\"item in tableCol\" :key=\"item.key\"\r\n :width=\"item.width\"></el-table-column>\r\n </el-table>\r\n </el-col>\r\n <el-col :span=\"2\" style=\"padding-top:25%\">\r\n <el-button icon=\"el-icon-caret-right\" circle @click=\"selectRow\"></el-button></el-col>\r\n <el-col :span=\"11\" v-if=\"inResize\">\r\n <div class=\"tableHeader\">{{ trans('已选列表项') }}:{{ dataSelectList.length }}</div>\r\n <ElTableDraggable handle=\".web20_yidong\" @input=\"change\">\r\n <el-table :data=\"dataSelectList\" row-key=\"columnProperty\" style=\"width: 100%\" border>\r\n <el-table-column type=\"index\" :label=\"trans('排序')\" width=\"50\">\r\n </el-table-column>\r\n <el-table-column :label=\"item.label\" :prop=\"item.prop\" v-for=\"(item, index) in tableSelectCol\"\r\n :key=\"item.key\" :index=\"index\" :width=\"item.width\"></el-table-column>\r\n <el-table-column :label=\"trans('操作')\" width=\"100\">\r\n <template slot-scope=\"{ row }\">\r\n <svg class=\"icon web20_yidong\" aria-hidden=\"true\" style=\"margin-right:5px;\">\r\n <use xlink:href=\"#fontFamily-a-web20_yidong\"></use>\r\n </svg>\r\n <i style=\"margin-right:5px;\" class=\"el-icon-delete\"\r\n @click=\"deleteItem(row.columnProperty)\"></i>\r\n <svg v-if=\"row.isFixed == 1\" class=\"icon\" style=\"color:#008000;margin-right:5px;\"\r\n aria-hidden=\"true\" @click=\"fixed(row.columnProperty, 0)\">\r\n <use xlink:href=\"#fontFamily-a-web20_guding\"></use>\r\n </svg>\r\n <span v-if=\"row.isFixed == 0\">\r\n <el-popover placement=\"bottom\" width=\"400\" trigger=\"click\">\r\n <div>\r\n <el-button @click=\"fixed(row.columnProperty, 1)\">{{ trans('固定在左边')\r\n }}</el-button>\r\n <!-- <el-button @click=\"fixed(row.columnProperty, 'right')\">固定在右边</el-button> -->\r\n </div>\r\n <svg class=\"icon\" aria-hidden=\"true\" slot=\"reference\" style=\"margin-right:5px;\">\r\n <use xlink:href=\"#fontFamily-a-web20_feiguding\"></use>\r\n </svg>\r\n </el-popover>\r\n </span>\r\n\r\n </template>\r\n </el-table-column>\r\n\r\n </el-table>\r\n </ElTableDraggable>\r\n\r\n </el-col>\r\n </el-row>\r\n </div>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"cancel\">{{ trans('取消') }}</el-button>\r\n <el-button type=\"primary\" @click=\"submit\">{{ trans('确定') }}</el-button>\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport ElTableDraggable from 'el-table-draggable'\r\nimport trans from '../../../lang/trans'\r\n\r\nexport default {\r\n name: \"SelectCol\",\r\n components: {\r\n ElTableDraggable,\r\n },\r\n props: {\r\n initialColumns: Array,\r\n columnsShow: Array,\r\n visible: Boolean,\r\n getNewCol: Function,\r\n saveMyTemplateColumns: Function,\r\n templateKey: String,\r\n },\r\n data() {\r\n return {\r\n inResize: true,\r\n trans,\r\n columns: this.initialColumns,\r\n dataHiddenList: [],\r\n dataSelectList: [],\r\n multipleSelection: [],\r\n tableCol: [\r\n { label: trans(\"列表项名\"), prop: \"columnPropertyName\" },\r\n ],\r\n tableSelectCol: [\r\n { label: trans(\"列表项名\"), prop: \"columnPropertyName\", },\r\n ],\r\n };\r\n },\r\n mounted() {\r\n this.filterCol()\r\n },\r\n watch: {\r\n visible(val) {\r\n this.visible = val;\r\n this.filterCol()\r\n },\r\n },\r\n methods: {\r\n filterCol() {\r\n this.dataSelectList = this.columnsShow\r\n // this.dataHiddenList = this.columns.filter(i => !i.show)\r\n this.dataHiddenList = (this.columns.map((i) => {\r\n const isSelect = this.columnsShow.find(j => j.columnPropertyName === i.columnPropertyName)\r\n if (!isSelect) {\r\n return i\r\n }\r\n })).filter(i => i)\r\n },\r\n cancel() {\r\n this.$emit('update:visible', false);\r\n },\r\n submit() {\r\n const select = this.dataSelectList;\r\n const hidden = this.dataHiddenList;\r\n const newCols = select.concat(hidden)\r\n const columns = select.map(i => {\r\n return { columnCode: i.columnCode, isFixed: i.isFixed }\r\n })\r\n this.saveMyTemplateColumns({ templateKey: this.templateKey, columns: columns }).then((response) => {\r\n if (response.result === 'success') {\r\n this.getNewCol(select, newCols)\r\n this.cancel();\r\n } else {\r\n this.$message.error(\r\n response.msg\r\n )\r\n }\r\n })\r\n\r\n },\r\n change(newList) {\r\n this.dataSelectList = newList.map((i, index) => {\r\n i.index = index;\r\n return i\r\n })\r\n this.columns = this.dataSelectList.concat(this.dataHiddenList)\r\n },\r\n fixed(key, arrow) {\r\n const selectIndex = this.dataSelectList.findIndex(i => i.columnProperty === key)\r\n const select = this.dataSelectList[selectIndex]\r\n select.isFixed = arrow\r\n this.$set(this.dataSelectList, selectIndex, select)\r\n },\r\n deleteItem(key) {\r\n const index = this.dataSelectList.findIndex(i => i.columnProperty === key)\r\n const delItem = this.dataSelectList[index]\r\n this.dataHiddenList = [...this.dataHiddenList, { ...delItem }]\r\n this.$delete(this.dataSelectList, index)\r\n },\r\n handleSelectionChange(val) {\r\n this.multipleSelection = val;\r\n },\r\n selectRow() {\r\n this.dataSelectList = this.dataSelectList.concat(this.multipleSelection)\r\n this.dataSelectList = this.dataSelectList.map((i, index) => {\r\n i.index = index\r\n return i\r\n })\r\n this.dataHiddenList = this.dataHiddenList.filter(i => !this.multipleSelection.find(s => s.columnProperty === i.columnProperty))\r\n this.columns = this.dataSelectList.concat(this.dataHiddenList)\r\n // this.filterCol()\r\n this.inResize = false;\r\n this.$nextTick(t => {\r\n this.inResize = true;\r\n })\r\n },\r\n },\r\n};\r\n</script>\r\n<style scoped>\r\n.tableHeader {\r\n width: 100%;\r\n border-radius: 8px 8px 0 0;\r\n border: 1px solid #E4E7EF;\r\n height: 40px;\r\n line-height: 40px;\r\n text-indent: 10px;\r\n border-bottom: none;\r\n}\r\n</style>"]},media:undefined});};/* scoped */const __vue_scope_id__$f="data-v-b5c63fe6";/* module identifier */const __vue_module_identifier__$f=undefined;/* functional template */const __vue_is_functional_template__$f=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$f=/*#__PURE__*/normalizeComponent({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$f,__vue_scope_id__$f,__vue_is_functional_template__$f,__vue_module_identifier__$f,false,createInjector,undefined,undefined);//
|
|
2155
|
+
this.inResize=false;this.$nextTick(t=>{this.inResize=true;});}}};/* script */const __vue_script__$f=script$f;/* template */var __vue_render__$f=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("el-dialog",{attrs:{title:_vm.trans("列表配置"),width:"880px",visible:_vm.visible,"before-close":_vm.cancel},on:{"update:visible":function($event){_vm.visible=$event;}}},[_c("div",[_c("el-row",{attrs:{gutter:10}},[_c("el-col",{attrs:{span:11}},[_c("div",{staticClass:"tableHeader"},[_vm._v(_vm._s(_vm.trans("可添加列表项"))+":"+_vm._s(_vm.dataHiddenList.length))]),_vm._v(" "),_c("el-table",{staticStyle:{width:"394px"},attrs:{data:_vm.dataHiddenList,border:""},on:{"selection-change":_vm.handleSelectionChange}},[_c("el-table-column",{attrs:{type:"selection",width:"55"}}),_vm._v(" "),_vm._l(_vm.tableCol,function(item){return _c("el-table-column",{key:item.key,attrs:{label:item.label,prop:item.prop,width:item.width}});})],2)],1),_vm._v(" "),_c("el-col",{staticStyle:{"padding-top":"25%"},attrs:{span:2}},[_c("el-button",{attrs:{icon:"el-icon-caret-right",circle:""},on:{click:_vm.selectRow}})],1),_vm._v(" "),_vm.inResize?_c("el-col",{attrs:{span:11}},[_c("div",{staticClass:"tableHeader"},[_vm._v(_vm._s(_vm.trans("已选列表项"))+":"+_vm._s(_vm.dataSelectList.length))]),_vm._v(" "),_c("ElTableDraggable",{attrs:{handle:".web20_yidong"},on:{input:_vm.change}},[_c("el-table",{staticStyle:{width:"100%"},attrs:{data:_vm.dataSelectList,"row-key":"columnProperty",border:""}},[_c("el-table-column",{attrs:{type:"index",label:_vm.trans("排序"),width:"50"}}),_vm._v(" "),_vm._l(_vm.tableSelectCol,function(item,index){return _c("el-table-column",{key:item.key,attrs:{label:item.label,prop:item.prop,index:index,width:item.width}});}),_vm._v(" "),_c("el-table-column",{attrs:{label:_vm.trans("操作"),width:"100"},scopedSlots:_vm._u([{key:"default",fn:function(ref){var row=ref.row;return[_c("svg",{staticClass:"icon web20_yidong",staticStyle:{"margin-right":"5px"},attrs:{"aria-hidden":"true"}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_yidong"}})]),_vm._v(" "),_c("i",{staticClass:"el-icon-delete",staticStyle:{"margin-right":"5px"},on:{click:function($event){return _vm.deleteItem(row.columnProperty);}}}),_vm._v(" "),row.isFixed==1?_c("svg",{staticClass:"icon",staticStyle:{color:"#008000","margin-right":"5px"},attrs:{"aria-hidden":"true"},on:{click:function($event){return _vm.fixed(row.columnProperty,0);}}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_guding"}})]):_vm._e(),_vm._v(" "),row.isFixed==0?_c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"400",trigger:"click"}},[_c("div",[_c("el-button",{on:{click:function($event){return _vm.fixed(row.columnProperty,1);}}},[_vm._v(_vm._s(_vm.trans("固定在左边")))])],1),_vm._v(" "),_c("svg",{staticClass:"icon",staticStyle:{"margin-right":"5px"},attrs:{slot:"reference","aria-hidden":"true"},slot:"reference"},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_feiguding"}})])])],1):_vm._e()];}}],null,false,769329392)})],2)],1)],1):_vm._e()],1)],1),_vm._v(" "),_c("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[_c("el-button",{on:{click:_vm.cancel}},[_vm._v(_vm._s(_vm.trans("取消")))]),_vm._v(" "),_c("el-button",{attrs:{type:"primary"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1)]);};var __vue_staticRenderFns__$f=[];__vue_render__$f._withStripped=true;/* style */const __vue_inject_styles__$f=function(inject){if(!inject)return;inject("data-v-ccd68636_0",{source:"\n.tableHeader[data-v-ccd68636] {\n width: 100%;\n border-radius: 8px 8px 0 0;\n border: 1px solid #E4E7EF;\n height: 40px;\n line-height: 40px;\n text-indent: 10px;\n border-bottom: none;\n}\n",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/FormTableScheme/component/SelectCol/index.vue"],"names":[],"mappings":";AAiLA;IACA,WAAA;IACA,0BAAA;IACA,yBAAA;IACA,YAAA;IACA,iBAAA;IACA,iBAAA;IACA,mBAAA;AACA","file":"index.vue","sourcesContent":["<template>\n <el-dialog :title=\"trans('列表配置')\" width=\"880px\" :visible.sync=\"visible\" :before-close=\"cancel\">\n <div>\n <el-row :gutter=\"10\">\n <el-col :span=\"11\">\n <div class=\"tableHeader\">{{ trans('可添加列表项') }}:{{ dataHiddenList.length }}</div>\n <el-table :data=\"dataHiddenList\" style=\"width: 394px\" border @selection-change=\"handleSelectionChange\">\n <el-table-column type=\"selection\" width=\"55\"> </el-table-column>\n <el-table-column :label=\"item.label\" :prop=\"item.prop\" v-for=\"item in tableCol\" :key=\"item.key\"\n :width=\"item.width\"></el-table-column>\n </el-table>\n </el-col>\n <el-col :span=\"2\" style=\"padding-top:25%\">\n <el-button icon=\"el-icon-caret-right\" circle @click=\"selectRow\"></el-button></el-col>\n <el-col :span=\"11\" v-if=\"inResize\">\n <div class=\"tableHeader\">{{ trans('已选列表项') }}:{{ dataSelectList.length }}</div>\n <ElTableDraggable handle=\".web20_yidong\" @input=\"change\">\n <el-table :data=\"dataSelectList\" row-key=\"columnProperty\" style=\"width: 100%\" border>\n <el-table-column type=\"index\" :label=\"trans('排序')\" width=\"50\">\n </el-table-column>\n <el-table-column :label=\"item.label\" :prop=\"item.prop\" v-for=\"(item, index) in tableSelectCol\"\n :key=\"item.key\" :index=\"index\" :width=\"item.width\"></el-table-column>\n <el-table-column :label=\"trans('操作')\" width=\"100\">\n <template slot-scope=\"{ row }\">\n <svg class=\"icon web20_yidong\" aria-hidden=\"true\" style=\"margin-right:5px;\">\n <use xlink:href=\"#fontFamily-a-web20_yidong\"></use>\n </svg>\n <i style=\"margin-right:5px;\" class=\"el-icon-delete\"\n @click=\"deleteItem(row.columnProperty)\"></i>\n <svg v-if=\"row.isFixed == 1\" class=\"icon\" style=\"color:#008000;margin-right:5px;\"\n aria-hidden=\"true\" @click=\"fixed(row.columnProperty, 0)\">\n <use xlink:href=\"#fontFamily-a-web20_guding\"></use>\n </svg>\n <span v-if=\"row.isFixed == 0\">\n <el-popover placement=\"bottom\" width=\"400\" trigger=\"click\">\n <div>\n <el-button @click=\"fixed(row.columnProperty, 1)\">{{ trans('固定在左边')\n }}</el-button>\n <!-- <el-button @click=\"fixed(row.columnProperty, 'right')\">固定在右边</el-button> -->\n </div>\n <svg class=\"icon\" aria-hidden=\"true\" slot=\"reference\" style=\"margin-right:5px;\">\n <use xlink:href=\"#fontFamily-a-web20_feiguding\"></use>\n </svg>\n </el-popover>\n </span>\n\n </template>\n </el-table-column>\n\n </el-table>\n </ElTableDraggable>\n\n </el-col>\n </el-row>\n </div>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"cancel\">{{ trans('取消') }}</el-button>\n <el-button type=\"primary\" @click=\"submit\">{{ trans('确定') }}</el-button>\n </div>\n </el-dialog>\n</template>\n\n<script>\nimport ElTableDraggable from 'el-table-draggable'\nimport trans from '../../../lang/trans'\n\nexport default {\n name: \"SelectCol\",\n components: {\n ElTableDraggable,\n },\n props: {\n initialColumns: Array,\n columnsShow: Array,\n visible: Boolean,\n getNewCol: Function,\n saveMyTemplateColumns: Function,\n templateKey: String,\n },\n data() {\n return {\n inResize: true,\n trans,\n columns: this.initialColumns,\n dataHiddenList: [],\n dataSelectList: [],\n multipleSelection: [],\n tableCol: [\n { label: trans(\"列表项名\"), prop: \"columnPropertyName\" },\n ],\n tableSelectCol: [\n { label: trans(\"列表项名\"), prop: \"columnPropertyName\", },\n ],\n };\n },\n mounted() {\n this.filterCol()\n },\n watch: {\n visible(val) {\n this.visible = val;\n this.filterCol()\n },\n },\n methods: {\n filterCol() {\n this.dataSelectList = this.columnsShow\n // this.dataHiddenList = this.columns.filter(i => !i.show)\n this.dataHiddenList = (this.columns.map((i) => {\n const isSelect = this.columnsShow.find(j => j.columnPropertyName === i.columnPropertyName)\n if (!isSelect) {\n return i\n }\n })).filter(i => i)\n },\n cancel() {\n this.$emit('update:visible', false);\n },\n submit() {\n const select = this.dataSelectList;\n const hidden = this.dataHiddenList;\n const newCols = select.concat(hidden)\n const columns = select.map(i => {\n return { columnCode: i.columnCode, isFixed: i.isFixed }\n })\n this.saveMyTemplateColumns({ templateKey: this.templateKey, columns: columns }).then((response) => {\n if (response.result === 'success') {\n this.getNewCol(select, newCols)\n this.cancel();\n } else {\n this.$message.error(\n response.msg\n )\n }\n })\n\n },\n change(newList) {\n this.dataSelectList = newList.map((i, index) => {\n i.index = index;\n return i\n })\n this.columns = this.dataSelectList.concat(this.dataHiddenList)\n },\n fixed(key, arrow) {\n const selectIndex = this.dataSelectList.findIndex(i => i.columnProperty === key)\n const select = this.dataSelectList[selectIndex]\n select.isFixed = arrow\n this.$set(this.dataSelectList, selectIndex, select)\n },\n deleteItem(key) {\n const index = this.dataSelectList.findIndex(i => i.columnProperty === key)\n const delItem = this.dataSelectList[index]\n this.dataHiddenList = [...this.dataHiddenList, { ...delItem }]\n this.$delete(this.dataSelectList, index)\n },\n handleSelectionChange(val) {\n this.multipleSelection = val;\n },\n selectRow() {\n this.dataSelectList = this.dataSelectList.concat(this.multipleSelection)\n this.dataSelectList = this.dataSelectList.map((i, index) => {\n i.index = index\n return i\n })\n this.dataHiddenList = this.dataHiddenList.filter(i => !this.multipleSelection.find(s => s.columnProperty === i.columnProperty))\n this.columns = this.dataSelectList.concat(this.dataHiddenList)\n // this.filterCol()\n this.inResize = false;\n this.$nextTick(t => {\n this.inResize = true;\n })\n },\n },\n};\n</script>\n<style scoped>\n.tableHeader {\n width: 100%;\n border-radius: 8px 8px 0 0;\n border: 1px solid #E4E7EF;\n height: 40px;\n line-height: 40px;\n text-indent: 10px;\n border-bottom: none;\n}\n</style>"]},media:undefined});};/* scoped */const __vue_scope_id__$f="data-v-ccd68636";/* module identifier */const __vue_module_identifier__$f=undefined;/* functional template */const __vue_is_functional_template__$f=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$f=/*#__PURE__*/normalizeComponent({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$f,__vue_scope_id__$f,__vue_is_functional_template__$f,__vue_module_identifier__$f,false,createInjector,undefined,undefined);//
|
|
2124
2156
|
//
|
|
2125
2157
|
//
|
|
2126
2158
|
//
|
|
@@ -2128,10 +2160,10 @@ this.inResize=false;this.$nextTick(t=>{this.inResize=true;});}}};/* script */con
|
|
|
2128
2160
|
var script$e={name:'dp',props:{value:String|Array|Object|Boolean,visible:{type:Boolean,default:false}},methods:{updateMsg(newVal){this.$emit('update-visible',newVal);}},computed:{computeStyle(){const type=Object.prototype.toString.call(this.value);let res=true;switch(type){case'[object Array]':this.value[0]==this.value[1];const errValues=[null,undefined,''];res=this.value.length==0||errValues.includes(this.value[0])&&errValues.includes(this.value[1]);break;case'[object Object]':res=Object.keys(this.value).length==0;break;case'[object String]':res=this.value.length==0;break;case'[object Number]':res=false;break;case'[object Boolean]':res=!this.value;break;}return{color:!res?'#333d4f':'#333d4f'};}}};/* script */const __vue_script__$e=script$e;/* template */var __vue_render__$e=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("svg",{staticClass:"icon",style:_vm.computeStyle,attrs:{"aria-hidden":"true"},on:{click:_vm.updateMsg}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_liebiaoshaixuan"}})]);};var __vue_staticRenderFns__$e=[];__vue_render__$e._withStripped=true;/* style */const __vue_inject_styles__$e=undefined;/* scoped */const __vue_scope_id__$e=undefined;/* module identifier */const __vue_module_identifier__$e=undefined;/* functional template */const __vue_is_functional_template__$e=false;/* style inject */ /* style inject SSR */ /* style inject shadow dom */const __vue_component__$e=/*#__PURE__*/normalizeComponent({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$e,__vue_scope_id__$e,__vue_is_functional_template__$e,__vue_module_identifier__$e,false,undefined,undefined,undefined);//
|
|
2129
2161
|
var script$d={props:{setFormParams:Function,column:Object,ops:Object,// 请求参数
|
|
2130
2162
|
getConfig:Function,ruleFn:Function},components:{Dp:__vue_component__$e},watch:{ops:function(newVal,old){const{key}=this.getConfig(this.column);const ops=newVal;if(ops[key]){this.value=ops[key].split(',');// 约定 基本上check类型的值都是,分割的字符串
|
|
2131
|
-
}else{this.value=[];}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},data(){return{trans,list:[],visible:false,value:[]};},mounted(){let{option}=this.getConfig(this.column);this.list=option;},methods:{submit(){const{key}=this.getConfig(this.column);this.setFormParams({[key]:this.value.join(',')});this.visible=false;},reset(){this.value=[];}}};/* script */const __vue_script__$d=script$d;/* template */var __vue_render__$d=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-select",{attrs:{multiple:"",filterable:"",placeholder:_vm.trans("请选择")},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},_vm._l(_vm.list,function(item){return _c("el-option",{key:item.label,attrs:{label:item.label,value:item.value}});}),1),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$d=[];__vue_render__$d._withStripped=true;/* style */const __vue_inject_styles__$d=function(inject){if(!inject)return;inject("data-v-
|
|
2163
|
+
}else{this.value=[];}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},data(){return{trans,list:[],visible:false,value:[]};},mounted(){let{option}=this.getConfig(this.column);this.list=option;},methods:{submit(){const{key}=this.getConfig(this.column);this.setFormParams({[key]:this.value.join(',')});this.visible=false;},reset(){this.value=[];}}};/* script */const __vue_script__$d=script$d;/* template */var __vue_render__$d=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-select",{attrs:{multiple:"",filterable:"",placeholder:_vm.trans("请选择")},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},_vm._l(_vm.list,function(item){return _c("el-option",{key:item.label,attrs:{label:item.label,value:item.value}});}),1),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$d=[];__vue_render__$d._withStripped=true;/* style */const __vue_inject_styles__$d=function(inject){if(!inject)return;inject("data-v-0d553a70_0",{source:".popBtn[data-v-0d553a70] {\n vertical-align: bottom;\n margin-left: 5px;\n}\n.checkbox[data-v-0d553a70] {\n max-height: 150px;\n overflow-y: auto;\n}\n.checkbox .el-checkbox[data-v-0d553a70] {\n display: block;\n}\n\n/*# sourceMappingURL=Check.vue.map */",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/FormTableScheme/component/ColHeader/Check.vue","Check.vue"],"names":[],"mappings":"AAwEA;EACA,sBAAA;EACA,gBAAA;ACvEA;AD0EA;EACA,iBAAA;EACA,gBAAA;ACvEA;ADyEA;EACA,cAAA;ACvEA;;AAEA,oCAAoC","file":"Check.vue","sourcesContent":["<template>\n <span>\n <el-popover placement=\"bottom\" width=\"100%\" trigger=\"click\" v-model=\"visible\" popper-class=\"pointRecord\">\n <div :data-name=\"column.columnPropertyName\">\n <el-select multiple v-model=\"value\" filterable :placeholder=\"trans('请选择')\">\n <el-option v-for=\"item in list\" :label=\"item.label\" :key=\"item.label\" :value=\"item.value\"></el-option>\n </el-select>\n <el-button class=\"popBtn\" size=\"mini\" @click=\"reset\">{{ trans('重置') }}</el-button>\n <el-button class=\"popBtn\" type=\"primary\" size=\"mini\" @click=\"submit\">{{ trans('确定') }}</el-button>\n </div>\n <dp :value=\"value\" slot=\"reference\" />\n </el-popover>\n </span>\n</template>\n<script>\nimport Dp from './dp.vue'\nimport trans from '../../../lang/trans'\n\nexport default {\n props: {\n setFormParams: Function,\n column: Object,\n ops: Object, // 请求参数\n getConfig: Function,\n ruleFn: Function,\n },\n components: { Dp },\n watch: {\n ops: function (newVal, old) {\n const { key } = this.getConfig(this.column);\n const ops = newVal;\n if (ops[key]) {\n this.value = ops[key].split(',') // 约定 基本上check类型的值都是,分割的字符串\n } else {\n this.value = []\n }\n },\n visible: {\n deep: true,\n handler(value){\n if(this.ruleFn && value){\n let { option } = this.getConfig(this.column);\n this.list = option\n }\n }\n }\n },\n data() {\n return {\n trans,\n list: [],\n visible: false,\n value: [],\n }\n },\n mounted() {\n let { option } = this.getConfig(this.column);\n this.list = option\n },\n methods: {\n submit() {\n const { key } = this.getConfig(this.column);\n this.setFormParams({ [key]: this.value.join(',') })\n this.visible = false\n },\n reset() {\n this.value = [];\n }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n.popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n.checkbox {\n max-height: 150px;\n overflow-y: auto;\n\n .el-checkbox {\n display: block;\n }\n}\n</style>",".popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n.checkbox {\n max-height: 150px;\n overflow-y: auto;\n}\n.checkbox .el-checkbox {\n display: block;\n}\n\n/*# sourceMappingURL=Check.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$d="data-v-0d553a70";/* module identifier */const __vue_module_identifier__$d=undefined;/* functional template */const __vue_is_functional_template__$d=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$d=/*#__PURE__*/normalizeComponent({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$d,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,false,createInjector,undefined,undefined);//
|
|
2132
2164
|
var script$c={props:{setFormParams:Function,column:Object,ops:Object,// 请求参数
|
|
2133
2165
|
getConfig:Function,ruleFn:Function},components:{Dp:__vue_component__$e},watch:{ops:function(newVal,old){const{key}=this.getConfig(this.column);const ops=newVal;if(ops[key]){this.value=ops[key]||'';// 约定 基本上check类型的值都是,分割的字符串
|
|
2134
|
-
}else{this.value='';}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},data(){return{trans,visible:false,value:'',list:[]};},mounted(){let{option}=this.getConfig(this.column);this.list=option;},methods:{submit(){const{key}=this.getConfig(this.column);this.setFormParams({[key]:this.value});this.visible=false;},reset(){this.value='';}}};/* script */const __vue_script__$c=script$c;/* template */var __vue_render__$c=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-select",{attrs:{filterable:"",placeholder:_vm.trans("请选择")},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},_vm._l(_vm.list,function(item){return _c("el-option",{key:item.label,attrs:{label:item.label,value:item.value}});}),1),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$c=[];__vue_render__$c._withStripped=true;/* style */const __vue_inject_styles__$c=function(inject){if(!inject)return;inject("data-v-
|
|
2166
|
+
}else{this.value='';}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},data(){return{trans,visible:false,value:'',list:[]};},mounted(){let{option}=this.getConfig(this.column);this.list=option;},methods:{submit(){const{key}=this.getConfig(this.column);this.setFormParams({[key]:this.value});this.visible=false;},reset(){this.value='';}}};/* script */const __vue_script__$c=script$c;/* template */var __vue_render__$c=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-select",{attrs:{filterable:"",placeholder:_vm.trans("请选择")},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},_vm._l(_vm.list,function(item){return _c("el-option",{key:item.label,attrs:{label:item.label,value:item.value}});}),1),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$c=[];__vue_render__$c._withStripped=true;/* style */const __vue_inject_styles__$c=function(inject){if(!inject)return;inject("data-v-90e9dae8_0",{source:".popBtn[data-v-90e9dae8] {\n vertical-align: bottom;\n margin-left: 5px;\n}\n.radiobox[data-v-90e9dae8] {\n max-height: 150px;\n display: block;\n overflow-y: auto;\n}\n.radiobox .el-radio[data-v-90e9dae8] {\n display: block;\n}\n.radiobox .el-radio__input[data-v-90e9dae8] {\n margin-right: 10px;\n}\n\n/*# sourceMappingURL=Radio.vue.map */",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/FormTableScheme/component/ColHeader/Radio.vue","Radio.vue"],"names":[],"mappings":"AAyEA;EACA,sBAAA;EACA,gBAAA;ACxEA;AD2EA;EACA,iBAAA;EACA,cAAA;EACA,gBAAA;ACxEA;AD0EA;EACA,cAAA;ACxEA;AD2EA;EACA,kBAAA;ACzEA;;AAEA,oCAAoC","file":"Radio.vue","sourcesContent":["<template>\n <span>\n <el-popover placement=\"bottom\" width=\"100%\" trigger=\"click\" v-model=\"visible\" popper-class=\"pointRecord\">\n <div :data-name=\"column.columnPropertyName\">\n <el-select v-model=\"value\" filterable :placeholder=\"trans('请选择')\">\n <el-option v-for=\"item in list\" :label=\"item.label\" :key=\"item.label\"\n :value=\"item.value\"></el-option>\n </el-select>\n <el-button class=\"popBtn\" size=\"mini\" @click=\"reset\">{{ trans('重置') }}</el-button>\n <el-button class=\"popBtn\" type=\"primary\" size=\"mini\" @click=\"submit\">{{ trans('确定') }}</el-button>\n </div>\n <dp :value=\"value\" slot=\"reference\" />\n </el-popover>\n </span>\n</template>\n<script>\nimport Dp from './dp.vue'\nimport trans from '../../../lang/trans'\n\nexport default {\n props: {\n setFormParams: Function,\n column: Object,\n ops: Object, // 请求参数\n getConfig: Function,\n ruleFn: Function,\n },\n components: { Dp },\n watch: {\n ops: function (newVal, old) {\n const { key } = this.getConfig(this.column);\n const ops = newVal;\n if (ops[key]) {\n this.value = ops[key] || '' // 约定 基本上check类型的值都是,分割的字符串\n } else {\n this.value = ''\n }\n },\n visible: {\n deep: true,\n handler(value){\n if(this.ruleFn && value){\n let { option } = this.getConfig(this.column);\n this.list = option\n }\n }\n }\n },\n data() {\n return {\n trans,\n visible: false,\n value: '',\n list:[]\n }\n },\n mounted() {\n let { option } = this.getConfig(this.column);\n this.list = option\n },\n methods: {\n submit() {\n const { key } = this.getConfig(this.column);\n this.setFormParams({ [key]: this.value })\n this.visible = false\n },\n reset() {\n this.value = '';\n }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n.popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n.radiobox {\n max-height: 150px;\n display: block;\n overflow-y: auto;\n\n .el-radio {\n display: block;\n }\n\n .el-radio__input {\n margin-right: 10px;\n }\n}\n</style>",".popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n.radiobox {\n max-height: 150px;\n display: block;\n overflow-y: auto;\n}\n.radiobox .el-radio {\n display: block;\n}\n.radiobox .el-radio__input {\n margin-right: 10px;\n}\n\n/*# sourceMappingURL=Radio.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$c="data-v-90e9dae8";/* module identifier */const __vue_module_identifier__$c=undefined;/* functional template */const __vue_is_functional_template__$c=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$c=/*#__PURE__*/normalizeComponent({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$c,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,false,createInjector,undefined,undefined);//
|
|
2135
2167
|
var script$b={props:{column:Object,setFormParams:Function,getConfig:Function,config:{type:Object,default:()=>{return{rule:{type:'date'}};}},ops:Object// 请求参数
|
|
2136
2168
|
},components:{Dp:__vue_component__$e},watch:{ops:function(newVal){const{key}=this.getConfig(this.column);const ops=newVal;if(ops[key]){this.value=moment(ops[key]);}else{this.value='';}}},data(){return{trans,visible:false,value:''};},methods:{submit(){const{rule,key}=this.getConfig(this.column);const{format}=rule;if(this.value){const str=`${moment(this.value).format(format)}`;this.setFormParams({[key]:str});this.visible=false;}},reset(){this.value='';}}};/* script */const __vue_script__$b=script$b;/* template */var __vue_render__$b=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"400",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-date-picker",{staticStyle:{"margin-bottom":"10px"},attrs:{type:_vm.config.rule.type,align:"right","unlink-panels":"","range-separator":_vm.trans("至"),"start-placeholder":_vm.trans("开始日期"),"end-placeholder":_vm.trans("结束日期")},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}}),_vm._v(" "),_c("el-button",{attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$b=[];__vue_render__$b._withStripped=true;/* style */const __vue_inject_styles__$b=undefined;/* scoped */const __vue_scope_id__$b=undefined;/* module identifier */const __vue_module_identifier__$b=undefined;/* functional template */const __vue_is_functional_template__$b=false;/* style inject */ /* style inject SSR */ /* style inject shadow dom */const __vue_component__$b=/*#__PURE__*/normalizeComponent({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$b,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,false,undefined,undefined,undefined);//
|
|
2137
2169
|
var script$a={props:{column:Object,setFormParams:Function,config:Object,ops:Object,// 请求参数,
|
|
@@ -2161,7 +2193,7 @@ getConfig:Function},components:{Dp:__vue_component__$e},watch:{ops:function(newV
|
|
|
2161
2193
|
}else{this.value=[];}}},mounted(){let{key,ruleCorrespond,rule}=this.getConfig(this.column);this.key=key;if(rule.limit){this.limit=rule.limit;}this.ruleCorrespond=ruleCorrespond;},data(){return{trans,visible:false,limit:50,asyncList:[],value:'',ruleCorrespond:'',key:''};},methods:{fnClick(res){this.ruleCorrespond(res);},submit(){const key=this.key;this.setFormParams({[key]:this.value.join(',')});this.visible=false;},reset(){this.value=[];}}};/* script */const __vue_script__$5=script$5;/* template */var __vue_render__$5=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-select",{staticStyle:{width:"100%","margin-bottom":"10px"},attrs:{filterable:"",clearable:"",remote:"",multiple:"","multiple-limit":_vm.limit,"reserve-keyword":"",placeholder:_vm.trans("请选择"),"remote-method":_vm.fnClick},on:{focus:function($event){return _vm.fnClick("");}},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},_vm._l(_vm.asyncList,function(item){return _c("el-option",{key:""+item.schemeKey,attrs:{label:""+item.schemeLabel,value:item.schemeValue}});}),1),_vm._v(" "),_c("el-button",{attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$5=[];__vue_render__$5._withStripped=true;/* style */const __vue_inject_styles__$5=undefined;/* scoped */const __vue_scope_id__$5=undefined;/* module identifier */const __vue_module_identifier__$5=undefined;/* functional template */const __vue_is_functional_template__$5=false;/* style inject */ /* style inject SSR */ /* style inject shadow dom */const __vue_component__$5=/*#__PURE__*/normalizeComponent({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$5,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,false,undefined,undefined,undefined);//
|
|
2162
2194
|
var script$4={name:"cascader",props:{config:Object,setFormParams:Function,column:Object,ops:Object,// 请求参数
|
|
2163
2195
|
getConfig:Function},components:{Dp:__vue_component__$e},watch:{ops:function(newVal,old){const key=this.key;const ops=newVal;if(ops[key]){this.value=ops[key].split(",");// 约定 基本上check类型的值都是、分割的字符串
|
|
2164
|
-
}else{this.value=[];}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},mounted(){let{key,option,rule}=this.getConfig(this.column);this.option=option;this.key=key;this.componentOriginProps=rule.componentOriginProps;this.configProps=rule.configProps
|
|
2196
|
+
}else{this.value=[];}},visible:{deep:true,handler(value){if(this.ruleFn&&value){let{option}=this.getConfig(this.column);this.list=option;}}}},mounted(){let{key,option,rule}=this.getConfig(this.column);this.option=option;this.key=key;this.componentOriginProps={...this.componentOriginProps,...rule.componentOriginProps};if(rule.configProps){this.configProps={...this.configProps,...rule.configProps};}},data(){return{trans,visible:false,limit:50,option:[],value:"",ruleCorrespond:"",key:"",multiple:false,componentOriginProps:{label:"a",value:"b",multiple:true,expandTrigger:"hover"},configProps:{filterable:true}};},methods:{fnClick(res){this.ruleCorrespond(res);},submit(){const key=this.key;this.setFormParams({[key]:this.value.join(",")});this.visible=false;},reset(){this.value=[];}}};/* script */const __vue_script__$4=script$4;/* template */var __vue_render__$4=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",[_c("el-popover",{attrs:{placement:"bottom",width:"100%",trigger:"click","popper-class":"pointRecord"},model:{value:_vm.visible,callback:function($$v){_vm.visible=$$v;},expression:"visible"}},[_c("div",{attrs:{"data-name":_vm.column.columnPropertyName}},[_c("el-cascader",_vm._b({staticStyle:{width:"300px"},attrs:{clearable:"",placeholder:_vm.trans("请选择"),options:_vm.option,props:_vm.componentOriginProps},model:{value:_vm.value,callback:function($$v){_vm.value=$$v;},expression:"value"}},"el-cascader",_vm.configProps,false)),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{size:"mini"},on:{click:_vm.reset}},[_vm._v(_vm._s(_vm.trans("重置")))]),_vm._v(" "),_c("el-button",{staticClass:"popBtn",attrs:{type:"primary",size:"mini"},on:{click:_vm.submit}},[_vm._v(_vm._s(_vm.trans("确定")))])],1),_vm._v(" "),_c("dp",{attrs:{slot:"reference",value:_vm.value},slot:"reference"})],1)],1);};var __vue_staticRenderFns__$4=[];__vue_render__$4._withStripped=true;/* style */const __vue_inject_styles__$4=function(inject){if(!inject)return;inject("data-v-118f5d90_0",{source:".popBtn[data-v-118f5d90] {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n/*# sourceMappingURL=Cascader.vue.map */",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/FormTableScheme/component/ColHeader/Cascader.vue","Cascader.vue"],"names":[],"mappings":"AAqHA;EACA,sBAAA;EACA,gBAAA;ACpHA;;AAEA,uCAAuC","file":"Cascader.vue","sourcesContent":["<template>\n <span>\n <el-popover\n placement=\"bottom\"\n width=\"100%\"\n trigger=\"click\"\n v-model=\"visible\"\n popper-class=\"pointRecord\"\n >\n <div :data-name=\"column.columnPropertyName\">\n <el-cascader\n style=\"width: 300px\"\n v-model=\"value\"\n clearable\n :placeholder=\"trans('请选择')\"\n :options=\"option\"\n :props=\"componentOriginProps\"\n v-bind=\"configProps\"\n >\n </el-cascader>\n <el-button class=\"popBtn\" size=\"mini\" @click=\"reset\">{{\n trans(\"重置\")\n }}</el-button>\n <el-button class=\"popBtn\" type=\"primary\" size=\"mini\" @click=\"submit\">{{\n trans(\"确定\")\n }}</el-button>\n </div>\n <dp :value=\"value\" slot=\"reference\" />\n </el-popover>\n </span>\n</template>\n<script>\nimport Dp from \"./dp.vue\";\nimport trans from \"../../../lang/trans\";\n\nexport default {\n name: \"cascader\",\n props: {\n config: Object,\n setFormParams: Function,\n column: Object,\n ops: Object, // 请求参数\n getConfig: Function,\n },\n components: { Dp },\n watch: {\n ops: function (newVal, old) {\n const key = this.key;\n const ops = newVal;\n if (ops[key]) {\n this.value = ops[key].split(\",\"); // 约定 基本上check类型的值都是、分割的字符串\n } else {\n this.value = [];\n }\n },\n visible: {\n deep: true,\n handler(value) {\n if (this.ruleFn && value) {\n let { option } = this.getConfig(this.column);\n this.list = option;\n }\n },\n },\n },\n mounted() {\n let { key, option, rule } = this.getConfig(this.column);\n this.option = option;\n this.key = key;\n this.componentOriginProps = {\n ...this.componentOriginProps,\n ...rule.componentOriginProps,\n };\n if (rule.configProps) {\n this.configProps = {\n ...this.configProps,\n ...rule.configProps,\n };\n }\n },\n data() {\n return {\n trans,\n visible: false,\n limit: 50,\n option: [],\n value: \"\",\n ruleCorrespond: \"\",\n key: \"\",\n multiple: false,\n componentOriginProps: {\n label: \"a\",\n value: \"b\",\n multiple: true,\n expandTrigger: \"hover\",\n },\n configProps: {\n filterable: true,\n },\n };\n },\n methods: {\n fnClick(res) {\n this.ruleCorrespond(res);\n },\n submit() {\n const key = this.key;\n this.setFormParams({ [key]: this.value.join(\",\") });\n this.visible = false;\n },\n reset() {\n this.value = [];\n },\n },\n};\n</script>\n<style lang=\"scss\" scoped>\n.popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n</style>",".popBtn {\n vertical-align: bottom;\n margin-left: 5px;\n}\n\n/*# sourceMappingURL=Cascader.vue.map */"]},media:undefined});};/* scoped */const __vue_scope_id__$4="data-v-118f5d90";/* module identifier */const __vue_module_identifier__$4=undefined;/* functional template */const __vue_is_functional_template__$4=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$4=/*#__PURE__*/normalizeComponent({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$4,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,false,createInjector,undefined,undefined);var has$1=Object.prototype.hasOwnProperty;var hexTable=function(){var array=[];for(var i=0;i<256;++i){array.push('%'+((i<16?'0':'')+i.toString(16)).toUpperCase());}return array;}();var compactQueue=function compactQueue(queue){var obj;while(queue.length){var item=queue.pop();obj=item.obj[item.prop];if(Array.isArray(obj)){var compacted=[];for(var j=0;j<obj.length;++j){if(typeof obj[j]!=='undefined'){compacted.push(obj[j]);}}item.obj[item.prop]=compacted;}}return obj;};var arrayToObject=function arrayToObject(source,options){var obj=options&&options.plainObjects?Object.create(null):{};for(var i=0;i<source.length;++i){if(typeof source[i]!=='undefined'){obj[i]=source[i];}}return obj;};var merge=function merge(target,source,options){if(!source){return target;}if(typeof source!=='object'){if(Array.isArray(target)){target.push(source);}else if(target&&typeof target==='object'){if(options&&(options.plainObjects||options.allowPrototypes)||!has$1.call(Object.prototype,source)){target[source]=true;}}else{return[target,source];}return target;}if(!target||typeof target!=='object'){return[target].concat(source);}var mergeTarget=target;if(Array.isArray(target)&&!Array.isArray(source)){mergeTarget=arrayToObject(target,options);}if(Array.isArray(target)&&Array.isArray(source)){source.forEach(function(item,i){if(has$1.call(target,i)){var targetItem=target[i];if(targetItem&&typeof targetItem==='object'&&item&&typeof item==='object'){target[i]=merge(targetItem,item,options);}else{target.push(item);}}else{target[i]=item;}});return target;}return Object.keys(source).reduce(function(acc,key){var value=source[key];if(has$1.call(acc,key)){acc[key]=merge(acc[key],value,options);}else{acc[key]=value;}return acc;},mergeTarget);};var assign=function assignSingleSource(target,source){return Object.keys(source).reduce(function(acc,key){acc[key]=source[key];return acc;},target);};var decode$2=function(str){try{return decodeURIComponent(str.replace(/\+/g,' '));}catch(e){return str;}};var encode=function encode(str){// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
|
2165
2197
|
// It has been adapted here for stricter adherence to RFC 3986
|
|
2166
2198
|
if(str.length===0){return str;}var string=typeof str==='string'?str:String(str);var out='';for(var i=0;i<string.length;++i){var c=string.charCodeAt(i);if(c===0x2D// -
|
|
2167
2199
|
||c===0x2E// .
|
|
@@ -2180,7 +2212,7 @@ if(!options.plainObjects&&has.call(Object.prototype,parent)){if(!options.allowPr
|
|
|
2180
2212
|
var i=0;while((segment=child.exec(key))!==null&&i<options.depth){i+=1;if(!options.plainObjects&&has.call(Object.prototype,segment[1].slice(1,-1))){if(!options.allowPrototypes){return;}}keys.push(segment[1]);}// If there's a remainder, just add whatever is left
|
|
2181
2213
|
if(segment){keys.push('['+key.slice(segment.index)+']');}return parseObject(keys,val,options);};var parse$2=function(str,opts){var options=opts?utils.assign({},opts):{};if(options.decoder!==null&&options.decoder!==undefined&&typeof options.decoder!=='function'){throw new TypeError('Decoder has to be a function.');}options.ignoreQueryPrefix=options.ignoreQueryPrefix===true;options.delimiter=typeof options.delimiter==='string'||utils.isRegExp(options.delimiter)?options.delimiter:defaults.delimiter;options.depth=typeof options.depth==='number'?options.depth:defaults.depth;options.arrayLimit=typeof options.arrayLimit==='number'?options.arrayLimit:defaults.arrayLimit;options.parseArrays=options.parseArrays!==false;options.decoder=typeof options.decoder==='function'?options.decoder:defaults.decoder;options.allowDots=typeof options.allowDots==='boolean'?options.allowDots:defaults.allowDots;options.plainObjects=typeof options.plainObjects==='boolean'?options.plainObjects:defaults.plainObjects;options.allowPrototypes=typeof options.allowPrototypes==='boolean'?options.allowPrototypes:defaults.allowPrototypes;options.parameterLimit=typeof options.parameterLimit==='number'?options.parameterLimit:defaults.parameterLimit;options.strictNullHandling=typeof options.strictNullHandling==='boolean'?options.strictNullHandling:defaults.strictNullHandling;if(str===''||str===null||typeof str==='undefined'){return options.plainObjects?Object.create(null):{};}var tempObj=typeof str==='string'?parseValues(str,options):str;var obj=options.plainObjects?Object.create(null):{};// Iterate over the keys and setup the new object
|
|
2182
2214
|
var keys=Object.keys(tempObj);for(var i=0;i<keys.length;++i){var key=keys[i];var newObj=parseKeys(key,tempObj[key],options);obj=utils.merge(obj,newObj,options);}return utils.compact(obj);};var stringify=stringify_1;var parse$1=parse$2;var formats=formats$2;var lib={formats:formats,parse:parse$1,stringify:stringify};// create an axios instance
|
|
2183
|
-
const service=axios.create({baseURL:process.env.VUE_APP_BASE_API,// url = base url + request url
|
|
2215
|
+
const service=axios$1.create({baseURL:process.env.VUE_APP_BASE_API,// url = base url + request url
|
|
2184
2216
|
// withCredentials: true, // send cookies when cross-domain requests
|
|
2185
2217
|
timeout:50000// request timeout
|
|
2186
2218
|
});// request interceptor
|
|
@@ -2189,13 +2221,13 @@ service.interceptors.request.use(config=>{// do something before request is sent
|
|
|
2189
2221
|
if(window.HLEncryption){config.headers=window.HLEncryption.setRequestHeaders({url:(config.url.indexOf('/gateway')>-1?'':config.baseURL)+config.url,headers:config.headers});}return config;},error=>{// do something with request error
|
|
2190
2222
|
console.log(error);// for debug
|
|
2191
2223
|
return Promise.reject(error);});// response interceptor
|
|
2192
|
-
service.interceptors.response.use(/**
|
|
2193
|
-
* If you want to get http information such as headers or status
|
|
2194
|
-
* Please return response => response
|
|
2195
|
-
*/ /**
|
|
2196
|
-
* Determine the request status by custom code
|
|
2197
|
-
* Here is just an example
|
|
2198
|
-
* You can also judge the status by HTTP Status Code
|
|
2224
|
+
service.interceptors.response.use(/**
|
|
2225
|
+
* If you want to get http information such as headers or status
|
|
2226
|
+
* Please return response => response
|
|
2227
|
+
*/ /**
|
|
2228
|
+
* Determine the request status by custom code
|
|
2229
|
+
* Here is just an example
|
|
2230
|
+
* You can also judge the status by HTTP Status Code
|
|
2199
2231
|
*/response=>{const res=response.data;// 解密
|
|
2200
2232
|
if(window.HLEncryption){res.data=window.HLEncryption.decryptResponse(response.headers,res);}if(res.code==-1||res.code==-2){console.log(res.msg);return Promise.reject(new Error(res.msg||'Error'));}else{// Message({
|
|
2201
2233
|
// message: res.msg,
|
|
@@ -2220,21 +2252,21 @@ if(findRes&&findRes.isQuery){let config=getOptions(findRes,ruleFn);let{type,colu
|
|
|
2220
2252
|
// }
|
|
2221
2253
|
let value,str;// dateRange 数据比较特殊 searchKey = [xxStart,xxEnd],所以值和str要特殊处理
|
|
2222
2254
|
if(type==='dateRange'||type==='inputScope'){value=formatTable[type].formToValue(formValues,searchKey);str=formatTable[type].valueToStr(value,config);}else{value=formatTable[type].formToValue(formValues[key]);str=formatTable[type].valueToStr(value,config);}tagNeedCols[columnPropertyName]={name:columnPropertyName,value,str,key:searchKey,type};}}}callbackFn(tagNeedCols);return tagNeedCols;};//
|
|
2223
|
-
var script$3={name:
|
|
2224
|
-
default:()=>{return{};},type:Object},hasSearch:{default:true,type:Boolean},rowKey:{default:
|
|
2225
|
-
default:0,type:Number},formatData:Function,isAutoScroll:{default:true,type:Boolean},setHeight:{default:
|
|
2255
|
+
var script$3={name:"FormTableScheme",components:{SelectCol:__vue_component__$f,Check:__vue_component__$d,Date:__vue_component__$b,Inputsp:__vue_component__$9,Pagination,DateRange:__vue_component__$a,Tips:__vue_component__$8,Radio:__vue_component__$c,InputScope:__vue_component__$6,Selectsp:__vue_component__$5,Cascader:__vue_component__$4},model:{event:"sortChange"},data(){return{trans,dialogFormVisible:false,formatSwitch,list:[],saveMyTemplateColumns:this.requestFn.pageTemplatecs.saveMyTemplateColumns,columns:[],columnsShow:[],checkList:["复选框 A"],tags:[],count:this.countNum,keywords:this.keywords,searchParams:{...this.fetchParam,[this.keywordsKEY]:"",pageSize:20,skipCount:1},listLoading:false,ops:{},multipleSelection:[],tableKey:"first",searchType:"text",selectKey:this.selectKeyList[0]&&this.selectKeyList[0].value||""};},watch:{fetchParam:{deep:true,immediate:true,handler(){this.searchParams={...this.searchParams,...this.fetchParam};}}},props:{bigSearch:{default:false,type:Boolean},fetchParam:{// 上传时附带的参数
|
|
2256
|
+
default:()=>{return{};},type:Object},hasSearch:{default:true,type:Boolean},rowKey:{default:"columnProperty",type:String},selectKeyList:{default:()=>{return[];},type:Array},countNum:{// 总数
|
|
2257
|
+
default:0,type:Number},formatData:Function,isAutoScroll:{default:true,type:Boolean},setHeight:{default:"",type:String},getApi:Function,hooks:{default:()=>{},type:Function},columnsApi:Function,requestFn:{default:()=>{return pageTemplatecs$1;},type:Object},templateKey:String,selectcheck:Function,selectType:String,hasSelection:Boolean,hasIndex:{type:Boolean,default:false},selectable:Function,searchPlaceholder:String,actionWidth:{type:String,default:"100"},keywordsKEY:{type:String,default:"keywords"},ruleFn:{type:Object,default:function(){return{};}},colDisplayFn:{type:Function,default:function(col){return col;}},sortableList:{type:Object,default:function(){return{};}},isInitQuest:{type:Boolean,default:true}},setup(){},created(){// document.addEventListener('keyup', this.enter)
|
|
2226
2258
|
},destroyed(){// document.removeEventListener('keyup', this.enter)
|
|
2227
2259
|
},mounted(){this.changePG();},activated(){this.$refs.FormTable.doLayout();},methods:{getCurrentKeywordsKey(){return this.selectKey||this.keywordsKEY;},handleSelectKeyChange(newKey){// 如果之前有值,需要将值转移到新的字段
|
|
2228
|
-
if(this.searchParams[this.keywordsKEY]&&newKey!==this.keywordsKEY){this.searchParams[newKey]=this.searchParams[this.keywordsKEY];this.searchParams[this.keywordsKEY]=
|
|
2229
|
-
let ops={};for(var key in searchParams){if(searchParams[key]!==
|
|
2260
|
+
if(this.searchParams[this.keywordsKEY]&&newKey!==this.keywordsKEY){this.searchParams[newKey]=this.searchParams[this.keywordsKEY];this.searchParams[this.keywordsKEY]="";}},getConfig(item){return getOptions(item,this.ruleFn);},getLabel(item,row){let config=getOptions(item,this.ruleFn);return this.formatSwitch(config,row);},changeType(type){if(!this.bigSearch)return;this.searchType=type==1?"textarea":"text";if(type==1){this.$nextTick(()=>{this.$refs.myTextarea.focus();});}},dragHead(newWidth,oldWidth,column,event){const findColumn=this.columnsShow.find(c=>c.columnPropertyName==column.label);let formatWidth=Math.ceil(newWidth);this.requestFn.pageTemplatecs.saveMyTemplateColumnWidth({templateKey:this.templateKey,columnCode:findColumn.columnCode,width:formatWidth}).then(response=>{});},changePG(pages){this.requestFn.pageTemplatecs.selectUserTemplateColumns({templateKey:this.templateKey}).then(response=>{if(response.result==="success"){this.columns=response.data.map(i=>{if(i.queryConfig){i.queryConfig=JSON.parse(i.queryConfig);}return i;});}});this.requestFn.pageTemplatecs.selectMyTableColumns({templateKey:this.templateKey}).then(response=>{if(response.result==="success"){this.columnsShow=response.data.map(i=>{if(i.queryConfig){i.queryConfig=JSON.parse(i.queryConfig);}return i;});this.$nextTick(()=>{if(this.isInitQuest){this.getList();}});}});},setFormParams(obj,type="add"){if(type=="add"){this.searchParams={...this.searchParams,...obj};}else{for(let key in obj){delete this.searchParams[key];}}this.$nextTick(()=>{this.getList({skipCount:1});});},enter(e){if(e.key==="Enter"||e.keyCode===13){console.log("enter");}},getList(params,isClearParams=false){let searchParams;if(isClearParams){searchParams={...params,pageSize:this.searchParams.pageSize,skipCount:1};}else{searchParams={...this.searchParams,...params};}this.searchParams=searchParams;// 处理数据
|
|
2261
|
+
let ops={};for(var key in searchParams){if(searchParams[key]!==""&&searchParams[key]!==null&&searchParams[key]!==undefined){ops[key]=searchParams[key];}}// 确保使用正确的关键词字段,并删除其他在selectKeyList中的key值
|
|
2230
2262
|
if(this.selectKeyList&&this.selectKeyList.length>0){// 获取所有selectKeyList中的key值
|
|
2231
2263
|
const allSelectKeys=this.selectKeyList.map(item=>item.value);// 如果当前有选中的selectKey,确保使用它
|
|
2232
2264
|
if(this.selectKey){// 如果默认keywordsKEY有值且不是当前选中的key,将值转移到当前选中的key
|
|
2233
2265
|
if(ops[this.keywordsKEY]&&this.selectKey!==this.keywordsKEY){ops[this.selectKey]=ops[this.keywordsKEY];delete ops[this.keywordsKEY];}// 删除其他在selectKeyList中的key值(除了当前选中的)
|
|
2234
2266
|
allSelectKeys.forEach(key=>{if(key!==this.selectKey&&ops[key]){delete ops[key];}});}}else if(this.selectKey&&this.selectKey!==this.keywordsKEY&&ops[this.keywordsKEY]){// 兼容原有逻辑
|
|
2235
2267
|
ops[this.selectKey]=ops[this.keywordsKEY];delete ops[this.keywordsKEY];}// 根据参数画tag
|
|
2236
|
-
formToValue(ops,this.columnsShow,this.colChange,this.ruleFn);const{pageSize,skipCount}=ops;this.listLoading=true;this.hooks(ops);this.getApi({...ops,pageSize:pageSize,skipCount:(skipCount-1)*pageSize,reqTypeSign:
|
|
2237
|
-
},closeTag(tag){const index=this.tags.findIndex(i=>i.name===tag.name);const delItem=this.tags.splice(index,1)[0];const{key,type}=delItem;if(type===
|
|
2268
|
+
formToValue(ops,this.columnsShow,this.colChange,this.ruleFn);const{pageSize,skipCount}=ops;this.listLoading=true;this.hooks(ops);this.getApi({...ops,pageSize:pageSize,skipCount:(skipCount-1)*pageSize,reqTypeSign:"config_table"}).then(response=>{if(response.result==="success"){if(this.formatData){this.list=this.formatData(response.data);}else{this.list=response.data||[];}this.ops=ops;this.count=response.count;}else{this.$message.error(response.msg);}this.$emit("update:countNum",this.count);this.listLoading=false;this.tableKey=Math.random();},err=>{this.listLoading=false;});},handleSelectionChange(val){let formatVal=val;if(this.selectType==="single"){formatVal=[val.pop()];let other=val;if(other&&other.length>0){other.forEach(row=>{this.$refs.FormTable.toggleRowSelection(row,false);});this.$refs.FormTable.toggleRowSelection(formatVal[0],true);}}this.selectcheck(formatVal);this.multipleSelection=formatVal;this.$emit("selectcheck",formatVal);},getNewCol(show,all){this.columnsShow=show;this.columns=all;this.tableKey=Math.random();// table不刷新 强制key
|
|
2269
|
+
},closeTag(tag){const index=this.tags.findIndex(i=>i.name===tag.name);const delItem=this.tags.splice(index,1)[0];const{key,type}=delItem;if(type==="dateRange"||type==="inputScope"){this.setFormParams({[key[0]]:"",[key[1]]:"",[key[2]]:""},"remove");}else{this.setFormParams({[key]:""},"remove");}},handleSelectAll(val){this.$emit("selectAll",Array.from(val));},handleSelect(selection,row){this.$emit("select",{selection,row});},closeAllTag(){const delKeys={};this.tags.forEach(i=>{const{key,type}=i;if(type==="dateRange"||type==="inputScope"){delKeys[key[0]]="";delKeys[key[1]]="";}else{delKeys[key]="";}});this.tags=[];this.setFormParams({...delKeys},"remove");},colChange(objTags){// const selectIndex =this.tags.findIndex(i => i.name === arrow)
|
|
2238
2270
|
// if(selectIndex >= 0){
|
|
2239
2271
|
// let select = this.tags[selectIndex]
|
|
2240
2272
|
// if(data.value.length > 0){
|
|
@@ -2247,7 +2279,7 @@ formToValue(ops,this.columnsShow,this.colChange,this.ruleFn);const{pageSize,skip
|
|
|
2247
2279
|
// } else {
|
|
2248
2280
|
// this.tags = this.tags.concat([{'name':arrow, value:data.value, str:data.str, key:data.searchKey, type: data.type }])
|
|
2249
2281
|
// }
|
|
2250
|
-
const arr=[];for(let key in objTags){arr.push(objTags[key]);}this.tags=[].concat(arr);},actionModal(){this.dialogFormVisible=true;this.columns;this.columns=this.columns.map(i=>{const isSelect=this.columnsShow.find(j=>j.columnPropertyName===i.columnPropertyName);i.show=!!isSelect;return i;});}}};/* script */const __vue_script__$3=script$3;/* template */var __vue_render__$3=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"container"},[_c("div",{staticClass:"optBox"},[_c("div",{staticClass:"leftBtn"},[_vm._t("leftBtn")],2),_vm._v(" "),_c("div",{staticClass:"rightBtn"},[_vm.hasSearch?_c("el-input",{directives:[{name:"show",rawName:"v-show",value:_vm.searchType=="textarea",expression:"searchType == 'textarea'"}],ref:"myTextarea",class:{"input-with-select":true,textareaSpec:_vm.searchType=="textarea"},attrs:{type:"textarea",placeholder:_vm.searchPlaceholder||_vm.trans("请输入内容"),rows:10},on:{blur:function($event){return _vm.changeType(0);}},nativeOn:{keyup:function($event){if(!$event.type.indexOf("key")&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){return null;}return _vm.getList({skipCount:1});}},model:{value:_vm.searchParams[_vm.getCurrentKeywordsKey()],callback:function($$v){_vm.$set(_vm.searchParams,_vm.getCurrentKeywordsKey(),typeof $$v==="string"?$$v.trim():$$v);},expression:"searchParams[getCurrentKeywordsKey()]"}},[_c("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function($event){return _vm.getList({skipCount:1});}},slot:"append"})],1):_vm._e(),_vm._v(" "),_vm.hasSearch?_c("el-input",{directives:[{name:"show",rawName:"v-show",value:_vm.searchType=="text",expression:"searchType == 'text'"}],class:{"input-with-select":true,width400:_vm.selectKeyList.length>0},attrs:{placeholder:_vm.searchPlaceholder||_vm.trans("请输入内容")},on:{focus:function($event){return _vm.changeType(1);}},nativeOn:{keyup:function($event){if(!$event.type.indexOf("key")&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){return null;}return _vm.getList({skipCount:1});}},model:{value:_vm.searchParams[_vm.getCurrentKeywordsKey()],callback:function($$v){_vm.$set(_vm.searchParams,_vm.getCurrentKeywordsKey(),typeof $$v==="string"?$$v.trim():$$v);},expression:"searchParams[getCurrentKeywordsKey()]"}},[_vm.selectKeyList.length>0?_c("el-select",{staticStyle:{width:"120px"},attrs:{slot:"prepend",placeholder:"请选择"},on:{change:_vm.handleSelectKeyChange},slot:"prepend",model:{value:_vm.selectKey,callback:function($$v){_vm.selectKey=$$v;},expression:"selectKey"}},_vm._l(_vm.selectKeyList,function(item){return _c("el-option",{key:item.value,attrs:{label:item.label,value:item.value}});}),1):_vm._e(),_vm._v(" "),_c("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function($event){return _vm.getList({skipCount:1});}},slot:"append"})],1):_vm._e(),_vm._v(" "),_c("el-divider",{attrs:{direction:"vertical"}}),_vm._v(" "),_c("el-button",{attrs:{size:"mini"},on:{click:_vm.actionModal}},[_c("svg",{staticClass:"icon",staticStyle:{color:"#10C2B0",cursor:"pointer"},attrs:{"aria-hidden":"true"}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_shaixuanpeizhi"}})])])],1)]),_vm._v(" "),_c("div",{staticClass:"tagBox"},_vm._l(_vm.tags,function(tag){return _c("el-tag",{key:tag.name,attrs:{closable:"",type:"info"},on:{close:function($event){return _vm.closeTag(tag);}}},[_c("div",{staticClass:"tagItem"},[_vm._v(_vm._s(tag.name+":"+tag.str)+" ")])]);}),1),_vm._v(" "),_vm.tags.length>1?_c("el-button",{staticClass:"clearAll",on:{click:_vm.closeAllTag}},[_vm._v(_vm._s(_vm.trans("取消全部筛选")))]):_vm._e(),_vm._v(" "),_c("el-table",{directives:[{name:"loading",rawName:"v-loading",value:_vm.listLoading,expression:"listLoading"}],key:_vm.tableKey,ref:"FormTable",staticClass:"table",attrs:{data:_vm.list,"row-key":_vm.rowKey,border:"",fit:""},on:{"sort-change":function($event){return _vm.$emit("sortChange",$event);},"selection-change":_vm.handleSelectionChange,"header-dragend":_vm.dragHead,"select-all":_vm.handleSelectAll,select:_vm.handleSelect}},[_vm.hasSelection?_c("el-table-column",{attrs:{type:"selection",width:"50",selectable:_vm.selectable}}):_vm._e(),_vm._v(" "),_vm.hasIndex?_c("el-table-column",{attrs:{label:_vm.trans("序号"),type:"index",width:"50"}}):_vm._e(),_vm._v(" "),_vm._t("additional"),_vm._v(" "),_vm._l(_vm.colDisplayFn(_vm.columnsShow),function(item){return _c("el-table-column",{key:item.columnCode,attrs:{label:item.columnPropertyName,fixed:item.isFixed==1&&"left","min-width":(item.defaultWidth||item.minWidth)+20,"show-overflow-tooltip":"",sortable:_vm.sortableList[item.columnProperty]||false,prop:item.columnProperty,align:"center"},scopedSlots:_vm._u([{key:"header",fn:function(ref){var column=ref.column;return[_c("span",[_vm._v(_vm._s(column.label))]),_vm._v(" "),_vm.$scopedSlots[item.columnProperty+"Header"]?_c("span",[_c("tips",[_vm._t(item.columnProperty+"Header")],2)],1):_vm._e(),_vm._v(" "),item.queryConfig&&item.queryConfig.type&&item.isQuery?_c(item.queryConfig.type,{tag:"component",attrs:{config:item.queryConfig,column:item,setFormParams:_vm.setFormParams,ops:_vm.ops,getConfig:_vm.getConfig,ruleFn:_vm.ruleFn[item.columnProperty]}}):_vm._e()];}},{key:"default",fn:function(ref){var row=ref.row;return[_vm.$scopedSlots[item.columnProperty]?_c("span",[_vm._t(item.columnProperty,null,{props:row,queryConfig:item.queryConfig,options:_vm.getConfig(item),label:_vm.getLabel(item,row)})],2):_c("span",[_vm._v(_vm._s(_vm.getLabel(item,row)))])];}}],null,true)});}),_vm._v(" "),_vm.$scopedSlots.actionBtn?_c("el-table-column",{attrs:{label:_vm.trans("操作"),align:"center",width:_vm.actionWidth,"class-name":"small-padding",fixed:"right"},scopedSlots:_vm._u([{key:"default",fn:function(ref){var row=ref.row;return[_vm._t("actionBtn",null,{props:row})];}}],null,true)}):_vm._e()],2),_vm._v(" "),_c("div",{staticClass:"btmBox"},[_c("div",{staticClass:"btmLeft"},[_vm._t("btmLeft")],2),_vm._v(" "),_c("pagination",{directives:[{name:"show",rawName:"v-show",value:_vm.count>0,expression:"count > 0"}],staticClass:"text-right mt-0 pagi",attrs:{autoScroll:_vm.isAutoScroll,total:_vm.count,page:_vm.searchParams.skipCount,limit:_vm.searchParams.pageSize},on:{"update:page":function($event){return _vm.$set(_vm.searchParams,"skipCount",$event);},"update:limit":function($event){return _vm.$set(_vm.searchParams,"pageSize",$event);},pagination:_vm.getList}})],1),_vm._v(" "),_vm.columns.length>0?_c("select-col",{attrs:{saveMyTemplateColumns:_vm.saveMyTemplateColumns,templateKey:_vm.templateKey,getNewCol:_vm.getNewCol,initialColumns:_vm.columns,columnsShow:_vm.columnsShow,visible:_vm.dialogFormVisible},on:{"update:visible":function($event){_vm.dialogFormVisible=$event;}}}):_vm._e()],1);};var __vue_staticRenderFns__$3=[];__vue_render__$3._withStripped=true;/* style */const __vue_inject_styles__$3=function(inject){if(!inject)return;inject("data-v-cc6d75ac_0",{source:"\n.el-table__empty-block {\r\n background: #fbfbfb;\n}\r\n",map:{"version":3,"sources":["D:\\项目\\npm\\components\\FormTableScheme\\index.vue"],"names":[],"mappings":";AA4gBA;IACA,mBAAA;AACA","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"container\">\r\n <div class=\"optBox\">\r\n <div class=\"leftBtn\">\r\n <slot name=\"leftBtn\"></slot>\r\n </div>\r\n <div class=\"rightBtn\">\r\n <el-input v-if=\"hasSearch\" v-show=\"searchType == 'textarea'\" type=\"textarea\" @keyup.enter.native=\"getList({ skipCount: 1 })\"\r\n :placeholder=\"searchPlaceholder || trans('请输入内容')\" :class=\"{ 'input-with-select': true, textareaSpec:searchType == 'textarea' }\"\r\n v-model.trim=\"searchParams[getCurrentKeywordsKey()]\" \r\n @blur=\"changeType(0)\" :rows=\"10\" ref=\"myTextarea\" >\r\n <el-button slot=\"append\" icon=\"el-icon-search\" @click=\"getList({ skipCount: 1 })\"></el-button>\r\n </el-input>\r\n <el-input v-if=\"hasSearch\" v-show=\"searchType == 'text'\" @keyup.enter.native=\"getList({ skipCount: 1 })\"\r\n :placeholder=\"searchPlaceholder || trans('请输入内容')\" :class=\"{ 'input-with-select': true, 'width400':selectKeyList.length > 0 }\"\r\n v-model.trim=\"searchParams[getCurrentKeywordsKey()]\" @focus=\"changeType(1)\" >\r\n <el-select v-model=\"selectKey\" slot=\"prepend\" placeholder=\"请选择\" v-if=\"selectKeyList.length > 0\" style=\"width:120px;\" @change=\"handleSelectKeyChange\">\r\n <el-option v-for=\"item in selectKeyList\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\"></el-option>\r\n </el-select>\r\n <el-button slot=\"append\" icon=\"el-icon-search\" @click=\"getList({ skipCount: 1 })\"></el-button>\r\n </el-input>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <el-button size=\"mini\" @click=\"actionModal\">\r\n <svg class=\"icon\" aria-hidden=\"true\" style=\"color:#10C2B0;cursor:pointer;\">\r\n <use xlink:href=\"#fontFamily-a-web20_shaixuanpeizhi\"></use>\r\n </svg>\r\n </el-button>\r\n </div> \r\n </div>\r\n\r\n <div class=\"tagBox\">\r\n <el-tag v-for=\"tag in tags\" :key=\"tag.name\" closable @close=\"closeTag(tag)\" type=\"info\">\r\n <div class=\"tagItem\">{{ `${tag.name}:${tag.str}` }} </div>\r\n </el-tag>\r\n </div>\r\n <el-button class=\"clearAll\" v-if=\"tags.length > 1\" @click=\"closeAllTag\">{{ trans('取消全部筛选') }}</el-button>\r\n <el-table ref=\"FormTable\" v-loading=\"listLoading\" :data=\"list\" :row-key=\"rowKey\" border fit\r\n @sort-change=\"$emit('sortChange', $event)\" @selection-change=\"handleSelectionChange\" @header-dragend=\"dragHead\" @select-all=\"handleSelectAll\" @select=\"handleSelect\"\r\n class=\"table\" :key=\"tableKey\">\r\n <el-table-column v-if=\"hasSelection\" type=\"selection\" width=\"50\" :selectable=\"selectable\">\r\n </el-table-column>\r\n <el-table-column v-if=\"hasIndex\" :label=\"trans('序号')\" type=\"index\" width=\"50\">\r\n </el-table-column>\r\n <slot name=\"additional\"></slot>\r\n <el-table-column v-for=\"(item) in colDisplayFn(columnsShow)\" :key=\"item.columnCode\"\r\n :label=\"item.columnPropertyName\" :fixed=\"(item.isFixed == 1) && 'left'\"\r\n :min-width=\"(item.defaultWidth || item.minWidth) + 20\" show-overflow-tooltip\r\n :sortable=\"sortableList[item.columnProperty] || false\" :prop=\"item.columnProperty\" align=\"center\">\r\n <template slot=\"header\" slot-scope=\"{column}\">\r\n\r\n <span>{{ column.label }}</span>\r\n <span v-if=\"$scopedSlots[`${item.columnProperty}Header`]\">\r\n <tips>\r\n <slot :name=\"`${item.columnProperty}Header`\"></slot>\r\n </tips>\r\n </span>\r\n <component v-if=\"item.queryConfig && item.queryConfig.type && item.isQuery\"\r\n v-bind:is=\"item.queryConfig.type\" :config=\"item.queryConfig\" :column=\"item\"\r\n :setFormParams=\"setFormParams\" :ops=\"ops\" :getConfig=\"getConfig\" :ruleFn=\"ruleFn[item.columnProperty]\"></component>\r\n </template>\r\n <template slot-scope=\"{ row }\">\r\n <span v-if=\"$scopedSlots[item.columnProperty]\">\r\n <slot :name=\"item.columnProperty\" :props=\"row\" :queryConfig=\"item.queryConfig\" \r\n :options=\"getConfig(item)\"\r\n :label=\"getLabel(item, row)\"></slot>\r\n </span>\r\n <span v-else>{{ getLabel(item, row) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :label=\"trans('操作')\" align=\"center\" :width=\"actionWidth\" class-name=\"small-padding\"\r\n v-if=\"$scopedSlots.actionBtn\" fixed=\"right\">\r\n <template slot-scope=\"{ row }\">\r\n <slot name=\"actionBtn\" :props=\"row\">\r\n\r\n </slot>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"btmBox\">\r\n <div class=\"btmLeft\">\r\n <slot name=\"btmLeft\"></slot>\r\n </div>\r\n <pagination v-show=\"count > 0\" :autoScroll=\"isAutoScroll\" class=\"text-right mt-0 pagi\" :total=\"count\"\r\n :page.sync=\"searchParams.skipCount\" :limit.sync=\"searchParams.pageSize\" @pagination=\"getList\" />\r\n </div>\r\n\r\n <select-col v-if=\"columns.length > 0\" :saveMyTemplateColumns=\"saveMyTemplateColumns\" :templateKey=\"templateKey\"\r\n :getNewCol=\"getNewCol\" :initialColumns=\"columns\" :columnsShow=\"columnsShow\"\r\n :visible.sync=\"dialogFormVisible\"></select-col>\r\n\r\n </div>\r\n</template>\r\n<script>\r\n/**\r\n * 表格\r\n * fetchParam {object} 请求参数\r\n * countNum {number} 数据总数 用法:countNum.sync=\"count\"\r\n * getApi {function} 请求接口\r\n * formatData {function} 返回参数格式化\r\n * sortChange {function} 排序事件函数\r\n * setHeight {string || number} 表格高度\r\n * selectcheck {function} 选择监听\r\n * selectable { function } checkbox 筛选禁用\r\n */\r\n\r\nimport { SelectCol, Check, Date, Inputsp, DateRange, Tips, pageTemplatecs, Radio, InputScope, Selectsp, Cascader } from './component/index'\r\nimport Pagination from '@/components/Pagination';\r\nimport formatSwitch from './format';\r\nimport formToValue from './component/ColHeader/dataFormat'\r\nimport trans from '../lang/trans'\r\nimport getOptions from './component/utils'\r\nexport default {\r\n name: 'FormTableScheme',\r\n components: { SelectCol, Check, Date, Inputsp, Pagination, DateRange, Tips, Radio, InputScope, Selectsp, Cascader },\r\n model: {\r\n event: 'sortChange'\r\n },\r\n data() {\r\n return {\r\n trans,\r\n dialogFormVisible: false,\r\n formatSwitch,\r\n list: [],\r\n saveMyTemplateColumns: this.requestFn.pageTemplatecs.saveMyTemplateColumns,\r\n columns: [],\r\n columnsShow: [],\r\n checkList: ['复选框 A'],\r\n tags: [],\r\n count: this.countNum,\r\n keywords: this.keywords,\r\n searchParams: {\r\n ...this.fetchParam,\r\n [this.keywordsKEY]: '',\r\n pageSize: 20,\r\n skipCount: 1\r\n },\r\n listLoading: false,\r\n ops: {},\r\n multipleSelection: [],\r\n tableKey: 'first',\r\n searchType:'text',\r\n selectKey: this.selectKeyList[0] && this.selectKeyList[0].value || '',\r\n }\r\n },\r\n watch: {\r\n fetchParam: {\r\n deep: true,\r\n immediate: true,\r\n handler() {\r\n this.searchParams = {\r\n ...this.searchParams,\r\n ...this.fetchParam\r\n }\r\n }\r\n },\r\n },\r\n props: {\r\n bigSearch:{\r\n default: false,\r\n type: Boolean\r\n },\r\n fetchParam: { // 上传时附带的参数\r\n default: () => {\r\n return {}\r\n },\r\n type: Object\r\n },\r\n hasSearch: {\r\n default: true,\r\n type: Boolean\r\n },\r\n rowKey: {\r\n default: 'columnProperty',\r\n type: String\r\n },\r\n selectKeyList:{\r\n default: () => {\r\n return []\r\n },\r\n type: Array\r\n },\r\n countNum: { // 总数\r\n default: 0,\r\n type: Number\r\n },\r\n formatData: Function,\r\n isAutoScroll: {\r\n default: true,\r\n type: Boolean\r\n },\r\n setHeight: {\r\n default: '',\r\n type: String\r\n },\r\n getApi: Function,\r\n hooks: {\r\n default: () => {\r\n\r\n },\r\n type: Function\r\n },\r\n columnsApi: Function,\r\n requestFn: {\r\n default: () => {\r\n return pageTemplatecs\r\n },\r\n type: Object\r\n },\r\n templateKey: String,\r\n selectcheck: Function,\r\n selectType: String,\r\n hasSelection: Boolean,\r\n hasIndex: {\r\n type: Boolean,\r\n default: false\r\n },\r\n selectable: Function,\r\n searchPlaceholder: String,\r\n actionWidth: {\r\n type: String,\r\n default: '100'\r\n },\r\n keywordsKEY: {\r\n type: String,\r\n default: 'keywords'\r\n },\r\n ruleFn: {\r\n type: Object,\r\n default: function () {\r\n return {}\r\n },\r\n },\r\n colDisplayFn: {\r\n type: Function,\r\n default: function (col) {\r\n return col\r\n }\r\n },\r\n sortableList: {\r\n type: Object,\r\n default: function () {\r\n return {}\r\n },\r\n },\r\n isInitQuest: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n setup() {\r\n\r\n },\r\n created() {\r\n // document.addEventListener('keyup', this.enter)\r\n },\r\n destroyed() {\r\n // document.removeEventListener('keyup', this.enter)\r\n },\r\n mounted() {\r\n this.changePG()\r\n },\r\n activated() {\r\n this.$refs.FormTable.doLayout()\r\n },\r\n methods: {\r\n getCurrentKeywordsKey() {\r\n return this.selectKey || this.keywordsKEY;\r\n },\r\n handleSelectKeyChange(newKey) {\r\n // 如果之前有值,需要将值转移到新的字段\r\n if (this.searchParams[this.keywordsKEY] && newKey !== this.keywordsKEY) {\r\n this.searchParams[newKey] = this.searchParams[this.keywordsKEY];\r\n this.searchParams[this.keywordsKEY] = '';\r\n }\r\n },\r\n getConfig(item){\r\n return getOptions(item,this.ruleFn)\r\n },\r\n getLabel(item, row){\r\n let config = getOptions(item,this.ruleFn)\r\n return this.formatSwitch(config,row)\r\n },\r\n changeType(type){\r\n if(!this.bigSearch) return;\r\n this.searchType = type == 1 ? 'textarea':'text';\r\n if(type == 1){\r\n this.$nextTick(() => {\r\n this.$refs.myTextarea.focus();\r\n })\r\n } \r\n },\r\n dragHead(newWidth, oldWidth, column, event) {\r\n const findColumn = this.columnsShow.find(c => c.columnPropertyName == column.label)\r\n let formatWidth = Math.ceil(newWidth)\r\n this.requestFn.pageTemplatecs.saveMyTemplateColumnWidth({ templateKey: this.templateKey, columnCode: findColumn.columnCode, width: formatWidth }).then((response) => {\r\n })\r\n },\r\n changePG(pages) {\r\n this.requestFn.pageTemplatecs.selectUserTemplateColumns({ templateKey: this.templateKey }).then((response) => {\r\n if (response.result === 'success') {\r\n this.columns = response.data.map((i) => {\r\n if (i.queryConfig) {\r\n i.queryConfig = JSON.parse(i.queryConfig)\r\n }\r\n return i\r\n })\r\n }\r\n })\r\n this.requestFn.pageTemplatecs.selectMyTableColumns({ templateKey: this.templateKey }).then((response) => {\r\n if (response.result === 'success') {\r\n this.columnsShow = response.data.map((i) => {\r\n if (i.queryConfig) {\r\n i.queryConfig = JSON.parse(i.queryConfig)\r\n }\r\n return i\r\n })\r\n this.$nextTick(() => {\r\n if (this.isInitQuest) {\r\n this.getList()\r\n }\r\n })\r\n }\r\n })\r\n\r\n },\r\n setFormParams(obj, type = 'add') {\r\n if (type == 'add') {\r\n this.searchParams = {\r\n ...this.searchParams,\r\n ...obj,\r\n }\r\n } else {\r\n for (let key in obj) {\r\n delete this.searchParams[key]\r\n }\r\n }\r\n\r\n this.$nextTick(() => {\r\n this.getList({\r\n skipCount: 1,\r\n });\r\n })\r\n },\r\n enter(e) {\r\n if ((e.key === 'Enter' || e.keyCode === 13)) {\r\n console.log('enter')\r\n }\r\n },\r\n getList(params, isClearParams = false) {\r\n let searchParams\r\n if (isClearParams) {\r\n searchParams = {\r\n ...params,\r\n pageSize: this.searchParams.pageSize,\r\n skipCount: 1,\r\n }\r\n } else {\r\n searchParams = {\r\n ...this.searchParams,\r\n ...params,\r\n }\r\n }\r\n\r\n\r\n this.searchParams = searchParams;\r\n\r\n\r\n // 处理数据\r\n let ops = {};\r\n for (var key in searchParams) {\r\n if (searchParams[key] !== '' && searchParams[key] !== null && searchParams[key] !== undefined) {\r\n ops[key] = searchParams[key]\r\n }\r\n }\r\n\r\n // 确保使用正确的关键词字段,并删除其他在selectKeyList中的key值\r\n if (this.selectKeyList && this.selectKeyList.length > 0) {\r\n // 获取所有selectKeyList中的key值\r\n const allSelectKeys = this.selectKeyList.map(item => item.value);\r\n \r\n // 如果当前有选中的selectKey,确保使用它\r\n if (this.selectKey) {\r\n // 如果默认keywordsKEY有值且不是当前选中的key,将值转移到当前选中的key\r\n if (ops[this.keywordsKEY] && this.selectKey !== this.keywordsKEY) {\r\n ops[this.selectKey] = ops[this.keywordsKEY];\r\n delete ops[this.keywordsKEY];\r\n }\r\n \r\n // 删除其他在selectKeyList中的key值(除了当前选中的)\r\n allSelectKeys.forEach(key => {\r\n if (key !== this.selectKey && ops[key]) {\r\n delete ops[key];\r\n }\r\n });\r\n }\r\n } else if (this.selectKey && this.selectKey !== this.keywordsKEY && ops[this.keywordsKEY]) {\r\n // 兼容原有逻辑\r\n ops[this.selectKey] = ops[this.keywordsKEY];\r\n delete ops[this.keywordsKEY];\r\n }\r\n\r\n \r\n // 根据参数画tag\r\n formToValue(ops, this.columnsShow, this.colChange, this.ruleFn)\r\n\r\n\r\n\r\n const { pageSize, skipCount } = ops\r\n\r\n this.listLoading = true\r\n this.hooks(ops)\r\n this.getApi({\r\n ...ops,\r\n pageSize: pageSize,\r\n skipCount: (skipCount - 1) * pageSize,\r\n reqTypeSign:'config_table'\r\n }).then(response => {\r\n if (response.result === 'success') {\r\n if (this.formatData) {\r\n this.list = this.formatData(response.data)\r\n } else {\r\n this.list = response.data || []\r\n }\r\n this.ops = ops\r\n this.count = response.count\r\n } else {\r\n this.$message.error(response.msg)\r\n }\r\n this.$emit('update:countNum', this.count)\r\n this.listLoading = false\r\n }, err => {\r\n this.listLoading = false\r\n })\r\n },\r\n handleSelectionChange(val) {\r\n let formatVal = val\r\n if (this.selectType === 'single') {\r\n formatVal = [val.pop()]\r\n let other = val\r\n if (other && other.length > 0) {\r\n other.forEach(row => {\r\n this.$refs.FormTable.toggleRowSelection(row, false);\r\n });\r\n this.$refs.FormTable.toggleRowSelection(formatVal[0], true);\r\n }\r\n }\r\n this.selectcheck(formatVal)\r\n this.multipleSelection = formatVal;\r\n this.$emit('selectcheck', formatVal)\r\n },\r\n getNewCol(show, all) {\r\n this.columnsShow = show\r\n this.columns = all\r\n this.tableKey = Math.random() // table不刷新 强制key\r\n\r\n },\r\n closeTag(tag) {\r\n const index = this.tags.findIndex(i => i.name === tag.name)\r\n const delItem = this.tags.splice(index, 1)[0];\r\n const { key, type } = delItem\r\n if (type === 'dateRange' || type === 'inputScope') {\r\n this.setFormParams({ [key[0]]: '', [key[1]]: '', [key[2]]: '' }, 'remove')\r\n } else {\r\n this.setFormParams({ [key]: '' }, 'remove')\r\n }\r\n\r\n },\r\n handleSelectAll(val) {\r\n this.$emit('selectAll', Array.from(val))\r\n },\r\n handleSelect(selection, row) {\r\n this.$emit('select', { selection, row })\r\n },\r\n closeAllTag() {\r\n const delKeys = {}\r\n this.tags.forEach((i) => {\r\n const { key, type } = i\r\n if (type === 'dateRange' || type === 'inputScope') {\r\n delKeys[key[0]] = ''\r\n delKeys[key[1]] = ''\r\n } else {\r\n delKeys[key] = ''\r\n }\r\n })\r\n this.tags = [];\r\n this.setFormParams({ ...delKeys }, 'remove')\r\n },\r\n colChange(objTags) {\r\n // const selectIndex =this.tags.findIndex(i => i.name === arrow)\r\n // if(selectIndex >= 0){\r\n // let select = this.tags[selectIndex]\r\n // if(data.value.length > 0){\r\n // select.value = data.value\r\n // select.str = data.str\r\n // this.$set(this.tags, selectIndex, select)\r\n // } else {\r\n // this.tags.splice(selectIndex,1)\r\n // }\r\n\r\n // } else {\r\n // this.tags = this.tags.concat([{'name':arrow, value:data.value, str:data.str, key:data.searchKey, type: data.type }])\r\n // }\r\n const arr = []\r\n for (let key in objTags) {\r\n arr.push(objTags[key])\r\n }\r\n\r\n this.tags = [].concat(arr)\r\n\r\n },\r\n\r\n actionModal() {\r\n this.dialogFormVisible = true\r\n this.columns;\r\n this.columns = this.columns.map((i) => {\r\n const isSelect = this.columnsShow.find(j => j.columnPropertyName === i.columnPropertyName)\r\n i.show = !!isSelect;\r\n return i\r\n })\r\n },\r\n }\r\n}\r\n</script>\r\n<style>\r\n.el-table__empty-block {\r\n background: #fbfbfb;\r\n}\r\n</style>\r\n<style lang=\"less\" scoped>\r\n.container {\r\n padding: 15px;\r\n margin: 0px;\r\n width: 100%;\r\n background: #fff;\r\n float: left;\r\n}\r\n\r\n.input-with-select {\r\n width: 300px;\r\n}\r\n.width400{\r\n width:400px;\r\n}\r\n.optBox {\r\n margin-bottom: 10px;\r\n overflow:hidden;\r\n}\r\n\r\n.leftBtn {\r\n float: left;\r\n}\r\n\r\n.rightBtn {\r\n float: right;\r\n .textareaSpec{\r\n position: absolute;\r\n right:100px;\r\n z-index: 1000;\r\n width:700px;\r\n height: 400px;\r\n // transition: all 1s ease-out;\r\n }\r\n .border {\r\n border: 1px solid rgb(220, 223, 230)\r\n }\r\n}\r\n\r\n.tagBox {\r\n width: calc(100% - 140px);\r\n float: left;\r\n overflow: hidden;\r\n >.el-tag {\r\n margin: 4px 10px 0 0;\r\n max-width: 420px;\r\n /deep/.el-tag__close{\r\n vertical-align: super;\r\n }\r\n }\r\n .tagItem{\r\n max-width: 397px;\r\n display: inline-block;\r\n white-space: nowrap; /* 防止文本换行 */\r\n overflow: hidden; /* 隐藏超出的内容 */\r\n text-overflow: ellipsis; /* 将超出的内容显示为省略号 */\r\n }\r\n}\r\n\r\n.clearAll {\r\n float: right;\r\n}\r\n\r\n.table {\r\n width: 100%;\r\n margin-top: 10px;\r\n float: left;\r\n // overflow-x: visible;\r\n // overflow-y: visible;\r\n // /deep/ .el-table__header-wrapper{\r\n // position: sticky;\r\n // top:84px;\r\n // z-index:5;\r\n // }\r\n // /deep/ .el-table__fixed-header-wrapper{\r\n // z-index:5;\r\n // }\r\n}\r\n\r\n.pagi {\r\n float: right;\r\n}\r\n\r\n.pagi.pagination-container {\r\n padding: 0px;\r\n padding-top: 20px;\r\n}\r\n\r\n.btmBox {\r\n width: 100%;\r\n float: left;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n</style>"]},media:undefined}),inject("data-v-cc6d75ac_1",{source:".container[data-v-cc6d75ac] {\n padding: 15px;\n margin: 0px;\n width: 100%;\n background: #fff;\n float: left;\n}\n.input-with-select[data-v-cc6d75ac] {\n width: 300px;\n}\n.width400[data-v-cc6d75ac] {\n width: 400px;\n}\n.optBox[data-v-cc6d75ac] {\n margin-bottom: 10px;\n overflow: hidden;\n}\n.leftBtn[data-v-cc6d75ac] {\n float: left;\n}\n.rightBtn[data-v-cc6d75ac] {\n float: right;\n}\n.rightBtn .textareaSpec[data-v-cc6d75ac] {\n position: absolute;\n right: 100px;\n z-index: 1000;\n width: 700px;\n height: 400px;\n}\n.rightBtn .border[data-v-cc6d75ac] {\n border: 1px solid #dcdfe6;\n}\n.tagBox[data-v-cc6d75ac] {\n width: calc(100% - 140px);\n float: left;\n overflow: hidden;\n}\n.tagBox > .el-tag[data-v-cc6d75ac] {\n margin: 4px 10px 0 0;\n max-width: 420px;\n}\n.tagBox > .el-tag[data-v-cc6d75ac] .el-tag__close {\n vertical-align: super;\n}\n.tagBox .tagItem[data-v-cc6d75ac] {\n max-width: 397px;\n display: inline-block;\n white-space: nowrap;\n /* 防止文本换行 */\n overflow: hidden;\n /* 隐藏超出的内容 */\n text-overflow: ellipsis;\n /* 将超出的内容显示为省略号 */\n}\n.clearAll[data-v-cc6d75ac] {\n float: right;\n}\n.table[data-v-cc6d75ac] {\n width: 100%;\n margin-top: 10px;\n float: left;\n}\n.pagi[data-v-cc6d75ac] {\n float: right;\n}\n.pagi.pagination-container[data-v-cc6d75ac] {\n padding: 0px;\n padding-top: 20px;\n}\n.btmBox[data-v-cc6d75ac] {\n width: 100%;\n float: left;\n display: flex;\n justify-content: space-between;\n}\n",map:{"version":3,"sources":["index.vue"],"names":[],"mappings":"AAAA;EACE,aAAa;EACb,WAAW;EACX,WAAW;EACX,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,aAAa;AACf;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,oBAAoB;EACpB,gBAAgB;AAClB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,gBAAgB;EAChB,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,YAAY;EACZ,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,YAAY;AACd;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,WAAW;EACX,aAAa;EACb,8BAA8B;AAChC","file":"index.vue","sourcesContent":[".container {\n padding: 15px;\n margin: 0px;\n width: 100%;\n background: #fff;\n float: left;\n}\n.input-with-select {\n width: 300px;\n}\n.width400 {\n width: 400px;\n}\n.optBox {\n margin-bottom: 10px;\n overflow: hidden;\n}\n.leftBtn {\n float: left;\n}\n.rightBtn {\n float: right;\n}\n.rightBtn .textareaSpec {\n position: absolute;\n right: 100px;\n z-index: 1000;\n width: 700px;\n height: 400px;\n}\n.rightBtn .border {\n border: 1px solid #dcdfe6;\n}\n.tagBox {\n width: calc(100% - 140px);\n float: left;\n overflow: hidden;\n}\n.tagBox > .el-tag {\n margin: 4px 10px 0 0;\n max-width: 420px;\n}\n.tagBox > .el-tag /deep/ .el-tag__close {\n vertical-align: super;\n}\n.tagBox .tagItem {\n max-width: 397px;\n display: inline-block;\n white-space: nowrap;\n /* 防止文本换行 */\n overflow: hidden;\n /* 隐藏超出的内容 */\n text-overflow: ellipsis;\n /* 将超出的内容显示为省略号 */\n}\n.clearAll {\n float: right;\n}\n.table {\n width: 100%;\n margin-top: 10px;\n float: left;\n}\n.pagi {\n float: right;\n}\n.pagi.pagination-container {\n padding: 0px;\n padding-top: 20px;\n}\n.btmBox {\n width: 100%;\n float: left;\n display: flex;\n justify-content: space-between;\n}\n"]},media:undefined});};/* scoped */const __vue_scope_id__$3="data-v-cc6d75ac";/* module identifier */const __vue_module_identifier__$3=undefined;/* functional template */const __vue_is_functional_template__$3=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$3=/*#__PURE__*/normalizeComponent({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$3,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,false,createInjector,undefined,undefined);__vue_component__$3.install=function(Vue){Vue.component(__vue_component__$3.name,__vue_component__$3);};/*!
|
|
2282
|
+
const arr=[];for(let key in objTags){arr.push(objTags[key]);}this.tags=[].concat(arr);},actionModal(){this.dialogFormVisible=true;this.columns;this.columns=this.columns.map(i=>{const isSelect=this.columnsShow.find(j=>j.columnPropertyName===i.columnPropertyName);i.show=!!isSelect;return i;});}}};/* script */const __vue_script__$3=script$3;/* template */var __vue_render__$3=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("div",{staticClass:"container"},[_c("div",{staticClass:"optBox"},[_c("div",{staticClass:"leftBtn"},[_vm._t("leftBtn")],2),_vm._v(" "),_c("div",{staticClass:"rightBtn"},[_vm.hasSearch?_c("el-input",{directives:[{name:"show",rawName:"v-show",value:_vm.searchType=="textarea",expression:"searchType == 'textarea'"}],ref:"myTextarea",class:{"input-with-select":true,textareaSpec:_vm.searchType=="textarea"},attrs:{type:"textarea",placeholder:_vm.searchPlaceholder||_vm.trans("请输入内容"),rows:10},on:{blur:function($event){return _vm.changeType(0);}},nativeOn:{keyup:function($event){if(!$event.type.indexOf("key")&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){return null;}return _vm.getList({skipCount:1});}},model:{value:_vm.searchParams[_vm.getCurrentKeywordsKey()],callback:function($$v){_vm.$set(_vm.searchParams,_vm.getCurrentKeywordsKey(),typeof $$v==="string"?$$v.trim():$$v);},expression:"searchParams[getCurrentKeywordsKey()]"}},[_c("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function($event){return _vm.getList({skipCount:1});}},slot:"append"})],1):_vm._e(),_vm._v(" "),_vm.hasSearch?_c("el-input",{directives:[{name:"show",rawName:"v-show",value:_vm.searchType=="text",expression:"searchType == 'text'"}],class:{"input-with-select":true,width400:_vm.selectKeyList.length>0},attrs:{placeholder:_vm.searchPlaceholder||_vm.trans("请输入内容")},on:{focus:function($event){return _vm.changeType(1);}},nativeOn:{keyup:function($event){if(!$event.type.indexOf("key")&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){return null;}return _vm.getList({skipCount:1});}},model:{value:_vm.searchParams[_vm.getCurrentKeywordsKey()],callback:function($$v){_vm.$set(_vm.searchParams,_vm.getCurrentKeywordsKey(),typeof $$v==="string"?$$v.trim():$$v);},expression:"searchParams[getCurrentKeywordsKey()]"}},[_vm.selectKeyList.length>0?_c("el-select",{staticStyle:{width:"120px"},attrs:{slot:"prepend",placeholder:"请选择"},on:{change:_vm.handleSelectKeyChange},slot:"prepend",model:{value:_vm.selectKey,callback:function($$v){_vm.selectKey=$$v;},expression:"selectKey"}},_vm._l(_vm.selectKeyList,function(item){return _c("el-option",{key:item.value,attrs:{label:item.label,value:item.value}});}),1):_vm._e(),_vm._v(" "),_c("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function($event){return _vm.getList({skipCount:1});}},slot:"append"})],1):_vm._e(),_vm._v(" "),_c("el-divider",{attrs:{direction:"vertical"}}),_vm._v(" "),_c("el-button",{attrs:{size:"mini"},on:{click:_vm.actionModal}},[_c("svg",{staticClass:"icon",staticStyle:{color:"#10c2b0",cursor:"pointer"},attrs:{"aria-hidden":"true"}},[_c("use",{attrs:{"xlink:href":"#fontFamily-a-web20_shaixuanpeizhi"}})])])],1)]),_vm._v(" "),_c("div",{staticClass:"tagBox"},_vm._l(_vm.tags,function(tag){return _c("el-tag",{key:tag.name,attrs:{closable:"",type:"info"},on:{close:function($event){return _vm.closeTag(tag);}}},[_c("div",{staticClass:"tagItem"},[_vm._v(_vm._s(tag.name+":"+tag.str))])]);}),1),_vm._v(" "),_vm.tags.length>1?_c("el-button",{staticClass:"clearAll",on:{click:_vm.closeAllTag}},[_vm._v(_vm._s(_vm.trans("取消全部筛选")))]):_vm._e(),_vm._v(" "),_c("el-table",{directives:[{name:"loading",rawName:"v-loading",value:_vm.listLoading,expression:"listLoading"}],key:_vm.tableKey,ref:"FormTable",staticClass:"table",attrs:{data:_vm.list,"row-key":_vm.rowKey,border:"",fit:""},on:{"sort-change":function($event){return _vm.$emit("sortChange",$event);},"selection-change":_vm.handleSelectionChange,"header-dragend":_vm.dragHead,"select-all":_vm.handleSelectAll,select:_vm.handleSelect}},[_vm.hasSelection?_c("el-table-column",{attrs:{type:"selection",width:"50",selectable:_vm.selectable}}):_vm._e(),_vm._v(" "),_vm.hasIndex?_c("el-table-column",{attrs:{label:_vm.trans("序号"),type:"index",width:"50"}}):_vm._e(),_vm._v(" "),_vm._t("additional"),_vm._v(" "),_vm._l(_vm.colDisplayFn(_vm.columnsShow),function(item){return _c("el-table-column",{key:item.columnCode,attrs:{label:item.columnPropertyName,fixed:item.isFixed==1&&"left","min-width":(item.defaultWidth||item.minWidth)+20,"show-overflow-tooltip":"",sortable:_vm.sortableList[item.columnProperty]||false,prop:item.columnProperty,align:"center"},scopedSlots:_vm._u([{key:"header",fn:function(ref){var column=ref.column;return[_c("span",[_vm._v(_vm._s(column.label))]),_vm._v(" "),_vm.$scopedSlots[item.columnProperty+"Header"]?_c("span",[_c("tips",[_vm._t(item.columnProperty+"Header")],2)],1):_vm._e(),_vm._v(" "),item.queryConfig&&item.queryConfig.type&&item.isQuery?_c(item.queryConfig.type,{tag:"component",attrs:{config:item.queryConfig,column:item,setFormParams:_vm.setFormParams,ops:_vm.ops,getConfig:_vm.getConfig,ruleFn:_vm.ruleFn[item.columnProperty]}}):_vm._e()];}},{key:"default",fn:function(ref){var row=ref.row;return[_vm.$scopedSlots[item.columnProperty]?_c("span",[_vm._t(item.columnProperty,null,{props:row,queryConfig:item.queryConfig,options:_vm.getConfig(item),label:_vm.getLabel(item,row)})],2):_c("span",[_vm._v(_vm._s(_vm.getLabel(item,row)))])];}}],null,true)});}),_vm._v(" "),_vm.$scopedSlots.actionBtn?_c("el-table-column",{attrs:{label:_vm.trans("操作"),align:"center",width:_vm.actionWidth,"class-name":"small-padding",fixed:"right"},scopedSlots:_vm._u([{key:"default",fn:function(ref){var row=ref.row;return[_vm._t("actionBtn",null,{props:row})];}}],null,true)}):_vm._e()],2),_vm._v(" "),_c("div",{staticClass:"btmBox"},[_c("div",{staticClass:"btmLeft"},[_vm._t("btmLeft")],2),_vm._v(" "),_c("pagination",{directives:[{name:"show",rawName:"v-show",value:_vm.count>0,expression:"count > 0"}],staticClass:"text-right mt-0 pagi",attrs:{autoScroll:_vm.isAutoScroll,total:_vm.count,page:_vm.searchParams.skipCount,limit:_vm.searchParams.pageSize},on:{"update:page":function($event){return _vm.$set(_vm.searchParams,"skipCount",$event);},"update:limit":function($event){return _vm.$set(_vm.searchParams,"pageSize",$event);},pagination:_vm.getList}})],1),_vm._v(" "),_vm.columns.length>0?_c("select-col",{attrs:{saveMyTemplateColumns:_vm.saveMyTemplateColumns,templateKey:_vm.templateKey,getNewCol:_vm.getNewCol,initialColumns:_vm.columns,columnsShow:_vm.columnsShow,visible:_vm.dialogFormVisible},on:{"update:visible":function($event){_vm.dialogFormVisible=$event;}}}):_vm._e()],1);};var __vue_staticRenderFns__$3=[];__vue_render__$3._withStripped=true;/* style */const __vue_inject_styles__$3=function(inject){if(!inject)return;inject("data-v-ee0231a6_0",{source:"\n.el-table__empty-block {\n background: #fbfbfb;\n}\n",map:{"version":3,"sources":["/Users/chenlei/HLcode/test/components/FormTableScheme/index.vue"],"names":[],"mappings":";AAiqBA;EACA,mBAAA;AACA","file":"index.vue","sourcesContent":["<template>\n <div class=\"container\">\n <div class=\"optBox\">\n <div class=\"leftBtn\">\n <slot name=\"leftBtn\"></slot>\n </div>\n <div class=\"rightBtn\">\n <el-input\n v-if=\"hasSearch\"\n v-show=\"searchType == 'textarea'\"\n type=\"textarea\"\n @keyup.enter.native=\"getList({ skipCount: 1 })\"\n :placeholder=\"searchPlaceholder || trans('请输入内容')\"\n :class=\"{\n 'input-with-select': true,\n textareaSpec: searchType == 'textarea',\n }\"\n v-model.trim=\"searchParams[getCurrentKeywordsKey()]\"\n @blur=\"changeType(0)\"\n :rows=\"10\"\n ref=\"myTextarea\"\n >\n <el-button\n slot=\"append\"\n icon=\"el-icon-search\"\n @click=\"getList({ skipCount: 1 })\"\n ></el-button>\n </el-input>\n <el-input\n v-if=\"hasSearch\"\n v-show=\"searchType == 'text'\"\n @keyup.enter.native=\"getList({ skipCount: 1 })\"\n :placeholder=\"searchPlaceholder || trans('请输入内容')\"\n :class=\"{\n 'input-with-select': true,\n width400: selectKeyList.length > 0,\n }\"\n v-model.trim=\"searchParams[getCurrentKeywordsKey()]\"\n @focus=\"changeType(1)\"\n >\n <el-select\n v-model=\"selectKey\"\n slot=\"prepend\"\n placeholder=\"请选择\"\n v-if=\"selectKeyList.length > 0\"\n style=\"width: 120px\"\n @change=\"handleSelectKeyChange\"\n >\n <el-option\n v-for=\"item in selectKeyList\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n ></el-option>\n </el-select>\n <el-button\n slot=\"append\"\n icon=\"el-icon-search\"\n @click=\"getList({ skipCount: 1 })\"\n ></el-button>\n </el-input>\n <el-divider direction=\"vertical\"></el-divider>\n <el-button size=\"mini\" @click=\"actionModal\">\n <svg\n class=\"icon\"\n aria-hidden=\"true\"\n style=\"color: #10c2b0; cursor: pointer\"\n >\n <use xlink:href=\"#fontFamily-a-web20_shaixuanpeizhi\"></use>\n </svg>\n </el-button>\n </div>\n </div>\n\n <div class=\"tagBox\">\n <el-tag\n v-for=\"tag in tags\"\n :key=\"tag.name\"\n closable\n @close=\"closeTag(tag)\"\n type=\"info\"\n >\n <div class=\"tagItem\">{{ `${tag.name}:${tag.str}` }}</div>\n </el-tag>\n </div>\n <el-button class=\"clearAll\" v-if=\"tags.length > 1\" @click=\"closeAllTag\">{{\n trans(\"取消全部筛选\")\n }}</el-button>\n <el-table\n ref=\"FormTable\"\n v-loading=\"listLoading\"\n :data=\"list\"\n :row-key=\"rowKey\"\n border\n fit\n @sort-change=\"$emit('sortChange', $event)\"\n @selection-change=\"handleSelectionChange\"\n @header-dragend=\"dragHead\"\n @select-all=\"handleSelectAll\"\n @select=\"handleSelect\"\n class=\"table\"\n :key=\"tableKey\"\n >\n <el-table-column\n v-if=\"hasSelection\"\n type=\"selection\"\n width=\"50\"\n :selectable=\"selectable\"\n >\n </el-table-column>\n <el-table-column\n v-if=\"hasIndex\"\n :label=\"trans('序号')\"\n type=\"index\"\n width=\"50\"\n >\n </el-table-column>\n <slot name=\"additional\"></slot>\n <el-table-column\n v-for=\"item in colDisplayFn(columnsShow)\"\n :key=\"item.columnCode\"\n :label=\"item.columnPropertyName\"\n :fixed=\"item.isFixed == 1 && 'left'\"\n :min-width=\"(item.defaultWidth || item.minWidth) + 20\"\n show-overflow-tooltip\n :sortable=\"sortableList[item.columnProperty] || false\"\n :prop=\"item.columnProperty\"\n align=\"center\"\n >\n <template slot=\"header\" slot-scope=\"{ column }\">\n <span>{{ column.label }}</span>\n <span v-if=\"$scopedSlots[`${item.columnProperty}Header`]\">\n <tips>\n <slot :name=\"`${item.columnProperty}Header`\"></slot>\n </tips>\n </span>\n <component\n v-if=\"item.queryConfig && item.queryConfig.type && item.isQuery\"\n v-bind:is=\"item.queryConfig.type\"\n :config=\"item.queryConfig\"\n :column=\"item\"\n :setFormParams=\"setFormParams\"\n :ops=\"ops\"\n :getConfig=\"getConfig\"\n :ruleFn=\"ruleFn[item.columnProperty]\"\n ></component>\n </template>\n <template slot-scope=\"{ row }\">\n <span v-if=\"$scopedSlots[item.columnProperty]\">\n <slot\n :name=\"item.columnProperty\"\n :props=\"row\"\n :queryConfig=\"item.queryConfig\"\n :options=\"getConfig(item)\"\n :label=\"getLabel(item, row)\"\n ></slot>\n </span>\n <span v-else>{{ getLabel(item, row) }}</span>\n </template>\n </el-table-column>\n <el-table-column\n :label=\"trans('操作')\"\n align=\"center\"\n :width=\"actionWidth\"\n class-name=\"small-padding\"\n v-if=\"$scopedSlots.actionBtn\"\n fixed=\"right\"\n >\n <template slot-scope=\"{ row }\">\n <slot name=\"actionBtn\" :props=\"row\"> </slot>\n </template>\n </el-table-column>\n </el-table>\n <div class=\"btmBox\">\n <div class=\"btmLeft\">\n <slot name=\"btmLeft\"></slot>\n </div>\n <pagination\n v-show=\"count > 0\"\n :autoScroll=\"isAutoScroll\"\n class=\"text-right mt-0 pagi\"\n :total=\"count\"\n :page.sync=\"searchParams.skipCount\"\n :limit.sync=\"searchParams.pageSize\"\n @pagination=\"getList\"\n />\n </div>\n\n <select-col\n v-if=\"columns.length > 0\"\n :saveMyTemplateColumns=\"saveMyTemplateColumns\"\n :templateKey=\"templateKey\"\n :getNewCol=\"getNewCol\"\n :initialColumns=\"columns\"\n :columnsShow=\"columnsShow\"\n :visible.sync=\"dialogFormVisible\"\n ></select-col>\n </div>\n</template>\n<script>\n/**\n * 表格\n * fetchParam {object} 请求参数\n * countNum {number} 数据总数 用法:countNum.sync=\"count\"\n * getApi {function} 请求接口\n * formatData {function} 返回参数格式化\n * sortChange {function} 排序事件函数\n * setHeight {string || number} 表格高度\n * selectcheck {function} 选择监听\n * selectable { function } checkbox 筛选禁用\n */\n\nimport {\n SelectCol,\n Check,\n Date,\n Inputsp,\n DateRange,\n Tips,\n pageTemplatecs,\n Radio,\n InputScope,\n Selectsp,\n Cascader,\n} from \"./component/index\";\nimport Pagination from \"@/components/Pagination\";\nimport formatSwitch from \"./format\";\nimport formToValue from \"./component/ColHeader/dataFormat\";\nimport trans from \"../lang/trans\";\nimport getOptions from \"./component/utils\";\nexport default {\n name: \"FormTableScheme\",\n components: {\n SelectCol,\n Check,\n Date,\n Inputsp,\n Pagination,\n DateRange,\n Tips,\n Radio,\n InputScope,\n Selectsp,\n Cascader,\n },\n model: {\n event: \"sortChange\",\n },\n data() {\n return {\n trans,\n dialogFormVisible: false,\n formatSwitch,\n list: [],\n saveMyTemplateColumns:\n this.requestFn.pageTemplatecs.saveMyTemplateColumns,\n columns: [],\n columnsShow: [],\n checkList: [\"复选框 A\"],\n tags: [],\n count: this.countNum,\n keywords: this.keywords,\n searchParams: {\n ...this.fetchParam,\n [this.keywordsKEY]: \"\",\n pageSize: 20,\n skipCount: 1,\n },\n listLoading: false,\n ops: {},\n multipleSelection: [],\n tableKey: \"first\",\n searchType: \"text\",\n selectKey: (this.selectKeyList[0] && this.selectKeyList[0].value) || \"\",\n };\n },\n watch: {\n fetchParam: {\n deep: true,\n immediate: true,\n handler() {\n this.searchParams = {\n ...this.searchParams,\n ...this.fetchParam,\n };\n },\n },\n },\n props: {\n bigSearch: {\n default: false,\n type: Boolean,\n },\n fetchParam: {\n // 上传时附带的参数\n default: () => {\n return {};\n },\n type: Object,\n },\n hasSearch: {\n default: true,\n type: Boolean,\n },\n rowKey: {\n default: \"columnProperty\",\n type: String,\n },\n selectKeyList: {\n default: () => {\n return [];\n },\n type: Array,\n },\n countNum: {\n // 总数\n default: 0,\n type: Number,\n },\n formatData: Function,\n isAutoScroll: {\n default: true,\n type: Boolean,\n },\n setHeight: {\n default: \"\",\n type: String,\n },\n getApi: Function,\n hooks: {\n default: () => {},\n type: Function,\n },\n columnsApi: Function,\n requestFn: {\n default: () => {\n return pageTemplatecs;\n },\n type: Object,\n },\n templateKey: String,\n selectcheck: Function,\n selectType: String,\n hasSelection: Boolean,\n hasIndex: {\n type: Boolean,\n default: false,\n },\n selectable: Function,\n searchPlaceholder: String,\n actionWidth: {\n type: String,\n default: \"100\",\n },\n keywordsKEY: {\n type: String,\n default: \"keywords\",\n },\n ruleFn: {\n type: Object,\n default: function () {\n return {};\n },\n },\n colDisplayFn: {\n type: Function,\n default: function (col) {\n return col;\n },\n },\n sortableList: {\n type: Object,\n default: function () {\n return {};\n },\n },\n isInitQuest: {\n type: Boolean,\n default: true,\n },\n },\n setup() {},\n created() {\n // document.addEventListener('keyup', this.enter)\n },\n destroyed() {\n // document.removeEventListener('keyup', this.enter)\n },\n mounted() {\n this.changePG();\n },\n activated() {\n this.$refs.FormTable.doLayout();\n },\n methods: {\n getCurrentKeywordsKey() {\n return this.selectKey || this.keywordsKEY;\n },\n handleSelectKeyChange(newKey) {\n // 如果之前有值,需要将值转移到新的字段\n if (this.searchParams[this.keywordsKEY] && newKey !== this.keywordsKEY) {\n this.searchParams[newKey] = this.searchParams[this.keywordsKEY];\n this.searchParams[this.keywordsKEY] = \"\";\n }\n },\n getConfig(item) {\n return getOptions(item, this.ruleFn);\n },\n getLabel(item, row) {\n let config = getOptions(item, this.ruleFn);\n return this.formatSwitch(config, row);\n },\n changeType(type) {\n if (!this.bigSearch) return;\n this.searchType = type == 1 ? \"textarea\" : \"text\";\n if (type == 1) {\n this.$nextTick(() => {\n this.$refs.myTextarea.focus();\n });\n }\n },\n dragHead(newWidth, oldWidth, column, event) {\n const findColumn = this.columnsShow.find(\n (c) => c.columnPropertyName == column.label\n );\n let formatWidth = Math.ceil(newWidth);\n this.requestFn.pageTemplatecs\n .saveMyTemplateColumnWidth({\n templateKey: this.templateKey,\n columnCode: findColumn.columnCode,\n width: formatWidth,\n })\n .then((response) => {});\n },\n changePG(pages) {\n this.requestFn.pageTemplatecs\n .selectUserTemplateColumns({ templateKey: this.templateKey })\n .then((response) => {\n if (response.result === \"success\") {\n this.columns = response.data.map((i) => {\n if (i.queryConfig) {\n i.queryConfig = JSON.parse(i.queryConfig);\n }\n return i;\n });\n }\n });\n this.requestFn.pageTemplatecs\n .selectMyTableColumns({ templateKey: this.templateKey })\n .then((response) => {\n if (response.result === \"success\") {\n this.columnsShow = response.data.map((i) => {\n if (i.queryConfig) {\n i.queryConfig = JSON.parse(i.queryConfig);\n }\n return i;\n });\n this.$nextTick(() => {\n if (this.isInitQuest) {\n this.getList();\n }\n });\n }\n });\n },\n setFormParams(obj, type = \"add\") {\n if (type == \"add\") {\n this.searchParams = {\n ...this.searchParams,\n ...obj,\n };\n } else {\n for (let key in obj) {\n delete this.searchParams[key];\n }\n }\n\n this.$nextTick(() => {\n this.getList({\n skipCount: 1,\n });\n });\n },\n enter(e) {\n if (e.key === \"Enter\" || e.keyCode === 13) {\n console.log(\"enter\");\n }\n },\n getList(params, isClearParams = false) {\n let searchParams;\n if (isClearParams) {\n searchParams = {\n ...params,\n pageSize: this.searchParams.pageSize,\n skipCount: 1,\n };\n } else {\n searchParams = {\n ...this.searchParams,\n ...params,\n };\n }\n\n this.searchParams = searchParams;\n\n // 处理数据\n let ops = {};\n for (var key in searchParams) {\n if (\n searchParams[key] !== \"\" &&\n searchParams[key] !== null &&\n searchParams[key] !== undefined\n ) {\n ops[key] = searchParams[key];\n }\n }\n\n // 确保使用正确的关键词字段,并删除其他在selectKeyList中的key值\n if (this.selectKeyList && this.selectKeyList.length > 0) {\n // 获取所有selectKeyList中的key值\n const allSelectKeys = this.selectKeyList.map((item) => item.value);\n\n // 如果当前有选中的selectKey,确保使用它\n if (this.selectKey) {\n // 如果默认keywordsKEY有值且不是当前选中的key,将值转移到当前选中的key\n if (ops[this.keywordsKEY] && this.selectKey !== this.keywordsKEY) {\n ops[this.selectKey] = ops[this.keywordsKEY];\n delete ops[this.keywordsKEY];\n }\n\n // 删除其他在selectKeyList中的key值(除了当前选中的)\n allSelectKeys.forEach((key) => {\n if (key !== this.selectKey && ops[key]) {\n delete ops[key];\n }\n });\n }\n } else if (\n this.selectKey &&\n this.selectKey !== this.keywordsKEY &&\n ops[this.keywordsKEY]\n ) {\n // 兼容原有逻辑\n ops[this.selectKey] = ops[this.keywordsKEY];\n delete ops[this.keywordsKEY];\n }\n\n // 根据参数画tag\n formToValue(ops, this.columnsShow, this.colChange, this.ruleFn);\n\n const { pageSize, skipCount } = ops;\n\n this.listLoading = true;\n this.hooks(ops);\n this.getApi({\n ...ops,\n pageSize: pageSize,\n skipCount: (skipCount - 1) * pageSize,\n reqTypeSign: \"config_table\",\n }).then(\n (response) => {\n if (response.result === \"success\") {\n if (this.formatData) {\n this.list = this.formatData(response.data);\n } else {\n this.list = response.data || [];\n }\n this.ops = ops;\n this.count = response.count;\n } else {\n this.$message.error(response.msg);\n }\n this.$emit(\"update:countNum\", this.count);\n this.listLoading = false;\n this.tableKey = Math.random();\n },\n (err) => {\n this.listLoading = false;\n }\n );\n },\n handleSelectionChange(val) {\n let formatVal = val;\n if (this.selectType === \"single\") {\n formatVal = [val.pop()];\n let other = val;\n if (other && other.length > 0) {\n other.forEach((row) => {\n this.$refs.FormTable.toggleRowSelection(row, false);\n });\n this.$refs.FormTable.toggleRowSelection(formatVal[0], true);\n }\n }\n this.selectcheck(formatVal);\n this.multipleSelection = formatVal;\n this.$emit(\"selectcheck\", formatVal);\n },\n getNewCol(show, all) {\n this.columnsShow = show;\n this.columns = all;\n this.tableKey = Math.random(); // table不刷新 强制key\n },\n closeTag(tag) {\n const index = this.tags.findIndex((i) => i.name === tag.name);\n const delItem = this.tags.splice(index, 1)[0];\n const { key, type } = delItem;\n if (type === \"dateRange\" || type === \"inputScope\") {\n this.setFormParams(\n { [key[0]]: \"\", [key[1]]: \"\", [key[2]]: \"\" },\n \"remove\"\n );\n } else {\n this.setFormParams({ [key]: \"\" }, \"remove\");\n }\n },\n handleSelectAll(val) {\n this.$emit(\"selectAll\", Array.from(val));\n },\n handleSelect(selection, row) {\n this.$emit(\"select\", { selection, row });\n },\n closeAllTag() {\n const delKeys = {};\n this.tags.forEach((i) => {\n const { key, type } = i;\n if (type === \"dateRange\" || type === \"inputScope\") {\n delKeys[key[0]] = \"\";\n delKeys[key[1]] = \"\";\n } else {\n delKeys[key] = \"\";\n }\n });\n this.tags = [];\n this.setFormParams({ ...delKeys }, \"remove\");\n },\n colChange(objTags) {\n // const selectIndex =this.tags.findIndex(i => i.name === arrow)\n // if(selectIndex >= 0){\n // let select = this.tags[selectIndex]\n // if(data.value.length > 0){\n // select.value = data.value\n // select.str = data.str\n // this.$set(this.tags, selectIndex, select)\n // } else {\n // this.tags.splice(selectIndex,1)\n // }\n\n // } else {\n // this.tags = this.tags.concat([{'name':arrow, value:data.value, str:data.str, key:data.searchKey, type: data.type }])\n // }\n const arr = [];\n for (let key in objTags) {\n arr.push(objTags[key]);\n }\n\n this.tags = [].concat(arr);\n },\n\n actionModal() {\n this.dialogFormVisible = true;\n this.columns;\n this.columns = this.columns.map((i) => {\n const isSelect = this.columnsShow.find(\n (j) => j.columnPropertyName === i.columnPropertyName\n );\n i.show = !!isSelect;\n return i;\n });\n },\n },\n};\n</script>\n<style>\n.el-table__empty-block {\n background: #fbfbfb;\n}\n</style>\n<style lang=\"less\" scoped>\n.container {\n padding: 15px;\n margin: 0px;\n width: 100%;\n background: #fff;\n float: left;\n}\n\n.input-with-select {\n width: 300px;\n}\n.width400 {\n width: 400px;\n}\n.optBox {\n margin-bottom: 10px;\n overflow: hidden;\n}\n\n.leftBtn {\n float: left;\n}\n\n.rightBtn {\n float: right;\n .textareaSpec {\n position: absolute;\n right: 100px;\n z-index: 1000;\n width: 700px;\n height: 400px;\n // transition: all 1s ease-out;\n }\n .border {\n border: 1px solid rgb(220, 223, 230);\n }\n}\n\n.tagBox {\n width: calc(100% - 140px);\n float: left;\n overflow: hidden;\n > .el-tag {\n margin: 4px 10px 0 0;\n max-width: 420px;\n /deep/.el-tag__close {\n vertical-align: super;\n }\n }\n .tagItem {\n max-width: 397px;\n display: inline-block;\n white-space: nowrap; /* 防止文本换行 */\n overflow: hidden; /* 隐藏超出的内容 */\n text-overflow: ellipsis; /* 将超出的内容显示为省略号 */\n }\n}\n\n.clearAll {\n float: right;\n}\n\n.table {\n width: 100%;\n margin-top: 10px;\n float: left;\n // overflow-x: visible;\n // overflow-y: visible;\n // /deep/ .el-table__header-wrapper{\n // position: sticky;\n // top:84px;\n // z-index:5;\n // }\n // /deep/ .el-table__fixed-header-wrapper{\n // z-index:5;\n // }\n}\n\n.pagi {\n float: right;\n}\n\n.pagi.pagination-container {\n padding: 0px;\n padding-top: 20px;\n}\n\n.btmBox {\n width: 100%;\n float: left;\n display: flex;\n justify-content: space-between;\n}\n</style>"]},media:undefined}),inject("data-v-ee0231a6_1",{source:".container[data-v-ee0231a6] {\n padding: 15px;\n margin: 0px;\n width: 100%;\n background: #fff;\n float: left;\n}\n.input-with-select[data-v-ee0231a6] {\n width: 300px;\n}\n.width400[data-v-ee0231a6] {\n width: 400px;\n}\n.optBox[data-v-ee0231a6] {\n margin-bottom: 10px;\n overflow: hidden;\n}\n.leftBtn[data-v-ee0231a6] {\n float: left;\n}\n.rightBtn[data-v-ee0231a6] {\n float: right;\n}\n.rightBtn .textareaSpec[data-v-ee0231a6] {\n position: absolute;\n right: 100px;\n z-index: 1000;\n width: 700px;\n height: 400px;\n}\n.rightBtn .border[data-v-ee0231a6] {\n border: 1px solid #dcdfe6;\n}\n.tagBox[data-v-ee0231a6] {\n width: calc(100% - 140px);\n float: left;\n overflow: hidden;\n}\n.tagBox > .el-tag[data-v-ee0231a6] {\n margin: 4px 10px 0 0;\n max-width: 420px;\n}\n.tagBox > .el-tag[data-v-ee0231a6] .el-tag__close {\n vertical-align: super;\n}\n.tagBox .tagItem[data-v-ee0231a6] {\n max-width: 397px;\n display: inline-block;\n white-space: nowrap;\n /* 防止文本换行 */\n overflow: hidden;\n /* 隐藏超出的内容 */\n text-overflow: ellipsis;\n /* 将超出的内容显示为省略号 */\n}\n.clearAll[data-v-ee0231a6] {\n float: right;\n}\n.table[data-v-ee0231a6] {\n width: 100%;\n margin-top: 10px;\n float: left;\n}\n.pagi[data-v-ee0231a6] {\n float: right;\n}\n.pagi.pagination-container[data-v-ee0231a6] {\n padding: 0px;\n padding-top: 20px;\n}\n.btmBox[data-v-ee0231a6] {\n width: 100%;\n float: left;\n display: flex;\n justify-content: space-between;\n}\n",map:{"version":3,"sources":["index.vue"],"names":[],"mappings":"AAAA;EACE,aAAa;EACb,WAAW;EACX,WAAW;EACX,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,aAAa;AACf;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,oBAAoB;EACpB,gBAAgB;AAClB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,gBAAgB;EAChB,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,YAAY;EACZ,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,YAAY;AACd;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,WAAW;EACX,aAAa;EACb,8BAA8B;AAChC","file":"index.vue","sourcesContent":[".container {\n padding: 15px;\n margin: 0px;\n width: 100%;\n background: #fff;\n float: left;\n}\n.input-with-select {\n width: 300px;\n}\n.width400 {\n width: 400px;\n}\n.optBox {\n margin-bottom: 10px;\n overflow: hidden;\n}\n.leftBtn {\n float: left;\n}\n.rightBtn {\n float: right;\n}\n.rightBtn .textareaSpec {\n position: absolute;\n right: 100px;\n z-index: 1000;\n width: 700px;\n height: 400px;\n}\n.rightBtn .border {\n border: 1px solid #dcdfe6;\n}\n.tagBox {\n width: calc(100% - 140px);\n float: left;\n overflow: hidden;\n}\n.tagBox > .el-tag {\n margin: 4px 10px 0 0;\n max-width: 420px;\n}\n.tagBox > .el-tag /deep/ .el-tag__close {\n vertical-align: super;\n}\n.tagBox .tagItem {\n max-width: 397px;\n display: inline-block;\n white-space: nowrap;\n /* 防止文本换行 */\n overflow: hidden;\n /* 隐藏超出的内容 */\n text-overflow: ellipsis;\n /* 将超出的内容显示为省略号 */\n}\n.clearAll {\n float: right;\n}\n.table {\n width: 100%;\n margin-top: 10px;\n float: left;\n}\n.pagi {\n float: right;\n}\n.pagi.pagination-container {\n padding: 0px;\n padding-top: 20px;\n}\n.btmBox {\n width: 100%;\n float: left;\n display: flex;\n justify-content: space-between;\n}\n"]},media:undefined});};/* scoped */const __vue_scope_id__$3="data-v-ee0231a6";/* module identifier */const __vue_module_identifier__$3=undefined;/* functional template */const __vue_is_functional_template__$3=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$3=/*#__PURE__*/normalizeComponent({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$3,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,false,createInjector,undefined,undefined);__vue_component__$3.install=function(Vue){Vue.component(__vue_component__$3.name,__vue_component__$3);};/*!
|
|
2251
2283
|
* html2canvas 1.4.1 <https://html2canvas.hertzen.com>
|
|
2252
2284
|
* Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
|
|
2253
2285
|
* Released under MIT License
|
|
@@ -2612,12 +2644,12 @@ let a=document.createElement("a");let clickEvent=document.createEvent("MouseEven
|
|
|
2612
2644
|
//
|
|
2613
2645
|
//
|
|
2614
2646
|
//
|
|
2615
|
-
/**
|
|
2616
|
-
* 导出多个分页
|
|
2617
|
-
* count {Number} 总数
|
|
2618
|
-
* pagingBase {Number} 分页基数
|
|
2619
|
-
* fetchParam {object} 请求参数
|
|
2620
|
-
* getApi {function} 请求接口
|
|
2647
|
+
/**
|
|
2648
|
+
* 导出多个分页
|
|
2649
|
+
* count {Number} 总数
|
|
2650
|
+
* pagingBase {Number} 分页基数
|
|
2651
|
+
* fetchParam {object} 请求参数
|
|
2652
|
+
* getApi {function} 请求接口
|
|
2621
2653
|
*/var script$1={name:"FormTable",components:{},props:{count:{// 总数
|
|
2622
2654
|
default:0,type:Number},pagingBase:{// 分页基数
|
|
2623
2655
|
default:500,type:Number},fetchParam:{// 上传时附带的参数
|
|
@@ -2626,15 +2658,15 @@ const exportItems=[];Array.from({length:numItems},(_,i)=>{exportItems.push({name
|
|
|
2626
2658
|
if(this.count%this.pagingBase>0){exportItems.push({name:`导出${this.pagingBase*numItems+1}-${this.count}`,params:{pageSize:this.pagingBase,skipCount:this.pagingBase*numItems// 修正了原始代码中的逻辑错误
|
|
2627
2659
|
}});}// 一次性赋值给this.exportList,减少数据变化的检测次数
|
|
2628
2660
|
this.exportList=exportItems;}}},mounted(){},methods:{handleDownload(ops){let obj={};if(this.getParam){obj=this.getParam();delete obj.pageSize;delete obj.skipCount;}delete this.fetchParam.pageSize;delete this.fetchParam.skipCount;const param=Object.assign(obj,this.fetchParam,ops);if(this.getApi){this.getApi(param,this.pagingBase).then(res=>{if(res.result=="success"){this.$notify({title:"成功",message:res.msg,type:"success"});}else{this.$message.error(res.msg);}},err=>{this.$message.error(err.msg);});}else{const params=new URLSearchParams();for(let key in param){if(param[key]||param[key]===0){params.append(key,param[key]);}}let headers={"Content-Type":"application/x-www-form-urlencoded"};const url=`/gateway/huilianApi/export/genericExport`;if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:url,headers:headers});}fetch(url,{method:"POST",headers,body:params.toString()}).then(response=>response.json())// 将响应转换为二进制格式的Blob对象
|
|
2629
|
-
.then(res=>{if(res.result=="success"){this.$notify({title:"成功",message:res.msg,type:"success"});}else{this.$message.error(res.msg);}}).catch(error=>{this.$message.error("下载失败");console.error("下载失败:",error);});}}}};/* script */const __vue_script__$1=script$1;/* template */var __vue_render__$1=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("el-dropdown",{attrs:{trigger:"click"},on:{command:_vm.handleDownload}},[_c("el-button",[_vm._v("\n 导出"),_c("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),_vm._v(" "),_c("el-dropdown-menu",{staticStyle:{"max-height":"300px","overflow-y":"auto"},attrs:{slot:"dropdown"},slot:"dropdown"},_vm._l(_vm.exportList,function(item,index){return _c("el-dropdown-item",{key:"exportList"+index,attrs:{command:item.params}},[_vm._v("\n "+_vm._s(item.name)+"\n ")]);}),1)],1);};var __vue_staticRenderFns__$1=[];__vue_render__$1._withStripped=true;/* style */const __vue_inject_styles__$1=function(inject){if(!inject)return;inject("data-v-
|
|
2630
|
-
/**
|
|
2631
|
-
* btnText 导入按钮文字,默认导入
|
|
2632
|
-
* btnType 导入按钮样式,默认空
|
|
2633
|
-
* dialogTitle 导入弹窗标题,默认导入数据
|
|
2634
|
-
* tempKey 导入模板key,默认空
|
|
2635
|
-
* fileType 导入文件格式,默认xlsx,支持csv,xlsx,xls
|
|
2636
|
-
* close 导入窗口关闭回调
|
|
2637
|
-
* fileName 下载导入文件名,不需要后缀
|
|
2661
|
+
.then(res=>{if(res.result=="success"){this.$notify({title:"成功",message:res.msg,type:"success"});}else{this.$message.error(res.msg);}}).catch(error=>{this.$message.error("下载失败");console.error("下载失败:",error);});}}}};/* script */const __vue_script__$1=script$1;/* template */var __vue_render__$1=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("el-dropdown",{attrs:{trigger:"click"},on:{command:_vm.handleDownload}},[_c("el-button",[_vm._v("\n 导出"),_c("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),_vm._v(" "),_c("el-dropdown-menu",{staticStyle:{"max-height":"300px","overflow-y":"auto"},attrs:{slot:"dropdown"},slot:"dropdown"},_vm._l(_vm.exportList,function(item,index){return _c("el-dropdown-item",{key:"exportList"+index,attrs:{command:item.params}},[_vm._v("\n "+_vm._s(item.name)+"\n ")]);}),1)],1);};var __vue_staticRenderFns__$1=[];__vue_render__$1._withStripped=true;/* style */const __vue_inject_styles__$1=function(inject){if(!inject)return;inject("data-v-badbb4c8_0",{source:"\n\n/*# sourceMappingURL=index.vue.map */",map:{"version":3,"sources":["index.vue"],"names":[],"mappings":";;AAEA,oCAAoC","file":"index.vue"},media:undefined});};/* scoped */const __vue_scope_id__$1=undefined;/* module identifier */const __vue_module_identifier__$1=undefined;/* functional template */const __vue_is_functional_template__$1=false;/* style inject SSR */ /* style inject shadow dom */const __vue_component__$1=/*#__PURE__*/normalizeComponent({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__$1,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,false,createInjector,undefined,undefined);__vue_component__$1.install=function(Vue){Vue.component(__vue_component__$1.name,__vue_component__$1);};//
|
|
2662
|
+
/**
|
|
2663
|
+
* btnText 导入按钮文字,默认导入
|
|
2664
|
+
* btnType 导入按钮样式,默认空
|
|
2665
|
+
* dialogTitle 导入弹窗标题,默认导入数据
|
|
2666
|
+
* tempKey 导入模板key,默认空
|
|
2667
|
+
* fileType 导入文件格式,默认xlsx,支持csv,xlsx,xls
|
|
2668
|
+
* close 导入窗口关闭回调
|
|
2669
|
+
* fileName 下载导入文件名,不需要后缀
|
|
2638
2670
|
*/var script={name:"StandardImportComponents",components:{},props:{btnText:{default:"导入",type:String},btnType:{default:"",type:String},dialogTitle:{default:"导入数据",type:String},tempKey:{default:"",type:String},fileType:{default:"xlsx",type:String},close:{default:()=>{},type:Function},fileName:{default:"导入模板",type:String},failFileType:{default:"",type:String},extendParams:{default:"",type:String},onSuccessCallback:{default:()=>{},type:Function},errorParams:{default:()=>({}),type:Object}},data(){return{importApi:"/gateway/huilianApi/importcs/standardImport",dialogVisible:false,formData:{tempKey:this.tempKey,fileType:this.fileType,extendParams:this.extendParams},fileList:[],detailData:{},isSubmitLoading:false,fileCode:""};},mounted(){},computed:{fileTypeComputer(){if(this.fileType==="xlsx"){return"请上传 .xlsx 或 .xls 为后缀的文件";}else{return`请上传 .${this.fileType} 为后缀的文件`;}}},methods:{getTemp(){const params=new URLSearchParams();params.append("tempKey",this.tempKey);params.append("fileType",this.fileType);let headers={"Content-Type":"application/x-www-form-urlencoded"};const url=`/gateway/huilianApi/importcs/queryImportTemp`;if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:url,headers:headers});}fetch(url,{method:"POST",headers,body:params.toString()}).then(response=>response.blob())// 将响应转换为二进制格式的Blob对象
|
|
2639
2671
|
.then(blob=>{// 创建一个指向Blob的URL
|
|
2640
2672
|
const url=URL.createObjectURL(blob);// 创建一个临时的<a>标签用于触发下载
|
|
@@ -2647,11 +2679,11 @@ var str=file.name.split(".");if(str[str.length-1]!==this.fileType){setTimeout(()
|
|
|
2647
2679
|
let headers={"Content-Type":"multipart/form-data"// 通常不需要手动设置,但为了完整性还是加上
|
|
2648
2680
|
};if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:this.importApi,headers:headers});}const formData=new FormData();formData.append("file",file);// 添加文件到FormData中
|
|
2649
2681
|
// 使用axios或fetch发送请求,这里使用axios为例
|
|
2650
|
-
for(let key in this.formData){if(this.formData[key]!==""){formData.append(key,this.formData[key]);}}axios.post(this.importApi,formData,{headers}).then(response=>{onSuccess(response.data,response);// 调用onSuccess回调
|
|
2682
|
+
for(let key in this.formData){if(this.formData[key]!==""){formData.append(key,this.formData[key]);}}axios$1.post(this.importApi,formData,{headers}).then(response=>{onSuccess(response.data,response);// 调用onSuccess回调
|
|
2651
2683
|
}).catch(error=>{onError(error);// 调用onError回调
|
|
2652
2684
|
});},async downloadFile(fileCode,failFileType){if(fileCode){// const data = {
|
|
2653
2685
|
// fileCode,
|
|
2654
2686
|
// fileType: failFileType,
|
|
2655
2687
|
// };
|
|
2656
2688
|
const searchParams=new URLSearchParams();searchParams.append("fileCode",fileCode);searchParams.append("fileType",failFileType);for(let key in this.errorParams){if(this.errorParams[key]||this.errorParams[key]==0){searchParams.append(key,this.errorParams[key]);}}// 加密
|
|
2657
|
-
let headers={"Content-Type":"application/x-www-form-urlencoded"};const urlApi="/gateway/huilianApi/errorcs/exportErrorFile";if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:urlApi,headers:headers});}const response=await fetch(urlApi,{method:"post",headers:headers,body:searchParams.toString()});if(!response.ok){throw new Error(`下载请求失败: ${response.statusText}`);}const blob=await response.blob();const name=response.headers.get("content-disposition").split("filename=")[1];const url=window.URL.createObjectURL(blob);const a=document.createElement("a");a.href=url;a.download=decodeURIComponent(name);document.body.appendChild(a);a.click();document.body.removeChild(a);window.URL.revokeObjectURL(url);}else{this.$message({message:"无文件可下载",type:"warning"});}}}};/* script */const __vue_script__=script;/* template */var __vue_render__=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",{staticClass:"StandardImportComponents"},[_c("el-button",{attrs:{type:_vm.btnType},on:{click:_vm.openDialog}},[_vm._v(_vm._s(_vm.btnText))]),_vm._v(" "),_c("el-dialog",{attrs:{title:_vm.dialogTitle,visible:_vm.dialogVisible,width:"600px","close-on-click-modal":false,"close-on-press-escape":false,"before-close":_vm.handleClose,"append-to-body":""},on:{"update:visible":function($event){_vm.dialogVisible=$event;}}},[_c("div",[_vm._t("content-header")],2),_vm._v(" "),_c("div",{staticStyle:{position:"relative"}},[_c("el-upload",{ref:"importFile",attrs:{action:_vm.importApi,"file-list":_vm.fileList,accept:"."+_vm.fileType,"before-upload":_vm.beforeUploadForm,data:_vm.formData,limit:1,"on-change":_vm.handleChange,"on-remove":_vm.handleRemove,"on-success":_vm.handleSuccess,"on-error":_vm.handleError,"auto-upload":false,"http-request":_vm.customHttpRequest}},[_c("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[_vm._v("选取文件")]),_vm._v(" "),_c("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[_vm._v("\n "+_vm._s(_vm.fileTypeComputer)+"\n ")])],1),_vm._v(" "),_c("div",{staticStyle:{position:"absolute",top:"0",left:"100px"}},[_c("el-button",{attrs:{type:"text"},on:{click:_vm.getTemp}},[_vm._v(" 模板下载 ")])],1),_vm._v(" "),_c("div",{directives:[{name:"show",rawName:"v-show",value:_vm.detailData.successCount||_vm.detailData.failCount,expression:"detailData.successCount || detailData.failCount"}],staticClass:"mt-10",staticStyle:{"font-size":"12px","font-weight":"400",color:"#999999"}},[_vm._v("\n 导入结果(仅展示最后一次上传结果):\n "),_c("span",{staticStyle:{color:"#333333"}},[_vm._v("\n 成功"+_vm._s(_vm.detailData.successCount||0)+"条,失败"+_vm._s(_vm.detailData.failCount||0)+"条\n ")]),_vm._v("\n \n "),_c("a",{directives:[{name:"show",rawName:"v-show",value:_vm.failFileType&&_vm.detailData.failCount,expression:"failFileType && detailData.failCount"}],staticStyle:{color:"#599ebf"},attrs:{href:"javascript:void(0)"},on:{click:function($event){return _vm.downloadFile(_vm.fileCode,_vm.failFileType);}}},[_vm._v("\n 下载失败信息\n ")])])],1),_vm._v(" "),_c("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[_c("el-button",{on:{click:_vm.handleClose}},[_vm._v(" 取 消 ")]),_vm._v(" "),_c("el-button",{attrs:{type:"primary",loading:_vm.isSubmitLoading},on:{click:_vm.query}},[_vm._v("\n 确 定\n ")])],1)])],1);};var __vue_staticRenderFns__=[];__vue_render__._withStripped=true;/* style */const __vue_inject_styles__=undefined;/* scoped */const __vue_scope_id__=undefined;/* module identifier */const __vue_module_identifier__=undefined;/* functional template */const __vue_is_functional_template__=false;/* style inject */ /* style inject SSR */ /* style inject shadow dom */const __vue_component__=/*#__PURE__*/normalizeComponent({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,__vue_script__,__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,false,undefined,undefined,undefined);__vue_component__.install=function(Vue){Vue.component(__vue_component__.name,__vue_component__);};var version="3.
|
|
2689
|
+
let headers={"Content-Type":"application/x-www-form-urlencoded"};const urlApi="/gateway/huilianApi/errorcs/exportErrorFile";if(window.HLEncryption){headers=window.HLEncryption.setRequestHeaders({url:urlApi,headers:headers});}const response=await fetch(urlApi,{method:"post",headers:headers,body:searchParams.toString()});if(!response.ok){throw new Error(`下载请求失败: ${response.statusText}`);}const blob=await response.blob();const name=response.headers.get("content-disposition").split("filename=")[1];const url=window.URL.createObjectURL(blob);const a=document.createElement("a");a.href=url;a.download=decodeURIComponent(name);document.body.appendChild(a);a.click();document.body.removeChild(a);window.URL.revokeObjectURL(url);}else{this.$message({message:"无文件可下载",type:"warning"});}}}};/* script */const __vue_script__=script;/* template */var __vue_render__=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("span",{staticClass:"StandardImportComponents"},[_c("el-button",{attrs:{type:_vm.btnType},on:{click:_vm.openDialog}},[_vm._v(_vm._s(_vm.btnText))]),_vm._v(" "),_c("el-dialog",{attrs:{title:_vm.dialogTitle,visible:_vm.dialogVisible,width:"600px","close-on-click-modal":false,"close-on-press-escape":false,"before-close":_vm.handleClose,"append-to-body":""},on:{"update:visible":function($event){_vm.dialogVisible=$event;}}},[_c("div",[_vm._t("content-header")],2),_vm._v(" "),_c("div",{staticStyle:{position:"relative"}},[_c("el-upload",{ref:"importFile",attrs:{action:_vm.importApi,"file-list":_vm.fileList,accept:"."+_vm.fileType,"before-upload":_vm.beforeUploadForm,data:_vm.formData,limit:1,"on-change":_vm.handleChange,"on-remove":_vm.handleRemove,"on-success":_vm.handleSuccess,"on-error":_vm.handleError,"auto-upload":false,"http-request":_vm.customHttpRequest}},[_c("el-button",{attrs:{slot:"trigger",size:"small",type:"primary"},slot:"trigger"},[_vm._v("选取文件")]),_vm._v(" "),_c("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[_vm._v("\n "+_vm._s(_vm.fileTypeComputer)+"\n ")])],1),_vm._v(" "),_c("div",{staticStyle:{position:"absolute",top:"0",left:"100px"}},[_c("el-button",{attrs:{type:"text"},on:{click:_vm.getTemp}},[_vm._v(" 模板下载 ")])],1),_vm._v(" "),_c("div",{directives:[{name:"show",rawName:"v-show",value:_vm.detailData.successCount||_vm.detailData.failCount,expression:"detailData.successCount || detailData.failCount"}],staticClass:"mt-10",staticStyle:{"font-size":"12px","font-weight":"400",color:"#999999"}},[_vm._v("\n 导入结果(仅展示最后一次上传结果):\n "),_c("span",{staticStyle:{color:"#333333"}},[_vm._v("\n 成功"+_vm._s(_vm.detailData.successCount||0)+"条,失败"+_vm._s(_vm.detailData.failCount||0)+"条\n ")]),_vm._v("\n \n "),_c("a",{directives:[{name:"show",rawName:"v-show",value:_vm.failFileType&&_vm.detailData.failCount,expression:"failFileType && detailData.failCount"}],staticStyle:{color:"#599ebf"},attrs:{href:"javascript:void(0)"},on:{click:function($event){return _vm.downloadFile(_vm.fileCode,_vm.failFileType);}}},[_vm._v("\n 下载失败信息\n ")])])],1),_vm._v(" "),_c("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[_c("el-button",{on:{click:_vm.handleClose}},[_vm._v(" 取 消 ")]),_vm._v(" "),_c("el-button",{attrs:{type:"primary",loading:_vm.isSubmitLoading},on:{click:_vm.query}},[_vm._v("\n 确 定\n ")])],1)])],1);};var __vue_staticRenderFns__=[];__vue_render__._withStripped=true;/* style */const __vue_inject_styles__=undefined;/* scoped */const __vue_scope_id__=undefined;/* module identifier */const __vue_module_identifier__=undefined;/* functional template */const __vue_is_functional_template__=false;/* style inject */ /* style inject SSR */ /* style inject shadow dom */const __vue_component__=/*#__PURE__*/normalizeComponent({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,__vue_script__,__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,false,undefined,undefined,undefined);__vue_component__.install=function(Vue){Vue.component(__vue_component__.name,__vue_component__);};var version="3.4.0";const components=[__vue_component__$j,__vue_component__$i,__vue_component__$h,__vue_component__$g,__vue_component__$3,__vue_component__$2,__vue_component__$1,__vue_component__];const install=function(Vue){components.forEach(component=>{Vue.component(component.name,component);});};if(typeof window!=="undefined"&&window.Vue){install(window.Vue);}var index={version,install};export{__vue_component__$1 as ExportList,__vue_component__$3 as FormTableScheme,__vue_component__$i as HelloVue,__vue_component__$2 as HtmlToImg,__vue_component__$j as MyButton,__vue_component__$g as ShowFile,__vue_component__ as StandardImport,__vue_component__$h as UploadFile,index as default,install};
|