|
@@ -16,12 +16,12 @@
|
|
|
<div class="form" v-if="tidx===1">
|
|
<div class="form" v-if="tidx===1">
|
|
|
<el-form ref="basicRef" :model="basicForm" :rules="basicRules" label-width="125px">
|
|
<el-form ref="basicRef" :model="basicForm" :rules="basicRules" label-width="125px">
|
|
|
<el-form-item label="活动类型" prop="typeId">
|
|
<el-form-item label="活动类型" prop="typeId">
|
|
|
- <el-select v-model="basicForm.typeId" placeholder="请选择活动类型" class="select-box" style="width: 390px;">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.typeId" placeholder="请选择活动类型" class="select-box" style="width: 440px;">
|
|
|
<el-option v-for="item in typeOptions" :key="item.id" :label="item.typeName" :value="item.id"></el-option>
|
|
<el-option v-for="item in typeOptions" :key="item.id" :label="item.typeName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="活动分类" prop="categoryId">
|
|
<el-form-item label="活动分类" prop="categoryId">
|
|
|
- <el-select v-model="basicForm.categoryId" placeholder="请选择活动分类" class="select-box" style="width: 390px;">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.categoryId" placeholder="请选择活动分类" class="select-box" style="width: 440px;">
|
|
|
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.categoryName" :value="item.id"></el-option>
|
|
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.categoryName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -30,37 +30,37 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="报名时间" prop="signupEndTime">
|
|
<el-form-item label="报名时间" prop="signupEndTime">
|
|
|
<div class="adfac">
|
|
<div class="adfac">
|
|
|
- <el-date-picker v-model="basicForm.signupStartTime" @change="e=>handleSignupDateChange(e,'signupStartTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 180px;"></el-date-picker>
|
|
|
|
|
|
|
+ <el-date-picker v-model="basicForm.signupStartTime" @change="e=>handleSignupDateChange(e,'signupStartTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 205px;"></el-date-picker>
|
|
|
<span style="margin: 0 10px;">至</span>
|
|
<span style="margin: 0 10px;">至</span>
|
|
|
- <el-date-picker v-model="basicForm.signupEndTime" @change="e=>handleSignupDateChange(e,'signupEndTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 180px;"></el-date-picker>
|
|
|
|
|
|
|
+ <el-date-picker v-model="basicForm.signupEndTime" @change="e=>handleSignupDateChange(e,'signupEndTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 205px;"></el-date-picker>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="活动时间" prop="activityEndTime">
|
|
<el-form-item label="活动时间" prop="activityEndTime">
|
|
|
<div class="adfac">
|
|
<div class="adfac">
|
|
|
- <el-date-picker v-model="basicForm.activityStartTime" @change="e=>handleActivityDateChange(e,'activityStartTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 180px;"></el-date-picker>
|
|
|
|
|
|
|
+ <el-date-picker v-model="basicForm.activityStartTime" @change="e=>handleActivityDateChange(e,'activityStartTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 205px;"></el-date-picker>
|
|
|
<span style="margin: 0 10px;">至</span>
|
|
<span style="margin: 0 10px;">至</span>
|
|
|
- <el-date-picker v-model="basicForm.activityEndTime" @change="e=>handleActivityDateChange(e,'activityEndTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 180px;"></el-date-picker>
|
|
|
|
|
|
|
+ <el-date-picker v-model="basicForm.activityEndTime" @change="e=>handleActivityDateChange(e,'activityEndTime')" type="datetime" format="yyyy-MM-dd HH:mm" placeholder="年/月/日 - -:- -" style="width: 205px;"></el-date-picker>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="活动地点" prop="districtId">
|
|
<el-form-item label="活动地点" prop="districtId">
|
|
|
- <el-select v-model="basicForm.provinceId" placeholder="省" clearable style="width: 14%" @change="val=>regionChange(val, 'province')">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.provinceId" placeholder="省" clearable style="width: 14.5%" @change="val=>regionChange(val, 'province')">
|
|
|
<el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
<el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
- <el-select v-model="basicForm.cityId" placeholder="市" clearable style="width: 14%; margin: 0 1%" @change="val=>regionChange(val, 'city')">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.cityId" placeholder="市" clearable style="width: 14.5%; margin: 0 1%" @change="val=>regionChange(val, 'city')">
|
|
|
<el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
<el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
- <el-select v-model="basicForm.districtId" placeholder="区" clearable style="width: 14%; margin: 0 1%" @change="val=>regionChange(val, 'area')">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.districtId" placeholder="区" clearable style="width: 14.5%; margin: 0 1% 0 0" @change="val=>regionChange(val, 'area')">
|
|
|
<el-option v-for="item in areaOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
<el-option v-for="item in areaOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
- <el-input v-model="basicForm.address" placeholder="详细地址" style="width: 40%"></el-input>
|
|
|
|
|
|
|
+ <el-input v-model="basicForm.address" placeholder="详细地址" style="width: 53.5%"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="渠道方" prop="channelId">
|
|
<el-form-item label="渠道方" prop="channelId">
|
|
|
- <el-select v-model="basicForm.channelId" placeholder="请选择渠道方" class="select-box" style="width: 390px;">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.channelId" placeholder="请选择渠道方" class="select-box" style="width: 440px;">
|
|
|
<el-option v-for="item in channelOptions" :key="item.id" :label="item.channelName" :value="item.id"></el-option>
|
|
<el-option v-for="item in channelOptions" :key="item.id" :label="item.channelName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="举办方" prop="organizerId">
|
|
<el-form-item label="举办方" prop="organizerId">
|
|
|
- <el-select v-model="basicForm.organizerId" placeholder="请选择举办方" class="select-box" style="width: 390px;">
|
|
|
|
|
|
|
+ <el-select v-model="basicForm.organizerId" placeholder="请选择举办方" class="select-box" style="width: 440px;">
|
|
|
<el-option v-for="item in organizerOptions" :key="item.id" :label="item.channelName" :value="item.id"></el-option>
|
|
<el-option v-for="item in organizerOptions" :key="item.id" :label="item.channelName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -69,7 +69,7 @@
|
|
|
:action="url"
|
|
:action="url"
|
|
|
:file-list="fileListCover"
|
|
:file-list="fileListCover"
|
|
|
:limit="1"
|
|
:limit="1"
|
|
|
- :before-upload="file => beforeUploadHandle(file, 1, [158, 214])"
|
|
|
|
|
|
|
+ :before-upload="file => beforeUploadHandle(file, 1, [158, 214], 'coverFile')"
|
|
|
list-type="picture-card"
|
|
list-type="picture-card"
|
|
|
:on-success="successHandleCover"
|
|
:on-success="successHandleCover"
|
|
|
:on-remove="handleRemoveCover"
|
|
:on-remove="handleRemoveCover"
|
|
@@ -84,7 +84,7 @@
|
|
|
:action="url"
|
|
:action="url"
|
|
|
:file-list="fileListBanner"
|
|
:file-list="fileListBanner"
|
|
|
:limit="6"
|
|
:limit="6"
|
|
|
- :before-upload="file => beforeUploadHandle(file, 2, [702, 440])"
|
|
|
|
|
|
|
+ :before-upload="file => beforeUploadHandle(file, 2, [702, 440], 'banner')"
|
|
|
list-type="picture-card"
|
|
list-type="picture-card"
|
|
|
:on-success="successHandleBanner"
|
|
:on-success="successHandleBanner"
|
|
|
:on-remove="handleRemoveBanner"
|
|
:on-remove="handleRemoveBanner"
|
|
@@ -194,6 +194,21 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <!-- 裁剪框 -->
|
|
|
|
|
+ <cropper-dlg
|
|
|
|
|
+ v-if="showCropper"
|
|
|
|
|
+ :dialogVisible.sync="showCropper"
|
|
|
|
|
+ :img-file="currentFile"
|
|
|
|
|
+ ref="vueCropper"
|
|
|
|
|
+ @upload="cropperUpload"
|
|
|
|
|
+ ></cropper-dlg>
|
|
|
|
|
+ <cropper-dlg2
|
|
|
|
|
+ v-if="showCropper2"
|
|
|
|
|
+ :dialogVisible.sync="showCropper2"
|
|
|
|
|
+ :img-file="currentFile2"
|
|
|
|
|
+ ref="vueCropper2"
|
|
|
|
|
+ @upload="cropperUpload2"
|
|
|
|
|
+ ></cropper-dlg2>
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -207,6 +222,15 @@ export default {
|
|
|
mixins: [mixinRegionModule],
|
|
mixins: [mixinRegionModule],
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ currentFile: '',
|
|
|
|
|
+ cropperIndex: null,
|
|
|
|
|
+ showCropper: false,
|
|
|
|
|
+ isCropper: true,
|
|
|
|
|
+ currentFile2: '',
|
|
|
|
|
+ cropperIndex2: null,
|
|
|
|
|
+ showCropper2: false,
|
|
|
|
|
+ isCropper2: true,
|
|
|
|
|
+ updType: 1,
|
|
|
typeOptions: [],
|
|
typeOptions: [],
|
|
|
categoryOptions: [],
|
|
categoryOptions: [],
|
|
|
channelOptions: [],
|
|
channelOptions: [],
|
|
@@ -414,13 +438,55 @@ export default {
|
|
|
handleActivityDateChange (val, key) {
|
|
handleActivityDateChange (val, key) {
|
|
|
this.basicForm[key] = moment(val).format('YYYY-MM-DD HH:mm')
|
|
this.basicForm[key] = moment(val).format('YYYY-MM-DD HH:mm')
|
|
|
},
|
|
},
|
|
|
- beforeUploadHandle (file, index, fixedNumber) {
|
|
|
|
|
|
|
+ beforeUploadHandle (file, index, fixedNumber, name) {
|
|
|
|
|
+ this.updType = index
|
|
|
if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png') {
|
|
if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png') {
|
|
|
this.$message.error(
|
|
this.$message.error(
|
|
|
this.$t('upload.tip', { format: 'jpg、png、gif' })
|
|
this.$t('upload.tip', { format: 'jpg、png、gif' })
|
|
|
)
|
|
)
|
|
|
return false
|
|
return false
|
|
|
}
|
|
}
|
|
|
|
|
+ if (this.updType === 1) {
|
|
|
|
|
+ if (this.isCropper) {
|
|
|
|
|
+ this.currentFile = file
|
|
|
|
|
+ this.cropperIndex = name
|
|
|
|
|
+ this.showCropper = true
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.vueCropper.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (this.updType === 2) {
|
|
|
|
|
+ if (this.isCropper2) {
|
|
|
|
|
+ this.currentFile2 = file
|
|
|
|
|
+ this.cropperIndex2 = name
|
|
|
|
|
+ this.showCropper2 = true
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.vueCropper2.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ cropperUpload (data) {
|
|
|
|
|
+ this.showCropper = false
|
|
|
|
|
+ if (data !== 'close') {
|
|
|
|
|
+ this.$http.post('/sys/oss/upload', data).then((res) => {
|
|
|
|
|
+ if (res.data.code === 0) {
|
|
|
|
|
+ this.successHandleCover(res.data)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ cropperUpload2 (data) {
|
|
|
|
|
+ this.showCropper2 = false
|
|
|
|
|
+ if (data !== 'close') {
|
|
|
|
|
+ this.$http.post('/sys/oss/upload', data).then((res) => {
|
|
|
|
|
+ if (res.data.code === 0) {
|
|
|
|
|
+ this.successHandleBanner(res.data)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
handleRemoveCover (file, fileList) {
|
|
handleRemoveCover (file, fileList) {
|
|
|
this.fileListCover = fileList.map((item) => item) || []
|
|
this.fileListCover = fileList.map((item) => item) || []
|
|
@@ -673,7 +739,7 @@ export default {
|
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-family: PingFangSC, PingFang SC;
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
|
font-size: 12px;
|
|
font-size: 12px;
|
|
|
- color: #A4A4A4;
|
|
|
|
|
|
|
+ color: #F4657A;
|
|
|
line-height: 17px;
|
|
line-height: 17px;
|
|
|
margin-left: 20px;
|
|
margin-left: 20px;
|
|
|
}
|
|
}
|