transaction insights dialog.

This commit is contained in:
2023-10-25 15:47:27 -07:00
parent 506d2ac782
commit 351864da1b
2 changed files with 42 additions and 36 deletions

File diff suppressed because one or more lines are too long

View File

@@ -55,7 +55,7 @@
[(>= ?d ?starting)]] [(>= ?d ?starting)]]
:args [(dc/db conn) :args [(dc/db conn)
(iol-ion.query/recent-date 120) (iol-ion.query/recent-date 300)
(map :db/id clients) (map :db/id clients)
pull-expr]}) pull-expr]})
@@ -242,34 +242,40 @@
(com/modal {} (com/modal {}
(com/modal-card {:style {:width "900px"}} (com/modal-card {:style {:width "900px"}}
[:div.flex [:div.p-2 "Similar Transactions"]] [:div.flex [:div.p-2 "Similar Transactions"]]
[:table.w-full (com/data-grid {:headers [(com/data-grid-header {:name "Date"
[:thead :key "date"})
[:tr (com/data-grid-header {:name "Description"
[:td "Date"] :key "description"})
[:td "Description"] (com/data-grid-header {:name "Amount"
[:td "Amount"] :key "amount"})
[:td "Vendor"] (com/data-grid-header {:name "Vendor"
[:td "Account"] :key "vendor"})
[:td "Score"]]] (com/data-grid-header {:name "Account"
[:tbody :key "account"})
[:tr (com/data-grid-header {:name "Score"
[:th.text-left (some-> r :transaction/date coerce/to-date-time (atime/unparse-local atime/normal-date))] :key "score"})]}
[:th.text-left (-> r :transaction/description-original)]
[:th.text-left (if (> (-> r :transaction/amount) 0.0) (com/data-grid-row {:class "bg-primary-200"}
(com/data-grid-cell {:class "text-left font-bold"} (some-> r :transaction/date coerce/to-date-time (atime/unparse-local atime/normal-date)))
(com/data-grid-cell {:class "text-left font-bold"} (-> r :transaction/description-original) )
(com/data-grid-cell {:class "font-bold"} (if (> (-> r :transaction/amount) 0.0)
[:div.tag.is-success.is-light (str "$" (Math/round (:transaction/amount r)))] [:div.tag.is-success.is-light (str "$" (Math/round (:transaction/amount r)))]
[:div.tag.is-danger.is-light (str "$" (Math/round (:transaction/amount r)))])] [:div.tag.is-danger.is-light (str "$" (Math/round (:transaction/amount r)))]))
[:th] (com/data-grid-cell {})
[:th] (com/data-grid-cell {})
[:th.text-left]] (com/data-grid-cell {}))
(com/data-grid-row {}
(take 10 (take 10
(for [{:keys [amount date description vendor-name numeric-code score]} similar] (for [{:keys [amount date description vendor-name numeric-code score]} similar]
[:tr (com/data-grid-row
[:td (subs date 0 10)] {}
[:td description] (com/data-grid-cell {:class "text-left"} (subs date 0 10))
[:td (some->> amount double (format "$%.2f"))] (com/data-grid-cell {:class "text-left"} description )
[:td vendor-name] (com/data-grid-cell {} (some->> amount double (format "$%.2f")))
[:td numeric-code] (com/data-grid-cell {} vendor-name)
[:td (format "%.1f%%" (* 100 (double score)))]]))]] (com/data-grid-cell {} numeric-code)
(com/data-grid-cell {} (format "%.1f%%" (* 100 (double score)))))))))
[:div]))))) [:div])))))
(defn transaction-rows* [{:keys [clients identity after]}] (defn transaction-rows* [{:keys [clients identity after]}]