#
whycq
2022-12-14 289e204f67b8ae0144772707e028a4aa82f2002a
pages/business/cstmr/addCsmtr.vue
@@ -2,83 +2,219 @@
   <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="客户关系" >
               <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">
               <uni-combox :candidates="cstmrTypes" placeholder="请选择客户类别" v-model="cstmrType" @input="autoLoad('cstmrType',cstmrTypeQuery)"></uni-combox>
               <!-- <uni-easyinput v-model="baseFormData.cstmrType" placeholder="请输入客户类别" /> -->
            </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 placeholder="请选择省市区" popup-title="请选择所在地区" :localdata="citysData" v-model="baseFormData.userArea">
               </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">
               <uni-combox :candidates="directors" placeholder="请选择客户类别" v-model="director"></uni-combox>
               <!-- <uni-easyinput v-model="baseFormData.director" placeholder="请输入负责人" /> -->
            </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-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: '',
            baseFormData: {
               name: '',
               age: '',
               introduction: '',
               sex: 2,
               hobby: [5],
               datetimesingle: 1627529992399
               citysData: [],
            },
            rules: {
               name: {
                  rules: [{
                     required: true,
                     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: '请输入客户联系人',
                  }]
               }
            },
            // 单选数据源
            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: [],
            userArea: ''
         }
      },
      onReady() {
            // 需要在onReady中设置规则
            this.$refs.baseForm.setRules(this.rules)
         },
      mounted() {
         // 获取省市区
         this.citysData = test.citysData
         this.baseUrl = uni.getStorageSync('baseUrl')
         this.autoLoad('cstmrType',cstmrType)
         this.autoLoad('contacts',user)
         // this.getCstmrType()
         // this.getUser()
      },
      methods: {
         autoLoad(type,condition) {
            let that = this
            uni.request({
               url: that.baseUrl + '/' + condition +'/auth',
               header:{'token':uni.getStorageSync('token')},
               method: 'GET',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     var element;
                     for(element of res.data) {
                        if (type == cstmrType) {
                           that.cstmrTypes.push(element.value)
                           return
                        }
                        if (type == contacts) {
                           that.contacts.push(element.value)
                           return
                        }
                     }
                  }
               }
            })
         },
         // 获取客户类别
         getCstmrType() {
            let that = this
            uni.request({
               url: that.baseUrl + '/cstmrTypeQuery/auth',
               header:{'token':uni.getStorageSync('token')},
               method: 'GET',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     var element;
                     for(element of res.data) {
                        that.cstmrTypes.push(element.value)
                     }
                  }
               }
            })
         },
         // 获取用户
         getUser() {
            let that = this
            uni.request({
               url: that.baseUrl + '/userQuery/auth',
               header:{'token':uni.getStorageSync('token')},
               method: 'GET',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     var element;
                     for(element of res.data) {
                        that.directors.push(element.value)
                     }
                  }
               }
            })
         },
         // 添加用户
         addCstmr() {
            let that = this
            this.$refs.baseForm.validate().then(res=>{
               console.log(res);
               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
                     console.log(res);
                  }
               })
            }).catch(err =>{
            })
         }
      }
   }
</script>