浏览代码

测试提交

zhuxinbo 5 年之前
父节点
当前提交
4bfe43582d
共有 1 个文件被更改,包括 25 次插入13 次删除
  1. 25 13
      src/views/modules/advertiser/modules/AdvertiserModal.vue

+ 25 - 13
src/views/modules/advertiser/modules/AdvertiserModal.vue

@@ -14,31 +14,31 @@
           </j-tree-select>
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="客户类型">
-          <a-select v-decorator="['advertiserType', validatorRules.advertiserId]">
+          <a-select v-decorator="['advertiserType',{ rules: [{ required: true, message: '请选择客户类型' }] }]" 
+          :disabled="disableOne"
+          @change="changeData">
             <a-select-option :value="1">自拓客户</a-select-option>
             <a-select-option :value="2">公司客户</a-select-option>
             <a-select-option :value="3">代理商</a-select-option>
           </a-select>
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="销售"
-          v-if="getFormFieldValue('advertiserType')==1||getFormFieldValue('advertiserType')==2">
-          <a-select showSearch optionFilterProp="children" style="width: 100%" @focus="handleFocus" @blur="handleBlur"
-            @change="handleChange" :filterOption="filterOption"
-            v-decorator="['saleId', { rules: [{ required: true, message: '请选择销售' }] }]">
+          v-if="model.advertiserType==1||model.advertiserType==2">
+          <a-select showSearch optionFilterProp="children" style="width: 100%" :filterOption="filterOption"
+            v-decorator="['saleId', { rules: [{  required: true,message: '请选择销售' }] }]">
             <a-select-option v-for="appModel in options" :key="appModel.userId + new Date().getTime()"
               :value="appModel.userId">{{ appModel.realName }}&#12288;&#12288;{{ appModel.roleName }}</a-select-option>
           </a-select>
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="代理商"
-          v-if="getFormFieldValue('advertiserType')==3">
-          <a-select showSearch optionFilterProp="children" style="width: 100%" @focus="handleFocus" @blur="handleBlur"
-            @change="handleChange" :filterOption="filterOption"
-            v-decorator="['agentId', { rules: [{ required: true, message: '请选择代理商' }] }]">
+          v-if="model.advertiserType==3">
+          <a-select showSearch optionFilterProp="children" style="width: 100%" :filterOption="filterOption"
+            v-decorator="['agentId', { rules: [{  required: true,message: '请选择代理商' }] }]">
             <a-select-option v-for="appModel in optionsTwo" :key="appModel.id + new Date().getTime()"
               :value="appModel.id">{{ appModel.name }}</a-select-option>
           </a-select>
         </a-form-item>
-        
+
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="联系人姓名">
           <a-input placeholder="请输入联系人姓名" v-decorator="['contact', validatorRules.contact ]" />
         </a-form-item>
@@ -91,8 +91,8 @@
             span: 16
           },
         },
-        options:[],
-        optionsTwo:[],
+        options: [],
+        optionsTwo: [],
         confirmLoading: false,
         form: this.$form.createForm(this),
         validatorRules: {
@@ -139,6 +139,7 @@
           getList: '/ctop/advertiser/list',
           getTwoList: '/ctop/agentInfo/list'
         },
+        disableOne:true
       }
     },
     created() {
@@ -146,16 +147,24 @@
     },
     methods: {
       ...mapGetters(['nickname', 'avatar', 'userInfo']),
+      changeData(data){
+          this.model.advertiserType = data
+      },
       add() {
         this.edit({});
       },
       edit(record) {
+        if(record.advertiserType){
+            this.disableOne = true
+        }else{
+            this.disableOne = false
+        }
         this.form.resetFields();
         this.model = Object.assign({}, record);
         this.visible = true;
         this.$nextTick(() => {
           this.form.setFieldsValue(pick(this.model, 'name', 'industryId', 'contact', 'mobile', 'email',
-            'advertiserType', 'saleId','agentId'))
+            'advertiserType', 'saleId', 'agentId'))
           //时间格式化
         });
         getAction('/sys/user/getAllUserList', '').then(res => {
@@ -217,6 +226,9 @@
       getFormFieldValue(field) {
         return this.form.getFieldValue(field)
       },
+      filterOption(input, option) {
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      },
     }
   }
 </script>