Lijy 4 mēneši atpakaļ
vecāks
revīzija
21f11dcd87
28 mainītis faili ar 117 papildinājumiem un 48 dzēšanām
  1. BIN
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/assets/image/chongqi.png
  2. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/components/common/foldingPanel.vue
  3. 0 4
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/moduleList/moduleList.vue
  4. 3 3
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/businessInfo.vue
  5. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/businessOpportunityStage.vue
  6. 7 0
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/detail.vue
  7. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contacts/contactsInfo.vue
  8. 7 0
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contacts/detail.vue
  9. 2 2
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contract/addEditor.vue
  10. 10 5
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contract/detail.vue
  11. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/customer/customerInfo.vue
  12. 7 0
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/customer/detail.vue
  13. 8 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/detail.vue
  14. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/orderInfo.vue
  15. 3 3
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/paymentCollection.vue
  16. 7 0
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/detail.vue
  17. 6 4
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/newAndModifiedRelatedProducts.vue
  18. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/productInfo.vue
  19. 6 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/tasks/detail.vue
  20. 6 0
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/thread/detail.vue
  21. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/thread/threadInfo.vue
  22. 12 3
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/businessEcharts.vue
  23. 14 4
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/filterItem.vue
  24. 1 1
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/salesBriefings.vue
  25. 4 3
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/visitorProgram/addEditorVisitor.vue
  26. 2 2
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/utility/generalVariables.js
  27. 3 3
      fhKeeper/formulahousekeeper/customerBuler-crm-h5/vite.config.js
  28. 2 2
      fhKeeper/formulahousekeeper/customerBuler-crm/vite.config.ts

BIN
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/assets/image/chongqi.png


+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/components/common/foldingPanel.vue

@@ -80,7 +80,7 @@ const handleBox = () => {
     }
 
     .expand {
-      max-height: 800px;
+      max-height: 900px;
     }
   }
 

+ 0 - 4
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/moduleList/moduleList.vue

@@ -465,10 +465,6 @@ async function getListData(flag = false) {
     pageFrom: listData.value.pageSize,
     [queryParameters.value?.searchFiled?.search]: searchVal.value,
   }
-
-  if(queryParameters.value?.key == 'product') {
-    formVal.status = 1
-  }
   const res = await requests.post(url, { ...formVal }).finally(() => {
     if (flag) {
       loadingList.value = false

+ 3 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/businessInfo.vue

@@ -51,11 +51,11 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
 
     <van-popup v-model:show="showContactSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector :options="allContactsList" :doYouNeedTranslation="false" @change="selectChange" />
+      <PullDownSelector :showElement="showContactSelect" :options="allContactsList" :doYouNeedTranslation="false" @change="selectChange" />
     </van-popup>
   </div>
 </template>
@@ -76,7 +76,7 @@ import { routingInfos } from "@utility/generalVariables"
 const router = useRouterStore()
 const fixedData = useFixedData()
 const userInfo = useInfoStore()
-const { toastSuccess, toastFail, toastText } = useShowToast()
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/businessOpportunityStage.vue

@@ -120,7 +120,7 @@ function completionStage(type) {
 
 function enterReason() {
   const { id, reason } = transitionalData.value
-  requests.post(PROMOTION_STAGE, {
+  requests.post(STAGE_NOTES, {
     id, reason
   }).then((res) => {
     getBusinessOpportunityDetails(id)

+ 7 - 0
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/business/detail.vue

@@ -26,7 +26,9 @@ import RelatedProducts from '../product/relatedProducts.vue';
 import BusinessInfo from './businessInfo.vue';
 import RelatedTasks from '../tasks/relatedTasks.vue';
 import BusinessOpportunityStage from './businessOpportunityStage.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -54,11 +56,16 @@ function getBusinessOpportunityDetails(id) {
     infoData.value = data
     relatedProductsList.value = data.businessItemProducts || []
     relatedTasksList.value = data.taskList || []
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getBusinessOpportunityDetails(id)
   }, 100);

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contacts/contactsInfo.vue

@@ -33,7 +33,7 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
   </div>
 </template>

+ 7 - 0
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contacts/detail.vue

@@ -22,7 +22,9 @@ import requests from "@common/requests";
 import ContactsInfo from './contactsInfo.vue';
 import RelatedTasks from '../tasks/relatedTasks.vue';
 import RelatedBusinessOpportunities from '../business/relatedBusinessOpportunities.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -46,11 +48,16 @@ function getDetailedData(id) {
     infoData.value = data || {}
     relatedBusinessOpportunitiesList.value = data.businessOpportunityList || []
     relatedTasksList.value = data.taskList || []
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetailedData(id)
   }, 100);

+ 2 - 2
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contract/addEditor.vue

@@ -115,8 +115,8 @@ function onSubmit() {
           }
         })
       }, 2000)
-    }).catch(() => {
-      toastFail('保存失败')
+    }).catch((err) => {
+      toastFail('保存失败:' + err.msg)
     })
   })
 }

+ 10 - 5
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/contract/detail.vue

@@ -51,7 +51,7 @@
     </div>
 
     <!-- 驳回弹窗 -->
-    <van-dialog v-model:show="showDialog" :title="`转移线索`" show-cancel-button @confirm="confirmTransfer"
+    <van-dialog v-model:show="showDialog" :title="`驳回合同`" show-cancel-button @confirm="confirmTransfer"
       :before-close="dialogCloseBefo">
       <template #default>
         <van-field v-model.trim="dialogSelection" type="textarea" rows="3" label="驳回原因" placeholder="请输入驳回原因" />
@@ -77,7 +77,7 @@ import useFixedData from "@store/useFixedData.js"
 const fixedData = useFixedData()
 const router = useRouterStore()
 const userInfo = useInfoStore()
-const { toastSuccess, toastFail, toastText } = useShowToast()
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -128,7 +128,7 @@ function confirmTransfer() {
     title: `合同驳回`,
     message: `确认驳回吗?,驳回后合同基本信息无法修改`,
   }).then(() => {
-    requests.post(CONTRACT_APPROVED, { id, status: 0, msg: dialogSelection.value }).then((res) => {
+    requests.post(CONTRACT_APPROVED, { id, status: 2, msg: dialogSelection.value }).then((res) => {
       toastSuccess('操作成功')
       showDialog.value = false
       processingData(id)
@@ -147,7 +147,7 @@ function dialogCloseBefo(val) {
 function deleteRow() {
   const { name = '', searchFiled = {}, deteleFiled = '' } = routingInformation
   const row = props.info
-  const foemVal = { [routingInformation.key == 'tasks' ? 'taskIds' : 'ids']: row.id }
+  const foemVal = { [routingInformation.key == 'tasks' ? 'taskIds' : 'id']: row.id }
   showConfirmDialog({
     title: `删除${name}`,
     message: `确定删除【${row[searchFiled?.search]}】${name}吗?`,
@@ -170,7 +170,7 @@ function deleteRow() {
 function jumpEdit() {
   const formJson = fixedData.formJson[routingInformation.key] || []
   const formList = resetListData(formJson?.list)
-  const filedObj = getListFieldKey(formList, props.info)
+  const filedObj = getListFieldKey(formList, infoData.value)
   const formVal = { ...filedObj, id: props.info.id }
 
   router.navigateTo({
@@ -187,10 +187,15 @@ function jumpEdit() {
 function getDetails(id) {
   requests.post(OBTAIN_CONTRACT_DETAILS, { id }).then((res) => {
     infoData.value = res.data || {}
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetails(id)
   }, 100);

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/customer/customerInfo.vue

@@ -37,7 +37,7 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
   </div>
 </template>

+ 7 - 0
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/customer/detail.vue

@@ -30,7 +30,9 @@ import RelatedTasks from '../tasks/relatedTasks.vue';
 import RelatedContacts from '../contacts/relatedContacts.vue';
 import RelatedBusinessOpportunities from '../business/relatedBusinessOpportunities.vue';
 import RelatedSalesOrders from '../order/relatedSalesOrders.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -58,11 +60,16 @@ function getDetailedData(id) {
     relatedContactsList.value = data.contacts || []
     relatedBusinessOpportunitiesList.value = data.businessOpportunitys || []
     relatedSalesOrdersList.value = data.salesOrders || []
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetailedData(id)
   }, 100);

+ 8 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/detail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="w-full h-full">
-    <van-tabs v-model:active="tabActive">
+    <van-tabs v-model:active="tabActive" :swipe-threshold="3">
       <van-tab title="销售订单信息" name="销售订单信息">
         <OrderInfo :info="infoData" />
       </van-tab>
@@ -26,7 +26,9 @@ import OrderInfo from './orderInfo.vue';
 import RelatedTasks from '../tasks/relatedTasks.vue';
 import RelatedProducts from '../product/relatedProducts.vue';
 import PaymentCollection from './paymentCollection.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -65,11 +67,16 @@ function getDetailedData(id) {
       }
     })
     relatedProductsList.value = list
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetailedData(id)
   }, 100);

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/orderInfo.vue

@@ -65,7 +65,7 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
   </div>
 </template>

+ 3 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/order/paymentCollection.vue

@@ -2,7 +2,7 @@
   <div class="flex flex-col h-full paymentCollection">
     <div class="info flex-1 overflow-y-auto cellnormall">
       <template v-if="paymentPlanList.length">
-        <div class="bg-white py-2 mb-4" v-for="item in paymentPlanList" :key="item.id">
+        <div class="bg-white py-2 mb-4" v-for="(item, index) in paymentPlanList" :key="item.id">
           <van-cell-group inset>
             <van-cell title="回款时间" :value="item.createTime" />
             <van-cell title="操作人">
@@ -15,8 +15,8 @@
             <van-cell title="操作">
               <template #default>
                 <div class="flex justify-end">
-                  <div class="mr-3 themeTextColor" @click="editPaymentCollection(item)">编辑</div>
-                  <div class="text-[red]" @click="deletePaymentCollection(item)">删除</div>
+                  <div class="mr-3 themeTextColor" v-if="index == 0" @click="editPaymentCollection(item)">编辑</div>
+                  <div class="text-[red]" v-if="index == 0" @click="deletePaymentCollection(item)">删除</div>
                 </div>
               </template>
             </van-cell>

+ 7 - 0
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/detail.vue

@@ -22,7 +22,9 @@ import requests from "@common/requests";
 import ProductInfo from './productInfo.vue';
 import RelatedSalesOrders from '../order/relatedSalesOrders.vue';
 import RelatedBusinessOpportunities from '../business/relatedBusinessOpportunities.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -44,6 +46,10 @@ watch(() => props.info, (newValue) => {
 function getDetailedData(id) {
   requests.post(GET_PRODUCT_DETAILS, { id }).then(({ data }) => {
     infoData.value = data || {}
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
   requests.post(OBTAIN_PRODUCT_RELATED_BUSINESS_OPPORTUNITIES, { id }).then(({ data }) => {
     relatedBusinessOpportunitiesList.value = data || []
@@ -55,6 +61,7 @@ function getDetailedData(id) {
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetailedData(id)
   }, 100);

+ 6 - 4
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/newAndModifiedRelatedProducts.vue

@@ -100,6 +100,7 @@
       :style="{ height: '80%' }"
     >
       <PullDownSelector
+        :showElement="showPicker"
         :options="productsList"
         :doYouNeedTranslation="false"
         @change="selectChange"
@@ -150,7 +151,7 @@ function selectChange(value, label) {
       productType: typeName,
       price,
       inventory,
-      unitName,
+      unit: unitName,
       sellingPrice: 0,
       quantity: 0,
       discount: 0,
@@ -175,16 +176,17 @@ function inputNumberChange(field) {
 
 function getAllProducts() {
   requests
-    .post(GET_PRODUCT_LIST, { pageIndex: -1, pageSize: -1 })
+    .post(GET_PRODUCT_LIST, { pageIndex: -1, pageSize: -1, status: 1 })
     .then(({ data = {} }) => {
       const { record = [] } = data;
-      productsList.value = record.map(item => {
+      const list = record.map(item => {
         return {
           label: item.productName,
           value: item.id
         }
       })
-      allProducts.value = record;
+      productsList.value = list?.length > 0 ? list : [{}];
+      allProducts.value = record?.length > 0 ? record : [{}];
     });
 }
 

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/product/productInfo.vue

@@ -43,7 +43,7 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
   </div>
 </template>

+ 6 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/tasks/detail.vue

@@ -52,7 +52,7 @@ import useRouterStore from "@store/useRouterStore.js";
 const router = useRouterStore()
 const fixedData = useFixedData()
 const userInfo = useInfoStore()
-const { toastSuccess, toastFail, toastText } = useShowToast()
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -102,11 +102,16 @@ function deleteTask() {
 function getTaskDetails(id) {
   requests.post(GET_TASK_DETAILS, { id }).then(({ data }) => {
     infoData.value = data
+  }).finally(() => {
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function initializeData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getTaskDetails(id)
   }, 100);

+ 6 - 0
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/thread/detail.vue

@@ -18,7 +18,9 @@ import { GET_CLUE_DETAILS } from "@hooks/useApi"
 import requests from "@common/requests";
 import ThreadInfo from './threadInfo.vue';
 import RelatedTasks from '../tasks/relatedTasks.vue';
+import useShowToast from '@hooks/useToast'
 
+const { toastSuccess, toastLoading, toastFail, toastText, clearToast } = useShowToast()
 const props = defineProps({
   info: {
     type: Object,
@@ -45,11 +47,15 @@ function getDetails(id) {
     setTimeout(() => {
       componentKey.value++
     }, 10)
+    setTimeout(() => {
+      clearToast()
+    }, 200)
   })
 }
 
 function processingData(id) {
   clearTimeout(timeout.value);
+  toastLoading('加载中...', 0)
   timeout.value = setTimeout(() => {
     getDetails(id)
   }, 100);

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/pageComponents/thread/threadInfo.vue

@@ -36,7 +36,7 @@
 
     <!-- select 选择器 -->
     <van-popup v-model:show="showSelect" destroy-on-close position="bottom" :style="{ height: '80%' }">
-      <PullDownSelector @change="selectChange" />
+      <PullDownSelector :showElement="showSelect" @change="selectChange" />
     </van-popup>
   </div>
 </template>

+ 12 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/businessEcharts.vue

@@ -78,9 +78,18 @@ function processChartData(yAxisData = [], seriesData = []) {
   }
   echartsOption.value = {
     tooltip: {
-      trigger: 'axis',
-      axisPointer: {
-        type: 'shadow'
+      // trigger: 'axis',
+      // axisPointer: {
+      //   type: 'shadow'
+      // }
+      trigger: 'item',
+      formatter: function (params) {
+          return `
+              <div class="tooltip-content">
+                  <div>${params.name}</div>
+                  <div>${params.data} 个</div>
+              </div>
+          `;
       }
     },
     legend: {

+ 14 - 4
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/filterItem.vue

@@ -3,9 +3,14 @@
     <div class="flex-1 overflow-x-auto">
       <div class="filterCriteria-title">范围选择</div>
       <div class="flex flex-wrap">
-        <template v-for="(item, index) in fixedFieldPermissionOptions">
-          <div :class="`${dataFilter.scopeSelection == item.value && 'selected'} item item-special`"
-            @click="scopeSelectionCli(item)">{{ item.label }}</div>
+        <template v-if="dataAnalysisFlag.length > 0">
+          <template v-for="(item, index) in fixedFieldPermissionOptions">
+            <div :class="`${dataFilter.scopeSelection == item.value && 'selected'} item item-special`"
+              @click="scopeSelectionCli(item)">{{ item.label }}</div>
+          </template>
+        </template>
+        <template v-else>
+          <div :class="`selected item item-special`">仅本人</div>
         </template>
       </div>
       <div class="filterCriteria-title">时间选择</div>
@@ -51,7 +56,9 @@ import { useLifecycle } from '@hooks/useCommon.js';
 import { fixedFieldPermissionOptions, fixedFieldDateOptions } from '@utility/defaultData.js';
 import dayjs from 'dayjs';
 import useShowToast from "@hooks/useToast";
+import useInfoStore from '@store/useInfoStore'
 
+const user = useInfoStore()
 const { toastText } = useShowToast();
 const emit = defineEmits()
 const props = defineProps({
@@ -71,6 +78,7 @@ const dataFilter = ref({
   dateSelection: 0,
   customTime: []
 })
+const dataAnalysisFlag = user.userInfo?.moduleList?.filter(item => item.path == '/analysis') || []
 
 watch(() => props.dataFilters, (newValue) => {
   dataFilter.value = newValue
@@ -92,10 +100,12 @@ function showPickerConfirm({ selectedValues }) {
 function showDate(index) {
   if (index == 0) {
     maxDate.value = dataFilter.value.customTime[1] ? new Date(dataFilter.value.customTime[1]) : new Date(dayjs().add(2, 'year'))
+    minDate.value = new Date(dayjs().add(-2, 'year'))
   }
 
   if (index == 1) {
     minDate.value = dataFilter.value.customTime[0] ? new Date(dataFilter.value.customTime[0]) : new Date(dayjs().add(-2, 'year'))
+    maxDate.value = new Date(dayjs().add(2, 'year'))
   }
   const dateVal = dataFilter.value.customTime[index] || '';
   const todaySDate = dayjs().format("YYYY-MM-DD");
@@ -117,7 +127,7 @@ function timeSelectionCli(item) {
 
 useLifecycle({
   load: () => {
-    // 添加加载逻辑
+
   }
 });
 </script>

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/tabbar/home/component/salesBriefings.vue

@@ -78,7 +78,7 @@
             <div>商机金额</div>
             <div class="flex items-end">
               <span class="text-[#EED116] text-size-in font-bold mr-1">
-                {{ salesBriefings?.businessOpportunityPrice?.businessOpportunityCount || 0 }}
+                {{ salesBriefings?.businessOpportunityPrice?.businessOpportunityPrice || 0 }}
               </span>元
             </div>
           </div>

+ 4 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/pages/visitorProgram/addEditorVisitor.vue

@@ -37,7 +37,7 @@
               {{ form.customName }}
             </template>
           </van-field>
-          <van-field
+          <!-- <van-field
             v-model="form.inchargerId"
             is-link
             readonly
@@ -51,7 +51,7 @@
             <template #input v-if="form.inchargerId">
               {{ form.inchargerName }}
             </template>
-          </van-field>
+          </van-field> -->
           <van-field
             v-model="form.visitGoal"
             is-link
@@ -81,12 +81,13 @@
           </van-field>
           <van-field
             v-model="form.remindType"
-            class="resetStyles"
             is-link
             readonly
+            required
             name="remindType"
             label="提醒"
             placeholder="请选择"
+            :rules="[{ required: true, message: '' }]"
             @click="remindShowPicker = true"
           >
             <template #input v-if="form.remindType">

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 2 - 2
fhKeeper/formulahousekeeper/customerBuler-crm-h5/src/utility/generalVariables.js


+ 3 - 3
fhKeeper/formulahousekeeper/customerBuler-crm-h5/vite.config.js

@@ -5,10 +5,10 @@ import Components from "unplugin-vue-components/vite";
 import { VantResolver } from "unplugin-vue-components/resolvers";
 import { postcssConfig } from "./postcss.config.js";
 
-const target = 'http://192.168.2.7:10010';
+// const target = 'http://192.168.2.7:10010';
 // const target = 'http://192.168.2.3:10010';
-// const target = 'http://192.168.2.17:10010';
-// const target = 'http://47.101.180.183:10010';
+const target = 'http://192.168.2.17:10010';
+// const target = 'http://47.101.180.183:10014';
 
 export default defineConfig({
   define: {

+ 2 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/vite.config.ts

@@ -5,9 +5,9 @@ import { resolve } from 'path';
 
 // const target = 'http://192.168.2.28:10010';
 // const target = 'http://192.168.2.17:10010';
-const target = "http://127.0.0.1:10010";
+// const target = "http://127.0.0.1:10010";
 // const target = "http://192.168.2.178:10010";
-// const target = 'http://47.101.180.183:10010';
+const target = 'http://47.101.180.183:10014';
 
 export default defineConfig({
   plugins: [vue({