-
-
+
+
-
+
-
+
+
+
+
+ 上传PI
+
+
(baseForm.pi_doc = files.map((f) => f.file_name))"
+ />
+
+
+
+
+
+ 上传水单
+
+
(baseForm.transaction_slip = files.map((f) => f.file_name))"
+ />
@@ -965,6 +1023,8 @@
import { CrmService } from '@/api/crmApi'
import { useStockingForm } from '@/composables/useStockingForm'
import { onMounted, ref, computed } from 'vue'
+ import MultiFileUpload from '@/components/core/forms/MultiFileUpload.vue'
+ import contractIcon from '@/assets/img/crm/contract.png'
defineOptions({ name: 'CrmStockingAdd' }) // 定义组件名称,用于 KeepAlive 缓存控制
@@ -1010,7 +1070,7 @@
{ required: true, message: '请输入二手挂牌价', trigger: 'blur' }
]
rules[`items.${idx}.unit_price`] = [
- { required: true, message: '请输入成交价', trigger: 'blur' }
+ { required: true, message: '请输入收款价', trigger: 'blur' }
]
})
return rules
@@ -1039,7 +1099,9 @@
baseForm,
items,
paymentItems,
- contractFile,
+ contractFiles,
+ piFiles,
+ waterBillFiles,
customerDialog,
vehicleDialog,
@@ -1058,8 +1120,6 @@
trade_termsOptions,
// 上传相关
- actionImageUplode,
- uploadHeaders,
// 方法
initializeForm,
@@ -1069,12 +1129,8 @@
validateContractRate,
wrapMoney,
calcProfit,
+ handleUserEdit,
- // 合同文件方法
- isImageFile,
- beforeContractUpload,
- handleContractUpload,
- removeContractFile,
// 订单项方法
copyRow,
@@ -1084,6 +1140,7 @@
// 收款项方法
addPaymentItem,
removePaymentItem,
+ copyPaymentItem,
// 客户选择方法
openCustomerDialog,
@@ -1261,6 +1318,7 @@
word-break: break-all;
padding: 0 8px;
}
+
:deep(.el-input__suffix .el-select .el-select__wrapper) {
box-shadow: none;
padding: 0px;
diff --git a/src/views/crmpc/stocking/final_add.vue b/src/views/crmpc/stocking/final_add.vue
index be3ef0e..3c0df72 100644
--- a/src/views/crmpc/stocking/final_add.vue
+++ b/src/views/crmpc/stocking/final_add.vue
@@ -189,7 +189,7 @@
-
+
@@ -287,6 +287,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -323,6 +340,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -391,6 +425,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -410,24 +461,13 @@
-
-
+
-
- {{
- ((currencyOptions || []).find((c: any) => c.currency_code === baseForm.settlement_currency)?.currency_name) ||
- baseForm.settlement_currency
- }}
-
+ 人民币
@@ -436,10 +476,14 @@
-
-
+
+
-
+
-
+
+
上传合同
-
-
-
-

-
-
![]()
-
-
- {{ contractFile.name }}
-
-
- 删除
-
-
-
-
+ @change="(files) => (baseForm.contract = files.map((f) => f.file_name))"
+ />
+
+
+
+
+
+
+ 上传PI
+
+
(baseForm.pi_doc = files.map((f) => f.file_name))"
+ />
+
+
+
+
+
+
+ 上传水单
+
+
(baseForm.transaction_slip = files.map((f) => f.file_name))"
+ />
@@ -960,6 +1016,8 @@
import { useUserStore } from '@/store/modules/user'
import { useStockingForm } from '@/composables/useStockingForm'
import { onMounted, ref, computed } from 'vue'
+ import MultiFileUpload from '@/components/core/forms/MultiFileUpload.vue'
+ import contractIcon from '@/assets/img/crm/contract.png'
defineOptions({ name: 'CrmStockingFinalAdd' }) // 定义组件名称,用于 KeepAlive 缓存控制
@@ -1000,7 +1058,7 @@
{ required: true, message: '请输入二手挂牌价', trigger: 'blur' }
]
rules[`items.${idx}.unit_price`] = [
- { required: true, message: '请输入成交价', trigger: 'blur' }
+ { required: true, message: '请输入收款价', trigger: 'blur' }
]
})
return rules
@@ -1029,7 +1087,9 @@
baseForm,
items,
paymentItems,
- contractFile,
+ contractFiles,
+ piFiles,
+ waterBillFiles,
customerDialog,
vehicleDialog,
// 选项数据
@@ -1056,6 +1116,7 @@
beforeContractUpload,
handleContractUpload,
removeContractFile,
+ handleUserEdit,
// // 订单项方法
// copyRow,
// addRowAfter,
@@ -1209,6 +1270,7 @@
flex-direction: column;
align-items: center;
justify-content: center;
+ padding: 10px;
}
.preview-image {
diff --git a/src/views/crmpc/stocking/final_edit.vue b/src/views/crmpc/stocking/final_edit.vue
index 3cf5425..62e403c 100644
--- a/src/views/crmpc/stocking/final_edit.vue
+++ b/src/views/crmpc/stocking/final_edit.vue
@@ -515,11 +515,11 @@
-
+
-
+
-
+
-
+
@@ -898,30 +898,46 @@
上传合同
-
-
-
-

-
-
![]()
-
-
- {{ contractFile.name }}
-
-
- 删除
-
-
-
-
+ @change="(files) => (baseForm.contract = files.map((f) => f.file_name))"
+ />
+
+
+
+
+
+
+ 上传PI
+
+
(baseForm.pi_doc = files.map((f) => f.file_name))"
+ />
+
+
+
+
+
+
+ 上传水单
+
+
(baseForm.transaction_slip = files.map((f) => f.file_name))"
+ />