|
@@ -0,0 +1,280 @@
|
|
|
+<template>
|
|
|
+ <a-modal
|
|
|
+ title="新建名单"
|
|
|
+ width="50%"
|
|
|
+ :visible="visible"
|
|
|
+ :confirmLoading="loading"
|
|
|
+ @ok="() => { $emit('ok') }"
|
|
|
+ @cancel="() => { $emit('cancel') }"
|
|
|
+ >
|
|
|
+ <a-spin :spinning="loading">
|
|
|
+ <a-form-model ref="ruleForm" :model="form" :rules="rules" v-bind="formLayout">
|
|
|
+
|
|
|
+ <!-- 基础信息 -->
|
|
|
+ <a-row>
|
|
|
+ <a-col span="24">
|
|
|
+ <div class="form-title">
|
|
|
+ <div class="title-line"></div>
|
|
|
+ <div class="title-text">基础信息</div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="跟进状态">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择跟进状态" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ <!-- <a-input v-decorator="['description', {rules: [{required: true, min: 5, message: '请输入至少五个字符的规则描述!'}]}]" /> -->
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="销售负责人">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择销售负责人" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="意向度">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择意向度" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ <!-- <a-input v-decorator="['description', {rules: [{required: true, min: 5, message: '请输入至少五个字符的规则描述!'}]}]" /> -->
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ <!-- 孩子信息 -->
|
|
|
+ <a-row>
|
|
|
+ <a-col span="24">
|
|
|
+ <div class="form-title">
|
|
|
+ <div class="title-line"></div>
|
|
|
+ <div class="title-text">孩子信息</div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="姓名">
|
|
|
+ <a-input placeholder="请输入孩子姓名" v-model="form.name" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="性别">
|
|
|
+ <a-radio-group v-model="form.id">
|
|
|
+ <a-radio :value="1">男</a-radio>
|
|
|
+ <a-radio :value="2">女</a-radio>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="生日">
|
|
|
+ <a-date-picker v-model="form.id" format="YYYY-MM-DD"/>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="民族">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入民族" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="昵称">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入昵称" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ <!-- 家长信息 -->
|
|
|
+ <a-row>
|
|
|
+ <a-col span="24">
|
|
|
+ <div class="form-title">
|
|
|
+ <div class="title-line"></div>
|
|
|
+ <div class="title-text">家长信息</div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="姓名">
|
|
|
+ <a-input placeholder="请输入姓名" v-model="form.name" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="手机号码">
|
|
|
+ <a-input placeholder="请输入家长手机号" v-model="form.name" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="家长关系">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择家长关系" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="QQ">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入QQ号码" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="行业">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入行业" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="邮箱">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入邮箱" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="固定电话">
|
|
|
+ <a-input v-model="form.id" placeholder="请输入固定电话" />
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ <!-- 来源 -->
|
|
|
+ <a-row>
|
|
|
+ <a-col span="24">
|
|
|
+ <div class="form-title">
|
|
|
+ <div class="title-line"></div>
|
|
|
+ <div class="title-text">来源</div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ <a-row>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="转介绍人">
|
|
|
+ <a-radio-group default-value="0">
|
|
|
+ <a-radio :value="0">老师</a-radio>
|
|
|
+ <a-radio :value="1">学员</a-radio>
|
|
|
+ </a-radio-group>
|
|
|
+ <a-select v-model="form.name" size="small" placeholder="请选择" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ <!-- <a-input v-decorator="['description', {rules: [{required: true, min: 5, message: '请输入至少五个字符的规则描述!'}]}]" /> -->
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="id" label="采单人">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择采单人" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="市场活动名称">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择市场活动名称" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col span="12">
|
|
|
+ <a-form-model-item prop="name" label="推广渠道">
|
|
|
+ <a-select v-model="form.name" placeholder="请选择推广渠道" default-value="0">
|
|
|
+ <a-select-option value="0">全部</a-select-option>
|
|
|
+ <a-select-option value="1">关闭</a-select-option>
|
|
|
+ <a-select-option value="2">运行中</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ </a-form-model>
|
|
|
+ </a-spin>
|
|
|
+ </a-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import pick from 'lodash.pick'
|
|
|
+
|
|
|
+// 表单字段
|
|
|
+const fields = ['description', 'id']
|
|
|
+
|
|
|
+export default {
|
|
|
+ props: {
|
|
|
+ visible: {
|
|
|
+ type: Boolean,
|
|
|
+ required: true
|
|
|
+ },
|
|
|
+ loading: {
|
|
|
+ type: Boolean,
|
|
|
+ default: () => false
|
|
|
+ },
|
|
|
+ model: {
|
|
|
+ type: Object,
|
|
|
+ default: () => null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ this.formLayout = {
|
|
|
+ labelCol: {
|
|
|
+ xs: { span: 24 },
|
|
|
+ sm: { span: 5 }
|
|
|
+ },
|
|
|
+ wrapperCol: {
|
|
|
+ xs: { span: 24 },
|
|
|
+ sm: { span: 13 }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ form: {
|
|
|
+ id: '',
|
|
|
+ name: undefined
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ // name: [
|
|
|
+ // { required: true, message: '请选择销售人员' },
|
|
|
+ // ],
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ console.log('custom modal created')
|
|
|
+
|
|
|
+ // // 防止表单未注册
|
|
|
+ // fields.forEach(v => this.form.getFieldDecorator(v))
|
|
|
+
|
|
|
+ // // 当 model 发生改变时,为表单设置值
|
|
|
+ // this.$watch('model', () => {
|
|
|
+ // this.model && this.form.setFieldsValue(pick(this.model, fields))
|
|
|
+ // })
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scope>
|
|
|
+@import '~ant-design-vue/es/style/themes/default.less';
|
|
|
+.form-title {
|
|
|
+ display: flex;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ .title-line {
|
|
|
+ width: 3px;
|
|
|
+ height: 14px;
|
|
|
+ margin-right: 8px;
|
|
|
+ margin-top: 4px;
|
|
|
+ border-radius: 100px;
|
|
|
+ background: @primary-color;
|
|
|
+ }
|
|
|
+ .title-text {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #353535;
|
|
|
+ }
|
|
|
+}
|
|
|
+.ant-form-item {
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|