guoyuji
2024-07-08 da802df4ece76d50eae57ead678336af84a5cb06
修改 订单查询明细时,异步的前后顺序
4个文件已修改
120 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/utils/request.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/utils/webSocket.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/utils/request.js
@@ -1,5 +1,5 @@
import axios from 'axios'
import config from '../../config';
import config from '../../config'
import useUserInfoStore from '@/stores/userInfo'
const userStore=useUserInfoStore()
const request = axios.create({
north-glass-erp/northglass-erp/src/utils/webSocket.js
@@ -1,3 +1,4 @@
import config from '../../config'
var websock = null;
var global_callback = null;
let isConnect = false; //连接标识 避免重复连接
@@ -6,7 +7,7 @@
var serverPort = "/ws"; // webSocket连接端口
var wsuri = "ws://127.0.0.1:12345/ws";
var wsuri = `ws://${config.webSocketUrl}/ws`
function createWebSocket(callback) {
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -628,7 +628,9 @@
//初始化判断是否有id传入
onMounted(()=>{
onMounted(async ()=>{
  await initOrder()
  //启用表格拖动选中
  addListener(xGrid.value,gridOptions)
  const str = route.query.orderId || history.state.orderId
@@ -746,62 +748,64 @@
//页面第一次加载执行
request.get(`/basicData/orderBasicData`).then((res) => {
  if(res.code==200){
    titleSelectJson.value=deepClone(res.data)
    //其他金额
    otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
    //let columns = []
    otherMoney.value.forEach(item => {
      let column = {
        field: `otherColumns.${item.column}`,
        width:100,
        title: item.alias,
        editRender: {
          name: 'input',
const initOrder = async ()=>{
  //页面第一次加载执行
  await request.get(`/basicData/orderBasicData`).then((res) => {
    if(res.code==200){
      titleSelectJson.value=deepClone(res.data)
      //其他金额
      otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
      //let columns = []
      otherMoney.value.forEach(item => {
        let column = {
          field: `otherColumns.${item.column}`,
          width:100,
          title: item.alias,
          editRender: {
            name: 'input',
          }
        }
      }
      //判断  其他列是否是数字
      if(item.column.indexOf('M')>-1){
        gridOptions.editRules[`otherColumns.${item.column}`] = [
          {
            validator ({ cellValue }) {
              const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
              if (cellValue && !regex.test(cellValue)) {
                return new Error(t('basicData.msg.range99999Dec2'))
        //判断  其他列是否是数字
        if(item.column.indexOf('M')>-1){
          gridOptions.editRules[`otherColumns.${item.column}`] = [
            {
              validator ({ cellValue }) {
                const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
                if (cellValue && !regex.test(cellValue)) {
                  return new Error(t('basicData.msg.range99999Dec2'))
                }
              }
            }
          }
        ]
      }else{
        gridOptions.editRules[`otherColumns.${item.column}`] = [
          { required: false},
          { min: 0, max: 255, message: t('basicData.msg.max255') }
        ]
      }
          ]
        }else{
          gridOptions.editRules[`otherColumns.${item.column}`] = [
            { required: false},
            { min: 0, max: 255, message: t('basicData.msg.max255') }
          ]
        }
      //columns.push(column)
      gridOptions.columns.push(column)
        //columns.push(column)
        gridOptions.columns.push(column)
    })
      })
    //进入页面下拉框设置默认值
    titleUploadData.value.orderType = titleSelectJson.value.orderType[0].basicName
    titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].basicName
    titleUploadData.value.icon = titleSelectJson.value.icon[0].basicName
    titleUploadData.value.packType = titleSelectJson.value.packType[0].basicName
    titleUploadData.value.alType = titleSelectJson.value.alType[0].basicName
    titleUploadData.value.calculateType = 2
    const today = new Date
    today.setTime(today.getTime() + (7 * 24 * 60 * 60 * 1000))
    titleUploadData.value.deliveryDate = today.getFullYear() +
        '-' + ("0" + (today.getMonth() + 1)).slice(-2)
        + '-' + ("0" + today.getDate()).slice(-2)
  }else{
    ElMessage.warning(res.msg)
  }
})
      //进入页面下拉框设置默认值
      titleUploadData.value.orderType = titleSelectJson.value.orderType[0].basicName
      titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].basicName
      titleUploadData.value.icon = titleSelectJson.value.icon[0].basicName
      titleUploadData.value.packType = titleSelectJson.value.packType[0].basicName
      titleUploadData.value.alType = titleSelectJson.value.alType[0].basicName
      titleUploadData.value.calculateType = 2
      const today = new Date
      today.setTime(today.getTime() + (7 * 24 * 60 * 60 * 1000))
      titleUploadData.value.deliveryDate = today.getFullYear() +
          '-' + ("0" + (today.getMonth() + 1)).slice(-2)
          + '-' + ("0" + today.getDate()).slice(-2)
    }else{
      ElMessage.warning(res.msg)
    }
  })
}
//查询重复订单方法
const selectOrder = (order) => {
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -16,6 +16,7 @@
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.SysErrorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -34,15 +35,17 @@
    private final OrderGlassDetailMapper orderGlassDetailMapper;
    private final SysErrorService sysErrorService;
    private final OrderOtherMoneyMapper orderOtherMoneyMapper;
    private final ProductMapper productMapper;
    private final OrderProcessDetailMapper orderProcessDetailMapper;
    public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper) {
    public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper) {
        this.orderMapper = orderMapper;
        this.orderDetailMapper = orderDetailMapper;
        this.orderGlassDetailMapper = orderGlassDetailMapper;
        this.orderProcessDetailMapper = orderProcessDetailMapper;
        this.sysErrorService = sysErrorService;
        this.orderOtherMoneyMapper = orderOtherMoneyMapper;
        this.productMapper = productMapper;
    }
    public boolean saveOrder(Map<String,Object> orderMap) throws Exception {
@@ -190,7 +193,9 @@
            OrderDetails.get(i).setOrderNumber(i+1);
            OrderDetails.get(i).setOrderId(orderId);
            OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000*OrderDetails.get(i).getQuantity())));
            OrderDetails.get(i).setWeight(1.0);
            Product product = productMapper.selectById(OrderDetails.get(i).getProductId());
            OrderDetails.get(i).setWeight(Double.valueOf(String.format("%.2f",product.getThickness()*OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()/1000000*2.5)));
            if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
                //获取弯钢弧度
                Double bendRadius = OrderDetails.get(i).getBendRadius();