|
@@ -1,80 +1,52 @@
|
|
<template>
|
|
<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-spin :spinning="confirmLoading">
|
|
<a-form :form="form">
|
|
<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>
|
|
- <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>
|
|
</j-tree-select>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="客户类型">
|
|
<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="1">自拓客户</a-select-option>
|
|
<a-select-option :value="2">公司客户</a-select-option>
|
|
<a-select-option :value="2">公司客户</a-select-option>
|
|
<a-select-option :value="3">代理商</a-select-option>
|
|
<a-select-option :value="3">代理商</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-item>
|
|
</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 }}  {{ 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 }}  {{ appModel.roleName }}</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-item>
|
|
</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>
|
|
- <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>
|
|
- <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-item>
|
|
|
|
|
|
</a-form>
|
|
</a-form>
|
|
@@ -83,11 +55,16 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
- import {httpAction} from '@/api/manage'
|
|
|
|
|
|
+ import {
|
|
|
|
+ httpAction,
|
|
|
|
+ getAction
|
|
|
|
+ } from '@/api/manage'
|
|
import pick from 'lodash.pick'
|
|
import pick from 'lodash.pick'
|
|
import JTreeSelect from '@/components/jeecg/JTreeSelect'
|
|
import JTreeSelect from '@/components/jeecg/JTreeSelect'
|
|
import moment from "moment"
|
|
import moment from "moment"
|
|
- import { mapGetters } from 'vuex'
|
|
|
|
|
|
+ import {
|
|
|
|
+ mapGetters
|
|
|
|
+ } from 'vuex'
|
|
export default {
|
|
export default {
|
|
name: "AdvertiserModal",
|
|
name: "AdvertiserModal",
|
|
components: {
|
|
components: {
|
|
@@ -99,31 +76,73 @@
|
|
visible: false,
|
|
visible: false,
|
|
model: {},
|
|
model: {},
|
|
labelCol: {
|
|
labelCol: {
|
|
- xs: {span: 24},
|
|
|
|
- sm: {span: 5},
|
|
|
|
|
|
+ xs: {
|
|
|
|
+ span: 24
|
|
|
|
+ },
|
|
|
|
+ sm: {
|
|
|
|
+ span: 5
|
|
|
|
+ },
|
|
},
|
|
},
|
|
wrapperCol: {
|
|
wrapperCol: {
|
|
- xs: {span: 24},
|
|
|
|
- sm: {span: 16},
|
|
|
|
|
|
+ xs: {
|
|
|
|
+ span: 24
|
|
|
|
+ },
|
|
|
|
+ sm: {
|
|
|
|
+ span: 16
|
|
|
|
+ },
|
|
},
|
|
},
|
|
-
|
|
|
|
|
|
+ options:[],
|
|
|
|
+ optionsTwo:[],
|
|
confirmLoading: false,
|
|
confirmLoading: false,
|
|
form: this.$form.createForm(this),
|
|
form: this.$form.createForm(this),
|
|
validatorRules: {
|
|
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: {
|
|
url: {
|
|
add: "/ctop/advertiser/add",
|
|
add: "/ctop/advertiser/add",
|
|
edit: "/ctop/advertiser/edit",
|
|
edit: "/ctop/advertiser/edit",
|
|
|
|
+ getList: '/ctop/advertiser/list',
|
|
|
|
+ getTwoList: '/ctop/agentInfo/list'
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
|
|
+ // /ctop/agentInfo/list
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
@@ -135,10 +154,22 @@
|
|
this.model = Object.assign({}, record);
|
|
this.model = Object.assign({}, record);
|
|
this.visible = true;
|
|
this.visible = true;
|
|
this.$nextTick(() => {
|
|
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() {
|
|
close() {
|
|
this.$emit('close');
|
|
this.$emit('close');
|
|
@@ -161,7 +192,7 @@
|
|
}
|
|
}
|
|
let formData = Object.assign(this.model, values);
|
|
let formData = Object.assign(this.model, values);
|
|
//时间格式化
|
|
//时间格式化
|
|
- formData.userId= this.userInfo().id
|
|
|
|
|
|
+ formData.userId = this.userInfo().id
|
|
console.log(formData)
|
|
console.log(formData)
|
|
httpAction(httpurl, formData, method).then((res) => {
|
|
httpAction(httpurl, formData, method).then((res) => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
@@ -186,8 +217,6 @@
|
|
getFormFieldValue(field) {
|
|
getFormFieldValue(field) {
|
|
return this.form.getFieldValue(field)
|
|
return this.form.getFieldValue(field)
|
|
},
|
|
},
|
|
-
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|