diff --git a/.env.dev b/.env.dev
index 04c9c99f2..6218b2a4e 100644
--- a/.env.dev
+++ b/.env.dev
@@ -4,7 +4,7 @@ NODE_ENV=production
VITE_DEV=true
# 请求路径
-VITE_BASE_URL='http://192.168.6.136:48080'
+VITE_BASE_URL='http://192.168.6.122:48080'
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
VITE_UPLOAD_TYPE=client
diff --git a/package.json b/package.json
index e68b6d66f..83e530071 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
"scripts": {
"i": "pnpm install",
"dev": "vite --mode env.local",
+ "test": "vite --mode env.test",
"dev-server": "vite --mode dev",
"ts:check": "vue-tsc --noEmit",
"build:local": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build",
diff --git a/src/views/crm/backlog/components/ContractAuditList.vue b/src/views/crm/backlog/components/ContractAuditList.vue
index 9c13237ce..366be5794 100644
--- a/src/views/crm/backlog/components/ContractAuditList.vue
+++ b/src/views/crm/backlog/components/ContractAuditList.vue
@@ -49,17 +49,6 @@
-
-
-
- {{ scope.row.businessName }}
-
-
-
+
- 待审核回款
+ 待审核付款
-
+
{{ scope.row.no }}
@@ -62,18 +62,18 @@
-
+
@@ -103,7 +103,7 @@
width="180px"
/>
-
+
@@ -173,7 +173,7 @@ const handleProcessDetail = (row: ReceivableApi.ReceivableVO) => {
push({ name: 'BpmProcessInstanceDetail', query: { id: row.processInstanceId } })
}
-/** 打开回款详情 */
+/** 打开付款详情 */
const { push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmReceivableDetail', params: { id } })
diff --git a/src/views/crm/backlog/components/ReceivablePlanRemindList.vue b/src/views/crm/backlog/components/ReceivablePlanRemindList.vue
index 9a3cf0cf5..74e01ec55 100644
--- a/src/views/crm/backlog/components/ReceivablePlanRemindList.vue
+++ b/src/views/crm/backlog/components/ReceivablePlanRemindList.vue
@@ -1,7 +1,7 @@
-
+
- 待回款提醒
+ 待付款提醒
@@ -71,7 +71,7 @@
width="180px"
:formatter="dateFormatter2"
/>
-
+
@@ -80,7 +80,7 @@
@@ -93,14 +93,14 @@
@@ -135,7 +135,7 @@
@click="openReceivableForm(scope.row)"
:disabled="scope.row.receivableId"
>
- 创建回款
+ 创建付款
@@ -191,7 +191,7 @@ const handleQuery = () => {
getList()
}
-/** 创建回款操作 */
+/** 创建付款操作 */
const receivableFormRef = ref()
const openReceivableForm = (row: ReceivablePlanApi.ReceivablePlanVO) => {
receivableFormRef.value.open('create', undefined, row)
diff --git a/src/views/crm/contract/components/ContractList.vue b/src/views/crm/contract/components/ContractList.vue
index a78bb999f..1f959f212 100644
--- a/src/views/crm/contract/components/ContractList.vue
+++ b/src/views/crm/contract/components/ContractList.vue
@@ -36,6 +36,26 @@
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
{
/** 添加 */
const formRef = ref()
-const openForm = () => {
- formRef.value.open('create')
+// 编辑
+const openForm = (type = 'create', id?: number) => {
+ formRef.value.open(type, id)
}
/** 打开合同详情 */
@@ -117,6 +138,16 @@ const openDetail = (id: number) => {
push({ name: 'CrmContractDetail', params: { id } })
}
+/** 删除 */
+const handleDelete = async (id: number) => {
+ try {
+ await ElMessageBox.confirm('确定要删除该合同吗?', '提示', { type: 'warning' })
+ await ContractApi.deleteContract(id)
+ ElMessage.success('删除成功')
+ getList()
+ } catch {}
+}
+
/** 监听打开的 bizId + bizType,从而加载最新的列表 */
watch(
() => [props.bizId, props.bizType],
diff --git a/src/views/crm/contract/detail/ContractDetailsHeader.vue b/src/views/crm/contract/detail/ContractDetailsHeader.vue
index 9cfbfc74b..784d79397 100644
--- a/src/views/crm/contract/detail/ContractDetailsHeader.vue
+++ b/src/views/crm/contract/detail/ContractDetailsHeader.vue
@@ -26,7 +26,7 @@
{{ formatDate(contract.orderDate) }}
-
+
{{ erpPriceInputFormatter(contract.totalReceivablePrice) }}
diff --git a/src/views/crm/contract/detail/index.vue b/src/views/crm/contract/detail/index.vue
index 9d5e14ca4..0e1af5fd7 100644
--- a/src/views/crm/contract/detail/index.vue
+++ b/src/views/crm/contract/detail/index.vue
@@ -19,7 +19,7 @@
-
+
{
logList.value = data.list
}
-/** 从回款计划创建回款 */
-const receivableListRef = ref>() // 回款列表 Ref
+/** 从付款计划创建付款 */
+const receivableListRef = ref>() // 付款列表 Ref
const createReceivable = (planData: any) => {
receivableListRef.value?.createReceivable(planData)
}
diff --git a/src/views/crm/contract/index.vue b/src/views/crm/contract/index.vue
index 665d25b32..3a8d6da45 100644
--- a/src/views/crm/contract/index.vue
+++ b/src/views/crm/contract/index.vue
@@ -155,14 +155,14 @@
-
+
@@ -73,12 +73,12 @@
-
+
-
-
+
+
-
+
-
+
({} as ReceivableApi.ReceivableV
const formRules = reactive({
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
contractId: [{ required: true, message: '合同不能为空', trigger: 'blur' }],
- returnTime: [{ required: true, message: '回款日期不能为空', trigger: 'blur' }],
- price: [{ required: true, message: '回款金额不能为空', trigger: 'blur' }]
+ returnTime: [{ required: true, message: '付款日期不能为空', trigger: 'blur' }],
+ price: [{ required: true, message: '付款金额不能为空', trigger: 'blur' }]
})
const formRef = ref() // 表单 Ref
const customerList = ref([]) // 客户列表
const contractList = ref([]) // 合同列表
-const receivablePlanList = ref([]) // 回款计划列表
+const receivablePlanList = ref([]) // 付款计划列表
/** 打开弹窗 */
const open = async (
@@ -202,7 +202,7 @@ const open = async (
if (formType.value === 'create') {
formData.value.ownerUserId = useUserStore().getUser.id
}
- // 从回款计划创建回款
+ // 从付款计划创建付款
if (receivablePlan) {
formData.value.customerId = receivablePlan.customerId
await handleCustomerChange(receivablePlan.customerId)
@@ -262,10 +262,10 @@ const handleCustomerChange = async (customerId: number) => {
/** 处理切换合同 */
const handleContractChange = async (contractId: number) => {
- // 重置回款计划编号
+ // 重置付款计划编号
formData.value.planId = undefined
if (contractId) {
- // 获得回款计划列表
+ // 获得付款计划列表
receivablePlanList.value = []
receivablePlanList.value = await ReceivablePlanApi.getReceivablePlanSimpleList(
formData.value.customerId!,
@@ -279,7 +279,7 @@ const handleContractChange = async (contractId: number) => {
}
}
-/** 处理切换回款计划 */
+/** 处理切换付款计划 */
const handleReceivablePlanChange = (planId: number) => {
if (!planId) {
return
diff --git a/src/views/crm/receivable/components/ReceivableList.vue b/src/views/crm/receivable/components/ReceivableList.vue
index 67287ea7f..3a9bb65a8 100644
--- a/src/views/crm/receivable/components/ReceivableList.vue
+++ b/src/views/crm/receivable/components/ReceivableList.vue
@@ -3,31 +3,31 @@
- 创建回款
+ 创建付款
-
+
-
+
@@ -142,7 +142,7 @@ const handleDelete = async (id: number) => {
} catch {}
}
-/** 从回款计划创建回款 */
+/** 从付款计划创建付款 */
const createReceivable = (planData: any) => {
const data = planData as unknown as ReceivablePlanApi.ReceivablePlanVO
formRef.value.open('create', undefined, data)
diff --git a/src/views/crm/receivable/index.vue b/src/views/crm/receivable/index.vue
index d3df8a0de..7cde3f3ae 100644
--- a/src/views/crm/receivable/index.vue
+++ b/src/views/crm/receivable/index.vue
@@ -11,12 +11,12 @@
class="-mb-15px"
label-width="68px"
>
-
+
@@ -75,7 +75,7 @@
-
+
{{ scope.row.no }}
@@ -107,18 +107,18 @@
-
+
@@ -148,7 +148,7 @@
width="180px"
/>
-
+
@@ -284,7 +284,7 @@ const handleDelete = async (id: number) => {
/** 提交审核 **/
const handleSubmit = async (row: ReceivableApi.ReceivableVO) => {
- await message.confirm(`您确定提交编号为【${row.no}】的回款审核吗?`)
+ await message.confirm(`您确定提交编号为【${row.no}】的付款审核吗?`)
await ReceivableApi.submitReceivable(row.id)
message.success('提交审核成功!')
await getList()
@@ -295,7 +295,7 @@ const handleProcessDetail = (row: ReceivableApi.ReceivableVO) => {
push({ name: 'BpmProcessInstanceDetail', query: { id: row.processInstanceId } })
}
-/** 打开回款详情 */
+/** 打开付款详情 */
const { push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmReceivableDetail', params: { id } })
@@ -319,7 +319,7 @@ const handleExport = async () => {
// 发起导出
exportLoading.value = true
const data = await ReceivableApi.exportReceivable(queryParams)
- download.excel(data, '回款.xls')
+ download.excel(data, '付款.xls')
} catch {
} finally {
exportLoading.value = false
diff --git a/src/views/crm/receivable/plan/ReceivablePlanForm.vue b/src/views/crm/receivable/plan/ReceivablePlanForm.vue
index f321592a2..e3ab78bb1 100644
--- a/src/views/crm/receivable/plan/ReceivablePlanForm.vue
+++ b/src/views/crm/receivable/plan/ReceivablePlanForm.vue
@@ -71,22 +71,22 @@
-
+
-
+
-
-
+
+
({} as ReceivablePlanApi.ReceivablePlanVO)
const formRules = reactive({
- price: [{ required: true, message: '计划回款金额不能为空', trigger: 'blur' }],
- returnTime: [{ required: true, message: '计划回款日期不能为空', trigger: 'blur' }],
+ price: [{ required: true, message: '计划付款金额不能为空', trigger: 'blur' }],
+ returnTime: [{ required: true, message: '计划付款日期不能为空', trigger: 'blur' }],
customerId: [{ required: true, message: '客户编号不能为空', trigger: 'blur' }],
contractId: [{ required: true, message: '合同编号不能为空', trigger: 'blur' }],
ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }]
diff --git a/src/views/crm/receivable/plan/components/ReceivablePlanList.vue b/src/views/crm/receivable/plan/components/ReceivablePlanList.vue
index 3b80526bc..5101b7a01 100644
--- a/src/views/crm/receivable/plan/components/ReceivablePlanList.vue
+++ b/src/views/crm/receivable/plan/components/ReceivablePlanList.vue
@@ -3,7 +3,7 @@
- 创建回款计划
+ 创建付款计划
@@ -15,7 +15,7 @@
@@ -46,7 +46,7 @@
@click="createReceivable(scope.row)"
:disabled="scope.row.receivableId"
>
- 创建回款
+ 创建付款
{
formRef.value.open(type, id, props.customerId, props.contractId)
}
-/** 创建回款 */
+/** 创建付款 */
const emits = defineEmits<{
(e: 'createReceivable', v: ReceivablePlanApi.ReceivablePlanVO)
}>()
diff --git a/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue b/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue
index b0e004431..631871677 100644
--- a/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue
+++ b/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue
@@ -20,13 +20,13 @@
{{ receivablePlan.customerName }}
{{ receivablePlan.contractNo }}
-
+
{{ erpPriceInputFormatter(receivablePlan.price) }}
-
+
{{ formatDate(receivablePlan.returnTime) }}
-
+
{{ erpPriceInputFormatter(receivablePlan.receivable.price) }}
diff --git a/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue b/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue
index c25259b16..58e96830a 100644
--- a/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue
+++ b/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue
@@ -13,13 +13,13 @@
{{ receivablePlan.contractNo }}
-
+
{{ erpPriceInputFormatter(receivablePlan.price) }}
-
+
{{ formatDate(receivablePlan.returnTime, 'YYYY-MM-DD') }}
-
+
{{ receivablePlan.remark }}
-
+
{{ erpPriceInputFormatter(receivablePlan.receivable.price) }}
{{ erpPriceInputFormatter(0) }}
-
+
{{ erpPriceInputFormatter(receivablePlan.price - receivablePlan.receivable.price) }}
{{ erpPriceInputFormatter(receivablePlan.price) }}
-
+
{{ formatDate(receivablePlan.receivable?.returnTime, 'YYYY-MM-DD') }}
diff --git a/src/views/crm/receivable/plan/detail/index.vue b/src/views/crm/receivable/plan/detail/index.vue
index fba86940e..3422c2452 100644
--- a/src/views/crm/receivable/plan/detail/index.vue
+++ b/src/views/crm/receivable/plan/detail/index.vue
@@ -45,11 +45,11 @@ defineOptions({ name: 'CrmReceivablePlanDetail' })
const message = useMessage()
-const receivablePlanId = ref(0) // 回款计划编号
+const receivablePlanId = ref(0) // 付款计划编号
const loading = ref(true) // 加载中
const receivablePlan = ref(
{} as ReceivablePlanApi.ReceivablePlanVO
-) // 回款计划详情
+) // 付款计划详情
const permissionListRef = ref>() // 团队成员列表 Ref
/** 获取详情 */
@@ -93,7 +93,7 @@ const close = () => {
const { params } = useRoute()
onMounted(async () => {
if (!params.id) {
- message.warning('参数错误,回款计划不能为空!')
+ message.warning('参数错误,付款计划不能为空!')
close()
return
}
diff --git a/src/views/crm/receivable/plan/index.vue b/src/views/crm/receivable/plan/index.vue
index 2f53f95d2..edcb0a405 100644
--- a/src/views/crm/receivable/plan/index.vue
+++ b/src/views/crm/receivable/plan/index.vue
@@ -95,7 +95,7 @@
@@ -115,7 +115,7 @@
width="180px"
:formatter="dateFormatter2"
/>
-
+
@@ -124,7 +124,7 @@
@@ -137,14 +137,14 @@
@@ -179,7 +179,7 @@
@click="openReceivableForm(scope.row)"
:disabled="scope.row.receivableId"
>
- 创建回款
+ 创建付款
{
formRef.value.open(type, id)
}
-/** 创建回款操作 */
+/** 创建付款操作 */
const receivableFormRef = ref()
const openReceivableForm = (row: ReceivablePlanApi.ReceivablePlanVO) => {
receivableFormRef.value.open('create', undefined, row)
@@ -308,7 +308,7 @@ const handleExport = async () => {
// 发起导出
exportLoading.value = true
const data = await ReceivablePlanApi.exportReceivablePlan(queryParams)
- download.excel(data, '回款计划.xls')
+ download.excel(data, '付款计划.xls')
} catch {
} finally {
exportLoading.value = false