| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- const Constants = require('@/utils/Constants.js');
- const util = require('@/utils/util.js')
- const mixins = require('@/mixins/index.js')
- Page({
- mixins: [mixins],
- /**
- * 页面的初始数据
- */
- data: {
- returnTotalAmount: 0,
- allChecked: false,
- // 路由
- routeObjName: 'inbound',
- tableData: [],
- choooseInboundItemList: [],
- },
- /**
- * @desc : 加载数据源
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- getData(params) {
- return this.excute(this.data.service, this.data.service.selectInboundAndItem, params);
- },
- /**
- * @desc : 父级商品信息选择
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- onListItemChange(e) {
- let tableData = this.data.tableData
- let index = e.currentTarget.dataset.index
- tableData[index].checked = !tableData[index].checked
- let inboundItemList = tableData[index].inboundItemList
- if (inboundItemList && inboundItemList.length > 0) {
- inboundItemList.forEach(res => {
- res.checked = tableData[index].checked
- })
- }
- this.setData({
- tableData: tableData
- })
- this.calculateTotal()
- },
- /**
- * @desc : 子级商品信息选择
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- onChangeItemCheckbox(e) {
- let tableData = this.data.tableData
- let index = e.currentTarget.dataset.index
- let index_ = e.currentTarget.dataset.index_
- console.log(index, index_)
- tableData[index].inboundItemList[index_].checked = !tableData[index].inboundItemList[index_].checked
- this.setData({
- tableData: tableData
- })
- this.calculateTotal()
- },
- /**
- * @desc : 全退
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- onCheckboxChange(e) {
- console.log(e.detail.checked)
- let checked = e.detail.checked
- let tableData = this.data.tableData
- tableData.forEach(res => {
- res.checked = checked
- if (res.inboundItemList && res.inboundItemList.length > 0) {
- res.inboundItemList.forEach(item => {
- item.checked = checked
- })
- }
- })
- this.setData({
- tableData: tableData
- })
- this.calculateTotal()
- },
- /**
- * @desc : 计算金额/过滤出已选数据
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- calculateTotal() {
- let tableData = this.data.tableData
- let choooseInboundItemList = []
- //过滤出已选数据
- tableData.forEach(res => {
- if (res.inboundItemList && res.inboundItemList.length > 0) {
- res.inboundItemList.forEach(item => {
- if (item.checked) {
- item.itemQty = Number(item.rejectQty * -1)
- item.itemQtyMax = Number(item.rejectQty * -1)
- item.priceReturn = Number(item.priceInto * -1)
- item.itemAmt = Number(item.rejectQty * item.priceInto * -1)
- choooseInboundItemList.push(item)
- }
- })
- }
- })
- let returnTotalAmount = Number(0)
- //计算已选合计金额
- choooseInboundItemList.forEach(res => {
- returnTotalAmount += Number(res.rejectQty * res.priceInto)
- })
- this.setData({
- choooseInboundItemList: choooseInboundItemList,
- returnTotalAmount: returnTotalAmount
- })
- },
- /**
- * @desc : 跳转退货页
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
- toAdd() {
- let choooseInboundItemList = this.data.choooseInboundItemList
- wx.navigateTo({
- url: this.data.route.addReturn.url,
- success: function (res) {
- // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
- res.eventChannel.emit('params', {choooseInboundItemList:choooseInboundItemList})
- }
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- },
- })
|