报名功能

This commit is contained in:
13405411873 2025-04-09 15:42:03 +08:00
parent 580a9b814b
commit b69be8d523

View File

@ -1,149 +1,160 @@
<template>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="平台" prop="platformCode">
<el-select v-model="form.platformCode" placeholder="请选择平台" clearable :disabled="isDetail">
<el-option
v-for="data in platformList"
:key="data.code"
:label="data.title"
:value="data.code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="截止日期" prop="endDate">
<el-date-picker clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择截止日期"
:disabled="isDetail">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="稿费下限" prop="feeDown">
<el-input-number :precision="2" min="0" v-model="form.feeDown" placeholder="请输入稿费下限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="稿费上限" prop="feeUp">
<el-input-number :precision="2" min="0" v-model="form.feeUp" placeholder="请输入稿费上限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否需自报价" prop="isSelfPrice">
<el-select v-model="form.isSelfPrice" placeholder="请选择是否需自报价" :disabled="isDetail">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="基本信息" name="first">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="平台" prop="platformCode">
<el-select v-model="form.platformCode" placeholder="请选择平台" clearable :disabled="isDetail">
<el-option
v-for="data in platformList"
:key="data.code"
:label="data.title"
:value="data.code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="截止日期" prop="endDate">
<el-date-picker clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择截止日期"
:disabled="isDetail">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="稿费下限" prop="feeDown">
<el-input-number :precision="2" min="0" v-model="form.feeDown" placeholder="请输入稿费下限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="稿费上限" prop="feeUp">
<el-input-number :precision="2" min="0" v-model="form.feeUp" placeholder="请输入稿费上限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否需自报价" prop="isSelfPrice">
<el-select v-model="form.isSelfPrice" placeholder="请选择是否需自报价" :disabled="isDetail">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="招募名额" prop="needNum">
<el-input-number :precision="0" :min="0" v-model="form.needNum" placeholder="请输入招募名额" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否公开品牌" prop="isShowBrand">
<el-select v-model="form.isShowBrand" placeholder="请选择是否公开品牌" :disabled="isDetail">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="品牌" prop="brand">
<el-input v-model="form.brand" placeholder="请输入品牌" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="招募名额" prop="needNum">
<el-input-number :precision="0" :min="0" v-model="form.needNum" placeholder="请输入招募名额" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否公开品牌" prop="isShowBrand">
<el-select v-model="form.isShowBrand" placeholder="请选择是否公开品牌" :disabled="isDetail">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="品牌" prop="brand">
<el-input v-model="form.brand" placeholder="请输入品牌" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="地区要求" prop="region">
<el-select v-model="form.province" @change="provinceChange" placeholder="请选择省份" :disabled="isDetail">
<el-option
v-for="item in provinceList"
:key="item.name"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
<el-select style="margin-top: 5px" v-model="form.city" placeholder="请选择城市" :disabled="isDetail">
<el-option
v-for="item in cityList"
:key="item.name"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="粉丝要求下限" prop="fansDown">
<el-input-number :precision="0" min="0" v-model="form.fansDown" placeholder="粉丝要求下限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="粉丝要求上限" prop="fansUp">
<el-input-number :precision="0" min="0" v-model="form.fansUp" placeholder="粉丝要求上限" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="博主类型" prop="bloggerTypeList">
<el-select v-model="form.bloggerTypeList" multiple filterable placeholder="请选择博主类型" :disabled="isDetail">
<el-option
v-for="data in bloggerList"
:key="data.code"
:label="data.title"
:value="data.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="微信群码图片" prop="groupImage">
<image-upload :limit="1" v-model="form.groupImage" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="地区要求" prop="region">
<el-select v-model="form.province" @change="provinceChange" placeholder="请选择省份" :disabled="isDetail">
<el-option
v-for="item in provinceList"
:key="item.name"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
<el-select style="margin-top: 5px" v-model="form.city" placeholder="请选择城市" :disabled="isDetail">
<el-option
v-for="item in cityList"
:key="item.name"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="粉丝要求下限" prop="fansDown">
<el-input-number :precision="0" min="0" v-model="form.fansDown" placeholder="粉丝要求下限" :disabled="isDetail" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="粉丝要求上限" prop="fansUp">
<el-input-number :precision="0" min="0" v-model="form.fansUp" placeholder="粉丝要求上限" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="博主类型" prop="bloggerTypeList">
<el-select v-model="form.bloggerTypeList" multiple filterable placeholder="请选择博主类型" :disabled="isDetail">
<el-option
v-for="data in bloggerList"
:key="data.code"
:label="data.title"
:value="data.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="微信群码图片" prop="groupImage">
<image-upload :limit="1" v-model="form.groupImage" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="产品图" prop="images">
<image-upload :limit="9" v-model="form.images" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="16">
<el-form-item label="产品图" prop="images">
<image-upload :limit="9" v-model="form.images" :disabled="isDetail" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="通告明细" prop="detail">
<Editor v-model="form.detail" style="height: 300px" placeholder="请输入内容" :read-only="isDetail" />
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="自定义表单" name="second">
<el-input v-for="(it,idx) in form.customForm" v-model="form.customForm[idx]" :disabled="isDetail" style="margin-bottom: 1%" placeholder="请输入" />
<el-button type="primary" v-show="!isDetail" icon="el-icon-plus" @click="addForm" circle></el-button>
</el-tab-pane>
</el-tabs>
<el-form-item label="通告明细" prop="detail">
<Editor v-model="form.detail" style="height: 300px" placeholder="请输入内容" :read-only="isDetail" />
</el-form-item>
</el-form>
</template>
<script>
@ -157,8 +168,11 @@ export default {
dicts: ['notice_type', 'notice_collect', 'dl_approval_status', 'true_or_false'],
data() {
return {
activeName: 'first',
//
form: {},
form: {
customForm:[]
},
platformList:[],
provinceList:[],
cityList:[],
@ -204,8 +218,10 @@ export default {
this.getBloggerList()
},
methods: {
addForm(){
this.form.customForm.push('')
},
provinceChange(e){
console.log(e,276)
//provicenList name e
let provinceId = this.provinceList.filter(item=>{
return item.name == e