From 9b9fdcb4711279a303cf8da9ce9e3ff30b1bf6e0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 20 三月 2025 16:45:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue | 199 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 139 insertions(+), 60 deletions(-)
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 ef83581..0f3d636 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
@@ -628,29 +628,62 @@
if(result){
const dataList = xGrid.value.getTableData().visibleData
const val = getNestedProperty(dataList[result.start],result.cell)+""
+ if(!/\d$/.test(val)){
+ const matches = val.match(/\D/g);
+ const b= val.lastIndexOf(matches[matches.length-1])
- const numbersArr = []
- const regex = /\d+/g
- let match
- while ((match = regex.exec(val))) {
- numbersArr.push({ number: match[0], index: match.index });
- }
- let numbers=numbersArr[numbersArr.length-1]
- var subStr1 = val.substring(numbers.index);
- var subStr2 = val.substring(0, numbers.index);
- let number = parseInt(subStr1)
- var reg =new RegExp(number,"g")
- dataList.forEach((item,index) =>{
- if(index>=result.start ){
- let newStr = subStr1.replace(reg, number);
- if(parseInt(newStr)>9){
- newStr=parseInt(newStr)
- }
- setNestedValue(item,result.cell,subStr2+newStr)
- number=number+1
+ const numbersArr = []
+ const regex = /\d+/g
+ let match
+ while ((match = regex.exec(val))) {
+ numbersArr.push({ number: match[0], index: match.index });
}
+ let numbers=numbersArr[numbersArr.length-1]
+ var subStr1 = val.substring(numbers.index);
+ const matche = subStr1.match(/(\d+)([^0-9]|$)/);
+ const a= val.lastIndexOf(matche[2])
+ var subStr2 = val.substring(0, numbers.index);
+ var subStr3 = val.substring(a,b+1);
+ let number = parseInt(subStr1)
+ var reg =new RegExp(number,"g")
+ dataList.forEach((item,index) =>{
+ if(index>=result.start ){
+ let newStr = subStr1.replace(reg, number);
+ if(parseInt(newStr)>9){
+ newStr=parseInt(newStr)
+ if(!/\d$/.test(val)){
+ newStr=newStr+subStr3
+ }
+ }
+ setNestedValue(item,result.cell,subStr2+newStr)
+ number=number+1
+ }
- })
+ })
+ }else{
+ const numbersArr = []
+ const regex = /\d+/g
+ let match
+ while ((match = regex.exec(val))) {
+ numbersArr.push({ number: match[0], index: match.index });
+ }
+ let numbers=numbersArr[numbersArr.length-1]
+ var subStr1 = val.substring(numbers.index);
+ var subStr2 = val.substring(0, numbers.index);
+ let number = parseInt(subStr1)
+ var reg =new RegExp(number,"g")
+ dataList.forEach((item,index) =>{
+ if(index>=result.start ){
+ let newStr = subStr1.replace(reg, number);
+ if(parseInt(newStr)>9){
+ newStr=parseInt(newStr)
+ }
+ setNestedValue(item,result.cell,subStr2+newStr)
+ number=number+1
+ }
+
+ })
+ }
}
computedMoney(result.cell)
@@ -662,36 +695,62 @@
if (result) {
const dataList = xGrid.value.getTableData().visibleData
const val = getNestedProperty(dataList[result.start], result.cell)+""
- const numbersArr = []
- const regex = /\d+/g
- let match
- while ((match = regex.exec(val))) {
- numbersArr.push({ number: match[0], index: match.index });
- }
- let numbers=numbersArr[numbersArr.length-1]
- var subStr1 = val.substring(numbers.index);
- var subStr2 = val.substring(0, numbers.index);
- let number = parseInt(subStr1)
- var reg =new RegExp(number,"g")
- dataList.forEach((item,index) =>{
- if(index >= result.start && index <= result.end){
- let newStr = subStr1.replace(reg, number);
- if(parseInt(newStr)>9){
- newStr=parseInt(newStr)
- }
- setNestedValue(item,result.cell,subStr2+newStr)
- number=number+1
- }
+ if(!/\d$/.test(val)){
+ const matches = val.match(/\D/g);
+ const b= val.lastIndexOf(matches[matches.length-1])
- })
- /*let numbers = parseInt(val.match(/(\d+)$/))
- const string=val.replace(/\d+$/, '')
- dataList.forEach((item, index) => {
- if (index >= result.start && index <= result.end) {
- setNestedValue(item, result.cell, string + numbers)
- numbers = numbers + 1
+ const numbersArr = []
+ const regex = /\d+/g
+ let match
+ while ((match = regex.exec(val))) {
+ numbersArr.push({ number: match[0], index: match.index });
}
- })*/
+ let numbers=numbersArr[numbersArr.length-1]
+ var subStr1 = val.substring(numbers.index);
+ const matche = subStr1.match(/(\d+)([^0-9]|$)/);
+ const a= val.lastIndexOf(matche[2])
+ var subStr2 = val.substring(0, numbers.index);
+ var subStr3 = val.substring(a,b+1);
+ let number = parseInt(subStr1)
+ var reg =new RegExp(number,"g")
+ dataList.forEach((item,index) =>{
+ if(index >= result.start && index <= result.end){
+ let newStr = subStr1.replace(reg, number);
+ if(parseInt(newStr)>9){
+ newStr=parseInt(newStr)
+ newStr=newStr+subStr3
+ }
+ setNestedValue(item,result.cell,subStr2+newStr)
+ number=number+1
+ }
+
+ })
+ }else{
+ const numbersArr = []
+ const regex = /\d+/g
+ let match
+ while ((match = regex.exec(val))) {
+ numbersArr.push({ number: match[0], index: match.index });
+ }
+ let numbers=numbersArr[numbersArr.length-1]
+ var subStr1 = val.substring(numbers.index);
+ var subStr2 = val.substring(0, numbers.index);
+ let number = parseInt(subStr1)
+ var reg =new RegExp(number,"g")
+ dataList.forEach((item,index) =>{
+ if(index >= result.start && index <= result.end){
+ let newStr = subStr1.replace(reg, number);
+ if(parseInt(newStr)>9){
+ newStr=parseInt(newStr)
+ }
+ setNestedValue(item,result.cell,subStr2+newStr)
+ number=number+1
+ }
+
+ })
+ }
+
+
}
computedMoney(result.cell)
@@ -875,6 +934,8 @@
if(titleUploadData.value.calculateType===3){
item.grossAmount=multiply(item.price,item.quantity)
+ }else if(titleUploadData.value.calculateType===4){
+ item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
}else{
item.grossAmount=multiply(item.price,item.computeGrossArea)
}
@@ -938,7 +999,7 @@
titleUploadData.value.alType = titleSelectJson.value.alType[0].basicName
titleUploadData.value.calculateType = company.calculateType
const today = new Date
- today.setTime(today.getTime() + (7 * 24 * 60 * 60 * 1000))
+ today.setTime(today.getTime() + (company.deliveryDate * 24 * 60 * 60 * 1000))
titleUploadData.value.deliveryDate = today.getFullYear() +
'-' + ("0" + (today.getMonth() + 1)).slice(-2)
+ '-' + ("0" + today.getDate()).slice(-2)
@@ -1122,15 +1183,21 @@
let projects = ref([])
-/*const changeProject = (val) => {
- titleUploadData.value.salesmanId = null
- titleUploadData.value.salesman = null
-}*/
+const changeProject = (item) => {
+ if(typeof item === 'string'){
+ titleUploadData.value.project = item
+ return
+ }
+ titleUploadData.value.project = item.project
+ titleUploadData.value.salesmanId = parseInt(item.salesmanId)
+ titleUploadData.value.salesman = item.salesman
+ titleUploadData.value.contacts = item.contacts
+ titleUploadData.value.contactNumber = item.contactNumber
+}
const changeCustomer = () => {
const changedCustomerId = titleUploadData.value.customerId
const customer = titleSelectJson.value.customer.filter(item => item.id === changedCustomerId)
- console.log(customer)
titleUploadData.value.customerName = customer[0].customerName
titleUploadData.value.project = customer[0].project
titleUploadData.value.salesmanId = customer[0].salesmanId
@@ -1143,7 +1210,7 @@
const changeSaleMan = () => {
const changedSaleManId = titleUploadData.value.salesmanId
const SaleMan = titleSelectJson.value.saleMan.filter(item => item.id === changedSaleManId)
- titleUploadData.value.salesman = SaleMan[0].basicName
+ titleUploadData.value.salesman = SaleMan[0]['basicName']
}
const area = (row) => {
@@ -1155,7 +1222,11 @@
// 鑾峰彇淇濈暀闈㈢Н,
const decValue = company.decValue
switch (titleUploadData.value.calculateType){
- case 2:{
+ case 2 :{
+ areaSum = parseFloat(divideAuto(row.width * row.height* row.quantity,1000000,company.decValue))
+ break
+ }
+ case 4:{
areaSum = parseFloat(divideAuto(row.width * row.height* row.quantity,1000000,company.decValue))
break
}
@@ -1218,6 +1289,8 @@
}
if(titleUploadData.value.calculateType===3){
item.grossAmount=multiply(item.price , item.quantity)
+ }else if(titleUploadData.value.calculateType===4){
+ item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
}else{
item.grossAmount=multiply(item.price * 1 , item.computeGrossArea)
}
@@ -1279,6 +1352,8 @@
}
if(titleUploadData.value.calculateType===3){
row.grossAmount=multiply(row.price ,row.quantity)
+ }else if(titleUploadData.value.calculateType===4){
+ row.grossAmount=parseFloat(divideAuto(row.width * row.height* row.quantity*row.price,1000000,company.decValue))
}else{
row.grossAmount=multiply(row.price , row.computeGrossArea)
}
@@ -1378,6 +1453,10 @@
if( !isNaN(item.computeArea*1) && item.computeArea != null ){
if(titleUploadData.value.calculateType===3){
item.grossAmount=parseFloat(multiply(item.price , item.quantity))
+ }else if(titleUploadData.value.calculateType===4){
+ item.grossArea = countArea(item)
+ item.computeGrossArea = item.grossArea
+ item.grossAmount=parseFloat(divideAuto(item.width * item.height* item.quantity*item.price,1000000,company.decValue))
}else{
item.grossArea = countArea(item)
item.computeGrossArea = item.grossArea
@@ -1418,8 +1497,8 @@
xGrid.value.clearEdit()
let rowNext = row
delete rowNext._X_ROW_KEY
- xGrid.value.insertAt(rowNext, xGrid.value.getTableData.length || -1)
- //xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1)
+ //xGrid.value.insertAt(rowNext, xGrid.value.getTableData.length || -1)
+ xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1)
}
const nextRow = xGrid.value.getTableData().fullData[nextRowIndex]
xGrid.value.setCurrentRow(nextRow)
@@ -1505,7 +1584,7 @@
clearable placeholder=" " allow-create filterable >
<el-option v-for="item in projects"
:label="item.project"
- :value="item.project"/>
+ :value="item"/>
</el-select>
@@ -1592,6 +1671,7 @@
<el-option :value="1" :label="t('order.areaAmountPerPiece')"/>
<el-option :value="2" :label="t('order.areaAmountAge')"/>
<el-option :value="3" :label="t('order.quantityMount')"/>
+ <el-option :value="4" :label="t('order.allAmount')"/>
</el-select>
</el-col>
<el-col :span="2"><el-text>*{{$t('order.salesman')}}锛�</el-text></el-col>
@@ -1687,7 +1767,6 @@
class="product1"
v-model="productVisible"
@closed="closeProductDialog"
- :destroy-on-close="true"
style="width: 80%;height:75%; ">
<template #header >
<div class="my-header">
--
Gitblit v1.8.0