tml5實現全選按鈕,及統計所選擇商品的總價并輸出
現有一個商品選擇列表(復選框),HTML代碼及效果如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>
<body>
<div>商品列表</div>
<input type="checkbox" name="item" value="3000" />筆記本電腦<br/>
<input type="checkbox" name="item" value="3000" />筆記本電腦<br/>
<input type="checkbox" name="item" value="3000" />筆記本電腦<br/>
<input type="checkbox" name="all" οnclick="checkAll(this)" />全選<br/>
<input type="button" value="總金額:" οnclick="getSum()" /><span id="sumid"></span>
</body>
</html>
要求1:實現checkAll(this)函數。作用:通過選擇/取消選擇全選項目能夠實現對所有項目的選擇/取消。
提示:checked 屬性規定在頁面加載時應該被預先選定的 input 元素。
checked 屬性 與 <input type="checkbox"> 或 <input type="radio"> 配合使用。
checked 屬性也可以在頁面加載后,通過 JavaScript 代碼進行設置。
要求2:實現getSum()函數。作用:統計所選擇商品的總價并輸出在span區域。
js簡單實現商品數量的選購、小計的計算以及總的價錢數、總的商品數量等一系列操作。代碼如下:
題設的主體HTML代碼如下:(以作事例)
反思:上述代碼添加點擊事件獲取商品的總價錢數以及總的商品數量,可能增加了用戶負擔。需要改進
此時總的商品件數和商品總計會隨用戶的商品選擇進行實時改變。
,走進報價系統的繽紛世界
1,什么是報價系統
在 “新零售”,“智能制造”,“大數據分析”等概念不斷的演進下,已經廣泛的應用于商業,制造等領域。本文提到的報價系統,就屬于“新零售”的一個重要組成部份。以前,很多傳統企業都是先做市場調研,然后量產一批商品進行售賣,由于市場調研的不準備性,容易造成庫存積壓。針對這樣的問題,經過市場的實踐,提出了一種按需生產的理論,即需要什么就生產什么。
企業若要按需生產,就會面臨著更多的挑戰。
例如:一個快銷品公司需要一批包裝盒,聯系幾家印刷包裝廠,提出了自己包裝盒的個性化需求,然要求印刷包裝廠商進行報價。而這些印刷包裝廠,報價時會面臨如下的問題:
a,報價涉及到產品設計,采購物料,工序工藝等多個環節,等多個部門協調后再報出一個價格,時效性 跟不上。
b,多家工廠在競爭這個訂單,價格因素 至關重要。
c,報價前需弄清楚產品的設計,用料,工藝,結構才能進行報價。對報價人員的專業知識要求高。
d,報價會涉及到一個產品的方方面面,當量為1個產品時誤差較小,當量為10萬個產品,100萬個產品時,誤差就會被無限放大。
e,報價人員很難跨行業,跨產品進行報價。
面臨著如此多的風險與問題,稍有不慎就很難有利潤和惹上法律風險。
2,報價系統適用于什么領域
a,家具行業:業主訂制的家具大小,顏色,材質,工藝都不一樣,銷售人員通過軟件報價是一件非常愉悅的事。
b,按需生產的工廠:一個制衣廠接到某網店1萬件工服的訂單,制衣廠能在一分鐘內報出價格,從時效性來講具有很大的競爭力。
c,高端汽車訂制:如某個客戶訂制一臺房車,動力,內飾等因素直接影響到房車的價格,如果有一款專業軟件為客戶報價,體現了汽車廠商的專業性。
d,印刷包裝行業:印刷包裝行業覆蓋的知識面廣,專業性強,利用報價軟件可以降低專業技能門檻。
如此多的領域,行業都需要一個報價軟件,我們是否可以用IT信息化來解決這一痛點呢?答案當然是肯定的!
二,分解一個產品BOM
1,如何分解一個實體
對一個產品進行報價,就不得不提產品BOM,產品BOM與生產BOM有相似性也有差異性。能否正解分解一個產品BOM,是報價的關鍵因素?,F在以一個盒子為例進行分解:
我們可以看到這個盒子,是由5個部份組成,它們分別是 天盒,地盒,內托1,內托2,說明書組成。
2, 把實體BOM轉換為產品BOM
這個產品是由5個部份組成,每一個部份我都都稱之為部件,每個部件又可能由多個子部件組成。 本文以"天盒部件"為例進行說明。
天盒:包括了天盒面紙,天盒灰板兩個子部件。天盒面紙,又需要不同的物料,不同的工序進行生產。就像一顆樹一樣,層次越深枝葉就越多。稱這種結構叫BOM樹,詳見圖列:
三,根據產品BOM進行計價
1,產品的總價
產品價格 = 天盒部件價格 + 地盒部件價格 + 內托1價格 + 內托2價格 + 說明書價格 + 裝配工序費 + 包裝費 + 運輸費。
以這個盒子為例,這個盒子的價格,是由5個部件的價格相加成成,這兒不考慮裝配,包裝,運輸費用等因素。
2,部件價格
要計算產品的總價,就需要計算每個部件的價格?,F在以天盒為例進行部件分解:
天盒部件,包含天盒面板,天盒灰板兩個子部件,這兒就涉及到部件嵌套部件了,子部件還可以嵌套孫部件,以此類推,無限嵌套。
3,部件物料(品牌規格)
“巧婦難為無米之炊”,生產一個天盒需要原紙,油墨等物料(不考慮掛件的情況)。
采購什么樣的原紙呢,“理文原紙”,“玖龍原紙”,在用戶沒有要求品牌的情況下,必須有一個品牌的選擇。原紙又采用什么克重,什么顏色的紙呢?又有一個紙張規格的選擇。
油墨也是如此,品牌,規格不同,都直接決定了生產成本。
4,部件工序(生產方式選擇)
1,工廠能印刷這種天盒的機器有多種,比如:膠印,UV印刷,數碼印刷。選擇那種機器生產,僅憑經驗來決定面臨著具大的風險。選擇了生產機器,又對物料的上機規格有一定的約束。
2,又比如燙金:選擇滿版燙金,還是選擇局部燙金(局部燙金的面積),那種更省錢?如此多的選擇,如此多的組合,確實讓報價員頭痛。
從的情況來看, 生產天盒部件,不管是在物料上,還是在工序上都有相當多的選擇。這些不同的選擇就開有成了不同的價格組合。
理論上,只要找到最低的價格組合,報出來的價格就具有絕對的競爭優勢。
5,報價組合
以一個產品為例:報一個“主盒”部件的價格,物料的選擇,印刷機的選擇,工序的選擇,形成了N種方案可以生產這個部件,每種方案就是一個組合,并且可以看到每個組合的明細信息。
理論上只要選出最低報價組合,就是最優方案。
四,報價受外圍因素的影響
1,物料拼版的影響
在生產盒子,家具,或者衣服的時候,展開尺寸一般都是不規則圖形。在裁剪物料的時候,拼版算法的差異會直接影響到價格。如下圖,在相同的物料面積下,左邊的矩形拼版只能拼接9個產品,右邊的不規則圖形拼版,可以拼接12個產品。顯然右邊的拼版算法更省料更省錢。
2,損耗影響
生產一個產品,在工序上,物料上都會產生損耗,如何控制到最低損耗,也是降低成本的一個關鍵。
3,階梯價
因為現在都是工業化的量產,受到打模成本原因等影響,數量越大,折扣率會越高。
4,包裝運輸的影響
對產品對行包裝運輸時,采用何種包裝方式,何種運輸方式可以節約成本,都是報價系統應該考慮的問題。這兒不詳細展開描述,可以聯系作者進行私下交流。
五,技術實現
1,技術棧介紹
在開發這個軟件前,我想了很久,是用.net技術棧來開發,還是用java技術棧來開發??紤]到這個.net版本更新大,開發社區不完善等問題。最后我選擇了java來進行開發。
現在已經過了炫技術的年齡了,我采用了比較簡單而穩定的技術棧來進行,如下:
數據庫:mysql
服務端:spring boot + mybatis + alibabacloud + redis 技術棧
客服端:html5 + css3 + vue.js + element ui 前端框架
2,功能演示(產品BOM維護,計算公式設定)
1,后端主要分為【物料管理】,【工序管理】,【產品分類】,【產品BOM】管理四個模塊
產品BOM,是可以支持無限級配置:
每種物料,工序計價公式的定義(公式的定義:支持Javascript語法公式)
3,功能演示(報價前端)
用戶只需要輸入產品的尺寸,工序,參數等相關屬性,報價系統即時計算出產品價格(計算時間控件在0.2秒左右)。
具體的技術實現,另開博客分享。需了解技術實現的,可聯系作者(v信:xichji)
六:對報價行業有需要深入了解的,可以私信。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。