UNPKG

vxe-pc-ui

Version:
1 lines 12.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultParameterSettingFormComponent=exports.DefaultFieldSettingFormComponent=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_util=require("../render/util"),_form=_interopRequireDefault(require("../../form/src/form")),_formItem=_interopRequireDefault(require("../../form/src/form-item")),_text=_interopRequireDefault(require("../../text/src/text")),_select=_interopRequireDefault(require("../../select/src/select")),_switch=_interopRequireDefault(require("../../switch/src/switch")),_group=_interopRequireDefault(require("../../radio/src/group")),_button=_interopRequireDefault(require("../../button/src/button")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const refWidgetReactConfigMaps=(0,_vue.ref)({}),DefaultFieldSettingFormComponent=exports.DefaultFieldSettingFormComponent=(0,_vue.defineComponent)({name:"DefaultFieldSettingForm",props:{},emits:[],setup(){const i=(0,_vue.inject)("$xeListDesign",null);if(!i)return()=>[];const c=i["reactData"],d=(0,_vue.ref)(!1),v=(0,_vue.ref)(!1),o=e=>{e.visible=!e.visible,c.listTableColumns=c.listTableColumns.slice(0)},e=()=>{const{listTableColumns:e,searchFormItems:s}=c,a=refWidgetReactConfigMaps.value,n=[],l=(e.forEach(t=>{var i=t["cellRender"];if(i){var l,o=s.find(e=>e.field===t.field),i=i.name||"";let e=a[i];e||(l=_core.renderer.get(i))&&(l=l.createFormDesignWidgetConfig)&&(e=l({name:i,$formDesign:null})||{},a[i]=e),e.query&&n.push(Object.assign(Object.assign({},t),{checked:!!o,isHalf:!1,folding:!!o&&!!o.folding}))}}),refWidgetReactConfigMaps.value=Object.assign({},a),(0,_vue.ref)(n)),o=()=>{var e=l.value;d.value=e.every(e=>e.checked),v.value=!d.value&&e.some(e=>e.checked||e.isHalf)},r=t=>{var e=l.value,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e["parent"],e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.isHalf=!e.checked&&e.children.some(e=>e.checked||e.isHalf),r(e))},u=()=>{var e=l.value;const t=!d.value;_xeUtils.default.eachTree(e,e=>{e.checked=t,e.isHalf=!1}),d.value=t,o()};_core.VxeUI.modal.open({title:(0,_core.getI18n)("vxe.listDesign.search.editPopupTitle"),width:680,height:500,showFooter:!0,escClosable:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:(0,_core.getI18n)("vxe.listDesign.searchPopup.saveBtn"),showZoom:!0,resize:!0,onConfirm:()=>{var e=l.value;const t=[];e.forEach(e=>{e.checked&&t.push({field:e.field,title:e.title,folding:e.folding,itemRender:Object.assign({},e.cellRender)})}),i.setSearchItems(t)},slots:{default(){var e=d.value,t=v.value,i=l.value;return(0,_vue.h)("div",{class:"vxe-list-design--field-search-popup"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[(0,_vue.h)("col",{style:{width:"80px"}}),(0,_vue.h)("col")]),(0,_vue.h)("thead",{},[(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":e,"is--indeterminate":t}],title:(0,_core.getI18n)("vxe.table.allTitle"),onClick:u},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?(0,_core.getIcon)().CHECKBOX_INDETERMINATE:e?(0,_core.getIcon)().CHECKBOX_CHECKED:(0,_core.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_core.getI18n)("vxe.toolbar.customAll"))])]),(0,_vue.h)("th",{},(0,_core.getI18n)("vxe.listDesign.searchPopup.colTitle"))]),(0,_vue.h)("tbody",{},i.map(i=>{var e=i.checked,t=i.isHalf;return(0,_vue.h)("tr",{},[(0,_vue.h)("td",{class:"vxe-list-design--field-search-option-item col--visible"},[(0,_vue.h)("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":e,"is--indeterminate":t}],title:(0,_core.getI18n)("vxe.custom.setting.colVisible"),onClick:()=>{{var e=i;const t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.isHalf=!1}),r(e),o()}}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?(0,_core.getIcon)().CHECKBOX_INDETERMINATE:e?(0,_core.getIcon)().CHECKBOX_CHECKED:(0,_core.getIcon)().CHECKBOX_UNCHECKED]})])]),(0,_vue.h)("td",{class:"vxe-list-design--field-search-option-item"},""+(i.title||""))])}))])])}}})},t=()=>{var e=c["listTableColumns"];return e.map(e=>{var t,{title:i,visible:l}=e;return(0,_vue.h)("div",{class:"vxe-list-design--field-option"},[(0,_vue.h)("div",{class:"vxe-list-design--field-option-inner"},[(0,_vue.h)("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":l}],onClick(){o(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",l?(0,_core.getIcon)().CHECKBOX_CHECKED:(0,_core.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},""+i)])]),(l=(t=e).children)&&l.length?(0,_vue.h)("div",{class:"vxe-list-design--field-option-inner"},[(0,_vue.h)("div",{class:"vxe-list-design--field-sub-option",onClick(){o(t)}},l.map(e=>{var{title:t,visible:i}=e;return(0,_vue.h)("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":i}],onClick(){o(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_core.getIcon)().CHECKBOX_CHECKED:(0,_core.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},""+t)])}))]):(0,_vue.createCommentVNode)()])})};return()=>(0,_vue.h)(_form.default,{span:24,vertical:!0,titleBold:!0},{default(){return[(0,_vue.h)(_formItem.default,{title:(0,_core.getI18n)("vxe.listDesign.searchField")},{extra(){return(0,_vue.h)(_button.default,{mode:"text",status:"primary",icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_EDIT,content:(0,_core.getI18n)("vxe.listDesign.search.addBtn"),onClick:e})},default(){var e=c["searchFormItems"];return[e.length?(0,_vue.h)("div",{class:"vxe-list-design--search-item-wrapper"},[(0,_vue.h)("div",{class:"vxe-list-design--search-item-list"},e.map(i=>(0,_vue.h)("div",{key:i.field,class:"vxe-list-design--search-item"},[(0,_vue.h)("div",{class:"vxe-list-design--search-item-title"},""+(i.title||"")),(0,_vue.h)("div",{class:"vxe-list-design--search-item-btn"},[(0,_vue.h)(_button.default,{icon:(0,_core.getIcon)().LIST_DESIGN_LIST_SETTING_SEARCH_DELETE,mode:"text",status:"error",onClick(){var t,e;t=i,e=c.searchFormItems,c.searchFormItems=e.filter(e=>e.field!==t.field)}})])])))]):(0,_vue.h)("div",{class:"vxe-list-design--field-configs-empty-data"},[(0,_vue.h)("span",{},(0,_core.getI18n)("vxe.listDesign.search.emptyText"))])]}}),(0,_vue.h)(_formItem.default,{title:(0,_core.getI18n)("vxe.listDesign.listField")},{default(){return t()}})]}})}}),DefaultParameterSettingFormComponent=exports.DefaultParameterSettingFormComponent=(0,_vue.defineComponent)({name:"DefaultListSettingTabComponent",props:{},emits:[],setup(){var e=(0,_vue.inject)("$xeListDesign",null);if(!e)return()=>[];const{props:u,reactData:c}=e,d=[],v=[],l=(_core.renderer.forEach((e,t)=>{var i,e=e["createListDesignSettingActionButtonConfig"];e&&(i={name:t},("custom"===(t=Object.assign((0,_util.createListDesignActionButton)({code:t}),e(i))).type?v:d).push(t))}),(0,_vue.ref)([{label:"列表视图",value:"list",isExpand:!1}])),o=(0,_vue.ref)([{label:"显示",value:!0},{label:"隐藏",value:!1}]),s=(0,_vue.ref)([{label:"默认",value:"auto"},{label:"允许",value:!0},{label:"不允许",value:!1}]),a=(0,_vue.computed)(()=>{var e=c["formData"];return[e.listView.enabled,e.ganttView.enabled,e.chartView.enabled].filter(e=>e).length<=1}),n=()=>(0,_vue.h)(_formItem.default,{title:"功能按钮"},{extra(){return(0,_vue.h)(_button.default,{mode:"text",status:"primary",icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_ADD,content:"新增",onClick(){{var t=void 0;const l=c["formData"],o=u["actionCodes"];let e=l.actionButtonList;e=e||[];const s=(0,_vue.reactive)((0,_util.createListDesignActionButton)(t)),a=d.filter(t=>!(o&&o.length&&!o.some(e=>_xeUtils.default.isString(e)?t.code===e:e.code===t.code)||e.some(e=>e.code===t.code)));var t=v.filter(t=>!e.some(e=>e.code===t.code)),i=[];a.length&&(s.type||(s.type=""),i.push({value:"",label:"系统按钮"})),t.length&&(s.type||(s.type="custom"),i.push({value:"custom",label:"自定义按钮"}));const n=(0,_vue.computed)(()=>a.map(e=>{var t=e.name;return{label:_xeUtils.default.toValueString(_xeUtils.default.isFunction(t)?t({name:e.code||""}):t),value:e.code}})),r=(0,_vue.ref)(i);_core.VxeUI.modal.open({title:"添加按钮",width:600,height:400,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:"保存",onConfirm(){s.type,e.push(s),l.actionButtonList=[...e]},slots:{default(){return(0,_vue.h)(_form.default,{vertical:!0,titleBold:!0},{default(){return[(0,_vue.h)(_formItem.default,{title:"按钮类型",span:24},{default(){return(0,_vue.h)(_select.default,{modelValue:s.type,options:r.value,"onUpdate:modelValue"(e){s.type=e}})}}),(0,_vue.h)(_formItem.default,{title:"选择系统按钮",span:24},{default(){return(0,_vue.h)(_select.default,{modelValue:s.code,options:n.value,"onUpdate:modelValue"(e){s.code=e}})}})]}})}}})}}})},default(){const s=c["formData"],a=s.actionButtonList;return a&&a.length?(0,_vue.h)("div",{class:"vxe-list-design--field-configs-wrapper"},a.map(t=>{let e="",i="";var l,o;return"custom"===t.type?(e=t.icon,i=t.name):(l=d.find(e=>e.code===t.code))&&(o=l.name,e=l.icon||"",i=_xeUtils.default.toValueString(_xeUtils.default.isFunction(o)?o({name:l.code||""}):o)),(0,_vue.h)("div",{class:"vxe-list-design--field-configs-item"},[e?(0,_vue.h)("div",{class:"vxe-list-design--field-configs-item-icon"},[(0,_vue.h)("i",{class:e})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-list-design--field-configs-item-title"},""+(i||"")),(0,_vue.h)("div",{class:"vxe-list-design--field-configs-item-btn"},[(0,_vue.h)(_button.default,{icon:(0,_core.getIcon)().LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE,mode:"text",status:"error",onClick(){s.actionButtonList=a.filter(e=>e!==t)}})])])})):(0,_vue.h)("div",{class:"vxe-list-design--field-configs-empty-data"},[(0,_vue.h)("span",{},"无操作按钮")])}});return()=>{const{showPc:e,showMobile:t}=u,i=c["formData"];return(0,_vue.h)(_form.default,{span:24,vertical:!0,titleBold:!0},{default(){return[(0,_vue.h)(_formItem.default,{title:"视图配置"},{default(){return(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-render-view"},l.value.map(e=>(0,_vue.h)("div",{key:e.value,class:"vxe-form-design--widget-form-item-render-view-item"},[(0,_vue.h)(_switch.default,{modelValue:i.listView.enabled,disabled:a.value,"onUpdate:modelValue"(e){i.listView.enabled=e}}),(0,_vue.h)(_text.default,{content:e.label,icon:"vxe-icon-table"})])))}}),(0,_vue.h)(_formItem.default,{title:"默认视图"},{default(){return[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices"},[e?(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices-item"},[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices-left"},[(0,_vue.h)(_text.default,{icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_PC,content:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc")})]),(0,_vue.h)(_select.default,{modelValue:i.pcDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:l.value,"onUpdate:modelValue"(e){i.pcDefaultView=e}})]):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices-item"},[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices-left"},[(0,_vue.h)(_text.default,{icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_MOBILE,content:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile")})]),(0,_vue.h)(_select.default,{modelValue:i.mobileDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:l.value,"onUpdate:modelValue"(e){i.mobileDefaultView=e}})]):(0,_vue.createCommentVNode)()])]}}),(0,_vue.h)(_formItem.default,{title:"列配置"},{default(){const t=c["formData"];return[(0,_vue.h)("div",{class:"vxe-list-design--widget-form-item-prop-list"},[(0,_vue.h)("span",{},"显示序号"),(0,_vue.h)(_group.default,{modelValue:t.showSeq,options:o.value,"onUpdate:modelValue"(e){t.showSeq=e}})]),(0,_vue.h)("div",{class:"vxe-list-design--widget-form-item-prop-list"},[(0,_vue.h)("span",{},"表尾统计"),(0,_vue.h)(_group.default,{modelValue:t.showStatistics,options:o.value,"onUpdate:modelValue"(e){t.showStatistics=e}})])]}}),(0,_vue.h)(_formItem.default,{title:"批量操作"},{default(){const t=c["formData"];return(0,_vue.h)(_group.default,{modelValue:t.showCheckbox,options:s.value,"onUpdate:modelValue"(e){t.showCheckbox=e}})}}),(d.length||v.length?n:(0,_vue.createCommentVNode))()]}})}}});