diff --git a/oms_web/oms_vue/src/api/base/quotation.js b/oms_web/oms_vue/src/api/base/quotation.js
index ddd8d6ad..00fc5b81 100644
--- a/oms_web/oms_vue/src/api/base/quotation.js
+++ b/oms_web/oms_vue/src/api/base/quotation.js
@@ -38,7 +38,7 @@ export function updateQuotation(data) {
// 删除报价单
export function delQuotation(id) {
return request({
- url: '/quotation/' + id,
+ url: '/quotation/remove/batch/' + id,
method: 'delete'
})
}
diff --git a/oms_web/oms_vue/src/views/base/quotation/index.vue b/oms_web/oms_vue/src/views/base/quotation/index.vue
index 10de1091..6abb8e6c 100644
--- a/oms_web/oms_vue/src/views/base/quotation/index.vue
+++ b/oms_web/oms_vue/src/views/base/quotation/index.vue
@@ -83,8 +83,8 @@
-
-
+
+
@@ -94,6 +94,13 @@
+ 详情
修改
+ 复制创建
+
@@ -225,13 +240,14 @@
import { listQuotation, getQuotation, delQuotation, addQuotation, updateQuotation,exportSingleQuotation } from "@/api/base/quotation";
import { listAgent } from "@/api/system/agent";
import ProductConfig from "@/views/project/info/ProductConfig";
+import QuotationDetail from "./detail";
import {isEmpty} from "@/utils/validate";
-import {exportPurchaseorder} from "@/api/sip/purchaseorder";
export default {
name: "Quotation",
components: {
- ProductConfig
+ ProductConfig,
+ QuotationDetail
},
dicts: ['currency_type'],
data() {
@@ -346,6 +362,9 @@ export default {
this.loading = false;
});
},
+ handleDetail(row) {
+ this.$refs.detail.open(row.id);
+ },
handleExport(row){
this.$modal.confirm('是否确认导出已审批的采购数据项?').then(() => {
return exportSingleQuotation(row.id);
@@ -415,6 +434,45 @@ export default {
this.activeStep = 1;
this.title = "添加报价单";
},
+ /** 复制创建 */
+ handleCopy(row) {
+ this.reset();
+ const id = row.id || this.ids
+ getQuotation(id).then(response => {
+ this.form = response.data;
+ // Reset ID and Code for new creation
+ this.form.id = null;
+ this.form.quotationCode = null;
+ this.form.quotationStatus = null;
+ this.form.createTime = null;
+ this.form.updateTime = null;
+ this.form.createBy = null;
+ this.form.updateBy = null;
+
+ // Ensure product lists are initialized if null
+ this.form.softwareProjectProductInfoList = this.form.softwareProjectProductInfoList || [];
+ this.form.hardwareProjectProductInfoList = this.form.hardwareProjectProductInfoList || [];
+ this.form.maintenanceProjectProductInfoList = this.form.maintenanceProjectProductInfoList || [];
+
+ // Clear IDs in configuration lists to ensure they are created as new records
+ const clearIds = (list) => {
+ if (list && list.length > 0) {
+ list.forEach(item => {
+ item.id = null;
+ item.quotationId = null;
+ });
+ }
+ };
+
+ clearIds(this.form.softwareProjectProductInfoList);
+ clearIds(this.form.hardwareProjectProductInfoList);
+ clearIds(this.form.maintenanceProjectProductInfoList);
+
+ this.open = true;
+ this.activeStep = 1;
+ this.title = "复制创建报价单";
+ });
+ },
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
@@ -500,7 +558,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
- this.$modal.confirm('是否确认删除报价单编号为"' + ids + '"的数据项?').then(function() {
+ this.$modal.confirm('是否确认删除报价单?').then(function() {
return delQuotation(ids);
}).then(() => {
this.getList();
diff --git a/oms_web/oms_vue/src/views/project/info/ProjectForm.vue b/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
index fbf60307..41ce87b2 100644
--- a/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
+++ b/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
@@ -289,6 +289,7 @@
@@ -432,6 +433,7 @@
+
@@ -440,8 +442,10 @@