|  |  | 
 |  |  |    <view> | 
 |  |  |       <view class="container"> | 
 |  |  |          <uni-forms ref="baseForm" :modelValue="baseFormData"> | 
 |  |  |             <uni-forms-item label="客户名称" required> | 
 |  |  |             <uni-forms-item label="客户名称" required name="name"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.name" placeholder="请输入客户名称" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="客户关系"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入客户关系" /> | 
 |  |  |             <uni-forms-item label="客户关系" name="rela" > | 
 |  |  |                <uni-easyinput v-model="baseFormData.rela" placeholder="请输入客户关系" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="客户类别" required> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入客户类别" /> | 
 |  |  |             <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> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.sex" :localdata="type$" /> | 
 |  |  |             <uni-forms-item label="区分" required name="type"> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.type" :localdata="type$" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="省市区" required> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.hobby" multiple :localdata="hobbys" /> | 
 |  |  |             <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> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入客户电话" /> | 
 |  |  |             <uni-forms-item label="电话" required name="tel"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.tel" placeholder="请输入客户电话" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="详细地址" required> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入详细地址" /> | 
 |  |  |             <uni-forms-item label="详细地址" required name="addr"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.addr" placeholder="请输入详细地址" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="负责人" required> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入负责人" /> | 
 |  |  |             <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> | 
 |  |  |                <uni-easyinput v-model="baseFormData.age" placeholder="请输入客户联系人" /> | 
 |  |  |             <uni-forms-item label="客户联系人" required name="contacts"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.contacts" placeholder="请输入客户联系人" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="备注"> | 
 |  |  |                <uni-easyinput type="textarea" v-model="baseFormData.introduction" placeholder="请输入备注" /> | 
 |  |  |             <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 { | 
 |  |  |             baseUrl: '', | 
 |  |  |             cstmrTypes: [], | 
 |  |  |             cstmrType: '', | 
 |  |  |             directors: [], | 
 |  |  |             director: '', | 
 |  |  |             cstmrTypeList: [], | 
 |  |  |             directorList: [], | 
 |  |  |             baseFormData: { | 
 |  |  |                name: '', | 
 |  |  |                age: '', | 
 |  |  |                introduction: '', | 
 |  |  |                sex: 2, | 
 |  |  |                hobby: [5], | 
 |  |  |                datetimesingle: 1627529992399 | 
 |  |  |                citysData: [], | 
 |  |  |                cstmrType: '', | 
 |  |  |                director: '', | 
 |  |  |                rela: '', | 
 |  |  |                remarks: '', | 
 |  |  | 					 | 
 |  |  |             }, | 
 |  |  |             rules: { | 
 |  |  |                name: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请填写客户名称', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                rela: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: false, | 
 |  |  |                      errorMessage: '请填写客户名称', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                cstmrType: { | 
 |  |  |                   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: 0 | 
 |  |  |                value: 1 | 
 |  |  |             }, { | 
 |  |  |                text: '外销', | 
 |  |  |                value: 1 | 
 |  |  |             }], | 
 |  |  |             // 多选数据源 | 
 |  |  |             hobbys: [{ | 
 |  |  |                text: '跑步', | 
 |  |  |                value: 0 | 
 |  |  |             }, { | 
 |  |  |                text: '游泳', | 
 |  |  |                value: 1 | 
 |  |  |             }, { | 
 |  |  |                text: '绘画', | 
 |  |  |                value: 2 | 
 |  |  |             }, { | 
 |  |  |                text: '足球', | 
 |  |  |                value: 3 | 
 |  |  |             }, { | 
 |  |  |                text: '篮球', | 
 |  |  |                value: 4 | 
 |  |  |             }, { | 
 |  |  |                text: '其他', | 
 |  |  |                value: 5 | 
 |  |  |             }], | 
 |  |  |             citysData: [], | 
 |  |  |             citysDataTemp: '' | 
 |  |  | 				 | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onReady() { | 
 |  |  |             // 需要在onReady中设置规则 | 
 |  |  |             this.$refs.baseForm.setRules(this.rules) | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  |          // 获取省市区 | 
 |  |  |          this.citysData = test.citysData | 
 |  |  |          this.baseUrl = uni.getStorageSync('baseUrl') | 
 |  |  |          this.autoLoad('cstmrType','') | 
 |  |  |          this.autoLoad('user','') | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          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/add/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> | 
 |  |  |  |