From b5c1614fe473330ceca8b7cff0f1802e19bd5039 Mon Sep 17 00:00:00 2001
From: Sanakey <714737083@qq.com>
Date: 星期一, 30 九月 2024 13:39:08 +0800
Subject: [PATCH] feat:添加部分线索接口,完善客户相关页面

---
 src/views/clues/components/drawerFormData.tsx |  231 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 121 insertions(+), 110 deletions(-)

diff --git a/src/views/clues/components/drawerFormData.tsx b/src/views/clues/components/drawerFormData.tsx
index 98c5abf..2b114f4 100644
--- a/src/views/clues/components/drawerFormData.tsx
+++ b/src/views/clues/components/drawerFormData.tsx
@@ -9,6 +9,19 @@
 import companyType from './drawer-form/companyType';
 import annualPurchaseAmount from './drawer-form/annualPurchaseAmount';
 import timeZone from './drawer-form/timeZone';
+import {uploadApi} from "@/api/sys/upload";
+
+// import {useFormBaseData} from '@/store/modules/formBaseData';
+// let baseData = useFormBaseData.getFormBaseData;
+// Logger.log('....getFormBaseData.!!!.', baseData);
+
+// const userBaseDataStore= useFormBaseData();
+// let baseData = {};
+// userBaseDataStore.getSelectInfoAction().then((res) => {
+//   baseData = userBaseDataStore.getFormBaseData;
+//   Logger.log('!!!getFormBaseData..', baseData);
+// });
+
 
 // const custom_typeKey2typeValueRules = (model) => {
 //   return [
@@ -141,7 +154,7 @@
       },
       // atfer request callback
       onOptionsChange: (options) => {
-        console.log('get options', options.length, options);
+        // console.log('get options', options.length, options);
       },
     },
     colProps: {
@@ -279,7 +292,8 @@
     field: 'annualPurchaseAmount',
     colProps: {span: 16},
     componentProps: {
-      options: annualPurchaseAmount,
+      // options: annualPurchaseAmount,
+      // options: baseData?.annualProcurement,
     },
   },
   {
@@ -308,12 +322,34 @@
     },
   },
   {
-    field: 'detailedAddress2',
-    component: 'Input',
-    label: '鍥�',
-    colProps: {
-      span: 24,
+    field: 'image',
+    component: 'ImageUpload',
+    label: '涓婁紶鍥剧墖',
+    subLabel: '(鍗曞紶鍥剧墖鏈�澶�3M锛屾渶澶氫笂浼�5寮犲浘鐗�)',
+    // required: true,
+    defaultValue: [
+      'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
+    ],
+    componentProps: {
+      api: uploadApi,
+      accept: ['png', 'jpeg', 'jpg'],
+      helpText: '鍗曞紶鍥剧墖鏈�澶�3M锛屾渶澶氫笂浼�5寮犲浘鐗�',
+      maxSize: 3, //鍗曚釜鏂囦欢鏈�澶т綋绉紝鍗曚綅 M
+      maxNumber: 5,
     },
+    // rules: [
+    //   {
+    //     required: true,
+    //     trigger: 'change',
+    //     validator(_, value) {
+    //       if (isArray(value) && value.length > 0) {
+    //         return Promise.resolve();
+    //       } else {
+    //         return Promise.reject('璇烽�夋嫨涓婁紶鍥剧墖');
+    //       }
+    //     },
+    //   },
+    // ],
   },
   {
     field: 'cluesNotes',
@@ -358,125 +394,100 @@
     },
   },
   {
-    field: 'field1',
-    component: 'RadioButtonGroup',
+    field: 'salesman',
+    component: 'Input',
+    label: '涓氬姟鍛�',
+    colProps: {
+      span: 16,
+    },
+  },
+  {
+    component: 'Select',
+    label: '璁块棶鏉ユ簮',
+    field: 'visitSource',
+    colProps: {span: 24},
     componentProps: {
       options: [
-        {label: 'Apple', value: 'Apple'},
-        {label: 'Pear', value: 'Pear'},
-        {label: 'Orange', value: 'Orange', disabled: true},
+        {
+          label: '骞垮憡鎶曟斁',
+          value: '1',
+        },
+        {
+          label: '鑷劧娴侀噺',
+          value: '2',
+        },
+        {
+          label: '绀句氦缃戠珯',
+          value: '3',
+        },
+        {
+          label: '鐩存帴璁块棶',
+          value: '4',
+        },
+        {
+          label: '閭欢',
+          value: '5',
+        },
+        {
+          label: '鍏朵粬',
+          value: '6',
+        },
       ],
     },
-
-    label: '',
-    colProps: {
-      span: 24,
-    },
   },
   {
-    field: 'field2',
-    component: 'Checkbox',
-    // suffix:'鍏ㄥぉ浜嬩欢',
-    subLabel: '',
-    colProps: {
-      span: 6,
-    },
-    renderComponentContent: '鍏ㄥぉ浜嬩欢',
-    // componentProps: {
-    //   options: [
-    //     {
-    //       label: '鍏ㄥぉ浜嬩欢',
-    //       value: '1',
-    //     }
-    //   ],
-    // },
-  },
-  {
-    field: '[startDate, endDate]',
-    label: '璧锋鏃堕棿',
-    component: 'RangePicker',
+    field: 'field12',
+    component: 'ApiCascader',
+    label: '涓昏惀浜у搧',
+    colProps: { span: 24 },
     componentProps: {
-      format: 'YYYY-MM-DD',
-      placeholder: ['寮�濮嬫棩鏈�', '缁撴潫鏃ユ湡'],
-    },
-    colProps: {span: 24},
-  },
-
-  {
-    field: 'field3',
-    component: 'DatePicker',
-    label: '鐩村埌',
-    colProps: {
-      span: 10,
-      offset: 2,
-    },
-    componentProps: {
-      style: {width: '100%'},
-      disabledDate: (currentDate) => {
-        // Logger.log('currentDate',currentDate)
-        // 绂佺敤浠婂ぉ涔嬪墠鐨勫ぉ鏁�
-        return currentDate && currentDate < dayjs().subtract(1, 'day');
-      }
-    },
-    required: true,
-    ifShow: ({values}) => {
-      // Logger.log('vvv',values)
-      return ['2', '3', '4'].includes(values.date1);
+      api: areaRecord,
+      apiParamKey: 'parentCode',
+      showCheckedStrategy: 'SHOW_CHILD',
+      labelField: 'name',
+      valueField: 'code',
+      multiple: true,
+      initFetchParams: {
+        parentCode: '',
+      },
+      isLeaf: (record) => {
+        return !(record.levelType < 3);
+      },
+      onChange: (e, ...v) => {
+        Logger.log('ApiCascader====> e:', e);
+        Logger.log('ApiCascader====> v:', v);
+      },
     },
   },
   {
-    field: 'remindTime2',
-    component: 'DatePicker',
-    label: '',
-    colProps: {
-      span: 6,
-      offset: 2,
-    },
+    field: 'ipAddress',
+    component: 'ApiSelect',
+    label: '璁垮IP鎵�鍦ㄥ湴',
+    // required: true,
     componentProps: {
-      // disabledDate:(currentDate)=>{
-      //   // Logger.log('currentDate',currentDate)
-      //   // 绂佺敤浠婂ぉ涔嬪墠鐨勫ぉ鏁�
-      //   return currentDate && currentDate < dayjs().subtract(1, 'day');
-      // }
-    },
-    dynamicRules: ({values}) => {
-      return [
-        {
-          // required: true,
-          validator: (_, value) => {
-            if (values.remindTime === '6') {
-              if (!value) {
-                return Promise.reject('涓嶈兘涓虹┖');
-              }
-            }
-
-            return Promise.resolve();
-          },
-        },
-      ];
-    },
-    show: ({values}) => {
-      // Logger.log('vvv',values)
-      return values.remindTime === '6';
-    },
-  },
-  {
-    field: 'field33',
-    component: 'ApiTreeSelect',
-    label: '杩滅▼涓嬫媺鏍�',
-    helpMessage: ['ApiTreeSelect缁勪欢', '浣跨敤鎺ュ彛鎻愪緵鐨勬暟鎹敓鎴愰�夐」'],
-    required: true,
-    componentProps: {
-      api: treeOptionsListApi,
-      treeCheckable: true,
-      treeCheckStrictly: true, // 鐖跺瓙鑺傜偣鏄惁涓嶅啀鍏宠仈
+      // more details see /src/components/Form/src/components/ApiSelect.vue
+      api: optionsListApi,
+      params: {
+        id: 1,
+      },
       resultField: 'list',
+      // use name as label
+      labelField: 'name',
+      // use id as value
+      valueField: 'id',
+      // not request untill to select
+      immediate: true,
       onChange: (e, v) => {
-        console.log('ApiTreeSelect====>:', e, v);
+        console.log('ApiSelect====>:', e, v);
+      },
+      // atfer request callback
+      onOptionsChange: (options) => {
+        // console.log('get options', options.length, options);
       },
     },
     colProps: {
-      span: 12,
+      span: 20,
     },
+    // defaultValue: '0',
   },
 ];

--
Gitblit v1.8.0