diff --git a/src/api/proofing/proofingInformation.js b/src/api/proofing/proofingInformation.js new file mode 100644 index 0000000..1345f5f --- /dev/null +++ b/src/api/proofing/proofingInformation.js @@ -0,0 +1,93 @@ +import { createAPI } from "@/utils/httpRequest.js"; + +/** + * 打样信息列表查询 + * @param data + * @returns {*} + */ +export const proofingInformationSearch = data => createAPI(`/plm/proofingInformation/proofingInformationSearch`,'post',data) +/** + * 打样信息新增 + * @param data + * @returns {*} + */ +export const proofingInformationSave = data => createAPI(`/plm/proofingInformation/proofingInformationSave`,'post',data) +/** + * 打样信息编辑 + * @param data + * @returns {*} + */ +export const proofingInformationEdit = data => createAPI(`/plm/proofingInformation/proofingInformationEdit`,'post',data) +/** + * 打样信息删除 + * @param data + * @returns {*} + */ +export const proofingInformationDelete = data => createAPI(`/plm/proofingInformation/proofingInformationDelete`,'post',data) +/** + * 获取产品列表 + * @param data + * @returns {*} + */ +export const getProjectPartList = data => createAPI(`/plm/proofingInformation/getProjectPartList`,'post',data) +/** + * 获取打样结果对象 + * @param data + * @returns {*} + */ +export const proofingResultSearch = data => createAPI(`/plm/proofingInformation/proofingResultSearch`,'post',data) +/** + * 检查打样进度 + * @param data + * @returns {*} + */ +export const checkProofingStatus = data => createAPI(`/plm/proofingInformation/checkProofingStatus`,'post',data) +/** + * 获取打样单附件列表 + * @param data + * @returns {*} + */ +export const getFileContentList = data => createAPI(`/plm/proofingInformation/getFileContentList`,'post',data) +/** + * 文件删除 + * @param data + * @returns {*} + */ +export const deleteProofingFile = data => createAPI(`/plm/proofingInformation/deleteProofingFile`,'post',data) +/** + * 保存打样结果 + * @param data + * @returns {*} + */ +export const saveProofingResult = data => createAPI(`/plm/proofingInformation/saveProofingResult`,'post',data) +/** + * 保存送样结果 + * @param data + * @returns {*} + */ +export const saveSubmitResult = data => createAPI(`/plm/proofingInformation/saveSubmitResult`,'post',data) +/** + * 保存客户回复 + * @param data + * @returns {*} + */ +export const saveCustomerResponse = data => createAPI(`/plm/proofingInformation/saveCustomerResponse`,'post',data) +/** + * 获取项目信息 + * @param data + * @returns {*} + */ +export const getProjectInformation = data => createAPI(`/plm/proofingInformation/getProjectInformation`,'post',data) +/** + * 获取客户信息 + * @param data + * @returns {*} + */ +export const getCustomerInformation = data => createAPI(`/plm/proofingInformation/getCustomerInformation`,'post',data) +/** + * 关闭模态框删除文件 + * @param data + * @returns {*} + */ +export const closeModalDeleteFile = data => createAPI(`/plm/proofingInformation/closeModalDeleteFile`,'post',data) + diff --git a/src/api/quotation/quotationInformation.js b/src/api/quotation/quotationInformation.js index 61d7360..d8aba2a 100644 --- a/src/api/quotation/quotationInformation.js +++ b/src/api/quotation/quotationInformation.js @@ -90,3 +90,21 @@ export const checkQuotationStatus = data => createAPI(`/plm/quotationInformation * @returns {*} */ export const getProjectInformation = data => createAPI(`/plm/quotationInformation/getProjectInformation`,'post',data) +/** + * 获取客户信息 + * @param data + * @returns {*} + */ +export const getCustomerInformation = data => createAPI(`/plm/quotationInformation/getCustomerInformation`,'post',data) +/** + * 批量文件删除 + * @param data + * @returns {*} + */ +export const batchDeleteQuotationFile = data => createAPI(`/plm/quotationInformation/batchDeleteQuotationFile`,'post',data) +/** + * 关闭模态框删除文件 + * @param data + * @returns {*} + */ +export const closeModalDeleteFile = data => createAPI(`/plm/quotationInformation/closeModalDeleteFile`,'post',data) diff --git a/src/views/modules/proofing/batchRequestForProofing.vue b/src/views/modules/proofing/batchRequestForProofing.vue new file mode 100644 index 0000000..0b09d6b --- /dev/null +++ b/src/views/modules/proofing/batchRequestForProofing.vue @@ -0,0 +1,1431 @@ + + + + + + diff --git a/src/views/modules/proofing/proofing_upload_file.vue b/src/views/modules/proofing/proofing_upload_file.vue new file mode 100644 index 0000000..7e53cf5 --- /dev/null +++ b/src/views/modules/proofing/proofing_upload_file.vue @@ -0,0 +1,136 @@ + + + + diff --git a/src/views/modules/proofing/requestForProofing.vue b/src/views/modules/proofing/requestForProofing.vue new file mode 100644 index 0000000..e75a796 --- /dev/null +++ b/src/views/modules/proofing/requestForProofing.vue @@ -0,0 +1,2677 @@ + + + + + + diff --git a/src/views/modules/quotation/batchRequestForQuote.vue b/src/views/modules/quotation/batchRequestForQuote.vue new file mode 100644 index 0000000..7bf8d97 --- /dev/null +++ b/src/views/modules/quotation/batchRequestForQuote.vue @@ -0,0 +1,1412 @@ + + + + + + diff --git a/src/views/modules/quotation/quotation_upload_file.vue b/src/views/modules/quotation/quotation_upload_file.vue index 8402928..78e27ef 100644 --- a/src/views/modules/quotation/quotation_upload_file.vue +++ b/src/views/modules/quotation/quotation_upload_file.vue @@ -5,14 +5,15 @@ - - - - + + + + + + + + + @@ -63,9 +64,9 @@ export default { quotationNo: '', fileRemark: '', folder: '', - options: [] + // options: [] }, - options: [], + // options: [], dataListLoading: false, } }, @@ -74,7 +75,7 @@ export default { init(currentRow) { // 初始化参数 this.pageData = JSON.parse(JSON.stringify(currentRow)) - this.options = this.pageData.options + // this.options = this.pageData.options this.folder = this.pageData.folder // 打开页面 this.visible = true @@ -104,10 +105,10 @@ export default { this.$message.error("请先上传文件!") return false } - if(this.pageData.quotationNo === '' || this.pageData.quotationNo == null){ - this.$message.error("请选择申请单号!") - return false - } + // if(this.pageData.quotationNo === '' || this.pageData.quotationNo == null){ + // this.$message.error("请选择申请单号!") + // return false + // } const formData = new FormData() //片接文件 formData.append("file", this.fileList[0].raw) diff --git a/src/views/modules/quotation/requestForQuote.vue b/src/views/modules/quotation/requestForQuote.vue index 141c8c0..ff29246 100644 --- a/src/views/modules/quotation/requestForQuote.vue +++ b/src/views/modules/quotation/requestForQuote.vue @@ -167,7 +167,7 @@ - 产品 + 项目物料 @@ -231,7 +231,7 @@ @@ -403,7 +403,7 @@ - + 录入报价结果 提交客户报价 @@ -611,13 +611,172 @@ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+
+ + +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + +
+
+
+
+
- + @@ -636,7 +795,8 @@ saveCustomerResponse, // 保存客户回复 getProjectPartList, // 获取产品列表 checkQuotationStatus, // 检查报价进度 - getProjectInformation // 获取项目信息 + getProjectInformation, // 获取项目信息 + getCustomerInformation // 获取客户信息 } from '@/api/quotation/quotationInformation.js' import Chooselist from '@/views/modules/common/Chooselist' import quotationUploadFile from "./quotation_upload_file" @@ -802,6 +962,28 @@ userRoleName: '', remark: '' }, + customerInformationData: { + customerNo: '', + customerDesc: '', + importantCustomer: '', + customerCurrency: '', + turnoverOfYear: '', + potentialRevenueOfYear: '', + customerStatus: '', + customerIndustry: '', + companyName: '', + jobDescription: '', + remark: '', + contactName: '', + contactPhoneNumber1: '', + position: '', + addressName: '', + addressType: '', + createDate: '', + createBy: '', + updateDate: '', + updateBy: '' + }, // ======== 数据列表 ======== dataList: [], fileContentList: [], @@ -943,7 +1125,25 @@ columnProp: 'testPartNo', headerAlign: 'center', align: 'center', - columnLabel: '产品编码', + columnLabel: '项目料号', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 100 + }, + { + userId: this.$store.state.user.name, + functionId: 102001, + serialNumber: '102001Table1PartName', + tableId: '102001Table1', + tableName: '报价信息表', + columnProp: 'partName', + headerAlign: 'center', + align: 'center', + columnLabel: '物料名称', columnHidden: false, columnImage: false, columnSortable: false, @@ -1494,6 +1694,8 @@ this.getQuotationResult() } else if (this.activeTable === 'project_information') { this.getProjectInformation() + } else if (this.activeTable === 'customer_information') { + this.getCustomerInformation() } }, @@ -1558,6 +1760,23 @@ } }) }, + /** + * 获取客户信息 + */ + getCustomerInformation () { + let tempData = { + site: this.$store.state.user.site, + customerNo: this.quotationCurrentRow.customerNo + } + // 报价结果对象 + getCustomerInformation(tempData).then(({data}) => { + if (data && data.code === 0) { + this.customerInformationData = data.rows[0] + } else { + this.customerInformationData = {} + } + }) + }, // ======== 新增/编辑模态框 ======== /** @@ -1851,45 +2070,47 @@ updateBy: this.$store.state.user.name } // 获得选中的报价号 - if (this.quotationSelections.length > 0) { - this.quotationSelections.forEach(val => { - this.enterResultData.quotationNo += ';' + val.quotationNo - }) - this.enterResultData.quotationNo = this.enterResultData.quotationNo.substring(1) - } else { - this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo - } - // 获得这些报价号的全部附件 - this.getFileContentList() + // if (this.quotationSelections.length > 0) { + // this.quotationSelections.forEach(val => { + // this.enterResultData.quotationNo += ';' + val.quotationNo + // }) + // this.enterResultData.quotationNo = this.enterResultData.quotationNo.substring(1) + // } else { + // this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo + // } + this.enterResultData.quotationNo = this.quotationCurrentRow.quotationNo + // // 获得这些报价号的全部附件 + // this.getFileContentList() this.enterResultModalFlag = true }, /** * 录入报价结果 */ quotationResultModal () { - // 如果有选中报价单 - if (this.quotationSelections != null && this.quotationSelections.length > 0) { - let tempData = { - currentStatus: 'C', - informationList: this.quotationSelections, - } - // 检查报价单状态 - checkQuotationStatus(tempData).then(({data}) => { - if (data && data.code === 0) { - if (data.flag === 1) { // 状态一致 - this.packQuotationResultModal() - } else { // 状态不同 - this.$message.warning('选中的报价单进度有误,请确认!') - } - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - } else { // 没有选中报价单,则根据当前点击行报价单操作 - this.packQuotationResultModal() - } + // // 如果有选中报价单 + // if (this.quotationSelections != null && this.quotationSelections.length > 0) { + // let tempData = { + // currentStatus: 'C', + // informationList: this.quotationSelections, + // } + // // 检查报价单状态 + // checkQuotationStatus(tempData).then(({data}) => { + // if (data && data.code === 0) { + // if (data.flag === 1) { // 状态一致 + // this.packQuotationResultModal() + // } else { // 状态不同 + // this.$message.warning('选中的报价单进度有误,请确认!') + // } + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // } else { // 没有选中报价单,则根据当前点击行报价单操作 + // this.packQuotationResultModal() + // } + this.packQuotationResultModal() }, /** * 保存报价结果 @@ -1903,32 +2124,32 @@ this.$message.warning('请填写报价结果信息!') return } - if (this.quotationSelections.length > 1) { - this.$confirm(`是否录入多条报价结果?`, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - saveQuotationResult(this.enterResultData).then(({data}) => { - if (data && data.code === 0) { - this.getDataList() - this.enterResultModalFlag = false - this.$message({ - message: '操作成功', - type: 'success', - duration: 1500, - onClose: () => { - } - }) - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - }).catch(() => { - }) - } else { + // if (this.quotationSelections.length > 1) { + // this.$confirm(`是否录入多条报价结果?`, '提示', { + // confirmButtonText: '确定', + // cancelButtonText: '取消', + // type: 'warning' + // }).then(() => { + // saveQuotationResult(this.enterResultData).then(({data}) => { + // if (data && data.code === 0) { + // this.getDataList() + // this.enterResultModalFlag = false + // this.$message({ + // message: '操作成功', + // type: 'success', + // duration: 1500, + // onClose: () => { + // } + // }) + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // }).catch(() => { + // }) + // } else { saveQuotationResult(this.enterResultData).then(({data}) => { if (data && data.code === 0) { this.getDataList() @@ -1937,8 +2158,7 @@ message: '操作成功', type: 'success', duration: 1500, - onClose: () => { - } + onClose: () => {} }) } else { this.$alert(data.msg, '错误', { @@ -1946,7 +2166,7 @@ }) } }) - } + // } }, /** @@ -1956,49 +2176,52 @@ this.submitResultData = { site: this.$store.state.user.site, quotationNo: '', - actualityQuotationDate: '', - quotationResultInformation: '', + actualitySubmissionDate: '', + submissionMethod: '', + submissionRemark: '', quotationResultStatus: 'S', updateBy: this.$store.state.user.name } // 获得选中的报价号 - if (this.quotationSelections.length > 0) { - this.quotationSelections.forEach(val => { - this.submitResultData.quotationNo += ';' + val.quotationNo - }) - this.submitResultData.quotationNo = this.submitResultData.quotationNo.substring(1) - } else { - this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo - } + // if (this.quotationSelections.length > 0) { + // this.quotationSelections.forEach(val => { + // this.submitResultData.quotationNo += ';' + val.quotationNo + // }) + // this.submitResultData.quotationNo = this.submitResultData.quotationNo.substring(1) + // } else { + // this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo + // } + this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo this.submitResultModalFlag = true }, /** * 提交客户报价 */ submitQuotationModal () { - // 如果有选中报价单 - if (this.quotationSelections != null && this.quotationSelections.length > 0) { - let tempData = { - currentStatus: 'E', - informationList: this.quotationSelections, - } - // 检查报价单状态 - checkQuotationStatus(tempData).then(({data}) => { - if (data && data.code === 0) { - if (data.flag === 1) { // 状态一致 - this.packSubmitQuotationModal() - } else { // 状态不同 - this.$message.warning('选中的报价单进度有误,请确认!') - } - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - } else { // 没有选中报价单,则根据当前点击行报价单操作 - this.packSubmitQuotationModal() - } + // // 如果有选中报价单 + // if (this.quotationSelections != null && this.quotationSelections.length > 0) { + // let tempData = { + // currentStatus: 'E', + // informationList: this.quotationSelections, + // } + // // 检查报价单状态 + // checkQuotationStatus(tempData).then(({data}) => { + // if (data && data.code === 0) { + // if (data.flag === 1) { // 状态一致 + // this.packSubmitQuotationModal() + // } else { // 状态不同 + // this.$message.warning('选中的报价单进度有误,请确认!') + // } + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // } else { // 没有选中报价单,则根据当前点击行报价单操作 + // this.packSubmitQuotationModal() + // } + this.packSubmitQuotationModal() }, /** * 保存提交结果 @@ -2012,32 +2235,32 @@ this.$message.warning('请选择提交方式!') return } - if (this.quotationSelections.length > 1) { - this.$confirm(`是否提交多条客户报价?`, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - saveSubmitResult(this.submitResultData).then(({data}) => { - if (data && data.code === 0) { - this.getDataList() - this.submitResultModalFlag = false - this.$message({ - message: '操作成功', - type: 'success', - duration: 1500, - onClose: () => { - } - }) - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - }).catch(() => { - }) - } else { + // if (this.quotationSelections.length > 1) { + // this.$confirm(`是否提交多条客户报价?`, '提示', { + // confirmButtonText: '确定', + // cancelButtonText: '取消', + // type: 'warning' + // }).then(() => { + // saveSubmitResult(this.submitResultData).then(({data}) => { + // if (data && data.code === 0) { + // this.getDataList() + // this.submitResultModalFlag = false + // this.$message({ + // message: '操作成功', + // type: 'success', + // duration: 1500, + // onClose: () => { + // } + // }) + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // }).catch(() => { + // }) + // } else { saveSubmitResult(this.submitResultData).then(({data}) => { if (data && data.code === 0) { this.getDataList() @@ -2046,8 +2269,7 @@ message: '操作成功', type: 'success', duration: 1500, - onClose: () => { - } + onClose: () => {} }) } else { this.$alert(data.msg, '错误', { @@ -2055,7 +2277,7 @@ }) } }) - } + // } }, /** @@ -2073,43 +2295,45 @@ updateBy: this.$store.state.user.name } // 获得选中的报价号 - if (this.quotationSelections.length > 0) { - this.quotationSelections.forEach(val => { - this.customerResponseData.quotationNo += ';' + val.quotationNo - }) - this.customerResponseData.quotationNo = this.customerResponseData.quotationNo.substring(1) - } else { - this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo - } + // if (this.quotationSelections.length > 0) { + // this.quotationSelections.forEach(val => { + // this.customerResponseData.quotationNo += ';' + val.quotationNo + // }) + // this.customerResponseData.quotationNo = this.customerResponseData.quotationNo.substring(1) + // } else { + // this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo + // } + this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo this.customerResponseModalFlag = true }, /** * 客户回复 */ customerResponseModal () { - // 如果有选中报价单 - if (this.quotationSelections != null && this.quotationSelections.length > 0) { - let tempData = { - currentStatus: 'S', - informationList: this.quotationSelections, - } - // 检查报价单状态 - checkQuotationStatus(tempData).then(({data}) => { - if (data && data.code === 0) { - if (data.flag === 1) { // 状态一致 - this.packCustomerResponseModal() - } else { // 状态不同 - this.$message.warning('选中的报价单进度有误,请确认!') - } - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - } else { // 没有选中报价单,则根据当前点击行报价单操作 - this.packCustomerResponseModal() - } + // // 如果有选中报价单 + // if (this.quotationSelections != null && this.quotationSelections.length > 0) { + // let tempData = { + // currentStatus: 'S', + // informationList: this.quotationSelections, + // } + // // 检查报价单状态 + // checkQuotationStatus(tempData).then(({data}) => { + // if (data && data.code === 0) { + // if (data.flag === 1) { // 状态一致 + // this.packCustomerResponseModal() + // } else { // 状态不同 + // this.$message.warning('选中的报价单进度有误,请确认!') + // } + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // } else { // 没有选中报价单,则根据当前点击行报价单操作 + // this.packCustomerResponseModal() + // } + this.packCustomerResponseModal() }, /** * 保存客户回复 @@ -2127,32 +2351,32 @@ this.$message.warning('请填写客户确认人!') return } - if (this.quotationSelections.length > 1) { - this.$confirm(`是否提交多条客户回复?`, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - saveCustomerResponse(this.customerResponseData).then(({data}) => { - if (data && data.code === 0) { - this.getDataList() - this.customerResponseModalFlag = false - this.$message({ - message: '操作成功', - type: 'success', - duration: 1500, - onClose: () => { - } - }) - } else { - this.$alert(data.msg, '错误', { - confirmButtonText: '确定' - }) - } - }) - }).catch(() => { - }) - } else { + // if (this.quotationSelections.length > 1) { + // this.$confirm(`是否提交多条客户回复?`, '提示', { + // confirmButtonText: '确定', + // cancelButtonText: '取消', + // type: 'warning' + // }).then(() => { + // saveCustomerResponse(this.customerResponseData).then(({data}) => { + // if (data && data.code === 0) { + // this.getDataList() + // this.customerResponseModalFlag = false + // this.$message({ + // message: '操作成功', + // type: 'success', + // duration: 1500, + // onClose: () => { + // } + // }) + // } else { + // this.$alert(data.msg, '错误', { + // confirmButtonText: '确定' + // }) + // } + // }) + // }).catch(() => { + // }) + // } else { saveCustomerResponse(this.customerResponseData).then(({data}) => { if (data && data.code === 0) { this.getDataList() @@ -2161,8 +2385,7 @@ message: '操作成功', type: 'success', duration: 1500, - onClose: () => { - } + onClose: () => {} }) } else { this.$alert(data.msg, '错误', { @@ -2170,7 +2393,7 @@ }) } }) - } + // } }, // ======== 报价单附件的相关方法 ======== @@ -2190,22 +2413,22 @@ } }) }, - /** - * 获得这些报价号的全部附件 - */ - getFileContentList () { - let currentData = { - orderRef1: this.$store.state.user.site, - orderRef2: this.enterResultData.quotationNo - } - getFileContentList(currentData).then(({data}) => { - if (data && data.code === 0) { - this.enterResultData.fileContentList = data.rows - } else { - this.enterResultData.fileContentList = [] - } - }) - }, + // /** + // * 获得这些报价号的全部附件 + // */ + // getFileContentList () { + // let currentData = { + // orderRef1: this.$store.state.user.site, + // orderRef2: this.enterResultData.quotationNo + // } + // getFileContentList(currentData).then(({data}) => { + // if (data && data.code === 0) { + // this.enterResultData.fileContentList = data.rows + // } else { + // this.enterResultData.fileContentList = [] + // } + // }) + // }, /** * 上传文件 */ @@ -2214,16 +2437,16 @@ titleCon: '报价附件上传', site: this.$store.state.user.site, createBy: this.$store.state.user.name, - quotationNo: '', + quotationNo: this.enterResultData.quotationNo, fileRemark: '', folder: 'quotationFile', - options: [] + // options: [] } - let num = 0 - let arr = this.enterResultData.quotationNo.split(';') - arr.forEach(val => { - currentData.options.push({key: num++, value: val}) - }) + // let num = 0 + // let arr = this.enterResultData.quotationNo.split(';') + // arr.forEach(val => { + // currentData.options.push({key: num++, value: val}) + // }) //打开组件 去做新增业务 this.$nextTick(() => { this.$refs.quotationUploadFile.init(currentData); @@ -2376,37 +2599,7 @@