| | |
| | | export default function footSum(list, field) { |
| | | let count = 0 |
| | | list.forEach(item => { |
| | | count += Number(item[field]) |
| | | if(field.indexOf('.')>-1){ |
| | | let array = field.split('.') |
| | | count += Number(item[array[0]][array[1]]) |
| | | }else { |
| | | count += Number(item[field]) |
| | | } |
| | | }) |
| | | return count.toFixed(2) |
| | | } |
| | |
| | | // 筛选函数 |
| | | const filterChanged = ({ option, row, column }) => { |
| | | if (option.data) { |
| | | return row[column.field].toString().indexOf(option.data) > -1 |
| | | |
| | | if(column.field.indexOf('.')>-1){ |
| | | let array = column.field.split('.') |
| | | console.log(row[array[0]][array[1]]) |
| | | if (row[array[0]][array[1]]==null){ |
| | | return ''.indexOf(option.data) > -1 |
| | | }else { |
| | | return row[array[0]][array[1]].toString().indexOf(option.data) > -1 |
| | | } |
| | | |
| | | }else { |
| | | if (row[column.field]==null){ |
| | | return ''.indexOf(option.data) > -1 |
| | | }else { |
| | | return row[column.field].toString().indexOf(option.data) > -1 |
| | | } |
| | | |
| | | } |
| | | } |
| | | return true |
| | | } |
| | |
| | | |
| | | for (let i=0;i<BasicData.value.length;i++){ |
| | | let aa={field: "json."+BasicData.value[i].OperateType, width: '150',title: BasicData.value[i].OperateTypeName, sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged} |
| | | console.log(aa) |
| | | gridOptions.columns.push(aa) |
| | | |
| | | } |
| | |
| | | filters:[{ data: '' }], |
| | | slots: { filter: 'num1_filter' }, |
| | | filterMethod:filterChanged} |
| | | |
| | | console.log(column) |
| | | gridOption.columns.push(column) |
| | | |
| | | } |
| | |
| | | import useUserInfoStore from "@/stores/userInfo"; |
| | | import {ElMessage} from "element-plus"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | } |
| | | ,//table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['orderDetail.quantity','inventoryQuantity','order.area','receivedQuantity'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | |
| | | if (footList.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | }, |
| | | |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['finishedGoodsInventory.quantityAvailable','finishedGoodsInventory.area'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | if (footList.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | |
| | | import useUserInfoStore from "@/stores/userInfo"; |
| | | import {ElMessage} from "element-plus"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | }, |
| | | |
| | | |
| | | //table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['orderDetail.quantity','deliveryDetail.quantity','warehouseNum','delivery.area'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | |
| | | if (footList.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | }, |
| | | |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['quantity'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | if (footList.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | }, |
| | | |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['quantity'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | if (footList.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | |
| | | custom: true |
| | | }, |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList = ['quantity','area'] |
| | | let footList = ['quantity','area','order.money'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | |
| | | import { useI18n } from 'vue-i18n' |
| | | import OrderOtherMoney from "@/components/sd/order/OrderOtherMoney.vue"; |
| | | import footSum from "@/hook/footSum"; |
| | | import {changeFilterEvent,filterChanged} from "@/hook" |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | |
| | | |
| | | if(res.code==200){ |
| | | pageTotal.value=res.data.total |
| | | console.log(res.data.delivery) |
| | | titleUploadData.value=deepClone(res.data.delivery) |
| | | |
| | | |
| | |
| | | //定义当前页数 |
| | | let pageNum=$ref(1) |
| | | |
| | | const changeFilterEvent = (event, option, $panel) => { |
| | | // 手动触发筛选 |
| | | $panel.changeOption(event, !!option.data, option) |
| | | } |
| | | //前端筛选 |
| | | const filterChanged = ({ option, row, column }) => { |
| | | if (option.data) { |
| | | let param = column.field |
| | | if(param.indexOf(".")>-1){ |
| | | let array = param.split('.') |
| | | return row[array[0]][array[1]].toString().toLowerCase().indexOf(option.data) > -1 |
| | | }else{ |
| | | return row[param].toString().toLowerCase().indexOf(option.data) > -1 |
| | | } |
| | | |
| | | } |
| | | return true |
| | | //@filter-change="filterChanged" |
| | | |
| | | /*gridOptions.loading=true |
| | | //筛选条件发生变化条件发生变化 |
| | | let value = column.datas[0]!=undefined?column.datas[0]:'' |
| | | value = value.trim() |
| | | //判断是否存在外键 |
| | | if (column.property.indexOf('.')>-1){ |
| | | const columnArr = column.property.split('.') |
| | | filterData.value[columnArr[0]] = { |
| | | [columnArr[1]]:value |
| | | } |
| | | }else{ |
| | | filterData.value[column.property] = value |
| | | } |
| | | |
| | | const str = route.query.deliveryID |
| | | if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){ |
| | | filterData.value.deliveryDetail.deliveryId=str |
| | | request.post("/Delivery/getseletShippingOrderDetail/1/100",filterData.value).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | pageTotal.value=res.data.total |
| | | pageNum=1 |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | } |
| | | const orderId = route.query.orderId |
| | | if (typeof orderId !== 'undefined' && orderId !== null && orderId !== '' && orderId !== '\n' && orderId !== '\r'){ |
| | | filterData.value.orderId=orderId |
| | | request.post("/Delivery/getseletShippingOrderDetails/1/100",filterData.value).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | pageTotal.value=res.data.total |
| | | |
| | | pageNum=1 |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.loadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | }*/ |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | custom: true |
| | | }, |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | //let footList=['deliveryDetail.quantity','quantity'] |
| | | let footList=[] |
| | | let footList=['deliveryDetail.quantity','quantity','deliveryDetail.money'] |
| | | //let footList=[] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | |
| | | }) |
| | | |
| | | |
| | | |
| | | const gridEvents = { |
| | | async toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | |
| | | |
| | | Integer getSelectShippingOrderDetailsPageTotal(Integer offset, Integer pageSize,OrderDetail orderDetail); |
| | | |
| | | Boolean insertDeliveryDetail(@Param("orderDetail") OrderDetail orderDetail, @Param("number") String number,@Param("deliveryNumber") Integer deliveryNumber); |
| | | Boolean insertDeliveryDetail(@Param("orderDetail") OrderDetail orderDetail, @Param("number") String number |
| | | ,@Param("deliveryNumber") Integer deliveryNumber,@Param("deliveryDetailMoney") Double deliveryDetailMoney); |
| | | |
| | | Integer getdeliveryDetailmaximum(@Param("deliveryId") String deliveryId); |
| | | |
| | |
| | | //获取对象集合循环进行新增修改 |
| | | if (!orderDetaillist.isEmpty()) { |
| | | for (OrderDetail orderDetail : orderDetaillist) { |
| | | //根据订单计算方式进行金额计算 |
| | | double deliveryDetailMoney = 0.0; |
| | | if (orderDetail.getOrder().getCalculateType()==1){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf(String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000))) |
| | | *orderDetail.getDeliveryDetail().getQuantity()*orderDetail.getPrice())); |
| | | }else if (orderDetail.getOrder().getCalculateType()==2){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf( |
| | | String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000)*orderDetail.getDeliveryDetail().getQuantity()) |
| | | )*orderDetail.getPrice())); |
| | | }else if (orderDetail.getOrder().getCalculateType()==3){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity())); |
| | | |
| | | } |
| | | |
| | | //对循环明细的数据进行累加 |
| | | quantity += orderDetail.getDeliveryDetail().getQuantity(); |
| | | area += orderDetail.getFinishedGoodsInventory().getActualSignalArea() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | money += orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber); |
| | | |
| | | //额外金额修改 |
| | | Map<String,Double> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, Double>>(){}); |
| | | if(otherColumns!=null){ |
| | | otherColumns.forEach((key, value) ->{ |
| | |
| | | } |
| | | |
| | | //新增发货明细数据 |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1); |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney); |
| | | //修改订单明细 |
| | | deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail); |
| | | //修改库存表出库数量 |
| | |
| | | |
| | | <result column="batch" property="order.batch"/> |
| | | <result column="t_quantity" property="order.quantity"/> |
| | | <result column="calculate_type" property="order.calculateType"/> |
| | | |
| | | |
| | | <result column="customer_id" property="delivery.customerId"/> |
| | |
| | | values ( |
| | | #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea}, |
| | | #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity}, |
| | | #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,#{orderDetail.otherColumns},now() |
| | | #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now() |
| | | ) |
| | | </insert> |
| | | |
| | |
| | | select od.order_id, |
| | | od.order_number, |
| | | o.batch, |
| | | o.calculate_type, |
| | | fgi.quantity_available, |
| | | od.quantity- od.delivery_num as t_quantity, |
| | | od.quantity as o_quantity, |
| | |
| | | dd.money, |
| | | dd.area, |
| | | ifnull(od.processing_note,"") as processingNote, |
| | | ifnull(od.building_number,"") as buildingNumber, |
| | | ifnull(od.remarks,"") as buildingNumber, |
| | | od.price |
| | | from delivery_detail dd |
| | | left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number |