| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- const currency = require("../../../../../utils/currency"),
- CNY = value => currency(value, {
- symbol: "¥",
- precision: 2
- }).format();
- Component({
- properties: {
- list: Array,
- deleteItem: Function,
- changeQueue: Function, //修改队列
- disabled: Boolean
- },
- options: {
- addGlobalClass: true
- },
- methods: {
- onBlur(e) {
- let {
- index,
- name
- } = e.currentTarget.dataset,
- detail = name == 'qty' ? e.detail.value - 0 : (e.detail.value - 0).toFixed(2),
- item = this.data.list[index];
- if (item[name] == detail) return;
- item[name] = currency(detail).value;
- if (name == 'price') {
- if (item.price > item.marketprice) item.price = item.marketprice
- if (item.price <= 0) item.price = 1
- item.discountrate = this.getPercent(item.price, item.marketprice).toFixed(2);
- } else if (name == 'discountrate') {
- if (item.discountrate > 100) item.discountrate = 100;
- if (item.discountrate <= 0) item.discountrate = 1;
- item.price = currency(item.marketprice).multiply((item.discountrate / 100)).value;
- }
- item.showAmount = CNY(currency(item.price).multiply(item.qty));
- item.amount = currency(item.price).multiply(item.qty).value;
- item.discountDifferenceAmount = CNY(currency(item.price).subtract(item.minPrice));
- this.setData({
- [`list[${index}]`]: item
- })
- let obj = {};
- ["sa_quotedprice_itemsid", "itemid", "price", "discountrate", "qty", "mindiscountrate", "discountDifferenceAmount", "amount"].forEach(v => obj[v] = item[v]);
- obj.discountrate = (obj.discountrate / 100).toFixed(4);
- this.triggerEvent("changeQueue", obj)
- },
- /* 计算百分比 */
- getPercent(num, total) {
- num = parseFloat(num);
- total = parseFloat(total);
- if (isNaN(num) || isNaN(total)) {
- return "-";
- }
- return total <= 0 ? "0%" : Math.round((num / total) * 10000) / 100;
- },
- deleteProduct(e) {
- const {
- sa_quotedprice_itemsid,
- itemname
- } = e.currentTarget.dataset.item,
- that = this;
- wx.showModal({
- title: '提示',
- content: `是否确认删除“${itemname}”?`,
- complete: ({
- confirm
- }) => {
- if (confirm) that.triggerEvent("deleteItem", [sa_quotedprice_itemsid]);
- }
- })
- },
- }
- })
|