#
whycq
2023-10-10 155f2b80f2a9b6f900c73f6e4461e9cebb7cd028
pages/business/cstmr/addCsmtr.vue
@@ -5,19 +5,20 @@
            <uni-forms-item label="客户名称" required name="name">
               <uni-easyinput v-model="baseFormData.name" placeholder="请输入客户名称" />
            </uni-forms-item>
            <uni-forms-item label="客户关系" >
            <uni-forms-item label="客户关系" name="rela" >
               <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="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">
@@ -27,14 +28,15 @@
               <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="请输入负责人" /> -->
               <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="备注" name="remarks">
               <uni-easyinput type="textarea" v-model="baseFormData.remarks" placeholder="请输入备注" />
            </uni-forms-item>
         </uni-forms>
@@ -48,20 +50,30 @@
   export default {
      data() {
         return {
            baseUrl: '',
            cstmrTypes: [],
            cstmrType: '',
            directors: [],
            director: '',
            cstmrTypeList: [],
            directorList: [],
            baseFormData: {
               citysData: [],
               cstmrType: '',
               director: '',
               rela: '',
               remarks: '',
            },
            rules: {
               name: {
                  rules: [{
                     required: true,
                     errorMessage: '请填写客户名称',
                  }]
               },
               rela: {
                  rules: [{
                     required: false,
                     errorMessage: '请填写客户名称',
                  }]
               },
@@ -106,6 +118,12 @@
                     required: true,
                     errorMessage: '请输入客户联系人',
                  }]
               },
               remarks: {
                  rules: [{
                     required: false,
                     errorMessage: '请输入客户联系人',
                  }]
               }
            },
            // 单选数据源
@@ -117,26 +135,33 @@
               value: 2
            }],
            citysData: [],
            userArea: ''
            citysDataTemp: ''
         }
      },
      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()
      },
      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',
@@ -150,12 +175,14 @@
                     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
                     }
@@ -167,21 +194,47 @@
         // 添加用户
         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',
                  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 =>{