guoyuji
2024-04-24 c6eb867d69f7cb2faf3818984bbe12316a692396
推送其他金额相关新增修改程序
16个文件已修改
1 文件已重命名
165 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/OrderOtherMoney.vue 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/product/BasicTable.vue 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectDetailProcessCard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/Test.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/vite.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicOtherMoneyController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/BasicOtherMoneyService.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderOtherMoneyMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/OrderOtherMoneyMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/OrderOtherMoney.vue
@@ -2,8 +2,12 @@
import {computed, onMounted, reactive, ref, watch} from "vue"
import {filterChanged} from "@/hook"
import {useI18n} from "vue-i18n"
import {ElMessage} from "element-plus";
import {ElMessage, ElMessageBox,} from "element-plus"
import request from "@/utils/request"
import {useRouter,useRoute} from "vue-router"
const { t } = useI18n()
const router = useRouter()
const route = useRoute()
let rowClickIndex = ref(null)
const xGrid = ref()
const gridOptions = reactive({
@@ -34,7 +38,7 @@
  },//表头参数
  columns:[
    // {field: 'buildingNumber',width:120,  title: '楼号',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'alias', title:'其他加工',editRender: { name: 'input'},minWith:'130'},
    {field: 'alias', title:'其他加工',minWith:'130'},
    {field: 'price',  title:'单价',editRender: { name: 'input'}},
    {field: 'quantity',  title:'数量' },
    {field: 'money', slots:{default:'default'},  title:'金额'}
@@ -107,11 +111,7 @@
    if ($grid) {
      switch (code) {
        case 'add': {
          if ($grid.getTableData().tableData.length >=240){
            ElMessage.error(t('order.msg.tableLengthMax'))
            return
          }
          $grid.insert({})
          addColumn()
          break
        }
        case 'delete': {
@@ -119,7 +119,7 @@
            ElMessage.warning('请先单击选择行')
            return
          }
          $grid.remove(rowClickIndex.value)
          deleteColum(rowClickIndex.value.id)
          rowClickIndex.value = null
          break
        }
@@ -169,6 +169,55 @@
  validate
})
const addColumn = () => {
  ElMessageBox.prompt( '新增列名:', {
    confirmButtonText: '新增',
    cancelButtonText: '取消',
    inputPattern:/^.{1,20}$/,
    inputErrorMessage: '请输入20个字符以内的且不为空的字符',
  })
    .then(({ value }) => {
      request.post('/basicOtherMoney/save',{alias:value}).then(res=>{
        if (res.code==='200' && res.data!==false){
          ElMessage.success('新增成功')
          setTimeout(()=>{
            window.location.reload()
          },1500)
        }else{
          ElMessage.error('新增失败,不能重复添加或超过100条列')
        }
      })
    })
}
const deleteColum = (id) => {
  ElMessageBox.confirm(
      '确认删除此列名?',
      'Warning',
      {
        confirmButtonText: '删除',
        cancelButtonText: '取消',
        type: 'warning',
      }
  )
      .then(() => {
        request.post(`/basicOtherMoney/deleteById/${id}`,).then(res=>{
          if (res.code==='200' && res.data!==false){
            ElMessage.success('删除成功')
            setTimeout(()=>{
              window.location.reload()
            },1500)
          }else{
            ElMessage.error('删除失败')
          }
        })
      })
}
</script>
<template>
@@ -185,6 +234,7 @@
        <span>{{ countAmount(row) }} </span>
      </template>
    </vxe-grid>
  </div>
north-glass-erp/northglass-erp/src/components/sd/product/BasicTable.vue
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -9,7 +9,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
import useUserInfoStore from "@/stores/userInfo";
import { useI18n } from 'vue-i18n'
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue
@@ -9,7 +9,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
import useUserInfoStore from "@/stores/userInfo";
import {changeFilterEvent, filterChanged} from "@/hook"
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectDetailProcessCard.vue
@@ -9,7 +9,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
let productGlassTypeStore = useProductGlassTypeStore()
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -9,7 +9,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
import { useI18n } from 'vue-i18n'
//语言获取
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue
@@ -9,7 +9,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
import useUserInfoStore from "@/stores/userInfo";
import { useI18n } from 'vue-i18n'
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
@@ -8,7 +8,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
import { useI18n } from 'vue-i18n'
//语言获取
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -75,6 +75,8 @@
const gridOptions = reactive({
  loading:false,
  showHeaderOverflow: false,
  showFooterOverflow: false,
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
@@ -208,7 +210,7 @@
          }
        }
      }
    ]
    ],
  },
  toolbarConfig: {
    buttons: [
@@ -531,9 +533,27 @@
    otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
    //let columns = []
    otherMoney.value.forEach(item => {
      let column = {field: `otherColumns.${item.column}`,width:50,  title: item.alias,editRender: { name: 'input'}}
      let column = {
        field: `otherColumns.${item.column}`,
        width:50,  title: item.alias,
        editRender: {
          name: 'input',
        }
      }
      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'))
            }
          }
        }
      ]
      //columns.push(column)
      gridOptions.columns.push(column)
    })
    //进入页面下拉框设置默认值
north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
@@ -8,7 +8,7 @@
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from  'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import {VXETable} from "vxe-table";
let productGlassTypeStore = useProductGlassTypeStore()
let router=useRouter()
north-glass-erp/northglass-erp/src/views/sd/product/Test.vue
@@ -1,5 +1,5 @@
<script setup>
import BasicTable from '@/components/basic/BasicTable.vue'
import BasicTable from '@/components/sd/product/BasicTable.vue'
import request from "@/utils/request"
import deepClone from "@/utils/deepClone";
import {ElMessage} from "element-plus";
north-glass-erp/northglass-erp/vite.config.js
@@ -17,7 +17,7 @@
    }
  }, 
  server: {
    port: 80,//端口号
    port: 5173,//端口号
    host: true,//ip地址 或 '0.0.0.0' 或 "loaclhost"
    open: false, //启动后是否自动打开浏览器
    https: false, // 是否开启 https
north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicOtherMoneyController.java
@@ -6,6 +6,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/basicOtherMoney")
public class BasicOtherMoneyController {
@@ -27,8 +29,8 @@
    }
    @PostMapping("save")
    public Result save(String  alias){
        return  Result.seccess(basicOtherMoneyService.save(alias));
    public Result save(@RequestBody Map<String,String> alias){
        return  Result.seccess(basicOtherMoneyService.save(alias.get("alias")));
    }
}
north-glass-erp/src/main/java/com/example/erp/service/sd/BasicOtherMoneyService.java
@@ -1,6 +1,7 @@
package com.example.erp.service.sd;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.entity.sd.BasicOtherMoney;
import com.example.erp.mapper.sd.BasicOtherMoneyMapper;
import org.springframework.stereotype.Service;
@@ -25,9 +26,31 @@
        return basicOtherMoneyMapper.deleteById(id);
    }
    public int save(String alias) {
        BasicOtherMoney basicOtherMoney = new  BasicOtherMoney();
        basicOtherMoney.setAlias(alias);
        return basicOtherMoneyMapper.insert(basicOtherMoney);
    public boolean save(String alias) {
        //判断是否已经存在
        QueryWrapper<BasicOtherMoney> queryWrapperByName = new QueryWrapper<>();
        queryWrapperByName.eq("alias", alias);
        int count = Math.toIntExact(basicOtherMoneyMapper.selectCount(queryWrapperByName));
        if(count>0){
            return false;
        }
        //查询最大的列名
        QueryWrapper<BasicOtherMoney> queryWrapper = new QueryWrapper<>();
        queryWrapper.orderByDesc("id");
        List<BasicOtherMoney> basicOtherMoneyList = basicOtherMoneyMapper.selectList(queryWrapper);
        //超过100条不执行
        if(basicOtherMoneyList.size()==100){
            return false;
        }
        BasicOtherMoney basicOtherMoney = basicOtherMoneyList.get(0);
        String getColumn = basicOtherMoney.getColumn()==null?"0":basicOtherMoney.getColumn().replace("M","");
        int  columnNum = Integer.parseInt(getColumn)+1;
        BasicOtherMoney newBasicOtherMoney = new  BasicOtherMoney();
        newBasicOtherMoney.setColumn("M"+String.format("%02d", columnNum));
        newBasicOtherMoney.setAlias(alias);
        basicOtherMoneyMapper.insert(newBasicOtherMoney);
        return true;
    }
}
north-glass-erp/src/main/resources/mapper/sd/OrderOtherMoneyMapper.xml
@@ -5,8 +5,14 @@
<mapper namespace="com.example.erp.mapper.sd.OrderOtherMoneyMapper">
    <select id="findById">
        select
            a.*,
            b.alias
            a.order_id,
            a.`column`,
            a.quantity,
            a.price,
            a.money,
            a.create_time,
            b.alias,
            b.id
        from order_other_money as a
        left join  basic_other_money as b
        on a.`column` = b.`column`
north-glass-erp/target/classes/mapper/sd/OrderOtherMoneyMapper.xml
@@ -5,8 +5,14 @@
<mapper namespace="com.example.erp.mapper.sd.OrderOtherMoneyMapper">
    <select id="findById">
        select
            a.*,
            b.alias
            a.order_id,
            a.`column`,
            a.quantity,
            a.price,
            a.money,
            a.create_time,
            b.alias,
            b.id
        from order_other_money as a
        left join  basic_other_money as b
        on a.`column` = b.`column`
north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original
Binary files differ