<template>
|
<view>
|
<view class="container">
|
<uni-forms ref="baseForm" :modelValue="baseFormData">
|
<!-- <uni-forms-item label="客户名称" required name="name">
|
<uni-easyinput v-model="baseFormData.name" placeholder="请输入客户名称" />
|
</uni-forms-item> -->
|
|
<uni-forms-item label="客户名称" required name="name">
|
<view>
|
<uni-combox :candidates="names" placeholder="请输入客户名称"
|
v-model="baseFormData.name" @input="cstmrSearch()"></uni-combox>
|
</view>
|
</uni-forms-item>
|
|
<uni-forms-item label="客户类别" required name="cstmrType">
|
<view @click="autoLoad('cstmrType','')">
|
<uni-combox :candidates="cstmrTypes" placeholder="请选择客户类别"
|
v-model="baseFormData.cstmrType" @input="autoLoad('cstmrType',baseFormData.cstmrType)"></uni-combox>
|
</view>
|
</uni-forms-item>
|
<uni-forms-item label="客户行业" required name="industry">
|
<view >
|
<uni-combox :candidates="industrys" placeholder="请选择客户行业"
|
v-model="baseFormData.industry"></uni-combox>
|
</view>
|
</uni-forms-item>
|
|
<uni-forms-item label="产品类别" required name="productCategory">
|
<view>
|
<uni-combox :candidates="productCategorys" placeholder="请选择产品类别"
|
v-model="baseFormData.productCategory"></uni-combox>
|
</view>
|
</uni-forms-item>
|
|
<uni-forms-item label="区分" required name="type">
|
<uni-data-checkbox v-model="baseFormData.type" :localdata="type$" />
|
</uni-forms-item>
|
<uni-forms-item label="省市区" required name="citysData">
|
<uni-data-picker @change="areaChange" placeholder="请选择省市区" popup-title="请选择所在地区" :localdata="citysData" v-model="baseFormData.pcd">
|
</uni-data-picker>
|
</uni-forms-item>
|
<uni-forms-item label="详细地址" required name="addr">
|
<uni-easyinput v-model="baseFormData.addr" placeholder="请输入详细地址" />
|
</uni-forms-item>
|
|
|
<!-- <uni-forms-item label="负责人" required name="director">
|
<view @click="autoLoad('user','')">
|
<uni-combox :candidates="directors" placeholder="请选择负责人"
|
v-model="baseFormData.director" @input="autoLoad('user',baseFormData.director)"></uni-combox>
|
</view>
|
</uni-forms-item> -->
|
<uni-forms-item label="客户联系人" required name="contacts">
|
<uni-easyinput v-model="baseFormData.contacts" placeholder="请输入客户联系人" />
|
</uni-forms-item>
|
<uni-forms-item label="电话" required name="tel">
|
<uni-easyinput v-model="baseFormData.tel" placeholder="请输入客户电话" />
|
</uni-forms-item>
|
<uni-forms-item label="备注" name="remarks">
|
<uni-easyinput type="textarea" v-model="baseFormData.remarks" placeholder="请输入备注" />
|
</uni-forms-item>
|
</uni-forms>
|
<button type="primary" @click="addCstmr()">添加</button>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import test from '../../../static/js/citys-data.js'
|
export default {
|
data() {
|
return {
|
cstmrTypes: [],
|
cstmrType: '',
|
directors: [],
|
director: '',
|
cstmrTypeList: [],
|
directorList: [],
|
names: [],
|
nameList: [],
|
industrys: ['医药业','制造业','纺织业'],
|
productCategorys: ['立体库(货架)','立体库(集成)','四向穿梭库/两向穿梭库','阁楼货架/钢平台','周转容器','平库'],
|
baseFormData: {
|
name: '',
|
citysData: [],
|
cstmrType: '',
|
director: '',
|
rela: '',
|
remarks: '',
|
industry: ''
|
},
|
rules: {
|
name: {
|
rules: [{
|
required: true,
|
errorMessage: '请填写客户名称',
|
}]
|
},
|
rela: {
|
rules: [{
|
required: false,
|
errorMessage: '请填写客户名称',
|
}]
|
},
|
cstmrType: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择客户类别',
|
}]
|
},
|
industry: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择客户行业'
|
}]
|
},
|
productCategory: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择产品类别'
|
}]
|
},
|
type: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择区分',
|
}]
|
},
|
citysData: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择省市区',
|
}]
|
},
|
tel: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入电话号码',
|
}]
|
},
|
addr: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入详细地址',
|
}]
|
},
|
director: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入负责人',
|
}]
|
},
|
contacts: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入客户联系人',
|
}]
|
},
|
remarks: {
|
rules: [{
|
required: false,
|
errorMessage: '请输入客户联系人',
|
}]
|
}
|
},
|
// 单选数据源
|
type$: [{
|
text: '内销',
|
value: 1
|
}, {
|
text: '外销',
|
value: 2
|
}],
|
citysData: [],
|
citysDataTemp: '',
|
uraddr: 'add'
|
|
}
|
},
|
onReady() {
|
// 需要在onReady中设置规则
|
this.$refs.baseForm.setRules(this.rules)
|
},
|
onShow() {
|
// 获取省市区
|
this.citysData = test.citysData
|
this.autoLoad('cstmrType','')
|
this.autoLoad('user','')
|
},
|
onLoad(option) {
|
console.log(option);
|
if(option.type == 1) {
|
this.uraddr = 'add2'
|
}
|
},
|
methods: {
|
cstmrSearch() {
|
this.names = []
|
let _this = this
|
if(_this.baseFormData.name.length < 4) {
|
return
|
}
|
uni.request({
|
url: `${_this.baseUrl}/cstmrSearch/auth`,
|
header:{'token':uni.getStorageSync('token'),'content-type':'application/x-www-form-urlencoded',},
|
data: {condition: _this.baseFormData.name},
|
method: 'POST',
|
success(res) {
|
res = res.data
|
if (res.code === 200 && res.data.length > 0) {
|
for(let element of res.data) {
|
_this.names.push(element.name)
|
_this.nameList.push(element)
|
}
|
}
|
}
|
})
|
|
},
|
bindPickerChange: function(e) {
|
this.cstmrTypeIndex = e.detail.value
|
this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
|
},
|
areaChange(e) {
|
this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
|
},
|
autoLoad(type,condition) {
|
let that = this
|
that.cstmrTypes = []
|
that.directors = []
|
that.directorList = []
|
var a = that.baseUrl + '/' + type + 'Query/auth'
|
uni.request({
|
url: that.baseUrl + '/' + type + 'Query' +'/auth',
|
header:{'token':uni.getStorageSync('token')},
|
data: {condition:condition},
|
method: 'GET',
|
success(result) {
|
var res = result.data
|
if (res.code === 200) {
|
var element;
|
if (type == 'cstmrType') {
|
for(element of res.data) {
|
that.cstmrTypes.push(element.value)
|
that.cstmrTypeList.push(element)
|
}
|
return
|
}
|
if (type == 'user') {
|
for(element of res.data) {
|
that.directors.push(element.value)
|
that.directorList.push(element)
|
}
|
return
|
}
|
|
}
|
}
|
})
|
},
|
// 添加用户
|
addCstmr() {
|
let that = this
|
var element;
|
for (element of that.directorList) {
|
if(element.value == that.baseFormData.director) {
|
that.baseFormData.director = element.id
|
}
|
}
|
for (element of that.cstmrTypeList) {
|
if(element.value == that.baseFormData.cstmrType) {
|
that.baseFormData.cstmrType = element.id
|
}
|
}
|
this.$refs.baseForm.validate().then(res=>{
|
if (res.rela == undefined) {
|
res.rela = ''
|
}
|
if(res.remarks == undefined) {
|
res.remarks = ''
|
}
|
res.pcd = this.citysDataTemp
|
uni.request({
|
url: `${that.baseUrl}/cstmr/${that.uraddr}/auth`,
|
header:{
|
'token':uni.getStorageSync('token'),
|
'content-type':'application/x-www-form-urlencoded',
|
},
|
data: res,
|
method: 'POST',
|
success(result) {
|
var res = result.data
|
if (res.code === 200) {
|
uni.navigateBack()
|
} else if (res.code === 403) {
|
uni.showToast({title: res.msg, icon: "none", position: 'top'})
|
setTimeout(() => {
|
uni.reLaunch({
|
url: '../../login/login'
|
});
|
}, 1000);
|
} else {
|
uni.showToast({title: res.msg, icon: "none",position: 'top'})
|
}
|
}
|
})
|
}).catch(err =>{
|
})
|
}
|
}
|
|
}
|
</script>
|
|
<style>
|
.container {
|
min-height: 50rpx;
|
padding: 15px;
|
background-color: #fff;
|
/* background-color: aqua; */
|
}
|
</style>
|