[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"knowledge-\u002Fapi\u002Fknowledge\u002Fteam-documents\u002F01":3,"knowledge-related-\u002Fknowledge\u002Fteam-documents\u002F01":3139,"knowledge-series-\u002Fknowledge\u002Fteam-documents\u002F01":3165},{"source":4,"connector":5,"page":6},"sqlite","better-sqlite3",{"path":7,"title":8,"description":9,"category":10,"tags":11,"date":16,"pinned":17,"draft":17,"body":18,"seo":3135,"stem":3136,"id":3137,"extension":3138},"\u002Fknowledge\u002Fteam-documents\u002F01","执行价格弹窗：表头 \u002F 表体合并与可配置表格","业务需要在「执行价格」类弹窗中展示多块价格配置（基础、颜色、规格、行业等）。每块区域具备：","团队文档",[12,13,14,15],"team","vue","table","dnd","2024-07-27",false,{"type":19,"value":20,"toc":3120},"minimark",[21,25,29,32,67,87,90,97,100,111,185,188,225,296,413,416,426,1306,1309,1366,1375,1453,1467,1473,1484,2422,2425,2503,2510,2513,2517,2520,2604,2608,2629,2719,2722,2835,2851,2854,2883,2886,2955,2959,3023,3026,3029,3116],[22,23,8],"h1",{"id":24},"执行价格弹窗表头-表体合并与可配置表格",[26,27,28],"h2",{"id":28},"背景",[30,31,9],"p",{},[33,34,35,48,53,60],"ul",{},[36,37,38,39,43,44,47],"li",{},"可配置",[40,41,42],"strong",{},"标题","、",[40,45,46],{},"提示文案","；",[36,49,50,47],{},[40,51,52],{},"展开 \u002F 收起",[36,54,55,56,59],{},"表头「属性名称」等列在不同场景下 ",[40,57,58],{},"横向合并（colspan）"," 列数不同；",[36,61,62,63,66],{},"表体部分行需 ",[40,64,65],{},"纵向合并（rowspan）","（如规格、行业维度）。",[30,68,69,70,73,74,77,78,82,83,86],{},"技术栈：",[40,71,72],{},"Vue 3 + TypeScript + Element Plus","；项目内大量列表仍使用 ",[40,75,76],{},"vxe-table \u002F vxe-grid","（本仓库 ",[79,80,81],"code",{},"web-admin"," 依赖约为 ",[79,84,85],{},"vxe-table ~4.17","）。",[30,88,89],{},"原型示意：",[30,91,92],{},[93,94],"img",{"alt":95,"src":96},"执行价格表格原型","https:\u002F\u002Fcdn.wangxiaoze.cn\u002Fstatic\u002Fimages\u002F42b9b50d-7759-42f1-8eda-80b8040583e3.png",[26,98,99],{"id":99},"方案概览",[30,101,102,103,110],{},"采用 ",[40,104,105,106,109],{},"「配置沿用 VxeGridProps 形态 + 表头表体用原生 ",[79,107,108],{},"\u003Ctable>"," 渲染」"," 的混合方案：",[14,112,113,126],{},[114,115,116],"thead",{},[117,118,119,123],"tr",{},[120,121,122],"th",{},"层级",[120,124,125],{},"做法",[127,128,129,145,157,177],"tbody",{},[117,130,131,135],{},[132,133,134],"td",{},"配置",[132,136,137,138,141,142],{},"扩展 ",[79,139,140],{},"VxeTableDefines.ColumnOptions","，增加项目自定义字段 ",[79,143,144],{},"headerMergeCells",[117,146,147,150],{},[132,148,149],{},"表头",[132,151,152,153,156],{},"原生 ",[79,154,155],{},"\u003Cth :colspan=\"...\">","，由列配置驱动",[117,158,159,162],{},[132,160,161],{},"表体",[132,163,164,165,168,169,172,173,176],{},"默认插槽由父组件输出 ",[79,166,167],{},"\u003Ctd>","，行合并通过数据字段 ",[79,170,171],{},"_cell"," + ",[79,174,175],{},"rowspan"," 控制",[117,178,179,182],{},[132,180,181],{},"列表页其它表格",[132,183,184],{},"继续使用 vxe-table，不受影响",[30,186,187],{},"这样做的直接原因（与当时实现一致）：",[189,190,191,206,219],"ol",{},[36,192,193,194,197,198,201,202,205],{},"需要 ",[40,195,196],{},"单行表头、按列配置 colspan","，并与现有 ",[79,199,200],{},"columns"," \u002F ",[79,203,204],{},"data"," 结构统一维护。",[36,207,208,209,211,212,215,216,218],{},"表体既要 ",[40,210,175],{},"，又要 ",[40,213,214],{},"按列自定义单元格内容","（价格输入等），用插槽逐行输出 ",[79,217,167],{}," 更直观。",[36,220,221,222,224],{},"该弹窗为局部 UI，用轻量 ",[79,223,108],{}," 即可满足原型，避免在同一弹窗内再叠一套 vxe-grid 的表头合并、列宽、空状态等配置成本。",[226,227,228],"blockquote",{},[30,229,230,233,236,237,240,241,250,251,43,258,265,266,273,274,276,277,279,280,283,284,287,288,291,292,295],{},[40,231,232],{},"关于 vxe-table 能力说明",[234,235],"br",{},"\nvxe-table ",[40,238,239],{},"并非","不支持表体合并：可通过 ",[242,243,247],"a",{"href":244,"rel":245},"https:\u002F\u002Fvxetable.cn\u002Fv4\u002F#\u002Ftable\u002Fapi?apiKey=span-method",[246],"nofollow",[79,248,249],{},"span-method"," 合并单元格。较新版本也支持表头合并（如 ",[242,252,255],{"href":253,"rel":254},"https:\u002F\u002Fvxetable.cn\u002Fv4\u002F#\u002Fgrid\u002Fapi?apiKey=merge-header-cells",[246],[79,256,257],{},"merge-header-cells",[242,259,262],{"href":260,"rel":261},"https:\u002F\u002Fvxetable.cn\u002Fv4\u002F#\u002Fgrid\u002Fapi?apiKey=show-custom-header",[246],[79,263,264],{},"show-custom-header","），或使用 ",[242,267,270],{"href":268,"rel":269},"https:\u002F\u002Fvxetable.cn\u002Fv4\u002F#\u002Fcolumn\u002Fapi",[246],[79,271,272],{},"vxe-colgroup"," 做分组表头。",[234,275],{},"\n本文中的 ",[79,278,144],{}," ",[40,281,282],{},"不是"," vxe-table 内置字段，而是",[40,285,286],{},"项目自定义","配置，仅在被封装的 ",[79,289,290],{},"ExecutePriceDialogItem"," 内映射为 HTML ",[79,293,294],{},"colspan","。若新需求与全站表格强一致，可评估迁回 vxe-grid 并改用官方合并 API（需结合当前 vxe-table 版本文档逐项对照）。",[297,298,303],"pre",{"className":299,"code":300,"language":301,"meta":302,"style":302},"language-mermaid shiki shiki-themes material-theme-lighter github-light github-dark","flowchart LR\n  subgraph config [配置层]\n    A[CUSTOM_EXECUTE_PRICE]\n    B[headerMergeCells]\n  end\n  subgraph item [ExecutePriceDialogItem]\n    C[thead: th + colspan]\n    D[tbody: 默认插槽]\n  end\n  subgraph parent [父组件]\n    E[整理 data 含 _cell]\n    F[插槽内 td + rowspan]\n  end\n  A --> C\n  B --> C\n  A --> D\n  E --> D\n  F --> D\n","mermaid","",[79,304,305,313,319,325,331,337,343,349,355,360,366,372,378,383,389,395,401,407],{"__ignoreMap":302},[306,307,310],"span",{"class":308,"line":309},"line",1,[306,311,312],{},"flowchart LR\n",[306,314,316],{"class":308,"line":315},2,[306,317,318],{},"  subgraph config [配置层]\n",[306,320,322],{"class":308,"line":321},3,[306,323,324],{},"    A[CUSTOM_EXECUTE_PRICE]\n",[306,326,328],{"class":308,"line":327},4,[306,329,330],{},"    B[headerMergeCells]\n",[306,332,334],{"class":308,"line":333},5,[306,335,336],{},"  end\n",[306,338,340],{"class":308,"line":339},6,[306,341,342],{},"  subgraph item [ExecutePriceDialogItem]\n",[306,344,346],{"class":308,"line":345},7,[306,347,348],{},"    C[thead: th + colspan]\n",[306,350,352],{"class":308,"line":351},8,[306,353,354],{},"    D[tbody: 默认插槽]\n",[306,356,358],{"class":308,"line":357},9,[306,359,336],{},[306,361,363],{"class":308,"line":362},10,[306,364,365],{},"  subgraph parent [父组件]\n",[306,367,369],{"class":308,"line":368},11,[306,370,371],{},"    E[整理 data 含 _cell]\n",[306,373,375],{"class":308,"line":374},12,[306,376,377],{},"    F[插槽内 td + rowspan]\n",[306,379,381],{"class":308,"line":380},13,[306,382,336],{},[306,384,386],{"class":308,"line":385},14,[306,387,388],{},"  A --> C\n",[306,390,392],{"class":308,"line":391},15,[306,393,394],{},"  B --> C\n",[306,396,398],{"class":308,"line":397},16,[306,399,400],{},"  A --> D\n",[306,402,404],{"class":308,"line":403},17,[306,405,406],{},"  E --> D\n",[306,408,410],{"class":308,"line":409},18,[306,411,412],{},"  F --> D\n",[26,414,415],{"id":415},"类型与表格配置",[30,417,418,419,422,423,425],{},"在保留 ",[79,420,421],{},"VxeGridProps"," 的前提下扩展列类型，使各业务块共享「全国价 \u002F 专属价」两列，仅首列 ",[79,424,144],{}," 不同：",[297,427,431],{"className":428,"code":429,"language":430,"meta":302,"style":302},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import type { VxeGridProps, VxeTableDefines } from \"vxe-table\";\nimport { cloneDeep } from \"lodash-es\";\n\n\u002F** 项目自定义：表头该列占几格（映射为 th 的 colspan） *\u002F\ninterface CUSTOM_COLUMN extends VxeTableDefines.ColumnOptions {\n  headerMergeCells?: number;\n}\n\nexport interface CUSTOM_EXECUTE_PRICE extends VxeGridProps {\n  columns: CUSTOM_COLUMN[];\n}\n\nconst EXECUTE_PRICE_COLUMN: CUSTOM_EXECUTE_PRICE = {\n  columns: [\n    {\n      title: \"全国价（元）\",\n      width: 200,\n      slots: { default: \"nationalPrice\" },\n    },\n    {\n      title: \"专属价（元）\",\n      width: 200,\n      slots: { default: \"exclusivePrice\" },\n    },\n  ],\n  data: [],\n};\n\nexport const baseTableConfig = cloneDeep({\n  ...EXECUTE_PRICE_COLUMN,\n  columns: [\n    {\n      title: \"属性名称\",\n      slots: { default: \"name\" },\n      headerMergeCells: 1,\n    },\n    ...EXECUTE_PRICE_COLUMN.columns,\n  ],\n});\n\nexport const colorTableConfig = cloneDeep({\n  ...EXECUTE_PRICE_COLUMN,\n  columns: [\n    {\n      title: \"属性名称\",\n      slots: { default: \"name\" },\n      headerMergeCells: 1,\n    },\n    ...EXECUTE_PRICE_COLUMN.columns,\n  ],\n});\n\n\u002F** 表头「属性名称」占 2 列 *\u002F\nexport const specTableConfig = cloneDeep({\n  ...EXECUTE_PRICE_COLUMN,\n  columns: [\n    {\n      title: \"属性名称\",\n      slots: { default: \"name\" },\n      headerMergeCells: 2,\n    },\n    ...EXECUTE_PRICE_COLUMN.columns,\n  ],\n});\n\nexport const industryTableConfig = cloneDeep({\n  ...EXECUTE_PRICE_COLUMN,\n  columns: [\n    {\n      title: \"属性名称\",\n      slots: { default: \"name\" },\n      headerMergeCells: 2,\n    },\n    ...EXECUTE_PRICE_COLUMN.columns,\n  ],\n});\n","ts",[79,432,433,476,498,504,510,534,550,555,559,576,591,595,599,617,627,632,649,662,686,692,697,713,724,746,751,759,772,778,783,805,816,825,830,846,868,881,886,900,907,918,923,941,950,959,964,979,1000,1011,1016,1029,1036,1045,1050,1056,1074,1083,1092,1097,1112,1133,1145,1150,1163,1170,1179,1184,1202,1211,1220,1225,1240,1261,1272,1277,1290,1297],{"__ignoreMap":302},[306,434,435,439,442,446,450,453,456,459,462,466,470,473],{"class":308,"line":309},[306,436,438],{"class":437},"sVHd0","import",[306,440,441],{"class":437}," type",[306,443,445],{"class":444},"sP7_E"," {",[306,447,449],{"class":448},"su5hD"," VxeGridProps",[306,451,452],{"class":444},",",[306,454,455],{"class":448}," VxeTableDefines",[306,457,458],{"class":444}," }",[306,460,461],{"class":437}," from",[306,463,465],{"class":464},"sjJ54"," \"",[306,467,469],{"class":468},"s_sjI","vxe-table",[306,471,472],{"class":464},"\"",[306,474,475],{"class":444},";\n",[306,477,478,480,482,485,487,489,491,494,496],{"class":308,"line":315},[306,479,438],{"class":437},[306,481,445],{"class":444},[306,483,484],{"class":448}," cloneDeep",[306,486,458],{"class":444},[306,488,461],{"class":437},[306,490,465],{"class":464},[306,492,493],{"class":468},"lodash-es",[306,495,472],{"class":464},[306,497,475],{"class":444},[306,499,500],{"class":308,"line":321},[306,501,503],{"emptyLinePlaceholder":502},true,"\n",[306,505,506],{"class":308,"line":327},[306,507,509],{"class":508},"sutJx","\u002F** 项目自定义：表头该列占几格（映射为 th 的 colspan） *\u002F\n",[306,511,512,516,520,523,525,528,531],{"class":308,"line":333},[306,513,515],{"class":514},"sbsja","interface",[306,517,519],{"class":518},"sbgvK"," CUSTOM_COLUMN",[306,521,522],{"class":514}," extends",[306,524,455],{"class":518},[306,526,527],{"class":444},".",[306,529,530],{"class":518},"ColumnOptions",[306,532,533],{"class":444}," {\n",[306,535,536,540,544,548],{"class":308,"line":339},[306,537,539],{"class":538},"sucvu","  headerMergeCells",[306,541,543],{"class":542},"smGrS","?:",[306,545,547],{"class":546},"sZMiF"," number",[306,549,475],{"class":444},[306,551,552],{"class":308,"line":345},[306,553,554],{"class":444},"}\n",[306,556,557],{"class":308,"line":351},[306,558,503],{"emptyLinePlaceholder":502},[306,560,561,564,567,570,572,574],{"class":308,"line":357},[306,562,563],{"class":437},"export",[306,565,566],{"class":514}," interface",[306,568,569],{"class":518}," CUSTOM_EXECUTE_PRICE",[306,571,522],{"class":514},[306,573,449],{"class":518},[306,575,533],{"class":444},[306,577,578,581,584,586,589],{"class":308,"line":362},[306,579,580],{"class":538},"  columns",[306,582,583],{"class":542},":",[306,585,519],{"class":518},[306,587,588],{"class":448},"[]",[306,590,475],{"class":444},[306,592,593],{"class":308,"line":368},[306,594,554],{"class":444},[306,596,597],{"class":308,"line":374},[306,598,503],{"emptyLinePlaceholder":502},[306,600,601,604,608,610,612,615],{"class":308,"line":380},[306,602,603],{"class":514},"const",[306,605,607],{"class":606},"s_hVV"," EXECUTE_PRICE_COLUMN",[306,609,583],{"class":542},[306,611,569],{"class":518},[306,613,614],{"class":542}," =",[306,616,533],{"class":444},[306,618,619,622,624],{"class":308,"line":385},[306,620,580],{"class":621},"skxfh",[306,623,583],{"class":444},[306,625,626],{"class":448}," [\n",[306,628,629],{"class":308,"line":391},[306,630,631],{"class":444},"    {\n",[306,633,634,637,639,641,644,646],{"class":308,"line":397},[306,635,636],{"class":621},"      title",[306,638,583],{"class":444},[306,640,465],{"class":464},[306,642,643],{"class":468},"全国价（元）",[306,645,472],{"class":464},[306,647,648],{"class":444},",\n",[306,650,651,654,656,660],{"class":308,"line":403},[306,652,653],{"class":621},"      width",[306,655,583],{"class":444},[306,657,659],{"class":658},"srdBf"," 200",[306,661,648],{"class":444},[306,663,664,667,669,671,674,676,678,681,683],{"class":308,"line":409},[306,665,666],{"class":621},"      slots",[306,668,583],{"class":444},[306,670,445],{"class":444},[306,672,673],{"class":621}," default",[306,675,583],{"class":444},[306,677,465],{"class":464},[306,679,680],{"class":468},"nationalPrice",[306,682,472],{"class":464},[306,684,685],{"class":444}," },\n",[306,687,689],{"class":308,"line":688},19,[306,690,691],{"class":444},"    },\n",[306,693,695],{"class":308,"line":694},20,[306,696,631],{"class":444},[306,698,700,702,704,706,709,711],{"class":308,"line":699},21,[306,701,636],{"class":621},[306,703,583],{"class":444},[306,705,465],{"class":464},[306,707,708],{"class":468},"专属价（元）",[306,710,472],{"class":464},[306,712,648],{"class":444},[306,714,716,718,720,722],{"class":308,"line":715},22,[306,717,653],{"class":621},[306,719,583],{"class":444},[306,721,659],{"class":658},[306,723,648],{"class":444},[306,725,727,729,731,733,735,737,739,742,744],{"class":308,"line":726},23,[306,728,666],{"class":621},[306,730,583],{"class":444},[306,732,445],{"class":444},[306,734,673],{"class":621},[306,736,583],{"class":444},[306,738,465],{"class":464},[306,740,741],{"class":468},"exclusivePrice",[306,743,472],{"class":464},[306,745,685],{"class":444},[306,747,749],{"class":308,"line":748},24,[306,750,691],{"class":444},[306,752,754,757],{"class":308,"line":753},25,[306,755,756],{"class":448},"  ]",[306,758,648],{"class":444},[306,760,762,765,767,770],{"class":308,"line":761},26,[306,763,764],{"class":621},"  data",[306,766,583],{"class":444},[306,768,769],{"class":448}," []",[306,771,648],{"class":444},[306,773,775],{"class":308,"line":774},27,[306,776,777],{"class":444},"};\n",[306,779,781],{"class":308,"line":780},28,[306,782,503],{"emptyLinePlaceholder":502},[306,784,786,788,791,794,796,799,802],{"class":308,"line":785},29,[306,787,563],{"class":437},[306,789,790],{"class":514}," const",[306,792,793],{"class":606}," baseTableConfig",[306,795,614],{"class":542},[306,797,484],{"class":798},"sGLFI",[306,800,801],{"class":448},"(",[306,803,804],{"class":444},"{\n",[306,806,808,811,814],{"class":308,"line":807},30,[306,809,810],{"class":542},"  ...",[306,812,813],{"class":606},"EXECUTE_PRICE_COLUMN",[306,815,648],{"class":444},[306,817,819,821,823],{"class":308,"line":818},31,[306,820,580],{"class":621},[306,822,583],{"class":444},[306,824,626],{"class":448},[306,826,828],{"class":308,"line":827},32,[306,829,631],{"class":444},[306,831,833,835,837,839,842,844],{"class":308,"line":832},33,[306,834,636],{"class":621},[306,836,583],{"class":444},[306,838,465],{"class":464},[306,840,841],{"class":468},"属性名称",[306,843,472],{"class":464},[306,845,648],{"class":444},[306,847,849,851,853,855,857,859,861,864,866],{"class":308,"line":848},34,[306,850,666],{"class":621},[306,852,583],{"class":444},[306,854,445],{"class":444},[306,856,673],{"class":621},[306,858,583],{"class":444},[306,860,465],{"class":464},[306,862,863],{"class":468},"name",[306,865,472],{"class":464},[306,867,685],{"class":444},[306,869,871,874,876,879],{"class":308,"line":870},35,[306,872,873],{"class":621},"      headerMergeCells",[306,875,583],{"class":444},[306,877,878],{"class":658}," 1",[306,880,648],{"class":444},[306,882,884],{"class":308,"line":883},36,[306,885,691],{"class":444},[306,887,889,892,894,896,898],{"class":308,"line":888},37,[306,890,891],{"class":542},"    ...",[306,893,813],{"class":606},[306,895,527],{"class":444},[306,897,200],{"class":448},[306,899,648],{"class":444},[306,901,903,905],{"class":308,"line":902},38,[306,904,756],{"class":448},[306,906,648],{"class":444},[306,908,910,913,916],{"class":308,"line":909},39,[306,911,912],{"class":444},"}",[306,914,915],{"class":448},")",[306,917,475],{"class":444},[306,919,921],{"class":308,"line":920},40,[306,922,503],{"emptyLinePlaceholder":502},[306,924,926,928,930,933,935,937,939],{"class":308,"line":925},41,[306,927,563],{"class":437},[306,929,790],{"class":514},[306,931,932],{"class":606}," colorTableConfig",[306,934,614],{"class":542},[306,936,484],{"class":798},[306,938,801],{"class":448},[306,940,804],{"class":444},[306,942,944,946,948],{"class":308,"line":943},42,[306,945,810],{"class":542},[306,947,813],{"class":606},[306,949,648],{"class":444},[306,951,953,955,957],{"class":308,"line":952},43,[306,954,580],{"class":621},[306,956,583],{"class":444},[306,958,626],{"class":448},[306,960,962],{"class":308,"line":961},44,[306,963,631],{"class":444},[306,965,967,969,971,973,975,977],{"class":308,"line":966},45,[306,968,636],{"class":621},[306,970,583],{"class":444},[306,972,465],{"class":464},[306,974,841],{"class":468},[306,976,472],{"class":464},[306,978,648],{"class":444},[306,980,982,984,986,988,990,992,994,996,998],{"class":308,"line":981},46,[306,983,666],{"class":621},[306,985,583],{"class":444},[306,987,445],{"class":444},[306,989,673],{"class":621},[306,991,583],{"class":444},[306,993,465],{"class":464},[306,995,863],{"class":468},[306,997,472],{"class":464},[306,999,685],{"class":444},[306,1001,1003,1005,1007,1009],{"class":308,"line":1002},47,[306,1004,873],{"class":621},[306,1006,583],{"class":444},[306,1008,878],{"class":658},[306,1010,648],{"class":444},[306,1012,1014],{"class":308,"line":1013},48,[306,1015,691],{"class":444},[306,1017,1019,1021,1023,1025,1027],{"class":308,"line":1018},49,[306,1020,891],{"class":542},[306,1022,813],{"class":606},[306,1024,527],{"class":444},[306,1026,200],{"class":448},[306,1028,648],{"class":444},[306,1030,1032,1034],{"class":308,"line":1031},50,[306,1033,756],{"class":448},[306,1035,648],{"class":444},[306,1037,1039,1041,1043],{"class":308,"line":1038},51,[306,1040,912],{"class":444},[306,1042,915],{"class":448},[306,1044,475],{"class":444},[306,1046,1048],{"class":308,"line":1047},52,[306,1049,503],{"emptyLinePlaceholder":502},[306,1051,1053],{"class":308,"line":1052},53,[306,1054,1055],{"class":508},"\u002F** 表头「属性名称」占 2 列 *\u002F\n",[306,1057,1059,1061,1063,1066,1068,1070,1072],{"class":308,"line":1058},54,[306,1060,563],{"class":437},[306,1062,790],{"class":514},[306,1064,1065],{"class":606}," specTableConfig",[306,1067,614],{"class":542},[306,1069,484],{"class":798},[306,1071,801],{"class":448},[306,1073,804],{"class":444},[306,1075,1077,1079,1081],{"class":308,"line":1076},55,[306,1078,810],{"class":542},[306,1080,813],{"class":606},[306,1082,648],{"class":444},[306,1084,1086,1088,1090],{"class":308,"line":1085},56,[306,1087,580],{"class":621},[306,1089,583],{"class":444},[306,1091,626],{"class":448},[306,1093,1095],{"class":308,"line":1094},57,[306,1096,631],{"class":444},[306,1098,1100,1102,1104,1106,1108,1110],{"class":308,"line":1099},58,[306,1101,636],{"class":621},[306,1103,583],{"class":444},[306,1105,465],{"class":464},[306,1107,841],{"class":468},[306,1109,472],{"class":464},[306,1111,648],{"class":444},[306,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131],{"class":308,"line":1114},59,[306,1116,666],{"class":621},[306,1118,583],{"class":444},[306,1120,445],{"class":444},[306,1122,673],{"class":621},[306,1124,583],{"class":444},[306,1126,465],{"class":464},[306,1128,863],{"class":468},[306,1130,472],{"class":464},[306,1132,685],{"class":444},[306,1134,1136,1138,1140,1143],{"class":308,"line":1135},60,[306,1137,873],{"class":621},[306,1139,583],{"class":444},[306,1141,1142],{"class":658}," 2",[306,1144,648],{"class":444},[306,1146,1148],{"class":308,"line":1147},61,[306,1149,691],{"class":444},[306,1151,1153,1155,1157,1159,1161],{"class":308,"line":1152},62,[306,1154,891],{"class":542},[306,1156,813],{"class":606},[306,1158,527],{"class":444},[306,1160,200],{"class":448},[306,1162,648],{"class":444},[306,1164,1166,1168],{"class":308,"line":1165},63,[306,1167,756],{"class":448},[306,1169,648],{"class":444},[306,1171,1173,1175,1177],{"class":308,"line":1172},64,[306,1174,912],{"class":444},[306,1176,915],{"class":448},[306,1178,475],{"class":444},[306,1180,1182],{"class":308,"line":1181},65,[306,1183,503],{"emptyLinePlaceholder":502},[306,1185,1187,1189,1191,1194,1196,1198,1200],{"class":308,"line":1186},66,[306,1188,563],{"class":437},[306,1190,790],{"class":514},[306,1192,1193],{"class":606}," industryTableConfig",[306,1195,614],{"class":542},[306,1197,484],{"class":798},[306,1199,801],{"class":448},[306,1201,804],{"class":444},[306,1203,1205,1207,1209],{"class":308,"line":1204},67,[306,1206,810],{"class":542},[306,1208,813],{"class":606},[306,1210,648],{"class":444},[306,1212,1214,1216,1218],{"class":308,"line":1213},68,[306,1215,580],{"class":621},[306,1217,583],{"class":444},[306,1219,626],{"class":448},[306,1221,1223],{"class":308,"line":1222},69,[306,1224,631],{"class":444},[306,1226,1228,1230,1232,1234,1236,1238],{"class":308,"line":1227},70,[306,1229,636],{"class":621},[306,1231,583],{"class":444},[306,1233,465],{"class":464},[306,1235,841],{"class":468},[306,1237,472],{"class":464},[306,1239,648],{"class":444},[306,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259],{"class":308,"line":1242},71,[306,1244,666],{"class":621},[306,1246,583],{"class":444},[306,1248,445],{"class":444},[306,1250,673],{"class":621},[306,1252,583],{"class":444},[306,1254,465],{"class":464},[306,1256,863],{"class":468},[306,1258,472],{"class":464},[306,1260,685],{"class":444},[306,1262,1264,1266,1268,1270],{"class":308,"line":1263},72,[306,1265,873],{"class":621},[306,1267,583],{"class":444},[306,1269,1142],{"class":658},[306,1271,648],{"class":444},[306,1273,1275],{"class":308,"line":1274},73,[306,1276,691],{"class":444},[306,1278,1280,1282,1284,1286,1288],{"class":308,"line":1279},74,[306,1281,891],{"class":542},[306,1283,813],{"class":606},[306,1285,527],{"class":444},[306,1287,200],{"class":448},[306,1289,648],{"class":444},[306,1291,1293,1295],{"class":308,"line":1292},75,[306,1294,756],{"class":448},[306,1296,648],{"class":444},[306,1298,1300,1302,1304],{"class":308,"line":1299},76,[306,1301,912],{"class":444},[306,1303,915],{"class":448},[306,1305,475],{"class":444},[30,1307,1308],{},"配置说明：",[14,1310,1311,1321],{},[114,1312,1313],{},[117,1314,1315,1318],{},[120,1316,1317],{},"配置项",[120,1319,1320],{},"含义",[127,1322,1323,1338,1352],{},[117,1324,1325,1329],{},[132,1326,1327],{},[79,1328,144],{},[132,1330,1331,1332,1334,1335],{},"表头该列 ",[79,1333,294],{},"，默认 ",[79,1336,1337],{},"1",[117,1339,1340,1345],{},[132,1341,1342],{},[79,1343,1344],{},"columns[].slots",[132,1346,1347,1348,1351],{},"与 vxe 列插槽命名对齐，便于日后若改回 ",[79,1349,1350],{},"vxe-grid","；当前原生表由父组件插槽渲染单元格",[117,1353,1354,1359],{},[132,1355,1356],{},[79,1357,1358],{},"cloneDeep",[132,1360,1361,1362,1365],{},"避免多处 ",[79,1363,1364],{},"...EXECUTE_PRICE_COLUMN"," 共享同一引用导致互相污染",[30,1367,1368,1374],{},[40,1369,1370,1371,1373],{},"表头总列数（用于空数据 ",[79,1372,294],{},"）","：",[297,1376,1378],{"className":428,"code":1377,"language":430,"meta":302,"style":302},"const colspan = columns.reduce(\n  (sum, col) => sum + (col.headerMergeCells ?? 1),\n  0\n);\n",[79,1379,1380,1400,1442,1447],{"__ignoreMap":302},[306,1381,1382,1384,1387,1389,1392,1394,1397],{"class":308,"line":309},[306,1383,603],{"class":514},[306,1385,1386],{"class":606}," colspan",[306,1388,614],{"class":542},[306,1390,1391],{"class":448}," columns",[306,1393,527],{"class":444},[306,1395,1396],{"class":798},"reduce",[306,1398,1399],{"class":448},"(\n",[306,1401,1402,1405,1409,1411,1414,1416,1419,1422,1425,1428,1430,1433,1436,1438,1440],{"class":308,"line":315},[306,1403,1404],{"class":444},"  (",[306,1406,1408],{"class":1407},"s99_P","sum",[306,1410,452],{"class":444},[306,1412,1413],{"class":1407}," col",[306,1415,915],{"class":444},[306,1417,1418],{"class":514}," =>",[306,1420,1421],{"class":448}," sum ",[306,1423,1424],{"class":542},"+",[306,1426,1427],{"class":448}," (col",[306,1429,527],{"class":444},[306,1431,1432],{"class":448},"headerMergeCells ",[306,1434,1435],{"class":542},"??",[306,1437,878],{"class":658},[306,1439,915],{"class":448},[306,1441,648],{"class":444},[306,1443,1444],{"class":308,"line":321},[306,1445,1446],{"class":658},"  0\n",[306,1448,1449,1451],{"class":308,"line":327},[306,1450,915],{"class":448},[306,1452,475],{"class":444},[30,1454,1455,1456,1459,1460,1463,1464,1466],{},"例如 ",[79,1457,1458],{},"specTableConfig"," 为 ",[79,1461,1462],{},"2 + 1 + 1 = 4","，与父组件中 4 个 ",[79,1465,167],{}," 布局一致。",[26,1468,1470,1471],{"id":1469},"子组件-executepricedialogitem","子组件 ",[79,1472,290],{},[30,1474,1475,1476,1479,1480,1483],{},"职责：标题区 + 展开收起 + 根据 ",[79,1477,1478],{},"gridOption"," 渲染表头；表体完全交给",[40,1481,1482],{},"默认插槽","。",[297,1485,1488],{"className":1486,"code":1487,"language":13,"meta":302,"style":302},"language-vue shiki shiki-themes material-theme-lighter github-light github-dark","\u003Cscript setup lang=\"ts\">\nimport type { CUSTOM_EXECUTE_PRICE } from \"..\u002Fconfig\u002Ftable\";\n\ndefineOptions({\n  name: \"ExecutePriceDialogItem\",\n});\n\nconst props = defineProps\u003C{\n  title: string;\n  tipText?: string;\n  gridOption: CUSTOM_EXECUTE_PRICE;\n}>();\n\nconst expand = ref(true);\nconst tableConfig = ref(props.gridOption);\n\nconst colspan = computed(() =>\n  tableConfig.value.columns.reduce(\n    (prev, cur) => prev + (cur.headerMergeCells ?? 1),\n    0\n  )\n);\n\nwatch(\n  () => props.gridOption,\n  (newVal) => {\n    tableConfig.value = newVal;\n  },\n  { deep: true, immediate: true }\n);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"price-item\">\n    \u003Cdiv class=\"header\">\n      \u003Ch3 class=\"title\">{{ title }}\u003C\u002Fh3>\n      \u003Cdiv class=\"expand-icon\" @click=\"expand = !expand\">\n        {{ expand ? \"- 收起\" : \"+ 展开\" }}\n      \u003C\u002Fdiv>\n      \u003Cdiv v-if=\"tipText\" class=\"tip-text\">{{ tipText }}\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv v-if=\"expand\" class=\"price__table\">\n      \u003Ctable>\n        \u003Cthead>\n          \u003Ctr>\n            \u003Cth\n              v-for=\"(item, colIndex) in tableConfig.columns\"\n              :key=\"item.field ?? item.title ?? colIndex\"\n              :colspan=\"item.headerMergeCells ?? 1\"\n            >\n              {{ item.title }}\n            \u003C\u002Fth>\n          \u003C\u002Ftr>\n        \u003C\u002Fthead>\n        \u003Ctbody>\n          \u003Ctemplate v-if=\"tableConfig.data?.length\">\n            \u003Ctr\n              v-for=\"(row, index) in tableConfig.data\"\n              :key=\"(row as any).id ?? index\"\n            >\n              \u003Cslot :row=\"row\" :row-index=\"index\" \u002F>\n            \u003C\u002Ftr>\n          \u003C\u002Ftemplate>\n          \u003Ctr v-else>\n            \u003Ctd :colspan=\"colspan\">暂无数据\u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftbody>\n      \u003C\u002Ftable>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[79,1489,1490,1518,1541,1545,1554,1569,1577,1581,1596,1608,1619,1630,1640,1644,1666,1687,1691,1709,1729,1766,1771,1776,1782,1786,1793,1808,1821,1837,1842,1867,1873,1882,1886,1895,1917,1937,1968,1999,2004,2013,2053,2062,2092,2100,2109,2118,2126,2141,2155,2169,2174,2179,2188,2197,2206,2214,2243,2250,2263,2276,2280,2318,2326,2334,2345,2373,2381,2389,2397,2405,2414],{"__ignoreMap":302},[306,1491,1492,1495,1499,1503,1506,1509,1511,1513,1515],{"class":308,"line":309},[306,1493,1494],{"class":444},"\u003C",[306,1496,1498],{"class":1497},"sQzsp","script",[306,1500,1502],{"class":1501},"s9AJx"," setup",[306,1504,1505],{"class":1501}," lang",[306,1507,1508],{"class":444},"=",[306,1510,472],{"class":464},[306,1512,430],{"class":468},[306,1514,472],{"class":464},[306,1516,1517],{"class":444},">\n",[306,1519,1520,1522,1524,1526,1528,1530,1532,1534,1537,1539],{"class":308,"line":315},[306,1521,438],{"class":437},[306,1523,441],{"class":437},[306,1525,445],{"class":444},[306,1527,569],{"class":448},[306,1529,458],{"class":444},[306,1531,461],{"class":437},[306,1533,465],{"class":464},[306,1535,1536],{"class":468},"..\u002Fconfig\u002Ftable",[306,1538,472],{"class":464},[306,1540,475],{"class":444},[306,1542,1543],{"class":308,"line":321},[306,1544,503],{"emptyLinePlaceholder":502},[306,1546,1547,1550,1552],{"class":308,"line":327},[306,1548,1549],{"class":798},"defineOptions",[306,1551,801],{"class":448},[306,1553,804],{"class":444},[306,1555,1556,1559,1561,1563,1565,1567],{"class":308,"line":333},[306,1557,1558],{"class":621},"  name",[306,1560,583],{"class":444},[306,1562,465],{"class":464},[306,1564,290],{"class":468},[306,1566,472],{"class":464},[306,1568,648],{"class":444},[306,1570,1571,1573,1575],{"class":308,"line":339},[306,1572,912],{"class":444},[306,1574,915],{"class":448},[306,1576,475],{"class":444},[306,1578,1579],{"class":308,"line":345},[306,1580,503],{"emptyLinePlaceholder":502},[306,1582,1583,1585,1588,1590,1593],{"class":308,"line":351},[306,1584,603],{"class":514},[306,1586,1587],{"class":606}," props",[306,1589,614],{"class":542},[306,1591,1592],{"class":798}," defineProps",[306,1594,1595],{"class":444},"\u003C{\n",[306,1597,1598,1601,1603,1606],{"class":308,"line":357},[306,1599,1600],{"class":538},"  title",[306,1602,583],{"class":542},[306,1604,1605],{"class":546}," string",[306,1607,475],{"class":444},[306,1609,1610,1613,1615,1617],{"class":308,"line":362},[306,1611,1612],{"class":538},"  tipText",[306,1614,543],{"class":542},[306,1616,1605],{"class":546},[306,1618,475],{"class":444},[306,1620,1621,1624,1626,1628],{"class":308,"line":368},[306,1622,1623],{"class":538},"  gridOption",[306,1625,583],{"class":542},[306,1627,569],{"class":518},[306,1629,475],{"class":444},[306,1631,1632,1635,1638],{"class":308,"line":374},[306,1633,1634],{"class":444},"}>",[306,1636,1637],{"class":448},"()",[306,1639,475],{"class":444},[306,1641,1642],{"class":308,"line":380},[306,1643,503],{"emptyLinePlaceholder":502},[306,1645,1646,1648,1651,1653,1656,1658,1662,1664],{"class":308,"line":385},[306,1647,603],{"class":514},[306,1649,1650],{"class":606}," expand",[306,1652,614],{"class":542},[306,1654,1655],{"class":798}," ref",[306,1657,801],{"class":448},[306,1659,1661],{"class":1660},"syTEX","true",[306,1663,915],{"class":448},[306,1665,475],{"class":444},[306,1667,1668,1670,1673,1675,1677,1680,1682,1685],{"class":308,"line":391},[306,1669,603],{"class":514},[306,1671,1672],{"class":606}," tableConfig",[306,1674,614],{"class":542},[306,1676,1655],{"class":798},[306,1678,1679],{"class":448},"(props",[306,1681,527],{"class":444},[306,1683,1684],{"class":448},"gridOption)",[306,1686,475],{"class":444},[306,1688,1689],{"class":308,"line":397},[306,1690,503],{"emptyLinePlaceholder":502},[306,1692,1693,1695,1697,1699,1702,1704,1706],{"class":308,"line":403},[306,1694,603],{"class":514},[306,1696,1386],{"class":606},[306,1698,614],{"class":542},[306,1700,1701],{"class":798}," computed",[306,1703,801],{"class":448},[306,1705,1637],{"class":444},[306,1707,1708],{"class":514}," =>\n",[306,1710,1711,1714,1716,1719,1721,1723,1725,1727],{"class":308,"line":409},[306,1712,1713],{"class":448},"  tableConfig",[306,1715,527],{"class":444},[306,1717,1718],{"class":448},"value",[306,1720,527],{"class":444},[306,1722,200],{"class":448},[306,1724,527],{"class":444},[306,1726,1396],{"class":798},[306,1728,1399],{"class":448},[306,1730,1731,1734,1737,1739,1742,1744,1746,1749,1751,1754,1756,1758,1760,1762,1764],{"class":308,"line":688},[306,1732,1733],{"class":444},"    (",[306,1735,1736],{"class":1407},"prev",[306,1738,452],{"class":444},[306,1740,1741],{"class":1407}," cur",[306,1743,915],{"class":444},[306,1745,1418],{"class":514},[306,1747,1748],{"class":448}," prev ",[306,1750,1424],{"class":542},[306,1752,1753],{"class":448}," (cur",[306,1755,527],{"class":444},[306,1757,1432],{"class":448},[306,1759,1435],{"class":542},[306,1761,878],{"class":658},[306,1763,915],{"class":448},[306,1765,648],{"class":444},[306,1767,1768],{"class":308,"line":694},[306,1769,1770],{"class":658},"    0\n",[306,1772,1773],{"class":308,"line":699},[306,1774,1775],{"class":448},"  )\n",[306,1777,1778,1780],{"class":308,"line":715},[306,1779,915],{"class":448},[306,1781,475],{"class":444},[306,1783,1784],{"class":308,"line":726},[306,1785,503],{"emptyLinePlaceholder":502},[306,1787,1788,1791],{"class":308,"line":748},[306,1789,1790],{"class":798},"watch",[306,1792,1399],{"class":448},[306,1794,1795,1798,1800,1802,1804,1806],{"class":308,"line":753},[306,1796,1797],{"class":444},"  ()",[306,1799,1418],{"class":514},[306,1801,1587],{"class":448},[306,1803,527],{"class":444},[306,1805,1478],{"class":448},[306,1807,648],{"class":444},[306,1809,1810,1812,1815,1817,1819],{"class":308,"line":761},[306,1811,1404],{"class":444},[306,1813,1814],{"class":1407},"newVal",[306,1816,915],{"class":444},[306,1818,1418],{"class":514},[306,1820,533],{"class":444},[306,1822,1823,1826,1828,1830,1832,1835],{"class":308,"line":774},[306,1824,1825],{"class":448},"    tableConfig",[306,1827,527],{"class":444},[306,1829,1718],{"class":448},[306,1831,614],{"class":542},[306,1833,1834],{"class":448}," newVal",[306,1836,475],{"class":444},[306,1838,1839],{"class":308,"line":780},[306,1840,1841],{"class":444},"  },\n",[306,1843,1844,1847,1850,1852,1855,1857,1860,1862,1864],{"class":308,"line":785},[306,1845,1846],{"class":444},"  {",[306,1848,1849],{"class":621}," deep",[306,1851,583],{"class":444},[306,1853,1854],{"class":1660}," true",[306,1856,452],{"class":444},[306,1858,1859],{"class":621}," immediate",[306,1861,583],{"class":444},[306,1863,1854],{"class":1660},[306,1865,1866],{"class":444}," }\n",[306,1868,1869,1871],{"class":308,"line":807},[306,1870,915],{"class":448},[306,1872,475],{"class":444},[306,1874,1875,1878,1880],{"class":308,"line":818},[306,1876,1877],{"class":444},"\u003C\u002F",[306,1879,1498],{"class":1497},[306,1881,1517],{"class":444},[306,1883,1884],{"class":308,"line":827},[306,1885,503],{"emptyLinePlaceholder":502},[306,1887,1888,1890,1893],{"class":308,"line":832},[306,1889,1494],{"class":444},[306,1891,1892],{"class":1497},"template",[306,1894,1517],{"class":444},[306,1896,1897,1900,1903,1906,1908,1910,1913,1915],{"class":308,"line":848},[306,1898,1899],{"class":444},"  \u003C",[306,1901,1902],{"class":1497},"div",[306,1904,1905],{"class":1501}," class",[306,1907,1508],{"class":444},[306,1909,472],{"class":464},[306,1911,1912],{"class":468},"price-item",[306,1914,472],{"class":464},[306,1916,1517],{"class":444},[306,1918,1919,1922,1924,1926,1928,1930,1933,1935],{"class":308,"line":870},[306,1920,1921],{"class":444},"    \u003C",[306,1923,1902],{"class":1497},[306,1925,1905],{"class":1501},[306,1927,1508],{"class":444},[306,1929,472],{"class":464},[306,1931,1932],{"class":468},"header",[306,1934,472],{"class":464},[306,1936,1517],{"class":444},[306,1938,1939,1942,1945,1947,1949,1951,1954,1956,1959,1962,1964,1966],{"class":308,"line":883},[306,1940,1941],{"class":444},"      \u003C",[306,1943,1944],{"class":1497},"h3",[306,1946,1905],{"class":1501},[306,1948,1508],{"class":444},[306,1950,472],{"class":464},[306,1952,1953],{"class":468},"title",[306,1955,472],{"class":464},[306,1957,1958],{"class":444},">",[306,1960,1961],{"class":448},"{{ title }}",[306,1963,1877],{"class":444},[306,1965,1944],{"class":1497},[306,1967,1517],{"class":444},[306,1969,1970,1972,1974,1976,1978,1980,1983,1985,1988,1990,1992,1995,1997],{"class":308,"line":888},[306,1971,1941],{"class":444},[306,1973,1902],{"class":1497},[306,1975,1905],{"class":1501},[306,1977,1508],{"class":444},[306,1979,472],{"class":464},[306,1981,1982],{"class":468},"expand-icon",[306,1984,472],{"class":464},[306,1986,1987],{"class":1501}," @click",[306,1989,1508],{"class":444},[306,1991,472],{"class":464},[306,1993,1994],{"class":468},"expand = !expand",[306,1996,472],{"class":464},[306,1998,1517],{"class":444},[306,2000,2001],{"class":308,"line":902},[306,2002,2003],{"class":448},"        {{ expand ? \"- 收起\" : \"+ 展开\" }}\n",[306,2005,2006,2009,2011],{"class":308,"line":909},[306,2007,2008],{"class":444},"      \u003C\u002F",[306,2010,1902],{"class":1497},[306,2012,1517],{"class":444},[306,2014,2015,2017,2019,2022,2024,2026,2029,2031,2033,2035,2037,2040,2042,2044,2047,2049,2051],{"class":308,"line":920},[306,2016,1941],{"class":444},[306,2018,1902],{"class":1497},[306,2020,2021],{"class":1501}," v-if",[306,2023,1508],{"class":444},[306,2025,472],{"class":464},[306,2027,2028],{"class":468},"tipText",[306,2030,472],{"class":464},[306,2032,1905],{"class":1501},[306,2034,1508],{"class":444},[306,2036,472],{"class":464},[306,2038,2039],{"class":468},"tip-text",[306,2041,472],{"class":464},[306,2043,1958],{"class":444},[306,2045,2046],{"class":448},"{{ tipText }}",[306,2048,1877],{"class":444},[306,2050,1902],{"class":1497},[306,2052,1517],{"class":444},[306,2054,2055,2058,2060],{"class":308,"line":925},[306,2056,2057],{"class":444},"    \u003C\u002F",[306,2059,1902],{"class":1497},[306,2061,1517],{"class":444},[306,2063,2064,2066,2068,2070,2072,2074,2077,2079,2081,2083,2085,2088,2090],{"class":308,"line":943},[306,2065,1921],{"class":444},[306,2067,1902],{"class":1497},[306,2069,2021],{"class":1501},[306,2071,1508],{"class":444},[306,2073,472],{"class":464},[306,2075,2076],{"class":468},"expand",[306,2078,472],{"class":464},[306,2080,1905],{"class":1501},[306,2082,1508],{"class":444},[306,2084,472],{"class":464},[306,2086,2087],{"class":468},"price__table",[306,2089,472],{"class":464},[306,2091,1517],{"class":444},[306,2093,2094,2096,2098],{"class":308,"line":952},[306,2095,1941],{"class":444},[306,2097,14],{"class":1497},[306,2099,1517],{"class":444},[306,2101,2102,2105,2107],{"class":308,"line":961},[306,2103,2104],{"class":444},"        \u003C",[306,2106,114],{"class":1497},[306,2108,1517],{"class":444},[306,2110,2111,2114,2116],{"class":308,"line":966},[306,2112,2113],{"class":444},"          \u003C",[306,2115,117],{"class":1497},[306,2117,1517],{"class":444},[306,2119,2120,2123],{"class":308,"line":981},[306,2121,2122],{"class":444},"            \u003C",[306,2124,2125],{"class":1497},"th\n",[306,2127,2128,2131,2133,2135,2138],{"class":308,"line":1002},[306,2129,2130],{"class":1501},"              v-for",[306,2132,1508],{"class":444},[306,2134,472],{"class":464},[306,2136,2137],{"class":468},"(item, colIndex) in tableConfig.columns",[306,2139,2140],{"class":464},"\"\n",[306,2142,2143,2146,2148,2150,2153],{"class":308,"line":1013},[306,2144,2145],{"class":1501},"              :key",[306,2147,1508],{"class":444},[306,2149,472],{"class":464},[306,2151,2152],{"class":468},"item.field ?? item.title ?? colIndex",[306,2154,2140],{"class":464},[306,2156,2157,2160,2162,2164,2167],{"class":308,"line":1018},[306,2158,2159],{"class":1501},"              :colspan",[306,2161,1508],{"class":444},[306,2163,472],{"class":464},[306,2165,2166],{"class":468},"item.headerMergeCells ?? 1",[306,2168,2140],{"class":464},[306,2170,2171],{"class":308,"line":1031},[306,2172,2173],{"class":444},"            >\n",[306,2175,2176],{"class":308,"line":1038},[306,2177,2178],{"class":448},"              {{ item.title }}\n",[306,2180,2181,2184,2186],{"class":308,"line":1047},[306,2182,2183],{"class":444},"            \u003C\u002F",[306,2185,120],{"class":1497},[306,2187,1517],{"class":444},[306,2189,2190,2193,2195],{"class":308,"line":1052},[306,2191,2192],{"class":444},"          \u003C\u002F",[306,2194,117],{"class":1497},[306,2196,1517],{"class":444},[306,2198,2199,2202,2204],{"class":308,"line":1058},[306,2200,2201],{"class":444},"        \u003C\u002F",[306,2203,114],{"class":1497},[306,2205,1517],{"class":444},[306,2207,2208,2210,2212],{"class":308,"line":1076},[306,2209,2104],{"class":444},[306,2211,127],{"class":1497},[306,2213,1517],{"class":444},[306,2215,2216,2218,2220,2222,2224,2226,2229,2231,2233,2236,2239,2241],{"class":308,"line":1085},[306,2217,2113],{"class":444},[306,2219,1892],{"class":1497},[306,2221,2021],{"class":437},[306,2223,1508],{"class":444},[306,2225,472],{"class":464},[306,2227,2228],{"class":448},"tableConfig",[306,2230,527],{"class":444},[306,2232,204],{"class":448},[306,2234,2235],{"class":444},"?.",[306,2237,2238],{"class":606},"length",[306,2240,472],{"class":464},[306,2242,1517],{"class":444},[306,2244,2245,2247],{"class":308,"line":1094},[306,2246,2122],{"class":444},[306,2248,2249],{"class":1497},"tr\n",[306,2251,2252,2254,2256,2258,2261],{"class":308,"line":1099},[306,2253,2130],{"class":1501},[306,2255,1508],{"class":444},[306,2257,472],{"class":464},[306,2259,2260],{"class":468},"(row, index) in tableConfig.data",[306,2262,2140],{"class":464},[306,2264,2265,2267,2269,2271,2274],{"class":308,"line":1114},[306,2266,2145],{"class":1501},[306,2268,1508],{"class":444},[306,2270,472],{"class":464},[306,2272,2273],{"class":468},"(row as any).id ?? index",[306,2275,2140],{"class":464},[306,2277,2278],{"class":308,"line":1135},[306,2279,2173],{"class":444},[306,2281,2282,2285,2288,2291,2293,2295,2298,2300,2303,2305,2307,2310,2312,2316],{"class":308,"line":1147},[306,2283,2284],{"class":444},"              \u003C",[306,2286,2287],{"class":1497},"slot",[306,2289,2290],{"class":1501}," :row",[306,2292,1508],{"class":444},[306,2294,472],{"class":464},[306,2296,2297],{"class":468},"row",[306,2299,472],{"class":464},[306,2301,2302],{"class":1501}," :row-index",[306,2304,1508],{"class":444},[306,2306,472],{"class":464},[306,2308,2309],{"class":468},"index",[306,2311,472],{"class":464},[306,2313,2315],{"class":2314},"svtyB"," \u002F",[306,2317,1517],{"class":444},[306,2319,2320,2322,2324],{"class":308,"line":1152},[306,2321,2183],{"class":444},[306,2323,117],{"class":1497},[306,2325,1517],{"class":444},[306,2327,2328,2330,2332],{"class":308,"line":1165},[306,2329,2192],{"class":444},[306,2331,1892],{"class":1497},[306,2333,1517],{"class":444},[306,2335,2336,2338,2340,2343],{"class":308,"line":1172},[306,2337,2113],{"class":444},[306,2339,117],{"class":1497},[306,2341,2342],{"class":1501}," v-else",[306,2344,1517],{"class":444},[306,2346,2347,2349,2351,2354,2356,2358,2360,2362,2364,2367,2369,2371],{"class":308,"line":1181},[306,2348,2122],{"class":444},[306,2350,132],{"class":1497},[306,2352,2353],{"class":1501}," :colspan",[306,2355,1508],{"class":444},[306,2357,472],{"class":464},[306,2359,294],{"class":468},[306,2361,472],{"class":464},[306,2363,1958],{"class":444},[306,2365,2366],{"class":448},"暂无数据",[306,2368,1877],{"class":444},[306,2370,132],{"class":1497},[306,2372,1517],{"class":444},[306,2374,2375,2377,2379],{"class":308,"line":1186},[306,2376,2192],{"class":444},[306,2378,117],{"class":1497},[306,2380,1517],{"class":444},[306,2382,2383,2385,2387],{"class":308,"line":1204},[306,2384,2201],{"class":444},[306,2386,127],{"class":1497},[306,2388,1517],{"class":444},[306,2390,2391,2393,2395],{"class":308,"line":1213},[306,2392,2008],{"class":444},[306,2394,14],{"class":1497},[306,2396,1517],{"class":444},[306,2398,2399,2401,2403],{"class":308,"line":1222},[306,2400,2057],{"class":444},[306,2402,1902],{"class":1497},[306,2404,1517],{"class":444},[306,2406,2407,2410,2412],{"class":308,"line":1227},[306,2408,2409],{"class":444},"  \u003C\u002F",[306,2411,1902],{"class":1497},[306,2413,1517],{"class":444},[306,2415,2416,2418,2420],{"class":308,"line":1242},[306,2417,1877],{"class":444},[306,2419,1892],{"class":1497},[306,2421,1517],{"class":444},[30,2423,2424],{},"要点：",[33,2426,2427,2443,2456,2464,2483],{},[36,2428,2429,1374,2431,2433,2434,2437,2438,86],{},[40,2430,149],{},[79,2432,144],{}," → ",[79,2435,2436],{},"\u003Cth colspan>","（见 ",[242,2439,2442],{"href":2440,"rel":2441},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fzh-CN\u002Fdocs\u002FWeb\u002FHTML\u002FAttributes\u002Fcolspan",[246],"MDN：colspan",[36,2444,2445,2447,2448,2452,2453,2455],{},[40,2446,161],{},"：使用 Vue 3 ",[242,2449,1482],{"href":2450,"rel":2451},"https:\u002F\u002Fcn.vuejs.org\u002Fguide\u002Fcomponents\u002Fslots.html",[246],"，由父组件保证每行 ",[79,2454,167],{}," 数量与合并规则一致。",[36,2457,2458,2463],{},[40,2459,2460,2462],{},[79,2461,294],{}," 计算属性","：空数据时单行「暂无数据」横跨整表。",[36,2465,2466,2471,2472,2475,2476,2478,2479,2482],{},[40,2467,2468],{},[79,2469,2470],{},":key","：优先 ",[79,2473,2474],{},"row.id","，避免仅用 ",[79,2477,2309],{}," 在排序 \u002F 删除时错位（示例中 ",[79,2480,2481],{},"(row as any).id"," 可按实际类型替换）。",[36,2484,2485,2494,2495,2498,2499,2502],{},[40,2486,2487,2490,2491],{},[79,2488,2489],{},":width"," 写在 ",[79,2492,2493],{},"\u003Cth>","：HTML 更推荐 ",[79,2496,2497],{},"colgroup"," \u002F CSS；若列宽不稳，可在样式中为 ",[79,2500,2501],{},"th:nth-child(n)"," 设宽。",[30,2504,2505,2506,2509],{},"样式保持 ",[79,2507,2508],{},"border-collapse","、边框与表头背景，与 Element Plus 弹窗内表格风格一致（完整 SCSS 见原实现，此处不重复贴出）。",[26,2511,2512],{"id":2512},"父组件用法",[1944,2514,2516],{"id":2515},"无行合并基础-颜色","无行合并（基础 \u002F 颜色）",[30,2518,2519],{},"每行 3 列：属性名 + 全国价 + 专属价。",[297,2521,2523],{"className":1486,"code":2522,"language":13,"meta":302,"style":302},"\u003CExecutePriceDialogItem\n  :grid-option=\"state.baseTableConfig\"\n  title=\"基础价格配置\"\n>\n  \u003Ctemplate #default=\"{ row }\">\n    \u003Ctd>\u003C!-- 属性名 -->\u003C\u002Ftd>\n    \u003Ctd>\u003C!-- 全国价 -->\u003C\u002Ftd>\n    \u003Ctd>\u003C!-- 专属价 -->\u003C\u002Ftd>\n  \u003C\u002Ftemplate>\n\u003C\u002FExecutePriceDialogItem>\n",[79,2524,2525,2532,2554,2567,2571,2576,2581,2586,2591,2596],{"__ignoreMap":302},[306,2526,2527,2529],{"class":308,"line":309},[306,2528,1494],{"class":444},[306,2530,2531],{"class":1497},"ExecutePriceDialogItem\n",[306,2533,2534,2537,2540,2542,2544,2547,2549,2552],{"class":308,"line":315},[306,2535,2536],{"class":444},"  :",[306,2538,2539],{"class":1501},"grid-option",[306,2541,1508],{"class":444},[306,2543,472],{"class":464},[306,2545,2546],{"class":448},"state",[306,2548,527],{"class":444},[306,2550,2551],{"class":448},"baseTableConfig",[306,2553,2140],{"class":464},[306,2555,2556,2558,2560,2562,2565],{"class":308,"line":321},[306,2557,1600],{"class":1501},[306,2559,1508],{"class":444},[306,2561,472],{"class":464},[306,2563,2564],{"class":468},"基础价格配置",[306,2566,2140],{"class":464},[306,2568,2569],{"class":308,"line":327},[306,2570,1517],{"class":444},[306,2572,2573],{"class":308,"line":333},[306,2574,2575],{"class":448},"  \u003Ctemplate #default=\"{ row }\">\n",[306,2577,2578],{"class":308,"line":339},[306,2579,2580],{"class":448},"    \u003Ctd>\u003C!-- 属性名 -->\u003C\u002Ftd>\n",[306,2582,2583],{"class":308,"line":345},[306,2584,2585],{"class":448},"    \u003Ctd>\u003C!-- 全国价 -->\u003C\u002Ftd>\n",[306,2587,2588],{"class":308,"line":351},[306,2589,2590],{"class":448},"    \u003Ctd>\u003C!-- 专属价 -->\u003C\u002Ftd>\n",[306,2592,2593],{"class":308,"line":357},[306,2594,2595],{"class":448},"  \u003C\u002Ftemplate>\n",[306,2597,2598,2600,2602],{"class":308,"line":362},[306,2599,1877],{"class":444},[306,2601,290],{"class":1497},[306,2603,1517],{"class":444},[1944,2605,2607],{"id":2606},"有行合并规格-行业","有行合并（规格 \u002F 行业）",[30,2609,2610,2611,2614,2615,2618,2619,2621,2622,2625,2626,2628],{},"约定：仅在",[40,2612,2613],{},"合并组的第一行","上设置 ",[79,2616,2617],{},"row._cell","（正整数），表示该行第一列 ",[79,2620,175],{}," 行数；其余行",[40,2623,2624],{},"不要再输出","该列的 ",[79,2627,167],{},"，否则会破坏表格结构。",[297,2630,2632],{"className":1486,"code":2631,"language":13,"meta":302,"style":302},"\u003CExecutePriceDialogItem\n  :grid-option=\"state.specTableConfig\"\n  title=\"规格价格配置\"\n>\n  \u003Ctemplate #default=\"{ row }\">\n    \u003Ctd v-if=\"row._cell\" :rowspan=\"row._cell\">\n      \u003C!-- 合并单元格内容 -->\n    \u003C\u002Ftd>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>\u003C\u002Ftd>\n  \u003C\u002Ftemplate>\n\u003C\u002FExecutePriceDialogItem>\n",[79,2633,2634,2640,2658,2671,2675,2679,2684,2689,2694,2699,2703,2707,2711],{"__ignoreMap":302},[306,2635,2636,2638],{"class":308,"line":309},[306,2637,1494],{"class":444},[306,2639,2531],{"class":1497},[306,2641,2642,2644,2646,2648,2650,2652,2654,2656],{"class":308,"line":315},[306,2643,2536],{"class":444},[306,2645,2539],{"class":1501},[306,2647,1508],{"class":444},[306,2649,472],{"class":464},[306,2651,2546],{"class":448},[306,2653,527],{"class":444},[306,2655,1458],{"class":448},[306,2657,2140],{"class":464},[306,2659,2660,2662,2664,2666,2669],{"class":308,"line":321},[306,2661,1600],{"class":1501},[306,2663,1508],{"class":444},[306,2665,472],{"class":464},[306,2667,2668],{"class":468},"规格价格配置",[306,2670,2140],{"class":464},[306,2672,2673],{"class":308,"line":327},[306,2674,1517],{"class":444},[306,2676,2677],{"class":308,"line":333},[306,2678,2575],{"class":448},[306,2680,2681],{"class":308,"line":339},[306,2682,2683],{"class":448},"    \u003Ctd v-if=\"row._cell\" :rowspan=\"row._cell\">\n",[306,2685,2686],{"class":308,"line":345},[306,2687,2688],{"class":448},"      \u003C!-- 合并单元格内容 -->\n",[306,2690,2691],{"class":308,"line":351},[306,2692,2693],{"class":448},"    \u003C\u002Ftd>\n",[306,2695,2696],{"class":308,"line":357},[306,2697,2698],{"class":448},"    \u003Ctd>\u003C\u002Ftd>\n",[306,2700,2701],{"class":308,"line":362},[306,2702,2698],{"class":448},[306,2704,2705],{"class":308,"line":368},[306,2706,2698],{"class":448},[306,2708,2709],{"class":308,"line":374},[306,2710,2595],{"class":448},[306,2712,2713,2715,2717],{"class":308,"line":380},[306,2714,1877],{"class":444},[306,2716,290],{"class":1497},[306,2718,1517],{"class":444},[30,2720,2721],{},"数据示例（逻辑行 4 列，首列纵向合并 2 行）：",[297,2723,2725],{"className":428,"code":2724,"language":430,"meta":302,"style":302},"const data = [\n  { id: 1, name: \"规格 A\", _cell: 2 \u002F* ... *\u002F },\n  { id: 2 \u002F* 第二行无 _cell，不渲染首列 td *\u002F },\n  { id: 3, name: \"规格 B\", _cell: 1 \u002F* ... *\u002F },\n];\n",[79,2726,2727,2738,2777,2792,2828],{"__ignoreMap":302},[306,2728,2729,2731,2734,2736],{"class":308,"line":309},[306,2730,603],{"class":514},[306,2732,2733],{"class":606}," data",[306,2735,614],{"class":542},[306,2737,626],{"class":448},[306,2739,2740,2742,2745,2747,2749,2751,2754,2756,2758,2761,2763,2765,2768,2770,2772,2775],{"class":308,"line":315},[306,2741,1846],{"class":444},[306,2743,2744],{"class":621}," id",[306,2746,583],{"class":444},[306,2748,878],{"class":658},[306,2750,452],{"class":444},[306,2752,2753],{"class":621}," name",[306,2755,583],{"class":444},[306,2757,465],{"class":464},[306,2759,2760],{"class":468},"规格 A",[306,2762,472],{"class":464},[306,2764,452],{"class":444},[306,2766,2767],{"class":621}," _cell",[306,2769,583],{"class":444},[306,2771,1142],{"class":658},[306,2773,2774],{"class":508}," \u002F* ... *\u002F",[306,2776,685],{"class":444},[306,2778,2779,2781,2783,2785,2787,2790],{"class":308,"line":321},[306,2780,1846],{"class":444},[306,2782,2744],{"class":621},[306,2784,583],{"class":444},[306,2786,1142],{"class":658},[306,2788,2789],{"class":508}," \u002F* 第二行无 _cell，不渲染首列 td *\u002F",[306,2791,685],{"class":444},[306,2793,2794,2796,2798,2800,2803,2805,2807,2809,2811,2814,2816,2818,2820,2822,2824,2826],{"class":308,"line":327},[306,2795,1846],{"class":444},[306,2797,2744],{"class":621},[306,2799,583],{"class":444},[306,2801,2802],{"class":658}," 3",[306,2804,452],{"class":444},[306,2806,2753],{"class":621},[306,2808,583],{"class":444},[306,2810,465],{"class":464},[306,2812,2813],{"class":468},"规格 B",[306,2815,472],{"class":464},[306,2817,452],{"class":444},[306,2819,2767],{"class":621},[306,2821,583],{"class":444},[306,2823,878],{"class":658},[306,2825,2774],{"class":508},[306,2827,685],{"class":444},[306,2829,2830,2833],{"class":308,"line":333},[306,2831,2832],{"class":448},"]",[306,2834,475],{"class":444},[30,2836,2837,2839,2840,2843,2844,2847,2848,2850],{},[79,2838,171],{}," 为",[40,2841,2842],{},"项目约定字段","，需在接口层或 ",[79,2845,2846],{},"transform"," 中按后端 \u002F 业务规则生成；合并组行数应等于 ",[79,2849,175],{},"，否则会出现空洞或重叠。",[26,2852,2853],{"id":2853},"复用到其它场景",[189,2855,2856,2868,2875],{},[36,2857,2858,2859,2861,2862,43,2864,43,2866,1483],{},"新增一块价格区：复制一份 ",[79,2860,1358],{}," 配置，调整 ",[79,2863,1953],{},[79,2865,144],{},[79,2867,204],{},[36,2869,2870,2871,2874],{},"父组件为每块提供 ",[79,2872,2873],{},"#default"," 插槽，按列填内容与校验。",[36,2876,2877,2878,2880,2881,1483],{},"若需行合并：在数据处理阶段写入 ",[79,2879,171],{},"，并保证非首行少渲染一列 ",[79,2882,167],{},[26,2884,2885],{"id":2885},"限制与注意",[14,2887,2888,2898],{},[114,2889,2890],{},[117,2891,2892,2895],{},[120,2893,2894],{},"项",[120,2896,2897],{},"说明",[127,2899,2900,2914,2929,2947],{},[117,2901,2902,2905],{},[132,2903,2904],{},"列数一致性",[132,2906,2907,2908,2910,2911,2913],{},"有 ",[79,2909,175],{}," 时，合并组内各行的 ",[79,2912,167],{}," 个数必须一致，否则浏览器表格布局会乱",[117,2915,2916,2919],{},[132,2917,2918],{},"与 vxe 列插槽",[132,2920,2921,2922,2925,2926,2928],{},"配置里 ",[79,2923,2924],{},"slots.default"," 在原生 ",[79,2927,108],{}," 下不会自动生效，内容写在父组件插槽内",[117,2930,2931,2934],{},[132,2932,2933],{},"可访问性",[132,2935,2936,2937,2939,2940,2943,2944],{},"纯 ",[79,2938,108],{}," 需保证表头与数据单元格语义正确；复杂交互可考虑 ",[79,2941,2942],{},"scope"," 或补充 ",[79,2945,2946],{},"aria",[117,2948,2949,2952],{},[132,2950,2951],{},"全站统一",[132,2953,2954],{},"若要求与 vxe-grid 列宽拖拽、虚拟滚动等一致，应改用 vxe 官方合并 API，而非长期维护双轨",[26,2956,2958],{"id":2957},"与-vxe-table-原生能力的对照可选迁移","与 vxe-table 原生能力的对照（可选迁移）",[14,2960,2961,2974],{},[114,2962,2963],{},[117,2964,2965,2968,2971],{},[120,2966,2967],{},"需求",[120,2969,2970],{},"本方案",[120,2972,2973],{},"vxe-table 方向",[127,2975,2976,2993,3005],{},[117,2977,2978,2981,2987],{},[132,2979,2980],{},"表头 colspan",[132,2982,2983,2433,2985],{},[79,2984,144],{},[79,2986,2436],{},[132,2988,2989,172,2991],{},[79,2990,257],{},[79,2992,264],{},[117,2994,2995,2998,3001],{},[132,2996,2997],{},"分组表头",[132,2999,3000],{},"未使用",[132,3002,3003],{},[79,3004,272],{},[117,3006,3007,3010,3015],{},[132,3008,3009],{},"表体 rowspan \u002F colspan",[132,3011,3012,3013],{},"插槽 + ",[79,3014,171],{},[132,3016,3017,3019,3020],{},[79,3018,249],{}," 返回 ",[79,3021,3022],{},"{ rowspan, colspan }",[30,3024,3025],{},"迁移前请在当前锁定版本下对照官方示例验证，避免 API 名称或参数随大版本变化。",[26,3027,3028],{"id":3028},"参考文献",[14,3030,3031,3041],{},[114,3032,3033],{},[117,3034,3035,3038],{},[120,3036,3037],{},"资料",[120,3039,3040],{},"链接",[127,3042,3043,3054,3064,3074,3085,3095,3106],{},[117,3044,3045,3048],{},[132,3046,3047],{},"vxe-table 仓库",[132,3049,3050],{},[242,3051,3052],{"href":3052,"rel":3053},"https:\u002F\u002Fgithub.com\u002Fx-extends\u002Fvxe-table",[246],[117,3055,3056,3059],{},[132,3057,3058],{},"vxe-table v4 · span-method",[132,3060,3061],{},[242,3062,244],{"href":244,"rel":3063},[246],[117,3065,3066,3069],{},[132,3067,3068],{},"vxe-table v4 · merge-header-cells",[132,3070,3071],{},[242,3072,253],{"href":253,"rel":3073},[246],[117,3075,3076,3079],{},[132,3077,3078],{},"vxe-table · Issue #1602（表头合并讨论）",[132,3080,3081],{},[242,3082,3083],{"href":3083,"rel":3084},"https:\u002F\u002Fgithub.com\u002Fx-extends\u002Fvxe-table\u002Fissues\u002F1602",[246],[117,3086,3087,3090],{},[132,3088,3089],{},"MDN · colspan",[132,3091,3092],{},[242,3093,2440],{"href":2440,"rel":3094},[246],[117,3096,3097,3100],{},[132,3098,3099],{},"MDN · rowspan",[132,3101,3102],{},[242,3103,3104],{"href":3104,"rel":3105},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fzh-CN\u002Fdocs\u002FWeb\u002FHTML\u002FAttributes\u002Frowspan",[246],[117,3107,3108,3111],{},[132,3109,3110],{},"Vue 3 · 插槽",[132,3112,3113],{},[242,3114,2450],{"href":2450,"rel":3115},[246],[3117,3118,3119],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sucvu, html code.shiki .sucvu{--shiki-light:#E53935;--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .svtyB, html code.shiki .svtyB{--shiki-light:#39ADB5;--shiki-light-font-style:inherit;--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}",{"title":302,"searchDepth":315,"depth":315,"links":3121},[3122,3123,3124,3125,3127,3131,3132,3133,3134],{"id":28,"depth":315,"text":28},{"id":99,"depth":315,"text":99},{"id":415,"depth":315,"text":415},{"id":1469,"depth":315,"text":3126},"子组件 ExecutePriceDialogItem",{"id":2512,"depth":315,"text":2512,"children":3128},[3129,3130],{"id":2515,"depth":321,"text":2516},{"id":2606,"depth":321,"text":2607},{"id":2853,"depth":315,"text":2853},{"id":2885,"depth":315,"text":2885},{"id":2957,"depth":315,"text":2958},{"id":3028,"depth":315,"text":3028},{"title":8,"description":9},"knowledge\u002Fteam-documents\u002F01","knowledge\u002Fknowledge\u002Fteam-documents\u002F01.md","md",{"items":3140},[3141,3145,3149,3153,3157,3161],{"path":3142,"title":3143,"description":3144,"category":10,"score":374},"\u002Fknowledge\u002Fteam-documents\u002F19","GridView 宫格加载渲染优化","系统首页 GridView 宫格模块接口耗时不高，但首次进入总耗时接近 22s。复盘耗时分层定位过程、代码层面的瓶颈（约 2000 行、100 个 tab 重复节点）、优化手段与最终指标对比。",{"path":3146,"title":3147,"description":3148,"category":10,"score":374},"\u002Fknowledge\u002Fteam-documents\u002F21","vxe-table 行 Hover 联动高亮","近期需求是双表格联动高亮：",{"path":3150,"title":3151,"description":3152,"category":10,"score":374},"\u002Fknowledge\u002Fteam-documents\u002F08","属性排序需求","需要实现属性的拖拽排序； 2. 支持同级子项排序，但禁止跨容器拖拽。 例如：A 容器内的项不能拖到 B 容器，只能在 A 容器内部调整顺序（B 容器同理）。",{"path":3154,"title":3155,"description":3156,"category":10,"score":374},"\u002Fknowledge\u002Fteam-documents\u002F05","内部插件 \u002F 工具库开发实践","在企业前端项目中，utils、hooks、libs 这类通用能力通常分散在多个仓库，常见问题包括：",{"path":3158,"title":3159,"description":3160,"category":10,"score":357},"\u002Fknowledge\u002Fteam-documents\u002F13","新商家系统性能优化实践","商家系统新版本上线后，团队持续针对构建效率与用户体验做了一轮系统性优化。本文记录核心方案与落地结果，供后续版本复用。",{"path":3162,"title":3163,"description":3164,"category":10,"score":357},"\u002Fknowledge\u002Fteam-documents\u002F04","老系统升级与兼容改造实践","公司原有业务系统采用 Node + jQuery 架构，长期运行后暴露出典型遗留系统问题：",{"series":3166,"title":3167,"items":3168,"index":3242,"prev":3243,"next":3244},"team-documents","team documents",[3169,3170,3174,3178,3180,3182,3186,3190,3192,3196,3200,3204,3208,3210,3214,3218,3222,3226,3230,3232,3236,3238],{"path":7,"title":8,"date":16,"pinned":17},{"path":3171,"title":3172,"date":3173,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F02","防篡改水印","2024-01-09",{"path":3175,"title":3176,"date":3177,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F03","键盘弹起导致底部被顶起问题（H5 适配）","2024-09-17",{"path":3162,"title":3163,"date":3179,"pinned":17},"2024-12-12",{"path":3154,"title":3155,"date":3181,"pinned":17},"2021-08-19",{"path":3183,"title":3184,"date":3185,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F06","企业微信与小程序工单问题","2025-10-01",{"path":3187,"title":3188,"date":3189,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F07","企业微信群工具打开缓慢原因分析","2020-04-12",{"path":3150,"title":3151,"date":3191,"pinned":17},"2024-06-16",{"path":3193,"title":3194,"date":3195,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F09","同业主重复单提醒规则","2020-06-07",{"path":3197,"title":3198,"date":3199,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F10","图片上传前的自定义水印实践","2021-06-10",{"path":3201,"title":3202,"date":3203,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F11","系统下单（重复单提示框）异常复盘","2023-11-21",{"path":3205,"title":3206,"date":3207,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F12","系统自动更新说明","2025-05-26",{"path":3158,"title":3159,"date":3209,"pinned":17},"2025-04-08",{"path":3211,"title":3212,"date":3213,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F14","选项卡切换与 Loading 状态封装","2019-11-03",{"path":3215,"title":3216,"date":3217,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F15","移动端返回事件触发两次问题复盘","2021-03-09",{"path":3219,"title":3220,"date":3221,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F16","在线协作表格接入实践","2023-10-27",{"path":3223,"title":3224,"date":3225,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F17","支付中转页面升级实践","2022-10-15",{"path":3227,"title":3228,"date":3229,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F18","中英文输入法下搜索触发冲突复盘","2024-09-01",{"path":3142,"title":3143,"date":3231,"pinned":17},"2026-03-17",{"path":3233,"title":3234,"date":3235,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F20","H5 GPS 定位问题说明","2023-08-31",{"path":3146,"title":3147,"date":3237,"pinned":17},"2024-08-31",{"path":3239,"title":3240,"date":3241,"pinned":17},"\u002Fknowledge\u002Fteam-documents\u002F22","企业微信 uni-app H5：OAuth 回退白屏与列表缓存","2023-08-17",0,null,{"path":3171,"title":3172,"date":3173,"pinned":17}]