EditRowTable-639753a4.js
5.26 KB
var m=(i,a,o)=>new Promise((l,d)=>{var r=e=>{try{n(o.next(e))}catch(t){d(t)}},s=e=>{try{n(o.throw(e))}catch(t){d(t)}},n=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);n((o=o.apply(i,a)).next())});import{d as b,k as h,a8 as f,_ as w,$ as R,f as v,aa as g,a9 as x,ac as I}from"./vue-5a35c3f5.js";import{B as k}from"./BasicTable-7dbd57c0.js";import{T}from"./componentMap-4d1c941b.js";import"./TableImg.vue_vue_type_style_index_0_lang-6e828edc.js";import{u as _}from"./useTable-e28259fb.js";import{o as C}from"./select-93eac05e.js";import{d as y}from"./table-2ce11aa8.js";import{t as E}from"./tree-164e6087.js";import{a as A,_ as P}from"./index.js";import{T as F}from"./antd-6b087f69.js";import"./BasicForm-53100365.js";import"./FormItem-ffc5ecef.js";import"./helper-95474dfc.js";import"./BasicForm.vue_vue_type_style_index_0_lang-3479a052.js";import"./uniqBy-0cd5a663.js";import"./index-c1c2669a.js";import"./useWindowSizeFn-cc2fb57c.js";import"./useForm-86d11f60.js";import"./RadioButtonGroup-72b65d2e.js";import"./useFormItem-9ea791b8.js";import"./uuid-31b8b5a4.js";import"./merge-4fa735fa.js";import"./onMountedOrActivated-52afb7a7.js";import"./download-3d468407.js";import"./base64Conver-39fc0d26.js";import"./index-1ca3bd8a.js";import"./IconPicker-6bbd557c.js";import"./index-9a895eb5.js";import"./sortable.esm-4ae27e0b.js";const M=[{title:"输入框",dataIndex:"name-group",editRow:!0,children:[{title:"输入框",dataIndex:"name",editRow:!0,editComponentProps:{prefix:"$"},width:150},{title:"默认输入状态",dataIndex:"name7",editRow:!0,width:150},{title:"输入框校验",dataIndex:"name1",editRow:!0,align:"left",editRule:!0,width:150},{title:"输入框函数校验",dataIndex:"name2",editRow:!0,align:"right",editRule:i=>m(void 0,null,function*(){return i==="2"?"不能输入该值":""})},{title:"数字输入框",dataIndex:"id",editRow:!0,editRule:!0,editComponent:"InputNumber",width:150}]},{title:"下拉框",dataIndex:"name3",editRow:!0,editComponent:"Select",editComponentProps:{options:[{label:"Option1",value:"1"},{label:"Option2",value:"2"},{label:"Option3",value:"3"}]},width:200},{title:"远程下拉",dataIndex:"name4",editRow:!0,editComponent:"ApiSelect",editComponentProps:{api:C,resultField:"list",labelField:"name",valueField:"id"},width:200},{title:"远程下拉树",dataIndex:"name8",editRow:!0,editComponent:"ApiTreeSelect",editRule:!1,editComponentProps:{api:E,resultField:"list"},width:200},{title:"日期选择",dataIndex:"date",editRow:!0,editComponent:"DatePicker",editComponentProps:{valueFormat:"YYYY-MM-DD",format:"YYYY-MM-DD"},width:150},{title:"时间选择",dataIndex:"time",editRow:!0,editComponent:"TimePicker",editComponentProps:{valueFormat:"HH:mm",format:"HH:mm"},width:100},{title:"勾选框",dataIndex:"name5",editRow:!0,editComponent:"Checkbox",editValueMap:i=>i?"是":"否",width:100},{title:"开关",dataIndex:"name6",editRow:!0,editComponent:"Switch",editValueMap:i=>i?"开":"关",width:100},{title:"单选框",dataIndex:"radio1",editRow:!0,editComponent:"RadioGroup",editComponentProps:{options:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]},width:200},{title:"单选按钮框",dataIndex:"radio2",editRow:!0,editComponent:"RadioButtonGroup",editComponentProps:{options:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]},width:200},{title:"远程单选框",dataIndex:"radio3",editRow:!0,editComponent:"ApiRadioGroup",editComponentProps:{api:C,resultField:"list",labelField:"name",valueField:"id"},width:200}],B=b({components:{BasicTable:k,TableAction:T},setup(){const{createMessage:i}=A(),a=h(""),[o]=_({title:"可编辑行示例",titleHelpMessage:["本例中修改[数字输入框]这一列时,同一行的[远程下拉]列的当前编辑数据也会同步发生改变"],api:y,columns:M,showIndexColumn:!1,showTableSetting:!0,tableSetting:{fullScreen:!0},actionColumn:{width:160,title:"Action",dataIndex:"action"}});function l(e){var t;a.value=e.key,(t=e.onEdit)==null||t.call(e,!0)}function d(e){var t;a.value="",(t=e.onEdit)==null||t.call(e,!1,!1)}function r(e){return m(this,null,function*(){var p,u;if(i.loading({content:"正在保存...",duration:0,key:"saving"}),yield(p=e.onValid)==null?void 0:p.call(e))try{const c=F(e.editValueRefs);console.log(c),(yield(u=e.onEdit)==null?void 0:u.call(e,!1,!0))&&(a.value=""),i.success({content:"数据已保存",key:"saving"})}catch(c){i.error({content:"保存失败",key:"saving"})}else i.error({content:"请填写正确的数据",key:"saving"})})}function s(e,t){return e.editable?[{label:"保存",onClick:r.bind(null,e,t)},{label:"取消",popConfirm:{title:"是否取消编辑",confirm:d.bind(null,e,t)}}]:[{label:"编辑",disabled:a.value?a.value!==e.key:!1,onClick:l.bind(null,e)}]}function n({column:e,value:t,record:p}){e.dataIndex==="id"&&(p.editValueRefs.name4.value=`${t}`),console.log(e,t,p)}return{registerTable:o,handleEdit:l,createActions:s,onEditChange:n}}}),S={class:"p-4"};function Y(i,a,o,l,d,r){const s=f("TableAction"),n=f("BasicTable");return w(),R("div",S,[v(n,{onRegister:i.registerTable,onEditChange:i.onEditChange},{bodyCell:g(({column:e,record:t})=>[e.key==="action"?(w(),x(s,{key:0,actions:i.createActions(t,e)},null,8,["actions"])):I("v-if",!0)]),_:1},8,["onRegister","onEditChange"])])}const ce=P(B,[["render",Y],["__file","E:/allcode/erp/test7901/order-erp-front/src/views/demo/table/EditRowTable.vue"]]);export{ce as default};