Просмотр исходного кода

修改写跟进时预约待办的选项展示

lm 4 недель назад
Родитель
Сommit
71c6c44fde

+ 1 - 1
src/components/FollowFormDialog/formDialog.ts

@@ -65,7 +65,7 @@ export const formItemList = ref([
     label: '预约待办',
     type: 'radio',
     selectList: [
-      { label: '预约', value: 0 },
+      // { label: '预约', value: 0 },
       { label: '待办', value: 1 }
     ],
     style: { }

+ 54 - 25
src/components/FollowFormDialog/index.vue

@@ -87,33 +87,34 @@ const HandleConfirmFormDialog = async (params)=>{
         emit('confirm')
         return 
     }
+    if(props.previewForm){
+        emit('confirm',params)
+        return
+    }
+
     const {formData} = params
-    if(!props.previewForm){
-        editFormDialogSubmitLoading.value = true
-        let orderDatetime = formData.appointmentType == 0 ? 
-                            formData.appointmentTime :
-                            (formData.appointmentType == 1 ? 
-                                formData.todoTime : "") 
-        let finalParams = {
-            customerId: route.query.id,
-            productId: JSON.parse(formData.product).value,
-            followId: JSON.parse(formData.status).value,
-            followName: JSON.parse(formData.status).label,
-            customerPersonId: JSON.parse(formData.contact).id,
-            positionId: JSON.parse(formData.position).value, 
-            followContent: formData.content,
-            orderType: formData.appointmentType,
-            orderDatetime:unioformDateTransform(orderDatetime)
-        }
-        let res = await addFollowUpInfoApi(finalParams)
-        if(res?.code == 200){
-            CloseFormDialog()
-            emit('confirm')
-        }else{
-            editFormDialogSubmitLoading.value = false
-        }
+    editFormDialogSubmitLoading.value = true
+    let orderDatetime = formData.appointmentType == 0 ? 
+                        formData.appointmentTime :
+                        (formData.appointmentType == 1 ? 
+                            formData.todoTime : "") 
+    let finalParams = {
+        customerId: route.query.id,
+        productId: JSON.parse(formData.product).value,
+        followId: JSON.parse(formData.status).value,
+        followName: JSON.parse(formData.status).label,
+        customerPersonId: JSON.parse(formData.contact).id,
+        positionId: JSON.parse(formData.position).value, 
+        followContent: formData.content,
+        orderType: formData.appointmentType,
+        orderDatetime:unioformDateTransform(orderDatetime)
+    }
+    let res = await addFollowUpInfoApi(finalParams)
+    if(res?.code == 200){
+        CloseFormDialog()
+        emit('confirm')
     }else{
-        emit('confirm',params)
+        editFormDialogSubmitLoading.value = false
     }
 }
 
@@ -134,6 +135,8 @@ const HandleFormItemChange =(params)=>{
                 formData.position = null
             }
             break
+        case 'status':
+            formData.appointmentType = ''
     }
 }
 
@@ -260,6 +263,7 @@ watch(()=>props.previewForm,async (newVal)=>{
 },{immediate:true})
 
 
+// 监听传参,控制表单项的禁选/可选
 watch(()=>props.itemDisabled,(newVal)=>{
     if(newVal){
         finalFormItemList.value = finalFormItemList.value.map(item=>{
@@ -268,6 +272,31 @@ watch(()=>props.itemDisabled,(newVal)=>{
         })
     }
 },{immediate:true})
+
+
+// 监听选中的 跟进状态值,渲染不同的预约待办配置项
+watch(()=>props.defaultFormData.status,async (newVal)=>{
+    if(!props.previewForm){
+        await store.dispatch('updateFollowUpStatus')
+        // 展示预约状态的 状态值
+        let appointmentAimStatus =  store.state.followUpStatus.find(itm=>{
+            let aimKeyId = JSON.parse(itm.value).value
+            return (aimKeyId == '33')
+        })?.value
+
+        finalFormItemList.value = finalFormItemList.value.map(item=>{
+            if(item.key == 'appointmentType'){
+                item.selectList =  newVal == appointmentAimStatus ? 
+                                    [{ label: '预约', value: 0 },
+                                      { label: '待办', value: 1 }] :  
+                                    [{ label: '待办', value: 1 }]
+            }
+            return item
+        })
+    }
+},{immediate:true})
+
+
 onMounted(async ()=>{
     const disabledData = (date)=>{
     // 如果传入的日期时间戳小于当前时间戳,则禁用(返回 true)