chenlu
2024-07-10 67124ffce73fad675be9645eb5c071dcf980e5f2
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
17个文件已修改
1个文件已添加
211 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/router/index.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/LoginView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/system/userPassWord/UpdateUserName.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/system/userPassWord/UpdateUserPassWord.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/system/userPassWord/UserPassWord.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/userInfo/User.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue
@@ -42,12 +42,12 @@
    {field: 'width',width:120,  title: t('order.width') ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'height',width:140,  title: t('order.height'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'quantity',width:140,  title: t('order.quantity'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'processingNote',width:200,  title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'area',width:150,  title: t('order.trueArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'grossArea',width:160,  title: t('order.trueGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'computeArea',width:180,  title: t('order.computeArea'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'computeGrossArea',width:200,  title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'perimeter',width:200,  title: t('order.perimeter'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'processingNote',width:200,  title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'remarks',width:140,  title: t('basicData.remarks'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,
      title: t('order.shape'),
@@ -58,6 +58,8 @@
    {field: 'edgingType',width:160,  title: t('order.edgingType'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
  ],
  footerMethod ({ columns, data }) {//页脚函数
    return[
      columns.map((column, columnIndex) => {
north-glass-erp/northglass-erp/src/lang/en.js
@@ -61,6 +61,8 @@
            max255:"The value contains a maximum of 255 characters",
            range99999Dec2:
                "Please enter a number between 0 and 99999 with a maximum of two decimals",
            range999999Dec2:
                "Please enter a number between 0 and 999999 with a maximum of two decimals",
            greater0:"Please enter an integer greater than 0",
            checkoutLose:'Check fail',
            saveSuccess:'save successfully',
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -61,6 +61,8 @@
            max255:"Введите 255 символов.",
            range99999Dec2:
                "Введите число между 0 - 99999 и сохраните до двух десятичных знаков.",
            range999999Dec2:
                "Введите число между 0 - 999999 и сохраните до двух десятичных знаков.",
            greater0:"Введите целое число больше 0",
            checkoutLose:'Проверка не прошла',
            saveSuccess:'Сохранить успешно',
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -61,6 +61,8 @@
            max255:"最多输入255个字符",
            range99999Dec2:
                "请输入0-99999之间的数字,最多保留两位小数",
            range999999Dec2:
                "请输入0-999999之间的数字,最多保留两位小数",
            greater0:"请输入大于0的整数",
            checkoutLose:'校验不通过',
            saveSuccess:'保存成功',
@@ -712,6 +714,10 @@
        ConfirmPasswordCannotBeEmpty:'确认密码不能为空',
        TheTwoPasswordsAreNotTheSame:'两次密码不相同',
        OldPasswordError:'旧密码错误',
        userName:'用户名称',
        changeUserName:'修改用户名称',
        userNameCannotBeEmpty:'用户名称不能为空',
    },
    orderBasicData:{
        order:'订单',
north-glass-erp/northglass-erp/src/router/index.js
@@ -72,6 +72,11 @@
              component: () => import('../views/system/userPassWord/UpdateUserPassWord.vue')
            },
            {
              path: 'updateUserName',
              name: 'updateUserName',
              component: () => import('../views/system/userPassWord/UpdateUserName.vue')
            },
            {
              name:'userPassWord',
              path: '',
              redirect:'/main/userPassWord/updateUserPassWord'
@@ -79,6 +84,7 @@
          ]
        },
          //sd模块
        {
          path:'orderBasicData',
north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -86,7 +86,7 @@
const keyDown = (e) => {
  // 回车则执行登录方法 enter键的ASCII是13
  if (e.keyCode == 13 || e.keyCode == 100) {
  if (e.keyCode == 13 ) {
    submitForm(ruleFormRef.value)
  }
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
@@ -104,9 +104,9 @@
      <div class="row1">
        <span>{{ item.customer_name }}</span>&nbsp;
        <span>{{ item.order_id }}</span>&nbsp;
        <span v-if="item.type_name.includes('中空')">中空</span>
        <span v-else-if="item.type_name.includes('夹层')">夹层</span>
        <span v-else-if="item.type_name.includes('夹胶')">夹胶</span>
        <span v-if="item.process.includes('夹胶')">胶片</span>
        <span v-else-if="item.process.includes('中空')">中空</span>
        <span v-else-if="item.process.includes('百叶')">百叶</span>
        <span v-else></span>
      </div>
      <div class="row2">
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -129,8 +129,9 @@
        <div class="row1">
          <span>{{ item.customer_name }}</span>&nbsp;
          <span>{{ item.order_id }}</span>&nbsp;
          <span v-if="item.process.includes('夹胶')">夹胶</span>
          <span v-if="item.process.includes('夹胶')">胶片</span>
          <span v-else-if="item.process.includes('中空')">中空</span>
          <span v-else-if="item.process.includes('百叶')">百叶</span>
          <span v-else></span>
        </div>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -703,7 +703,7 @@
request.post(`/reportingWork/selectProcess`).then((res) => {
  if (res.code == 200) {
    titleSelectJson.value.processType = res.data.process
    if(user.user.address!==null || user.user.address!==''){
    if(user.user.address!==null && user.user.address!==''){
      titleUploadData.value.thisProcess = user.user.address
      titleUploadData.value.teamsGroupsName = user.user.userName
    }
@@ -773,7 +773,8 @@
  })
  for(let item of uniqueByOrderNum){
    if(!checkSameNumForId(notFinishList,item.order_number)){
    if(!checkSameNumForId(notFinishList,item.order_number )){
      alert(1)
      ElMessage.error(`${t('reportingWorks.pleaseCheckTheOrderNumber1')}':'
      ${item.order_number}
       ${t('reportingWorks.pleaseCheckTheOrderNumber1')}`)
@@ -789,7 +790,7 @@
    const b = (row.breakageQuantity !== undefined && row.breakageQuantity !== null && row.breakageQuantity !== '' && row.breakageQuantity*1!==0)
    return (a || b)
  })
  if(requestDetailData.length === 0){
  if(requestDetailData.length === 0 &&  (route.query.reportingWorkId===undefined)){
    ElMessage.warning(t('reportingWorks.atLeastOneFinishedAndWornEligible'))
    return false
  }
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -210,9 +210,9 @@
    bendRadius:[
      {
        validator ({ cellValue }) {
          const regex = /^(0(\.\d{1,2})?|([1-9]\d{0,4})(\.\d{1,2})?|99999(\.9{1,2})?)$/
          const regex = /^(0(\.\d{1,2})?|([1-9]\d{0,5})(\.\d{1,2})?|999999(\.9{1,2})?)$/
          if (cellValue && !regex.test(cellValue)) {
            return new Error(t('basicData.msg.range99999Dec2'))
            return new Error(t('basicData.msg.range999999Dec2'))
          }
        }
      }
@@ -552,7 +552,6 @@
                }
              })
            }else{
              console.log(dataList)
              const val = getNestedProperty(dataList[result.start],result.cell)
              dataList.forEach((item,index) =>{
                if(index>=result.start ){
@@ -804,7 +803,7 @@
      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
      titleUploadData.value.calculateType = 1
      const today = new Date
      today.setTime(today.getTime() + (7 * 24 * 60 * 60 * 1000))
      titleUploadData.value.deliveryDate = today.getFullYear() +
@@ -989,21 +988,25 @@
        }
      }
      if(item.computeArea === undefined){
        item.computeArea = area(item)
      }else{
        item.computeGrossArea = item.computeArea * item.quantity
      }
      item.area = area(item)
      item.grossArea = countArea(item)
      if(titleUploadData.value.calculateType===1){
        item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
      }else if(titleUploadData.value.calculateType===2){
        item.computeGrossArea = item.grossArea
      }
      if(titleUploadData.value.calculateType===3){
        item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
      }else{
        item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
      if(item.computeGrossArea === undefined){
        if(titleUploadData.value.calculateType===1){
          item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
        }else if(titleUploadData.value.calculateType===2){
          item.computeGrossArea = item.grossArea
        }
        if(titleUploadData.value.calculateType===3){
          item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
        }else{
          item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
        }
      }
    })
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -81,7 +81,7 @@
              prefixIcon: 'vxe-icon-print',
              name: '加工单',
              children: [
                { code: 'sheet1', name: '横版-普通' },
                // { code: 'sheet1', name: '横版-普通' },
                { code: 'sheet2', name: '横版-多层明细' },
                { code: 'sheet4', name: '生产加工单纵版' },
                { code: 'sheet3', name: '浏览发货信息' },
@@ -427,7 +427,7 @@
const exportFile = ()=>{
  const html = document.getElementById("child").innerHTML // 获取需要导出的HTML内容
  const blob = new Blob([html], { type: 'application/vnd.ms-excel' }) // 创建Blob对象
  saveAs(blob, rowClickIndex.value.orderId+".xlsx");
  saveAs(blob, rowClickIndex.value.orderId+".xls");
}
const reviewOrder = ()=>{
north-glass-erp/northglass-erp/src/views/system/userPassWord/UpdateUserName.vue
New file
@@ -0,0 +1,102 @@
<script setup lang="ts">
import { reactive, ref } from 'vue'
import type { FormProps,FormInstance, FormRules } from 'element-plus'
import {ElMessage,ElMessageBox} from "element-plus";
import request from "@/utils/request";
import {Avatar, UserFilled} from "@element-plus/icons-vue";
import useUserInfoStore from "@/stores/userInfo";
import {useRoute, useRouter} from "vue-router";
import {useI18n} from "vue-i18n";
const router = useRouter()
const route = useRoute()
const { t } = useI18n()
const userStore = useUserInfoStore()
//注册用户参数
const register = reactive({
  userId: userStore.user.id,
  userName: ''
})
const submitForm = () => {
  console.log(register.userName)
  if(register.userName==""||register.userName==null){
    ElMessage.warning(t('user.userNameCannotBeEmpty'))
    return
  }
      request.post('/user/updateUserName', register).then((res) => {
        if (res.data === true) {
          ElMessage.success(t('basicData.msg.saveSuccess'))
          router.push("/login")
        } else {
          ElMessage.error(t('basicData.msg.saveFail'))
          return false
        }
      }).catch(error => {
        ElMessage.error(t('basicData.msg.ServerConnectionError'))
        return false
      })
}
</script>
<template>
  <div id="main-div">
    <div id="register">
      <el-form
          label-width="100px"
          :model="register"
          ref="ruleFormRef"
          status-icon
          :rules="rules"
      >
        <el-form-item :label="$t('user.userName')">
          <el-input  type="text"   v-model="register.userName" />
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
              @click="submitForm(ruleFormRef)"
          >{{ $t('basicData.save') }}
          </el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
<style scoped>
#main-div{
  width: 1000px;
  height: 600px;
  margin: auto;
}
h2{
  text-align: center;
  width: 100vw;
  margin-top: 10vh;
}
#register{
  background-color: #FAFAFA;
  width: 50vw;
  height: 50vh;
  border-radius: 12px;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 280px;
}
.el-form{
  max-width: 300px;
}
</style>
north-glass-erp/northglass-erp/src/views/system/userPassWord/UpdateUserPassWord.vue
@@ -6,9 +6,11 @@
import {Avatar, UserFilled} from "@element-plus/icons-vue";
import useUserInfoStore from "@/stores/userInfo";
import {useRoute, useRouter} from "vue-router";
import {useI18n} from "vue-i18n";
const router = useRouter()
const route = useRoute()
const { t } = useI18n()
const userStore = useUserInfoStore()
//注册用户参数
const register = reactive({
north-glass-erp/northglass-erp/src/views/system/userPassWord/UserPassWord.vue
@@ -20,6 +20,7 @@
    <div id="div-title">
      <el-breadcrumb :separator-icon="ArrowRight">
        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/userPassWord/updateUserPassWord' }">{{$t('user.changePassword')}}</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/userPassWord/updateUserName' }">{{$t('user.changeUserName')}}</el-breadcrumb-item>
        <el-breadcrumb-item v-show="false" @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/order/createOrder' }">{{$t('basicData.create')}}</el-breadcrumb-item>
      </el-breadcrumb>
    </div>
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java
@@ -61,4 +61,10 @@
    public Result updatePassWord(@RequestBody Map<String,Object> object){
        return Result.seccess( userService.updatePassWord(object));
    }
    @ApiOperation("修改用户名")
    @PostMapping("/updateUserName")
    public Result updateUserName(@RequestBody Map<String,Object> object){
        return Result.seccess( userService.updateUserName(object));
    }
}
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
@@ -34,4 +34,6 @@
    Boolean userDelete(Integer id);
    Boolean updatePassWordById(Integer id,String passWord);
    Boolean updateUserNameById(Integer id,String userName);
}
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -108,6 +108,25 @@
    }
    @Transactional
    public Boolean updateUserName(Map<String,Object> object) {
        boolean saveState = false;
        int userId =0;
        String userName = "";
        if (object.get("userId") != null) {
            userId = Integer.parseInt(object.get("userId").toString());
        }
        if (object.get("userName") != null) {
            userName = object.get("userName").toString();
        }
        if (userMapper.updateUserNameById(userId,userName)){
            saveState = true;
        }
        return saveState;
    }
    /*----------------新版本登陆*/
    public UserDTO doLogin(UserDTO userDTO) {
        User user = userMapper.selectOne(new QueryWrapper<User>().
north-glass-erp/src/main/resources/mapper/userInfo/User.xml
@@ -78,4 +78,10 @@
        set password=#{passWord},update_time=now()
        where id=#{id}
    </update>
    <update id="updateUserNameById">
        update erp_user_info.user
        set user_name=#{userName},update_time=now()
        where id=#{id}
    </update>
</mapper>