yw-common-list
Version:
基于vxe-table封装的自定义可配置表格
1 lines • 17.8 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _modal=require("../../modal"),_button=require("../../button"),_request=require("../../ya-wei-list/src/request"),_options2=_interopRequireDefault(require("./options")),_elementUi=require("element-ui"),_pickerClearable=_interopRequireDefault(require("./pickerClearable"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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)}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}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},e=Object.prototype,c=e.hasOwnProperty,t="function"==typeof Symbol?Symbol:{},n=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",o=t.toStringTag||"@@toStringTag";function i(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(e){i=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var o,i,a,u,t=t&&t.prototype instanceof f?t:f,t=Object.create(t.prototype),n=new _(n||[]);return t._invoke=(o=e,i=r,a=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(a.method=e,a.arg=t;;){var r=a.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 s;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}n=l(n,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,s;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,s):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,s)}(r,a);if(r){if(r===s)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===u)throw u="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);u="executing";r=l(o,i,a);if("normal"===r.type){if(u=a.done?"completed":"suspendedYield",r.arg===s)continue;return{value:r.arg,done:a.done}}"throw"===r.type&&(u="completed",a.method="throw",a.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}}}a.wrap=u;var s={};function f(){}function d(){}function p(){}var t={},h=(i(t,n,function(){return this}),Object.getPrototypeOf),h=h&&h(h(w([]))),m=(h&&h!==e&&c.call(h,n)&&(t=h),p.prototype=f.prototype=Object.create(t));function y(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function v(a,u){var t;this._invoke=function(r,n){function e(){return new u(function(e,t){!function t(e,r,n,o){var i,e=l(a[e],a,r);if("throw"!==e.type)return(r=(i=e.arg).value)&&"object"==_typeof(r)&&c.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){i.value=e,n(i)},function(e){return t("throw",e,n,o)});o(e.arg)}(r,n,e,t)})}return t=t?t.then(e,e):e()}}function b(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 g(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,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(c.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 i(m,"constructor",d.prototype=p),i(p,"constructor",d),d.displayName=i(p,o,"GeneratorFunction"),a.isGeneratorFunction=function(e){e="function"==typeof e&&e.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,i(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e},a.awrap=function(e){return{__await:e}},y(v.prototype),i(v.prototype,r,function(){return this}),a.AsyncIterator=v,a.async=function(e,t,r,n,o){void 0===o&&(o=Promise);var i=new v(u(e,t,r,n),o);return a.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},y(m),i(m,o,"Generator"),i(m,n,function(){return this}),i(m,"toString",function(){return"[object Generator]"}),a.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}},a.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(g),!e)for(var t in this)"t"===t.charAt(0)&&c.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 i.type="throw",i.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],i=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var a=c.call(o,"catchLoc"),u=c.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(a){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&&c.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var i=(o=o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc?null:o)?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,s):this.complete(i)},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),s},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),g(r),s}},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,g(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),s}},a}function asyncGeneratorStep(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function _asyncToGenerator(u){return function(){var e=this,a=arguments;return new Promise(function(t,r){var n=u.apply(e,a);function o(e){asyncGeneratorStep(n,t,r,o,i,"next",e)}function i(e){asyncGeneratorStep(n,t,r,o,i,"throw",e)}o(void 0)})}}var _default2={inheritAttrs:!1,name:"advancedQuery",data:function(){return{formData:{},formRules:{},dataBase:{},activeName:"0"}},props:{visible:{type:Boolean,default:!1},data:{type:Object,default:function(){return{}}},tableKey:{type:String,require:!0},option:{type:Array,required:!0,default:function(){return[]}},enterSubmit:{type:Boolean,default:!0}},model:{prop:"visible",event:"updateVisible"},computed:{},watch:{visible:function(e){e&&this.init()}},directives:{"picker-clearable":_pickerClearable.default},methods:{resetForm:function(){this.formData={},this.$emit("resetForm")},queryByCode: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=_options2.default.baseUrl,e.next=7,o.$YaWeiListUseOption.axios.get("/dict-common/queryByConfigName",{params:{configName:t}});e.next=10;break;case 7:n=e.sent,e.next=14;break;case 10:return _request.axios.defaults.baseURL=_options2.default.baseUrl,e.next=13,_request.axios.get("/dict-common/queryByConfigName",{params:{configName:t}});case 13:n=e.sent;case 14:o.dataBase=n.data.result||[];case 15:case"end":return e.stop()}},e)}))()},updateData:function(e){var t=_objectSpread({},this.formData),e=JSON.parse(JSON.stringify(e||{}));this.formData=_objectSpread(_objectSpread({},t),e)},init:function(){var e=_objectSpread({},this.formData),t=JSON.parse(JSON.stringify(this.data||{}));this.formData=_objectSpread(_objectSpread({},t),e),this.queryByCode()},formatSubmitData:function(){var e,t,o=JSON.parse(JSON.stringify(this.formData)),i=_objectSpread({},this.dataBase);return o&&0<(e=Object.keys(o)).length&&(t=this.option,e.filter(function(e){return null===o[e]||e.includes("_custom_name")}).map(function(e){delete o[e]}),e.filter(function(e){return!e.includes("_custom_name")}).map(function(n){t.map(function(e){var t,r=null==e||null==(r=e.field)?void 0:r.fieldName;if(r&&r===n)switch(null==(r=e.fieldShowType)?void 0:r.toLowerCase()){case"radio":o[n]=i[e.field.dictCode].filter(function(e){return e.label===o[n]})[0].value;break;case"checkbox":0===(null==(t=o[n])?void 0:t.length)?delete o[n]:o[n]=i[e.field.dictCode].filter(function(e){return o[n].includes(e.label)}).map(function(e){return e.value});break;case"string":case"number":break;case"date":"object"===_typeof(o[n])&&2===(null==(t=e.field)?void 0:t.queryType)?(o["".concat(n,"_begin")]=o[n]?o[n][0]:"",o["".concat(n,"_end")]=o[n]?o[n][1]:"",delete o[n]):(o["".concat(n,"_begin")]="",o["".concat(n,"_end")]="");break;case"switch":break;case"select":2===(null==(t=e.field)?void 0:t.queryType)&&Array.isArray(o[n])&&(o[n]=o[n].join(","))}})})),o||{}},submit:function(){this.$emit("submit",this.formatSubmitData()),this.updateVisible(!1)},updateVisible:function(e){this.$emit("updateVisible",e)},getDom:function(e,t,r){var n=null;switch(null==t?void 0:t.toLowerCase()){case"radio":n=this.renderRadio(e,r);break;case"checkbox":n=this.renderCheckbox(e,r);break;case"string":n=this.renderInput(e,r);break;case"number":n=this.renderInput(e,r,"number");break;case"date":n=this.renderDatePicker(e,r);break;case"switch":n=this.renderSwitch(e,r);break;case"select":n=this.renderSelect(e,r);break;case"cascader":n=this.renderCascader(e,r);break;case"custom":n=this.renderCustom(e,r);break;default:n=this.renderInput(e,r)}return n||this.renderInput(e,r)},setFormData:function(e,t){var r=_objectSpread({},this.formData);r[e.fieldCode||e.field.fieldName]=t,this.formData=r},renderCascader:function(t,e){var r,n=this,o=this.dataBase,i=t.fieldCode||t.field.fieldName,a=t.field.dictCode;if(!o[a])return this.renderInput(t,e);var u=!1,c=!1;return 2===(null==(r=t.field)?void 0:r.queryType)&&(c=u=!0),e(_elementUi.Cascader,{ref:"refElCascader".concat(i),style:{width:"100%"},attrs:{value:this.formData[i],options:o[a],clearable:!0,filterable:!0,collapseTags:c,props:{checkStrictly:!0,expandTrigger:"hover",multiple:u}},on:{input:function(e){n.setFormData(t,e)}},scopedSlots:{default:function(t){return e("div",{domProps:{innerHTML:t.node.label},on:{click:function(){var e=n.$refs["refElCascader".concat(i)].$refs.panel;u?(e.calculateMultiCheckedValue(),t.node.doCheck(!t.node.checked),e.calculateMultiCheckedValue()):(e.handleCheckChange(t.node.path),e.handleExpand(t.node))}}})}}})},renderSwitch:function(t,e){var r=this,n=t.fieldCode||t.field.fieldName;return e(_elementUi.Switch,{attrs:{value:this.formData[n]},on:{input:function(e){r.setFormData(t,e)}}})},renderDatePicker:function(t,e){var r,n=this,o=t.fieldCode||t.field.fieldName,i="datetime",a={};return 2===(null==(r=t.field)?void 0:r.queryType)&&(i="datetimerange",a={rangeSeparator:"至",startPlaceholder:"开始日期",endPlaceholder:"结束日期"}),e(_elementUi.DatePicker,{directives:2===(null==(r=t.field)?void 0:r.queryType)?[]:[{name:"picker-clearable"}],style:{width:"100%"},attrs:_objectSpread({type:i,placeholder:"请选择",format:"yyyy-MM-dd HH:mm:ss",valueFormat:"yyyy-MM-dd HH:mm:ss",value:this.formData[o]},a),on:{input:function(e){n.setFormData(t,e)}}})},renderSelect:function(t,r){var e,n=this,o=this.dataBase,i=t.fieldCode||t.field.fieldName,a=t.field.dictCode,u=!1,c=!1;return 2===(null==(e=t.field)?void 0:e.queryType)&&(c=u=!0),r(_elementUi.Select,{style:{width:"100%"},attrs:{value:this.formData[i],placeholder:"请选择",clearable:!0,filterable:!0,multiple:u,collapseTags:c},on:{input:function(e){n.setFormData(t,e)}}},o[a]&&o[a].map(function(e,t){return r(_elementUi.Option,{key:t,attrs:{label:e.label,value:e.value}})}))},renderCheckbox:function(t,r){var n=this,e=this.dataBase,o=t.fieldCode||t.field.fieldName,i=t.field.dictCode;if(!e||Object.keys(e).length<=0||!e[i])return this.renderInput(t,r);var a=[];return e[i].map(function(e){a.push(r(_elementUi.Checkbox,{attrs:{label:e.label}}))}),void 0===this.formData[o]&&(this.formData[o]=[]),r(_elementUi.CheckboxGroup,{attrs:{value:this.formData[o]},on:{input:function(e){n.setFormData(t,e)}}},a)},renderRadio:function(t,r){var n=this,e=this.dataBase,o=t.fieldCode||t.field.fieldName,i=t.field.dictCode;if(!e||Object.keys(e).length<=0||!e[i])return this.renderInput(t,r);var a=[];return e[i].map(function(e){a.push(r(_elementUi.Radio,{attrs:{value:n.formData[o],label:e.label},on:{input:function(e){n.setFormData(t,e)}}}))}),a.push(r(_elementUi.Button,{class:"radio-clear-btn",attrs:{type:"text",icon:"el-icon-circle-close"},on:{click:function(){n.setFormData(t,""),delete n.formData[o]}}})),a},renderCustom:function(e,t){var r=this,n=e.fieldCode||e.field.fieldName;return t(_elementUi.Input,{style:{width:"100%"},attrs:{value:this.formData["".concat(n,"_custom_name")],placeholder:"请选择",clearable:!0,type:"text"},on:{focus:function(){r.$emit("focusCustom",n)},clear:function(){r.$emit("clearCustom",n)}}})},renderInput:function(t,e){var r=this,n=t.fieldCode||t.field.fieldName;return e(_elementUi.Input,{style:{width:"100%"},attrs:{value:this.formData[n],placeholder:"请输入",clearable:!0,type:2<arguments.length&&void 0!==arguments[2]?arguments[2]:"text"},on:{input:function(e){r.setFormData(t,e)}}})},renderFormItem:function(r,e){var n=this,o=[];return this.option.filter(function(e){return 1===e.superShow||"1"===e.superShow}).map(function(t){e&&e!==t.groupName&&("default"!==e||t.groupName)||o.push(r(_elementUi.Col,{attrs:{span:t.fieldCol?t.fieldCol*_options2.default.colSpan:_options2.default.defaultSpan}},[r(_elementUi.FormItem,{attrs:{prop:t.configName,label:t.fieldCn},scopedSlots:{default:function(){var e=t.fieldShowType;return e?n.getDom(t,e,r):n.renderInput(t,r)}}})]))}),o},renderElCollapseItem:function(e,o){var i=this,a=[],u=[];return e.map(function(e,t){var r=e,n=("default"===e&&(r="默认"),i.renderFormItem(o,e));n&&0<n.length&&(u.push("".concat(t)),a.push(o(_elementUi.CollapseItem,{attrs:{title:r,name:"".concat(t)},scopedSlots:{default:function(){return n}}})))}),u&&0<u.length&&(this.activeName=u[0]),a},renderPageContent:function(e){var t=this,r=this,n=this.formatSuperQuery(this.option),n=Object.keys(n),o=e(_button.Button,{attrs:{type:"submit"},style:{display:"none"},on:{click:function(){r.submit()}}});return n&&1<n.length?[e(_elementUi.Form,{attrs:{model:this.formData,rules:this.formRules,labelWidth:"110px"},nativeOn:{submit:function(e){e.preventDefault()}}},[e(_elementUi.Collapse,{attrs:{value:this.activeName},on:{input:function(e){t.activeName=e}}},this.renderElCollapseItem(n,e)),this.enterSubmit&&o])]:[e(_elementUi.Form,{attrs:{model:this.formData,rules:this.formRules,inline:!0,labelWidth:"110px"},nativeOn:{submit:function(e){e.preventDefault()}}},[e(_elementUi.Row,this.renderFormItem(e)),this.enterSubmit&&o])]},formatSuperQuery:function(e){var r={};return e.map(function(e){return e.groupName}).map(function(t){r[t?t:"default"]=e.filter(function(e){return t===e.groupName})}),r}},render:function(e){var t=this,r=this;return e("div",{class:"advanced-query"},[e(_modal.Modal,{attrs:{value:this.visible,showFooter:!0,width:1e3,title:"高级查询",position:{top:47}},on:{input:function(e){t.updateVisible(e)},close:function(){t.updateVisible(!1)}},scopedSlots:{footer:function(){return[e(_button.Button,{attrs:{content:"关闭"},on:{click:function(){r.updateVisible(!1)}}}),e(_button.Button,{attrs:{content:"重置",status:"primary"},on:{click:function(){r.resetForm()}}}),e(_button.Button,{attrs:{content:"确定",status:"primary"},on:{click:function(){r.submit()}}})]}}},this.renderPageContent(e))])}};exports.default=_default2;