本村活动
This commit is contained in:
		| @@ -9,16 +9,17 @@ | ||||
|         <template #content> | ||||
|           <el-form class="ai-form" :model="form" label-width="120px" ref="form"> | ||||
|             <el-form-item label="活动标题" style="width: 100%;" prop="title" :rules="[{required: true, message: '请输入活动标题', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入活动标题..." maxlength="30" show-word-limit></el-input> | ||||
|               <el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入活动标题..." maxlength="60" show-word-limit></el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item prop="areaId" style="width: 100%;" label="发布地区" :rules="[{required: true, message: '请选择发布地区', trigger: 'change'}]"> | ||||
|               <ai-area-select clearable always-show :instance="instance" v-model="form.areaId" :disabled-level="disabledLevel"></ai-area-select> | ||||
|               <ai-area-select @fullname="e => form.areaName = e" clearable always-show :instance="instance" v-model="form.areaId" :disabled-level="disabledLevel"></ai-area-select> | ||||
|             </el-form-item> | ||||
|             <el-form-item prop="startTime" label="活动开始时间" :rules="[{required: true, message: '活动开始时间', trigger: 'change'}]"> | ||||
|             <el-form-item prop="beginTime" label="活动开始时间" :rules="[{required: true, message: '活动开始时间', trigger: 'change'}]"> | ||||
|               <el-date-picker | ||||
|                 style="width: 100%" | ||||
|                 v-model="form.startTime" | ||||
|                 v-model="form.beginTime" | ||||
|                 type="datetime" | ||||
|                 value-format="yyyy-MM-dd HH:mm:ss" | ||||
|                 size="small" | ||||
|                 placeholder="活动开始时间"> | ||||
|               </el-date-picker> | ||||
| @@ -29,26 +30,27 @@ | ||||
|                 style="width: 100%" | ||||
|                 type="datetime" | ||||
|                 size="small" | ||||
|                 value-format="yyyy-MM-dd HH:mm:ss" | ||||
|                 placeholder="活动开始时间"> | ||||
|               </el-date-picker> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="活动地点" style="width: 100%;" prop="title" :rules="[{required: true, message: '请输入标题', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入..." maxlength="30" show-word-limit></el-input> | ||||
|             <el-form-item label="活动地点" style="width: 100%;" prop="address" :rules="[{required: true, message: '请输入活动地点题', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.address" clearable placeholder="请输入活动地点题" maxlength="30" show-word-limit></el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="联系人" prop="title" :rules="[{required: true, message: '请输入活动标题', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入活动标题..." maxlength="30" show-word-limit></el-input> | ||||
|             <el-form-item label="联系人" prop="contactPerson" :rules="[{required: true, message: '请输入联系人', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.contactPerson" clearable placeholder="请输入联系人" maxlength="30" show-word-limit></el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="联系电话" prop="title" :rules="[{required: true, message: '请输入活动标题', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.title" clearable placeholder="请输入活动标题..." maxlength="30" show-word-limit></el-input> | ||||
|             <el-form-item label="联系电话" prop="contactPhone" :rules="[{required: true, message: '请输入联系电话', trigger: 'blur'}]"> | ||||
|               <el-input type="input" size="small" v-model="form.contactPhone" clearable placeholder="请输入联系电话" maxlength="30" show-word-limit></el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="活动介绍" style="width: 100%;" prop="content" :rules="[{required: true, message: '请输入内容', trigger: 'change'}]"> | ||||
|               <ai-editor v-model="form.content" :instance="instance"/> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="缩略图" style="width: 100%;" prop="thumbUrl"> | ||||
|             <el-form-item label="缩略图" style="width: 100%;" prop="url"> | ||||
|               <ai-uploader | ||||
|                 :instance="instance" | ||||
|                 isShowTip | ||||
|                 v-model="form.thumbUrl" | ||||
|                 v-model="form.url" | ||||
|                 :limit="1"> | ||||
|               </ai-uploader> | ||||
|             </el-form-item> | ||||
| @@ -81,16 +83,13 @@ | ||||
|           title: '', | ||||
|           content: '', | ||||
|           areaId: '', | ||||
|           startTime: '', | ||||
|           areaName: '', | ||||
|           beginTime: '', | ||||
|           endTime: '', | ||||
|           createUnitName: '', | ||||
|           createUserName: '', | ||||
|           status: '', | ||||
|           thumbUrl: [] | ||||
|         }, | ||||
|         cropOps: { | ||||
|           width: "336px", | ||||
|           height: "210px" | ||||
|           address: '', | ||||
|           contactPerson: '', | ||||
|           contactPhone: '', | ||||
|           url: [] | ||||
|         }, | ||||
|         id: '' | ||||
|       } | ||||
| @@ -102,7 +101,8 @@ | ||||
|  | ||||
|     created () { | ||||
|       this.form.areaId = this.user.info.areaId | ||||
|       this.disabledLevel = this.user.info.areaList.length | ||||
|       this.form.areaName = this.user.info.areaName | ||||
|       this.disabledLevel = this.user.info.areaList.length - 1 | ||||
|       if (this.params && this.params.id) { | ||||
|         this.id = this.params.id | ||||
|         this.getInfo(this.params.id) | ||||
| @@ -111,10 +111,10 @@ | ||||
|  | ||||
|     methods: { | ||||
|       getInfo (id) { | ||||
|         this.instance.post(`/app/appcountrysidetourism/queryDetailById?id=${id}`).then(res => { | ||||
|         this.instance.post(`/app/appvillageactivityinfo/queryDetailById?id=${id}`).then(res => { | ||||
|           if (res.code === 0) { | ||||
|             this.form = res.data | ||||
|             this.form.thumbUrl = res.data.thumbUrl ? JSON.parse(res.data.thumbUrl) : [] | ||||
|             this.form.url = res.data.url ? JSON.parse(res.data.url) : [] | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
| @@ -122,12 +122,10 @@ | ||||
|       confirm () { | ||||
|         this.$refs.form.validate((valid) => { | ||||
|           if (valid) { | ||||
|             this.instance.post(`/app/appcountrysidetourism/addOrUpdate`, { | ||||
|             this.instance.post(`/app/appvillageactivityinfo/addOrUpdate`, { | ||||
|               ...this.form, | ||||
|               type: 0, | ||||
|               createUserName: this.user.info.name, | ||||
|               thumbUrl: this.form.thumbUrl.length ? JSON.stringify([{ | ||||
|                 url: this.form.thumbUrl[0].url | ||||
|               url: this.form.url.length ? JSON.stringify([{ | ||||
|                 url: this.form.url[0].url | ||||
|               }]) : '' | ||||
|             }).then(res => { | ||||
|               if (res.code == 0) { | ||||
|   | ||||
| @@ -9,13 +9,25 @@ | ||||
|       <ai-card title="基本信息" v-show="currIndex === 0"> | ||||
|         <template #content> | ||||
|           <ai-wrapper | ||||
|             label-width="80px"> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             <ai-info-item label="添加渠道" value="1231313"></ai-info-item> | ||||
|             label-width="120px"> | ||||
|             <ai-info-item label="活动标题" isLine :value="info.title"></ai-info-item> | ||||
|             <ai-info-item label="发布地区" isLine :value="info.areaName"></ai-info-item> | ||||
|             <ai-info-item label="活动开始时间" :value="info.beginTime"></ai-info-item> | ||||
|             <ai-info-item label="活动结束时间" :value="info.endTime"></ai-info-item> | ||||
|             <ai-info-item label="活动地点" isLine :value="info.address"></ai-info-item> | ||||
|             <ai-info-item label="联系人" :value="info.contactPerson"></ai-info-item> | ||||
|             <ai-info-item label="联系电话" :value="info.contactPhone"></ai-info-item> | ||||
|             <ai-info-item label="活动介绍" isLine> | ||||
|               <AiArticle :value="info.content"></AiArticle> | ||||
|             </ai-info-item> | ||||
|             <ai-info-item label="活动介绍"> | ||||
|               <ai-uploader | ||||
|                 :instance="instance" | ||||
|                 disabled | ||||
|                 v-model="info.url" | ||||
|                 :limit="1"> | ||||
|               </ai-uploader> | ||||
|             </ai-info-item> | ||||
|           </ai-wrapper> | ||||
|         </template> | ||||
|       </ai-card> | ||||
| @@ -60,7 +72,7 @@ | ||||
|  | ||||
|     data () { | ||||
|       return { | ||||
|         total: 11, | ||||
|         total: 0, | ||||
|         info: {}, | ||||
|         id: '', | ||||
|         search: { | ||||
| @@ -70,9 +82,9 @@ | ||||
|         currIndex: 0, | ||||
|         tableData: [], | ||||
|         colConfigs: [ | ||||
|           {slot: 'userinfo'}, | ||||
|           {prop: 'addWay', label: '客户来源', align: 'center', formart: v => this.dict.getLabel('wxCustomerAddWay', v)}, | ||||
|           {prop: 'createTime', label: '添加时间', align: 'center'} | ||||
|           {prop: 'createTime', label: '报名时间', align: 'center'}, | ||||
|           {prop: 'name', label: '报名人员名称', align: 'center' }, | ||||
|           {prop: 'phone', label: '联系方式', align: 'center' } | ||||
|         ], | ||||
|         tabList: ['基本信息', '报名情况', '活动动态'] | ||||
|       } | ||||
| @@ -87,18 +99,25 @@ | ||||
|  | ||||
|     methods: { | ||||
|       getInfo (id) { | ||||
|         this.instance.post(`/app/appeveryvillagecode/queryDetailById?id=${id}`).then(res => { | ||||
|         this.instance.post(`/app/appvillageactivityinfo/queryDetailById?id=${id}`).then(res => { | ||||
|           if (res.code === 0) { | ||||
|             this.form = res.data | ||||
|             this.form.codeUrl = [{ | ||||
|               url: res.data.codeUrl | ||||
|             }] | ||||
|             this.info = res.data | ||||
|             this.info.url = res.data.url ? JSON.parse(res.data.url) : [] | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       getList () { | ||||
|  | ||||
|         this.instance.post(`/app/appvillageactivityuser/list`, null, { | ||||
|           params: { | ||||
|             ...this.search | ||||
|           } | ||||
|         }).then(res => { | ||||
|           if (res.code == 0) { | ||||
|             this.tableData = res.data.records | ||||
|             this.total = res.data.total | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       cancel (isRefresh) { | ||||
|   | ||||
| @@ -18,24 +18,7 @@ | ||||
|           <div class="bbs-item__info--content"> | ||||
|             <p>{{ item.content }}</p> | ||||
|             <ai-uploader v-if="item.images && item.images.length" :instance="instance" :value="item.images" :limit="9" disabled></ai-uploader> | ||||
|             <div class="text-button" @click="remove(item.id)">删除动态</div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="bbs-replay"> | ||||
|           <div class="bbs-replay__item" v-for="(replay, index) in item.replyList" :key="index"> | ||||
|             <div class="bbs-replay__item--top"> | ||||
|               <img :src="replay.headPortrait" /> | ||||
|               <div class="right"> | ||||
|                 <div class="right-user"> | ||||
|                   <h2>{{ replay.createUserName }}</h2> | ||||
|                   <i>回复</i> | ||||
|                   <h2>{{ replay.lastReplyName }}</h2> | ||||
|                 </div> | ||||
|                 <span>{{ replay.createTime }}</span> | ||||
|               </div> | ||||
|             </div> | ||||
|             <p>{{ replay.content }}</p> | ||||
|             <div class="text-button" @click="removeReplay(replay.id)">删除评论</div> | ||||
|             <!-- <div class="text-button" @click="remove(item.id)">删除动态</div> --> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
| @@ -65,9 +48,9 @@ | ||||
|  | ||||
|     methods: { | ||||
|       getInfo (id) { | ||||
|         this.instance.post(`/app/apppostinfo/listWitReply?activityId=${id}`).then(res => { | ||||
|         this.instance.post(`/app/appvillageactivitypost/list?size=1000&activityId=${id}`).then(res => { | ||||
|           if (res.code === 0) { | ||||
|             this.list = res.data.map(v => { | ||||
|             this.list = res.data.records.map(v => { | ||||
|               return { | ||||
|                 ...v, | ||||
|                 images: v.images ? JSON.parse(v.images) : [] | ||||
| @@ -77,20 +60,9 @@ | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       removeReplay(id) { | ||||
|         this.$confirm('确定删除该数据?').then(() => { | ||||
|           this.instance.post(`/app/apppostreply/delete?id=${id}`).then((res) => { | ||||
|             if (res.code == 0) { | ||||
|               this.getInfo(this.id) | ||||
|               this.$message.success('删除成功!') | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       remove(id) { | ||||
|         this.$confirm('确定删除该数据?').then(() => { | ||||
|           this.instance.post(`/app/apppostinfo/delete?id=${id}`).then((res) => { | ||||
|           this.instance.post(`/app/appvillageactivitypost/delete?id=${id}`).then((res) => { | ||||
|             if (res.code == 0) { | ||||
|               this.$message.success('删除成功!') | ||||
|               this.getList() | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|     <template slot="content"> | ||||
|       <ai-search-bar class="search-bar"> | ||||
|         <template slot="left"> | ||||
|           <el-button type="primary" icon="iconfont iconAdd" @click="toAdd">发布活动</el-button> | ||||
|           <el-button type="primary" icon="iconfont iconAdd" @click="toAdd('')">发布活动</el-button> | ||||
|           <ai-select | ||||
|             v-model="search.isRealName" | ||||
|             @change="search.current = 1, getList()" | ||||
| @@ -73,18 +73,29 @@ | ||||
|         ids: [], | ||||
|         total: 10, | ||||
|         colConfigs: [ | ||||
|           { prop: 'realName', label: '真实姓名', align: 'center' }, | ||||
|           { | ||||
|             prop: 'identityNumber', label: '是否实名', align: 'center',  | ||||
|           { prop: 'title', label: '活动名称', align: 'left' }, | ||||
|           {  | ||||
|             prop: 'areaName', label: '活动地区', align: 'center' ,  | ||||
|             render: (h, params) => { | ||||
|               return h('span', { | ||||
|               }, params.row.realName ? '是' : '否') | ||||
|               }, params.row.areaName  + params.row.address) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             prop: 'status', label: '活动状态', align: 'center',  | ||||
|             render: (h, params) => { | ||||
|               return h('span', { | ||||
|               }, params.row.status ? '是' : '否') | ||||
|             } | ||||
|           }, | ||||
|           { prop: 'realNum', label: '报名人数', align: 'center' }, | ||||
|           { | ||||
|             prop: 'beginTime', width: '300px', label: '活动时间', align: 'center',  | ||||
|             render: (h, params) => { | ||||
|               return h('span', { | ||||
|               }, params.row.beginTime + ' - ' + params.row.endTime) | ||||
|             } | ||||
|           }, | ||||
|           { prop: 'wxUserNames', label: '所属员工', align: 'center' }, | ||||
|           { slot: 'tags' }, | ||||
|           { prop: 'createTime', label: '添加时间', align: 'left' }, | ||||
|           { prop: 'addWay', label: '添加渠道', align: 'center', formart: v => this.dict.getLabel('wxCustomerAddWay', v) }, | ||||
|           { slot: 'options', label: '操作', align: 'center' } | ||||
|         ], | ||||
|         tableData: [] | ||||
| @@ -104,7 +115,7 @@ | ||||
|  | ||||
|     methods: { | ||||
|       getList() { | ||||
|         this.instance.post(`/app/wxcp/wxcustomer/list`, null, { | ||||
|         this.instance.post(`/app/appvillageactivityinfo/list`, null, { | ||||
|           params: { | ||||
|             ...this.search | ||||
|           } | ||||
|   | ||||
| @@ -289,6 +289,7 @@ | ||||
| } | ||||
|  | ||||
|   .statistics { | ||||
|     padding: 0!important; | ||||
|     ::v-deep .ai-list__content--right-wrapper { | ||||
|       background: transparent!important; | ||||
|       box-shadow: none!important; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user