Files
qhmes/deploy-qhmes/frontend/js/EditableCellIdTest-CupbwhSI.js

8 lines
7.7 KiB
Java
Raw Normal View History

2026-05-15 11:34:12 +08:00
var k=(h,p,s)=>new Promise((_,u)=>{var g=o=>{try{r(s.next(o))}catch(a){u(a)}},b=o=>{try{r(s.throw(o))}catch(a){u(a)}},r=o=>o.done?_(o.value):Promise.resolve(o.value).then(g,b);r((s=s.apply(h,p)).next())});import{d as B,ah as m,aC as x,as as y,aF as i,k as t,au as e,G as n,u as I,f as S,av as f,ar as z,aD as E,F as V}from"./vue-vendor-C7Zq48Yl.js";import{P as N}from"./index-C57gqG5N.js";import{u as T}from"./index-BgJbdjPf.js";import{u as F,d as J}from"./index-BI6CMai0.js";import R from"./BasicTable-DfLkrEeh.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./useContentHeight-BUFNkYs_.js";import"./useWindowSizeFn-PRZSD86C.js";import"./vxe-table-vendor-B88kchpX.js";import"./useContentViewHeight-BO9bTdue.js";import"./usePageContext-l-f4bNz7.js";import"./injectionKey-DPVn4AgL.js";import"./componentMap-BBZeqR-K.js";import"./useFormItem-BdW6EoZe.js";import"./index-Du0A3ksf.js";import"./BasicModal-0sAdFEk_.js";import"./ModalHeader-keHdAHWH.js";import"./useTimeout-DDl4l82I.js";import"./index-DeEq83Ov.js";import"./index-pxs5MULf.js";import"./index-BgYCgfME.js";import"./index-f8O7TghW.js";import"./useIntersectionObserver-BMxdTqP3.js";import"./download-UE0L9Rfp.js";import"./base64Conver-24EVOS6V.js";import"./index-CIBZG4nR.js";import"./index-BhQEwnQQ.js";import"./useCountdown-DqnNWBp6.js";import"./useFormItemSingle-BbRhswfn.js";import"./JSelectUser-B71zikzw.js";import"./props-DAezUTeZ.js";import"./JSelectBiz-CnEaVMUF.js";import"./JAddInput-D6qcyZjQ.js";import"./areaDataUtil-CbYCy3Ig.js";import"./index-CNkz_PUv.js";import"./index-CUdllngZ.js";import"./bem-EhXRi4nW.js";import"./props-D4vdsy3J.js";import"./useContextMenu-Cwx1lIOK.js";import"./depart.api-DeMNV8zW.js";import"./TreeIcon-DE4jdeZV.js";import"./JSelectDept-DRDVeruW.js";import"./JPopup-Bva6u6tk.js";import"./usePopBiz-CG0vVpgI.js";import"./useMethods-DVip17X8.js";import"./index-Dg4HCEvo.js";import"./JEllipsis-DqRFTSm0.js";import"./JUpload-Cz9HN61B.js";import"./index-MGIrEF-A.js";import"./index-MREkPhsT.js";import"./index-Di-j2gt4.js";import"./BasicForm-BJnSRkIE.js";import"./useForm-BZtHZyx2.js";import"./JAreaLinkage-BeRUFHSB.js";import"./JCodeEditor-CLVZA7Uj.js";import"./htmlmixed-NhwyF9-q.js";import"./vue-CgbRSACy.js";/* empty css */import"./EasyCronInput-7xfJ3nBh.js";const $={class:"p-4"},j={class:"test-result-json"},D=B({__name:"EditableCellIdTest",setup(h){const{createMessage:p}=F(),s=S({title:"📊 测试结果点击对号后显示",bgColor:"#909399",hasId:!1,idValue:null,fields:[],recordJson:"暂无数据请编辑单元格并点击对号",conclusion:"等待测试..."}),_=[{title:"姓名",dataIndex:"name",width:150,edit:!0,editComponent:"Input"},{title:"年龄",dataIndex:"age",width:120,edit:!0,editComponent:"InputNumber"},{title:"邮箱",dataIndex:"email",width:200,edit:!0,editComponent:"Input"},{title:"地址",dataIndex:"address",width:200,edit:!0,editComponent:"Input"}],u=[{id:1,name:"张三",age:25,email:"zhangsan@example.com",address:"北京市朝阳区"},{id:2,name:"李四",age:30,email:"lisi@example.com",address:"上海市浦东新区"},{id:3,name:"王五",age:28,email:"wangwu@example.com",address:"广州市天河区"}],[g]=T({rowKey:"id",columns:_,dataSource:u,pagination:!1,showIndexColumn:!0,canResize:!1});function b(w){return k(this,arguments,function*({record:r,index:o,key:a,value:d}){const l="id"in r,c=Object.keys(r);return s.value={title:l?" 测试通过":" 测试失败 - 发现 Bug",bgColor:l?"#67C23A":"#F56C6C",hasId:l,idValue:r.id||null,fields:c,recordJson:JSON.stringify(r,null,2),conclusion:l?`✅ record 中包含 id 字段(值为 ${r.id}),可以正常更新数据`:`❌ Bug 确认record 中缺少 id 字段!只包含 ${c.join(", ")}。这会导致无法执行数据更新操作。`},l?(p.success(`✅ 测试通过:获取到 id=${r.id}`),!0):(p.error(" 测试失败record 中缺少 id 字段这就是 Issue #8924 描述的问题"),!1)})}return(r,o)=>{const a=m("a-alert"),d=m("a-card"),w=m("a-tag"),l=m("a-descriptions-item"),c=m("a-descriptions"),C=m("a-space");return y(),x(I(N),{title:"EditableCell ID字段
2. 修改内容后点击对号 提交\r
3. 查看测试结果观察 record 是否包含 id 字段`,type:"info","show-icon":""}),t(a,{message:"预期结果",type:"success","show-icon":""},{description:i(()=>[...o[1]||(o[1]=[e("p",null,[e("strong",null,"如果代码正常:")],-1),e("p",null,"✅ record 应该包含 id 字段",-1),e("p",null,"✅ 可以使用 record.id 进行数据更新",-1),e("p",null,"✅ 控制台显示绿色成功消息",-1)])]),_:1}),t(a,{message:"Bug 症状Issue #8924",type:"error","show-icon":""},{description:i(()=>[...o[2]||(o[2]=[e("p",null,[e("strong",null,"如果存在 Bug")],-1),e("p",null,"❌ record 中没有 id 字段",-1),e("p",null,"❌ record 只包含 columns 中定义的字段name, age, email, address",-1),e("p",null,"❌ 无法执行数据更新操作",-1),e("p",null,"❌ 控制台显示红色错误消息",-1)])]),_:1}),t(d,{size:"small",title:"🔍 原因分析",bordered:!1},{default:i(()=>[...o[3]||(o[3]=[e("p",null,[n("原代码使用 "),e("code",null,"pick(record, keys)"),n(" 过滤字段:")],-1),e("pre",{class:"code-block"},`const keys = columns.map(c => c.dataIndex).filter(f => !!f);
// keys = ['name', 'age', 'email', 'address'] // ⚠️ 没有 id
record: pick(record, keys)
// 只保留 keys 中的字段id 被过滤掉了`,-1)])]),_:1})]),_:1})]),_:1})])]),_:1})}}}),Le=J(D,[["__scopeId","data-v-9d9177b2"]]);export{Le as default};