| | |
| | | <view> |
| | | <view class="container"> |
| | | <uni-forms ref="baseForm" :modelValue="baseFormData"> |
| | | <uni-forms-item label="客户名称" required name="name"> |
| | | <!-- <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="客户关系" > |
| | | <uni-easyinput v-model="baseFormData.rela" placeholder="请输入客户关系" /> |
| | | </uni-forms-item> |
| | | |
| | | <uni-forms-item label="客户类别" required name="cstmrType"> |
| | | <uni-combox :candidates="cstmrTypes" placeholder="请选择客户类别" |
| | | v-model="baseFormData.cstmrType" @input="autoLoad('cstmrType',baseFormData.cstmrType)"></uni-combox> |
| | | <!-- <uni-easyinput v-model="baseFormData.cstmrType" placeholder="请输入客户类别" /> --> |
| | | <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="产品类型" name="productCategory" required> |
| | | <view @click="autoLoad('orderProductType','')"> |
| | | <uni-combox :candidates="productCategorys" placeholder="请选择产品类型" |
| | | v-model="baseFormData.productCategory" |
| | | @input="autoLoad('orderProductType',baseFormData.orderProductTypeId)"></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 placeholder="请选择省市区" popup-title="请选择所在地区" :localdata="citysData" v-model="baseFormData.userArea"> |
| | | <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="tel"> |
| | | <uni-easyinput v-model="baseFormData.tel" placeholder="请输入客户电话" /> |
| | | </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"> |
| | | <uni-combox :candidates="directors" placeholder="请选择负责人" |
| | | v-model="baseFormData.director" @input="autoLoad('user',baseFormData.director)"></uni-combox> |
| | | <!-- <uni-easyinput v-model="baseFormData.director" 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="备注"> |
| | | <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> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | baseUrl: '', |
| | | cstmrTypes: [], |
| | | cstmrType: '', |
| | | directors: [], |
| | | director: '', |
| | | cstmrTypeList: [], |
| | | directorList: [], |
| | | names: [], |
| | | nameList: [], |
| | | industrys: ['医药业','制造业','纺织业'], |
| | | productCategorys: [], |
| | | productCategoryList: [], |
| | | baseFormData: { |
| | | name: '', |
| | | citysData: [], |
| | | cstmrType: '', |
| | | director: '', |
| | | rela: '', |
| | | remarks: '', |
| | | industry: '' |
| | | }, |
| | | rules: { |
| | | name: { |
| | |
| | | errorMessage: '请填写客户名称', |
| | | }] |
| | | }, |
| | | rela: { |
| | | rules: [{ |
| | | required: false, |
| | | errorMessage: '请填写客户名称', |
| | | }] |
| | | }, |
| | | cstmrType: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '请选择客户类别', |
| | | }] |
| | | }, |
| | | industry: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '请选择客户行业' |
| | | }] |
| | | }, |
| | | productCategory: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '请选择产品类别' |
| | | }] |
| | | }, |
| | | type: { |
| | |
| | | required: true, |
| | | errorMessage: '请输入客户联系人', |
| | | }] |
| | | }, |
| | | remarks: { |
| | | rules: [{ |
| | | required: false, |
| | | errorMessage: '请输入客户联系人', |
| | | }] |
| | | } |
| | | }, |
| | | // 单选数据源 |
| | |
| | | value: 2 |
| | | }], |
| | | citysData: [], |
| | | userArea: '' |
| | | citysDataTemp: '', |
| | | uraddr: 'add' |
| | | |
| | | } |
| | | }, |
| | | onReady() { |
| | | // 需要在onReady中设置规则 |
| | | this.$refs.baseForm.setRules(this.rules) |
| | | |
| | | }, |
| | | mounted() { |
| | | }, |
| | | onShow() { |
| | | // 获取省市区 |
| | | this.citysData = test.citysData |
| | | this.baseUrl = uni.getStorageSync('baseUrl') |
| | | this.autoLoad('cstmrType','') |
| | | this.autoLoad('user','') |
| | | // this.getCstmrType() |
| | | // this.getUser() |
| | | this.autoLoad('orderProductType','') |
| | | }, |
| | | onLoad(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', |
| | |
| | | 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 |
| | | } |
| | | if (type == 'orderProductType') { |
| | | for (element of res.data) { |
| | | that.productCategorys.push(element.value) |
| | | that.productCategoryList.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=>{ |
| | | console.log(res); |
| | | var a = JSON.stringify(res) |
| | | console.log(a); |
| | | if (res.rela == undefined) { |
| | | res.rela = '' |
| | | } |
| | | if(res.remarks == undefined) { |
| | | res.remarks = '' |
| | | } |
| | | res.pcd = this.citysDataTemp |
| | | uni.request({ |
| | | url: that.baseUrl + '/cstmr/add/auth', |
| | | url: `${that.baseUrl}/cstmr/${that.uraddr}/auth`, |
| | | header:{ |
| | | 'token':uni.getStorageSync('token'), |
| | | // 'content-type':'application/json', |
| | | 'content-type':'application/x-www-form-urlencoded', |
| | | }, |
| | | data: a, |
| | | data: res, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | console.log(res); |
| | | 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 =>{ |