gaoluyang
5 天以前 6c497f71f5441633099fc7a7896da8e8c7835f05
src/pages/opportunityManagement/detail.vue
@@ -128,7 +128,6 @@
            <up-input
               v-model="form.contractAmount"
               :disabled="isDetail || isAddOperation"
               type="number"
               placeholder="请输入合同金额"
            />
         </up-form-item>
@@ -138,7 +137,7 @@
            <text class="section-title">描述信息</text>
            <text class="section-subtitle">补充商机说明,便于后续跟进</text>
         </view>
         <up-form-item label="改造内容" prop="description" :required="isAddOrAddOperation">
         <up-form-item label="拜访记录" prop="description" :required="isAddOrAddOperation">
            <up-textarea
               v-model="form.description"
               :disabled="isDetail"
@@ -149,10 +148,20 @@
            />
         </up-form-item>
         
         <up-form-item label="改造内容" prop="renContent">
         <up-textarea
            v-model="form.renContent"
            :disabled="isDetail || isAddOperation"
            :placeholder="renContentPlaceholder"
            autoHeight
            maxlength="500"
         />
      </up-form-item>
         <up-form-item label="付款描述" prop="paymentDescription">
            <up-textarea
               v-model="form.paymentDescription"
               :disabled="isDetail"
            :disabled="isDetail || isAddOperation"
               placeholder="是否垫资?企业是否开票?企业是否分补贴或额外出钱?"
               autoHeight
               count
@@ -315,7 +324,8 @@
const formRef = ref(null)
const loading = ref(false)
const operationType = ref('add')
const renovationPlaceholder = '1.标准化:\n2.定制化:\n3.外采:'
const renovationPlaceholder = '请输入拜访记录'
const renContentPlaceholder = '1.标准化:\n2.定制化:\n3.外采:'
// 附件上传
const uploadFileList = ref([]) // up-upload 绑定列表
@@ -496,6 +506,7 @@
   businessSource: '',
   contractAmount: '',
   description: '',
   renContent: '',
   paymentDescription: '',
   entryPerson: userStore.nickName,
   entryDate: dayjs().format('YYYY-MM-DD'),
@@ -514,7 +525,7 @@
      { required: true, message: '请输入合同金额', trigger: ['blur', 'change'] }
   ],
   description: [
      { required: true, message: '请输入改造内容', trigger: ['blur', 'change'] }
      { required: true, message: '请输入拜访记录', trigger: ['blur', 'change'] }
   ],
   entryPerson: [
      { required: true, message: '请输入录入人', trigger: ['blur', 'change'] }
@@ -528,10 +539,13 @@
const statusOptions = [
   { value: '新建', label: '新建' },
   { value: '项目跟踪', label: '项目跟踪' },
   { value: '放弃', label: '放弃' },
   { value: '合同签约', label: '合同签约' },
   { value: '备案申报', label: '备案申报' },
   { value: '项目交付', label: '项目交付' },
   { value: '项目验收', label: '项目验收' }
   { value: '项目验收', label: '项目验收' },
   { value: '项目回款', label: '项目回款' },
   { value: '回补贴', label: '回补贴' }
]
const provinceOptions = ref([])
@@ -579,7 +593,7 @@
      case 'edit':
         return '编辑商机'
      case 'addOperation':
         return '添加描述'
         return '添加拜访记录'
      case 'detail':
      default:
         return '商机详情'
@@ -698,14 +712,25 @@
// 提交表单
const onSubmit = () => {
   if (isDetail.value) return
   if (!formRef.value) return
   console.log('onSubmit called, isDetail:', isDetail.value, 'operationType:', operationType.value)
   console.log('formRef.value:', formRef.value)
   if (isDetail.value) {
      console.log('Blocked: isDetail is true')
      return
   }
   if (!formRef.value) {
      console.log('Blocked: formRef is null')
      return
   }
   
   console.log('Starting validation...')
   formRef.value.validate().then(async () => {
      loading.value = true
      try {
         let api
         let params
         console.log('Submitting with operationType:', operationType.value)
         console.log('Form data:', form.value)
         
         if (operationType.value === 'add') {
            api = addOpportunity
@@ -759,13 +784,20 @@
      } finally {
         loading.value = false
      }
   }).catch(() => {})
   }).catch((err) => {
      console.log('Validation failed:', err)
      uni.showToast({
         title: '请检查表单填写是否正确',
         icon: 'none'
      })
   })
}
onLoad(async () => {
   // 读取操作类型和数据
   const type = uni.getStorageSync('opportunityOperationType') || 'add'
   operationType.value = type
   console.log('onLoad - operationType set to:', operationType.value)
   
   // 加载省份列表
   await loadProvinces()
@@ -804,8 +836,9 @@
         form.value.mainBusinessRevenue = nullToEmpty(form.value.mainBusinessRevenue)
         form.value.customerScale = nullToEmpty(form.value.customerScale)
         form.value.informationState = nullToEmpty(form.value.informationState)
         form.value.contractAmount = nullToEmpty(form.value.contractAmount)
      form.value.contractAmount = form.value.contractAmount !== null && form.value.contractAmount !== undefined ? String(form.value.contractAmount) : ''
         form.value.description = nullToEmpty(form.value.description)
         form.value.renContent = nullToEmpty(form.value.renContent)
         form.value.paymentDescription = nullToEmpty(form.value.paymentDescription)
         form.value.entryPerson = nullToEmpty(form.value.entryPerson)
         form.value.entryDate = nullToEmpty(form.value.entryDate)