Files
ys-app/src/pages/business/CRM/visitorReportAdd.vue
2025-07-22 11:21:01 +08:00

150 lines
4.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="con-body">
<view class="con-bg">
<!-- 头部 -->
<customHeader ref="customHeaderRef" :title="'走访报告添加'" :leftFlag="true" :rightFlag="true">
<template #right>
<view class="head-right" @click="submitForm">
<uni-icons custom-prefix="iconfont" type="icon-phonebaocun" size="22"
color="#B7D2FF"></uni-icons>保存
</view>
</template>
</customHeader>
<!-- 高度来避免头部遮挡 -->
<view class="top-height"></view>
<!-- 正文内容 -->
<view class="white-bg">
<view class="form-con">
<uni-forms ref="formRef" :model="formData" :rules="rules" label-width="100px" >
<uni-forms-item label="客户名称" name="guestName" class="f-c-right">
<picker @change="bindPickerChange" :value="guestIndex" :range="guestArr">
<view class="f-c-text">
{{guestArr[guestIndex]}}
<uni-icons type="right" size="20" color="#A0A0A0"></uni-icons>
</view>
</picker>
</uni-forms-item>
<uni-forms-item label="签到记录" class="f-c-right">
<view class="f-c-text txt-right">--</view>
</uni-forms-item>
<uni-forms-item label="我方领导" name="leader" required class="uni-forms-item is-direction-top is-top">
<uni-easyinput v-model="formData.leader" placeholder="请输入我方领导" />
</uni-forms-item>
<uni-forms-item label="走访日期" name="visitDate" class="uni-forms-item is-direction-top is-top">
<uni-datetime-picker type="date" :clear-icon="false" v-model="formData.visitDate" @change="changeDate" />
</uni-forms-item>
</uni-forms>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue'
import customHeader from '@/components/customHeader.vue'
import{ getGuestList} from '@/api/business.js'
// 客户名称列表
let guestList = ref([]);
let guestArr = ref([])
let guestIndex = ref(0);
let selectGuestList = async ()=>{
let res = await getGuestList();
let list = res.list;
list.forEach(item => {
guestArr.value.push(item.name)
});
guestList.value = res.list
}
selectGuestList();
// 选择客户列表
let bindPickerChange = (e)=>{
console.log('picker发送选择改变携带值为', e.detail.value)
guestIndex.value = e.detail.value
}
// 表单ref
const formRef = ref(null);
// 表单数据
const formData = ref({
guestName:'',
leader:'',
visitDate:''
});
// 验证规则
const rules = {
leader: {
rules: [
{ required: true, errorMessage: '我方领导不能为空' }
]
}
};
// 修改日期
let changeDate = (e)=>{
console.log('changeDate:', e);
};
// 保存走访报告
const submitForm = async () => {
try {
// 验证表单
await formRef.value.validate();
// 验证通过后的操作
uni.showToast({
title: '验证通过',
icon: 'success'
});
console.log('表单数据:', formData.value);
// 这里可以添加提交到服务器的代码
} catch (err) {
console.log('表单验证失败:', err);
}
};
</script>
<style scoped>
.white-bg {
width: 750rpx;
padding: 30rpx 0 0;
margin-bottom: 0;
border-radius: 8px 8px 0 0;
}
.form-con{
/* #ifdef APP-PLUS */
height:calc(100vh - 100px)
/* #endif */
/* #ifndef APP-PLUS */
height:calc(100vh - 80px)
/* #endif */
}
:deep(.uni-date-x){
display: block;
}
:deep(.uni-date-x .icon-calendar){
float: right;
margin-top:15rpx;
margin-right: 20rpx;
background:url('../../../static/images/business/icon-date.png') no-repeat;
background-size:32rpx 35rpx;
width:32rpx;
height: 35rpx;
}
:deep(.uni-date-x .icon-calendar::before){
display: none;
}
:deep(.uni-date-x .uni-date__x-input){
padding-left:20rpx;
color:#919191;
}
</style>