From 97fba4a0e38c0b8455d43d2935aa996676407361 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 08 十二月 2025 16:40:36 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/router/index.js | 17 +
north-glass-erp/northglass-erp/src/stores/sd/companySet/温州巨星.js | 2
north-glass-erp/northglass-erp/src/lang/en.js | 3
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml | 1
north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js | 9
north-glass-erp/northglass-erp/src/views/system/userLog/UserLog.vue | 61 ++++
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue | 117 +++++++
north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java | 4
north-glass-erp/northglass-erp/src/lang/zh.js | 3
north-glass-erp/src/main/java/com/example/erp/controller/AppController.java | 4
north-glass-erp/northglass-erp/src/stores/sd/companySet/上海北玻.js | 2
north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml | 17
north-glass-erp/northglass-erp/src/lang/ar.js | 3
north-glass-erp/northglass-erp/src/stores/sd/companySet/新疆恒鑫.js | 2
north-glass-erp/northglass-erp/src/assets/main.css | 4
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue | 123 ++++++-
north-glass-erp/northglass-erp/src/stores/sd/companySet/常州吉利.js | 2
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java | 3
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java | 5
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java | 18 +
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 31 +
north-glass-erp/northglass-erp/src/views/system/userLog/UserListLog.vue | 235 +++++++++++++++
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java | 3
north-glass-erp/northglass-erp/src/stores/sd/companySet/金华天成.js | 4
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue | 88 ++++-
north-glass-erp/src/main/resources/mapper/userInfo/User.xml | 5
north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliverySearchDTO.java | 74 ++++
north-glass-erp/northglass-erp/src/stores/sd/companySet/洛阳北玻.js | 2
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java | 6
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue | 4
north-glass-erp/northglass-erp/src/lang/ru.js | 3
north-glass-erp/northglass-erp/src/layout/MainErpView.vue | 15
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue | 4
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java | 12
north-glass-erp/northglass-erp/src/views/LoginView.vue | 6
north-glass-erp/northglass-erp/src/lang/kr.js | 3
north-glass-erp/northglass-erp/src/stores/sd/companySet/天津北玻.js | 2
37 files changed, 802 insertions(+), 95 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/assets/main.css b/north-glass-erp/northglass-erp/src/assets/main.css
index b332278..8b2c754 100644
--- a/north-glass-erp/northglass-erp/src/assets/main.css
+++ b/north-glass-erp/northglass-erp/src/assets/main.css
@@ -7,8 +7,8 @@
font-weight: normal;
height: 100%;
width: 100%;
- /*min-width: 1536px;
- min-height: 730px;*/
+ min-width: 1536px;
+ min-height: 730px;
}
@media (max-width: 500px) {
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
index d0386ff..6100c64 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
@@ -156,9 +156,9 @@
</tr>
<tr class="title-s">
- <th colspan="2" style="width: 30%;text-align: left;"><span>{{data.order.orderType}} 鎬婚噸閲�:{{ grossNum.weight }}</span></th>
+ <th colspan="2" style="width: 30%;text-align: left;"><span>鎬婚噸閲�:{{ grossNum.weight }}</span></th>
<th colspan="5" style="width: 40%;">
- <h3 >鐢熶骇浠诲姟鍗�(鎴愬搧)</h3>
+ <h3 >鐢熶骇浠诲姟鍗�({{data.order.orderType}})</h3>
</th>
<th colspan="2" style="width: 30%;">璁㈠崟缂栧彿锛�<span>{{ data.order.orderId }}</span>
<span v-if="company.companyName==='甯稿窞甯傚悏鍒╃幓鐠冩湁闄愬叕鍙�'&& data.order.batch!==''">(鍘焮{ data.order.batch }})</span>
diff --git a/north-glass-erp/northglass-erp/src/lang/ar.js b/north-glass-erp/northglass-erp/src/lang/ar.js
index 4b0bb9d..9fec150 100644
--- a/north-glass-erp/northglass-erp/src/lang/ar.js
+++ b/north-glass-erp/northglass-erp/src/lang/ar.js
@@ -1333,7 +1333,8 @@
userPassWord :'鬲睾賷賷乇 賰賱賲丞 丕賱賲乇賵乇',
glassPrice:'鐜荤拑浠锋牸',
glassOptimize:'鐜荤拑浼樺寲',
- finishedGlassShelf:'鎴愬搧鏂欐灦'
+ finishedGlassShelf:'鎴愬搧鏂欐灦',
+ userLog:'鐧诲綍鏃ュ織'
},
glassPrice:{
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index ebadad0..29f9e6e 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -1333,7 +1333,8 @@
userPassWord :'User Pass Word',
glassPrice:'Glass Price',
glassOptimize:'鐜荤拑浼樺寲',
- finishedGlassShelf:'鎴愬搧鏂欐灦'
+ finishedGlassShelf:'鎴愬搧鏂欐灦',
+ userLog:'鐧诲綍鏃ュ織'
},
glassPrice:{
diff --git a/north-glass-erp/northglass-erp/src/lang/kr.js b/north-glass-erp/northglass-erp/src/lang/kr.js
index 0ed24cd..c808376 100644
--- a/north-glass-erp/northglass-erp/src/lang/kr.js
+++ b/north-glass-erp/northglass-erp/src/lang/kr.js
@@ -1334,7 +1334,8 @@
userPassWord :'牍勲皜氩堩樃 氤�瓴�',
glassPrice:'鞙犽Μ 臧�瓴�',
glassOptimize:'鞙犽Μ 斓滌爜頇�',
- finishedGlassShelf:'鎴愬搧鏂欐灦'
+ finishedGlassShelf:'鎴愬搧鏂欐灦',
+ userLog:'鐧诲綍鏃ュ織'
},
glassPrice:{
diff --git a/north-glass-erp/northglass-erp/src/lang/ru.js b/north-glass-erp/northglass-erp/src/lang/ru.js
index 94afeba..0acd315 100644
--- a/north-glass-erp/northglass-erp/src/lang/ru.js
+++ b/north-glass-erp/northglass-erp/src/lang/ru.js
@@ -1334,7 +1334,8 @@
userPassWord :'袠蟹屑械薪懈褌褜 锌邪褉芯谢褜',
glassPrice:'笑械薪邪 褋褌械泻谢邪.',
glassOptimize:'鐜荤拑浼樺寲',
- finishedGlassShelf:'鎴愬搧鏂欐灦'
+ finishedGlassShelf:'鎴愬搧鏂欐灦',
+ userLog:'鐧诲綍鏃ュ織'
},
glassPrice:{
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 6ea842b..06112dd 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -1335,7 +1335,8 @@
userPassWord :'淇敼瀵嗙爜',
glassPrice:'鐜荤拑浠锋牸',
glassOptimize:'鐜荤拑浼樺寲',
- finishedGlassShelf:'鎴愬搧鏂欐灦'
+ finishedGlassShelf:'鎴愬搧鏂欐灦',
+ userLog:'鐧诲綍鏃ュ織'
},
glassPrice:{
diff --git a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
index 93b13a6..17f9e23 100644
--- a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
+++ b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
@@ -122,17 +122,14 @@
</script>
<template>
- <div>
+ <div style="height:100%;width:100%">
<el-container id="el-container1">
<el-header >
<div style="height: 100%;width: 100%;display: flex">
<img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%">
- <h3 style="margin: 1rem ;font-weight: bold;width: 70vw;"> {{$t('main.titleFirst') + user + $t('main.titleLast')}}</h3>
- <span style="height: 70%;width: 78vw;margin-top: 1.5rem;" >
-
-<!-- <el-button class="sys-quit" @click="quit" type="info" round>-->
+ <h3 style="margin: 1rem ;font-weight: bold;width: 95%;"> {{$t('main.titleFirst') + user + $t('main.titleLast')}}</h3>
+ <span style="height: 70%;width: 10%;margin-top: 1.5rem;" >
<el-icon @click="quit" style="float: right;margin-right: 1rem" size="large" ><SwitchButton size=""/></el-icon>
-<!-- </el-button>-->
</span>
</div>
</el-header>
@@ -219,12 +216,12 @@
<style scoped>
#el-container1{
- height: 100vh;
- width: 100vw;
+ height: 100%;
+ width: 100%;
}
#el-container2{
height:calc(100% - 60px);
- width: 100vw;
+ width: 100%;
}
*{
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index a13144c..4ba8821 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -83,6 +83,23 @@
}
]
},
+ {
+ path:'userLog',
+ name: 'userLog',
+ component: () => import('../views/system/userLog/UserLog.vue'),
+ children:[
+ {
+ path: 'userListLog',
+ name: 'userListLog',
+ component: () => import('../views/system/userLog/UserListLog.vue'),
+ },
+ {
+ name:'userLog',
+ path: '',
+ redirect:'/main/userLog/userListLog'
+ }
+ ]
+ },
{
path:'glassPrice',
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\344\270\212\346\265\267\345\214\227\347\216\273.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\344\270\212\346\265\267\345\214\227\347\216\273.js"
index 38f0a79..bfb77bd 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\344\270\212\346\265\267\345\214\227\347\216\273.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\344\270\212\346\265\267\345\214\227\347\216\273.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range99999Dec2'
},
orderIdType:'day',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',
deliveryDate:15,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
index 607506d..aac7b2c 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range99999Dec2'
},
orderIdType:'year',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',//鍚庣鐢熸垚鍙戣揣鍗曞彿绫诲瀷锛宒ay:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
deliveryDate:7,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',//鎵撳嵃鐢熶骇鍗曟椂闇�瑕佹樉绀虹殑鍒楀悕锛屾病鏈変负绌�
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
index 84e435a..9cb5376 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range9999Dec'
},
orderIdType:'month',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'month',//鍚庣鐢熸垚鍙戣揣鍗曞彿绫诲瀷锛宒ay:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
deliveryDate:7,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'寮傚舰鍙傛暟',//鎵撳嵃鐢熶骇鍗曟椂闇�瑕佹樉绀虹殑鍒楀悕锛屾病鏈変负绌�
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
index e686a1e..d91432e 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range99999Dec2'
},
orderIdType:'year',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:鎸夊勾鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',//鍚庣鐢熸垚鍙戣揣鍗曞彿绫诲瀷锛宒ay:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
deliveryDate:15,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',//鎵撳嵃鐢熶骇鍗曟椂闇�瑕佹樉绀虹殑鍒楀悕锛屾病鏈変负绌�
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
index a803204..4d43dde 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range99999Dec2'
},
orderIdType:'day',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',
deliveryDate:15,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
index 64f34e4..44e1fbb 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
@@ -23,6 +23,8 @@
msg:'basicData.msg.range99999Dec2'
},
orderIdType:'day',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdTypeLetter:'NG',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:2,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',//鍚庣鐢熸垚鍙戣揣鍗曞彿绫诲瀷锛宒ay:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
deliveryDate:15,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',//鎵撳嵃鐢熶骇鍗曟椂闇�瑕佹樉绀虹殑鍒楀悕锛屾病鏈変负绌�
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
index f62b7c0..3aa51c4 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
@@ -22,7 +22,9 @@
//regexp:/^(0|[1-9][0-9]{0,3}([.][0-9]{1,2})?)$/,//姝e垯0.00-9999.99
msg:'basicData.msg.range99999Dec2'
},
- orderIdType:'year',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdType:'day',//鍚庣鐢熸垚璁㈠崟鍙风被鍨嬶紝day:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚,year:姣忓勾鐢熸垚
+ orderIdTypeLetter:'R',//璁㈠崟鍙峰墠闈㈠瓧姣�
+ orderIdTypeMantissa:3,//璁㈠崟鍙峰熬鏁颁繚鐣欎綅鏁� orderIdTypeLetter闀垮害+orderIdTypeMantissa =4
deliveryIdType:'day',//鍚庣鐢熸垚鍙戣揣鍗曞彿绫诲瀷锛宒ay:姣忓ぉ鐢熸垚锛宮onth:姣忔湀鐢熸垚
deliveryDate:15,//璁㈠崟鍒涘缓閫佽揣鏃ユ湡 澶╂触7澶╋紝甯稿窞7澶╋紝涔変箤15澶╋紝鏂扮枂15澶�
columnName:'鍥惧彿',//鎵撳嵃鐢熶骇鍗曟椂闇�瑕佹樉绀虹殑鍒楀悕锛屾病鏈変负绌�
diff --git a/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js b/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
index e2e4676..09ee61f 100644
--- a/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
+++ b/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
@@ -52,6 +52,11 @@
}
},
+ searchDeliverFilter:{
+ list:ref([]),
+ data:{}
+
+ },
projectNo:ref(),
optimizeData:{
optimalResults:'',
@@ -117,6 +122,10 @@
}
}
}
+ this.searchDeliverFilter={
+ list:[],
+ data:{}
+ }
this.projectNo=null
this.optimizeData={
optimalResults:null,
diff --git a/north-glass-erp/northglass-erp/src/views/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue
index d84322a..1779d37 100644
--- a/north-glass-erp/northglass-erp/src/views/LoginView.vue
+++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -192,11 +192,13 @@
</template>
<style scoped>
+
.mainDiv1{
//background-color: #1890FF;
//overflow: hidden;
- width: 100%;
- height: 100%;
+ width: 100vw;
+ height: 100vh;
+
display: grid;
place-items: center; /* 鍚屾椂姘村钩鍜屽瀭鐩村眳涓� */
}
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
index 10c0027..a17d092 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -19,6 +19,8 @@
import {multiply} from "@/utils/decimal";
import MaterialAddition from "@/views/mm/ingredientStock/MaterialAddition.vue";
import {copyTableCellValue} from "@/hook/copyTableCellValue";
+import SelectOrderList from "@/views/sd/delivery/SelectOrderList.vue";
+import { ElDialog } from "element-plus";
//璇█鑾峰彇
const { t } = useI18n()
@@ -35,6 +37,19 @@
let otherMoneyVisible = ref(false)
let otherMoney = ref(null)
+const dialogSelectOrderVisible = ref(false); // 鎺у埗寮圭獥鏄剧ず
+const currentOrderIds = ref([]); // 宸叉湁鐨勮鍗旾D锛岀敤浜庢帓闄�
+
+
+// 鍒濆鍖栧凡閫夎鍗旾D锛堝湪onMounted涓皟鐢級
+const initCurrentOrderIds = () => {
+ if (produceList && produceList.length > 0) {
+ const orderIds = produceList.map(item => item.orderId);
+ currentOrderIds.value = [...new Set(orderIds)];
+ }else {
+ currentOrderIds.value = [];
+ }
+};
const hasDecimal=(value)=>{
const regex=/\./ // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
@@ -209,6 +224,7 @@
//绂佺敤鎸夐挳
gridOptions.toolbarConfig.buttons[2].disabled = true
gridOptions.toolbarConfig.buttons[3].disabled = true
+ //gridOptions.toolbarConfig.buttons[4].disabled = false
//鏄剧ず澶嶉�夋
xGrid.value.showColumn("select")
gridOptions.loading=false
@@ -245,6 +261,7 @@
if(titleUploadData.value.deliveryState!==0){
gridOptions.toolbarConfig.buttons[2].disabled = true
gridOptions.toolbarConfig.buttons[1].disabled = true
+ //gridOptions.toolbarConfig.buttons[4].disabled = true
}
if(titleUploadData.value.deliveryState===0){
gridOptions.toolbarConfig.buttons[3].disabled = true
@@ -370,6 +387,7 @@
{'code': 'addToExamine', 'name': t('reportingWorks.saveAndReview'),status: 'primary',icon: 'vxe-icon-save'},
{'code': 'toExamine', 'name': t('basicData.review'),status: 'primary'},
{'code': 'CounterExamination', 'name': t('basicData.cancelReview'),status: 'primary'},
+ //{'code': 'addOtherOrders','name': t('璁㈠崟娣诲姞'),'status': 'primary'}
//{'code': 'glassShelf', 'name': t('finishedGlassShelf.finishedGlassShelfEmit'),status: 'primary'}
],
/*import: false,
@@ -616,6 +634,13 @@
})
break
}
+ case 'addOtherOrders': {
+ // 鏄剧ず寮圭獥鍓嶆洿鏂板凡閫夎鍗旾D
+ initCurrentOrderIds();
+ // 鏄剧ず寮圭獥
+ dialogSelectOrderVisible.value = true;
+ break;
+ }
}
}
},
@@ -826,7 +851,83 @@
};
+// 澶勭悊浠嶴electOrderList閫変腑鐨勮鍗�
+const handleSelectedOrders = async (selectedOrders) => {
+ if (!selectedOrders || selectedOrders.length === 0) return;
+ // 鍏抽棴寮圭獥
+ dialogSelectOrderVisible.value = false;
+
+ // 楠岃瘉閫変腑鐨勮鍗曟槸鍚︾鍚堟潯浠�
+ const { customerId, project } = titleUploadData.value;
+ const invalidOrders = selectedOrders.filter(order =>
+ order.customerId !== parseInt(customerId) || order.project !== project
+ );
+
+ if (invalidOrders.length > 0) {
+ ElMessage.warning(t('delivery.onlySameCustomerProject'));
+ return;
+ }
+
+ try {
+ // 鏄剧ず鍔犺浇鐘舵��
+ gridOptions.loading = true;
+
+ // 鎵归噺鏌ヨ璁㈠崟鏄庣粏锛堟寜璁㈠崟ID锛�
+ const orderIds = selectedOrders.map(order => order.orderId).join('|');
+ filterData.value.orderId=orderIds
+ request.post("/delivery/getSelectShippingOrderDetails/1/100",filterData.value).then((res) => {
+ if (res.code == 200) {
+ // 澶勭悊杩斿洖鐨勬槑缁嗘暟鎹�
+ const orderDetails = res.data.data || [];
+ //鍚堝苟鏁版嵁
+ mergeData(orderDetails);
+ } else {
+ ElMessage.warning(res.msg || t('basicData.msg.data鑾峰彇澶辫触'));
+ }
+ })
+ } catch (error) {
+ ElMessage.error(t('basicData.msg.ServerConnectionError'));
+ console.error('鏌ヨ璁㈠崟鏄庣粏澶辫触:', error);
+ } finally {
+ // 鍏抽棴鍔犺浇鐘舵��
+ gridOptions.loading = false;
+ }
+};
+
+// 鍚堝苟鏁版嵁锛氬垽鏂璷rderId銆乷rderNumber銆乥oxNo鏄惁鐩稿悓锛岀浉鍚屽垯绱姞鏁伴噺锛屼笉鍚屽垯鏂板
+const mergeData = (newDataList) => {
+ // 澶嶅埗鐜版湁鏁版嵁锛堥伩鍏嶇洿鎺ヤ慨鏀瑰搷搴斿紡婧愭暟鎹級
+ const currentList = [...produceList];
+
+ newDataList.forEach(newItem => {
+ // 鎻愬彇鏂版暟鎹殑鍏抽敭姣斿瀛楁
+ const newOrderId = newItem.orderId;
+ const newOrderNumber = newItem.orderNumber;
+ const newBoxNo = newItem.finishedGoodsInventory?.boxNo || ''; // 澶勭悊鍙兘鐨剈ndefined
+
+ // 鍦ㄧ幇鏈夋暟鎹腑鏌ユ壘鍖归厤椤癸紙涓変釜瀛楁瀹屽叏鐩稿悓锛�
+ const matchedItem = currentList.find(item =>
+ item.orderId === newOrderId &&
+ item.orderNumber === newOrderNumber &&
+ (item.finishedGoodsInventory?.boxNo || '') === newBoxNo
+ );
+
+ if (matchedItem) {
+ // 鎵惧埌鍖归厤椤癸細绱姞鏁伴噺锛堢‘淇濇槸鏁板�肩被鍨嬶級
+ matchedItem.deliveryDetail.quantity = (Number(matchedItem.deliveryDetail.quantity) || 0) +
+ (Number(newItem.deliveryDetail.quantity) || 0);
+ } else {
+ // 鏈壘鍒板尮閰嶉」锛氭柊澧炰竴鏉℃暟鎹�
+ currentList.push(newItem);
+ }
+ });
+
+ // 鏇存柊鍝嶅簲寮忔暟鎹�
+ produceList = currentList;
+ // 鍒锋柊琛ㄦ牸
+ xGrid.value.reloadData(produceList);
+};
</script>
@@ -997,6 +1098,22 @@
@handle-result="handleChildResult2"
/>
</el-dialog>
+
+ <el-dialog
+ v-model="dialogSelectOrderVisible"
+ :title="t('璁㈠崟娣诲姞')"
+ style="width: 70%;height:75% "
+ destroy-on-close
+ :close-on-click-modal="false"
+ :close-on-press-escape="false">
+ <SelectOrderList
+ style="width: 100%;height: 600px"
+ :customer-id="titleUploadData.customerId"
+ :project="titleUploadData.project"
+ :exclude-order-ids="currentOrderIds"
+ @select-orders="handleSelectedOrders"
+ />
+ </el-dialog>
</div>
</template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index e065b91..d4ca703 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -1,6 +1,6 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
-import {reactive, ref} from "vue";
+import {onMounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
import request from "@/utils/request"
import deepClone from "@/utils/deepClone"
@@ -92,6 +92,10 @@
//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
let filterData = ref({})
+let sortData = ref({
+ field:'id',
+ order:null
+})
let selectDate = ref(["",""])
@@ -103,29 +107,44 @@
pageSize : 100
})
-//绗竴娆¤皟鐢�
-request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => {
-
- if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal= res.data.total.pageTotal
-
- orderInfo.selectDeliveryDate = res.data.selectDate
- pageNum.value=1
- produceList = deepClone(res.data.data)
- if(company.companyName=='娲涢槼鍖楁柟鐜荤拑鎶�鏈偂浠芥湁闄愬叕鍙�'){
- xGrid.value.menuConfig.body.options[0][2].visible=true
- xGrid.value.menuConfig.body.options[0][3].visible=true
- xGrid.value.menuConfig.body.options[0][4].visible=true
- xGrid.value.menuConfig.body.options[0][5].visible=true
- }
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
+onMounted(async () => {
+ filterData.value = orderInfo.searchDeliverFilter.data
+ await getDeliveryList()
+ orderInfo.searchDeliverFilter.list.forEach(item =>{
+ xGrid.value.getColumnByField(item.field).filters = item.column.filters
+ })
})
+
+const getDeliveryList = async () => {
+ //鍔犺浇璇锋眰
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ await request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => {
+
+ if(res.code==200){
+ total.dataTotal = res.data.total.total*1
+ total.pageTotal= res.data.total.pageTotal
+
+ orderInfo.selectDeliveryDate = res.data.selectDate
+ pageNum.value=1
+ produceList = deepClone(res.data.data)
+ if(company.companyName=='娲涢槼鍖楁柟鐜荤拑鎶�鏈偂浠芥湁闄愬叕鍙�'){
+ xGrid.value.menuConfig.body.options[0][2].visible=true
+ xGrid.value.menuConfig.body.options[0][3].visible=true
+ xGrid.value.menuConfig.body.options[0][4].visible=true
+ xGrid.value.menuConfig.body.options[0][5].visible=true
+ }
+ xGrid.value.loadData(produceList)
+ gridOptions.loading=false
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+}
+
//瀹氫箟褰撳墠椤垫暟
@@ -150,7 +169,12 @@
}else{
filterData.value[column.property] = value
}
- request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => {
+
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => {
if(res.code==200){
total.dataTotal = res.data.total.total*1
@@ -162,6 +186,9 @@
xGrid.value.menuConfig.body.options[0][2].visible=true
xGrid.value.menuConfig.body.options[0][3].visible=true
}
+
+ orderInfo.searchDeliverFilter.list = xGrid.value.getCheckedFilters()
+ orderInfo.searchDeliverFilter.data = filterData.value
gridOptions.loading=false
}else{
ElMessage.warning(res.msg)
@@ -172,7 +199,11 @@
const selectOrderList = ()=>{
- request.post(`/delivery/getSelectShippingOrder/${pageNum.value}/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => {
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ request.post(`/delivery/getSelectShippingOrder/${pageNum.value}/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => {
if(res.code==200){
if (res.data.total!=null){
@@ -494,6 +525,10 @@
},
cellClick({ row }){
rowClickIndex.value = row
+ },
+ sortChange ({ field, order }) {
+ sortData.value = {field,order}
+ selectOrderList()
}
}
@@ -517,6 +552,9 @@
filterConfig: { //绛涢�夐厤缃」
remote: true
},
+ sortConfig: { //鎺掑簭閰嶇疆椤�
+ remote: true//鏄惁鏈嶅姟绔帓搴�
+ },
customConfig: {
storage: true
},
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
index f4356c9..79df0df 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -1,7 +1,7 @@
<script setup>
import {Search} from "@element-plus/icons-vue"
import {useRouter} from "vue-router"
-import {reactive, ref} from "vue";
+import {onMounted, reactive, ref} from "vue";
import request from "@/utils/request"
import deepClone from "@/utils/deepClone"
import VXETable from "vxe-table";
@@ -18,6 +18,15 @@
const username = userStore.user.userName
const userid = userStore.user.userId
let produceList = ref([])
+
+
+const props = defineProps({
+ customerId: null,
+ project: null,
+ excludeOrderIds: null
+})
+
+const emit = defineEmits(['selectOrders'])
const getTableRow = (row,type) =>{
switch (type) {
@@ -52,11 +61,6 @@
//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
let filterData = ref({
- finishedGoodsInventory:{
- quantityAvailable:'',
-
- },
-
})
let selectDate = ref(["",""])
@@ -68,23 +72,45 @@
})
-//绗竴娆¤皟鐢�
-request.post(`/delivery/getSelectOrderInventory/1/${total.pageSize}/${orderInfo.selectOrderListDate}`,filterData.value).then((res) => {
- if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal= res.data.total.pageTotal
- orderInfo.selectOrderListDate = res.data.selectDate
- pageNum.value=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
+// 绗竴娆¤皟鐢紝淇敼涓哄甫绛涢�夋潯浠�
+const fetchOrders = async () => {
+
+ await request.post(`/delivery/getSelectOrderInventory/${pageNum.value}/${total.pageSize}/${orderInfo.selectOrderListDate}`, filterData.value).then((res) => {
+ if(res.code==200){
+ total.dataTotal = res.data.total.total*1
+ total.pageTotal= res.data.total.pageTotal
+ orderInfo.selectOrderListDate = res.data.selectDate
+ produceList = deepClone(res.data.data)
+ xGrid.value.loadData(produceList)
+ gridOptions.loading=false
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+}
+
+
+onMounted(async () => {
+ if (props.customerId !== undefined) {
+ filterData.value.customerId = props.customerId
+ filterData.value.project = props.project
+ filterData.value.excludeOrderIds = props.excludeOrderIds
+ gridOptions.toolbarConfig.buttons[0].visible = false
+
+ await fetchOrders()
+ } else {
+ gridOptions.toolbarConfig.buttons[1].visible = false
+ filterData.value = orderInfo.searchOrderFilter.data
+ await fetchOrders()
+ orderInfo.searchOrderFilter.list.forEach(item => {
+ xGrid.value.getColumnByField(item.field).filters = item.column.filters
+ })
}
-})
+
+})
const changeFilterEvent = (event, option, $panel,) => {
// 鎵嬪姩瑙﹀彂绛涢��
@@ -104,6 +130,16 @@
}else{
filterData.value[column.property] = value
}
+
+ if(props.customerId!==undefined){
+ filterData.value.customerId = props.customerId
+ filterData.value.project = props.project
+ filterData.value.excludeOrderIds = props.excludeOrderIds
+ gridOptions.toolbarConfig.buttons[0].visible = false
+ }else{
+ gridOptions.toolbarConfig.buttons[1].visible = false
+ }
+
request.post(`/delivery/getSelectOrderInventory/1/${total.pageSize}/${orderInfo.selectOrderListDate}`,filterData.value).then((res) => {
if(res.code==200){
@@ -113,6 +149,13 @@
pageNum.value=1
produceList = deepClone(res.data.data)
xGrid.value.loadData(produceList)
+
+ //涓嶆槸寮圭獥鐣岄潰
+ if(props.customerId===undefined){
+ orderInfo.searchOrderFilter.list = xGrid.value.getCheckedFilters()
+ orderInfo.searchOrderFilter.data = filterData.value
+ }
+
gridOptions.loading=false
}else{
ElMessage.warning(res.msg)
@@ -142,7 +185,7 @@
const changeDate = ()=>{
pageNum.value=1
- selectOrderList()
+ fetchOrders()
}
//椤佃剼璺宠浆
@@ -150,7 +193,7 @@
total.pageTotal = pageSize
pageNum.value=currentPage
- selectOrderList()
+ fetchOrders()
}
@@ -201,7 +244,7 @@
{field: 'customerId',width:120, title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'customerName',width:120, title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'quantity',width:120, title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
+ {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'), sortable: true},
{field: 'project',width:120, title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'batch',width:120, title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'money',width:120, title: t('order.money'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
@@ -215,7 +258,8 @@
],//琛ㄥご鎸夐挳
toolbarConfig: {
buttons: [
- {'code': 'add', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'}
+ {'code': 'add', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'},
+ {'code': 'update', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'}
],
/*import: false,
export: true,
@@ -282,6 +326,37 @@
router.push({path: '/main/delivery/createDelivery', query: { orderId: order_id }})
break
}
+ case 'update': {
+ const selectRecords = $grid.getCheckboxRecords()
+ if (selectRecords.length === 0) {
+ ElMessage.warning(t('productStock.unselectedData'))
+ return
+ }
+
+ // 楠岃瘉鎵�閫夎鍗曟槸鍚︾鍚堟潯浠讹紙铏界劧宸茬瓫閫夛紝浣嗕簩娆¢獙璇佹洿瀹夊叏锛�
+ const customerIdArray = selectRecords.map(item => item.customerId)
+ const projectArray = selectRecords.map(item => item.project?.trim() || '')
+
+ if(!isAllEqual(customerIdArray)){
+ ElMessage.warning(t('delivery.pleaseSelectTheSameCustomerOrder'))
+ return
+ }
+ if(!isAllEqual(projectArray)){
+ ElMessage.warning(t('delivery.pleaseSelectTheSameCustomerProject'))
+ return
+ }
+
+ const simpleOrders = selectRecords.map(order => ({
+ orderId: order.orderId,
+ customerId: order.customerId,
+ project: order.project,
+ // 鍙ˉ鍏呭叾浠栭渶瑕佺殑涓昏鍗曞瓧娈�
+ }));
+
+ // 閫氳繃浜嬩欢杩斿洖缁欑埗缁勪欢
+ emit('select-orders', simpleOrders);
+ break
+ }
}
}
}
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index a579d0d..0b6cb66 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -401,7 +401,9 @@
creator:userStore.user.userName,
creatorId:userStore.user.userId,
newOrderId:newOrderId.value,
- position:company.position
+ position:company.position,
+ orderIdTypeLetter:company.orderIdTypeLetter,
+ orderIdTypeMantissa:company.orderIdTypeMantissa
}
const grossAreaList = $grid.getTableData().fullData.filter(
item=>item.grossArea === 0
diff --git a/north-glass-erp/northglass-erp/src/views/system/userLog/UserListLog.vue b/north-glass-erp/northglass-erp/src/views/system/userLog/UserListLog.vue
new file mode 100644
index 0000000..eb3180c
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/userLog/UserListLog.vue
@@ -0,0 +1,235 @@
+<script setup>
+import {onBeforeMount, onMounted, reactive, ref} from "vue"
+import {changeFilterEvent,filterChanged} from "@/hook"
+import request from "@/utils/request"
+import {useRouter,useRoute} from "vue-router"
+import {useI18n} from "vue-i18n"
+import {ElMessage, ElMessageBox} from "element-plus"
+import deepClone from "@/utils/deepClone";
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+const dialogVisible = ref(false)
+const dialogVisibleProcess = ref(false)
+let roleList = ref([])
+//宸ュ簭
+const processValue = ref()
+let userRole= ref({
+ userId:'',
+ roles:[]
+})
+let processRow = ref({
+ process: null,
+ userId:null
+})
+let produceList = ref([])
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'userList',
+ showFooter: false,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },
+
+ //琛ㄥご鍙傛暟
+ columns:[
+ {type: 'seq', title: t('basicData.Number'), width: 80 ,fixed:"left"},
+ {field: 'operator_id',width:120, title: t('鐧诲綍鍚�'), sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+ {field: 'operator',width:120, title: t('鐢ㄦ埛鍚�'), sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+ {field: 'format_create_time',width:160, title: t('鐧诲綍鏃堕棿'),sortable: true},
+ ],
+
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+
+ ],
+ zoom: true,
+ custom: true
+ },
+})
+
+onMounted(()=>{
+ request.post('/user/getUserLog').then(res=>{
+ if(res.code==200){
+ produceList = deepClone(res.data.data)
+ xGrid.value.loadData(produceList)
+ gridOptions.loading=false
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+
+})
+
+const getTableRow = (row,type) => {
+ switch (type) {
+ case 'edit': {
+ userRole.value.roles = []
+ dialogVisible.value = true
+ row.userRoleList.forEach(item=>{
+ userRole.value.roles.push(item.roleId)
+ })
+ userRole.value.userId = row.id
+ break
+ }
+ case 'delete': {
+ request.post(`/userInfo/userDelete/${row.id}`).then((res) => {
+ if(res.code==200 && res.data ===true){
+ ElMessage.success(t('searchOrder.msgDeleteSuccess'))
+ router.push({path:'/main/user/userList',query:{random:Math.random()}})
+ }else{
+ ElMessage.warning(t('searchOrder.msgDeleteFail'))
+ }
+ })
+ break
+ }
+ case 'editProcess': {
+ dialogVisibleProcess.value = true
+ processRow.value.userId = row.id
+ break
+ }
+
+ }
+}
+
+const handleClose = (done) => {
+ userRole.value.roles = []
+ done()
+}
+
+
+
+
+
+
+
+
+
+</script>
+
+<template>
+ <div style="width: 100%;height: 100%">
+ <div class="main-table">
+ <vxe-grid
+ height="100%"
+ class="mytable-scrollbar"
+ ref="xGrid"
+ v-bind="gridOptions"
+ >
+ <template #filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input
+ type="type"
+ v-model="option.data"
+ @keyup.enter.native="$panel.confirmFilter()"
+ @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+ <template #button_slot="{ row }">
+ <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('user.setUpRoles') }}</el-button>
+ <el-button @click="getTableRow(row,'editProcess')" link type="primary" size="small">{{ $t('user.setProcess') }}</el-button>
+ <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
+ <template #reference>
+ <el-button link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
+ </template>
+ </el-popconfirm>
+ </template>
+
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+ </vxe-grid>
+ </div>
+
+ <el-dialog
+ v-model="dialogVisible"
+ :title="$t('user.roleSelection')"
+ width="30%"
+ :before-close="handleClose"
+ >
+ <span>
+ <el-radio v-for="(item) in roleList"
+ :label="item.id"
+ v-model="userRole.roles" >
+ {{item.role}}
+ </el-radio>
+ </span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false">{{ $t('basicData.cancelButtonText') }}</el-button>
+ <el-button type="primary" @click="roleUpdate">
+ {{ $t('basicData.confirmButtonText') }}
+ </el-button>
+ </span>
+ </template>
+ </el-dialog>
+ <el-dialog
+ v-model="dialogVisibleProcess"
+ :title="$t('user.roleSelection')"
+ width="30%"
+ :before-close="handleClose"
+ >
+ <el-select v-model="processValue" clearable :placeholder="$t('reportingWorks.selectProcess')" default-value="default_city" style="width: 120px">
+ <el-option
+ v-for="item in processRow['process']"
+ :key="item.id"
+ :label="item.basic_name"
+ :value="item.basic_name"
+ />
+ </el-select>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisibleProcess = false">{{ $t('basicData.cancelButtonText') }}</el-button>
+ <el-button type="primary" @click="updateProcess">
+ {{ $t('basicData.confirmButtonText') }}
+ </el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<style scoped>
+.dialog-footer button:first-child {
+ margin-right: 10px;
+}
+.head{
+ width: 100%;
+ height: 35px;
+}
+
+.main-table{
+ width: 100%;
+ height: calc(100% - 0px);
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/system/userLog/UserLog.vue b/north-glass-erp/northglass-erp/src/views/system/userLog/UserLog.vue
new file mode 100644
index 0000000..55f1e9d
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/userLog/UserLog.vue
@@ -0,0 +1,61 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"
+import {useI18n} from "vue-i18n"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+let indexFlag=$ref(1)
+function changeRouter(index){
+ indexFlag=index
+}
+
+
+
+
+</script>
+
+<template>
+ <div id="main-div">
+ <div id="div-title">
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/userLog/userListLog' }">{{$t('鏃ュ織棣栭〉')}}</el-breadcrumb-item>
+ <el-breadcrumb-item v-show="false" />
+ </el-breadcrumb>
+ </div>
+
+ <div id="main-body">
+ <router-view :key="route.fullPath" />
+ </div>
+ </div>
+</template>
+
+<style scoped>
+#main-div{
+ width: 99%;
+ height: 100%;
+}
+#div-title{
+ height: 2%;
+ width: 100%;
+}
+#searchButton{
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+#searchButton1{
+//margin-left: 10rem;
+}
+/*main-body鏍峰紡*/
+#main-body{
+ width: 100%;
+ height: 95%;
+ margin-top: 1%;
+}
+#select{
+ margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/AppController.java b/north-glass-erp/src/main/java/com/example/erp/controller/AppController.java
index cb889b9..38f1f81 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/AppController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/AppController.java
@@ -67,12 +67,14 @@
@ApiOperation("鍙叆搴撶殑鎴愬搧鏌ヨ鎺ュ彛")
@PostMapping("/getSelectWarehousingList")
+ @SaCheckPermission("createProductStock.search")
public Result getSelectWarehousingList(@RequestBody Map<String,String> map){
return Result.success(finishedGoodsInventoryService.getSelectWarehousingApp(map.get("processId")));
}
@ApiOperation("鎴愬搧鍏ュ簱鎺ュ彛")
@PostMapping("/addSelectWarehousing")
+ @SaCheckPermission("createProductStock.add")
public Result addSelectWarehousing( @RequestBody Map<String,Object> object){
return Result.success(finishedGoodsInventoryService.addSelectWarehousing(object));
@@ -80,12 +82,14 @@
@ApiOperation("鍙彂璐х殑鎴愬搧鏌ヨ鎺ュ彛")
@PostMapping("/getSelectDeliveryDetailList")
+ @SaCheckPermission("finishedProductOut.search")
public Result getSelectDeliveryDetailList(){
return Result.success(finishedGoodsInventoryService.getSelectDeliveryDetailApp());
}
@ApiOperation("鎴愬搧鍑哄簱鎺ュ彛")
@PostMapping("/addDeliveryDetail")
+ @SaCheckPermission("finishedProductOut.add")
public Result addDeliveryDetail( @RequestBody Map<String,Object> object){
return Result.success(finishedGoodsInventoryService.addDeliveryDetail(object));
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
index 55a04c9..63f3dd4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/DeliveryController.java
@@ -39,8 +39,8 @@
@ApiOperation("鍙戣揣璁㈠崟鏌ヨ鎺ュ彛")
@SaCheckPermission("selectDelivery.search")
@PostMapping("/getSelectShippingOrder/{pageNum}/{pageSize}/{selectDate}")
- public Result getSelectShippingOrder(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody Delivery delivery) throws JsonProcessingException {
- return Result.success(deliveryService.getSelectShippingOrder(pageNum,pageSize,selectDate,delivery));
+ public Result getSelectShippingOrder(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody Map<String,Object> config) throws JsonProcessingException {
+ return Result.success(deliveryService.getSelectShippingOrder(pageNum,pageSize,selectDate,config));
}
/*鍙戣揣鎶ヨ〃鏌ヨ*/
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java
index 2f57860..5269f53 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserController.java
@@ -68,4 +68,10 @@
return Result.success( userService.updateUserName(object));
}
+ @ApiOperation("鐢ㄦ埛鐧诲綍璁板綍")
+ @PostMapping("/getUserLog")
+ public Result getUserLog(){
+ return Result.success( userService.getUserLog());
+ }
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliverySearchDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliverySearchDTO.java
new file mode 100644
index 0000000..22de8e2
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/sd/DeliverySearchDTO.java
@@ -0,0 +1,74 @@
+package com.example.erp.dto.sd;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.example.erp.entity.sd.Order;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+
+@Data
+public class DeliverySearchDTO {
+ @ExcelProperty("缂栧彿")
+ private Long id;
+ @ExcelProperty("鍙戣揣鐘舵��")
+ private Integer deliveryState;
+ @ExcelProperty("鍑哄簱鐘舵��")
+ private Integer stockState;
+ @ExcelProperty("浠樻鏉′欢")
+ private String paymentTerms;
+ @ExcelProperty("鍙戣揣鍗曞彿")
+ private String deliveryId;
+ @ExcelProperty("璁㈠崟缂栧彿")
+ private String orderId;
+ @ExcelProperty("椤圭洰鍚嶇О")
+ private String project;
+ @ExcelProperty("瀹㈡埛缂栧彿")
+ private String customerId;
+ @ExcelProperty("瀹㈡埛鍚嶇О")
+ private String customerName;
+ @ExcelProperty("鍙戣揣鏃ユ湡")
+ private LocalDate deliveryDate;
+ @ExcelProperty("鏀粯鏂瑰紡")
+ private String payMethod;
+ @ExcelProperty("鏀粯鏃ユ湡")
+ private LocalDate payDate;
+ @ExcelProperty("閿�鍞汉id")
+ private String salesmanId;
+ @ExcelProperty("閿�鍞汉")
+ private String salesman;
+ @ExcelProperty("鍒涘缓浜篿d")
+ private String creatorId;
+ @ExcelProperty("鍒涘缓浜�")
+ private String creator;
+ @ExcelProperty("鑱旂郴浜�")
+ private String contacts;
+ @ExcelProperty("鑱旂郴鐢佃瘽")
+ private String contactNumber;
+ @ExcelProperty("閫佽揣鍦板潃")
+ private String deliveryAddress;
+ @ExcelProperty("闈㈢Н")
+ private Double area;
+ @ExcelProperty("鏁伴噺")
+ private Integer quantity;
+ @ExcelProperty("鎬婚噾棰�")
+ private Double money;
+ @ExcelProperty("鍏朵粬閲戦")
+ private Double otherMoney;
+ @ExcelProperty("杩愯垂閲戦")
+ private Double freight;
+ @ExcelProperty("杩愯垂鏁伴噺")
+ private Integer freightQuantity;
+ @ExcelProperty("杩愯垂鍗曚环")
+ private Double freightPrice;
+ @ExcelProperty("鎵撳嵃娆℃暟")
+ private Integer printingNumber;
+ @ExcelProperty("澶囨敞")
+ private String remarks;
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private LocalDate createTime;
+ @ExcelProperty("淇敼鏃堕棿")
+ private LocalDate updateTime;
+
+ private Order order;
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
index da7be5d..abf8760 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -9,6 +9,7 @@
import lombok.Data;
import java.time.LocalDate;
+import java.util.List;
@Data
@TableName("sd.`order`")
@@ -105,6 +106,8 @@
private Integer goodsQuantity;
@TableField(select = false,exist = false)
private String timeOut;
+ @TableField(select = false,exist = false)
+ private List<String> excludeOrderIds;
@TableField(value = "customer_id")
private Customer customer;
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
index b063e68..a7a7a6d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryMapper.java
@@ -1,5 +1,6 @@
package com.example.erp.mapper.sd;
+import com.example.erp.dto.sd.DeliverySearchDTO;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.Delivery;
import com.example.erp.entity.sd.DeliveryDetail;
@@ -17,7 +18,7 @@
List<Delivery> getSelectShippingOrder(@Param("offset") Integer offset,
@Param("pageSize") Integer pageSize,String startDate, String endDate,
- @Param("delivery") Delivery delivery);
+ @Param("delivery") DeliverySearchDTO delivery,String field, String orderBy);
Delivery getSelectShippingOrderDetailDelivery(@Param("offset") Integer offset,
@Param("pageSize") Integer pageSize,
@@ -30,7 +31,7 @@
Order getSelectShippingOrderDetailDeliverys(@Param("offset") Integer offset,
@Param("pageSize") Integer pageSize,
@Param("orderDetail") OrderDetail orderDetail);
- Map<String,Integer> getSelectShippingOrderPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Delivery delivery);
+ Map<String,Integer> getSelectShippingOrderPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, DeliverySearchDTO delivery);
List<Order> getSelectOrderInventory(@Param("offset") Integer offset,
@Param("pageSize") Integer pageSize,String startDate, String endDate,
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
index ac9a6a0..fc5fc75 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Select;
import java.util.List;
+import java.util.Map;
@Mapper
@@ -41,4 +42,6 @@
List<User> findByAddress(String userName);
String selectOptimizeParmsById(@Param("username") String username);
+
+ List<Map<String, Object>> getUserLog();
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index f659512..8eb787d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -10,6 +10,8 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.dto.sd.DeliveryDetailDTO;
import com.example.erp.dto.sd.DeliveryDetailProductDTO;
+import com.example.erp.dto.sd.DeliverySearchDTO;
+import com.example.erp.dto.sd.OrderSearchDTO;
import com.example.erp.entity.mm.FinishedOperateLog;
import com.example.erp.entity.sd.*;
import com.example.erp.entity.userInfo.Log;
@@ -60,7 +62,7 @@
FinishedGoodsInventoryService finishedGoodsInventoryService;
- public Map<String, Object> getSelectShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Delivery delivery) throws JsonProcessingException {
+ public Map<String, Object> getSelectShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Map<String,Object> config) throws JsonProcessingException {
Integer offset = (pageNum - 1) * pageSize;
String endDate = LocalDate.now().toString();
String startDate = LocalDate.now().minusDays(15).toString();
@@ -72,8 +74,14 @@
endDate = selectDate.get(1);
}
}
+ JSONObject orderJson = new JSONObject(config);
+ DeliverySearchDTO delivery = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), DeliverySearchDTO.class);
+ Map<String,String> sortDate = (Map<String, String>) config.get("sort");
+ String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
+ String orderBy = sortDate.get("order");
+
Map<String, Object> map = new HashMap<>();
- map.put("data", deliveryMapper.getSelectShippingOrder(offset, pageSize,startDate,endDate, delivery));
+ map.put("data", deliveryMapper.getSelectShippingOrder(offset, pageSize,startDate,endDate, delivery,field, orderBy));
map.put("total", deliveryMapper.getSelectShippingOrderPageTotal(offset, pageSize,startDate,endDate, delivery));
List<String> list = new ArrayList<>();
list.add(startDate);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 1ce87df..9e6e1ee 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -29,7 +29,6 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.sql.SQLOutput;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -67,6 +66,8 @@
public boolean saveOrder(Map<String,Object> orderMap) throws Exception {
JSONObject orderJson = new JSONObject(orderMap);
String orderIdType = orderJson.getString("orderIdType");
+ String orderIdTypeLetter = orderJson.getString("orderIdTypeLetter");
+ Integer orderIdTypeMantissa = orderJson.getInteger("orderIdTypeMantissa");
Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("title")), Order.class);
List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("detail")), OrderDetail.class);
List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("otherMoney")), OrderOtherMoney.class);
@@ -85,7 +86,12 @@
log.setContent(orderMap.toString());
if(order.getOrderId() == null || order.getOrderId().isEmpty()){
- insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType, (Map<String, String>) orderMap.get("position"));
+ insertOrder(order,
+ OrderDetails,orderOtherMoneyList,orderIdType,
+ (Map<String, String>) orderMap.get("position"),
+ orderIdTypeLetter,
+ orderIdTypeMantissa
+ );
log.setFunction("saveOrder鍒涘缓:"+order.getOrderId());
}else {
updateOrder(order,OrderDetails,orderOtherMoneyList,(Map<String, String>) orderMap.get("position"));
@@ -165,9 +171,9 @@
return map;
}
//鐢熸垚璁㈠崟鏁版嵁
- public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position) {
+ public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position, String orderIdTypeLetter, Integer orderIdTypeMantissa) {
//鏍规嵁浼犲叆鐨勫綋鍓嶆湀浠芥垨鑰呭綋澶╃敓鎴愯鍗昳d
- String orderId = getOrderId(orderIdType);
+ String orderId = getOrderId(orderIdType,orderIdTypeLetter,orderIdTypeMantissa);
//寰�涓昏〃鎻掓暟鎹�
order.setOrderId(orderId);
order.setCreateOrder(2);
@@ -175,32 +181,34 @@
insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList,position);
}
- private String getOrderId(String dateType){
+ private String getOrderId(String dateType, String orderIdTypeLetter, Integer orderIdTypeMantissa){
String orderId = null;
+ Integer orderIdTypeLetterLen = orderIdTypeLetter.length();
+ Integer count = orderIdTypeLetterLen+orderIdTypeMantissa;
if(dateType==null || dateType.equals("day")){
Integer maxOrderId = orderMapper.selectMaxOrderId();
//鏌ヨ璁㈠崟id锛屽苟涓旇嚜澧�
- String formattedNumber = String.format("%02d", maxOrderId+1);
+ String formattedNumber = String.format("%0"+orderIdTypeMantissa+"d", maxOrderId+1);
//鏍煎紡鍖栧綋鍓嶆棩鏈�
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
String formattedDate = dateFormat.format(currentDate);
- orderId = "NG"+formattedDate+formattedNumber;
+ orderId = orderIdTypeLetter+formattedDate+formattedNumber;
}else if(dateType.equals("month")){
Integer maxOrderId = orderMapper.selectMaxOrderIdByMonth();
- String formattedNumber = String.format("%04d", maxOrderId+1);
+ String formattedNumber = String.format("%0"+(orderIdTypeMantissa+2)+"d", maxOrderId+1);
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMM");
String formattedDate = dateFormat.format(currentDate);
- orderId = "NG"+formattedDate+formattedNumber;
+ orderId = orderIdTypeLetter+formattedDate+formattedNumber;
}else if(dateType.equals("year")){
Integer maxOrderId = orderMapper.selectMaxOrderIdByYear();
- String formattedNumber = String.format("%06d", maxOrderId+1);
+ String formattedNumber = String.format("%"+(orderIdTypeMantissa+4)+"d", maxOrderId+1);
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yy");
String formattedDate = dateFormat.format(currentDate);
- orderId = "NG"+formattedDate+formattedNumber;
+ orderId = orderIdTypeLetter+formattedDate+formattedNumber;
}
return orderId;
}
@@ -1045,6 +1053,7 @@
List<Order> list = orderMapper.selectList(new LambdaQueryWrapper<Order>()
.apply("create_order > 0")
.apply("date(create_time) between {0} and {1}",startDate, endDate)
+ .orderByDesc(Order::getOrderId)
);
Integer quantity = 0;
Double area = 0.00;
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
index 3b0510c..64ca017 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,11 +5,13 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.controller.dto.UserDTO;
+import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.Role;
import com.example.erp.entity.userInfo.User;
import com.example.erp.mapper.pp.ProductionSchedulingMapper;
import com.example.erp.mapper.userInfo.*;
import com.example.erp.tools.TokenTools;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@@ -27,6 +29,9 @@
private final PermissionRoleMapper permissionRoleMapper;
private final ProductionSchedulingMapper productionSchedulingMapper;
+
+ @Autowired
+ LogService logService;
public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper, UserRoleMapper userRoleMapper, ProductionSchedulingMapper productionSchedulingMapper) {
this.userMapper = userMapper;
@@ -142,6 +147,13 @@
userDTO.setToken(StpUtil.getTokenValue());
Boolean userIsAdmin= userRoleMapper.getUserIsAdmin(user.getId());
userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId(),userIsAdmin));
+
+ Log log = new Log();
+ log.setOperator(user.getUserName());
+ log.setOperatorId(userDTO.getUserId());
+ log.setContent(userDTO.toString());
+ log.setFunction("鐢ㄦ埛鐧诲綍");
+ logService.saveLog(log);
return userDTO;
}else{
return null;
@@ -208,6 +220,12 @@
return map;
}
+ public Object getUserLog() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", userMapper.getUserLog());
+ return map;
+ }
+
//鏌ヨ鐢ㄦ埛浼樺寲鍙傛暟
public String getOptimizeParms(String username) {
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index 98993d9..e921024 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -486,6 +486,7 @@
and od.perimeter regexp #{orderDetail.perimeter}
</if>
</where>
+ order by od.order_id,od.order_number
</select>
<select id="getSelectShippingOrderDetailsPageTotal">
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
index 337f2c0..57931dc 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -179,9 +179,6 @@
<if test="order.createTime != null and order.createTime != ''">
and o.create_time REGEXP #{order.createTime}
</if>
- <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''">
- and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
- </if>
</where>
group by o.order_id order by o.id desc
limit #{offset},#{pageSize};
@@ -236,9 +233,6 @@
</if>
<if test="order.createTime != null and order.createTime != ''">
and o.create_time REGEXP #{order.createTime}
- </if>
- <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''">
- and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
</if>
</where>
group by o.order_id limit #{offset},#{pageSize}) as zu;
@@ -350,7 +344,16 @@
</where>
group by d.delivery_id
- order by d.id desc
+ order by
+ <if test="orderBy == null ">
+ d.id desc
+ </if>
+ <if test="orderBy == 'desc'">
+ d.${field} desc
+ </if>
+ <if test="orderBy == 'asc'">
+ d.${field}
+ </if>
limit #{offset},#{pageSize};
</select>
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/User.xml b/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
index 6629db6..c10d566 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
@@ -110,5 +110,10 @@
SELECT optimize_parms FROM erp_user_info.user WHERE user_name = #{username}
</select>
+ <select id="getUserLog" >
+ SELECT operator_id,operator,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS format_create_time
+ FROM erp_log.log
+ WHERE create_time >= DATE_SUB(NOW(), INTERVAL 1 MONTH) and `function`='鐢ㄦ埛鐧诲綍' order by create_time desc limit 0,100
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0