diff --git a/src/api/crm/clue/index.ts b/src/api/crm/clue/index.ts
new file mode 100644
index 00000000..39da03d3
--- /dev/null
+++ b/src/api/crm/clue/index.ts
@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+export interface ClueVO {
+ id: number
+ transformStatus: boolean
+ followUpStatus: boolean
+ name: string
+ customerId: number
+ contactNextTime: Date
+ telephone: string
+ mobile: string
+ address: string
+ ownerUserId: number
+ contactLastTime: Date
+ remark: string
+}
+
+// 查询线索列表
+export const getCluePage = async (params) => {
+ return await request.get({ url: `/crm/clue/page`, params })
+}
+
+// 查询线索详情
+export const getClue = async (id: number) => {
+ return await request.get({ url: `/crm/clue/get?id=` + id })
+}
+
+// 新增线索
+export const createClue = async (data: ClueVO) => {
+ return await request.post({ url: `/crm/clue/create`, data })
+}
+
+// 修改线索
+export const updateClue = async (data: ClueVO) => {
+ return await request.put({ url: `/crm/clue/update`, data })
+}
+
+// 删除线索
+export const deleteClue = async (id: number) => {
+ return await request.delete({ url: `/crm/clue/delete?id=` + id })
+}
+
+// 导出线索 Excel
+export const exportClue = async (params) => {
+ return await request.download({ url: `/crm/clue/export-excel`, params })
+}
diff --git a/src/api/crm/contract/index.ts b/src/api/crm/contract/index.ts
new file mode 100644
index 00000000..bf438323
--- /dev/null
+++ b/src/api/crm/contract/index.ts
@@ -0,0 +1,53 @@
+import request from '@/config/axios'
+
+export interface ContractVO {
+ id: number
+ name: string
+ customerId: number
+ businessId: number
+ processInstanceId: number
+ orderDate: Date
+ ownerUserId: number
+ no: string
+ startTime: Date
+ endTime: Date
+ price: number
+ discountPercent: number
+ productPrice: number
+ roUserIds: string
+ rwUserIds: string
+ contactId: number
+ signUserId: number
+ contactLastTime: Date
+ remark: string
+}
+
+// 查询合同列表
+export const getContractPage = async (params) => {
+ return await request.get({ url: `/crm/contract/page`, params })
+}
+
+// 查询合同详情
+export const getContract = async (id: number) => {
+ return await request.get({ url: `/crm/contract/get?id=` + id })
+}
+
+// 新增合同
+export const createContract = async (data: ContractVO) => {
+ return await request.post({ url: `/crm/contract/create`, data })
+}
+
+// 修改合同
+export const updateContract = async (data: ContractVO) => {
+ return await request.put({ url: `/crm/contract/update`, data })
+}
+
+// 删除合同
+export const deleteContract = async (id: number) => {
+ return await request.delete({ url: `/crm/contract/delete?id=` + id })
+}
+
+// 导出合同 Excel
+export const exportContract = async (params) => {
+ return await request.download({ url: `/crm/contract/export-excel`, params })
+}
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceChildrenTaskList.vue b/src/views/bpm/processInstance/detail/ProcessInstanceChildrenTaskList.vue
index f162d1fb..363874cf 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceChildrenTaskList.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceChildrenTaskList.vue
@@ -1,13 +1,20 @@
+
【{{ baseTask.name }} 】审批人:{{ baseTask.assigneeUser?.nickname }}
-
-
- 减签
+
+ 减签
-
+
+
@@ -32,18 +39,17 @@
-
- 减签
+ 减签
-
+
@@ -53,12 +59,11 @@ import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import TaskSubSignDialogForm from './TaskSubSignDialogForm.vue'
-const message = useMessage() // 消息弹窗
-defineOptions({ name: 'ProcessInstancechildrenList' })
+defineOptions({ name: 'ProcessInstanceChildrenTaskList' })
+const message = useMessage() // 消息弹窗
const drawerVisible = ref(false) // 抽屉的是否展示
-const tableData = ref([]) //表格数据
const baseTask = ref