You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

209 lines
6.4 KiB

3 years ago
<template>
<view class="page">
3 years ago
<uni-card v-if="customerId" :is-shadow="false" :border="false" is-full>
<view class="info">
3 years ago
<view class="name">{{ form.customerName }}</view>
<view class="text">客户编号2124232</view>
3 years ago
<view class="text">客户类型{{ customerType }}</view>
<view class="text">产品到期时间{{ form.expireDate }}</view>
</view>
</uni-card>
3 years ago
<uni-section title="基本信息" type="line">
<view class="form">
<uni-forms ref="baseForm" :modelValue="form" label-width="100" disabled>
3 years ago
<uni-forms-item label="客户名称" name="name" required>
3 years ago
<uni-easyinput v-if="isDetail" v-model="form.schoolId" disabled />
<uni-data-picker v-else placeholder="请选择学校" popup-title="请选择学校" :localdata="schoolList" :map="{text: 'schoolName', value: 'schoolId'}" v-model="form.schoolId">
</uni-data-picker>
3 years ago
</uni-forms-item>
<uni-forms-item label="省份">
<uni-easyinput v-model="form.provience" disabled />
</uni-forms-item>
<uni-forms-item label="城市">
<uni-easyinput v-model="form.city" disabled />
</uni-forms-item>
3 years ago
<uni-forms-item label="行业类型" required>
<uni-easyinput v-if="isDetail" v-model="form.industryClassId" disabled />
<uni-data-picker v-else placeholder="请选择行业类型" popup-title="请选择行业类型" preload :clear-icon="false" :localdata="industryClassList" :map="{text: 'industryClassName', value: 'industryClassId'}" v-model="form.industryClassId" @change="industryClassChange">
</uni-data-picker>
</uni-forms-item>
3 years ago
<uni-forms-item label="行业" required>
3 years ago
<uni-easyinput v-if="isDetail" v-model="form.industryId" disabled />
<uni-data-picker v-else placeholder="请选择行业" popup-title="请选择行业" preload :clear-icon="false" :localdata="industryList" :map="{text: 'industryName', value: 'industryId'}" v-model="form.industryId" :readonly="form.industryClassId ? false : true">
</uni-data-picker>
3 years ago
</uni-forms-item>
3 years ago
<uni-forms-item label="联系人姓名" name="name" required>
<uni-easyinput v-model="form.name" placeholder="请输入联系人姓名" :disabled="isDetail" />
3 years ago
</uni-forms-item>
3 years ago
<uni-forms-item label="手机" name="phone">
<uni-easyinput v-model="form.phone" placeholder="请输入手机" :disabled="isDetail" />
3 years ago
</uni-forms-item>
3 years ago
<uni-forms-item label="账号" name="account" required>
<uni-easyinput v-model="form.account" placeholder="请以院校首字母+admin的格式来设置" :disabled="isDetail" />
3 years ago
</uni-forms-item>
3 years ago
<uni-forms-item label="职务" name="position">
<uni-easyinput v-model="form.position" placeholder="请输入职务" :disabled="isDetail" />
3 years ago
</uni-forms-item>
3 years ago
<uni-forms-item label="邮箱" name="email">
<uni-easyinput v-model="form.email" placeholder="请输入邮箱" :disabled="isDetail" />
3 years ago
</uni-forms-item>
<uni-forms-item label="产品到期时间">
3 years ago
<uni-datetime-picker type="datetime" return-type="timestamp" v-model="form.expireDate" disabled />
3 years ago
</uni-forms-item>
<uni-forms-item label="客户类型">
3 years ago
<uni-easyinput v-model="customerType" disabled />
3 years ago
</uni-forms-item>
</uni-forms>
</view>
</uni-section>
<view class="action">
<view class="item" @click="toPage('../addClient/addClient')">
<uni-icons class="icon" custom-prefix="iconfont" type="icon-edit" size="20" color="#959595"></uni-icons>
<view class="text">编辑</view>
</view>
<view class="item" @click="toPage('../ordered/ordered')">
<uni-icons class="icon" custom-prefix="iconfont" type="icon-product" size="20" color="#959595"></uni-icons>
<view class="text">已订阅产品</view>
</view>
<view class="item" @click="toPage('../orders/orders')">
<uni-icons class="icon" custom-prefix="iconfont" type="icon-dingdan" size="20" color="#959595"></uni-icons>
<view class="text">订单</view>
</view>
</view>
3 years ago
</view>
</template>
<script>
3 years ago
import { queryCustomerDetails, querySchool, queryIndustryClass, queryIndustry } from '@/apis/modules/client.js'
3 years ago
export default {
data() {
return {
3 years ago
isDetail: false,
customerId: '',
// 客户类型
customerTypeList: [{
name: '正式',
3 years ago
value: 1
3 years ago
},
{
name: '试用',
3 years ago
value: 2
3 years ago
},
{
name: '到期',
value: 3
3 years ago
}],
3 years ago
schoolList: [],
industryClassList: [],
industryList: [],
form: {
customerId: '',
customerName: '',
industryClassId: '',
industryId: '',
provinceId: '',
account: '',
name: '',
phone: '',
position: '',
cityId: '',
customerType: '',
expireDate: '',
email: '',
schoolId: ''
},
customerType: '',
3 years ago
}
},
3 years ago
onLoad(option) {
this.customerId = option.customerId
this.isDetail = !!option.show
3 years ago
3 years ago
option.customerId && this.getInfo()
this.getSchool()
this.getIndustryClass()
3 years ago
},
methods: {
3 years ago
// 获取详情
getInfo() {
queryCustomerDetails({
customerId: this.customerId
}).then(({ result }) => {
const { customer } = result
this.form = customer
this.customerType = this.customerTypeList.find(e => e.value === customer.customerType).name
}).catch(e => {})
},
// 获取学校列表
getSchool() {
querySchool({
schoolName: '',
provinceId: '',
cityId: ''
}).then(({ list }) => {
this.schoolList = list
}).catch(res => {})
},
// 获取行业类
getIndustryClass() {
queryIndustryClass().then(({ list }) => {
this.industryClassList = list
}).catch(res => {})
},
// 行业分类选择回调
industryClassChange() {
console.log(this.form.industryClassId)
this.getIndustry()
},
// 获取行业
getIndustry() {
queryIndustry({
industryClassId: this.form.industryClassId
}).then(({ list }) => {
this.industryList = list
}).catch(res => {})
3 years ago
},
3 years ago
// 跳转
toPage(path) {
this.$util.to(path)
}
3 years ago
}
}
</script>
<style scoped lang="scss">
.page {
padding-bottom: 55px;
}
.info {
.name {
font-size: 16px;
color: #333;
}
}
3 years ago
.form {
padding: 15px;
background-color: #fff;
}
.action {
3 years ago
z-index: 2;
position: fixed;
bottom: 0;
display: flex;
justify-content: space-around;
width: 100%;
padding: 5px 10px;
background-color: #fff;
border-top: 1px solid #f3f3f3;
.item {
text-align: center;
}
.text {
font-size: 10px;
color: #959595;
}
}
3 years ago
</style>