Sfoglia il codice sorgente

完善我的客户详情页的弹窗规则限制,添加转至公海弹窗

lm 1 mese fa
parent
commit
05e13d4871

+ 3 - 0
src/views/myCustomer/myCustomerDetail/components/ConcactPeopleFormDialog/formDialog.ts

@@ -6,6 +6,7 @@ export const formItemList = ref([
     label: '姓名',
     type: 'input',
     placeholder: '请输入姓名',
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: { }
   },
   {
@@ -20,6 +21,7 @@ export const formItemList = ref([
       { label: '年级组长', value: 'grade_leader' },
       { label: '其他', value: 'other' }
     ],
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: {  }
   },
   {
@@ -27,6 +29,7 @@ export const formItemList = ref([
     label: '手机号',
     type: 'input',
     placeholder: '请输入手机号',
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: {}
   },
   {

+ 32 - 2
src/views/myCustomer/myCustomerDetail/components/FollowFormDialog/formDialog.ts

@@ -6,6 +6,7 @@ export const formItemList = ref([
     label: '跟进学校',
     type: 'input',
     disabled: true,
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: { }
   },
   {
@@ -14,6 +15,7 @@ export const formItemList = ref([
     type: 'select',
     placeholder: '请选择跟进产品',
     selectList: [], 
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: { }
   },
   {
@@ -27,6 +29,7 @@ export const formItemList = ref([
       { label: '赢单', value: 'won' },
       { label: '输单', value: 'lost' }
     ],
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: {  }
   },
   {
@@ -34,7 +37,17 @@ export const formItemList = ref([
     label: '联系人',
     type: 'select',
     placeholder: '请选择跟进的联系人',
-    selectList: [], 
+    selectList: [
+      {
+        label:"张三",
+        value:'zhangsan'
+      },
+      {
+        label:"李四",
+        value:'lisi'
+      },
+    ], 
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: {  }
   },
   {
@@ -43,7 +56,18 @@ export const formItemList = ref([
     type: 'select',
     placeholder: '请选择职务',
     disabled: true,
-    selectList: [], 
+    hidden:true,
+    selectList: [
+      {
+        label:'校长',
+        value:"schoolMaster"
+      },
+      {
+        label:'教师',
+        value:"teacher"
+      },
+    ], 
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: { width: '100%' }
   },
   {
@@ -52,6 +76,7 @@ export const formItemList = ref([
     type: 'textarea',
     placeholder: '请输入跟进内容',
     rows: 4,
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
     style: { }
   },
   {
@@ -68,12 +93,17 @@ export const formItemList = ref([
     key: 'appointmentTime',
     label: '预约时间',
     type: 'dateTimePickerNoRange',
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
+    hidden:true,
     style: {  }
+
   },
   {
     key: 'todoTime',
     label: '待办时间',
     type: 'dateTimePickerNoRange',
+    rules:[{required:true,trigger:'blur',message:'请填写信息'}],
+    hidden:true,
     style: { }
   }
 ]);

+ 61 - 4
src/views/myCustomer/myCustomerDetail/components/FollowFormDialog/index.vue

@@ -2,18 +2,19 @@
      <FormDialog width="640px" :title="title" 
         :visible="editFormDialogVisible" 
         :submitLoading="editFormDialogSubmitLoading"
-        :defaultFormData="{...defaultFormData}"
-        :formItemList="formItemList"
+        :defaultFormData="formData"
+        :formItemList="finalFormItemList"
         :formDisabled="formDisabled"
         @close="CloseFormDialog"
-        @confirm="HandleConfirmFormDialog">
+        @confirm="HandleConfirmFormDialog"
+        @formItemChange="HandleFormItemChange">
     </FormDialog>
 
 </template>
 
 
 <script setup lang="ts">
-import {  ref } from 'vue';
+import {  computed, onMounted, ref,watch } from 'vue';
 
 import FormDialog from '@/baseComponents/FormDialog.vue';
 import {formItemList} from './formDialog'
@@ -32,9 +33,14 @@ const props = defineProps({
         default:false
     }
 })
+
+const formData = ref({})
+
 const editFormDialogVisible = defineModel('visible')
 const editFormDialogSubmitLoading = ref(false)
 
+const finalFormItemList = ref(JSON.parse(JSON.stringify(formItemList.value)))
+
 const CloseFormDialog = ()=>{
     editFormDialogVisible.value = false
 }
@@ -42,7 +48,58 @@ const HandleConfirmFormDialog = ()=>{
     CloseFormDialog()
 }
 
+const HandleFormItemChange =(params)=>{
+    const { key,val,formData } = params
+
+    switch(key){
+        case 'contact':
+            if(val){
+                finalFormItemList.value = finalFormItemList.value.map(item=>{
+                    if(item.key == 'position'){
+                        item.hidden = false
+                    }
+                    return item
+                })
+            }else{
+                finalFormItemList.value = finalFormItemList.value.map(item=>{
+                    if(item.key == 'position'){
+                        item.hidden = true
+                    }
+                    return item
+                })
+            }
+            break
+        case 'appointmentType':
+            if(val == 'appointment'){
+                finalFormItemList.value = finalFormItemList.value.map(item=>{
+                    if(item.key == 'appointmentTime'){
+                        item.hidden = false
+                    }else if(item.key == 'todoTime'){
+                        item.hidden = true
+                    }{}
+                    return item
+                })
+            }else if(val == 'todo'){
+                finalFormItemList.value = finalFormItemList.value.map(item=>{
+                    if(item.key == 'appointmentTime'){
+                        item.hidden = true
+                    }else if(item.key == 'todoTime'){
+                        item.hidden = false
+                    }{}
+                    return item
+                })
+            }
+            break
+    }
+}
+
+watch(()=>props.defaultFormData,(newVal)=>{
+    formData.value = {...newVal}
+},{immediate:true})
 
+onMounted(()=>{
+    console.log('页面加载了--',formItemList.value)
+})
 </script>
 
 

+ 28 - 1
src/views/myCustomer/myCustomerDetail/index.vue

@@ -21,7 +21,7 @@
                     <el-button class="button_background" @click="OpenFollowlFormDialog"><img :src="peopleEditIcon" alt=""> 写跟进</el-button>
                     <el-button class="button_border" @click="OpenConcactPeoplelFormDialog"><img :src="addIcon" alt=""> 新增联系人</el-button>
                     <el-button class="button_refresh" @click="OpenSchoolFormDialog"><img :src="editIcon" alt="" > 编辑</el-button>
-                    <el-button class="button_refresh"><img :src="poepleMoveIcon" alt=""> 转至公海</el-button>
+                    <el-button class="button_refresh" @click="OpenTransferPublicDialog"><img :src="poepleMoveIcon" alt=""> 转至公海</el-button>
                     <el-button class="button_refresh" @click="OpenTransferFormDialog"><img :src="exchangeIcon" alt="" > 转让</el-button>
                     <el-button class="button_refresh" @click="OpenOperationRecordDialog"><img :src="logIcon" alt=""> 操作记录</el-button>
                 </div>
@@ -92,6 +92,16 @@
             v-model:visible="followVisible"
             :defaultFormData="followDefaultFormData">
         </FollowFormDialog>
+
+
+        <!-- 转至公海 提示弹窗 -->
+        <Dialog :visible="transferPublicVisible" 
+            :submitLoading="transferPublicSubmitLoading"
+            @close="CloseTransferPublicDialog"
+            @confirm="HandleTransferPublicConfirm">
+            请确认是否将【{{customerBaseMsg.schoolName}}】转至公海
+        </Dialog>
+
     </div>
 
 </template>
@@ -123,6 +133,7 @@ import SchoolFormDialog from '@/components/SchoolFormDialog/index.vue'
 import ConcactPeopleFormDialog from './components/ConcactPeopleFormDialog/index.vue'
 
 import FollowFormDialog from './components/FollowFormDialog/index.vue'
+import Dialog from '@/baseComponents/Dialog.vue';
 
 const customerBaseMsg = ref({
   schoolName: '北京市第一零九中学',
@@ -308,8 +319,24 @@ const OpenFollowlFormDialog = ()=>{
     followDefaultFormData.value = {
         school:customerBaseMsg.value.schoolName,
     }
+    console.log('跟进弹窗的内容---',followDefaultFormData.value)
 }
 
+
+/** 转至公海 弹窗有关数据 及操作  */
+const transferPublicVisible = ref(false)
+const transferPublicSubmitLoading = ref(false)
+const CloseTransferPublicDialog = ()=>{
+    transferPublicVisible.value = false
+}
+const OpenTransferPublicDialog = ()=>{
+    transferPublicVisible.value = true
+}
+const HandleTransferPublicConfirm = ()=>{
+    CloseTransferPublicDialog()
+}
+
+
 </script>
 
 

+ 2 - 0
src/views/userPrivilegeManagement/groupManage/index.vue

@@ -398,9 +398,11 @@ onMounted(async ()=>{
             line-height: 1.5;
         }
         .content_right{
+            height: auto;
             align-self: flex-start;
             align-items: center;
             word-break: keep-all;
+            flex-wrap: wrap;
             .button_border{
                 font-weight: 600;
             }