Переглянути джерело

fix:5848【客户管理】【供应商管理】客户信息的审批是包含客户资质一起审批,供应商信息同步一致,审批主要都是审批资质,如果没有资质不要让他提交审批

mlchen 1 тиждень тому
батько
коміт
1c263e2686

+ 1 - 0
AGENTS.md

@@ -2,3 +2,4 @@
 
 - 库存台账返回的 `provenance` 是展示字符串;向 EOM 发货接口提交产地时,使用 `purchaseOrigins` 产地编码数组转换为字符串数组。替代料与普通发货物品均需遵守此契约,不能把库存记录中的 `"[]"` 原样提交给 `JSONArray` 字段。
 - 客户抽屉内打开客户历史版本详情时,详情 `ele-modal` 必须设置 `append-to-body`,避免弹窗遮罩受抽屉层叠上下文影响而覆盖弹窗内容。
+- 客户与供应商共用 `saleManage/contact/components/addContactDialog.vue` 的新建并提交入口;保存主档后必须等待新建证照的 `saveOrEdit` 请求全部成功,再开启 `contact_approve` 提交弹窗。证照保存失败须提示并停止提交,避免服务端按已持久化证照校验时误判。

+ 6 - 3
src/views/saleManage/contact/components/addContactDialog.vue

@@ -1793,13 +1793,16 @@ import tabMixins from '@/mixins/tableColumnsMixin';
               });
           } else {
             contactSave(data)
-              .then((id) => {
+              .then(async (id) => {
                 this.loading = false;
                 this.$message.success('新增成功');
-                this.tableCertificateDataList.forEach((item) => {
+                await Promise.all(this.tableCertificateDataList.map((item) => {
                   item['holderId'] = id;
                   item['holder'] = this.form.name;
-                  saveOrEdit(item);
+                  return saveOrEdit(item);
+                })).catch((error) => {
+                  this.$message.error('证书资质保存失败,请重试');
+                  throw error;
                 });
 
                 if (type == 'sub') {