工作中遇到解决不了的需求应该怎么办呢?

137 天前
 snimstice

刚入职新公司不久,最近公司作为乙方接了个项目,需求是甲方产品经理出的
有一个需求是把大小不等的卡片(卡片的尺寸是/[123]*[123]/(这个是正则))拖拽放入一个 33 宫格的页面中,比如拖拽的卡片尺寸可能是:13,21....等等等等。如果拖拽的不是 11 的卡片,则需要在 3*3 的宫格中找到可以放置卡片的相邻宫格,并把这些相邻宫格合并起来然后放置卡片。
弄了两天,尝试了 react-grid-layout 、react-dnd ,好像都没有现成的方案,而且现在也没有思路去解决
项目的交付时间在 7.31 日,时间非常紧,正常开发也需要周末也加班才能完成
要继续尝试解决还是找到 leader 说明问题,或者跟甲方产品经理沟通换种交互方式?
请问这种情况应该怎么办呢? 或者有大佬做过类似需求可以给我点思路吗?

4454 次点击
所在节点    职场话题
37 条回复
CloudMx
136 天前
向上反馈.
feiyan35488
136 天前
@CloudMx 要学会向上管理
piecezzz
136 天前
最忌讳的是自己死抗,你解决不了的问题要摇人一起看看。并不是抛出去,你还是得主导这个问题,让同事给建议和指导。
MRG0
136 天前
我现在做的就是类似的需求,vue-grid-layout 搞了好久。实在不行就修他源码
shawnsh
136 天前
产品真正的意图你理解了吗?产品抄的哪家的功能?具体难点是啥?能否让产品换个容易点的方案
Sawyerhou
136 天前
需求没完全看懂,不能确定理解的对不对,
建议 op 以后发帖稍微排版一下。

可以试试穷举法,一共就 9 宫格,可能性非常有限,全部列出来不难。

所有卡片总面积超过 9 一定放不下。

面积为 2x2=4 ,2x3=6 ,3x3=9 的大尺寸卡片,
超过 1 个肯定放不下。

面积为 1x3=3 ,1x2=2 ,1x1=1 的小尺寸卡片,
一定能放下。

先判断能否放进去,
如果能再判断是否有大尺寸卡片,
如果有先把大尺寸卡片放入,
然后放小尺寸卡片。
murmur
136 天前
这需求我们几年前就做完了,只不过我们做的不是最优解,我们的卡片也只有 1x1 1x2 2x1 三种尺寸,而且 1x1 占 80%以上
Steven9906
136 天前
就是像一个背包整理功能吗?
Sawyerhou
136 天前
@Sawyerhou 突然反应过来,你是不是想让大家推荐合适的 QT 和 UI 包?
iOCZS
136 天前
这种不得用绝对布局么?
meeop
136 天前
一共就 9 个格子,用 js 遍历一遍计算放置位置
布局的话,网格布局应该可行,比如 2*2 的卡片就要把放置位置的格子连起来,网格布局支持的,不行就暴力一点用绝对布局,一共也就 9 个格子需要设置位置呀
dongzhuo777
136 天前
看起来好像游戏里面的背包整理。就是有空格的自动合并然后能塞满。。好像很多游戏里面的都有这个功能。
这种肯定有成熟的算法,问 gpt 吧。
showonder
136 天前
这个设计不算不合理,只是你没做过,不知道怎么做需要更长时间
一和上级沟通技术方案和项目时间
二和甲方沟通需求难度和对项目的负面影响,并提供相似的备选方案
yongp
136 天前
解决不了问题,就把提出问题的人解决掉
tianzi123
136 天前
可以自己用类原生操作 dom 手写,不过费时间
seeu2ex
136 天前
@tool2dx 最怕的就是这种,最后搞得天天加班
otakustay
136 天前
本质上这是个纯数据结构问题,不要考虑界面怎么做,先用二维数组之类的结构,把算法实现了。我个人是觉得做做这种东西挺好的,锻炼自己的逻辑能力,也不是什么高深的玩意

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1057910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX