Parcourir la source

添加我的客户—详情页的编辑学校弹窗并提取公共组件

lm il y a 1 mois
Parent
commit
49ffc4b646

+ 0 - 0
src/views/myCustomer/formDialog.ts → src/views/myCustomer/components/SchoolFormDialog/formDialog.ts


+ 40 - 0
src/views/myCustomer/components/SchoolFormDialog/index.vue

@@ -0,0 +1,40 @@
+<template>
+     <FormDialog width="640px" title="编辑学校" 
+        :visible="editFormDialogVisible" 
+        :submitLoading="editFormDialogSubmitLoading"
+        :defaultFormData="defaultFormData"
+        :formItemList="formItemList"
+        @close="CloseFormDialog"
+        @confirm="HandleConfirmFormDialog">
+    </FormDialog>
+</template>
+
+
+
+<script setup lang="ts">
+import {  ref } from 'vue';
+
+import FormDialog from '@/baseComponents/FormDialog.vue';
+import {formItemList} from './formDialog'
+
+const props = defineProps({
+    defaultFormData:{
+        type:Object,
+        required:true
+    }
+})
+const editFormDialogVisible = defineModel('visible')
+const editFormDialogSubmitLoading = ref(false)
+
+const CloseFormDialog = ()=>{
+    editFormDialogVisible.value = false
+}
+const HandleConfirmFormDialog = ()=>{
+    CloseFormDialog()
+}
+</script>
+
+
+
+<style lang="scss" scoped>
+</style>

+ 12 - 22
src/views/myCustomer/index.vue

@@ -41,13 +41,12 @@
         </div>
     </div>
 
-    <FormDialog width="640px" title="编辑学校" :visible="editFormDialogVisible" 
-        :submitLoading="editFormDialogSubmitLoading"
-        :defaultFormData="editFormDefaultFormData"
-        :formItemList="formItemList"
-        @close="CloseFormDialog"
-        @confirm="HandleConfirmFormDialog">
-    </FormDialog>
+    <SchoolFormDialog 
+        v-if="schoolVisible"
+        v-model:visible="schoolVisible"
+        :defaultFormData="schoolDefaultFormData"
+    ></SchoolFormDialog>
+
 </template>
 
 
@@ -59,9 +58,9 @@ import {headerSearchList} from './searchBlock'
 import Table from '@/baseComponents/Table.vue';
 import FormSearchGroup from '@/baseComponents/FormSearchGroup.vue';
 import {tableColumns} from './table'
-import FormDialog from '@/baseComponents/FormDialog.vue';
 
-import {formItemList} from './formDialog'
+import SchoolFormDialog from './components/SchoolFormDialog/index.vue'
+
 
 const router = useRouter()
 /**
@@ -141,13 +140,11 @@ const HandleBlurSearchChange = (params,key)=>{
 /**
  * 3. 编辑学校弹窗有关操作
  */
-const editFormDialogVisible = ref(false)
-const editFormDialogSubmitLoading = ref(false)
-const editFormDefaultFormData = ref({})
-
+const schoolVisible = ref(false)
+const schoolDefaultFormData = ref({})
 const OpenFormDialog = (row)=>{
-    editFormDialogVisible.value = true
-    editFormDefaultFormData.value = {
+    schoolVisible.value = true
+    schoolDefaultFormData.value = {
         ...row,
         provinceArea:{
             province:row.province,
@@ -155,13 +152,6 @@ const OpenFormDialog = (row)=>{
         }
     }
 }
-const CloseFormDialog = ()=>{
-    editFormDialogVisible.value = false
-    editFormDefaultFormData.value = {}
-}
-const HandleConfirmFormDialog = ()=>{
-    CloseFormDialog()
-}
 
 
 /** 跳转详情 */

+ 38 - 4
src/views/myCustomer/myCustomerDetail/index.vue

@@ -20,7 +20,7 @@
                 <div class="action">
                     <el-button class="button_background"><img :src="peopleEditIcon" alt=""> 写跟进</el-button>
                     <el-button class="button_border"><img :src="addIcon" alt=""> 新增联系人</el-button>
-                    <el-button class="button_refresh"><img :src="editIcon" 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="OpenTransferFormDialog"><img :src="exchangeIcon" alt="" > 转让</el-button>
                     <el-button class="button_refresh" @click="OpenOperationRecordDialog"><img :src="logIcon" alt=""> 操作记录</el-button>
@@ -74,6 +74,11 @@
         <template #confirm><i></i></template>
     </PreviewDialog>
 
+    <!-- 编辑学校弹窗 -->
+     <SchoolFormDialog v-model:visible="schoolVisible"  
+        :defaultFormData="schoolDefaultFormData">
+    </SchoolFormDialog>
+
 
 </template>
 
@@ -99,6 +104,8 @@ import {operationRecordSearchList} from './searchBlock'
 import FollowCard from '@/components/FollowCard.vue';
 import Pagination from '@/baseComponents/Pagination.vue';
 
+import SchoolFormDialog from '../components/SchoolFormDialog/index.vue'
+
 const customerBaseMsg = ref({
   schoolName: '北京市第一零九中学',
   customerType: '首单客户',
@@ -174,7 +181,7 @@ const CloseOperationRecordDialog=()=>{
 
 
 
-/**  操作日志有关数据  */
+/**  操作记录有关数据  */
 const operationLogList = ref([
     {
         id:1,
@@ -233,13 +240,40 @@ const finalOperationLogRenderData = computed(()=>{
         }
     })
 })
-
-/** 分页参数 有关数据 */
+//  分页参数 有关数据 *
 const currentPage = ref(1)
 const pageSize = ref(20)
 const totalNum = ref(0)
 
 
+/**  编辑学校 有关数据 及操作 */
+const schoolVisible = ref(false)
+const schoolDefaultFormData = ref({})
+const OpenSchoolFormDialog = ()=>{
+    schoolVisible.value = true
+    schoolDefaultFormData.value = {
+        id: 1,
+        customerType: '首单客户',
+        schoolName: '流星花园学校',
+        schoolStage: 'middle',
+        province:'beijing',
+        provinceName: '北京市',
+        city:'dongcheng',
+        cityName: '东城区',
+        detailAddress:'通州北苑',
+        groupName: '小组',
+        owner: '张三',
+        claimTime: '2026-03-11',
+        lastFollowUpTime: '2026-03-11',
+        provinceArea:{
+            province:'beijing',
+            district:'dongcheng',
+        }
+    }
+}
+
+
+
 </script>