From 9249c74238e23f8e0d53beb885751d7a37436609 Mon Sep 17 00:00:00 2001
From: Aoi_Tori <2547614904@qq.com>
Date: Mon, 7 Jul 2025 17:31:00 +0800
Subject: [PATCH] 2025/7/7
---
src/api/customer/projectInformation.js | 1 +
.../technicalSpecificationList.js | 1 +
.../customerInformationManagement.vue | 44 +++-
src/views/modules/part/bomManagement.vue | 2 +-
src/views/modules/part/partInformation.vue | 12 +-
src/views/modules/part/recipeManagement.vue | 2 +-
.../projectInfo/com_project_info_part.vue | 4 +
.../com_project_technicalSpecification.vue | 3 +-
.../project/projectInfo/projectInfo.vue | 230 +-----------------
...com_projectPart_technicalSpecification.vue | 3 +-
.../technicalSpecificationList.vue | 18 +-
11 files changed, 76 insertions(+), 244 deletions(-)
diff --git a/src/api/customer/projectInformation.js b/src/api/customer/projectInformation.js
index d260f2c..641dc92 100644
--- a/src/api/customer/projectInformation.js
+++ b/src/api/customer/projectInformation.js
@@ -6,4 +6,5 @@ import { createAPI } from "@/utils/httpRequest.js";
* @returns {*}
*/
export const projectInformationSearch = data => createAPI(`/plm/projectInformation/projectInformationSearch`,'post',data)
+export const projectInformationSearchByCustomers = data => createAPI(`/plm/projectInformation/projectInformationSearch/customers`,'post',data)
diff --git a/src/api/sampleManagement/technicalSpecificationList.js b/src/api/sampleManagement/technicalSpecificationList.js
index 4b891ca..4f68bbb 100644
--- a/src/api/sampleManagement/technicalSpecificationList.js
+++ b/src/api/sampleManagement/technicalSpecificationList.js
@@ -1,6 +1,7 @@
import { createAPI } from "@/utils/httpRequest.js";
export const technicalSpecificationListSearch = data => createAPI(`/technicalSpecification/technicalSpecificationListSearch`,'post',data)
+export const technicalSpecificationListSearchInPane = data => createAPI(`/technicalSpecification/technicalSpecificationListSearch/pane`,'post',data)
export const technicalSpecificationListSearchByAnyField = data => createAPI(`/technicalSpecification/technicalSpecificationListSearch/any`,'post',data)
export const saveTechnicalSpecificationSheet = data => createAPI(`/technicalSpecification/saveTechnicalSpecificationSheet`,'post',data)
export const searchTechnicalSpecificationTeamStr = data => createAPI(`/technicalSpecification/searchTechnicalSpecificationTeamStr`,'post',data)
diff --git a/src/views/modules/customer/customerInformationManagement.vue b/src/views/modules/customer/customerInformationManagement.vue
index f85b2e5..68b1b06 100644
--- a/src/views/modules/customer/customerInformationManagement.vue
+++ b/src/views/modules/customer/customerInformationManagement.vue
@@ -753,6 +753,7 @@ import DictDataSelect from '../sys/dict-data-select.vue'
import saveOrUpdate from '../project/projectInfo/com_projectInfo-add-or-update.vue'
import partUploadFile from '../part/part_upload_file.vue'
import AddOrUpdate from "../project/projectInfo/com_projectInfo-add-or-update.vue";
+import {projectInformationSearchByCustomers} from "../../../api/customer/projectInformation";
export default {
components: {
@@ -2467,20 +2468,39 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
- let tempData = {
- informationList: this.customerSelections
+ let tempData1 = {
+ projectList: this.customerSelections.map(item => ({
+ ...item,
+ customerId: item.customerNo
+ }))
}
- customerInformationDelete(tempData).then(({data}) => {
- if (data && data.code === 0) {
- this.getDataList()
- this.customerSelections = []
- this.$message({
- message: '操作成功',
- type: 'success',
- duration: 1500,
- onClose: () => {
+ projectInformationSearchByCustomers(tempData1).then((data) => {
+ if (data.data && data.data.code === 0) {
+ if (data.data.rows.length > 0){
+ this.$message.warning('该客户已关联项目信息,不允许删除!')
+ }
+ else {
+ let tempData = {
+ informationList: this.customerSelections
}
- })
+ customerInformationDelete(tempData).then(({data}) => {
+ if (data && data.code === 0) {
+ this.getDataList()
+ this.customerSelections = []
+ this.$message({
+ message: '操作成功',
+ type: 'success',
+ duration: 1500,
+ onClose: () => {
+ }
+ })
+ } else {
+ this.$alert(data.msg, '错误', {
+ confirmButtonText: '确定'
+ })
+ }
+ })
+ }
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
diff --git a/src/views/modules/part/bomManagement.vue b/src/views/modules/part/bomManagement.vue
index 4d5ce90..79743d3 100644
--- a/src/views/modules/part/bomManagement.vue
+++ b/src/views/modules/part/bomManagement.vue
@@ -270,7 +270,7 @@
更多
- 产品BOM
+ 产品BOM
配方BOM
Routing
diff --git a/src/views/modules/part/partInformation.vue b/src/views/modules/part/partInformation.vue
index 33dd9b0..06c4b02 100644
--- a/src/views/modules/part/partInformation.vue
+++ b/src/views/modules/part/partInformation.vue
@@ -129,8 +129,8 @@
更多
- 产品BOM
- 配方BOM
+ 产品BOM
+ 配方BOM
Routing
转正式物料
@@ -4807,6 +4807,10 @@
this.$message.warning('存在物料属性,属性模板不能为空值!')
return
}
+ if (this.modalData.partType==='Manufactured Recipe'&&!(this.modalData.density&&this.modalData.density!=='')){
+ this.$message.warning('请填写密度!')
+ return
+ }
// 校验属性必须都填有属性值
if (this.partItemList.length > 0
&& this.partItemList.some(item => {
@@ -5787,10 +5791,10 @@
if (type === 'Routing' ) {
path = 'routing'
// } else if (type === 'BOM' && row.partType !== 'Manufactured Recipe') {
- } else if (row.ifHasPeifang === 'N') {
+ } else if (type === 'BOM') {
path = 'bom'
// } else if (type === 'BOM' && row.partType === 'Manufactured Recipe') {
- } else if (row.ifHasPeifang === 'Y') {
+ } else if (type === 'Recipe') {
path = 'recipe'
}
if (this.$router.resolve(`/part-${path}Management`).resolved.name === '404') {
diff --git a/src/views/modules/part/recipeManagement.vue b/src/views/modules/part/recipeManagement.vue
index e3b840e..babe92d 100644
--- a/src/views/modules/part/recipeManagement.vue
+++ b/src/views/modules/part/recipeManagement.vue
@@ -76,7 +76,7 @@
fixed="right"
header-align="center"
align="center"
- width="120"
+ width="150"
label="操作">
编辑
diff --git a/src/views/modules/project/projectInfo/com_project_info_part.vue b/src/views/modules/project/projectInfo/com_project_info_part.vue
index 1a9a766..6657e4a 100644
--- a/src/views/modules/project/projectInfo/com_project_info_part.vue
+++ b/src/views/modules/project/projectInfo/com_project_info_part.vue
@@ -2437,6 +2437,10 @@ import {
this.$message.warning('存在物料属性,属性模板不能为空值!')
return
}
+ if (this.modalData.partType==='Manufactured Recipe'&&!(this.modalData.density&&this.modalData.density!=='')){
+ this.$message.warning('请填写密度!')
+ return
+ }
// 校验属性必须都填有属性值
if (this.partItemList.length > 0
&& this.partItemList.some(item => {
diff --git a/src/views/modules/project/projectInfo/com_project_technicalSpecification.vue b/src/views/modules/project/projectInfo/com_project_technicalSpecification.vue
index 5556dd9..53985c0 100644
--- a/src/views/modules/project/projectInfo/com_project_technicalSpecification.vue
+++ b/src/views/modules/project/projectInfo/com_project_technicalSpecification.vue
@@ -68,6 +68,7 @@
} from "@/api/sampleManagement/technicalSpecificationList.js"
import Chooselist from '@/views/modules/common/Chooselist'
+ import {technicalSpecificationListSearchInPane} from "../../../../api/sampleManagement/technicalSpecificationList";
export default {
components: {
Chooselist
@@ -442,7 +443,7 @@
},
searchTable(){
- technicalSpecificationListSearch(this.searchData).then(({data}) => {
+ technicalSpecificationListSearchInPane(this.searchData).then(({data}) => {
//区分请求成功和失败的状况
if (data && data.code == 0) {
this.dataList = data.page.list
diff --git a/src/views/modules/project/projectInfo/projectInfo.vue b/src/views/modules/project/projectInfo/projectInfo.vue
index 689d61c..4c59a58 100644
--- a/src/views/modules/project/projectInfo/projectInfo.vue
+++ b/src/views/modules/project/projectInfo/projectInfo.vue
@@ -1984,235 +1984,21 @@
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
- }).then(() => {
-
- // 校验附件信息
- const ossCheck = new Promise((resolve, reject) => {
- let ossParams = {
- orderRef1: row.site,
- orderRef2: row.projectId
- }
- queryOss(ossParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.rows.length===0) {
- resolve(true);
- }else {
- reject(new Error('该项目已存在附件,不允许删除!'))
- this.$message.warning('该项目已存在附件,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg);
- }
- }).catch((error) => {
- this.$message.error(error);
- })
- })
-
- // 校验项目物料
- const partCheck = new Promise((resolve, reject) => {
- let partParams = {
- site: row.site,
- projectId: row.projectId,
- searchType: 'Y',
- username: this.$store.state.user.name,
- customerId: row.customerId,
- limit: 10,
- limit2: 20,
- page: 1,
- page2: 1
- }
- getProjectInfoPartList(partParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.page.list.length===0){
- resolve(true);
- } else {
- reject(new Error('该项目已绑定物料信息,不允许删除!'))
- this.$message.warning('该项目已绑定物料信息,不允许删除!')
- }
- }
- })
- })
-
- // 校验询价信息
- const quotationCheck = new Promise((resolve, reject) => {
- let quotationParams = {
- site: row.site,
- projectId: row.projectId,
- createBy: this.$store.state.user.name,
- menuId: '102001',
- limit: 10,
- page: 1
- }
- quotationInformationSearch(quotationParams).then(({data}) => {
- //区分请求成功和失败的状况
- if (data && data.code === 0) {
- if(data.page.list.length===0){
- resolve(true);
- }else {
- reject(new Error('该项目已存在询价信息,不允许删除!'))
- this.$message.warning('该项目已存在询价信息,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg);
- }
- });
- })
-
- // 校验项目报价信息
- const quoteCheck = new Promise((resolve, reject) => {
- let quoteParams = {
- site: row.site,
- projectNo: row.projectId
- }
- queryQuoteGroupDetailByInquiry(quoteParams).then(({data})=>{
- if (data && data.code === 0){
- if (data.rows.length===0){
- resolve(true);
- }else {
- reject(new Error('该项目已存在报价信息,不允许删除!'))
- this.$message.warning('该项目已存在报价信息,不允许删除!')
- }
- }else {
- this.$message.warning(data.msg);
- }
- })
- })
-
- // 校验项目打样信息
- const proofingCheck = new Promise((resolve, reject) => {
- let proofingParams = {
- site: row.site,
- projectId: row.projectId,
- createBy: this.$store.state.user.name,
- menuId: '103001',
- limit: 10,
- page: 1
- }
- proofingInformationSearch(proofingParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.page.list.length===0){
- resolve(true);
- }else {
- reject(new Error('该项目已存在打样信息,不允许删除!'))
- this.$message.warning('该项目已存在打样信息,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg)
- }
- })
- })
-
- // 校验项目测试记录
- const testCheck = new Promise((resolve, reject) => {
- let testParams = {
- site: row.site,
- projectId: row.projectId,
- createBy: this.$store.state.user.name,
- menuId: '107001',
- limit: 10,
- page: 1
- }
- testInformationList(testParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.rows.length===0){
- resolve(true);
- } else {
- reject(new Error('该项目已存在测试记录,不允许删除!'))
- this.$message.warning('该项目已存在测试记录,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg);
- }
- });
- })
-
-
- // 检验刀模申请
- const toolCheck = new Promise((resolve, reject) => {
- let toolParams = {
- orderRef1: row.projectId,
- site: row.site,
- username: this.$store.state.user.name,
- }
- searchProjectToolApplyDetail(toolParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.rows.length===0){
- resolve(true);
- } else {
- reject(new Error('该项目已存在刀模申请,不允许删除!'))
- this.$message.warning('该项目已存在刀模申请,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg)
- }
- })
- })
-
- // 校验技术参数卡
- const technicalSpecificationCheck = new Promise((resolve, reject) => {
- let technicalSpecificationParams = {
- site: row.site,
- userName: this.$store.state.user.name,
- projectId: row.projectId,
- page: 1,
- limit: 10
- }
- technicalSpecificationListSearch(technicalSpecificationParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.page.list.length===0){
- resolve(true);
- } else {
- reject(new Error('该项目已绑定技术参数卡,不允许删除!'))
- this.$message.warning('该项目已绑定技术参数卡,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg);
- }
- });
- })
-
- // 校验项目变更记录
- const changeCheck = new Promise((resolve, reject) => {
- let changeParams = {
- site: row.site,
- projectId: row.projectId,
- menuId: '108002'
- }
- getChangeRecordByPartNo(changeParams).then(({data}) => {
- if (data && data.code === 0) {
- if (data.rows.length===0){
- resolve(true);
- } else {
- reject(new Error('该项目已存在变更记录,不允许删除!'))
- this.$message.warning('该项目已存在变更记录,不允许删除!')
- }
- } else {
- this.$message.warning(data.msg)
- }
- })
- })
- return Promise.all([
- ossCheck,
- partCheck,
- quotationCheck,
- quoteCheck,
- proofingCheck,
- testCheck,
- toolCheck,
- technicalSpecificationCheck,
- changeCheck
- ]);
}).then(()=>{
deleteProjectInfo(row).then(({data}) => {
if (data && data.code === 0) {
- this.$message.success( '操作成功')
- this.contactChooseFlag = false
- this.search()
+ if (data.checkMsg!==null){
+ this.$message.warning(data.checkMsg)
+ }else {
+ this.$message.success( '操作成功')
+ this.contactChooseFlag = false
+ this.search()
+ }
} else {
this.$message.error(data.msg)
}
})
- })
+ })
}else {
this.$alert('没有权限删除这个项目信息!', '错误', {
confirmButtonText: '确定'
diff --git a/src/views/modules/project/projectPart/com_projectPart_technicalSpecification.vue b/src/views/modules/project/projectPart/com_projectPart_technicalSpecification.vue
index e0fac15..bc9645f 100644
--- a/src/views/modules/project/projectPart/com_projectPart_technicalSpecification.vue
+++ b/src/views/modules/project/projectPart/com_projectPart_technicalSpecification.vue
@@ -68,6 +68,7 @@
} from "@/api/sampleManagement/technicalSpecificationList.js"
import Chooselist from '@/views/modules/common/Chooselist'
+ import {technicalSpecificationListSearchInPane} from "../../../../api/sampleManagement/technicalSpecificationList";
export default {
components: {
Chooselist
@@ -420,7 +421,7 @@
},
searchTable(){
- technicalSpecificationListSearch(this.searchData).then(({data}) => {
+ technicalSpecificationListSearchInPane(this.searchData).then(({data}) => {
//区分请求成功和失败的状况
if (data && data.code == 0) {
this.dataList = data.page.list
diff --git a/src/views/modules/sampleManagement/technicalSpecificationList.vue b/src/views/modules/sampleManagement/technicalSpecificationList.vue
index 1aa775c..3f859cd 100644
--- a/src/views/modules/sampleManagement/technicalSpecificationList.vue
+++ b/src/views/modules/sampleManagement/technicalSpecificationList.vue
@@ -97,8 +97,14 @@
:min-width="item.columnWidth"
:label="item.columnLabel">
- {{ scope.row[item.columnProp] }}
-
+
+
{{ scope.row[item.columnProp] }}
+
![]()
+
+
+
{{ scope.row[item.columnProp] }}
+
![]()
+