写死跟进客户

This commit is contained in:
WindowBird 2025-11-11 16:11:29 +08:00
parent afaa1d55f3
commit 0cbd130078
3 changed files with 25 additions and 4 deletions

View File

@ -3,10 +3,14 @@
<view class="section-title">客户信息</view> <view class="section-title">客户信息</view>
<!-- 客户类型 --> <!-- 客户类型 -->
<view class="form-item clickable-item" @click="$emit('open-picker', 'customerType')"> <view
class="form-item"
:class="lockCustomerType ? 'locked-item' : 'clickable-item'"
@click="!lockCustomerType && $emit('open-picker', 'customerType')"
>
<text v-if="formData.customerType" class="form-value">{{ getCustomerTypeText(formData.customerType) }}</text> <text v-if="formData.customerType" class="form-value">{{ getCustomerTypeText(formData.customerType) }}</text>
<text v-else class="form-placeholder">选择客户类型</text> <text v-else class="form-placeholder">选择客户类型</text>
<text class="arrow"></text> <text v-if="!lockCustomerType" class="arrow"></text>
</view> </view>
<!-- 客户名称 --> <!-- 客户名称 -->
@ -95,6 +99,10 @@ const props = defineProps({
type: Object, type: Object,
required: true required: true
}, },
lockCustomerType: {
type: Boolean,
default: false
},
customerTypeOptions: { customerTypeOptions: {
type: Array, type: Array,
default: () => [] default: () => []
@ -185,6 +193,17 @@ const getCustomerStatusText = (value) => {
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
} }
.locked-item {
display: flex;
align-items: center;
justify-content: space-between;
height: 44px;
padding: 0 12px;
background-color: #f0f0f0;
border-radius: 6px;
border: 1px solid #e0e0e0;
}
.form-value { .form-value {
font-size: 15px; font-size: 15px;
color: #333; color: #333;

View File

@ -12,6 +12,7 @@
:customer-type-options="customerTypeOptions" :customer-type-options="customerTypeOptions"
:intent-level-options="intentLevelOptions" :intent-level-options="intentLevelOptions"
:customer-status-options="customerStatusOptions" :customer-status-options="customerStatusOptions"
:lock-customer-type="true"
@update:form-data="formData = $event" @update:form-data="formData = $event"
@open-picker="handleOpenPicker" @open-picker="handleOpenPicker"
/> />
@ -87,7 +88,7 @@ const {
// //
const formData = ref({ const formData = ref({
customerType: '', customerType: '2',
name: '', name: '',
mobile: '', mobile: '',
wechat: '', wechat: '',
@ -247,7 +248,7 @@ const handleSave = async () => {
intents: intentsArray, intents: intentsArray,
followId: userId, followId: userId,
remark: formData.value.remark.trim() || null, remark: formData.value.remark.trim() || null,
type: formData.value.customerType || '2', type: '2',
workWechatId: formData.value.workWechatId || null, workWechatId: formData.value.workWechatId || null,
regionIds: regionIdsArray, regionIds: regionIdsArray,
attention: formData.value.attention.trim() || null, attention: formData.value.attention.trim() || null,

View File

@ -12,6 +12,7 @@
:customer-type-options="customerTypeOptions" :customer-type-options="customerTypeOptions"
:intent-level-options="intentLevelOptions" :intent-level-options="intentLevelOptions"
:customer-status-options="customerStatusOptions" :customer-status-options="customerStatusOptions"
:lock-customer-type="true"
@update:form-data="formData = $event" @update:form-data="formData = $event"
@open-picker="handleOpenPicker" @open-picker="handleOpenPicker"
/> />