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

+ 106 - 77
src/views/modules/advertiser/modules/AdvertiserModal.vue

@@ -1,80 +1,52 @@
 <template>
-  <a-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="关闭">
+  <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" @ok="handleOk"
+    @cancel="handleCancel" cancelText="关闭">
 
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
 
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告主名称">
-          <a-input placeholder="请输入广告主名称" v-decorator="['name', validatorRules.name ]"/>
+        <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="广告主名称">
+          <a-input placeholder="请输入广告主名称" v-decorator="['name', validatorRules.name ]" />
         </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="行业">
-          <j-tree-select
-            ref="treeSelect"
-            placeholder="请选择行业"
-            v-decorator="['industryId', validatorRules.pid]"
-            dict="sys_category,name,id"
-            pidField="pid"
-            pidValue="f5cb2d2d28417b3b65a6dd744bcb9a76">
+        <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="行业">
+          <j-tree-select ref="treeSelect" placeholder="请选择行业" v-decorator="['industryId', validatorRules.pid]"
+            dict="sys_category,name,id" pidField="pid" pidValue="f5cb2d2d28417b3b65a6dd744bcb9a76">
           </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', validatorRules.advertiserId]">
             <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: '请选择销售' }] }]"
-          >
-            <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-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: '请选择销售' }] }]">
+            <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="联系人姓名">
-          <a-input placeholder="请输入联系人姓名" v-decorator="['contact', validatorRules.contact ]"/>
+        <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: '请选择代理商' }] }]">
+            <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>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="联系人手机">
-          <a-input placeholder="请输入联系人手机" v-decorator="['mobile', validatorRules.mobile ]"/>
+        <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="联系人手机">
+          <a-input placeholder="请输入联系人手机" v-decorator="['mobile', validatorRules.mobile ]" />
         </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="联系人邮箱">
-          <a-input placeholder="请输入联系人邮箱" v-decorator="['email', validatorRules.email ]"/>
+        <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="联系人邮箱">
+          <a-input placeholder="请输入联系人邮箱" v-decorator="['email', validatorRules.email ]" />
         </a-form-item>
 
       </a-form>
@@ -83,11 +55,16 @@
 </template>
 
 <script>
-  import {httpAction} from '@/api/manage'
+  import {
+    httpAction,
+    getAction
+  } from '@/api/manage'
   import pick from 'lodash.pick'
   import JTreeSelect from '@/components/jeecg/JTreeSelect'
   import moment from "moment"
-  import { mapGetters } from 'vuex'
+  import {
+    mapGetters
+  } from 'vuex'
   export default {
     name: "AdvertiserModal",
     components: {
@@ -99,31 +76,73 @@
         visible: false,
         model: {},
         labelCol: {
-          xs: {span: 24},
-          sm: {span: 5},
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 5
+          },
         },
         wrapperCol: {
-          xs: {span: 24},
-          sm: {span: 16},
+          xs: {
+            span: 24
+          },
+          sm: {
+            span: 16
+          },
         },
-
+        options:[],
+        optionsTwo:[],
         confirmLoading: false,
         form: this.$form.createForm(this),
         validatorRules: {
-          name: {rules: [{required: true, message: '请输入广告主名称!'}]},
-          industryId: {rules: [{required: true, message: '请输入行业ID!'}]},
-          contact: {rules: [{required: true, message: '请输入联系人姓名!'}]},
-          mobile: {rules: [{required: true, message: '请输入联系人手机!'}]},
-          email: {rules: [{required: true, message: '请输入联系人邮箱!'}]},
-          pid: {rules: [{required: true, message: '请选择行业!'}]},
+          name: {
+            rules: [{
+              required: true,
+              message: '请输入广告主名称!'
+            }]
+          },
+          industryId: {
+            rules: [{
+              required: true,
+              message: '请输入行业ID!'
+            }]
+          },
+          contact: {
+            rules: [{
+              required: true,
+              message: '请输入联系人姓名!'
+            }]
+          },
+          mobile: {
+            rules: [{
+              required: true,
+              message: '请输入联系人手机!'
+            }]
+          },
+          email: {
+            rules: [{
+              required: true,
+              message: '请输入联系人邮箱!'
+            }]
+          },
+          pid: {
+            rules: [{
+              required: true,
+              message: '请选择行业!'
+            }]
+          },
         },
         url: {
           add: "/ctop/advertiser/add",
           edit: "/ctop/advertiser/edit",
+          getList: '/ctop/advertiser/list',
+          getTwoList: '/ctop/agentInfo/list'
         },
       }
     },
     created() {
+      // /ctop/agentInfo/list
     },
     methods: {
       ...mapGetters(['nickname', 'avatar', 'userInfo']),
@@ -135,10 +154,22 @@
         this.model = Object.assign({}, record);
         this.visible = true;
         this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model, 'name', 'industryId', 'contact', 'mobile', 'email', 'advertiserType', 'saleId'))
+          this.form.setFieldsValue(pick(this.model, 'name', 'industryId', 'contact', 'mobile', 'email',
+            'advertiserType', 'saleId','agentId'))
           //时间格式化
         });
-
+        getAction('/sys/user/getAllUserList', '').then(res => {
+          console.log(res)
+          if (res.success) {
+            this.options = res.result
+          }
+        })
+        getAction('/ctop/agentInfo/list', '').then(res => {
+          console.log(res)
+          if (res.success) {
+            this.optionsTwo = res.result.record
+          }
+        })
       },
       close() {
         this.$emit('close');
@@ -161,7 +192,7 @@
             }
             let formData = Object.assign(this.model, values);
             //时间格式化
-            formData.userId= this.userInfo().id
+            formData.userId = this.userInfo().id
             console.log(formData)
             httpAction(httpurl, formData, method).then((res) => {
               if (res.success) {
@@ -186,8 +217,6 @@
       getFormFieldValue(field) {
         return this.form.getFieldValue(field)
       },
-
-
     }
   }
 </script>