diff --git a/src/api/base/properties.js b/src/api/base/properties.js index 915fdcc..1c5ea5d 100644 --- a/src/api/base/properties.js +++ b/src/api/base/properties.js @@ -45,5 +45,6 @@ export const goDownItem= data => createAPI(`/properties/goDownItem`,'post',data) export const updateBMModal= data => createAPI(`/technicalSpecification/updateBMModal`,'post',data) export const searchMenuAllListId= (data) => createAPI(`/properties/menu/list`,'post',data) +export const searchBUList= (data) => createAPI(`/properties/bu/list`,'post',data) export const searchPropertiesGroup= (data) => createAPI(`/properties/group/list`,'post',data) diff --git a/src/api/test/testInformation.js b/src/api/test/testInformation.js index 716d15c..35864ac 100644 --- a/src/api/test/testInformation.js +++ b/src/api/test/testInformation.js @@ -49,6 +49,8 @@ export const checkTestStatus = data => createAPI(`/plm/testInformation/checkTest * @returns {*} */ export const getFileContentList = data => createAPI(`/plm/testInformation/getFileContentList`,'post',data) +export const removeFile = data => createAPI(`/upload/remove`,'post',data) +export const uploadFileList = (url,data) => createAPI(url,'post',data) /** * 文件删除 * @param data diff --git a/src/views/modules/base/propertiesItem/propertiesModel.vue b/src/views/modules/base/propertiesItem/propertiesModel.vue index 8925dc3..40490fa 100644 --- a/src/views/modules/base/propertiesItem/propertiesModel.vue +++ b/src/views/modules/base/propertiesItem/propertiesModel.vue @@ -23,6 +23,11 @@ + + + + + @@ -408,7 +413,7 @@ import Chooselist from '@/views/modules/common/Chooselist' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import DictDataSelect from "../../sys/dict-data-select.vue"; - import {searchMenuAllListId, searchPropertiesGroup} from "../../../../api/base/properties"; + import {searchBUList, searchMenuAllListId, searchPropertiesGroup} from "../../../../api/base/properties"; export default { components: { DictDataSelect, @@ -444,6 +449,7 @@ }, data () { return { + BUList:[], menuList:[], // 是否收藏 favorite: false, @@ -458,6 +464,7 @@ searchData: { site: this.$store.state.user.site, group:'', + bu:'', codeNo: '', codeDesc: '', active:'Y', @@ -816,9 +823,9 @@ this.height = window.innerHeight - 210 }) }, - created () { - this.getDataList(); - this.searchMenuList(); + async created () { + await this.searchBUList(); + await this.searchMenuList(); }, methods: { searchMenuList(){ @@ -831,6 +838,24 @@ if (this.menuList.length > 0){ this.searchData.group = this.menuList[0].menuId } + this.getDataList(); + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, + searchBUList(){ + let params = { + site:this.$store.state.user.site + } + searchBUList(params).then(({data})=>{ + if (data && data.code === 0){ + this.BUList = data.rows; + if (this.BUList.length > 0){ + this.searchData.bu = this.BUList[0].buNo + } }else { this.$message.warning(data.msg) } @@ -1056,9 +1081,6 @@ }) this.detailModelFlag = true; }, - - - deleteModalDetails(row){ this.$confirm(`是否删除这个属性项目?`, '提示', { confirmButtonText: '确定', diff --git a/src/views/modules/common/uploadFileList.vue b/src/views/modules/common/uploadFileList.vue new file mode 100644 index 0000000..37ef395 --- /dev/null +++ b/src/views/modules/common/uploadFileList.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/views/modules/quotation/requestForQuote.vue b/src/views/modules/quotation/requestForQuote.vue index 215aac6..4520155 100644 --- a/src/views/modules/quotation/requestForQuote.vue +++ b/src/views/modules/quotation/requestForQuote.vue @@ -283,54 +283,150 @@ 项目物料 -
- - - - - - - - - 查询 - - - - - - - - - -
+ + +
+ + + + + + + + + 查询 + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
保存 @@ -666,6 +762,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { - if (data && data.code === 0) { - this.getDataList() - this.modalFlag = false - this.$message({ - message: '操作成功', - type: 'success', - duration: 1500, - onClose: () => { - } - }) - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) + // 验证详情 + this.$refs[this.modalData.flag === '1'?'saveDetailForm':'editDetailForm'].validate((valid) => { + if (!valid){ + if (this.priceCheckDetail.associatedPartNo === ''|| this.savePriceDetail.associatedPartNo === ''){ + this.$message.warning('请输入关联零件号信息!') + return } - }) - } else { - quotationInformationEdit(this.modalData).then(({data}) => { - if (data && data.code === 0) { - this.getDataList() - this.modalFlag = false - this.$message({ - message: '操作成功', - type: 'success', - duration: 1500, - onClose: () => { + if (this.priceCheckDetail.materialRequired === '' || this.savePriceDetail.materialRequired === ''){ + this.$message.warning('请输入所需材料!') + return + } + if (this.priceCheckDetail.yearlyOrMonthlyRequirement === '' || this.savePriceDetail.yearlyOrMonthlyRequirement === ''){ + this.$message.warning('请输入年度/月度需求!') + return + } + if (this.priceCheckDetail.runningWidth === '' || this.savePriceDetail.yearlyOrMonthlyRequirement === ''){ + this.$message.warning('请输入运行宽度!') + return + } + }else { + if (this.modalData.flag === '1') { + this.modalData.priceCheckDetail = this.savePriceDetail + quotationInformationSave(this.modalData).then(({data}) => { + if (data && data.code === 0) { + this.getDataList() + this.modalFlag = false + this.$message({ + message: '操作成功', + type: 'success', + duration: 1500, + onClose: () => { + } + }) + } else { + this.$alert(data.msg, '错误', { + confirmButtonText: '确定' + }) } }) } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' + this.modalData.priceCheckDetail = this.priceCheckDetail + quotationInformationEdit(this.modalData).then(({data}) => { + if (data && data.code === 0) { + this.getDataList() + this.modalFlag = false + this.$message({ + message: '操作成功', + type: 'success', + duration: 1500, + onClose: () => { + } + }) + } else { + this.$alert(data.msg, '错误', { + confirmButtonText: '确定' + }) + } }) } - }) - } + } + }) } }) }, @@ -2396,9 +2586,10 @@ export default { * @param row */ quotationClickRow(row) { - this.$refs.quotationTable.toggleRowSelection(row) + // this.$refs.quotationTable.toggleRowSelection(row) this.quotationCurrentRow = JSON.parse(JSON.stringify(row)) this.quotationDetailData = row; + this.priceCheckDetail = row.priceCheckDetail this.getPriceCheckProperties(row) }, getPriceCheckProperties(row) { @@ -3017,6 +3208,7 @@ export default { }, // 保存弹框关闭事件 closeSaveDataDialog() { + this.activeTab='part'; this.$refs.saveDataForm.resetFields(); // 先清空缓存选中 this.$nextTick(() => this.$refs.projectPartTable.clearSelection()) // 拿到选中的产品编号 @@ -3028,6 +3220,9 @@ export default { partName: '', projectId: '', } + if (this.modalData.flag === '1'){ + this.$refs.saveDetailForm.resetFields(); + } }, // 保存弹框打开事件 openSaveDataDialog() { @@ -3116,5 +3311,8 @@ export default { /deep/ .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #FFF } +/deep/ .el-form-item--medium .el-form-item__content{ + height: auto; +} diff --git a/src/views/modules/quotation/sellForQuotation/quotationDetail/billOfMateriel.vue b/src/views/modules/quotation/sellForQuotation/quotationDetail/billOfMateriel.vue index 4daca29..ced0ae4 100644 --- a/src/views/modules/quotation/sellForQuotation/quotationDetail/billOfMateriel.vue +++ b/src/views/modules/quotation/sellForQuotation/quotationDetail/billOfMateriel.vue @@ -187,7 +187,7 @@ export default { serialNumber: '102003Table4PrintUnitName', tableId: "102003Table4", tableName: "报价材料信息", - columnProp: 'printUnitName', + columnProp: 'printUnit', headerAlign: "center", align: "center", columnLabel: '单位', diff --git a/src/views/modules/quotation/sellForQuotation/quotationDetail/quoteRouting.vue b/src/views/modules/quotation/sellForQuotation/quotationDetail/quoteRouting.vue index d51b6b1..6d454cd 100644 --- a/src/views/modules/quotation/sellForQuotation/quotationDetail/quoteRouting.vue +++ b/src/views/modules/quotation/sellForQuotation/quotationDetail/quoteRouting.vue @@ -265,7 +265,7 @@ export default { columnProp: 'machRunFactor', headerAlign: "center", align: "right", - columnLabel: '机器运行速度', + columnLabel: '机器单位产出', columnHidden: false, columnImage: false, columnSortable: false, @@ -282,7 +282,7 @@ export default { columnProp: 'machSetupTime', headerAlign: "center", align: "right", - columnLabel: '调机时长', + columnLabel: '调机时间', columnHidden: false, columnImage: false, columnSortable: false, @@ -316,7 +316,7 @@ export default { columnProp: 'laborRunFactor', headerAlign: "center", align: "right", - columnLabel: '人工生产速度', + columnLabel: '人工单位产出', columnHidden: false, columnImage: false, columnSortable: false, @@ -333,7 +333,7 @@ export default { columnProp: 'laborSetupTime', headerAlign: "center", align: "right", - columnLabel: '人工调机时长', + columnLabel: '人工调机时间', columnHidden: false, columnImage: false, columnSortable: false, @@ -401,7 +401,7 @@ export default { columnProp: 'setupLaborClassNo', headerAlign: "center", align: "left", - columnLabel: '调机人员等级', + columnLabel: '调机过程中人员等级', columnHidden: false, columnImage: false, columnSortable: false, diff --git a/src/views/modules/test/file/testFile.vue b/src/views/modules/test/file/testFile.vue new file mode 100644 index 0000000..7765141 --- /dev/null +++ b/src/views/modules/test/file/testFile.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/views/modules/test/requestForTest.vue b/src/views/modules/test/requestForTest.vue index 9c304d7..1aa1f9d 100644 --- a/src/views/modules/test/requestForTest.vue +++ b/src/views/modules/test/requestForTest.vue @@ -262,6 +262,21 @@ + + + 是否需要Artwork + + + + + + + + + + 是否需要计划 + + @@ -356,9 +371,12 @@ - + + + + @@ -687,9 +705,13 @@ - + + + + + @@ -1072,9 +1094,11 @@ import {partPropertiesList} from "../../../api/base/properties"; import TestProperties from "./testAttribute/testProperties.vue"; import {getTestPropertiesList} from "../../../api/test/testProperties"; + import TestFile from "./file/testFile.vue"; export default { name:"test", components: { + TestFile, TestProperties, TestAttribute, TestRoutingTable, @@ -1129,6 +1153,7 @@ }, data () { return { + testFileList:[], dialogProperties:[], attributeList:[], testSoRoutingList:[], @@ -1191,6 +1216,8 @@ engineerName: '', priorityLevel: '一般', testNumber: 1, + doesNeedArtwork:'', + doesNeedPlanner:'', requiredDeliveryDate: '', remark: '', technicalConsiderations: '', @@ -1700,7 +1727,7 @@ serialNumber: '103001Table2CreatedBy', tableId: '103001Table2', tableName: '文件信息表', - columnProp: 'createdBy', + columnProp: 'createBy', headerAlign: 'center', align: 'center', columnLabel: '上传人', @@ -2162,6 +2189,21 @@ this.refreshCurrentTabTable() } }, + getFileContentList(){ + let params = { + orderRef1:this.$store.state.user.site, + orderRef2:this.testCurrentRow.testNo + } + getFileContentList(params).then(({data})=>{ + if (data && data.code === 0){ + this.testFileList = data.rows; + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, /** * 刷新页签的table数据 */ @@ -2284,6 +2326,8 @@ projectId: row.projectId, projectName: row.projectName, tracker: row.tracker, + doesNeedArtwork:row.doesNeedArtwork, + doesNeedPlanner:row.doesNeedPlanner, trackerName: row.trackerName, testPartNo: row.testPartNo, partName: row.partName, @@ -2313,7 +2357,7 @@ nextToDo: row.nextToDo, updateBy: this.$store.state.user.name } - this.activeTabList = ['product','process','attribute','partAttribute'] + this.activeTabList = ['product','process','attribute','partAttribute','file'] this.$nextTick(()=>{ this.$refs.dialogSoBom.clearTable(); }) @@ -2383,6 +2427,8 @@ if (this.modalData.flag === '1'){ this.testSoRoutingList = [] this.testSoBomList = [] + this.testFileList = []; + this.testPropertiesList = []; this.saveTest() }else { this.updateTest() @@ -2448,7 +2494,7 @@ testInformationSave(this.modalData).then(({data}) => { if (data && data.code === 0) { this.getDataList(); - this.activeTabList = ['product','process','attribute','partAttribute'] + this.activeTabList = ['product','process','attribute','partAttribute','file'] this.activeTab = 'product' this.modalData.testNo = data.row // this.modalFlag = false @@ -2531,6 +2577,7 @@ this.selectTestSoRoutingList() this.getPartPropertiesList(); this.getTestProperties(); + this.getFileContentList() } }, /** @@ -2969,6 +3016,8 @@ customerNo: '', customerDesc: '', projectId: '', + doesNeedArtwork:'', + doesNeedPlanner:'', projectName: '', tracker: '', trackerName: '', diff --git a/src/views/modules/test/testSoBom/testTable.vue b/src/views/modules/test/testSoBom/testTable.vue index 9fbbf6c..22d3000 100644 --- a/src/views/modules/test/testSoBom/testTable.vue +++ b/src/views/modules/test/testSoBom/testTable.vue @@ -200,7 +200,7 @@ export default { serialNumber: '102001Table3UmName', tableId: '102001Table3', tableName: '测试产品结构', - columnProp: 'umName', + columnProp: 'umId', headerAlign: 'center', align: 'left', columnLabel: '计量单位', @@ -640,7 +640,7 @@ export default { - + diff --git a/src/views/modules/test/test_upload_file.vue b/src/views/modules/test/test_upload_file.vue index ec4f111..1d3d1c1 100644 --- a/src/views/modules/test/test_upload_file.vue +++ b/src/views/modules/test/test_upload_file.vue @@ -36,8 +36,6 @@ - - 保存