yw-common-list
Version:
基于vxe-table封装的自定义可配置表格
1 lines • 18.6 kB
JavaScript
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _button=require("../../button"),_list=_interopRequireDefault(require("../../a-common-list/src/list")),_query=_interopRequireDefault(require("../../advanced-query/src/query")),_pager=_interopRequireDefault(require("../../pager/src/pager")),_options=_interopRequireDefault(require("./options")),_request=require("./request");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _regeneratorRuntime(){_regeneratorRuntime=function(){return i};var i={},e=Object.prototype,s=e.hasOwnProperty,t="function"==typeof Symbol?Symbol:{},n=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",o=t.toStringTag||"@@toStringTag";function a(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{a({},"")}catch(e){a=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var o,a,i,u,t=t&&t.prototype instanceof p?t:p,t=Object.create(t.prototype),n=new _(n||[]);return t._invoke=(o=e,a=r,i=n,u="suspendedStart",function(e,t){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===e)throw t;return S()}for(i.method=e,i.arg=t;;){var r=i.delegate;if(r){r=function e(t,r){var n=t.iterator[r.method];if(void 0===n){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=void 0,e(t,r),"throw"===r.method))return c;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}n=l(n,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,c;n=n.arg;return n?n.done?(r[t.resultName]=n.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,c):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,c)}(r,i);if(r){if(r===c)continue;return r}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===u)throw u="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);u="executing";r=l(o,a,i);if("normal"===r.type){if(u=i.done?"completed":"suspendedYield",r.arg===c)continue;return{value:r.arg,done:i.done}}"throw"===r.type&&(u="completed",i.method="throw",i.arg=r.arg)}}),t}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}i.wrap=u;var c={};function p(){}function f(){}function h(){}var t={},d=(a(t,n,function(){return this}),Object.getPrototypeOf),d=d&&d(d(w([]))),y=(d&&d!==e&&s.call(d,n)&&(t=d),h.prototype=p.prototype=Object.create(t));function g(e){["next","throw","return"].forEach(function(t){a(e,t,function(e){return this._invoke(t,e)})})}function b(i,u){var t;this._invoke=function(r,n){function e(){return new u(function(e,t){!function t(e,r,n,o){var a,e=l(i[e],i,r);if("throw"!==e.type)return(r=(a=e.arg).value)&&"object"==_typeof(r)&&s.call(r,"__await")?u.resolve(r.__await).then(function(e){t("next",e,n,o)},function(e){t("throw",e,n,o)}):u.resolve(r).then(function(e){a.value=e,n(a)},function(e){return t("throw",e,n,o)});o(e.arg)}(r,n,e,t)})}return t=t?t.then(e,e):e()}}function m(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(m,this),this.reset(!0)}function w(t){if(t){var r,e=t[n];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return r=-1,(e=function e(){for(;++r<t.length;)if(s.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e}).next=e}return{next:S}}function S(){return{value:void 0,done:!0}}return a(y,"constructor",f.prototype=h),a(h,"constructor",f),f.displayName=a(h,o,"GeneratorFunction"),i.isGeneratorFunction=function(e){e="function"==typeof e&&e.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},i.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,a(e,o,"GeneratorFunction")),e.prototype=Object.create(y),e},i.awrap=function(e){return{__await:e}},g(b.prototype),a(b.prototype,r,function(){return this}),i.AsyncIterator=b,i.async=function(e,t,r,n,o){void 0===o&&(o=Promise);var a=new b(u(e,t,r,n),o);return i.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},g(y),a(y,o,"Generator"),a(y,n,function(){return this}),a(y,"toString",function(){return"[object Generator]"}),i.keys=function(r){var e,n=[];for(e in r)n.push(e);return n.reverse(),function e(){for(;n.length;){var t=n.pop();if(t in r)return e.value=t,e.done=!1,e}return e.done=!0,e}},i.values=w,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(v),!e)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function e(e,t){return a.type="throw",a.arg=r,n.next=e,t&&(n.method="next",n.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var o=this.tryEntries[t],a=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var i=s.call(o,"catchLoc"),u=s.call(o,"finallyLoc");if(i&&u){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var a=(o=o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc?null:o)?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,c):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),c},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),v(r),c}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r,n,o=this.tryEntries[t];if(o.tryLoc===e)return"throw"===(r=o.completion).type&&(n=r.arg,v(o)),n}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:w(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},i}function asyncGeneratorStep(e,t,r,n,o,a,i){try{var u=e[a](i),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function _asyncToGenerator(u){return function(){var e=this,i=arguments;return new Promise(function(t,r){var n=u.apply(e,i);function o(e){asyncGeneratorStep(n,t,r,o,a,"next",e)}function a(e){asyncGeneratorStep(n,t,r,o,a,"throw",e)}o(void 0)})}}function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var _default2={name:"ya-wei-list",inheritAttrs:!1,data:function(){return{tableData:[],columns:[],loading:!1,tableOption:{},tablePage:{pageNo:1,pageSize:_options.default.pageSize,totalResult:0},tableSort:{},showQuery:!1,queryOption:[],listQuery:{},errorMessage:null,searchType:null,updatePropQuery:!1}},props:{tableKey:{type:String,require:!0},showTablePage:{type:Boolean,default:!0},showTop:{type:Boolean,default:!0},showAdvancedQuery:{type:Boolean,default:!0},advancedPopupData:{type:Object,default:function(){return{}}},customPage:{type:Object,default:function(){return{pageNo:_options.default.pageNo,pageSize:_options.default.pageSize,totalResult:0}}},superParams:{type:Array,default:function(){return[]}},query:{type:Object,default:function(){return{}}},superQueryAlone:{type:Boolean,default:!0},superQueryAloneParams:{type:Array,default:function(){return["id","column","order"]}},defaultReload:{type:Boolean,default:!1}},computed:{},watch:{tableKey:function(){this.initTable()},query:{deep:!0,handler:function(e,t){this.updatePropQuery=JSON.stringify(this.removeEmptyData(e))!==JSON.stringify(this.removeEmptyData(t))}},advancedPopupData:{deep:!0,handler:function(e){this.showAdvancedQuery&&this.$refs.refAdvancedQuery.updateData(e)}}},methods:{getCheckboxRecords:function(){var e,t=this.tableKey;return(null==(e=this.$refs[t])||null==(e=e.$refs[t])?void 0:e.getCheckboxRecords())||[]},handlePageChange:function(e){var t=e.currentPage,e=e.pageSize;this.tablePage.pageNo=t,this.tablePage.pageSize=e,this.initData()},clearData:function(){this.tableData=[],this.columns=[],this.loading=!1,this.tableOption={},this.tablePage={pageNo:_options.default.pageNo,pageSize:_options.default.pageSize,totalResult:0}},reload:function(e){var t;return 1<arguments.length&&void 0!==arguments[1]&&arguments[1]?(this.tableData=[],this.loading=!1):(t="reload",e&&0<Object.keys(e).length&&this.isNotEmptyNumber(e.pageNo)&&this.isNotEmptyNumber(e.pageSize)&&("superQuery"!==this.searchType||this.updatePropQuery||this.tablePage.pageNo===e.pageNo&&this.tablePage.pageSize===e.pageSize||(t="superQuery"),this.tablePage=_objectSpread({},e)),this.searchType=t,this.tableData=[],this.loading=!1),this.initData()},removeEmptyData:function(r){var e=Object.keys(r);if(!r||e.length<0)return{};var n={};return e.forEach(function(e){var t=r[e];null!==t&&""!==t&&void 0!==t&&(n[e]=t)}),n},isNotEmptyNumber:function(e){return""!==e&&null!=e},initTable:function(e){var t=this;this.clearData(),this.initOption().then(function(){"created"===e&&t.defaultReload&&t.initData()})},initTablePage:function(e){this.showTablePage?this.tablePage={pageNo:e.pageNo||_options.default.pageNo,pageSize:e.pageSize||_options.default.pageSize,totalResult:null==e?void 0:e.total}:this.customPage&&(e=_objectSpread({},this.customPage),0<Object.keys(e).length&&(this.tablePage=e))},initData:function(){var o=this;return _asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r,n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o.loading=!0,e.next=3,o.getTableData();case 3:if(t=e.sent,r=t.success,n=t.result,o.loading=!1,r)return o.tableData=n.records||[],o.tablePage.totalResult=n.total||0,n.pageNo=o.tablePage.pageNo,n.superQuery=o.listQuery,n.isSuperQuery="superQuery"===o.searchType,o.$emit("listLoaderSuccess",n),e.abrupt("return",new Promise(function(e){return e(n)}));e.next=15;break;case 15:case"end":return e.stop()}},e)}))()},initTableSize:function(){},formatTableOption:function(e){var t,r={align:e.columnTitleAlign,border:!0,stripe:!0,width:e.width,tableHeight:e.height||"auto",rowHeight:e.rowHeight},n=this.$el,o=n.clientWidth,n=n.clientHeight;return o&&n&&!e.width&&!e.height&&(e=n,n=null==(n=this.$refs.yaWeiListVXEToolbar)?void 0:n.$el.clientHeight,t=null==(t=this.$refs.yaWeiListVXEPager)?void 0:t.$el.clientHeight,this.showTop&&(e-=n||51),this.showTablePage&&(e-=t||48),r.width=o,r.divHeight=e,r.tableHeight="auto"),r},formatQueryOption:function(e){e=JSON.parse(JSON.stringify(e));return e.sort(function(e,t){return(e.superSort||0)-(t.superSort||0)}),e},initOption:function(){var u=this;return _asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r,n,o,a,i;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.getTableOption();case 2:o=e.sent,t=o.success,r=o.result,n=o.message,o=o.code,t?(a=r.relFields||[],u.queryOption=u.formatQueryOption(a),u.tableOption=u.formatTableOption(r),u.initTablePage(r),i=setTimeout(function(){u.initColumn(a),clearTimeout(i)},50)):u.errorMessage="".concat(o,"-").concat(n);case 8:case"end":return e.stop()}},e)}))()},initColumn:function(e){var r=[];_toConsumableArray(e).map(function(e){var t=Object.assign(e,{width:e.columnWidths,title:e.fieldCn,data:e.field,field:e.fieldCode||(null==(t=e.field)?void 0:t.fieldName)});e.columnSort&&(t.sort=e.columnSort),r.push(t)}),r=r.filter(function(e){return e.title&&e.field}),this.columns=r||[]},getScopedSlots:function(e,n){var o={},a=this.$scopedSlots;return e&&0<e.length&&e.map(function(t){var r="".concat(t.field,"Header");a[r]&&(o[r]=function(e){return n("div",a[r](e))}),-2!==t.columnAttributes&&"-2"!==t.columnAttributes||a[t.field]&&(o[t.field]=function(e){return n("div",a[t.field](e))})}),o},getTableOption:function(){var o=this;return _asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r,n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=o.tableKey)){e.next=15;break}if(n={},null!=(r=o.$YaWeiListUseOption)&&r.axios)return o.$YaWeiListUseOption.axios.defaults.baseURL=_options.default.baseUrl,e.next=7,o.$YaWeiListUseOption.axios.get("grid-config/queryAllByName",{params:{configName:t}});e.next=10;break;case 7:n=e.sent,e.next=14;break;case 10:return _request.axios.defaults.baseURL=_options.default.baseUrl,e.next=13,_request.axios.get("grid-config/queryAllByName",{params:{configName:t}});case 13:n=e.sent;case 14:return e.abrupt("return",Promise.resolve(n.data.data||n.data));case 15:case"end":return e.stop()}},e)}))()},getTableData:function(){var s=this;return _asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r,n,o,a,i,u;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=s.tableKey)){e.next=20;break}if(o=s.tablePage,n=o.pageNo,o=o.pageSize,a=s.superParams,u=s.tableSort,i={},s.superQueryAlone?"reload"===s.searchType?i=_objectSpread(_objectSpread({},s.query),u):"superQuery"===s.searchType&&(i=_objectSpread(_objectSpread({},s.listQuery),u),s.query&&0<Object.keys(s.query).length&&s.superQueryAloneParams&&0<s.superQueryAloneParams.length&&Object.keys(s.query).map(function(e){s.superQueryAloneParams.includes(e)||(i[e]=s.query[e])})):i=_objectSpread(_objectSpread(_objectSpread({},s.query),s.listQuery),u),u={},null!=(r=s.$YaWeiListUseOption)&&r.axios)return s.$YaWeiListUseOption.axios.defaults.baseURL=_options.default.baseUrl,e.next=12,s.$YaWeiListUseOption.axios.post("list-common/queryCommonList",{superParams:a,listQuery:i},{params:{configName:t,pageNo:n,pageSize:o}});e.next=15;break;case 12:u=e.sent,e.next=19;break;case 15:return _request.axios.defaults.baseURL=_options.default.baseUrl,e.next=18,_request.axios.post("list-common/queryCommonList",{superParams:a,listQuery:i},{params:{configName:t,pageNo:n,pageSize:o}});case 18:u=e.sent;case 19:return e.abrupt("return",Promise.resolve(u.data.data||u.data));case 20:case"end":return e.stop()}},e)}))()},sortChange:function(e){var t=this;e&&0!==Object.keys(e).length&&e.field&&(this.tableSort=e.order?{column:e.field,order:e.order}:{},this.$nextTick(function(){t.initData()}))}},created:function(){this.initTable("created")},render:function(e){var t=this,r=this,n=this.$data,o=n.tableOption,a=n.loading,i=n.tableData,u=n.columns,n=n.tablePage,s=this.tableKey,i=_objectSpread(_objectSpread({},this.$attrs),{},{tableKey:s,tableOption:o,loading:a,tableData:i,columns:u}),u=this.getScopedSlots(u,e),a={border:!0,loading:a,currentPage:n.pageNo,pageSize:n.pageSize,total:n.totalResult,pageSizes:_options.default.pageSizes,layouts:["PrevPage","JumpNumber","NextPage","FullJump","Sizes","Total"]},n=this.showTablePage,l=this.showAdvancedQuery,c={};return o.divHeight&&(c.height="".concat(o.divHeight,"px")),e("div",{class:"ya-wei-list",style:c},this.errorMessage||[this.showTop&&e("vxe-toolbar",{ref:"yaWeiListVXEToolbar",scopedSlots:{buttons:function(){return[r.$slots.buttons,e(_button.Button,{attrs:{content:"刷新",status:"primary"},on:{click:function(){r.initData()}}}),l&&e(_button.Button,{attrs:{content:"高级查询",status:"primary"},on:{click:function(){r.showQuery=!0}}})]}}}),l&&e(_query.default,{ref:"refAdvancedQuery",attrs:{visible:this.showQuery,option:this.queryOption||[],tableKey:this.tableKey,data:_objectSpread(_objectSpread({},this.listQuery||{}),this.advancedPopupData||{})},on:{updateVisible:function(e){t.showQuery=e},submit:function(e){t.listQuery=e,t.tablePage.pageNo=1,t.searchType="superQuery",t.initData()},focusCustom:function(e){t.$emit("focusCustom",e)},clearCustom:function(e){t.$emit("clearCustom",e)},resetForm:function(){t.$emit("superQueryReset")}}}),e(_list.default,{ref:s,attrs:i,scopedSlots:u,on:_objectSpread({"sort-change":this.sortChange},this.$listeners)}),n&&e(_pager.default,{ref:"yaWeiListVXEPager",attrs:a,on:{"page-change":this.handlePageChange}})])}};exports.default=_default2;