客戶管理頁(yè)面中蓝仲,可以對(duì)所有客戶進(jìn)行展示和編輯赦政。
實(shí)際業(yè)務(wù)中,頁(yè)面可能要求僅展示重要客戶或者我負(fù)責(zé)的客戶等泳叠。
那么應(yīng)該怎么做呢作瞄?還記得我們用過的數(shù)據(jù)引用公式 ds.xx
嗎?
ds
:頁(yè)面定義的 數(shù)據(jù) 危纫,這里表示所有客戶記錄的數(shù)據(jù)集宗挥。
ds.手機(jī)
: 客戶數(shù)據(jù)集 ds 的 手機(jī)字段。
ds.聯(lián)系人
: 客戶數(shù)據(jù)集 ds 的 聯(lián)系人字段种蝶。
所以如果我們想讓頁(yè)面僅按照我們的要求進(jìn)行篩選的話契耿,那么就想辦法讓 ds 不代表所有數(shù)據(jù),而是按照業(yè)務(wù)要求篩選后的數(shù)據(jù)
1.頁(yè)面數(shù)據(jù)的定義
我們用 簡(jiǎn)單列表 模板生成一個(gè)客戶管理頁(yè)面螃征,然后打開 頁(yè)面視圖搪桂,左下角就是 頁(yè)面數(shù)據(jù) 面板。
可以看到這個(gè)模板生成的管理頁(yè)面定義了兩個(gè) 頁(yè)面數(shù)據(jù) : ds 和 me ,我們點(diǎn)擊 ds 右邊的 齒輪 進(jìn)入數(shù)據(jù)的配置窗口盯滚。
名稱(ds):數(shù)據(jù)的名稱踢械。公式里通過名稱使用這個(gè)數(shù)據(jù)的信息酗电。
-
類型(數(shù)據(jù)集):數(shù)據(jù)的類型。數(shù)據(jù)的類型包括:
- 記錄:數(shù)據(jù)表中的一條記錄内列,一般用于編輯或者詳情頁(yè)面撵术。例如編輯頁(yè)面中的
it
就是客戶的記錄,表示客戶表的一個(gè)客戶德绿。 - 數(shù)據(jù)集:數(shù)據(jù)表中的多條記錄組成的集合荷荤,一般用于列表頁(yè)面。例如本頁(yè)面中
ds
就是客戶的數(shù)據(jù)集移稳,表示客戶表的多個(gè)客戶蕴纳。 - 整數(shù),數(shù)值个粱,字符串(文本)古毛,是非項(xiàng)(是還是否)等普通類型。
- 數(shù)組:例如[1,3,5]就是由3個(gè)數(shù)組成的數(shù)組都许。
- 記錄:數(shù)據(jù)表中的一條記錄内列,一般用于編輯或者詳情頁(yè)面撵术。例如編輯頁(yè)面中的
泛型(客戶):數(shù)據(jù)的類型參數(shù)稻薇,類型是 記錄 或者 數(shù)據(jù)集 時(shí)必須配置的,因?yàn)榉盒捅硎揪烤故悄膫€(gè)數(shù)據(jù)表的數(shù)據(jù)集/記錄胶征。例如這里就表示 ds 是客戶的數(shù)據(jù)集塞椎。
簡(jiǎn)單介紹剩下2個(gè)參數(shù):用途 :表示數(shù)據(jù)是用于后端還是前端瀏覽器中,一般都是后端睛低。保存 :表示這條數(shù)據(jù)在頁(yè)面上修改后是否回存數(shù)據(jù)案狠。
試試看
- 修改 ds 的名稱,改為 ds2 钱雷,看看會(huì)發(fā)生什么骂铁。(答案:頁(yè)面上的公式
ds.xx
變成了ds2.xx
。query.ds.xx
變成了query.ds2.xx
)- 修改 ds 的泛型罩抗,改為 用戶 ,看看會(huì)發(fā)生什么拉庵,你能把頁(yè)面上的錯(cuò)誤都改掉嗎?
2.頁(yè)面數(shù)據(jù)的公式
初始化函數(shù)(公式)是頁(yè)面數(shù)據(jù)最重要的公式套蒂。頁(yè)面數(shù)據(jù)就是執(zhí)行這個(gè)公式钞支,得到的結(jié)果。
在數(shù)據(jù)集的初始化函數(shù)中的參數(shù):
- 篩選條件:表示數(shù)據(jù)表中篩選的條件操刀。
??需要配置一個(gè)返回是非項(xiàng)(是還是否伸辟,真還是假,true or false)的公式馍刮。數(shù)據(jù)集將由數(shù)據(jù)表中篩選條件最后判斷為true(真)的記錄組成。
??篩選條件為空或者為true表示不篩選窃蹋,獲得所有數(shù)據(jù)卡啰。- 排序參數(shù):表示數(shù)據(jù)集按照什么字段排序静稻。
["id"]
: 按照id順序["-id"]
: 按照id逆序["重要度","性別"]
:先按照字典項(xiàng)重要度順序(一般,重要匈辱,非常重要)振湾,然后按照性別順序(男,女)亡脸。["-重要度","性別","-提交時(shí)間"]
:先按照字典項(xiàng)重要度逆序(非常重要押搪,重要,一般)浅碾,然后按照性別(男大州,女),最后按照提交時(shí)間逆序(提交時(shí)間晚的在前面)
3.系統(tǒng)數(shù)據(jù) me
me是系統(tǒng)定義的頁(yè)面數(shù)據(jù)垂谢,表示用戶表中厦画,當(dāng)前登錄的用戶的記錄。
可以看到篩選條件是去用戶表查找 id 等于 參數(shù)me_id 的記錄滥朱。
@me_id是一個(gè)系統(tǒng)參數(shù)根暑,表示當(dāng)前登錄用戶的id。
在格子中寫一些me的公式徙邻,運(yùn)行試試:
-
me.id
:當(dāng)前用戶的id排嫌。 -
me.名稱
:當(dāng)前用戶的名稱。 -
me.部門
:當(dāng)前用戶的部門(部門的id)缰犁。 -
me.部門.名稱
:當(dāng)前用戶所在的部門的名稱淳地。 -
me.部門.主管
:當(dāng)前用戶所在的部門的主管(用戶的id)。 -
me.部門.主管.名稱
:當(dāng)前用戶所在的部門主管的名稱民鼓。
4.根據(jù)需求給 ds 配置篩選條件薇芝。
-
需求:篩選出非常重要的客戶。
篩選條件欄配置為table.客戶.重要度==Dict.重要度.非常重要
丰嘉。表示在客戶表中夯到,篩選出 字段 **重要度 為 非常重要 的客戶table.客戶.重要度
:數(shù)據(jù)表 客戶 的重要度 字段。(和ds.重要度
的不同 )
==
:判斷等號(hào)左右兩邊是否相等饮亏,注意是“==” 而不是 “=”耍贾,這點(diǎn) 和Excel不同。
Dict.重要度.非常重要
:字典項(xiàng) 重要度 非常重要的值路幸。 按照字典項(xiàng) 重要度的 定義荐开,“非常重要”是 3。為什么不直接寫3晃听?可以通過公式提示來(lái)避免記憶出錯(cuò)
將來(lái)如果修改或刪除了該項(xiàng),平臺(tái)會(huì)自動(dòng)提示。 需求:篩選出我的客戶能扒。
篩選條件欄配置為table.客戶.聯(lián)系人==me.id
佣渴。表示在客戶表中,篩選出 字段 聯(lián)系人 等于 當(dāng)前用戶的 id初斑。需求:篩選出不是我的客戶辛润。
篩選條件欄配置為table.客戶.聯(lián)系人!=me.id
见秤。表示在客戶表中砂竖,篩選出 字段 聯(lián)系人 不等于 當(dāng)前用戶的 id。
需求:篩選出我所在的部門的客戶鹃答。
篩選條件欄配置為table.客戶.聯(lián)系人.部門==me.部門
乎澄。需求:篩選出我管理的部門的客戶。
篩選條件欄配置為table.客戶.聯(lián)系人.部門==me.部門
挣跋。-
需求:篩選出提交時(shí)間為今天的客戶三圆。
篩選條件欄配置為table.客戶.提交時(shí)間 > = Date.today() && table.客戶.提交時(shí)間 < Date.today().addDay(1)
。表示提交時(shí)間大于等于當(dāng)前日期(0點(diǎn))避咆,小于明天(0點(diǎn))舟肉。Date.today()
: 當(dāng)前日期(0點(diǎn))。
addDay(1)
: 日期往后一天查库。 -
需求:篩選出1個(gè)小時(shí)內(nèi)提交的非常重要的客戶路媚。
篩選條件欄配置為table.客戶.提交時(shí)間 >= Date.now().addHoure(-1) && table.客戶.重要度==Dict.重要度.非常重要
。表示提交時(shí)間大于等于一個(gè)小時(shí)前樊销,并且重要度是非常重要的客戶整慎。Date.now()
: 當(dāng)前時(shí)間(精確到毫秒)。
addHour(-1)
: 時(shí)間往前一個(gè)小時(shí)围苫。
&&
: and 關(guān)系裤园,只有當(dāng)符號(hào)左右都為true(真)的時(shí)候,才返回true(真)剂府。也就是這兩個(gè)條件都要滿足拧揽。
5.看看界面配置背后是什么。
在初始化配置頁(yè)面的右方腺占,有一個(gè)高級(jí)按鈕淤袜,我們點(diǎn)擊可以看到,原來(lái)我們配置的是一個(gè)公式衰伯。table.客戶.find(table.客戶.聯(lián)系人==me.id,["-id")]
铡羡。這個(gè)公式按照我們配置的篩選條件,產(chǎn)生客戶數(shù)據(jù)集意鲸。
table.客戶
:表示在客戶表查詢烦周。
table.客戶.聯(lián)系人==me.id
是我們剛才配置的篩選條件尽爆。
["-id"]
是我們配置的排序條件。
所以也直接寫公式读慎。特別是一些復(fù)雜的教翩,例如使用 if(條件語(yǔ)句)的,就只能直接寫公式的贪壳。
這一章我們用公式實(shí)現(xiàn)數(shù)據(jù)篩選,初步領(lǐng)略到公式的強(qiáng)大和便捷蚜退。想要更好的開發(fā)闰靴,是離不開公式的,下一章我們將會(huì)介紹各種常見公式钻注。
- 展示相關(guān)表的字段蚂且,或者根據(jù)相關(guān)表的字段查詢。例如根據(jù)聯(lián)系人所在部門進(jìn)行查詢幅恋。
附錄:頁(yè)面數(shù)據(jù)的其他兩個(gè)屬性的作用(后面會(huì)詳解)
使用時(shí)機(jī)(后端):該數(shù)據(jù)是在后端生成頁(yè)面的時(shí)候用杏死,還是在前端瀏覽器里使用,除非特殊介紹捆交,一律默認(rèn)為“后端”淑翼。
保存(是):表示頁(yè)面上展示的數(shù)據(jù)修改后,是否還要保存回?cái)?shù)據(jù)庫(kù)品追。是表示會(huì)回存玄括。(這里因?yàn)轫?yè)面不可編輯,并且沒有保存按鈕肉瓦,所以沒有實(shí)際效果遭京,但編輯頁(yè)面里我們可以看到 頁(yè)面數(shù)據(jù)
it
是可以回存的)