diff --git a/.env.local b/.env.local
index 0af2b7fc0..aa3d06322 100644
--- a/.env.local
+++ b/.env.local
@@ -4,7 +4,10 @@ NODE_ENV=development
 VITE_DEV=true
 
 # 请求路径
-VITE_BASE_URL='http://127.0.0.1:48080'
+# VITE_BASE_URL='http://8.130.12.151:48080'
+# VITE_BASE_URL='http://lhy.free.idcfengye.com'
+# VITE_BASE_URL='http://m94844f6.natappfree.cc'
+VITE_BASE_URL='http://172.22.3.168:48080'
 
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
 VITE_UPLOAD_TYPE=server
diff --git a/src/api/crm/business/index.ts b/src/api/crm/business/index.ts
index 4c748e345..ec7196e2d 100644
--- a/src/api/crm/business/index.ts
+++ b/src/api/crm/business/index.ts
@@ -100,3 +100,13 @@ export const getBusinessPageByContact = async (params) => {
 export const transferBusiness = async (data: TransferReqVO) => {
   return await request.put({ url: '/crm/business/transfer', data })
 }
+
+// 查询项目难度
+export const getDifficult = async (params) => {
+  return await request.get({ url: `/crm/project-difficulty/page`, params })
+}
+
+// 查询平台
+export const getTechnicalList = async (params) => {
+  return await request.get({ url: `/crm/technical-docking-checklist/page`, params })
+}
diff --git a/src/api/crm/product/index.ts b/src/api/crm/product/index.ts
index 36a9ca77d..d75d4c4e0 100644
--- a/src/api/crm/product/index.ts
+++ b/src/api/crm/product/index.ts
@@ -50,3 +50,8 @@ export const deleteProduct = async (id: number) => {
 export const exportProduct = async (params) => {
   return await request.download({ url: `/crm/product/export-excel`, params })
 }
+
+// 查询产品列表
+export const getInsuranceList = async () => {
+  return await request.get({ url: `/crm/service-fee-collection-method/get-insurance-list` })
+}
diff --git a/src/api/crm/quotation/index.ts b/src/api/crm/quotation/index.ts
index 41b6c6bb3..9773d46c7 100644
--- a/src/api/crm/quotation/index.ts
+++ b/src/api/crm/quotation/index.ts
@@ -85,6 +85,11 @@ export const QuotationApi = {
     return await request.post({ url: `/crm/quotation/customer-confirm`, data })
   },
 
+  // 查询服务费收取方式
+  getServerMethodList: async (params: any) => {
+    return await request.get({ url: `/crm/service-fee-collection-method/page`, params })
+  },
+
 // ==================== 子表(CRM 报价产品关联) ====================
 
   // 获得CRM 报价产品关联列表
diff --git a/src/components/processForm/index.ts b/src/components/processForm/index.ts
new file mode 100644
index 000000000..983310b27
--- /dev/null
+++ b/src/components/processForm/index.ts
@@ -0,0 +1,3 @@
+import processForm from './src/index.vue'
+
+export { processForm }
diff --git a/src/components/processForm/src/index.vue b/src/components/processForm/src/index.vue
new file mode 100644
index 000000000..acd36dcf6
--- /dev/null
+++ b/src/components/processForm/src/index.vue
@@ -0,0 +1,39 @@
+
+  
+      
+    
+    
+        
+          
+          
+        
+    
+      
+  
+
+
+
\ No newline at end of file
diff --git a/src/components/processTable/index.ts b/src/components/processTable/index.ts
new file mode 100644
index 000000000..c44de9c19
--- /dev/null
+++ b/src/components/processTable/index.ts
@@ -0,0 +1,3 @@
+import processTable from './src/index.vue'
+
+export { processTable }
diff --git a/src/components/processTable/src/index.vue b/src/components/processTable/src/index.vue
new file mode 100644
index 000000000..6dc8f227a
--- /dev/null
+++ b/src/components/processTable/src/index.vue
@@ -0,0 +1,52 @@
+
+  
+    
+    
+      
+        
+      
+    
+    
+
+  
+
+
+
\ No newline at end of file
diff --git a/src/plugins/formCreate/index.ts b/src/plugins/formCreate/index.ts
index 07d2c51fe..6bded1617 100644
--- a/src/plugins/formCreate/index.ts
+++ b/src/plugins/formCreate/index.ts
@@ -64,6 +64,8 @@ import install from '@form-create/element-ui/auto-import'
 
 //======================= 自定义组件 =======================
 import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
+import { processForm } from '@/components/processForm'
+import { processTable } from '@/components/processTable'
 import { useApiSelect } from '@/components/FormCreate'
 import { Editor } from '@/components/Editor'
 import DictSelect from '@/components/FormCreate/src/components/DictSelect.vue'
@@ -112,6 +114,8 @@ const components = [
   UploadImg,
   UploadImgs,
   UploadFile,
+  processForm,
+  processTable,
   DictSelect,
   UserSelect,
   DeptSelect,
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index cae3adc1c..9f076183a 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -894,7 +894,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
         component: () => import('@/views/project/online/OnlineApplicationDetail.vue')
       },
       {
-        path: 'briefWork/BriefWorkDetail',
+        path: 'briefWork/BriefWorkProcess',
         name: 'DayReportDetail',
         meta: {
           title: '日报详情',
diff --git a/src/views/crm/business/BusinessForm.vue b/src/views/crm/business/BusinessForm.vue
index 2b9b0c175..1b422aefd 100644
--- a/src/views/crm/business/BusinessForm.vue
+++ b/src/views/crm/business/BusinessForm.vue
@@ -182,6 +182,30 @@
             
           
         
+        
+          
+            
+              
+            
+          
+        
+        
+          
+            
+              
+            
+          
+        
         
           
             
@@ -301,6 +325,8 @@ const formRef = ref();
 const userOptions = ref([]);
 const statusTypeList = ref([]);
 const customerList = ref([]);
+const techOptions = ref([]);
+const difficultOptions = ref([]);
 const deptTree = ref();
 const props = defineProps({
   type: propTypes.number.def(undefined)
@@ -435,6 +461,11 @@ onMounted(async () => {
   customerList.value = await CustomerApi.getSelfCustomerSimpleList();
   statusTypeList.value = await BusinessStatusApi.getBusinessStatusTypeSimpleList();
   userOptions.value = await UserApi.getSimpleUserList();
+  let techData = await BusinessApi.getTechnicalList({pageNo: 1, pageSize: 1000});//平台
+  console.log('%csrc/views/crm/business/BusinessForm.vue:468 diffData', 'color: #007acc;', techData);
+  techOptions.value = techData.list
+  let diffData = await BusinessApi.getDifficult({pageNo: 1, pageSize: 1000});//困难度
+  difficultOptions.value = diffData.list
   deptTree.value = handleTree(await DeptApi.getSimpleDeptList());
 });
 
diff --git a/src/views/crm/capitalcost/CapitalCostForm.vue b/src/views/crm/capitalcost/CapitalCostForm.vue
index 165578c61..06976e285 100644
--- a/src/views/crm/capitalcost/CapitalCostForm.vue
+++ b/src/views/crm/capitalcost/CapitalCostForm.vue
@@ -1,63 +1,95 @@
 
-