Commit 56d4ba28b6da2e82784c2f7de8ba901ff3566593
Merge branch 'master' of http://39.98.150.180/webapp/GreenwayWeb
Showing
33 changed files
with
4608 additions
and
1864 deletions
admin-web-master/.env.development
| ... | ... | @@ -6,7 +6,7 @@ VUE_APP_BASE_API = '/dev-api' |
| 6 | 6 | |
| 7 | 7 | # VUE_APP_DOMAIN_PREFIX_1 = "https://zhld.028wlkj.com:49008/cdwlMall/admin-server" |
| 8 | 8 | # VUE_APP_DOMAIN_PREFIX_1 = "https://jy.scjysm.asia:18086/cdwlMall/atmosphere/atmosphereSp" |
| 9 | -VUE_APP_DOMAIN_PREFIX_1='http://8.130.38.56:9003' | |
| 9 | +VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.125:9003' | |
| 10 | 10 | # VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.245:49013' |
| 11 | 11 | # VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.38:9003' |
| 12 | 12 | VUE_APP_DOMAIN_PREFIX_2='https://zhld.028wlkj.com:49008/cdwlMall/business-server' |
| 13 | 13 | \ No newline at end of file | ... | ... |
admin-web-master/.env.production
| ... | ... | @@ -5,7 +5,7 @@ ENV = 'production' |
| 5 | 5 | VUE_APP_BASE_API = '/prod-api' |
| 6 | 6 | # VUE_APP_DOMAIN_PREFIX_1 = "http://zhld.028wlkj.com:49008/cdwlMall/admin-server" |
| 7 | 7 | # VUE_APP_DOMAIN_PREFIX_1 = "https://jy.scjysm.asia:18086/cdwlMall/atmosphere/atmosphereSp" |
| 8 | -VUE_APP_DOMAIN_PREFIX_1='http://8.130.38.56:9003' | |
| 8 | +VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.125:9003' | |
| 9 | 9 | # VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.124:9003' |
| 10 | 10 | # VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.38:9003' |
| 11 | 11 | VUE_APP_DOMAIN_PREFIX_2='https://zhld.028wlkj.com:49008/cdwlMall/business-server' | ... | ... |
admin-web-master/dist.zip
No preview for this file type
admin-web-master/src/components/ImageUpload/index.vue
| ... | ... | @@ -26,7 +26,7 @@ |
| 26 | 26 | </div> |
| 27 | 27 | </div> |
| 28 | 28 | <div style="position: relative;"> |
| 29 | - <input style="opacity: 0;position: absolute;" :id="inputtype" ref="fileInput" type="file" :multiple="true" | |
| 29 | + <input :accept="options.accept" style="opacity: 0;position: absolute;" :id="inputtype" ref="fileInput" type="file" :multiple="true" | |
| 30 | 30 | @change="handleUploadFile" /> |
| 31 | 31 | <div v-if=" |
| 32 | 32 | localValue && localValue.length < options.limit && !options.disabled |
| ... | ... | @@ -247,6 +247,7 @@ |
| 247 | 247 | this.fileList.push(this.localValue[i].address) |
| 248 | 248 | } |
| 249 | 249 | let urlstr = this.fileList.join(',') |
| 250 | + console.error(urlstr) | |
| 250 | 251 | this.$emit('changimg',urlstr) |
| 251 | 252 | }, |
| 252 | 253 | async handleSetCover(file, i) { | ... | ... |
admin-web-master/src/components/add/addMarkActivity.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <el-form :model="formInline" :rules="rules" ref="heForm" label-width="130px" class="demo-ruleForm"> | |
| 4 | + <el-form-item label="营销活动标题" prop="title"> | |
| 5 | + <el-input placeholder="请输入" v-model="formInline.title"></el-input> | |
| 6 | + </el-form-item> | |
| 7 | + <el-form-item label="内容" prop="content" tyle="width: 100%;"> | |
| 8 | + <wang-editor v-model="formInline.content" ref="editor" :height="200"></wang-editor> | |
| 9 | + </el-form-item> | |
| 10 | + <el-row :gutter="20"> | |
| 11 | + <el-col :span="24"> | |
| 12 | + <el-form-item label="场地" prop="shopNumber"> | |
| 13 | + <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong"> | |
| 14 | + <div | |
| 15 | + style="font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;line-height:20px;background:#F2F3F5;"> | |
| 16 | + <div style="padding:10px;">场地选择</div> | |
| 17 | + <div v-if="AddData.length != 1" style="color: #3F9B6A;padding:10px;" @click="mingShow"> | |
| 18 | + 添加 | |
| 19 | + </div> | |
| 20 | + </div> | |
| 21 | + <div style="padding: 15px;"> | |
| 22 | + <div style="padding: 0px 20px 0px 0px"> | |
| 23 | + <el-table :data="AddData" | |
| 24 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 25 | + <el-table-column label="序号" min-width="5%"> | |
| 26 | + <template slot-scope="scope"> | |
| 27 | + {{scope.$index + 1}} | |
| 28 | + </template> | |
| 29 | + </el-table-column> | |
| 30 | + <el-table-column label="资源名称" min-width="20%" show-overflow-tooltip> | |
| 31 | + <template slot-scope="scope"> | |
| 32 | + {{scope.row.shopName ? scope.row.shopName : scope.row.advertisingName?scope.row.advertisingName:scope.row.venueName}} | |
| 33 | + </template> | |
| 34 | + </el-table-column> | |
| 35 | + <el-table-column label="资源类型" min-width="10%"> | |
| 36 | + <template slot-scope="scope"> | |
| 37 | + {{scope.row.shopName ? '商铺' : scope.row.advertisingType?scope.row.advertisingType:'场地'}} | |
| 38 | + </template> | |
| 39 | + </el-table-column> | |
| 40 | + | |
| 41 | + <el-table-column label="详细地址" min-width="20%"> | |
| 42 | + <template slot-scope="scope"> | |
| 43 | + {{scope.row.detailedLocation}} | |
| 44 | + </template> | |
| 45 | + </el-table-column> | |
| 46 | + | |
| 47 | + <el-table-column prop="notes" label="实际使用面积" min-width="25%"> | |
| 48 | + <template slot-scope="scope"> | |
| 49 | + {{scope.row.actualArea ? scope.row.actualArea : scope.row.actualUsableArea?scope.row.actualUsableArea:'-'}} | |
| 50 | + </template> | |
| 51 | + | |
| 52 | + </el-table-column> | |
| 53 | + | |
| 54 | + <el-table-column label="操作" min-width="15%"> | |
| 55 | + <template slot-scope="scope"> | |
| 56 | + <div @click="MingDelete(scope.$index)" class="tableBtn greens">删除</div> | |
| 57 | + </template> | |
| 58 | + </el-table-column> | |
| 59 | + </el-table> | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + </div> | |
| 63 | + </el-form-item> | |
| 64 | + </el-col> | |
| 65 | + </el-row> | |
| 66 | + <el-form-item label="起止时间" prop="content"> | |
| 67 | + <el-date-picker style="width: 50%;" v-model="plan_Time" value-format="yyyy-MM-dd HH:mm:ss" | |
| 68 | + type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 69 | + </el-date-picker> | |
| 70 | + </el-form-item> | |
| 71 | + <el-form-item label="联系人" prop="contactPerson"> | |
| 72 | + <el-input placeholder="请输入" v-model="formInline.contactPerson"></el-input> | |
| 73 | + </el-form-item> | |
| 74 | + <el-form-item label="联系电话" prop="contactPhone"> | |
| 75 | + <el-input placeholder="请输入" v-model="formInline.contactPhone"></el-input> | |
| 76 | + </el-form-item> | |
| 77 | + <el-form-item label="封面图片"> | |
| 78 | + <upimg :cmpOption="{disabled:false,isSetCover:false}" filePath="ys" inputtype="coverImage" :value="formInline.coverImage" | |
| 79 | + @changimg="e=>changimg(e,'coverImage')"></upimg> | |
| 80 | + </el-form-item> | |
| 81 | + <el-row :gutter="20"> | |
| 82 | + <el-col :span="12"> | |
| 83 | + <el-form-item> | |
| 84 | + <div style="margin-top: 20px"> | |
| 85 | + <el-button @click="add()" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 86 | + <el-button @click="close()" class="buttonHover" | |
| 87 | + style="color: #606266;border: 1px solid #DBDBDB;background-color: #fff;">取消</el-button> | |
| 88 | + </div> | |
| 89 | + </el-form-item> | |
| 90 | + </el-col> | |
| 91 | + </el-row> | |
| 92 | + </el-form> | |
| 93 | + <el-dialog :visible.sync="addMing" title="选择资源" width="65%" append-to-body center | |
| 94 | + :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 95 | + <zy v-if="addMing" @minSev="minSev" @mingClose="mingClose"></zy> | |
| 96 | + </el-dialog> | |
| 97 | + </div> | |
| 98 | +</template> | |
| 99 | + | |
| 100 | +<script> | |
| 101 | + import zy from '@/components/change/zy.vue' | |
| 102 | + import { | |
| 103 | + businessListGetAll, | |
| 104 | + } from '@/api/business' | |
| 105 | + import upimg from "@/components/ImageUpload/index" | |
| 106 | + import wangEditor from "@/components/editor/index"; | |
| 107 | + import { | |
| 108 | + uploadUrl | |
| 109 | + } from '@/utils/request' | |
| 110 | + import { | |
| 111 | + getAlls, | |
| 112 | + changAlls | |
| 113 | + } from '@/api/information.js' | |
| 114 | + import { | |
| 115 | + getAlls as map1 | |
| 116 | + } from '@/api/map1.js' | |
| 117 | + import { | |
| 118 | + miniioupload | |
| 119 | + } from '@/api/commodityLease.js' | |
| 120 | + import { | |
| 121 | + | |
| 122 | + contractinsertAdd | |
| 123 | + } from '@/api/manage.js' | |
| 124 | + import { | |
| 125 | + cerePlatformMerchant | |
| 126 | + } from '@/api/newly.js' | |
| 127 | + import { | |
| 128 | + MarkGetAll, | |
| 129 | + MarkAdd, | |
| 130 | + MarkEdit, | |
| 131 | + MarkDel, | |
| 132 | + QRcode, | |
| 133 | + Registration | |
| 134 | + } from '@/api/MarkActivity.js' | |
| 135 | + export default { | |
| 136 | + components: { | |
| 137 | + zy, | |
| 138 | + upimg, | |
| 139 | + wangEditor | |
| 140 | + }, | |
| 141 | + data() { | |
| 142 | + return { | |
| 143 | + AddData: [], //最后资源 | |
| 144 | + multipleSelection: [], //资源 | |
| 145 | + addMing: false, | |
| 146 | + ziyuanData: [], | |
| 147 | + shopId: null, | |
| 148 | + hefuData: [], //合同附件 | |
| 149 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 150 | + shopList: [], | |
| 151 | + plan_Time: [], | |
| 152 | + formInline: { | |
| 153 | + title: '', | |
| 154 | + content: '', | |
| 155 | + venue: '', | |
| 156 | + contactPerson: '', | |
| 157 | + contactPhone: '', | |
| 158 | + coverImage: '', | |
| 159 | + registeredCount: '', | |
| 160 | + }, | |
| 161 | + rules: { | |
| 162 | + title: [{ | |
| 163 | + required: true, | |
| 164 | + message: '请选择合同类型', | |
| 165 | + trigger: 'change' | |
| 166 | + }], | |
| 167 | + content: [{ | |
| 168 | + required: true, | |
| 169 | + message: '请输入合同编号', | |
| 170 | + trigger: 'blur' | |
| 171 | + }], | |
| 172 | + venue: [{ | |
| 173 | + required: true, | |
| 174 | + message: '请输入标段号', | |
| 175 | + trigger: 'blur' | |
| 176 | + }], | |
| 177 | + contactPerson: [{ | |
| 178 | + required: true, | |
| 179 | + message: '请输入合同名称', | |
| 180 | + trigger: 'blur' | |
| 181 | + }], | |
| 182 | + contactPhone: [{ | |
| 183 | + required: true, | |
| 184 | + message: '请输入押金', | |
| 185 | + trigger: 'blur' | |
| 186 | + }], | |
| 187 | + coverImage: [{ | |
| 188 | + required: true, | |
| 189 | + message: '请选择签订日期', | |
| 190 | + trigger: 'change' | |
| 191 | + }], | |
| 192 | + registeredCount: [{ | |
| 193 | + required: true, | |
| 194 | + message: '请选择终止日期', | |
| 195 | + trigger: 'change' | |
| 196 | + }] | |
| 197 | + }, | |
| 198 | + shopfrom: { | |
| 199 | + checkState:'2', | |
| 200 | + pageNumber: 0, | |
| 201 | + pageSize: 1000, | |
| 202 | + }, | |
| 203 | + pageindex: { | |
| 204 | + pageNumber: 0, | |
| 205 | + pageSize: 20, | |
| 206 | + }, | |
| 207 | + baseURL: 'http://192.168.2.38:9003', | |
| 208 | + uploadFiles: [], | |
| 209 | + filesLength: 1 | |
| 210 | + }; | |
| 211 | + }, | |
| 212 | + props: { | |
| 213 | + info: { | |
| 214 | + type: Object, | |
| 215 | + default: {} | |
| 216 | + } | |
| 217 | + }, | |
| 218 | + created() { | |
| 219 | + cerePlatformMerchant(this.shopfrom).then(res => { | |
| 220 | + this.shopList = res.data.content | |
| 221 | + console.error(this.shopList) | |
| 222 | + }) | |
| 223 | + }, | |
| 224 | + methods: { | |
| 225 | + changimg(e, type) { | |
| 226 | + this.formInline[type] = e | |
| 227 | + console.error(this.ruleForm[type]) | |
| 228 | + }, | |
| 229 | + add() { | |
| 230 | + | |
| 231 | + if (this.formInline.id) { | |
| 232 | + } else { | |
| 233 | + this.$refs.heForm.validate((valid) => { | |
| 234 | + console.log(valid) | |
| 235 | + if (valid) { | |
| 236 | + MarkAdd({ | |
| 237 | + ...this.formInline | |
| 238 | + }).then(res => { | |
| 239 | + console.error(res) | |
| 240 | + if (res.code == 200) { | |
| 241 | + this.$message({ | |
| 242 | + message: '添加成功', | |
| 243 | + type: 'success' | |
| 244 | + }) | |
| 245 | + this.$emit('removeonaction', '1') | |
| 246 | + } else { | |
| 247 | + this.$message({ | |
| 248 | + message: res.msg, | |
| 249 | + type: 'error' | |
| 250 | + }) | |
| 251 | + } | |
| 252 | + | |
| 253 | + }) | |
| 254 | + } else { | |
| 255 | + this.$message({ | |
| 256 | + message: '请填写完整信息', | |
| 257 | + type: 'error' | |
| 258 | + }) | |
| 259 | + return false; | |
| 260 | + } | |
| 261 | + }) | |
| 262 | + | |
| 263 | + } | |
| 264 | + }, | |
| 265 | + close() { | |
| 266 | + this.$emit('removeonaction', '1') | |
| 267 | + }, | |
| 268 | + MingDelete(item) { | |
| 269 | + this.AddData.splice(item, 1); | |
| 270 | + }, | |
| 271 | + async mingShow() { | |
| 272 | + const ziyuan = await getAlls(this.pageindex) | |
| 273 | + const ggw = await map1(this.pageindex) | |
| 274 | + const changdi = await changAlls(this.pageindex) | |
| 275 | + this.ziyuanData = [...ziyuan.data.content, ...ggw.data.content, ...changdi.data.content] | |
| 276 | + console.error(this.ziyuanData) | |
| 277 | + this.addMing = true | |
| 278 | + }, | |
| 279 | + handleSelectionChange(selection) { | |
| 280 | + // 处理选择变化的逻辑 | |
| 281 | + console.error(selection) | |
| 282 | + this.multipleSelection= [] | |
| 283 | + this.multipleSelection.push(selection) | |
| 284 | + }, | |
| 285 | + minSev() { | |
| 286 | + // this.AddData = this.multipleSelection | |
| 287 | + const filteredAddData = this.AddData.filter(itemAdd => { | |
| 288 | + // 使用 some 方法检查 this.multipleSelection 中是否存在具有相同 id 的元素 | |
| 289 | + return !this.multipleSelection.some(itemMultiple => itemMultiple.id === itemAdd.id); | |
| 290 | + }); | |
| 291 | + this.AddData = filteredAddData.concat(this.multipleSelection) | |
| 292 | + this.addMing = false | |
| 293 | + this.multipleSelection = [] | |
| 294 | + | |
| 295 | + }, | |
| 296 | + mingClose() { | |
| 297 | + this.multipleSelection = [] | |
| 298 | + this.ziyuanData = [] | |
| 299 | + this.addMing = false | |
| 300 | + }, | |
| 301 | + changeRelatedMerchants(e) { | |
| 302 | + console.error(e) | |
| 303 | + this.shopId = this.shopList[e].id | |
| 304 | + this.formInline.tenantName = this.shopList[e].name | |
| 305 | + this.formInline.tenantTelephone = this.shopList[e].phone | |
| 306 | + }, | |
| 307 | + hefuRemove() { | |
| 308 | + this.hefuData = [] | |
| 309 | + }, | |
| 310 | + hefuSuccess(response, file, fileList) { | |
| 311 | + this.hefuData = [] | |
| 312 | + console.error(response) | |
| 313 | + let fd = new FormData() | |
| 314 | + fd.append('file', response.raw) | |
| 315 | + fd.append('filePath', 'hetong') | |
| 316 | + miniioupload(fd).then(res => { | |
| 317 | + console.error(res) | |
| 318 | + const fileMsg = { | |
| 319 | + name: response.name, | |
| 320 | + url: res.data, | |
| 321 | + } | |
| 322 | + this.hefuData.push(fileMsg) | |
| 323 | + }) | |
| 324 | + }, | |
| 325 | + | |
| 326 | + | |
| 327 | + }, | |
| 328 | + }; | |
| 329 | +</script> | |
| 330 | +<style lang="css"> | |
| 331 | + .el-upload { | |
| 332 | + display: block; | |
| 333 | + text-align: left; | |
| 334 | + } | |
| 335 | + | |
| 336 | + .el-dialog__header { | |
| 337 | + background-color: #F2F3F5; | |
| 338 | + text-align: left; | |
| 339 | + } | |
| 340 | + | |
| 341 | + .el-dialog__title { | |
| 342 | + line-height: 30px; | |
| 343 | + font-size: 15px; | |
| 344 | + color: #303133; | |
| 345 | + } | |
| 346 | +</style> | |
| 347 | +<style lang="scss" scoped> | |
| 348 | + ::v-deep .el-dialog__body { | |
| 349 | + padding: 0 0 !important; | |
| 350 | + } | |
| 351 | + .el-dialog__header{ | |
| 352 | + padding: 0; | |
| 353 | + display: none; | |
| 354 | + } | |
| 355 | +</style> | |
| 356 | + | ... | ... |
admin-web-master/src/components/add/addcd copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <el-form :model="ruleForm" :rules="rulesSt" ref="ruleForm" label-width="130px" | |
| 4 | + class="demo-ruleForm"> | |
| 5 | + <el-row :gutter="20"> | |
| 6 | + <el-col :span="12"> | |
| 7 | + <el-form-item label="场地名称" prop="venueName"> | |
| 8 | + <el-input v-model="ruleForm.venueName" placeholder="请输入" style="margin-top:5px;" maxlength="50"></el-input> | |
| 9 | + </el-form-item> | |
| 10 | + </el-col> | |
| 11 | + <el-col :span="12"> | |
| 12 | + <el-form-item label="场地类型" prop="venueType"> | |
| 13 | + <el-select v-model="ruleForm.venueType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 14 | + <el-option label="草地" value="草地"></el-option> | |
| 15 | + </el-select> | |
| 16 | + </el-form-item> | |
| 17 | + </el-col> | |
| 18 | + | |
| 19 | + </el-row> | |
| 20 | + <el-row :gutter="20"> | |
| 21 | + <el-col :span="12"> | |
| 22 | + <el-form-item label="实际使用面积" prop="actualArea"> | |
| 23 | + <el-input v-model="ruleForm.actualArea" placeholder="请输入" style="margin-top:5px;"> | |
| 24 | + <template slot="append">M<sup>2</sup></template> | |
| 25 | + </el-input> | |
| 26 | + </el-form-item> | |
| 27 | + </el-col> | |
| 28 | + <el-col :span="12"> | |
| 29 | + <el-form-item label="所属区域" prop="district"> | |
| 30 | + <el-select v-model="ruleForm.district" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 31 | + <el-option label="成华区" value="成华区"></el-option> | |
| 32 | + <el-option label="武侯区" value="武侯区"></el-option> | |
| 33 | + <el-option label="锦江区" value="锦江区"></el-option> | |
| 34 | + <el-option label="青羊区" value="青羊区"></el-option> | |
| 35 | + <el-option label="金牛区" value="金牛区"></el-option> | |
| 36 | + <el-option label="双流区" value="双流区"></el-option> | |
| 37 | + <el-option label="郫都区" value="郫都区"></el-option> | |
| 38 | + <el-option label="龙泉驿区" value="龙泉驿区"></el-option> | |
| 39 | + <el-option label="温江区" value="温江区"></el-option> | |
| 40 | + </el-select> | |
| 41 | + </el-form-item> | |
| 42 | + </el-col> | |
| 43 | + </el-row> | |
| 44 | + <el-row :gutter="20"> | |
| 45 | + <el-col :span="12"> | |
| 46 | + <el-form-item label="归属部门" prop="department"> | |
| 47 | + <el-input v-model="ruleForm.department" placeholder="请输入" style="margin-top:5px;" maxlength="50"> | |
| 48 | + </el-input> | |
| 49 | + </el-form-item> | |
| 50 | + </el-col> | |
| 51 | + <el-col :span="12"> | |
| 52 | + <el-form-item label="负责人" prop="responsiblePerson"> | |
| 53 | + <el-input v-model="ruleForm.responsiblePerson" placeholder="请输入" style="margin-top:5px;" maxlength="20"> | |
| 54 | + </el-input> | |
| 55 | + </el-form-item> | |
| 56 | + </el-col> | |
| 57 | + </el-row> | |
| 58 | + | |
| 59 | + <el-row :gutter="20"> | |
| 60 | + <el-col :span="12"> | |
| 61 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 62 | + <el-input v-model="ruleForm.detailedLocation" placeholder="请输入" style="margin-top:5px;" maxlength="100"> | |
| 63 | + </el-input> | |
| 64 | + </el-form-item> | |
| 65 | + </el-col> | |
| 66 | + </el-row> | |
| 67 | + <el-row :gutter="20"> | |
| 68 | + <el-col :span="24"> | |
| 69 | + <el-form-item label="地图标点" prop="mapMarker"> | |
| 70 | + <div style="width: 100%;height: 300px;border: 1px solid #3F9B6A;" > | |
| 71 | + <MapMark :sendChildDate="getChildDate" ref="mapComponent"></MapMark> | |
| 72 | + </div> | |
| 73 | + </el-form-item> | |
| 74 | + </el-col> | |
| 75 | + </el-row> | |
| 76 | + <el-form-item label="规划图纸" prop="planningDrawing"> | |
| 77 | + <upimg filePath="cd" inputtype="planningDrawing" :value="ruleForm.planningDrawing" @changimg="e=>changimg(e,'planningDrawing')"></upimg> | |
| 78 | + <!-- <upimg filePath="cd" :value="ruleForm.planningDrawing" @changimg="e=>changimg(e,'planningDrawing')" :limit="5" :fileSize="1"></upimg> --> | |
| 79 | + </el-form-item> | |
| 80 | + <el-form-item label="场地描述" prop="description"> | |
| 81 | + <el-input type="textarea" v-model="ruleForm.description" style="margin-top:5px;" | |
| 82 | + placeholder="请输入" maxlength="200"></el-input> | |
| 83 | + </el-form-item> | |
| 84 | + <el-form-item label="展示主图" prop="displayImage"> | |
| 85 | + <upimg filePath="cd" inputtype="displayImage" :value="ruleForm.displayImage" @changimg="e=>changimg(e,'displayImage')"></upimg> | |
| 86 | + <!-- <upimg filePath="cd" :value="ruleForm.displayImage" @changimg="e=>changimg(e,'displayImage')" :limit="1" :fileSize="1"></upimg> --> | |
| 87 | + </el-form-item> | |
| 88 | + <el-form-item label="其他视频" prop="otherImageVideos"> | |
| 89 | + <upfile filePath="cd" :value="ruleForm.otherImageVideos" :fileType="'.mp4'" @changimg="e=>changimg(e,'otherImageVideos')"></upfile> | |
| 90 | + </el-form-item> | |
| 91 | + <el-row :gutter="20"> | |
| 92 | + <el-col :span="12"> | |
| 93 | + <el-form-item> | |
| 94 | + <div style="margin-top: 20px"> | |
| 95 | + <el-button @click="add()" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 96 | + <el-button @click="close()" class="buttonHover" | |
| 97 | + style="color: #606266;border: 1px solid #DBDBDB;background-color: #fff;">取消</el-button> | |
| 98 | + </div> | |
| 99 | + </el-form-item> | |
| 100 | + </el-col> | |
| 101 | + </el-row> | |
| 102 | + </el-form> | |
| 103 | + </div> | |
| 104 | +</template> | |
| 105 | + | |
| 106 | +<script> | |
| 107 | + import MapMark from "@/components/MapContainer/MapMark"; | |
| 108 | + import upimg from "@/components/ImageUpload/index" | |
| 109 | + import upfile from "@/components/fujianUpload/fujianList" | |
| 110 | + import { | |
| 111 | + uploadUrl | |
| 112 | + } from '@/utils/request' | |
| 113 | + import { | |
| 114 | + miniioupload | |
| 115 | + } from '../../api/commodityLease.js' | |
| 116 | + import { | |
| 117 | + gongyuan, | |
| 118 | + lvdaoduan, | |
| 119 | + addList, | |
| 120 | + editList | |
| 121 | + } from '../../api/map1.js'; | |
| 122 | + import { | |
| 123 | + changadd, | |
| 124 | + changedit | |
| 125 | + } from '../../api/information' | |
| 126 | + export default { | |
| 127 | + components: { | |
| 128 | + upimg, | |
| 129 | + MapMark, | |
| 130 | + upfile | |
| 131 | + }, | |
| 132 | + data() { | |
| 133 | + return { | |
| 134 | + ontype:'线上广告位', | |
| 135 | + typelist:[ | |
| 136 | + { | |
| 137 | + name:'线上广告位', | |
| 138 | + vaule:'线上广告位' | |
| 139 | + }, | |
| 140 | + { | |
| 141 | + name:'实体广告位', | |
| 142 | + vaule:'实体广告位' | |
| 143 | + }, | |
| 144 | + ], | |
| 145 | + //地图标点的经纬度 | |
| 146 | + mapData: {}, | |
| 147 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 148 | + ruleForm: { | |
| 149 | + venueName: '', | |
| 150 | + venueType: '', | |
| 151 | + actualArea: '', | |
| 152 | + district: '', | |
| 153 | + department: '', | |
| 154 | + responsiblePerson: '', | |
| 155 | + detailedLocation: '',//详细位置 | |
| 156 | + mapMarker: '',//地图标点 | |
| 157 | + description: '',//场地描述 | |
| 158 | + planningDrawing: '',//规划图纸 | |
| 159 | + displayImage: '',//展示主图 | |
| 160 | + otherMedia: '', //其他图片视频 | |
| 161 | + }, | |
| 162 | + rulesSt: { | |
| 163 | + venueName: [{ | |
| 164 | + required: true, | |
| 165 | + message: '请输入场地名称', | |
| 166 | + trigger: 'blur' | |
| 167 | + }, ], | |
| 168 | + venueType: [{ | |
| 169 | + required: true, | |
| 170 | + message: '请选择场地类型', | |
| 171 | + trigger: 'change' | |
| 172 | + }, ], | |
| 173 | + actualArea: [{ | |
| 174 | + required: true, | |
| 175 | + message: '请输入实际使用面积', | |
| 176 | + trigger: 'blur' | |
| 177 | + }, ], | |
| 178 | + district: [{ | |
| 179 | + required: true, | |
| 180 | + message: '请选择所属区域', | |
| 181 | + trigger: 'change' | |
| 182 | + }], | |
| 183 | + detailedLocation: [{ | |
| 184 | + required: true, | |
| 185 | + message: '请输入详细位置', | |
| 186 | + trigger: 'blur' | |
| 187 | + }, ] | |
| 188 | + }, | |
| 189 | + uploadFiles: [], | |
| 190 | + filesLength: 1, | |
| 191 | + gongyuanList: [], | |
| 192 | + fileData: [], | |
| 193 | + parentMessage: {}, | |
| 194 | + edit: true | |
| 195 | + }; | |
| 196 | + }, | |
| 197 | + props: { | |
| 198 | + info: { | |
| 199 | + type: Object, | |
| 200 | + default: {} | |
| 201 | + }, | |
| 202 | + | |
| 203 | + }, | |
| 204 | + async created() { | |
| 205 | + if (this.info && this.info.id) { | |
| 206 | + this.ruleForm = this.info | |
| 207 | + | |
| 208 | + } else { | |
| 209 | + | |
| 210 | + } | |
| 211 | + }, | |
| 212 | + methods: { | |
| 213 | + changimg(e,type) { | |
| 214 | + this.ruleForm[type] = e | |
| 215 | + }, | |
| 216 | + changeadvertisingType(e){ | |
| 217 | + console.error(e) | |
| 218 | + this.ontype = e | |
| 219 | + }, | |
| 220 | + //获取当前时间 | |
| 221 | + updateCurrentTime() { | |
| 222 | + const now = new Date(); | |
| 223 | + const year = now.getFullYear(); | |
| 224 | + const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 225 | + const day = now.getDate().toString().padStart(2, '0'); | |
| 226 | + const hours = now.getHours().toString().padStart(2, '0'); | |
| 227 | + const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 228 | + const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 229 | + | |
| 230 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 231 | + }, | |
| 232 | + //获取地图点击的经纬度 | |
| 233 | + getChildDate(mapData) { | |
| 234 | + this.mapData = mapData | |
| 235 | + | |
| 236 | + }, | |
| 237 | + lvdaoSel(vaule) { | |
| 238 | + this.ruleForm.belongingParkTrail = '' | |
| 239 | + this.gongyuan(vaule) | |
| 240 | + }, | |
| 241 | + async gongyuan(value) { | |
| 242 | + const gongyaun = await gongyuan() | |
| 243 | + this.gongyuanList = gongyaun.data.filter(item => item.superior == value); | |
| 244 | + }, | |
| 245 | + add() { | |
| 246 | + | |
| 247 | + if (this.ruleForm.id) { | |
| 248 | + this.$refs.ruleForm.validate((valid) => { | |
| 249 | + console.log(valid) | |
| 250 | + if (valid) { | |
| 251 | + this.ruleForm.updateDate = this.updateCurrentTime() | |
| 252 | + if (this.fileData.length != 0) { | |
| 253 | + this.ruleForm.otherImageVideos = this.fileData[0].url | |
| 254 | + } | |
| 255 | + this.ruleForm.mapMarker = JSON.stringify(this.mapData) | |
| 256 | + changedit(this.ruleForm).then(res => { | |
| 257 | + if (res.code == 200) { | |
| 258 | + this.$message({ | |
| 259 | + message: '修改成功', | |
| 260 | + type: 'success' | |
| 261 | + }) | |
| 262 | + this.$emit('removeonaction', '1') | |
| 263 | + } else { | |
| 264 | + this.$message({ | |
| 265 | + message: res.msg, | |
| 266 | + type: 'error' | |
| 267 | + }) | |
| 268 | + } | |
| 269 | + }) | |
| 270 | + } else { | |
| 271 | + this.$message({ | |
| 272 | + message: '请填写完整信息', | |
| 273 | + type: 'error' | |
| 274 | + }) | |
| 275 | + return false; | |
| 276 | + } | |
| 277 | + | |
| 278 | + | |
| 279 | + }) | |
| 280 | + } else { | |
| 281 | + this.$refs.ruleForm.validate((valid) => { | |
| 282 | + console.log(valid) | |
| 283 | + if (valid) { | |
| 284 | + if (this.fileData.length != 0) { | |
| 285 | + this.ruleForm.otherImageVideos = this.fileData[0].url | |
| 286 | + } | |
| 287 | + this.ruleForm.createDate = this.updateCurrentTime() | |
| 288 | + this.ruleForm.mapMarker = JSON.stringify(this.mapData) | |
| 289 | + this.ruleForm.rentalStatus = 0 | |
| 290 | + this.ruleForm.publishStatus = 0 | |
| 291 | + changadd(this.ruleForm).then(res => { | |
| 292 | + if (res.code == 200) { | |
| 293 | + this.$message({ | |
| 294 | + message: '添加成功', | |
| 295 | + type: 'success' | |
| 296 | + }) | |
| 297 | + this.$emit('removeonaction', '1') | |
| 298 | + } else { | |
| 299 | + this.$message({ | |
| 300 | + message: res.msg, | |
| 301 | + type: 'error' | |
| 302 | + }) | |
| 303 | + } | |
| 304 | + }) | |
| 305 | + } else { | |
| 306 | + this.$message({ | |
| 307 | + message: '请填写完整信息', | |
| 308 | + type: 'error' | |
| 309 | + }) | |
| 310 | + return false; | |
| 311 | + } | |
| 312 | + }) | |
| 313 | + | |
| 314 | + } | |
| 315 | + }, | |
| 316 | + close() { | |
| 317 | + this.$emit('removeonaction', '1') | |
| 318 | + }, | |
| 319 | + hefuRemove() { | |
| 320 | + this.hefuData = [] | |
| 321 | + }, | |
| 322 | + hefuSuccess(response, file, fileList) { | |
| 323 | + this.fileData = [] | |
| 324 | + console.error(response) | |
| 325 | + let fd = new FormData() | |
| 326 | + fd.append('file', response.raw) | |
| 327 | + fd.append('filePath', 'hetong') | |
| 328 | + miniioupload(fd).then(res => { | |
| 329 | + console.error(res) | |
| 330 | + const fileMsg = { | |
| 331 | + name: response.name, | |
| 332 | + url: res.data, | |
| 333 | + } | |
| 334 | + this.fileData.push(fileMsg) | |
| 335 | + }) | |
| 336 | + }, | |
| 337 | + | |
| 338 | + | |
| 339 | + }, | |
| 340 | + }; | |
| 341 | +</script> | |
| 342 | +<style lang="scss"> | |
| 343 | + .el-upload { | |
| 344 | + display: block; | |
| 345 | + /* text-align: left; */ | |
| 346 | + } | |
| 347 | + | |
| 348 | + .video-uploader { | |
| 349 | + .el-upload { | |
| 350 | + text-align: left; | |
| 351 | + } | |
| 352 | + } | |
| 353 | + | |
| 354 | + .el-dialog__header { | |
| 355 | + background-color: #F2F3F5; | |
| 356 | + text-align: left; | |
| 357 | + } | |
| 358 | + | |
| 359 | + .el-dialog__title { | |
| 360 | + line-height: 30px; | |
| 361 | + font-size: 15px; | |
| 362 | + color: #303133; | |
| 363 | + } | |
| 364 | +</style> | ... | ... |
admin-web-master/src/components/add/addcd.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <el-form :model="ruleForm" :rules="rulesSt" ref="ruleForm" label-width="130px" | |
| 4 | - class="demo-ruleForm"> | |
| 3 | + <el-form :model="ruleForm" :rules="rulesSt" ref="ruleForm" label-width="130px" class="demo-ruleForm"> | |
| 5 | 4 | <el-row :gutter="20"> |
| 6 | - <el-col :span="12"> | |
| 7 | - <el-form-item label="场地名称" prop="venueName"> | |
| 8 | - <el-input v-model="ruleForm.venueName" placeholder="请输入" style="margin-top:5px;" maxlength="50"></el-input> | |
| 9 | - </el-form-item> | |
| 10 | - </el-col> | |
| 11 | - <el-col :span="12"> | |
| 12 | - <el-form-item label="场地类型" prop="venueType"> | |
| 13 | - <el-select v-model="ruleForm.venueType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 14 | - <el-option label="草地" value="草地"></el-option> | |
| 15 | - </el-select> | |
| 16 | - </el-form-item> | |
| 17 | - </el-col> | |
| 18 | - | |
| 19 | - </el-row> | |
| 20 | - <el-row :gutter="20"> | |
| 21 | - <el-col :span="12"> | |
| 22 | - <el-form-item label="实际使用面积" prop="actualArea"> | |
| 23 | - <el-input v-model="ruleForm.actualArea" placeholder="请输入" style="margin-top:5px;"> | |
| 24 | - <template slot="append">M<sup>2</sup></template> | |
| 25 | - </el-input> | |
| 26 | - </el-form-item> | |
| 27 | - </el-col> | |
| 28 | - <el-col :span="12"> | |
| 29 | - <el-form-item label="所属区域" prop="district"> | |
| 30 | - <el-select v-model="ruleForm.district" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 31 | - <el-option label="成华区" value="成华区"></el-option> | |
| 32 | - <el-option label="武侯区" value="武侯区"></el-option> | |
| 33 | - <el-option label="锦江区" value="锦江区"></el-option> | |
| 34 | - <el-option label="青羊区" value="青羊区"></el-option> | |
| 35 | - <el-option label="金牛区" value="金牛区"></el-option> | |
| 36 | - <el-option label="双流区" value="双流区"></el-option> | |
| 37 | - <el-option label="郫都区" value="郫都区"></el-option> | |
| 38 | - <el-option label="龙泉驿区" value="龙泉驿区"></el-option> | |
| 39 | - <el-option label="温江区" value="温江区"></el-option> | |
| 40 | - </el-select> | |
| 41 | - </el-form-item> | |
| 42 | - </el-col> | |
| 43 | - </el-row> | |
| 44 | - <el-row :gutter="20"> | |
| 45 | - <el-col :span="12"> | |
| 46 | - <el-form-item label="归属部门" prop="department"> | |
| 47 | - <el-input v-model="ruleForm.department" placeholder="请输入" style="margin-top:5px;" maxlength="50"> | |
| 48 | - </el-input> | |
| 49 | - </el-form-item> | |
| 50 | - </el-col> | |
| 51 | - <el-col :span="12"> | |
| 52 | - <el-form-item label="负责人" prop="responsiblePerson"> | |
| 53 | - <el-input v-model="ruleForm.responsiblePerson" placeholder="请输入" style="margin-top:5px;" maxlength="20"> | |
| 54 | - </el-input> | |
| 55 | - </el-form-item> | |
| 56 | - </el-col> | |
| 57 | - </el-row> | |
| 5 | + <el-col :span="12"> | |
| 6 | + <el-form-item label="场地名称" prop="venueName"> | |
| 7 | + <el-input v-model="ruleForm.venueName" placeholder="请输入" maxlength="50"></el-input> | |
| 8 | + </el-form-item> | |
| 9 | + </el-col> | |
| 10 | + <el-col :span="12"> | |
| 11 | + <el-form-item label="场地类型" prop="venueType"> | |
| 12 | + <el-select v-model="ruleForm.venueType" placeholder="请选择" style="width: 100%;"> | |
| 13 | + <el-option label="草地" value="草地"></el-option> | |
| 14 | + </el-select> | |
| 15 | + </el-form-item> | |
| 16 | + </el-col> | |
| 17 | + </el-row> | |
| 18 | + <el-row :gutter="20"> | |
| 19 | + <el-col :span="12"> | |
| 20 | + <el-form-item label="实际使用面积" prop="actualArea"> | |
| 21 | + <el-input v-model="ruleForm.actualArea" placeholder="请输入" > | |
| 22 | + <template slot="append">M<sup>2</sup></template> | |
| 23 | + </el-input> | |
| 24 | + </el-form-item> | |
| 25 | + </el-col> | |
| 26 | + <el-col :span="12"> | |
| 27 | + <el-form-item label="所属区域" prop="district"> | |
| 28 | + <el-select v-model="ruleForm.district" placeholder="请选择" style="width: 100%;"> | |
| 29 | + <el-option v-for="(item,index) in regionOptions" | |
| 30 | + :key="index" :label="item.label" :value="item.value"></el-option> | |
| 31 | + </el-select> | |
| 32 | + </el-form-item> | |
| 33 | + </el-col> | |
| 34 | + </el-row> | |
| 58 | 35 | |
| 59 | - <el-row :gutter="20"> | |
| 60 | - <el-col :span="12"> | |
| 61 | - <el-form-item label="详细位置" prop="detailedLocation"> | |
| 62 | - <el-input v-model="ruleForm.detailedLocation" placeholder="请输入" style="margin-top:5px;" maxlength="100"> | |
| 63 | - </el-input> | |
| 64 | - </el-form-item> | |
| 65 | - </el-col> | |
| 66 | - </el-row> | |
| 67 | - <el-row :gutter="20"> | |
| 68 | - <el-col :span="24"> | |
| 69 | - <el-form-item label="地图标点" prop="mapMarker"> | |
| 70 | - <div style="width: 100%;height: 300px;border: 1px solid #3F9B6A;" > | |
| 71 | - <MapMark :sendChildDate="getChildDate" ref="mapComponent"></MapMark> | |
| 72 | - </div> | |
| 73 | - </el-form-item> | |
| 74 | - </el-col> | |
| 75 | - </el-row> | |
| 76 | - <el-form-item label="规划图纸" prop="planningDrawing"> | |
| 77 | - <upimg filePath="cd" inputtype="planningDrawing" :value="ruleForm.planningDrawing" @changimg="e=>changimg(e,'planningDrawing')"></upimg> | |
| 78 | - <!-- <upimg filePath="cd" :value="ruleForm.planningDrawing" @changimg="e=>changimg(e,'planningDrawing')" :limit="5" :fileSize="1"></upimg> --> | |
| 79 | - </el-form-item> | |
| 80 | - <el-form-item label="场地描述" prop="description"> | |
| 81 | - <el-input type="textarea" v-model="ruleForm.description" style="margin-top:5px;" | |
| 82 | - placeholder="请输入" maxlength="200"></el-input> | |
| 83 | - </el-form-item> | |
| 84 | - <el-form-item label="展示主图" prop="displayImage"> | |
| 85 | - <upimg filePath="cd" inputtype="displayImage" :value="ruleForm.displayImage" @changimg="e=>changimg(e,'displayImage')"></upimg> | |
| 86 | - <!-- <upimg filePath="cd" :value="ruleForm.displayImage" @changimg="e=>changimg(e,'displayImage')" :limit="1" :fileSize="1"></upimg> --> | |
| 87 | - </el-form-item> | |
| 88 | - <el-form-item label="其他视频" prop="otherImageVideos"> | |
| 89 | - <upfile filePath="cd" :value="ruleForm.otherImageVideos" :fileType="'.mp4'" @changimg="e=>changimg(e,'otherImageVideos')"></upfile> | |
| 90 | - </el-form-item> | |
| 36 | + <el-row :gutter="20"> | |
| 37 | + <el-col :span="12"> | |
| 38 | + <el-form-item label="归属部门" prop="department"> | |
| 39 | + <el-input v-model="ruleForm.department" placeholder="请输入" maxlength="50"> | |
| 40 | + </el-input> | |
| 41 | + </el-form-item> | |
| 42 | + </el-col> | |
| 43 | + <el-col :span="12"> | |
| 44 | + <el-form-item label="负责人" prop="responsiblePerson"> | |
| 45 | + <el-input v-model="ruleForm.responsiblePerson" placeholder="请输入" maxlength="20"> | |
| 46 | + </el-input> | |
| 47 | + </el-form-item> | |
| 48 | + </el-col> | |
| 49 | + </el-row> | |
| 50 | + <el-row :gutter="20"> | |
| 51 | + <el-col :span="12"> | |
| 52 | + <el-form-item label="联系人" prop="contact"> | |
| 53 | + <el-input v-model="ruleForm.contact" placeholder="请输入" maxlength="20"> | |
| 54 | + </el-input> | |
| 55 | + </el-form-item> | |
| 56 | + </el-col> | |
| 57 | + <el-col :span="12"> | |
| 58 | + <el-form-item label="联系电话" prop="phoneNumber"> | |
| 59 | + <el-input v-model="ruleForm.phoneNumber" placeholder="请输入" maxlength="20"> | |
| 60 | + </el-input> | |
| 61 | + </el-form-item> | |
| 62 | + </el-col> | |
| 63 | + </el-row> | |
| 64 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 65 | + <el-input v-model="ruleForm.detailedLocation" placeholder="请输入" maxlength="100"> | |
| 66 | + </el-input> | |
| 67 | + </el-form-item> | |
| 68 | + <el-form-item label="地图标点" prop="mapMarker"> | |
| 69 | + <div style="width: 100%;height: 300px;"> | |
| 70 | + <newmap :isonloed="info.id?true:false" :lat="lat" :lng="lng" @updatecenter="updatecenter"></newmap> | |
| 71 | + </div> | |
| 72 | + </el-form-item> | |
| 73 | + <el-form-item label="场地描述" prop="description"> | |
| 74 | + <el-input maxlength="200" show-word-limit rows="4" v-model="ruleForm.description" placeholder="请输入" | |
| 75 | + type="textarea" /> | |
| 76 | + </el-form-item> | |
| 77 | + <el-form-item label="规划图纸" prop="planningDrawing"> | |
| 78 | + <upimg filePath="cd" inputtype="planningDrawing" :value="ruleForm.planningDrawing" :cmpOption="{disabled:false,isSetCover:false}" | |
| 79 | + @changimg="e=>changimg(e,'planningDrawing')"></upimg> | |
| 80 | + </el-form-item> | |
| 81 | + <el-form-item label="展示主图" prop="displayImage"> | |
| 82 | + <upimg filePath="cd" inputtype="displayImage" :value="ruleForm.displayImage" | |
| 83 | + @changimg="e=>changimg(e,'displayImage')"></upimg> | |
| 84 | + </el-form-item> | |
| 85 | + <el-form-item label="其他视频" prop="otherImageVideos"> | |
| 86 | + <upfile filePath="cd" inputtype="otherImageVideos" :value="ruleForm.otherImageVideos" @changimg="e=>changimg(e,'otherImageVideos')"></upfile> | |
| 87 | + </el-form-item> | |
| 91 | 88 | <el-row :gutter="20"> |
| 92 | 89 | <el-col :span="12"> |
| 93 | 90 | <el-form-item> |
| ... | ... | @@ -106,7 +103,7 @@ |
| 106 | 103 | <script> |
| 107 | 104 | import MapMark from "@/components/MapContainer/MapMark"; |
| 108 | 105 | import upimg from "@/components/ImageUpload/index" |
| 109 | - import upfile from "@/components/fujianUpload/fujianList" | |
| 106 | + import upfile from "@/components/fujianUpload/fujianList" | |
| 110 | 107 | import { |
| 111 | 108 | uploadUrl |
| 112 | 109 | } from '@/utils/request' |
| ... | ... | @@ -123,68 +120,88 @@ |
| 123 | 120 | changadd, |
| 124 | 121 | changedit |
| 125 | 122 | } from '../../api/information' |
| 123 | + import newmap from "@/components/newmap/index"; | |
| 126 | 124 | export default { |
| 127 | 125 | components: { |
| 128 | 126 | upimg, |
| 129 | 127 | MapMark, |
| 130 | - upfile | |
| 128 | + upfile, | |
| 129 | + newmap | |
| 131 | 130 | }, |
| 132 | 131 | data() { |
| 133 | 132 | return { |
| 134 | - ontype:'线上广告位', | |
| 135 | - typelist:[ | |
| 136 | - { | |
| 137 | - name:'线上广告位', | |
| 138 | - vaule:'线上广告位' | |
| 133 | + lat: 30.67, | |
| 134 | + lng: 104.06, | |
| 135 | + ontype: '线上广告位', | |
| 136 | + typelist: [{ | |
| 137 | + name: '线上广告位', | |
| 138 | + vaule: '线上广告位' | |
| 139 | 139 | }, |
| 140 | 140 | { |
| 141 | - name:'实体广告位', | |
| 142 | - vaule:'实体广告位' | |
| 141 | + name: '实体广告位', | |
| 142 | + vaule: '实体广告位' | |
| 143 | 143 | }, |
| 144 | 144 | ], |
| 145 | 145 | //地图标点的经纬度 |
| 146 | 146 | mapData: {}, |
| 147 | 147 | uploadFileUrl: uploadUrl, // 请求地址 |
| 148 | 148 | ruleForm: { |
| 149 | - venueName: '', | |
| 150 | - venueType: '', | |
| 151 | - actualArea: '', | |
| 152 | - district: '', | |
| 153 | - department: '', | |
| 154 | - responsiblePerson: '', | |
| 155 | - detailedLocation: '',//详细位置 | |
| 156 | - mapMarker: '',//地图标点 | |
| 157 | - description: '',//场地描述 | |
| 158 | - planningDrawing: '',//规划图纸 | |
| 159 | - displayImage: '',//展示主图 | |
| 160 | - otherMedia: '', //其他图片视频 | |
| 149 | + venueName: '', // 场地名称 | |
| 150 | + venueType: '', // 场地类型 | |
| 151 | + actualArea: '', // 实际使用面积(单位:平方米) | |
| 152 | + district: '', // 所属区域 | |
| 153 | + department: '', // 归属部门 | |
| 154 | + responsiblePerson: '', // 负责人 | |
| 155 | + detailedLocation: '', // 详细位置 | |
| 156 | + mapMarker: '', // 地图标点(如经纬度) | |
| 157 | + description: '', // 场地描述 | |
| 158 | + planningDrawing: '', // 规划图纸(二进制大对象) | |
| 159 | + displayImage: '', // 展示主图(二进制大对象) | |
| 160 | + otherMedia: '', // 其他图片/视频(可存储URL或路径) | |
| 161 | + rentalStatus: '', // 租赁状态(0.待租 1.已租) | |
| 162 | + publishStatus: '', // 发布状态 | |
| 163 | + contractNumber: '', // 合同编号 | |
| 164 | + contact: '', // 联系人 | |
| 165 | + phoneNumber: '', // 联系电话 | |
| 166 | + createDate: '', // 创建时间 | |
| 167 | + createUser: '', // 创建人 | |
| 161 | 168 | }, |
| 162 | 169 | rulesSt: { |
| 163 | 170 | venueName: [{ |
| 164 | 171 | required: true, |
| 165 | 172 | message: '请输入场地名称', |
| 166 | - trigger: 'blur' | |
| 173 | + trigger: 'blur' | |
| 167 | 174 | }, ], |
| 168 | 175 | venueType: [{ |
| 169 | 176 | required: true, |
| 170 | 177 | message: '请选择场地类型', |
| 171 | - trigger: 'change' | |
| 178 | + trigger: 'change' | |
| 172 | 179 | }, ], |
| 173 | 180 | actualArea: [{ |
| 174 | 181 | required: true, |
| 175 | 182 | message: '请输入实际使用面积', |
| 176 | - trigger: 'blur' | |
| 183 | + trigger: 'blur' | |
| 177 | 184 | }, ], |
| 178 | 185 | district: [{ |
| 179 | 186 | required: true, |
| 180 | 187 | message: '请选择所属区域', |
| 181 | - trigger: 'change' | |
| 188 | + trigger: 'change' | |
| 182 | 189 | }], |
| 183 | 190 | detailedLocation: [{ |
| 184 | 191 | required: true, |
| 185 | 192 | message: '请输入详细位置', |
| 186 | - trigger: 'blur' | |
| 187 | - }, ] | |
| 193 | + trigger: 'blur' | |
| 194 | + }, ], | |
| 195 | + mapMarker: [{ | |
| 196 | + required: true, | |
| 197 | + message: '请选择地图标点', | |
| 198 | + trigger: 'blur' | |
| 199 | + }, ], | |
| 200 | + displayImage: [{ | |
| 201 | + required: true, | |
| 202 | + message: '请上传宣传图', | |
| 203 | + trigger: 'change' | |
| 204 | + }] | |
| 188 | 205 | }, |
| 189 | 206 | uploadFiles: [], |
| 190 | 207 | filesLength: 1, |
| ... | ... | @@ -194,6 +211,11 @@ |
| 194 | 211 | edit: true |
| 195 | 212 | }; |
| 196 | 213 | }, |
| 214 | + computed: { | |
| 215 | + regionOptions() { | |
| 216 | + return this.$store.state.app.regionOptions; | |
| 217 | + } | |
| 218 | + }, | |
| 197 | 219 | props: { |
| 198 | 220 | info: { |
| 199 | 221 | type: Object, |
| ... | ... | @@ -204,16 +226,26 @@ |
| 204 | 226 | async created() { |
| 205 | 227 | if (this.info && this.info.id) { |
| 206 | 228 | this.ruleForm = this.info |
| 207 | - | |
| 229 | + if (this.ruleForm.mapMarker) { | |
| 230 | + this.lat = this.ruleForm.mapMarker.split(',')[0] | |
| 231 | + this.lng = this.ruleForm.mapMarker.split(',')[1] | |
| 232 | + } | |
| 208 | 233 | } else { |
| 209 | 234 | |
| 210 | 235 | } |
| 211 | 236 | }, |
| 212 | 237 | methods: { |
| 213 | - changimg(e,type) { | |
| 238 | + | |
| 239 | + updatecenter(e) { | |
| 240 | + console.error('-----------', e) | |
| 241 | + this.ruleForm.detailedLocation = e.address | |
| 242 | + this.lat = e.lat | |
| 243 | + this.lng = e.lng | |
| 244 | + }, | |
| 245 | + changimg(e, type) { | |
| 214 | 246 | this.ruleForm[type] = e |
| 215 | 247 | }, |
| 216 | - changeadvertisingType(e){ | |
| 248 | + changeadvertisingType(e) { | |
| 217 | 249 | console.error(e) |
| 218 | 250 | this.ontype = e |
| 219 | 251 | }, |
| ... | ... | @@ -243,16 +275,15 @@ |
| 243 | 275 | this.gongyuanList = gongyaun.data.filter(item => item.superior == value); |
| 244 | 276 | }, |
| 245 | 277 | add() { |
| 246 | - | |
| 278 | + if(this.lat) { | |
| 279 | + this.ruleForm.mapMarker = this.lat + ',' + this.lng | |
| 280 | + } | |
| 247 | 281 | if (this.ruleForm.id) { |
| 248 | 282 | this.$refs.ruleForm.validate((valid) => { |
| 249 | 283 | console.log(valid) |
| 250 | 284 | if (valid) { |
| 285 | + this.ruleForm.updateUser = localStorage.getItem('roleName') | |
| 251 | 286 | this.ruleForm.updateDate = this.updateCurrentTime() |
| 252 | - if (this.fileData.length != 0) { | |
| 253 | - this.ruleForm.otherImageVideos = this.fileData[0].url | |
| 254 | - } | |
| 255 | - this.ruleForm.mapMarker = JSON.stringify(this.mapData) | |
| 256 | 287 | changedit(this.ruleForm).then(res => { |
| 257 | 288 | if (res.code == 200) { |
| 258 | 289 | this.$message({ |
| ... | ... | @@ -274,18 +305,13 @@ |
| 274 | 305 | }) |
| 275 | 306 | return false; |
| 276 | 307 | } |
| 277 | - | |
| 278 | - | |
| 279 | 308 | }) |
| 280 | 309 | } else { |
| 281 | 310 | this.$refs.ruleForm.validate((valid) => { |
| 282 | 311 | console.log(valid) |
| 283 | 312 | if (valid) { |
| 284 | - if (this.fileData.length != 0) { | |
| 285 | - this.ruleForm.otherImageVideos = this.fileData[0].url | |
| 286 | - } | |
| 287 | 313 | this.ruleForm.createDate = this.updateCurrentTime() |
| 288 | - this.ruleForm.mapMarker = JSON.stringify(this.mapData) | |
| 314 | + this.ruleForm.createUser = localStorage.getItem('roleName') | |
| 289 | 315 | this.ruleForm.rentalStatus = 0 |
| 290 | 316 | this.ruleForm.publishStatus = 0 |
| 291 | 317 | changadd(this.ruleForm).then(res => { | ... | ... |
admin-web-master/src/components/add/addinformation.vue
| ... | ... | @@ -105,7 +105,7 @@ |
| 105 | 105 | @changimg="e=>changimg(e,'displayMainImage')"></upimg> |
| 106 | 106 | </el-form-item> |
| 107 | 107 | <el-form-item label="其他视频" prop="otherImageVideos"> |
| 108 | - <upfile filePath="sp" :value="ruleForm.otherImageVideos" :fileType="'.mp4'" @changimg="e=>changimg(e,'otherImageVideos')"></upfile> | |
| 108 | + <upfile filePath="sp" inputtype="otherImageVideos" :value="ruleForm.otherImageVideos" @changimg="e=>changimg(e,'otherImageVideos')"></upfile> | |
| 109 | 109 | </el-form-item> |
| 110 | 110 | <el-row :gutter="20"> |
| 111 | 111 | <el-col :span="12"> |
| ... | ... | @@ -176,8 +176,8 @@ |
| 176 | 176 | leaseExpirationDate: '', // 租赁到期时间 |
| 177 | 177 | createDate: '', // 创建时间 |
| 178 | 178 | createUser: '', // 创建人 |
| 179 | - updateDate: '', // 修改时间 | |
| 180 | - updateUser: '', // 修改人 | |
| 179 | + // updateDate: '', // 修改时间 | |
| 180 | + // updateUser: '', // 修改人 | |
| 181 | 181 | businessNature: '', // 经营性质 |
| 182 | 182 | telephone: '', // 联系电话 |
| 183 | 183 | identityCard: '', // 身份证号码 |
| ... | ... | @@ -242,8 +242,8 @@ |
| 242 | 242 | if (this.info.id) { |
| 243 | 243 | this.ruleForm = this.info |
| 244 | 244 | if (this.ruleForm.mapPunctuation) { |
| 245 | - this.lat = this.ruleForm.mapPunctuation.split(',')[0] | |
| 246 | - this.lng = this.ruleForm.mapPunctuation.split(',')[1] | |
| 245 | + this.lat = Number(this.ruleForm.mapPunctuation.split(',')[0]) | |
| 246 | + this.lng = Number(this.ruleForm.mapPunctuation.split(',')[1]) | |
| 247 | 247 | } |
| 248 | 248 | } |
| 249 | 249 | const lvdao = await lvdaoduan() |
| ... | ... | @@ -260,9 +260,12 @@ |
| 260 | 260 | updatecenter(e) { |
| 261 | 261 | console.error('-----------', e) |
| 262 | 262 | this.ruleForm.detailedLocation = e.address |
| 263 | + this.lat = e.lat | |
| 264 | + this.lng = e.lng | |
| 263 | 265 | }, |
| 264 | 266 | changimg(e, type) { |
| 265 | 267 | this.ruleForm[type] = e |
| 268 | + console.error(this.ruleForm[type]) | |
| 266 | 269 | }, |
| 267 | 270 | //获取当前时间 |
| 268 | 271 | updateCurrentTime() { | ... | ... |
admin-web-master/src/components/add/addmap copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <el-form :model="formInline" :rules="leixing?rules:rulesSt" ref="formInline" label-width="100px" | |
| 4 | + class="demo-ruleForm"> | |
| 5 | + <el-row :gutter="20"> | |
| 6 | + <el-col :span="12"> | |
| 7 | + <el-form-item label="广告位名称" prop="advertisingName"> | |
| 8 | + <el-input v-model="formInline.advertisingName" placeholder="请输入" style="margin-top:5px;" | |
| 9 | + maxlength="50"></el-input> | |
| 10 | + </el-form-item> | |
| 11 | + </el-col> | |
| 12 | + <el-col :span="12"> | |
| 13 | + <el-form-item label="广告位编号" prop="advertisingSpaceNumber"> | |
| 14 | + <el-input v-model="formInline.advertisingSpaceNumber" disabled placeholder="将根据类型自动为资源编号" | |
| 15 | + style="margin-top:5px;"></el-input> | |
| 16 | + </el-form-item> | |
| 17 | + </el-col> | |
| 18 | + | |
| 19 | + </el-row> | |
| 20 | + <el-row :gutter="20"> | |
| 21 | + <el-col :span="12"> | |
| 22 | + <el-form-item label="广告位类型" prop="advertisingType"> | |
| 23 | + <el-select @change="changeadvertisingType" v-model="formInline.advertisingType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 24 | + <el-option v-for="(item, index) in typelist" :key="index" :label="item.name" :value="item.vaule"></el-option> | |
| 25 | + <!-- <el-option label="实体广告位" value="实体广告位" v-else></el-option> --> | |
| 26 | + </el-select> | |
| 27 | + </el-form-item> | |
| 28 | + </el-col> | |
| 29 | + <el-col :span="12"> | |
| 30 | + <el-form-item label="所属端" prop="affiliation" v-if="ontype =='线上广告位'"> | |
| 31 | + <el-select v-model="formInline.affiliation" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 32 | + <el-option label="游客小程序" value="游客小程序"></el-option> | |
| 33 | + <el-option label="商家客户端" value="商家客户端"></el-option> | |
| 34 | + </el-select> | |
| 35 | + </el-form-item> | |
| 36 | + <el-form-item label="详细位置" prop="detailedLocation" v-if="ontype =='实体广告位'"> | |
| 37 | + <el-input v-model="formInline.detailedLocation" placeholder="请输入" style="margin-top:5px;" | |
| 38 | + maxlength="200"></el-input> | |
| 39 | + <!-- </el-select> --> | |
| 40 | + </el-form-item> | |
| 41 | + </el-col> | |
| 42 | + | |
| 43 | + </el-row> | |
| 44 | + <el-row :gutter="20"> | |
| 45 | + <el-col :span="24"> | |
| 46 | + <el-form-item label="地图标点" prop="mapPunctuation" v-if="ontype =='实体广告位'"> | |
| 47 | + <div style="width: 100%;height: 300px;"> | |
| 48 | + <map-mark :sendChildDate="getChildDate"></map-mark> | |
| 49 | + </div> | |
| 50 | + </el-form-item> | |
| 51 | + </el-col> | |
| 52 | + </el-row> | |
| 53 | + <el-row :gutter="20"> | |
| 54 | + <el-col :span="12"> | |
| 55 | + <el-form-item label="轮播顺序" prop="rotationOrder" v-if="ontype =='线上广告位'"> | |
| 56 | + <el-select v-model="formInline.rotationOrder" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 57 | + <el-option label="1" value="1"></el-option> | |
| 58 | + <el-option label="2" value="2"></el-option> | |
| 59 | + </el-select> | |
| 60 | + </el-form-item> | |
| 61 | + </el-col> | |
| 62 | + <el-col :span="12"> | |
| 63 | + <el-form-item label="广告尺寸" prop="dimensions" v-if="ontype =='线上广告位'"> | |
| 64 | + <el-input v-model="formInline.dimensions" disabled placeholder="宽:300px 长:400px" | |
| 65 | + style="margin-top:5px;"></el-input> | |
| 66 | + | |
| 67 | + </el-form-item> | |
| 68 | + </el-col> | |
| 69 | + | |
| 70 | + </el-row> | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + <el-row :gutter="20"> | |
| 75 | + <el-col :span="12"> | |
| 76 | + <el-form-item label="可上传大小" prop="size" v-if="ontype =='线上广告位'"> | |
| 77 | + <el-input v-model="formInline.size" disabled placeholder="100kb" style="margin-top:5px;"></el-input> | |
| 78 | + </el-form-item> | |
| 79 | + </el-col> | |
| 80 | + <el-col :span="12"> | |
| 81 | + <el-form-item label="上传格式" prop="uploadFormat" v-if="ontype =='线上广告位'"> | |
| 82 | + <el-input v-model="formInline.uploadFormat" disabled placeholder="JPG、PNG、MP4" | |
| 83 | + style="margin-top:5px;"></el-input> | |
| 84 | + </el-form-item> | |
| 85 | + </el-col> | |
| 86 | + | |
| 87 | + </el-row> | |
| 88 | + <el-row :gutter="20"> | |
| 89 | + <el-col :span="12"> | |
| 90 | + <el-form-item label="可上传大小" prop="size" v-if="ontype =='实体广告位'"> | |
| 91 | + <el-input v-model="formInline.size" disabled placeholder="100kb" style="margin-top:5px;"></el-input> | |
| 92 | + </el-form-item> | |
| 93 | + <el-form-item label="设备类型" prop="deviceType" v-if="ontype =='实体广告位'"> | |
| 94 | + <div style="display: flex;justify-content: space-between;"> | |
| 95 | + <el-select v-model="formInline.deviceType" placeholder="请选择" style="margin-top:5px;width: 92%;"> | |
| 96 | + <el-option label="灯箱广告牌" value="灯箱广告牌"></el-option> | |
| 97 | + | |
| 98 | + </el-select> | |
| 99 | + </div> | |
| 100 | + </el-form-item> | |
| 101 | + </el-col> | |
| 102 | + <el-col :span="12"> | |
| 103 | + <el-form-item label="设备大小" prop="equipmentSize" v-if="ontype =='实体广告位'"> | |
| 104 | + <div style="display: flex;"> | |
| 105 | + <div> | |
| 106 | + <span style="font-size: 14px;">长:</span> | |
| 107 | + <el-select v-model="formInline.equipmentSizeH" placeholder="请选择" | |
| 108 | + style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 109 | + <el-option label="10" value="10"></el-option> | |
| 110 | + <el-option label="20" value="20"></el-option> | |
| 111 | + </el-select> | |
| 112 | + <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 113 | + </div> | |
| 114 | + <div> | |
| 115 | + <span style="font-size: 14px;">宽:</span> | |
| 116 | + <el-select v-model="formInline.equipmentSizeK" placeholder="请选择" | |
| 117 | + style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 118 | + <el-option label="10" value="10"></el-option> | |
| 119 | + <el-option label="20" value="20"></el-option> | |
| 120 | + </el-select> | |
| 121 | + <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 122 | + </div> | |
| 123 | + <div> | |
| 124 | + <span style="font-size: 14px;">高:</span> | |
| 125 | + <el-select v-model="formInline.equipmentSizeG" placeholder="请选择" | |
| 126 | + style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 127 | + <el-option label="10" value="10"></el-option> | |
| 128 | + <el-option label="20" value="20"></el-option> | |
| 129 | + </el-select> | |
| 130 | + <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 131 | + </div> | |
| 132 | + </div> | |
| 133 | + </el-form-item> | |
| 134 | + </el-col> | |
| 135 | + | |
| 136 | + </el-row> | |
| 137 | + | |
| 138 | + <el-row :gutter="20"> | |
| 139 | + <el-col :span="12"> | |
| 140 | + <el-form-item label="广告尺寸" v-if="ontype =='实体广告位'"> | |
| 141 | + <div style="display: flex;"> | |
| 142 | + <div> | |
| 143 | + <span style="font-size: 14px;">长:</span> | |
| 144 | + <el-select v-model="formInline.dimensionsH" placeholder="请选择" | |
| 145 | + style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 146 | + <el-option label="10" value="10"></el-option> | |
| 147 | + <el-option label="20" value="20"></el-option> | |
| 148 | + </el-select> | |
| 149 | + <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 150 | + </div> | |
| 151 | + <div> | |
| 152 | + <span style="font-size: 14px;">宽:</span> | |
| 153 | + <el-select v-model="formInline.dimensionsK" placeholder="请选择" | |
| 154 | + style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 155 | + <el-option label="10" value="10"></el-option> | |
| 156 | + <el-option label="20" value="20"></el-option> | |
| 157 | + </el-select> | |
| 158 | + <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 159 | + </div> | |
| 160 | + </div> | |
| 161 | + </el-form-item> | |
| 162 | + | |
| 163 | + </el-col> | |
| 164 | + <el-col :span="12"> | |
| 165 | + <el-form-item label="广告材质" prop="advertisingMaterial" v-if="ontype =='实体广告位'"> | |
| 166 | + <div style="display: flex;justify-content: space-between;"> | |
| 167 | + <el-select v-model="formInline.advertisingMaterial" placeholder="请选择" style="margin-top:5px;width: 92%"> | |
| 168 | + <el-option label="亚克力" value="亚克力"></el-option> | |
| 169 | + <el-option label="玻璃" value="玻璃"></el-option> | |
| 170 | + </el-select> | |
| 171 | + </div> | |
| 172 | + </el-form-item> | |
| 173 | + </el-col> | |
| 174 | + </el-row> | |
| 175 | + <el-row :gutter="20"> | |
| 176 | + <el-col :span="12"> | |
| 177 | + <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 178 | + <!-- <upimg filePath="gg" :value="formInline.locationDiagram" @changimg="e=>changimg(e,'locationDiagram')" :limit="1" :fileSize="1"></upimg> --> | |
| 179 | + <upimg filePath="gg" inputtype="locationDiagram" :value="formInline.locationDiagram" @changimg="e=>changimg(e,'locationDiagram')"></upimg> | |
| 180 | + </el-form-item> | |
| 181 | + </el-col> | |
| 182 | + </el-row> | |
| 183 | + <el-row :gutter="20"> | |
| 184 | + <el-col :span="12"> | |
| 185 | + <el-form-item> | |
| 186 | + <div style="margin-top: 20px"> | |
| 187 | + <el-button @click="add()" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 188 | + <el-button @click="close()" class="buttonHover" | |
| 189 | + style="color: #606266;border: 1px solid #DBDBDB;background-color: #fff;">取消</el-button> | |
| 190 | + </div> | |
| 191 | + </el-form-item> | |
| 192 | + </el-col> | |
| 193 | + </el-row> | |
| 194 | + </el-form> | |
| 195 | + </div> | |
| 196 | +</template> | |
| 197 | + | |
| 198 | +<script> | |
| 199 | + import MapMark from "@/components/MapContainer/MapMark"; | |
| 200 | + import upimg from "@/components/ImageUpload/index" | |
| 201 | + import { | |
| 202 | + uploadUrl | |
| 203 | + } from '@/utils/request' | |
| 204 | + import { | |
| 205 | + miniioupload | |
| 206 | + } from '../../api/commodityLease.js' | |
| 207 | + import { | |
| 208 | + gongyuan, | |
| 209 | + lvdaoduan, | |
| 210 | + addList, | |
| 211 | + editList | |
| 212 | + } from '../../api/map1.js'; | |
| 213 | + | |
| 214 | + export default { | |
| 215 | + components: { | |
| 216 | + upimg, | |
| 217 | + MapMark | |
| 218 | + }, | |
| 219 | + data() { | |
| 220 | + return { | |
| 221 | + ontype:'线上广告位', | |
| 222 | + typelist:[ | |
| 223 | + { | |
| 224 | + name:'线上广告位', | |
| 225 | + vaule:'线上广告位' | |
| 226 | + }, | |
| 227 | + { | |
| 228 | + name:'实体广告位', | |
| 229 | + vaule:'实体广告位' | |
| 230 | + }, | |
| 231 | + ], | |
| 232 | + //地图标点的经纬度 | |
| 233 | + mapData: {}, | |
| 234 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 235 | + formInline: { | |
| 236 | + advertisingName: '', //广告位名称 | |
| 237 | + advertisingType: '', //广告位类型 | |
| 238 | + rotationOrder: '', // 轮播顺序 | |
| 239 | + createUser: '', // 创建人 | |
| 240 | + affiliation: '', //所属端 | |
| 241 | + detailedLocation: '', //详细位置 | |
| 242 | + dimensions: '', //广告尺寸 | |
| 243 | + size: '', //广告大小 | |
| 244 | + uploadFormat: '', //上传类型 | |
| 245 | + advertisingSpaceStrategy: '', //策略 | |
| 246 | + advertisingSpaceNumber: '', //广告位编号 | |
| 247 | + locationDiagram: '', //位置示意图 | |
| 248 | + mapPunctuation: '', //地图标点 | |
| 249 | + deviceType: '', //设备类型 | |
| 250 | + equipmentSize: '', //设备尺寸 | |
| 251 | + advertisingMaterial: '', //广告材质 | |
| 252 | + createDate: '', //创建时间 | |
| 253 | + equipmentSizeH: "", | |
| 254 | + equipmentSizeK: '', | |
| 255 | + equipmentSizeG: '', | |
| 256 | + dimensionsH: '', | |
| 257 | + dimensionsK: '', | |
| 258 | + rentalStatus: '0', | |
| 259 | + publishStatus: '0' | |
| 260 | + }, | |
| 261 | + rules: { | |
| 262 | + advertisingName: [{ | |
| 263 | + required: true, | |
| 264 | + message: '请输入名称', | |
| 265 | + trigger: ['blur', 'change'] | |
| 266 | + }], | |
| 267 | + advertisingType: [{ | |
| 268 | + required: true, | |
| 269 | + message: '请选择类型', | |
| 270 | + trigger: ['blur', 'change'] | |
| 271 | + }], | |
| 272 | + affiliation: [{ | |
| 273 | + required: true, | |
| 274 | + message: '请选择所属端', | |
| 275 | + trigger: ['blur', 'change'] | |
| 276 | + }], | |
| 277 | + rotationOrder: [{ | |
| 278 | + required: true, | |
| 279 | + message: '请选择轮播顺序', | |
| 280 | + trigger: ['blur', 'change'] | |
| 281 | + }], | |
| 282 | + | |
| 283 | + }, | |
| 284 | + rulesSt: { | |
| 285 | + advertisingName: [{ | |
| 286 | + required: true, | |
| 287 | + message: '请输入名称', | |
| 288 | + trigger: ['blur', 'change'] | |
| 289 | + }], | |
| 290 | + advertisingType: [{ | |
| 291 | + required: true, | |
| 292 | + message: '请选择类型', | |
| 293 | + trigger: ['blur', 'change'] | |
| 294 | + }], | |
| 295 | + position: [{ | |
| 296 | + required: true, | |
| 297 | + message: '请输入详细位置', | |
| 298 | + trigger: ['blur', 'change'] | |
| 299 | + }], | |
| 300 | + dimensionsH: [{ | |
| 301 | + required: true, | |
| 302 | + message: '请选择广告尺寸', | |
| 303 | + trigger: ['blur', 'change'] | |
| 304 | + }], | |
| 305 | + dimensionsK: [{ | |
| 306 | + required: true, | |
| 307 | + message: '请选择广告尺寸', | |
| 308 | + trigger: ['blur', 'change'] | |
| 309 | + }], | |
| 310 | + advertisingMaterial: [{ | |
| 311 | + required: true, | |
| 312 | + message: '请选择材质', | |
| 313 | + trigger: ['blur', 'change'] | |
| 314 | + }], | |
| 315 | + }, | |
| 316 | + uploadFiles: [], | |
| 317 | + filesLength: 1, | |
| 318 | + gongyuanList: [], | |
| 319 | + fileData: [], | |
| 320 | + parentMessage: {}, | |
| 321 | + edit: true | |
| 322 | + }; | |
| 323 | + }, | |
| 324 | + props: { | |
| 325 | + info: { | |
| 326 | + type: Object, | |
| 327 | + default: {} | |
| 328 | + }, | |
| 329 | + leixing: { | |
| 330 | + type: Boolean, | |
| 331 | + default: true | |
| 332 | + } | |
| 333 | + }, | |
| 334 | + async created() { | |
| 335 | + if (this.info && this.info.id) { | |
| 336 | + this.formInline = this.info | |
| 337 | + if (this.leixing == false) { | |
| 338 | + this.parentMessage = JSON.parse(this.info.mapPunctuation) | |
| 339 | + } | |
| 340 | + this.ontype = this.formInline.advertisingType | |
| 341 | + if(this.ontype == '线上广告位') { | |
| 342 | + this.typelist = [ | |
| 343 | + { | |
| 344 | + name:'线上广告位', | |
| 345 | + vaule:'线上广告位' | |
| 346 | + }] | |
| 347 | + } else { | |
| 348 | + this.typelist = [ | |
| 349 | + { | |
| 350 | + name:'实体广告位', | |
| 351 | + vaule:'实体广告位' | |
| 352 | + }] | |
| 353 | + } | |
| 354 | + } else { | |
| 355 | + if (this.leixing ) { | |
| 356 | + this.ontype = '线上广告位' | |
| 357 | + this.formInline.advertisingType = '线上广告位' | |
| 358 | + } else { | |
| 359 | + this.ontype = '实体广告位' | |
| 360 | + this.formInline.advertisingType = '实体广告位' | |
| 361 | + } | |
| 362 | + } | |
| 363 | + }, | |
| 364 | + methods: { | |
| 365 | + changimg(e,type) { | |
| 366 | + this.formInline[type] = e | |
| 367 | + }, | |
| 368 | + changeadvertisingType(e){ | |
| 369 | + console.error(e) | |
| 370 | + this.ontype = e | |
| 371 | + }, | |
| 372 | + //获取当前时间 | |
| 373 | + updateCurrentTime() { | |
| 374 | + const now = new Date(); | |
| 375 | + const year = now.getFullYear(); | |
| 376 | + const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 377 | + const day = now.getDate().toString().padStart(2, '0'); | |
| 378 | + const hours = now.getHours().toString().padStart(2, '0'); | |
| 379 | + const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 380 | + const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 381 | + | |
| 382 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 383 | + }, | |
| 384 | + //获取地图点击的经纬度 | |
| 385 | + getChildDate(mapData) { | |
| 386 | + this.mapData = mapData | |
| 387 | + | |
| 388 | + }, | |
| 389 | + lvdaoSel(vaule) { | |
| 390 | + this.formInline.belongingParkTrail = '' | |
| 391 | + this.gongyuan(vaule) | |
| 392 | + }, | |
| 393 | + async gongyuan(value) { | |
| 394 | + const gongyaun = await gongyuan() | |
| 395 | + this.gongyuanList = gongyaun.data.filter(item => item.superior == value); | |
| 396 | + }, | |
| 397 | + add() { | |
| 398 | + | |
| 399 | + if (this.formInline.id) { | |
| 400 | + this.$refs.formInline.validate((valid) => { | |
| 401 | + console.log(valid) | |
| 402 | + if (valid) { | |
| 403 | + this.formInline.updateDate = this.updateCurrentTime() | |
| 404 | + | |
| 405 | + if (this.leixing == false) { | |
| 406 | + if (Object.keys(this.mapData).length != 0) { | |
| 407 | + this.formInline.mapPunctuation = JSON.stringify(this.mapData) | |
| 408 | + } | |
| 409 | + | |
| 410 | + this.formInline.equipmentSize = | |
| 411 | + `长:${this.formInline.equipmentSizeH} 宽:${this.formInline.equipmentSizeK} 高:${this.formInline.equipmentSizeG}` | |
| 412 | + this.formInline.dimensions = `长:${this.formInline.dimensionsH} 宽:${this.formInline.dimensionsK}` | |
| 413 | + } | |
| 414 | + | |
| 415 | + editList(this.formInline).then(res => { | |
| 416 | + if (res.code == 200) { | |
| 417 | + this.$message({ | |
| 418 | + message: '修改成功', | |
| 419 | + type: 'success' | |
| 420 | + }) | |
| 421 | + this.$emit('removeonaction', '1') | |
| 422 | + } else { | |
| 423 | + this.$message({ | |
| 424 | + message: res.msg, | |
| 425 | + type: 'error' | |
| 426 | + }) | |
| 427 | + } | |
| 428 | + | |
| 429 | + }) | |
| 430 | + } else { | |
| 431 | + this.$message({ | |
| 432 | + message: '请填写完整信息', | |
| 433 | + type: 'error' | |
| 434 | + }) | |
| 435 | + return false; | |
| 436 | + } | |
| 437 | + | |
| 438 | + | |
| 439 | + }) | |
| 440 | + } else { | |
| 441 | + this.$refs.formInline.validate((valid) => { | |
| 442 | + console.log(valid) | |
| 443 | + if (valid) { | |
| 444 | + this.formInline.createDate = this.updateCurrentTime() | |
| 445 | + if (this.leixing) { | |
| 446 | + this.formInline.dimensions = '宽:300px 长:400px' | |
| 447 | + this.formInline.size = '100kb' | |
| 448 | + this.formInline.uploadFormat = 'JPG、PNG、MP4' | |
| 449 | + } else { | |
| 450 | + this.formInline.mapPunctuation = JSON.stringify(this.mapData) | |
| 451 | + this.formInline.equipmentSize = | |
| 452 | + `长:${this.formInline.equipmentSizeH} 宽:${this.formInline.equipmentSizeK} 高:${this.formInline.equipmentSizeG}` | |
| 453 | + this.formInline.dimensions = `长:${this.formInline.dimensionsH} 宽:${this.formInline.dimensionsK}` | |
| 454 | + } | |
| 455 | + addList(this.formInline).then(res => { | |
| 456 | + if (res.code == 200) { | |
| 457 | + this.$message({ | |
| 458 | + message: '添加成功', | |
| 459 | + type: 'success' | |
| 460 | + }) | |
| 461 | + this.$emit('removeonaction', '1') | |
| 462 | + } else { | |
| 463 | + this.$message({ | |
| 464 | + message: res.msg, | |
| 465 | + type: 'error' | |
| 466 | + }) | |
| 467 | + } | |
| 468 | + | |
| 469 | + }) | |
| 470 | + } else { | |
| 471 | + this.$message({ | |
| 472 | + message: '请填写完整信息', | |
| 473 | + type: 'error' | |
| 474 | + }) | |
| 475 | + return false; | |
| 476 | + } | |
| 477 | + }) | |
| 478 | + | |
| 479 | + } | |
| 480 | + }, | |
| 481 | + close() { | |
| 482 | + this.$emit('removeonaction', '1') | |
| 483 | + }, | |
| 484 | + hefuRemove() { | |
| 485 | + this.hefuData = [] | |
| 486 | + }, | |
| 487 | + hefuSuccess(response, file, fileList) { | |
| 488 | + this.fileData = [] | |
| 489 | + console.error(response) | |
| 490 | + let fd = new FormData() | |
| 491 | + fd.append('file', response.raw) | |
| 492 | + fd.append('filePath', 'hetong') | |
| 493 | + miniioupload(fd).then(res => { | |
| 494 | + console.error(res) | |
| 495 | + const fileMsg = { | |
| 496 | + name: response.name, | |
| 497 | + url: res.data, | |
| 498 | + } | |
| 499 | + this.fileData.push(fileMsg) | |
| 500 | + }) | |
| 501 | + }, | |
| 502 | + | |
| 503 | + | |
| 504 | + }, | |
| 505 | + }; | |
| 506 | +</script> | |
| 507 | +<style lang="scss"> | |
| 508 | + .el-upload { | |
| 509 | + display: block; | |
| 510 | + /* text-align: left; */ | |
| 511 | + } | |
| 512 | + | |
| 513 | + .video-uploader { | |
| 514 | + .el-upload { | |
| 515 | + text-align: left; | |
| 516 | + } | |
| 517 | + } | |
| 518 | + | |
| 519 | + .el-dialog__header { | |
| 520 | + background-color: #F2F3F5; | |
| 521 | + text-align: left; | |
| 522 | + } | |
| 523 | + | |
| 524 | + .el-dialog__title { | |
| 525 | + line-height: 30px; | |
| 526 | + font-size: 15px; | |
| 527 | + color: #303133; | |
| 528 | + } | |
| 529 | +</style> | ... | ... |
admin-web-master/src/components/add/addmap.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <el-form :model="formInline" :rules="leixing?rules:rulesSt" ref="formInline" label-width="100px" | |
| 3 | + <el-form v-if="ontype =='线上广告位'" :model="formInline" :rules="rules" ref="formInline" label-width="100px" | |
| 4 | 4 | class="demo-ruleForm"> |
| 5 | + <el-form-item label="广告位类型" prop="advertisingType"> | |
| 6 | + <el-select @change="changeadvertisingType" v-model="formInline.advertisingType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 7 | + <el-option v-for="(item, index) in typelist" :key="index" :label="item.name" :value="item.vaule"></el-option> | |
| 8 | + </el-select> | |
| 9 | + </el-form-item> | |
| 10 | + <el-form-item label="广告位名称" prop="advertisingName"> | |
| 11 | + <el-input v-model="formInline.advertisingName" placeholder="请输入" maxlength="30"></el-input> | |
| 12 | + </el-form-item> | |
| 13 | + <el-form-item label="所属端" prop="affiliation" > | |
| 14 | + <el-select v-model="formInline.affiliation" placeholder="请选择" style="width: 100%;"> | |
| 15 | + <el-option label="游客小程序" value="游客小程序"></el-option> | |
| 16 | + <el-option label="商家客户端" value="商家客户端"></el-option> | |
| 17 | + </el-select> | |
| 18 | + </el-form-item> | |
| 19 | + <el-form-item label="轮播顺序" prop="rotationOrder" > | |
| 20 | + <el-select v-model="formInline.rotationOrder" placeholder="请选择" style="width: 100%;"> | |
| 21 | + <el-option label="1" value="1"></el-option> | |
| 22 | + <el-option label="2" value="2"></el-option> | |
| 23 | + <el-option label="3" value="3"></el-option> | |
| 24 | + </el-select> | |
| 25 | + </el-form-item> | |
| 26 | + <el-form-item label="广告尺寸" prop="dimensions" > | |
| 27 | + <el-input v-model="formInline.dimensions" placeholder="宽:300px 长:400px" maxlength="20"></el-input> | |
| 28 | + </el-form-item> | |
| 29 | + <el-form-item label="可上传大小" prop="size" > | |
| 30 | + <el-input v-model="formInline.size" placeholder="100kb" maxlength="20"></el-input> | |
| 31 | + </el-form-item> | |
| 32 | + <el-form-item label="播放时长(秒)" prop="playDuration" > | |
| 33 | + <el-input v-model.number="formInline.playDuration" maxlength="20" placeholder="请输入" @input="validateNumber('playDuration', $event)"></el-input> | |
| 34 | + </el-form-item> | |
| 35 | + <el-form-item label="推送地址" prop="pushAddress" > | |
| 36 | + <el-input v-model="formInline.pushAddress" placeholder="请输入" maxlength="50"></el-input> | |
| 37 | + </el-form-item> | |
| 38 | + <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 39 | + <upimg :cmpOption="{disabled:false,isSetCover:false}" filePath="gg" inputtype="locationDiagram" :value="formInline.locationDiagram" | |
| 40 | + @changimg="e=>changimg(e,'locationDiagram')"></upimg> | |
| 41 | + </el-form-item> | |
| 42 | + <el-form-item label="备注信息" prop="memo"> | |
| 43 | + <el-input maxlength="200" show-word-limit rows="4" v-model="formInline.memo" placeholder="请输入" | |
| 44 | + type="textarea" /> | |
| 45 | + </el-form-item> | |
| 5 | 46 | <el-row :gutter="20"> |
| 6 | 47 | <el-col :span="12"> |
| 7 | - <el-form-item label="广告位名称" prop="advertisingName"> | |
| 8 | - <el-input v-model="formInline.advertisingName" placeholder="请输入" style="margin-top:5px;" | |
| 9 | - maxlength="50"></el-input> | |
| 10 | - </el-form-item> | |
| 11 | - </el-col> | |
| 12 | - <el-col :span="12"> | |
| 13 | - <el-form-item label="广告位编号" prop="advertisingSpaceNumber"> | |
| 14 | - <el-input v-model="formInline.advertisingSpaceNumber" disabled placeholder="将根据类型自动为资源编号" | |
| 15 | - style="margin-top:5px;"></el-input> | |
| 16 | - </el-form-item> | |
| 17 | - </el-col> | |
| 18 | - | |
| 19 | - </el-row> | |
| 20 | - <el-row :gutter="20"> | |
| 21 | - <el-col :span="12"> | |
| 22 | - <el-form-item label="广告位类型" prop="advertisingType"> | |
| 23 | - <el-select @change="changeadvertisingType" v-model="formInline.advertisingType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 24 | - <el-option v-for="(item, index) in typelist" :key="index" :label="item.name" :value="item.vaule"></el-option> | |
| 25 | - <!-- <el-option label="实体广告位" value="实体广告位" v-else></el-option> --> | |
| 26 | - </el-select> | |
| 27 | - </el-form-item> | |
| 28 | - </el-col> | |
| 29 | - <el-col :span="12"> | |
| 30 | - <el-form-item label="所属端" prop="affiliation" v-if="ontype =='线上广告位'"> | |
| 31 | - <el-select v-model="formInline.affiliation" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 32 | - <el-option label="游客小程序" value="游客小程序"></el-option> | |
| 33 | - <el-option label="商家客户端" value="商家客户端"></el-option> | |
| 34 | - </el-select> | |
| 35 | - </el-form-item> | |
| 36 | - <el-form-item label="详细位置" prop="detailedLocation" v-if="ontype =='实体广告位'"> | |
| 37 | - <el-input v-model="formInline.detailedLocation" placeholder="请输入" style="margin-top:5px;" | |
| 38 | - maxlength="200"></el-input> | |
| 39 | - <!-- </el-select> --> | |
| 40 | - </el-form-item> | |
| 41 | - </el-col> | |
| 42 | - | |
| 43 | - </el-row> | |
| 44 | - <el-row :gutter="20"> | |
| 45 | - <el-col :span="24"> | |
| 46 | - <el-form-item label="地图标点" prop="mapPunctuation" v-if="ontype =='实体广告位'"> | |
| 47 | - <div style="width: 100%;height: 300px;"> | |
| 48 | - <map-mark :sendChildDate="getChildDate"></map-mark> | |
| 49 | - </div> | |
| 50 | - </el-form-item> | |
| 51 | - </el-col> | |
| 52 | - </el-row> | |
| 53 | - <el-row :gutter="20"> | |
| 54 | - <el-col :span="12"> | |
| 55 | - <el-form-item label="轮播顺序" prop="rotationOrder" v-if="ontype =='线上广告位'"> | |
| 56 | - <el-select v-model="formInline.rotationOrder" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 57 | - <el-option label="1" value="1"></el-option> | |
| 58 | - <el-option label="2" value="2"></el-option> | |
| 59 | - </el-select> | |
| 60 | - </el-form-item> | |
| 61 | - </el-col> | |
| 62 | - <el-col :span="12"> | |
| 63 | - <el-form-item label="广告尺寸" prop="dimensions" v-if="ontype =='线上广告位'"> | |
| 64 | - <el-input v-model="formInline.dimensions" disabled placeholder="宽:300px 长:400px" | |
| 65 | - style="margin-top:5px;"></el-input> | |
| 66 | - | |
| 67 | - </el-form-item> | |
| 68 | - </el-col> | |
| 69 | - | |
| 70 | - </el-row> | |
| 71 | - | |
| 72 | - | |
| 73 | - | |
| 74 | - <el-row :gutter="20"> | |
| 75 | - <el-col :span="12"> | |
| 76 | - <el-form-item label="可上传大小" prop="size" v-if="ontype =='线上广告位'"> | |
| 77 | - <el-input v-model="formInline.size" disabled placeholder="100kb" style="margin-top:5px;"></el-input> | |
| 78 | - </el-form-item> | |
| 79 | - </el-col> | |
| 80 | - <el-col :span="12"> | |
| 81 | - <el-form-item label="上传格式" prop="uploadFormat" v-if="ontype =='线上广告位'"> | |
| 82 | - <el-input v-model="formInline.uploadFormat" disabled placeholder="JPG、PNG、MP4" | |
| 83 | - style="margin-top:5px;"></el-input> | |
| 84 | - </el-form-item> | |
| 85 | - </el-col> | |
| 86 | - | |
| 87 | - </el-row> | |
| 88 | - <el-row :gutter="20"> | |
| 89 | - <el-col :span="12"> | |
| 90 | - <el-form-item label="可上传大小" prop="size" v-if="ontype =='实体广告位'"> | |
| 91 | - <el-input v-model="formInline.size" disabled placeholder="100kb" style="margin-top:5px;"></el-input> | |
| 92 | - </el-form-item> | |
| 93 | - <el-form-item label="设备类型" prop="deviceType" v-if="ontype =='实体广告位'"> | |
| 94 | - <div style="display: flex;justify-content: space-between;"> | |
| 95 | - <el-select v-model="formInline.deviceType" placeholder="请选择" style="margin-top:5px;width: 92%;"> | |
| 96 | - <el-option label="灯箱广告牌" value="灯箱广告牌"></el-option> | |
| 97 | - | |
| 98 | - </el-select> | |
| 99 | - </div> | |
| 100 | - </el-form-item> | |
| 101 | - </el-col> | |
| 102 | - <el-col :span="12"> | |
| 103 | - <el-form-item label="设备大小" prop="equipmentSize" v-if="ontype =='实体广告位'"> | |
| 104 | - <div style="display: flex;"> | |
| 105 | - <div> | |
| 106 | - <span style="font-size: 14px;">长:</span> | |
| 107 | - <el-select v-model="formInline.equipmentSizeH" placeholder="请选择" | |
| 108 | - style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 109 | - <el-option label="10" value="10"></el-option> | |
| 110 | - <el-option label="20" value="20"></el-option> | |
| 111 | - </el-select> | |
| 112 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 113 | - </div> | |
| 114 | - <div> | |
| 115 | - <span style="font-size: 14px;">宽:</span> | |
| 116 | - <el-select v-model="formInline.equipmentSizeK" placeholder="请选择" | |
| 117 | - style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 118 | - <el-option label="10" value="10"></el-option> | |
| 119 | - <el-option label="20" value="20"></el-option> | |
| 120 | - </el-select> | |
| 121 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 122 | - </div> | |
| 123 | - <div> | |
| 124 | - <span style="font-size: 14px;">高:</span> | |
| 125 | - <el-select v-model="formInline.equipmentSizeG" placeholder="请选择" | |
| 126 | - style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 127 | - <el-option label="10" value="10"></el-option> | |
| 128 | - <el-option label="20" value="20"></el-option> | |
| 129 | - </el-select> | |
| 130 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 131 | - </div> | |
| 132 | - </div> | |
| 133 | - </el-form-item> | |
| 134 | - </el-col> | |
| 135 | - | |
| 136 | - </el-row> | |
| 137 | - | |
| 138 | - <el-row :gutter="20"> | |
| 139 | - <el-col :span="12"> | |
| 140 | - <el-form-item label="广告尺寸" v-if="ontype =='实体广告位'"> | |
| 141 | - <div style="display: flex;"> | |
| 142 | - <div> | |
| 143 | - <span style="font-size: 14px;">长:</span> | |
| 144 | - <el-select v-model="formInline.dimensionsH" placeholder="请选择" | |
| 145 | - style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 146 | - <el-option label="10" value="10"></el-option> | |
| 147 | - <el-option label="20" value="20"></el-option> | |
| 148 | - </el-select> | |
| 149 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 150 | - </div> | |
| 151 | - <div> | |
| 152 | - <span style="font-size: 14px;">宽:</span> | |
| 153 | - <el-select v-model="formInline.dimensionsK" placeholder="请选择" | |
| 154 | - style="margin-top:5px;width: 90px;margin: 0 5px 0 0;"> | |
| 155 | - <el-option label="10" value="10"></el-option> | |
| 156 | - <el-option label="20" value="20"></el-option> | |
| 157 | - </el-select> | |
| 158 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 159 | - </div> | |
| 160 | - </div> | |
| 161 | - </el-form-item> | |
| 162 | - | |
| 163 | - </el-col> | |
| 164 | - <el-col :span="12"> | |
| 165 | - <el-form-item label="广告材质" prop="advertisingMaterial" v-if="ontype =='实体广告位'"> | |
| 166 | - <div style="display: flex;justify-content: space-between;"> | |
| 167 | - <el-select v-model="formInline.advertisingMaterial" placeholder="请选择" style="margin-top:5px;width: 92%"> | |
| 168 | - <el-option label="亚克力" value="亚克力"></el-option> | |
| 169 | - <el-option label="玻璃" value="玻璃"></el-option> | |
| 170 | - </el-select> | |
| 48 | + <el-form-item> | |
| 49 | + <div style="margin-top: 20px"> | |
| 50 | + <el-button @click="add()" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 51 | + <el-button @click="close()" class="buttonHover" | |
| 52 | + style="color: #606266;border: 1px solid #DBDBDB;background-color: #fff;">取消</el-button> | |
| 171 | 53 | </div> |
| 172 | 54 | </el-form-item> |
| 173 | 55 | </el-col> |
| 174 | 56 | </el-row> |
| 175 | - <el-row :gutter="20"> | |
| 176 | - <el-col :span="12"> | |
| 177 | - <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 178 | - <!-- <upimg filePath="gg" :value="formInline.locationDiagram" @changimg="e=>changimg(e,'locationDiagram')" :limit="1" :fileSize="1"></upimg> --> | |
| 179 | - <upimg filePath="gg" inputtype="locationDiagram" :value="formInline.locationDiagram" @changimg="e=>changimg(e,'locationDiagram')"></upimg> | |
| 180 | - </el-form-item> | |
| 181 | - </el-col> | |
| 182 | - </el-row> | |
| 57 | + </el-form> | |
| 58 | + <el-form v-if="ontype =='实体广告位'" :model="formInline" :rules="rulesSt" ref="formInline" label-width="100px" | |
| 59 | + class="demo-ruleForm"> | |
| 60 | + <el-form-item label="广告位类型" prop="advertisingType"> | |
| 61 | + <el-select @change="changeadvertisingType" v-model="formInline.advertisingType" placeholder="请选择" style="margin-top:5px;width: 100%;"> | |
| 62 | + <el-option v-for="(item, index) in typelist" :key="index" :label="item.name" :value="item.vaule"></el-option> | |
| 63 | + </el-select> | |
| 64 | + </el-form-item> | |
| 65 | + <el-form-item label="广告位名称" prop="advertisingName"> | |
| 66 | + <el-input v-model="formInline.advertisingName" placeholder="请输入" maxlength="30"></el-input> | |
| 67 | + </el-form-item> | |
| 68 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 69 | + <el-input v-model="formInline.detailedLocation" placeholder="请输入" maxlength="50"></el-input> | |
| 70 | + </el-form-item> | |
| 71 | + <el-form-item label="地图标点" prop="mapPunctuation" > | |
| 72 | + <!-- <div style="width: 100%;height: 300px;"> | |
| 73 | + <map-mark :sendChildDate="getChildDate"></map-mark> | |
| 74 | + </div> --> | |
| 75 | + <div style="width: 100%;height: 300px;"> | |
| 76 | + <newmap :isonloed="info.id?true:false" :lat="lat" :lng="lng" @updatecenter="updatecenter"></newmap> | |
| 77 | + </div> | |
| 78 | + </el-form-item> | |
| 79 | + <el-form-item label="设备类型" prop="deviceType" > | |
| 80 | + <div style="display: flex;justify-content: space-between;"> | |
| 81 | + <el-select v-model="formInline.deviceType" placeholder="请选择" style="width: 92%;"> | |
| 82 | + <el-option label="灯箱广告牌" value="灯箱广告牌"></el-option> | |
| 83 | + </el-select> | |
| 84 | + </div> | |
| 85 | + </el-form-item> | |
| 86 | + <el-form-item label="设备大小" prop="equipmentSize" > | |
| 87 | + <el-input v-model="formInline.equipmentSize" placeholder="宽:300mm 长:400mm 高: 400mm" maxlength="30"></el-input> | |
| 88 | + </el-form-item> | |
| 89 | + <el-form-item label="广告尺寸" prop="dimensions"> | |
| 90 | + <el-input v-model="formInline.dimensions" placeholder="宽:300px 长:400px" maxlength="20"></el-input> | |
| 91 | + </el-form-item> | |
| 92 | + <el-form-item label="广告材质" prop="advertisingMaterial"> | |
| 93 | + <div style="display: flex;justify-content: space-between;"> | |
| 94 | + <el-select v-model="formInline.advertisingMaterial" placeholder="请选择" style="width: 100%"> | |
| 95 | + <el-option label="亚克力" value="亚克力"></el-option> | |
| 96 | + <el-option label="玻璃" value="玻璃"></el-option> | |
| 97 | + </el-select> | |
| 98 | + </div> | |
| 99 | + </el-form-item> | |
| 100 | + <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 101 | + <upimg :cmpOption="{disabled:false,isSetCover:false}" filePath="gg" inputtype="locationDiagram" :value="formInline.locationDiagram" | |
| 102 | + @changimg="e=>changimg(e,'locationDiagram')"></upimg> | |
| 103 | + </el-form-item> | |
| 183 | 104 | <el-row :gutter="20"> |
| 184 | 105 | <el-col :span="12"> |
| 185 | 106 | <el-form-item> |
| ... | ... | @@ -192,10 +113,12 @@ |
| 192 | 113 | </el-col> |
| 193 | 114 | </el-row> |
| 194 | 115 | </el-form> |
| 116 | + | |
| 195 | 117 | </div> |
| 196 | 118 | </template> |
| 197 | 119 | |
| 198 | 120 | <script> |
| 121 | + import newmap from "@/components/newmap/index"; | |
| 199 | 122 | import MapMark from "@/components/MapContainer/MapMark"; |
| 200 | 123 | import upimg from "@/components/ImageUpload/index" |
| 201 | 124 | import { |
| ... | ... | @@ -214,103 +137,118 @@ |
| 214 | 137 | export default { |
| 215 | 138 | components: { |
| 216 | 139 | upimg, |
| 217 | - MapMark | |
| 140 | + MapMark, | |
| 141 | + newmap | |
| 218 | 142 | }, |
| 219 | 143 | data() { |
| 220 | 144 | return { |
| 221 | - ontype:'线上广告位', | |
| 222 | - typelist:[ | |
| 223 | - { | |
| 224 | - name:'线上广告位', | |
| 225 | - vaule:'线上广告位' | |
| 145 | + lat: 30.67, | |
| 146 | + lng: 104.06, | |
| 147 | + ontype: '线上广告位', | |
| 148 | + typelist: [{ | |
| 149 | + name: '线上广告位', | |
| 150 | + vaule: '线上广告位' | |
| 226 | 151 | }, |
| 227 | 152 | { |
| 228 | - name:'实体广告位', | |
| 229 | - vaule:'实体广告位' | |
| 153 | + name: '实体广告位', | |
| 154 | + vaule: '实体广告位' | |
| 230 | 155 | }, |
| 231 | 156 | ], |
| 232 | 157 | //地图标点的经纬度 |
| 233 | 158 | mapData: {}, |
| 234 | 159 | uploadFileUrl: uploadUrl, // 请求地址 |
| 235 | 160 | formInline: { |
| 236 | - advertisingName: '', //广告位名称 | |
| 237 | - advertisingType: '', //广告位类型 | |
| 161 | + advertisingName: '', // 广告位名称 | |
| 162 | + advertisingType: '线上广告位', // 广告位类型 | |
| 163 | + affiliation: '', // 所属端 | |
| 164 | + detailedLocation: '', // 详细位置 | |
| 238 | 165 | rotationOrder: '', // 轮播顺序 |
| 166 | + dimensions: '', // 广告尺寸 | |
| 167 | + size: '', // 广告大小 | |
| 168 | + uploadFormat: '', // 上传格式 | |
| 169 | + advertisingSpaceStrategy: '', // 广告位策略 | |
| 170 | + advertisingSpaceNumber: '', // 广告位编号 | |
| 171 | + locationDiagram: '', // 位置示意图 | |
| 172 | + mapPunctuation: '', // 地图标点 | |
| 173 | + deviceType: '', // 设备类型 | |
| 174 | + equipmentSize: '', // 设备尺寸 | |
| 175 | + advertisingMaterial: '', // 广告材质 | |
| 176 | + createDate: '', // 创建时间 | |
| 239 | 177 | createUser: '', // 创建人 |
| 240 | - affiliation: '', //所属端 | |
| 241 | - detailedLocation: '', //详细位置 | |
| 242 | - dimensions: '', //广告尺寸 | |
| 243 | - size: '', //广告大小 | |
| 244 | - uploadFormat: '', //上传类型 | |
| 245 | - advertisingSpaceStrategy: '', //策略 | |
| 246 | - advertisingSpaceNumber: '', //广告位编号 | |
| 247 | - locationDiagram: '', //位置示意图 | |
| 248 | - mapPunctuation: '', //地图标点 | |
| 249 | - deviceType: '', //设备类型 | |
| 250 | - equipmentSize: '', //设备尺寸 | |
| 251 | - advertisingMaterial: '', //广告材质 | |
| 252 | - createDate: '', //创建时间 | |
| 253 | - equipmentSizeH: "", | |
| 254 | - equipmentSizeK: '', | |
| 255 | - equipmentSizeG: '', | |
| 256 | - dimensionsH: '', | |
| 257 | - dimensionsK: '', | |
| 258 | - rentalStatus: '0', | |
| 259 | - publishStatus: '0' | |
| 178 | + // updateDate: '', // 修改时间 | |
| 179 | + // updateUser: '', // 修改人 | |
| 180 | + rentalStatus: '', // 租赁状态 | |
| 181 | + publishStatus: '', // 发布状态 | |
| 182 | + leaseExpirationDate: '', // 租赁到期时间 | |
| 183 | + contractNumber: '', // 合同编号 | |
| 184 | + advertisingNumber: null, // 广告位数量 | |
| 185 | + playDuration: null, // 播放时长 | |
| 186 | + pushAddress: '', // 推送地址 | |
| 187 | + memo: '', // 备注信息 | |
| 188 | + onlineType: '' // 线上类型 | |
| 260 | 189 | }, |
| 261 | 190 | rules: { |
| 262 | - advertisingName: [{ | |
| 191 | + advertisingType: [{ | |
| 263 | 192 | required: true, |
| 264 | - message: '请输入名称', | |
| 265 | - trigger: ['blur', 'change'] | |
| 193 | + message: '请选择广告类型', | |
| 194 | + trigger: ['change'] | |
| 266 | 195 | }], |
| 267 | - advertisingType: [{ | |
| 196 | + advertisingName: [{ | |
| 268 | 197 | required: true, |
| 269 | - message: '请选择类型', | |
| 270 | - trigger: ['blur', 'change'] | |
| 198 | + message: '请输入广告位名称', | |
| 199 | + trigger: ['change'] | |
| 271 | 200 | }], |
| 272 | 201 | affiliation: [{ |
| 273 | 202 | required: true, |
| 274 | 203 | message: '请选择所属端', |
| 275 | - trigger: ['blur', 'change'] | |
| 204 | + trigger: ['change'] | |
| 276 | 205 | }], |
| 277 | 206 | rotationOrder: [{ |
| 278 | 207 | required: true, |
| 279 | 208 | message: '请选择轮播顺序', |
| 280 | - trigger: ['blur', 'change'] | |
| 209 | + trigger: ['change'] | |
| 210 | + }], | |
| 211 | + locationDiagram: [{ | |
| 212 | + required: true, | |
| 213 | + message: '请上传位置示意图', | |
| 214 | + trigger: ['change'] | |
| 281 | 215 | }], |
| 282 | - | |
| 283 | 216 | }, |
| 284 | 217 | rulesSt: { |
| 285 | - advertisingName: [{ | |
| 218 | + advertisingType: [{ | |
| 286 | 219 | required: true, |
| 287 | - message: '请输入名称', | |
| 288 | - trigger: ['blur', 'change'] | |
| 220 | + message: '请选择广告类型', | |
| 221 | + trigger: ['change'] | |
| 289 | 222 | }], |
| 290 | - advertisingType: [{ | |
| 223 | + advertisingName: [{ | |
| 291 | 224 | required: true, |
| 292 | - message: '请选择类型', | |
| 293 | - trigger: ['blur', 'change'] | |
| 225 | + message: '请输入广告位名称', | |
| 226 | + trigger: ['change'] | |
| 294 | 227 | }], |
| 295 | - position: [{ | |
| 228 | + detailedLocation: [{ | |
| 296 | 229 | required: true, |
| 297 | 230 | message: '请输入详细位置', |
| 298 | - trigger: ['blur', 'change'] | |
| 231 | + trigger: ['change'] | |
| 299 | 232 | }], |
| 300 | - dimensionsH: [{ | |
| 233 | + mapPunctuation: [{ | |
| 301 | 234 | required: true, |
| 302 | - message: '请选择广告尺寸', | |
| 303 | - trigger: ['blur', 'change'] | |
| 235 | + message: '请选择地图标点', | |
| 236 | + trigger: ['change'] | |
| 304 | 237 | }], |
| 305 | - dimensionsK: [{ | |
| 238 | + dimensions: [{ | |
| 306 | 239 | required: true, |
| 307 | 240 | message: '请选择广告尺寸', |
| 308 | - trigger: ['blur', 'change'] | |
| 241 | + trigger: ['change'] | |
| 309 | 242 | }], |
| 310 | 243 | advertisingMaterial: [{ |
| 311 | 244 | required: true, |
| 312 | - message: '请选择材质', | |
| 313 | - trigger: ['blur', 'change'] | |
| 245 | + message: '请选择广告材质', | |
| 246 | + trigger: ['change'] | |
| 247 | + }], | |
| 248 | + locationDiagram: [{ | |
| 249 | + required: true, | |
| 250 | + message: '请上传位置示意图', | |
| 251 | + trigger: ['change'] | |
| 314 | 252 | }], |
| 315 | 253 | }, |
| 316 | 254 | uploadFiles: [], |
| ... | ... | @@ -322,6 +260,10 @@ |
| 322 | 260 | }; |
| 323 | 261 | }, |
| 324 | 262 | props: { |
| 263 | + type: { | |
| 264 | + type: String, | |
| 265 | + default: 'one' | |
| 266 | + }, | |
| 325 | 267 | info: { |
| 326 | 268 | type: Object, |
| 327 | 269 | default: {} |
| ... | ... | @@ -334,27 +276,26 @@ |
| 334 | 276 | async created() { |
| 335 | 277 | if (this.info && this.info.id) { |
| 336 | 278 | this.formInline = this.info |
| 337 | - if (this.leixing == false) { | |
| 338 | - this.parentMessage = JSON.parse(this.info.mapPunctuation) | |
| 279 | + if (this.formInline.mapPunctuation) { | |
| 280 | + this.lat = Number(this.formInline.mapPunctuation.split(',')[0]) | |
| 281 | + this.lng = Number(this.formInline.mapPunctuation.split(',')[1]) | |
| 339 | 282 | } |
| 340 | 283 | this.ontype = this.formInline.advertisingType |
| 341 | - if(this.ontype == '线上广告位') { | |
| 342 | - this.typelist = [ | |
| 343 | - { | |
| 344 | - name:'线上广告位', | |
| 345 | - vaule:'线上广告位' | |
| 284 | + if (this.ontype == '线上广告位') { | |
| 285 | + this.typelist = [{ | |
| 286 | + name: '线上广告位', | |
| 287 | + vaule: '线上广告位' | |
| 346 | 288 | }] |
| 347 | 289 | } else { |
| 348 | - this.typelist = [ | |
| 349 | - { | |
| 350 | - name:'实体广告位', | |
| 351 | - vaule:'实体广告位' | |
| 290 | + this.typelist = [{ | |
| 291 | + name: '实体广告位', | |
| 292 | + vaule: '实体广告位' | |
| 352 | 293 | }] |
| 353 | 294 | } |
| 354 | 295 | } else { |
| 355 | - if (this.leixing ) { | |
| 356 | - this.ontype = '线上广告位' | |
| 357 | - this.formInline.advertisingType = '线上广告位' | |
| 296 | + if (this.leixing) { | |
| 297 | + this.ontype = '线上广告位' | |
| 298 | + this.formInline.advertisingType = '线上广告位' | |
| 358 | 299 | } else { |
| 359 | 300 | this.ontype = '实体广告位' |
| 360 | 301 | this.formInline.advertisingType = '实体广告位' |
| ... | ... | @@ -362,10 +303,23 @@ |
| 362 | 303 | } |
| 363 | 304 | }, |
| 364 | 305 | methods: { |
| 365 | - changimg(e,type) { | |
| 306 | + validateNumber(field, value) { | |
| 307 | + // 使用正则表达式确保输入的是数字,并且可以包含最多两位小数 | |
| 308 | + const regex = /^\d+(\.\d{1,2})?$/; | |
| 309 | + if (!regex.test(value)) { | |
| 310 | + this.ruleForm[field] = value.replace(/[^\d.]/g, '').replace(/(\.\d{2}).*$/, '$1'); | |
| 311 | + } | |
| 312 | + }, | |
| 313 | + updatecenter(e) { | |
| 314 | + console.error('-----------', e) | |
| 315 | + this.formInline.detailedLocation = e.address | |
| 316 | + this.lat = e.lat | |
| 317 | + this.lng = e.lng | |
| 318 | + }, | |
| 319 | + changimg(e, type) { | |
| 366 | 320 | this.formInline[type] = e |
| 367 | 321 | }, |
| 368 | - changeadvertisingType(e){ | |
| 322 | + changeadvertisingType(e) { | |
| 369 | 323 | console.error(e) |
| 370 | 324 | this.ontype = e |
| 371 | 325 | }, |
| ... | ... | @@ -395,23 +349,15 @@ |
| 395 | 349 | this.gongyuanList = gongyaun.data.filter(item => item.superior == value); |
| 396 | 350 | }, |
| 397 | 351 | add() { |
| 398 | - | |
| 352 | + if(this.lat) { | |
| 353 | + this.formInline.mapPunctuation = this.lat + ',' + this.lng | |
| 354 | + } | |
| 399 | 355 | if (this.formInline.id) { |
| 400 | 356 | this.$refs.formInline.validate((valid) => { |
| 401 | 357 | console.log(valid) |
| 402 | 358 | if (valid) { |
| 403 | 359 | this.formInline.updateDate = this.updateCurrentTime() |
| 404 | - | |
| 405 | - if (this.leixing == false) { | |
| 406 | - if (Object.keys(this.mapData).length != 0) { | |
| 407 | - this.formInline.mapPunctuation = JSON.stringify(this.mapData) | |
| 408 | - } | |
| 409 | - | |
| 410 | - this.formInline.equipmentSize = | |
| 411 | - `长:${this.formInline.equipmentSizeH} 宽:${this.formInline.equipmentSizeK} 高:${this.formInline.equipmentSizeG}` | |
| 412 | - this.formInline.dimensions = `长:${this.formInline.dimensionsH} 宽:${this.formInline.dimensionsK}` | |
| 413 | - } | |
| 414 | - | |
| 360 | + this.formInline.updateUser = localStorage.getItem('roleName') | |
| 415 | 361 | editList(this.formInline).then(res => { |
| 416 | 362 | if (res.code == 200) { |
| 417 | 363 | this.$message({ |
| ... | ... | @@ -442,16 +388,14 @@ |
| 442 | 388 | console.log(valid) |
| 443 | 389 | if (valid) { |
| 444 | 390 | this.formInline.createDate = this.updateCurrentTime() |
| 445 | - if (this.leixing) { | |
| 446 | - this.formInline.dimensions = '宽:300px 长:400px' | |
| 447 | - this.formInline.size = '100kb' | |
| 448 | - this.formInline.uploadFormat = 'JPG、PNG、MP4' | |
| 391 | + this.formInline.createUser = localStorage.getItem('roleName') | |
| 392 | + if (this.ontype =='线上广告位') { | |
| 393 | + | |
| 449 | 394 | } else { |
| 450 | - this.formInline.mapPunctuation = JSON.stringify(this.mapData) | |
| 451 | - this.formInline.equipmentSize = | |
| 452 | - `长:${this.formInline.equipmentSizeH} 宽:${this.formInline.equipmentSizeK} 高:${this.formInline.equipmentSizeG}` | |
| 453 | - this.formInline.dimensions = `长:${this.formInline.dimensionsH} 宽:${this.formInline.dimensionsK}` | |
| 395 | + | |
| 396 | + | |
| 454 | 397 | } |
| 398 | + this.formInline.publishStatus = 0 | |
| 455 | 399 | addList(this.formInline).then(res => { |
| 456 | 400 | if (res.code == 200) { |
| 457 | 401 | this.$message({ | ... | ... |
admin-web-master/src/components/chakan/cd.vue
| ... | ... | @@ -8,109 +8,78 @@ |
| 8 | 8 | <div style="padding: 20px;"> |
| 9 | 9 | <el-form :model="editbgid" ref="formInline" label-width="120px" class="demo-ruleForm"> |
| 10 | 10 | <el-row :gutter="20"> |
| 11 | - <el-col :span="12"> | |
| 11 | + <el-col :span="8"> | |
| 12 | 12 | <el-form-item label="场地名称" prop="venueName"> |
| 13 | - <div class="duiqi">{{editbgid.venueName}}</div> | |
| 14 | - | |
| 13 | + <div class="duiqi">{{editbgid.venueName || '无'}}</div> | |
| 15 | 14 | </el-form-item> |
| 16 | 15 | </el-col> |
| 17 | - <el-col :span="12"> | |
| 16 | + <el-col :span="8"> | |
| 18 | 17 | <el-form-item label="场地类型" prop="venueType"> |
| 19 | - <div class="duiqi" >{{editbgid.venueType}}</div> | |
| 20 | - | |
| 18 | + <div class="duiqi">{{editbgid.venueType || '无'}}</div> | |
| 21 | 19 | </el-form-item> |
| 22 | 20 | </el-col> |
| 23 | - </el-row> | |
| 24 | - <el-row :gutter="20"> | |
| 25 | - <el-col :span="12"> | |
| 21 | + <el-col :span="8"> | |
| 26 | 22 | <el-form-item label="实际使用面积" prop="actualArea"> |
| 27 | - <div class="duiqi">{{editbgid.actualArea}}</div> | |
| 28 | - | |
| 23 | + <div class="duiqi">{{editbgid.actualArea || '无'}}</div> | |
| 29 | 24 | </el-form-item> |
| 30 | 25 | </el-col> |
| 31 | - <el-col :span="12"> | |
| 26 | + </el-row> | |
| 27 | + <el-row :gutter="20"> | |
| 28 | + <el-col :span="8"> | |
| 32 | 29 | <el-form-item label="所属区域" prop="district"> |
| 33 | - <div class="duiqi">{{editbgid.district}}</div> | |
| 34 | - | |
| 30 | + <div class="duiqi">{{editbgid.district || '无'}}</div> | |
| 35 | 31 | </el-form-item> |
| 36 | 32 | </el-col> |
| 37 | - </el-row> | |
| 38 | - <el-row :gutter="20"> | |
| 39 | - <el-col :span="12"> | |
| 33 | + <el-col :span="8"> | |
| 40 | 34 | <el-form-item label="归属部门" prop="department"> |
| 41 | - <div class="duiqi">{{editbgid.department}}</div> | |
| 42 | - | |
| 35 | + <div class="duiqi">{{editbgid.department || '无'}}</div> | |
| 43 | 36 | </el-form-item> |
| 44 | 37 | </el-col> |
| 45 | - <el-col :span="12"> | |
| 38 | + <el-col :span="8"> | |
| 46 | 39 | <el-form-item label="负责人" prop="responsiblePerson"> |
| 47 | - <div class="duiqi">{{editbgid.belongingParkTrail}}</div> | |
| 48 | - | |
| 49 | - </el-form-item> | |
| 50 | - </el-col> | |
| 51 | - </el-row> | |
| 52 | - | |
| 53 | - <el-row :gutter="20"> | |
| 54 | - <el-col :span="12"> | |
| 55 | - <el-form-item label="详细位置" prop="detailedLocation"> | |
| 56 | - <div class="duiqi">{{editbgid.detailedLocation}}</div> | |
| 57 | - | |
| 40 | + <div class="duiqi">{{editbgid.belongingParkTrail || '无'}}</div> | |
| 58 | 41 | </el-form-item> |
| 59 | 42 | </el-col> |
| 60 | 43 | </el-row> |
| 61 | 44 | <el-row :gutter="20"> |
| 62 | - <el-col :span="24"> | |
| 63 | - <el-form-item label="地图标点" prop="mapMarker"> | |
| 64 | - <div style="width: 100%;height: 300px;"> | |
| 65 | - <MapXian :message="parentMessage"></MapXian> | |
| 66 | - | |
| 67 | - </div> | |
| 45 | + <el-col :span="8"> | |
| 46 | + <el-form-item label="联系人" prop="contact"> | |
| 47 | + <div class="duiqi">{{editbgid.contact || '无'}}</div> | |
| 68 | 48 | </el-form-item> |
| 69 | 49 | </el-col> |
| 70 | - | |
| 71 | - </el-row> | |
| 72 | - | |
| 73 | - <el-row :gutter="20"> | |
| 74 | - <el-col :span="12"> | |
| 75 | - <el-form-item label="场地描述" prop="description"> | |
| 76 | - <div class="duiqi">{{editbgid.description}}</div> | |
| 77 | - | |
| 50 | + <el-col :span="8"> | |
| 51 | + <el-form-item label="联系电话" prop="phoneNumber"> | |
| 52 | + <div class="duiqi">{{editbgid.belongingParkTrail || '无'}}</div> | |
| 78 | 53 | </el-form-item> |
| 79 | 54 | </el-col> |
| 80 | - | |
| 81 | 55 | </el-row> |
| 82 | - | |
| 83 | - <el-row :gutter="20"> | |
| 84 | - <el-col :span="12"> | |
| 85 | - <el-form-item label="规划图纸" prop="planningDrawing"> | |
| 86 | - <!-- <img :src="editbgid.planningDrawing" alt="" style="width:140px;height:140px;" > --> | |
| 87 | - | |
| 88 | - <div > | |
| 89 | - <img :src="$baseURL+item" alt="" style="width:140px;height:140px;" | |
| 90 | - v-for="item in editbgid.planningDrawing.split(',')"> | |
| 91 | - </div> | |
| 92 | - | |
| 93 | - </el-form-item> | |
| 94 | - </el-col> | |
| 95 | - </el-row> | |
| 96 | - <el-row :gutter="20"> | |
| 97 | - <el-col :span="12"> | |
| 98 | - <el-form-item label="展示主图" prop="displayImage"> | |
| 99 | - <div > | |
| 100 | - <img :src="$baseURL+item" alt="" style="width:140px;height:140px;" | |
| 101 | - v-for="item in editbgid.displayImage.split(',')"> | |
| 102 | - </div> | |
| 103 | - <!-- <img :src="$baseURL+editbgid.displayImage" alt="" style="width:140px;height:140px;" > --> | |
| 104 | - </el-form-item> | |
| 105 | - </el-col> | |
| 106 | - </el-row> | |
| 107 | - <!-- <el-row :gutter="20"> | |
| 108 | - <el-col :span="12"> | |
| 109 | - <el-form-item label="其他图片/视频" prop="otherMedia"> | |
| 110 | - <div class="duiqi">{{editbgid.otherMedia}}</div> | |
| 111 | - </el-form-item> | |
| 112 | - </el-col> | |
| 113 | - </el-row> --> | |
| 56 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 57 | + <div class="duiqi">{{editbgid.detailedLocation || '无'}}</div> | |
| 58 | + </el-form-item> | |
| 59 | + <el-form-item label="地图标点" prop="mapMarker"> | |
| 60 | + <div style="width: 100%;height: 300px;"> | |
| 61 | + <newmap :isx="false" :message="editbgid.mapMarker"></newmap> | |
| 62 | + </div> | |
| 63 | + </el-form-item> | |
| 64 | + <el-form-item label="场地描述" prop="description"> | |
| 65 | + <div class="duiqi">{{editbgid.description || '无'}}</div> | |
| 66 | + </el-form-item> | |
| 67 | + <el-form-item label="规划图纸" prop="planningDrawing"> | |
| 68 | + <div v-if="editbgid.planningDrawing"> | |
| 69 | + <img :src="$baseURL+item" alt="" style="width:140px;height:140px;" | |
| 70 | + v-for="item in editbgid.planningDrawing.split(',')"> | |
| 71 | + </div> | |
| 72 | + <div class="duiqi" v-else>无</div> | |
| 73 | + </el-form-item> | |
| 74 | + <el-form-item label="展示主图" prop="displayImage"> | |
| 75 | + <div > | |
| 76 | + <img :src="$baseURL+item" alt="" style="width:140px;height:140px;" | |
| 77 | + v-for="item in editbgid.displayImage.split(',')"> | |
| 78 | + </div> | |
| 79 | + </el-form-item> | |
| 80 | + <el-form-item label="其他视频" prop="otherImageVideos" > | |
| 81 | + <div class="duiqi" :class="editbgid.otherImageVideos?'greens':''" @click ="editbgid.otherImageVideos?openfile($baseURL+editbgid.otherImageVideos):''">{{editbgid.otherImageVideos?'查看详情':'无'}}</div> | |
| 82 | + </el-form-item> | |
| 114 | 83 | </el-form> |
| 115 | 84 | </div> |
| 116 | 85 | </div> |
| ... | ... | @@ -175,9 +144,11 @@ |
| 175 | 144 | cereResourceStrategylist, |
| 176 | 145 | cereBusinessPlan |
| 177 | 146 | } from '@/api/newly'; |
| 147 | + import newmap from "@/components/newmap/index"; | |
| 178 | 148 | export default { |
| 179 | 149 | components: { |
| 180 | 150 | TitleWithCircle, |
| 151 | + newmap, | |
| 181 | 152 | MapXian |
| 182 | 153 | }, |
| 183 | 154 | props: { |
| ... | ... | @@ -206,7 +177,7 @@ |
| 206 | 177 | let c1 = { |
| 207 | 178 | pageNumber: 0, |
| 208 | 179 | pageSize: 10, |
| 209 | - resourcesId: 'sp' + this.editbgid.id | |
| 180 | + resourcesId: 'cd' + this.editbgid.id | |
| 210 | 181 | } |
| 211 | 182 | cereResourceStrategylist(c1).then(res => { |
| 212 | 183 | console.error(res) |
| ... | ... | @@ -216,11 +187,7 @@ |
| 216 | 187 | console.error(res) |
| 217 | 188 | this.datalist1 = res.data |
| 218 | 189 | }) |
| 219 | - if (typeof this.editbgid.mapMarker == 'string' && this.editbgid.mapMarker != '') { | |
| 220 | - this.parentMessage = JSON.parse(this.editbgid.mapMarker) | |
| 221 | - } else { | |
| 222 | - this.parentMessage = this.editbgid.mapMarker | |
| 223 | - } | |
| 190 | + | |
| 224 | 191 | } |
| 225 | 192 | |
| 226 | 193 | }, |
| ... | ... | @@ -228,6 +195,18 @@ |
| 228 | 195 | |
| 229 | 196 | }, |
| 230 | 197 | methods: { |
| 198 | + openfile(e) { | |
| 199 | + if (e) { | |
| 200 | + const fullUrl = e; | |
| 201 | + try { | |
| 202 | + window.open(fullUrl, '_blank'); // 在新标签页中打开文件 | |
| 203 | + } catch (error) { | |
| 204 | + console.error('打开文件失败:', error); | |
| 205 | + } | |
| 206 | + } else { | |
| 207 | + console.error('无文件可查看'); | |
| 208 | + } | |
| 209 | + }, | |
| 231 | 210 | changetype() { |
| 232 | 211 | this.xiangTab = 'first' |
| 233 | 212 | this.$emit('removeonaction', '1') | ... | ... |
admin-web-master/src/components/chakan/map.vue
| ... | ... | @@ -10,131 +10,92 @@ |
| 10 | 10 | <el-row :gutter="20"> |
| 11 | 11 | <el-col :span="8"> |
| 12 | 12 | <el-form-item label="广告位名称" prop="advertisingName"> |
| 13 | - <div class="duiqi">{{editbgid.advertisingName}}</div> | |
| 13 | + <div class="duiqi">{{editbgid.advertisingName || '无'}}</div> | |
| 14 | 14 | </el-form-item> |
| 15 | 15 | </el-col> |
| 16 | 16 | <el-col :span="8"> |
| 17 | 17 | <el-form-item label="广告位编号" prop="advertisingSpaceNumber"> |
| 18 | - <div class="duiqi">{{editbgid.advertisingSpaceNumber}}</div> | |
| 18 | + <div class="duiqi">{{editbgid.advertisingSpaceNumber || '无'}}</div> | |
| 19 | 19 | </el-form-item> |
| 20 | 20 | </el-col> |
| 21 | 21 | <el-col :span="8"> |
| 22 | 22 | <el-form-item label="广告位类型" prop="advertisingType"> |
| 23 | - <div class="duiqi">{{editbgid.advertisingType}}</div> | |
| 24 | - </el-select> | |
| 23 | + <div class="duiqi">{{editbgid.advertisingType || '无'}}</div> | |
| 25 | 24 | </el-form-item> |
| 26 | 25 | </el-col> |
| 27 | 26 | </el-row> |
| 28 | - <el-row :gutter="20"> | |
| 29 | - | |
| 27 | + <el-row :gutter="20" v-if="editbgid.advertisingType == '线上广告位'"> | |
| 30 | 28 | <el-col :span="8"> |
| 31 | - <el-form-item label="所属端" prop="affiliation" v-if='leixing'> | |
| 32 | - <div class="duiqi">{{editbgid.affiliation}}</div> | |
| 33 | - </el-form-item> | |
| 34 | - <el-form-item label="详细位置" prop="detailedLocation" v-if='leixing == false'> | |
| 35 | - <div class="duiqi">{{editbgid.detailedLocation}}</div> | |
| 29 | + <el-form-item label="所属端" prop="affiliation" > | |
| 30 | + <div class="duiqi">{{editbgid.affiliation || '无'}}</div> | |
| 36 | 31 | </el-form-item> |
| 37 | 32 | </el-col> |
| 38 | 33 | <el-col :span="8"> |
| 39 | - <el-form-item label="轮播顺序" prop="rotationOrder" v-if='leixing'> | |
| 40 | - <div class="duiqi">{{editbgid.rotationOrder}}</div> | |
| 41 | - | |
| 34 | + <el-form-item label="广告位数量" prop="advertisingNumber" > | |
| 35 | + <div class="duiqi">{{editbgid.advertisingNumber || '无'}}</div> | |
| 42 | 36 | </el-form-item> |
| 43 | 37 | </el-col> |
| 44 | 38 | <el-col :span="8"> |
| 45 | - <el-form-item label="广告尺寸" prop="dimensions" v-if='leixing'> | |
| 46 | - <div class="duiqi">{{editbgid.dimensions}}</div> | |
| 39 | + <el-form-item label="广告尺寸" prop="dimensions"> | |
| 40 | + <div class="duiqi">{{editbgid.dimensions || '无'}}</div> | |
| 47 | 41 | </el-form-item> |
| 48 | 42 | </el-col> |
| 49 | - </el-row> | |
| 50 | - <el-row :gutter="20"> | |
| 51 | - <el-col :span="24"> | |
| 52 | - <el-form-item label="地图标点" prop="mapPunctuation" v-if='leixing == false'> | |
| 53 | - <div style="width: 100%;height: 300px;"> | |
| 54 | - <MapXian :message="parentMessage"></MapXian> | |
| 55 | - </div> | |
| 43 | + <el-col :span="8"> | |
| 44 | + <el-form-item label="可上传大小" prop="size"> | |
| 45 | + <div class="duiqi">{{editbgid.size || '无'}}</div> | |
| 56 | 46 | </el-form-item> |
| 57 | 47 | </el-col> |
| 58 | - </el-row> | |
| 59 | - | |
| 60 | - <el-row :gutter="20"> | |
| 61 | 48 | <el-col :span="8"> |
| 62 | - <el-form-item label="可上传大小" prop="size" v-if='leixing'> | |
| 63 | - <div class="duiqi">{{editbgid.size}}</div> | |
| 49 | + <el-form-item label="播放时长" prop="playDuration"> | |
| 50 | + <div class="duiqi">{{editbgid.playDuration || '无'}}</div> | |
| 64 | 51 | </el-form-item> |
| 65 | 52 | </el-col> |
| 66 | 53 | <el-col :span="8"> |
| 67 | - <el-form-item label="上传格式" prop="uploadFormat" v-if='leixing'> | |
| 68 | - <div class="duiqi">{{editbgid.uploadFormat}}</div> | |
| 54 | + <el-form-item label="推送地址" prop="pushAddress"> | |
| 55 | + <div class="duiqi">{{editbgid.pushAddress || '无'}}</div> | |
| 69 | 56 | </el-form-item> |
| 70 | 57 | </el-col> |
| 58 | + </el-row> | |
| 59 | + <el-row :gutter="20" v-if="editbgid.advertisingType == '实体广告位'"> | |
| 71 | 60 | <el-col :span="8"> |
| 72 | - <el-form-item label="设备类型" prop="deviceType" v-if='leixing == false'> | |
| 73 | - <div class="duiqi">{{editbgid.deviceType}}</div> | |
| 61 | + <el-form-item label="设备类型" prop="deviceType" > | |
| 62 | + <div class="duiqi">{{editbgid.deviceType || '无'}}</div> | |
| 74 | 63 | </el-form-item> |
| 75 | 64 | </el-col> |
| 76 | - </el-row> | |
| 77 | - <el-row :gutter="20"> | |
| 78 | - | |
| 79 | - <el-col :span="12"> | |
| 80 | - <el-form-item label="设备大小" prop="equipmentSize" v-if='leixing == false'> | |
| 81 | - <div style="display: flex;"> | |
| 82 | - <div> | |
| 83 | - <span style="font-size: 14px;">长:</span> | |
| 84 | - <span>{{ editbgid.equipmentSizeH }}</span> | |
| 85 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 86 | - </div> | |
| 87 | - <div> | |
| 88 | - <span style="font-size: 14px;">宽:</span> | |
| 89 | - <span>{{ editbgid.equipmentSizeK }}</span> | |
| 90 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 91 | - </div> | |
| 92 | - <div> | |
| 93 | - <span style="font-size: 14px;">高:</span> | |
| 94 | - <span>{{ editbgid.equipmentSizeG }}</span> | |
| 95 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 96 | - </div> | |
| 97 | - </div> | |
| 98 | - | |
| 65 | + <el-col :span="8"> | |
| 66 | + <el-form-item label="设备大小" prop="equipmentSize" > | |
| 67 | + <div class="duiqi">{{editbgid.equipmentSize || '无'}}</div> | |
| 99 | 68 | </el-form-item> |
| 100 | 69 | </el-col> |
| 101 | - <el-col :span="12"> | |
| 102 | - <el-form-item label="广告尺寸" v-if='leixing == false'> | |
| 103 | - <div style="display: flex;"> | |
| 104 | - <div> | |
| 105 | - <span style="font-size: 14px;">长:</span> | |
| 106 | - <span>{{ editbgid.dimensionsH }}</span> | |
| 107 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 108 | - </div> | |
| 109 | - <div> | |
| 110 | - <span style="font-size: 14px;">宽:</span> | |
| 111 | - <span>{{ editbgid.dimensionsK }}</span> | |
| 112 | - <span style="font-size: 14px;margin-right:5px;">mm</span> | |
| 113 | - </div> | |
| 114 | - </div> | |
| 70 | + <el-col :span="8"> | |
| 71 | + <el-form-item label="广告尺寸" prop="dimensions"> | |
| 72 | + <div class="duiqi">{{editbgid.dimensions || '无'}}</div> | |
| 115 | 73 | </el-form-item> |
| 116 | 74 | </el-col> |
| 117 | - | |
| 118 | - </el-row> | |
| 119 | - <el-row :gutter="20"> | |
| 120 | - | |
| 121 | - | |
| 122 | 75 | <el-col :span="8"> |
| 123 | - <el-form-item label="广告材质" prop="advertisingMaterial" v-if='leixing == false'> | |
| 124 | - <div class="duiqi">{{editbgid.advertisingMaterial}}</div> | |
| 76 | + <el-form-item label="广告材质" prop="advertisingMaterial"> | |
| 77 | + <div class="duiqi">{{editbgid.advertisingMaterial || '无'}}</div> | |
| 125 | 78 | </el-form-item> |
| 126 | 79 | </el-col> |
| 127 | 80 | </el-row> |
| 81 | + <el-form-item label="详细位置" prop="detailedLocation" v-if="editbgid.advertisingType == '实体广告位'"> | |
| 82 | + <div class="duiqi">{{editbgid.detailedLocation || '无'}}</div> | |
| 83 | + </el-form-item> | |
| 84 | + <el-form-item label="地图标点" prop="mapPunctuation" v-if="editbgid.advertisingType == '实体广告位'"> | |
| 85 | + <div style="width: 100%;height: 300px;"> | |
| 86 | + <newmap :isx="false" :message="editbgid.mapPunctuation"></newmap> | |
| 87 | + </div> | |
| 88 | + </el-form-item> | |
| 89 | + <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 90 | + <img v-for="item in editbgid.locationDiagram.split(',')" :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;"> | |
| 91 | + </el-form-item> | |
| 92 | + | |
| 93 | + <el-form-item label="备注信息" prop="memo" v-if="editbgid.advertisingType == '线上广告位'"> | |
| 94 | + <div class="duiqi">{{editbgid.memo || '无'}}</div> | |
| 95 | + </el-form-item> | |
| 128 | 96 | |
| 129 | 97 | |
| 130 | - <el-row :gutter="20"> | |
| 131 | - <el-col :span="12"> | |
| 132 | - <el-form-item label="位置示意图" prop="locationDiagram"> | |
| 133 | - <img :src="$baseURL+editbgid.locationDiagram" alt="" style="width:140px;height:140px;"> | |
| 134 | - </el-form-item> | |
| 135 | - </el-col> | |
| 136 | - | |
| 137 | - </el-row> | |
| 98 | + | |
| 138 | 99 | |
| 139 | 100 | |
| 140 | 101 | |
| ... | ... | @@ -196,6 +157,7 @@ |
| 196 | 157 | </template> |
| 197 | 158 | |
| 198 | 159 | <script> |
| 160 | + import newmap from "@/components/newmap/index"; | |
| 199 | 161 | import MapXian from "@/components/MapContainer/MapXian"; |
| 200 | 162 | import TitleWithCircle from '@/components/top/index'; |
| 201 | 163 | import { |
| ... | ... | @@ -205,7 +167,8 @@ |
| 205 | 167 | export default { |
| 206 | 168 | components: { |
| 207 | 169 | TitleWithCircle, |
| 208 | - MapXian | |
| 170 | + MapXian, | |
| 171 | + newmap | |
| 209 | 172 | }, |
| 210 | 173 | props: { |
| 211 | 174 | leixing: { |
| ... | ... | @@ -237,34 +200,20 @@ |
| 237 | 200 | } |
| 238 | 201 | cereResourceStrategylist(c1).then(res => { |
| 239 | 202 | console.error(res) |
| 203 | + if (!Array.isArray(res.data)) { | |
| 204 | + this.datalist = []; | |
| 205 | + return; | |
| 206 | + } | |
| 240 | 207 | this.datalist = res.data |
| 241 | 208 | }) |
| 242 | 209 | cereBusinessPlan(c1).then(res => { |
| 243 | 210 | console.error(res) |
| 244 | - this.datalist1 = res.data | |
| 245 | - }) | |
| 246 | - let dimensions_parts = this.editbgid.dimensions.split(" ") | |
| 247 | - let dimensions = this.editbgid.equipmentSize.split(" ") | |
| 248 | - | |
| 249 | - dimensions_parts.forEach(part => { | |
| 250 | - if (part.startsWith("长")) { | |
| 251 | - this.editbgid.dimensionsH = part.split(":")[1]; | |
| 252 | - } else if (part.startsWith("宽")) { | |
| 253 | - this.editbgid.dimensionsK = part.split(":")[1]; | |
| 254 | - } | |
| 255 | - }) | |
| 256 | - dimensions.forEach(part => { | |
| 257 | - if (part.startsWith("长")) { | |
| 258 | - this.editbgid.equipmentSizeH = part.split(":")[1]; | |
| 259 | - } else if (part.startsWith("宽")) { | |
| 260 | - this.editbgid.equipmentSizeK = part.split(":")[1]; | |
| 261 | - } else if (part.startsWith("高")) { | |
| 262 | - this.editbgid.equipmentSizeG = part.split(":")[1]; | |
| 211 | + if (!Array.isArray(res.data)) { | |
| 212 | + this.datalist1 = []; | |
| 213 | + return; | |
| 263 | 214 | } |
| 215 | + this.datalist1 = res.data | |
| 264 | 216 | }) |
| 265 | - if (this.leixing == false) { | |
| 266 | - this.parentMessage = JSON.parse(this.editbgid.mapPunctuation) | |
| 267 | - } | |
| 268 | 217 | } |
| 269 | 218 | |
| 270 | 219 | ... | ... |
admin-web-master/src/components/change/cl.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="policy-selector"> |
| 3 | - <!-- <div class="policy-selector-header"> | |
| 4 | - <h3>选择策略</h3> | |
| 5 | - </div> --> | |
| 6 | - <div class="policy-selector-content" style="max-height:50vh;overflow-y: auto;"> | |
| 7 | - <el-table | |
| 8 | - :data="celueData" | |
| 9 | - tooltip-effect="dark" | |
| 10 | - @selection-change="handleSelectionChange" | |
| 11 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 12 | - > | |
| 13 | - <el-table-column label="选择" type="selection" width="55"></el-table-column> | |
| 14 | - <el-table-column label="策略名称" prop="policyName" min-width="200"></el-table-column> | |
| 15 | - <el-table-column label="适用资源" prop="applicableResources" min-width="100"></el-table-column> | |
| 16 | - <el-table-column label="经营类型" prop="businessType" min-width="150"></el-table-column> | |
| 17 | - <el-table-column label="租金价格" prop="rentalPrice" min-width="150"></el-table-column> | |
| 18 | - <el-table-column label="租期" prop="leaseTerm" min-width="100"></el-table-column> | |
| 19 | - <el-table-column label="是否出租" prop="planningObjectives" min-width="100"> | |
| 20 | - <template slot-scope="scope"> | |
| 21 | - {{ scope.row.isrental == '0' ? '否' : '是' }} | |
| 22 | - </template> | |
| 23 | - </el-table-column> | |
| 24 | - <el-table-column label="是否自营" prop="planningObjectives" min-width="100"> | |
| 25 | - <template slot-scope="scope"> | |
| 26 | - {{ scope.row.isSelfOperated == '0' ? '否' : '是' }} | |
| 27 | - </template> | |
| 28 | - </el-table-column> | |
| 29 | - </el-table> | |
| 3 | + <div class="policy-selector-content"> | |
| 4 | + <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong"> | |
| 5 | + <div | |
| 6 | + style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 7 | + <div style="line-height:200%">选择策略</div> | |
| 8 | + <div style="display: flex"> | |
| 9 | + <el-input placeholder="请输入" suffix-icon="el-icon-search" style="margin-right:15px;width: 40%;" | |
| 10 | + v-model="pageindex.policyName"> | |
| 11 | + </el-input> | |
| 12 | + <el-button @click="onSearch" style="background-color: #3F9B6A;color: #fff">查询 | |
| 13 | + </el-button> | |
| 14 | + <el-button @click="resetting" class="buttonHover" | |
| 15 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 16 | + </el-button> | |
| 17 | + </div> | |
| 18 | + </div> | |
| 19 | + <div style="padding: 15px;"> | |
| 20 | + <div style="padding: 0px 20px 0px 0px;max-height:40vh;overflow-y: auto;"> | |
| 21 | + <el-table :data="celueData" tooltip-effect="dark" @selection-change="handleSelectionChange" | |
| 22 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 23 | + <el-table-column label="选择" type="selection" width="55"> | |
| 24 | + </el-table-column> | |
| 25 | + <el-table-column label="策略名称" prop="policyName" show-overflow-tooltip></el-table-column> | |
| 26 | + <el-table-column label="适用资源" prop="applicableResources" show-overflow-tooltip></el-table-column> | |
| 27 | + <el-table-column label="租金价格" prop="rentalPrice" show-overflow-tooltip></el-table-column> | |
| 28 | + <el-table-column label="付款周期" prop="leaseTerm" show-overflow-tooltip></el-table-column> | |
| 29 | + <el-table-column label="付款日" prop="payDay" show-overflow-tooltip></el-table-column> | |
| 30 | + </el-table> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + </div> | |
| 34 | + </div> | |
| 35 | + <div style="display: flex;justify-content: space-between;margin: 20px 0;" class="bom"> | |
| 36 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{total}}</span> 项数据</div> | |
| 37 | + <el-pagination :current-page="pageindex.pageNumber+1" :page-sizes="[5,10, 20, 50, 100]" :page-size="pageindex.pageSize" background | |
| 38 | + small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" | |
| 39 | + @current-change="handleCurrentChange"> | |
| 40 | + </el-pagination> | |
| 30 | 41 | </div> |
| 31 | 42 | <div class="policy-selector-footer" style="display: flex; justify-content: flex-end; align-items: center;"> |
| 32 | 43 | <el-button @click="confirm" style="background-color: #3F9B6A;color: #fff;">确定</el-button> |
| 33 | - <el-button @click="cancel" class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消</el-button> | |
| 44 | + <el-button @click="cancel" class="buttonHover" | |
| 45 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消</el-button> | |
| 34 | 46 | </div> |
| 35 | 47 | </div> |
| 36 | 48 | </template> |
| ... | ... | @@ -39,64 +51,89 @@ |
| 39 | 51 | import { |
| 40 | 52 | ceGetAll |
| 41 | 53 | } from '@/api/sam.js' |
| 42 | -export default { | |
| 43 | - name: 'PolicySelector', | |
| 44 | - data() { | |
| 45 | - return { | |
| 54 | + export default { | |
| 55 | + name: 'PolicySelector', | |
| 56 | + data() { | |
| 57 | + return { | |
| 58 | + total: 0, | |
| 46 | 59 | pageindex: { |
| 47 | - pageNumber: 1, | |
| 48 | - pageSize: 10, | |
| 60 | + pageNumber: 0, | |
| 61 | + pageSize: 5, | |
| 62 | + policyName: '' | |
| 49 | 63 | }, |
| 50 | - selectedRows: [], | |
| 51 | - celueData: [] | |
| 52 | - }; | |
| 53 | - }, | |
| 54 | - async created() { | |
| 55 | - const celue = await ceGetAll(this.pageindex) | |
| 56 | - this.celueData = celue.data.content | |
| 57 | - }, | |
| 58 | - methods: { | |
| 59 | - handleSelectionChange(selection) { | |
| 60 | - this.selectedRows = selection; | |
| 64 | + selectedRows: [], | |
| 65 | + celueData: [] | |
| 66 | + }; | |
| 61 | 67 | }, |
| 62 | - confirm() { | |
| 63 | - this.$emit('minSev', this.selectedRows); | |
| 68 | + created() { | |
| 69 | + this.getAll() | |
| 64 | 70 | }, |
| 65 | - cancel() { | |
| 66 | - this.$emit('mingClose'); | |
| 71 | + methods: { | |
| 72 | + async getAll() { | |
| 73 | + const celue = await ceGetAll(this.pageindex) | |
| 74 | + this.celueData = celue.data.content | |
| 75 | + this.total = celue.data.totalElements | |
| 76 | + }, | |
| 77 | + handleCurrentChange(val) { | |
| 78 | + this.pageindex.pageNumber = val-1 | |
| 79 | + this.getAll() | |
| 80 | + }, | |
| 81 | + handleSizeChange(val) { | |
| 82 | + this.pageindex.pageSize = val | |
| 83 | + }, | |
| 84 | + onSearch() { | |
| 85 | + this.pageindex.pageNumber = 0 | |
| 86 | + this.getAll() | |
| 87 | + }, | |
| 88 | + resetting() { | |
| 89 | + this.pageindex ={ | |
| 90 | + pageNumber: 0, | |
| 91 | + pageSize: 5, | |
| 92 | + policyName: '' | |
| 93 | + } | |
| 94 | + this.getAll() | |
| 95 | + }, | |
| 96 | + handleSelectionChange(selection) { | |
| 97 | + this.selectedRows = selection; | |
| 98 | + }, | |
| 99 | + confirm() { | |
| 100 | + this.$emit('minSev', this.selectedRows); | |
| 101 | + }, | |
| 102 | + cancel() { | |
| 103 | + this.$emit('mingClose'); | |
| 104 | + } | |
| 67 | 105 | } |
| 68 | - } | |
| 69 | -}; | |
| 106 | + }; | |
| 70 | 107 | </script> |
| 71 | 108 | |
| 72 | 109 | <style scoped> |
| 73 | -.policy-selector { | |
| 74 | - padding: 20px; | |
| 75 | - width: 100%; | |
| 76 | - margin: 0 auto; | |
| 77 | - border: 1px solid #ddd; | |
| 78 | - border-radius: 4px; | |
| 79 | - /* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); */ | |
| 80 | -} | |
| 110 | + .policy-selector { | |
| 111 | + padding: 20px; | |
| 112 | + width: 100%; | |
| 113 | + margin: 0 auto; | |
| 114 | + border: 1px solid #ddd; | |
| 115 | + /* border-radius: 4px; */ | |
| 116 | + /* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); */ | |
| 117 | + } | |
| 81 | 118 | |
| 82 | -.policy-selector-header { | |
| 83 | - text-align: left; | |
| 84 | - margin-bottom: 20px; | |
| 85 | -} | |
| 119 | + .policy-selector-header { | |
| 120 | + text-align: left; | |
| 121 | + margin-bottom: 20px; | |
| 122 | + } | |
| 86 | 123 | |
| 87 | -.policy-selector-header h3 { | |
| 88 | - margin: 0; | |
| 89 | - font-size: 18px; | |
| 90 | - color: #303133; | |
| 91 | -} | |
| 124 | + .policy-selector-header h3 { | |
| 125 | + margin: 0; | |
| 126 | + font-size: 18px; | |
| 127 | + color: #303133; | |
| 128 | + } | |
| 92 | 129 | |
| 93 | -.policy-selector-content { | |
| 94 | - margin-bottom: 20px; | |
| 95 | -} | |
| 130 | + .policy-selector-content { | |
| 131 | + margin-bottom: 20px; | |
| 132 | + } | |
| 96 | 133 | |
| 97 | -.policy-selector-footer { | |
| 98 | - display: flex; | |
| 99 | - justify-content: flex-end; | |
| 100 | - align-items: center; | |
| 101 | -} | |
| 102 | -</style> | |
| 103 | 134 | \ No newline at end of file |
| 135 | + .policy-selector-footer { | |
| 136 | + display: flex; | |
| 137 | + justify-content: flex-end; | |
| 138 | + align-items: center; | |
| 139 | + } | |
| 140 | +</style> | ... | ... |
admin-web-master/src/components/change/zy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="policy-selector"> | |
| 3 | + <div class="policy-selector-content"> | |
| 4 | + <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong"> | |
| 5 | + <div | |
| 6 | + style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 7 | + <div style="line-height:200%">选择资源</div> | |
| 8 | + <div style="display: flex"> | |
| 9 | + <el-input placeholder="请输入" suffix-icon="el-icon-search" style="margin-right:15px;width: 40%;" | |
| 10 | + v-model="pageindex.policyName"> | |
| 11 | + </el-input> | |
| 12 | + <el-button @click="onSearch" style="background-color: #3F9B6A;color: #fff">查询 | |
| 13 | + </el-button> | |
| 14 | + <el-button @click="resetting" class="buttonHover" | |
| 15 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 16 | + </el-button> | |
| 17 | + </div> | |
| 18 | + </div> | |
| 19 | + <div style="padding: 15px;"> | |
| 20 | + <div style="padding: 0px 20px 0px 0px;max-height:40vh;overflow-y: auto;"> | |
| 21 | + <el-table :data="ziyuanData" tooltip-effect="dark" @selection-change="handleSelectionChange" | |
| 22 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 23 | + <el-table-column label="选择" type="selection" width="55"> | |
| 24 | + </el-table-column> | |
| 25 | + <el-table-column label="编号" prop="id"> | |
| 26 | + | |
| 27 | + </el-table-column> | |
| 28 | + <el-table-column label="资源名称"> | |
| 29 | + <template slot-scope="scope"> | |
| 30 | + {{scope.row.shopName ? scope.row.shopName : scope.row.advertisingName?scope.row.advertisingName:scope.row.venueName}} | |
| 31 | + </template> | |
| 32 | + </el-table-column> | |
| 33 | + <el-table-column label="资源类型"> | |
| 34 | + <template slot-scope="scope"> | |
| 35 | + {{scope.row.shopName ? '商铺' : scope.row.advertisingType?scope.row.advertisingType:'场地'}} | |
| 36 | + </template> | |
| 37 | + </el-table-column> | |
| 38 | + </el-table> | |
| 39 | + </div> | |
| 40 | + </div> | |
| 41 | + </div> | |
| 42 | + </div> | |
| 43 | + <!-- <div style="display: flex;justify-content: space-between;margin: 20px 0;" class="bom"> | |
| 44 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{total}}</span> 项数据</div> | |
| 45 | + <el-pagination :current-page="pageindex.pageNumber+1" :page-sizes="[5,10, 20, 50, 100]" :page-size="pageindex.pageSize" background | |
| 46 | + small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" | |
| 47 | + @current-change="handleCurrentChange"> | |
| 48 | + </el-pagination> | |
| 49 | + </div> --> | |
| 50 | + <div class="policy-selector-footer" style="display: flex; justify-content: flex-end; align-items: center;"> | |
| 51 | + <el-button @click="confirm" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 52 | + <el-button @click="cancel" class="buttonHover" | |
| 53 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消</el-button> | |
| 54 | + </div> | |
| 55 | + </div> | |
| 56 | +</template> | |
| 57 | + | |
| 58 | +<script> | |
| 59 | + import { | |
| 60 | + getAlls, | |
| 61 | + changAlls | |
| 62 | + } from '@/api/information.js' | |
| 63 | + import { | |
| 64 | + getAlls as map1 | |
| 65 | + } from '@/api/map1.js' | |
| 66 | + export default { | |
| 67 | + name: 'PolicySelector', | |
| 68 | + data() { | |
| 69 | + return { | |
| 70 | + total: 0, | |
| 71 | + pageindex: { | |
| 72 | + pageNumber: 0, | |
| 73 | + pageSize: 5, | |
| 74 | + policyName: '' | |
| 75 | + }, | |
| 76 | + selectedRows: [], | |
| 77 | + ziyuanData: [] | |
| 78 | + }; | |
| 79 | + }, | |
| 80 | + created() { | |
| 81 | + this.getAll() | |
| 82 | + }, | |
| 83 | + methods: { | |
| 84 | + async getAll() { | |
| 85 | + const ziyuan = await getAlls(this.pageindex) | |
| 86 | + const ggw = await map1(this.pageindex) | |
| 87 | + const changdi = await changAlls(this.pageindex) | |
| 88 | + this.ziyuanData = [...ziyuan.data.content, ...ggw.data.content, ...changdi.data.content] | |
| 89 | + // console.error(this.ziyuanData) | |
| 90 | + // this.total = celue.data.totalElements | |
| 91 | + }, | |
| 92 | + handleCurrentChange(val) { | |
| 93 | + this.pageindex.pageNumber = val-1 | |
| 94 | + this.getAll() | |
| 95 | + }, | |
| 96 | + handleSizeChange(val) { | |
| 97 | + this.pageindex.pageSize = val | |
| 98 | + }, | |
| 99 | + onSearch() { | |
| 100 | + this.pageindex.pageNumber = 0 | |
| 101 | + this.getAll() | |
| 102 | + }, | |
| 103 | + resetting() { | |
| 104 | + this.pageindex ={ | |
| 105 | + pageNumber: 0, | |
| 106 | + pageSize: 5, | |
| 107 | + policyName: '' | |
| 108 | + } | |
| 109 | + this.getAll() | |
| 110 | + }, | |
| 111 | + handleSelectionChange(selection) { | |
| 112 | + this.selectedRows = selection; | |
| 113 | + }, | |
| 114 | + confirm() { | |
| 115 | + this.$emit('minSev', this.selectedRows); | |
| 116 | + }, | |
| 117 | + cancel() { | |
| 118 | + this.$emit('mingClose'); | |
| 119 | + } | |
| 120 | + } | |
| 121 | + }; | |
| 122 | +</script> | |
| 123 | + | |
| 124 | +<style scoped> | |
| 125 | + .policy-selector { | |
| 126 | + padding: 20px; | |
| 127 | + width: 100%; | |
| 128 | + margin: 0 auto; | |
| 129 | + border: 1px solid #ddd; | |
| 130 | + /* border-radius: 4px; */ | |
| 131 | + /* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); */ | |
| 132 | + } | |
| 133 | + | |
| 134 | + .policy-selector-header { | |
| 135 | + text-align: left; | |
| 136 | + margin-bottom: 20px; | |
| 137 | + } | |
| 138 | + | |
| 139 | + .policy-selector-header h3 { | |
| 140 | + margin: 0; | |
| 141 | + font-size: 18px; | |
| 142 | + color: #303133; | |
| 143 | + } | |
| 144 | + | |
| 145 | + .policy-selector-content { | |
| 146 | + margin-bottom: 20px; | |
| 147 | + } | |
| 148 | + | |
| 149 | + .policy-selector-footer { | |
| 150 | + display: flex; | |
| 151 | + justify-content: flex-end; | |
| 152 | + align-items: center; | |
| 153 | + } | |
| 154 | +</style> | ... | ... |
admin-web-master/src/components/fujianUpload/fujianList copy 2.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <el-upload | |
| 3 | + :auto-upload="false" multiple :action="uploadFileUrl" :accept="fileType" :on-change="handleUpload":on-success="handleUploadSuccess" | |
| 4 | + :limit="limit" :on-error="handleUploadError" :on-exceed="handleExceed" :on-remove="handleRemove" :headers="headers" :file-list="fileList" | |
| 5 | + :on-preview="handlePictureCardPreview" :class="{hide: this.fileList.length >= this.limit}"> | |
| 6 | + <div style="display: flex;align-items: center;"> | |
| 7 | + <el-button v-if="fileList.length < limit" style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;" class="buttonHover"> | |
| 8 | + <div style="display: flex;align-items: center;"> | |
| 9 | + <img src="@/assets/images/upload.png" style="width: 16px;height: 16px;margin-right: 4px;" alt=""> | |
| 10 | + <span style="">上传附件</span> | |
| 11 | + </div> | |
| 12 | + </el-button> | |
| 13 | + <div v-if="fileList.length < limit" slot="tip" class="tips" style="margin-left: 10px;">不超过{{ fileSize }}MB</div> | |
| 14 | + </div> | |
| 15 | + </el-upload> | |
| 16 | +</template> | |
| 17 | +<script> | |
| 18 | + import { | |
| 19 | + miniioupload | |
| 20 | + } from '@/api/commodityLease.js' | |
| 21 | + // import { getAccessToken } from '@/utils/auth' | |
| 22 | + import { | |
| 23 | + uploadUrl | |
| 24 | + } from '@/utils/request' | |
| 25 | + export default { | |
| 26 | + props: { | |
| 27 | + value: [String, Object, Array], | |
| 28 | + // 图片数量限制 | |
| 29 | + limit: { | |
| 30 | + type: Number, | |
| 31 | + default: 1 | |
| 32 | + }, | |
| 33 | + filePath: { | |
| 34 | + type: String, | |
| 35 | + default: 'other' | |
| 36 | + }, | |
| 37 | + // 大小限制(MB) | |
| 38 | + fileSize: { | |
| 39 | + type: Number, | |
| 40 | + default: 5 | |
| 41 | + }, | |
| 42 | + // 文件类型, 例如['png', 'jpg', 'jpeg'] | |
| 43 | + fileType: { | |
| 44 | + type: String, | |
| 45 | + default:'.bmp,.jpg,.jpeg,.png', | |
| 46 | + }, | |
| 47 | + // 是否显示提示 | |
| 48 | + isShowTip: { | |
| 49 | + type: Boolean, | |
| 50 | + default: true | |
| 51 | + } | |
| 52 | + }, | |
| 53 | + data() { | |
| 54 | + return { | |
| 55 | + | |
| 56 | + host: '', | |
| 57 | + number: 0, | |
| 58 | + uploadList: [], | |
| 59 | + dialogImageUrl: '', | |
| 60 | + dialogVisible: false, | |
| 61 | + hideUpload: false, | |
| 62 | + uploadFileUrl: uploadUrl, // 请求地址 | |
| 63 | + headers: { | |
| 64 | + Authorization: '' | |
| 65 | + }, // 设置上传的请求头部 | |
| 66 | + fileList: [], | |
| 67 | + } | |
| 68 | + }, | |
| 69 | + computed: { | |
| 70 | + // 是否显示提示 | |
| 71 | + showTip() { | |
| 72 | + return this.isShowTip && (this.fileType || this.fileSize) | |
| 73 | + } | |
| 74 | + }, | |
| 75 | + watch: { | |
| 76 | + value: { | |
| 77 | + handler(val) { | |
| 78 | + if (val) { | |
| 79 | + // 首先将值转为数组 | |
| 80 | + this.uploadList = [] | |
| 81 | + const list = Array.isArray(val) ? val : this.value.split(',') | |
| 82 | + // 然后将数组转为对象数组 | |
| 83 | + for (const item of list) { | |
| 84 | + if (typeof item === 'string') { | |
| 85 | + let info = { | |
| 86 | + name: this.$baseURL+item, | |
| 87 | + url: this.$baseURL+item | |
| 88 | + } | |
| 89 | + this.uploadList.push(item) | |
| 90 | + this.fileList.push(info) | |
| 91 | + } | |
| 92 | + } | |
| 93 | + } else { | |
| 94 | + this.uploadList = [] | |
| 95 | + this.fileList = [] | |
| 96 | + return [] | |
| 97 | + } | |
| 98 | + }, | |
| 99 | + deep: true, | |
| 100 | + immediate: true | |
| 101 | + } | |
| 102 | + }, | |
| 103 | + methods: { | |
| 104 | + checkFileType(file) { | |
| 105 | + console.error(file) | |
| 106 | + let { | |
| 107 | + accept | |
| 108 | + } = this.options; | |
| 109 | + if (!accept || accept === '*') { | |
| 110 | + return true; | |
| 111 | + } | |
| 112 | + accept = accept.toLowerCase().replace(/\s/g, ''); | |
| 113 | + const acceptTypeList = accept.split(','); | |
| 114 | + const fileType = file.name.match(/\.\w*$/)?.shift() ?? ''; | |
| 115 | + return acceptTypeList.includes(fileType.toLowerCase()); | |
| 116 | + }, | |
| 117 | + checkSize({ | |
| 118 | + size | |
| 119 | + }) { | |
| 120 | + return size <= this.options.limitSize * 1024 * 1024; | |
| 121 | + }, | |
| 122 | + filesCheck(files) { | |
| 123 | + const limit = this.limit; | |
| 124 | + const limitSize = this.fileSize; | |
| 125 | + const accept = this.fileType; | |
| 126 | + if (this.uploadList.length + files.length > limit) { | |
| 127 | + this.$message.error(`最多上传${limit}个文件`); | |
| 128 | + return false; | |
| 129 | + } | |
| 130 | + for (let index = 0; index < files.length; index++) { | |
| 131 | + const file = files[index]; | |
| 132 | + if (!this.checkFileType(file)) { | |
| 133 | + this.$message.error(`请上传${accept}等格式`); | |
| 134 | + return false; | |
| 135 | + } | |
| 136 | + if (!this.checkSize(file)) { | |
| 137 | + this.$message.error(`文件大小不能超过 ${limitSize}MB!`); | |
| 138 | + return false; | |
| 139 | + } | |
| 140 | + } | |
| 141 | + | |
| 142 | + return true; | |
| 143 | + }, | |
| 144 | + handleUpload(response) { | |
| 145 | + // if (!this.filesCheck(response)) { | |
| 146 | + // return; | |
| 147 | + // } | |
| 148 | + // console.error(response) | |
| 149 | + // return | |
| 150 | + let fd = new FormData() | |
| 151 | + fd.append('file', response.raw) | |
| 152 | + fd.append('filePath',this.filePath) | |
| 153 | + miniioupload(fd).then(res => { | |
| 154 | + console.error(res) | |
| 155 | + const fileMsg = { | |
| 156 | + name: response.name, | |
| 157 | + url: this.$baseURL + res.data, | |
| 158 | + } | |
| 159 | + this.fileList.push(fileMsg) | |
| 160 | + this.uploadList.push(res.data) | |
| 161 | + this.$emit('changimg',this.uploadList.join(',')) | |
| 162 | + }) | |
| 163 | + }, | |
| 164 | + // 删除图片 | |
| 165 | + handleRemove(file, fileList) { | |
| 166 | + this.fileList = [] | |
| 167 | + this.uploadList = [] | |
| 168 | + this.$emit('changimg',this.uploadList.join(',')) | |
| 169 | + // const findex = this.fileList.map(f => f.name).indexOf(file.name) | |
| 170 | + // if (findex > -1) { | |
| 171 | + // this.fileList.splice(findex, 1) | |
| 172 | + // this.uploadList.splice(findex, 1) | |
| 173 | + | |
| 174 | + // } | |
| 175 | + }, | |
| 176 | + // 上传成功回调 | |
| 177 | + handleUploadSuccess(res) { | |
| 178 | + this.uploadList.push({ | |
| 179 | + name: res.data.url, | |
| 180 | + url: res.data.url | |
| 181 | + }) | |
| 182 | + console.log(this.uploadList) | |
| 183 | + if (this.uploadList.length === this.number) { | |
| 184 | + this.fileList = this.fileList.concat(this.uploadList) | |
| 185 | + this.uploadList = [] | |
| 186 | + this.number = 0 | |
| 187 | + this.$emit('input', this.listToString(this.fileList)) | |
| 188 | + // this.$modal.closeLoading() | |
| 189 | + } | |
| 190 | + }, | |
| 191 | + // 上传前loading加载 | |
| 192 | + handleBeforeUpload(file) { | |
| 193 | + // let isImg = false | |
| 194 | + // if (this.fileType.length) { | |
| 195 | + // let fileExtension = '' | |
| 196 | + // if (file.name.lastIndexOf('.') > -1) { | |
| 197 | + // fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1) | |
| 198 | + // } | |
| 199 | + // isImg = this.fileType.some(type => { | |
| 200 | + // if (file.type.indexOf(type) > -1) return true | |
| 201 | + // if (fileExtension && fileExtension.indexOf(type) > -1) return true | |
| 202 | + // return false | |
| 203 | + // }) | |
| 204 | + // } else { | |
| 205 | + // isImg = file.type.indexOf('image') > -1 | |
| 206 | + // } | |
| 207 | + | |
| 208 | + // if (!isImg) { | |
| 209 | + // this.$message.error(`文件格式不正确, 请上传${this.fileType.join('/')}图片格式文件!`) | |
| 210 | + // return false | |
| 211 | + // } | |
| 212 | + // if (this.fileSize) { | |
| 213 | + // const isLt = file.size / 1024 / 1024 < this.fileSize | |
| 214 | + // if (!isLt) { | |
| 215 | + // this.$message.error(`上传头像图片大小不能超过 ${this.fileSize} MB!`) | |
| 216 | + // return false | |
| 217 | + // } | |
| 218 | + // } | |
| 219 | + // this.$message.warning('正在上传图片,请稍候...') | |
| 220 | + // this.number++ | |
| 221 | + }, | |
| 222 | + // 文件个数超出 | |
| 223 | + handleExceed() { | |
| 224 | + this.$message.error(`上传文件数量不能超过 ${this.limit} 个!`) | |
| 225 | + }, | |
| 226 | + // 上传失败 | |
| 227 | + handleUploadError() { | |
| 228 | + this.$message.error('上传图片失败,请重试') | |
| 229 | + // this.$modal.closeLoading() | |
| 230 | + }, | |
| 231 | + // 预览 | |
| 232 | + handlePictureCardPreview(file) { | |
| 233 | + this.dialogImageUrl = file.url | |
| 234 | + this.dialogVisible = true | |
| 235 | + }, | |
| 236 | + // 对象转成指定字符串分隔 | |
| 237 | + listToString(list, separator) { | |
| 238 | + let strs = '' | |
| 239 | + separator = separator || ',' | |
| 240 | + for (const i in list) { | |
| 241 | + strs += list[i].url.replace(this.baseUrl, '') + separator | |
| 242 | + } | |
| 243 | + return strs !== '' ? strs.substr(0, strs.length - 1) : '' | |
| 244 | + } | |
| 245 | + } | |
| 246 | + } | |
| 247 | +</script> | |
| 248 | +<style lang="scss" scoped> | |
| 249 | + ::v-deep .el-upload { | |
| 250 | + text-align: left !important; | |
| 251 | + } | |
| 252 | + .tips { | |
| 253 | + color: #0006; | |
| 254 | + font: 14px 'Alibaba PuHuiTi 2.0-55 Regular'; | |
| 255 | + line-height: 38px; | |
| 256 | + } | |
| 257 | +</style> | |
| 0 | 258 | \ No newline at end of file | ... | ... |
admin-web-master/src/components/fujianUpload/fujianList.vue
| 1 | 1 | <template> |
| 2 | - <el-upload | |
| 3 | - :auto-upload="false" multiple :action="uploadFileUrl" :accept="fileType" :on-change="handleUpload":on-success="handleUploadSuccess" | |
| 4 | - :limit="limit" :on-error="handleUploadError" :on-exceed="handleExceed" :on-remove="handleRemove" :headers="headers" :file-list="fileList" | |
| 5 | - :on-preview="handlePictureCardPreview" :class="{hide: this.fileList.length >= this.limit}"> | |
| 6 | - <div style="display: flex;align-items: center;"> | |
| 7 | - <el-button v-if="fileList.length < limit" style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;" class="buttonHover"> | |
| 8 | - <div style="display: flex;align-items: center;"> | |
| 9 | - <img src="@/assets/images/upload.png" style="width: 16px;height: 16px;margin-right: 4px;" alt=""> | |
| 10 | - <span style="">上传附件</span> | |
| 2 | + <div class="upload-container"> | |
| 3 | + <div class="card-list-box"> | |
| 4 | + | |
| 5 | + <div style="position: relative;width: 100%;"> | |
| 6 | + <input :accept="options.accept" style="opacity: 0;position: absolute;" :id="inputtype" ref="fileInput" type="file" :multiple="true" | |
| 7 | + @change="handleUploadFile" /> | |
| 8 | + <div v-if="localValue && localValue.length < options.limit && !options.disabled" style="display: flex;align-items: center;width: 100%;"> | |
| 9 | + <el-button @click="handleUpload" style="background-color: #fff;color: #000;border: 1px solid #dcdfe6;" class="buttonHover"> | |
| 10 | + <div style="display: flex;align-items: center;"> | |
| 11 | + <img src="@/assets/images/upload.png" style="width: 16px;height: 16px;margin-right: 4px;" alt=""> | |
| 12 | + <span style="">上传附件</span> | |
| 13 | + </div> | |
| 14 | + </el-button> | |
| 15 | + <div class="tips" style="margin-left: 10px;">不超过{{ options.limitSize }}MB</div> | |
| 16 | + </div> | |
| 17 | + </div> | |
| 18 | + <div v-for="(file, i) in localValue" :key="'upload-BaseImage' + i" style="display: flex;justify-content: space-between;width: 100%;"> | |
| 19 | + <div>文件{{i+1}}</div> | |
| 20 | + <div title="删除" class="delete-box" | |
| 21 | + @click="handleDeleteImg(file, i)"> | |
| 22 | + <i class="el-icon-close"></i> | |
| 11 | 23 | </div> |
| 12 | - </el-button> | |
| 13 | - <div v-if="fileList.length < limit" slot="tip" class="tips" style="margin-left: 10px;">不超过{{ fileSize }}MB</div> | |
| 24 | + </div> | |
| 14 | 25 | </div> |
| 15 | - </el-upload> | |
| 26 | + </div> | |
| 16 | 27 | </template> |
| 28 | + | |
| 17 | 29 | <script> |
| 30 | + // import { uploadFiles, uploadStraightFile } from '@/api/commonApi/file'; | |
| 18 | 31 | import { |
| 19 | 32 | miniioupload |
| 20 | 33 | } from '@/api/commodityLease.js' |
| 21 | - // import { getAccessToken } from '@/utils/auth' | |
| 22 | - import { | |
| 23 | - uploadUrl | |
| 24 | - } from '@/utils/request' | |
| 34 | + import BaseImage from '@/components/BaseImage/index.vue'; | |
| 35 | + | |
| 25 | 36 | export default { |
| 37 | + components: { | |
| 38 | + BaseImage, | |
| 39 | + }, | |
| 40 | + name: 'BaseUpload', | |
| 26 | 41 | props: { |
| 27 | - value: [String, Object, Array], | |
| 28 | - // 图片数量限制 | |
| 29 | - limit: { | |
| 30 | - type: Number, | |
| 31 | - default: 1 | |
| 42 | + value: { | |
| 43 | + type: String, | |
| 44 | + default: '', | |
| 45 | + }, | |
| 46 | + cmpOption: { | |
| 47 | + type: Object, | |
| 48 | + default: () => ({ | |
| 49 | + disabled: false, | |
| 50 | + isSetCover: true, | |
| 51 | + }), | |
| 32 | 52 | }, |
| 33 | 53 | filePath: { |
| 34 | 54 | type: String, |
| 35 | - default: 'other' | |
| 36 | - }, | |
| 37 | - // 大小限制(MB) | |
| 38 | - fileSize: { | |
| 39 | - type: Number, | |
| 40 | - default: 5 | |
| 55 | + default: 'other', | |
| 41 | 56 | }, |
| 42 | - // 文件类型, 例如['png', 'jpg', 'jpeg'] | |
| 43 | - fileType: { | |
| 57 | + inputtype: { | |
| 44 | 58 | type: String, |
| 45 | - default:'.bmp,.jpg,.jpeg,.png', | |
| 59 | + default: '', | |
| 60 | + }, | |
| 61 | + limit: { | |
| 62 | + type: Number, | |
| 63 | + default: 1, | |
| 46 | 64 | }, |
| 47 | - // 是否显示提示 | |
| 48 | - isShowTip: { | |
| 49 | - type: Boolean, | |
| 50 | - default: true | |
| 51 | - } | |
| 52 | 65 | }, |
| 53 | 66 | data() { |
| 54 | 67 | return { |
| 55 | - | |
| 56 | - host: '', | |
| 57 | - number: 0, | |
| 58 | - uploadList: [], | |
| 59 | - dialogImageUrl: '', | |
| 60 | - dialogVisible: false, | |
| 61 | - hideUpload: false, | |
| 62 | - uploadFileUrl: uploadUrl, // 请求地址 | |
| 63 | - headers: { | |
| 64 | - Authorization: '' | |
| 65 | - }, // 设置上传的请求头部 | |
| 66 | - fileList: [], | |
| 67 | - } | |
| 68 | - }, | |
| 69 | - computed: { | |
| 70 | - // 是否显示提示 | |
| 71 | - showTip() { | |
| 72 | - return this.isShowTip && (this.fileType || this.fileSize) | |
| 73 | - } | |
| 68 | + fileList:[], | |
| 69 | + onforIndex:0, | |
| 70 | + localValue: [], | |
| 71 | + options: { | |
| 72 | + limitSize: 10, | |
| 73 | + accept: '.mp4', | |
| 74 | + multiple: false, | |
| 75 | + limit: 1, | |
| 76 | + disabled: false, | |
| 77 | + field: 'files', | |
| 78 | + reqParams: { | |
| 79 | + code: 2000 | |
| 80 | + }, | |
| 81 | + }, | |
| 82 | + reactiveData: { | |
| 83 | + files: [], | |
| 84 | + filesIng: [], | |
| 85 | + status: 'uploading', | |
| 86 | + message: '上传中...', | |
| 87 | + total: 0, | |
| 88 | + loaded: 0, | |
| 89 | + lengthComputable: false, | |
| 90 | + }, | |
| 91 | + }; | |
| 74 | 92 | }, |
| 75 | 93 | watch: { |
| 94 | + limit: { | |
| 95 | + handler() { | |
| 96 | + this.options.limit= this.limit | |
| 97 | + }, | |
| 98 | + immediate: true, | |
| 99 | + }, | |
| 100 | + cmpOption: { | |
| 101 | + handler() { | |
| 102 | + this.setOptions(); | |
| 103 | + }, | |
| 104 | + immediate: true, | |
| 105 | + }, | |
| 76 | 106 | value: { |
| 77 | 107 | handler(val) { |
| 78 | - if (val) { | |
| 108 | + if (val && val !='') { | |
| 79 | 109 | // 首先将值转为数组 |
| 80 | - this.uploadList = [] | |
| 81 | 110 | const list = Array.isArray(val) ? val : this.value.split(',') |
| 82 | 111 | // 然后将数组转为对象数组 |
| 83 | - for (const item of list) { | |
| 112 | + this.fileList = list | |
| 113 | + this.localValue = list.map(item => { | |
| 84 | 114 | if (typeof item === 'string') { |
| 85 | - let info = { | |
| 86 | - name: this.$baseURL+item, | |
| 87 | - url: this.$baseURL+item | |
| 115 | + item = { | |
| 116 | + address: item, | |
| 88 | 117 | } |
| 89 | - this.uploadList.push(item) | |
| 90 | - this.fileList.push(info) | |
| 91 | 118 | } |
| 92 | - } | |
| 119 | + return item | |
| 120 | + }) | |
| 93 | 121 | } else { |
| 94 | - this.uploadList = [] | |
| 122 | + this.localValue = [] | |
| 95 | 123 | this.fileList = [] |
| 96 | 124 | return [] |
| 97 | 125 | } |
| 98 | 126 | }, |
| 99 | - deep: true, | |
| 100 | - immediate: true | |
| 101 | - } | |
| 127 | + immediate: true, | |
| 128 | + }, | |
| 102 | 129 | }, |
| 103 | 130 | methods: { |
| 104 | - checkFileType(file) { | |
| 105 | - console.error(file) | |
| 106 | - let { | |
| 107 | - accept | |
| 108 | - } = this.options; | |
| 109 | - if (!accept || accept === '*') { | |
| 110 | - return true; | |
| 131 | + async handleUploadFile(value) { | |
| 132 | + const files = value.target.files | |
| 133 | + if (!this.filesCheck(files)) { | |
| 134 | + return; | |
| 111 | 135 | } |
| 112 | - accept = accept.toLowerCase().replace(/\s/g, ''); | |
| 113 | - const acceptTypeList = accept.split(','); | |
| 114 | - const fileType = file.name.match(/\.\w*$/)?.shift() ?? ''; | |
| 115 | - return acceptTypeList.includes(fileType.toLowerCase()); | |
| 136 | + this.reactiveData.filesIng = new Array(files.length); | |
| 137 | + this.reactiveData.lengthComputable = false; | |
| 138 | + this.reactiveData.status = 'uploading'; | |
| 139 | + this.reactiveData.total = 0; | |
| 140 | + this.reactiveData.loaded = 0; | |
| 141 | + let c1 = await this.asyncFileUpload(Array.from(files)); | |
| 142 | + console.error('-----------') | |
| 143 | + console.error(this.localValue) | |
| 144 | + console.error(c1) | |
| 145 | + let list = [] | |
| 146 | + for (let i = 0; i < c1.length; i++) { | |
| 147 | + let info = { | |
| 148 | + address:c1[i] | |
| 149 | + } | |
| 150 | + list.push(info) | |
| 151 | + } | |
| 152 | + console.error(list) | |
| 153 | + this.localValue = [...this.localValue,...list] | |
| 154 | + this.reactiveData.filesIng = [] | |
| 155 | + this.fileList = [] | |
| 156 | + for (let i = 0; i < this.localValue.length; i++) { | |
| 157 | + this.fileList.push(this.localValue[i].address) | |
| 158 | + } | |
| 159 | + let urlstr = this.fileList.join(',') | |
| 160 | + this.$emit('changimg',urlstr) | |
| 161 | + | |
| 116 | 162 | }, |
| 117 | - checkSize({ | |
| 118 | - size | |
| 119 | - }) { | |
| 120 | - return size <= this.options.limitSize * 1024 * 1024; | |
| 163 | + setOptions() { | |
| 164 | + this.options = { | |
| 165 | + ...this.options, | |
| 166 | + ...this.cmpOption | |
| 167 | + }; | |
| 168 | + }, | |
| 169 | + uploadPercentage() { | |
| 170 | + return parseInt(String(this.reactiveData.loaded / (this.reactiveData.total / 100))); | |
| 171 | + }, | |
| 172 | + handleUpload() { | |
| 173 | + const input = document.querySelector('#'+this.inputtype) | |
| 174 | + input.click() | |
| 175 | + }, | |
| 176 | + async asyncFileUpload(formDataArray) { | |
| 177 | + console.error(formDataArray) | |
| 178 | + try { | |
| 179 | + // 初始化上传状态 | |
| 180 | + this.reactiveData.status = 'uploading'; | |
| 181 | + this.reactiveData.filesIng = formDataArray.map(() => ({ | |
| 182 | + status: 'pending', | |
| 183 | + loaded: 0, | |
| 184 | + total: 0 | |
| 185 | + })); | |
| 186 | + this.reactiveData.lengthComputable = false; | |
| 187 | + this.reactiveData.total = 0; | |
| 188 | + this.reactiveData.loaded = 0; | |
| 189 | + let list = [] | |
| 190 | + // 循环遍历每个文件并进行上传 | |
| 191 | + for (let i = 0; i < formDataArray.length; i++) { | |
| 192 | + const fileData = formDataArray[i]; | |
| 193 | + | |
| 194 | + // 创建一个新的 FormData 对象 | |
| 195 | + let fd = new FormData(); | |
| 196 | + fd.append('file', fileData); // 假设 formData 包含文件 | |
| 197 | + fd.append('filePath', this.filePath); | |
| 198 | + | |
| 199 | + // 更新当前文件的上传状态 | |
| 200 | + this.reactiveData.filesIng[i].status = 'uploading'; | |
| 201 | + | |
| 202 | + // 调用 miniioupload 方法并等待响应 | |
| 203 | + const res = await miniioupload(fd); | |
| 204 | + list.push(res.data) | |
| 205 | + // 处理成功响应 | |
| 206 | + this.reactiveData.filesIng[i].status = 'success'; | |
| 207 | + | |
| 208 | + } | |
| 209 | + | |
| 210 | + // 所有文件上传完成 | |
| 211 | + this.reactiveData.status = 'success'; | |
| 212 | + this.$message.success('文件上传成功'); | |
| 213 | + console.error(list) | |
| 214 | + return list | |
| 215 | + } catch (error) { | |
| 216 | + // 处理错误 | |
| 217 | + console.error('上传失败:', error); | |
| 218 | + this.reactiveData.status = 'error'; | |
| 219 | + this.reactiveData.filesIng = formDataArray.map(() => ({ | |
| 220 | + status: 'error', | |
| 221 | + loaded: 0, | |
| 222 | + total: 0 | |
| 223 | + })); | |
| 224 | + this.$message.error('上传失败'); | |
| 225 | + return [] | |
| 226 | + } | |
| 227 | + }, | |
| 228 | + async handleDeleteImg(file, i) { | |
| 229 | + let modelValue_ = this.localValue.filter((value, index) => index != i); | |
| 230 | + this.localValue = modelValue_ | |
| 231 | + this.fileList = [] | |
| 232 | + for (let i = 0; i < this.localValue.length; i++) { | |
| 233 | + this.fileList.push(this.localValue[i].address) | |
| 234 | + } | |
| 235 | + let urlstr = this.fileList.join(',') | |
| 236 | + this.$emit('changimg',urlstr) | |
| 237 | + }, | |
| 238 | + async handleSetCover(file, i) { | |
| 239 | + console.error(file, i) | |
| 240 | + this.onforIndex = i | |
| 121 | 241 | }, |
| 122 | 242 | filesCheck(files) { |
| 123 | - const limit = this.limit; | |
| 124 | - const limitSize = this.fileSize; | |
| 125 | - const accept = this.fileType; | |
| 126 | - if (this.uploadList.length + files.length > limit) { | |
| 243 | + const { | |
| 244 | + limitSize, | |
| 245 | + accept, | |
| 246 | + limit | |
| 247 | + } = this.options; | |
| 248 | + if (this.reactiveData.files.length + files.length > limit) { | |
| 127 | 249 | this.$message.error(`最多上传${limit}个文件`); |
| 128 | 250 | return false; |
| 129 | 251 | } |
| ... | ... | @@ -141,117 +263,162 @@ |
| 141 | 263 | |
| 142 | 264 | return true; |
| 143 | 265 | }, |
| 144 | - handleUpload(response) { | |
| 145 | - // if (!this.filesCheck(response)) { | |
| 146 | - // return; | |
| 147 | - // } | |
| 148 | - // console.error(response) | |
| 149 | - // return | |
| 150 | - let fd = new FormData() | |
| 151 | - fd.append('file', response.raw) | |
| 152 | - fd.append('filePath',this.filePath) | |
| 153 | - miniioupload(fd).then(res => { | |
| 154 | - console.error(res) | |
| 155 | - const fileMsg = { | |
| 156 | - name: response.name, | |
| 157 | - url: this.$baseURL + res.data, | |
| 158 | - } | |
| 159 | - this.fileList.push(fileMsg) | |
| 160 | - this.uploadList.push(res.data) | |
| 161 | - this.$emit('changimg',this.uploadList.join(',')) | |
| 162 | - }) | |
| 163 | - }, | |
| 164 | - // 删除图片 | |
| 165 | - handleRemove(file, fileList) { | |
| 166 | - this.fileList = [] | |
| 167 | - this.uploadList = [] | |
| 168 | - this.$emit('changimg',this.uploadList.join(',')) | |
| 169 | - // const findex = this.fileList.map(f => f.name).indexOf(file.name) | |
| 170 | - // if (findex > -1) { | |
| 171 | - // this.fileList.splice(findex, 1) | |
| 172 | - // this.uploadList.splice(findex, 1) | |
| 173 | - | |
| 174 | - // } | |
| 266 | + checkSize({ | |
| 267 | + size | |
| 268 | + }) { | |
| 269 | + return size <= this.options.limitSize * 1024 * 1024; | |
| 175 | 270 | }, |
| 176 | - // 上传成功回调 | |
| 177 | - handleUploadSuccess(res) { | |
| 178 | - this.uploadList.push({ | |
| 179 | - name: res.data.url, | |
| 180 | - url: res.data.url | |
| 181 | - }) | |
| 182 | - console.log(this.uploadList) | |
| 183 | - if (this.uploadList.length === this.number) { | |
| 184 | - this.fileList = this.fileList.concat(this.uploadList) | |
| 185 | - this.uploadList = [] | |
| 186 | - this.number = 0 | |
| 187 | - this.$emit('input', this.listToString(this.fileList)) | |
| 188 | - // this.$modal.closeLoading() | |
| 271 | + checkFileType(file) { | |
| 272 | + console.error(file) | |
| 273 | + let { | |
| 274 | + accept | |
| 275 | + } = this.options; | |
| 276 | + if (!accept || accept === '*') { | |
| 277 | + return true; | |
| 189 | 278 | } |
| 279 | + accept = accept.toLowerCase().replace(/\s/g, ''); | |
| 280 | + const acceptTypeList = accept.split(','); | |
| 281 | + const fileType = file.name.match(/\.\w*$/)?.shift() ?? ''; | |
| 282 | + return acceptTypeList.includes(fileType.toLowerCase()); | |
| 190 | 283 | }, |
| 191 | - // 上传前loading加载 | |
| 192 | - handleBeforeUpload(file) { | |
| 193 | - // let isImg = false | |
| 194 | - // if (this.fileType.length) { | |
| 195 | - // let fileExtension = '' | |
| 196 | - // if (file.name.lastIndexOf('.') > -1) { | |
| 197 | - // fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1) | |
| 198 | - // } | |
| 199 | - // isImg = this.fileType.some(type => { | |
| 200 | - // if (file.type.indexOf(type) > -1) return true | |
| 201 | - // if (fileExtension && fileExtension.indexOf(type) > -1) return true | |
| 202 | - // return false | |
| 203 | - // }) | |
| 204 | - // } else { | |
| 205 | - // isImg = file.type.indexOf('image') > -1 | |
| 206 | - // } | |
| 207 | - | |
| 208 | - // if (!isImg) { | |
| 209 | - // this.$message.error(`文件格式不正确, 请上传${this.fileType.join('/')}图片格式文件!`) | |
| 210 | - // return false | |
| 211 | - // } | |
| 212 | - // if (this.fileSize) { | |
| 213 | - // const isLt = file.size / 1024 / 1024 < this.fileSize | |
| 214 | - // if (!isLt) { | |
| 215 | - // this.$message.error(`上传头像图片大小不能超过 ${this.fileSize} MB!`) | |
| 216 | - // return false | |
| 217 | - // } | |
| 218 | - // } | |
| 219 | - // this.$message.warning('正在上传图片,请稍候...') | |
| 220 | - // this.number++ | |
| 221 | - }, | |
| 222 | - // 文件个数超出 | |
| 223 | - handleExceed() { | |
| 224 | - this.$message.error(`上传文件数量不能超过 ${this.limit} 个!`) | |
| 225 | - }, | |
| 226 | - // 上传失败 | |
| 227 | - handleUploadError() { | |
| 228 | - this.$message.error('上传图片失败,请重试') | |
| 229 | - // this.$modal.closeLoading() | |
| 230 | - }, | |
| 231 | - // 预览 | |
| 232 | - handlePictureCardPreview(file) { | |
| 233 | - this.dialogImageUrl = file.url | |
| 234 | - this.dialogVisible = true | |
| 235 | - }, | |
| 236 | - // 对象转成指定字符串分隔 | |
| 237 | - listToString(list, separator) { | |
| 238 | - let strs = '' | |
| 239 | - separator = separator || ',' | |
| 240 | - for (const i in list) { | |
| 241 | - strs += list[i].url.replace(this.baseUrl, '') + separator | |
| 242 | - } | |
| 243 | - return strs !== '' ? strs.substr(0, strs.length - 1) : '' | |
| 244 | - } | |
| 245 | - } | |
| 246 | - } | |
| 284 | + }, | |
| 285 | + }; | |
| 247 | 286 | </script> |
| 287 | + | |
| 248 | 288 | <style lang="scss" scoped> |
| 249 | - ::v-deep .el-upload { | |
| 250 | - text-align: left !important; | |
| 251 | - } | |
| 252 | - .tips { | |
| 289 | + .upload-container { | |
| 290 | + width: 100%; | |
| 291 | + | |
| 292 | + .tips { | |
| 253 | 293 | color: #0006; |
| 254 | 294 | font: 14px 'Alibaba PuHuiTi 2.0-55 Regular'; |
| 255 | 295 | line-height: 38px; |
| 256 | 296 | } |
| 257 | -</style> | |
| 258 | 297 | \ No newline at end of file |
| 298 | + | |
| 299 | + .action-box { | |
| 300 | + cursor: pointer; | |
| 301 | + padding-left: 10px; | |
| 302 | + | |
| 303 | + .default-action { | |
| 304 | + color: #3f9b6a; | |
| 305 | + } | |
| 306 | + } | |
| 307 | + | |
| 308 | + .card-list-box { | |
| 309 | + width: 100%; | |
| 310 | + display: flex; | |
| 311 | + flex-wrap: wrap; | |
| 312 | + | |
| 313 | + .card-item-box { | |
| 314 | + position: relative; | |
| 315 | + width: 112px; | |
| 316 | + height: 112px; | |
| 317 | + border: 1px dotted #dcdfe6; | |
| 318 | + border-radius: 2px; | |
| 319 | + overflow: hidden; | |
| 320 | + margin: 0 10px 10px 0; | |
| 321 | + | |
| 322 | + .delete-box { | |
| 323 | + padding: 2px 5px; | |
| 324 | + position: absolute; | |
| 325 | + right: 0; | |
| 326 | + top: 0; | |
| 327 | + line-height: normal; | |
| 328 | + background-color: #000; | |
| 329 | + color: #fff; | |
| 330 | + border-radius: 50%; | |
| 331 | + transform: translate(40%, -30%); | |
| 332 | + | |
| 333 | + .el-icon-close { | |
| 334 | + font-size: 12px; | |
| 335 | + transform: translate(-30%, 20%); | |
| 336 | + } | |
| 337 | + } | |
| 338 | + } | |
| 339 | + | |
| 340 | + .card-action-box { | |
| 341 | + display: flex; | |
| 342 | + flex-direction: column; | |
| 343 | + justify-content: center; | |
| 344 | + align-items: center; | |
| 345 | + width: 112px; | |
| 346 | + height: 112px; | |
| 347 | + border: 1px dashed #cdd0d6; | |
| 348 | + border-radius: 2px; | |
| 349 | + overflow: hidden; | |
| 350 | + // margin-bottom: 10px; | |
| 351 | + background-color: #fafafa; | |
| 352 | + cursor: pointer; | |
| 353 | + font-size: 12px; | |
| 354 | + color: #00000066; | |
| 355 | + | |
| 356 | + .el-icon-plus { | |
| 357 | + font-size: 20px; | |
| 358 | + } | |
| 359 | + | |
| 360 | + &:hover { | |
| 361 | + border-color: #3f9b6a; | |
| 362 | + color: #3f9b6a; | |
| 363 | + } | |
| 364 | + } | |
| 365 | + } | |
| 366 | + | |
| 367 | + .text-list-box { | |
| 368 | + .text-item-box { | |
| 369 | + padding: 0 5px; | |
| 370 | + border-radius: 2px; | |
| 371 | + overflow: hidden; | |
| 372 | + | |
| 373 | + .file-name { | |
| 374 | + flex: 1; | |
| 375 | + } | |
| 376 | + | |
| 377 | + .text-icon { | |
| 378 | + flex-shrink: 0; | |
| 379 | + padding-right: 10px; | |
| 380 | + } | |
| 381 | + | |
| 382 | + .el-icon-close { | |
| 383 | + cursor: pointer; | |
| 384 | + padding-left: 10px; | |
| 385 | + flex-shrink: 0; | |
| 386 | + } | |
| 387 | + | |
| 388 | + &:hover { | |
| 389 | + background-color: rgba(63, 155, 106, 0.2); | |
| 390 | + | |
| 391 | + .file-name { | |
| 392 | + color: #3f9b6a; | |
| 393 | + } | |
| 394 | + } | |
| 395 | + | |
| 396 | + &:nth-child(n + 2) { | |
| 397 | + margin-top: 10px; | |
| 398 | + } | |
| 399 | + } | |
| 400 | + } | |
| 401 | + | |
| 402 | + .uploading-box { | |
| 403 | + position: absolute; | |
| 404 | + top: 0; | |
| 405 | + left: 0; | |
| 406 | + width: 100%; | |
| 407 | + height: 100%; | |
| 408 | + color: #fff; | |
| 409 | + background-color: #c0c4cc; | |
| 410 | + } | |
| 411 | + | |
| 412 | + .progress-box { | |
| 413 | + width: 100%; | |
| 414 | + height: 100%; | |
| 415 | + position: relative; | |
| 416 | + | |
| 417 | + .el-progress { | |
| 418 | + position: absolute; | |
| 419 | + right: 10px; | |
| 420 | + top: 50%; | |
| 421 | + transform: translateY(-50%); | |
| 422 | + } | |
| 423 | + } | |
| 424 | + } | |
| 425 | +</style> | ... | ... |
admin-web-master/src/components/newmap/index.vue
| ... | ... | @@ -25,7 +25,15 @@ |
| 25 | 25 | isonloed:{ |
| 26 | 26 | type: Boolean, |
| 27 | 27 | default: false |
| 28 | - } | |
| 28 | + }, | |
| 29 | + isx:{ | |
| 30 | + type: Boolean, | |
| 31 | + default: true | |
| 32 | + }, | |
| 33 | + message:{ | |
| 34 | + type: String, | |
| 35 | + default: '' | |
| 36 | + }, | |
| 29 | 37 | }, |
| 30 | 38 | data() { |
| 31 | 39 | return { |
| ... | ... | @@ -48,6 +56,7 @@ |
| 48 | 56 | center: centerLatLng, |
| 49 | 57 | zoom: 13 |
| 50 | 58 | }); |
| 59 | + | |
| 51 | 60 | // 创建标记 |
| 52 | 61 | if(this.isonloed) { |
| 53 | 62 | this.marker = new qq.maps.Marker({ |
| ... | ... | @@ -60,13 +69,22 @@ |
| 60 | 69 | map: this.map |
| 61 | 70 | }); |
| 62 | 71 | } |
| 63 | - | |
| 72 | + if(this.isx) { | |
| 73 | + qq.maps.event.addListener(this.map, 'click', this.onMapClick); | |
| 74 | + } else { | |
| 75 | + const centerLatLng1 = new qq.maps.LatLng(this.message.split(',')[0], this.message.split(',')[1]); | |
| 76 | + console.error(this.message) | |
| 77 | + this.marker = new qq.maps.Marker({ | |
| 78 | + position: centerLatLng1, | |
| 79 | + map: this.map | |
| 80 | + }); | |
| 81 | + } | |
| 64 | 82 | |
| 65 | 83 | // 添加点击事件监听器 |
| 66 | 84 | // qq.maps.event.addListener(this.marker, 'click', this.onMarkerClick); |
| 67 | 85 | |
| 68 | 86 | // 添加地图点击事件监听器 |
| 69 | - qq.maps.event.addListener(this.map, 'click', this.onMapClick); | |
| 87 | + | |
| 70 | 88 | |
| 71 | 89 | // // 获取地址信息 |
| 72 | 90 | // this.getAreaCode(this.lat, this.lng); | ... | ... |
admin-web-master/src/components/newmap/map.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div style="position: relative;width: 100%;"> | |
| 3 | + <div id="mapContainer" class="map"></div> | |
| 4 | + </div> | |
| 5 | +</template> | |
| 6 | + | |
| 7 | +<script> | |
| 8 | +export default { | |
| 9 | + name: 'TencentMap', | |
| 10 | + props: { | |
| 11 | + lat: { | |
| 12 | + type: Number, | |
| 13 | + default: 30.67 | |
| 14 | + }, | |
| 15 | + lng: { | |
| 16 | + type: Number, | |
| 17 | + default: 104.06 | |
| 18 | + }, | |
| 19 | + isonloed: { | |
| 20 | + type: Boolean, | |
| 21 | + default: false | |
| 22 | + }, | |
| 23 | + isx: { | |
| 24 | + type: Boolean, | |
| 25 | + default: true | |
| 26 | + }, | |
| 27 | + ontype: { | |
| 28 | + type: String, | |
| 29 | + default: '1' | |
| 30 | + }, | |
| 31 | + message: { | |
| 32 | + type: Array, | |
| 33 | + default: () => [] | |
| 34 | + }, | |
| 35 | + }, | |
| 36 | + data() { | |
| 37 | + return { | |
| 38 | + map: null, | |
| 39 | + marker: null, | |
| 40 | + address: '', | |
| 41 | + markers: [], | |
| 42 | + infoWindow: null, | |
| 43 | + }; | |
| 44 | + }, | |
| 45 | + mounted() { | |
| 46 | + // 初始化地图 | |
| 47 | + this.initMap(this.message); | |
| 48 | + }, | |
| 49 | + methods: { | |
| 50 | + initMap(e) { | |
| 51 | + // 将经纬度转换为腾讯地图的LatLng对象 | |
| 52 | + const centerLatLng = new qq.maps.LatLng(this.lat, this.lng); | |
| 53 | + | |
| 54 | + // 创建地图实例 | |
| 55 | + this.map = new qq.maps.Map(document.getElementById('mapContainer'), { | |
| 56 | + center: centerLatLng, | |
| 57 | + zoom: 13 | |
| 58 | + }); | |
| 59 | + | |
| 60 | + // 创建信息窗口实例 | |
| 61 | + this.infoWindow = new qq.maps.InfoWindow({ | |
| 62 | + map: this.map | |
| 63 | + }); | |
| 64 | + | |
| 65 | + // 遍历 message 数组,为每个位置创建一个标记 | |
| 66 | + if (e.length > 0) { | |
| 67 | + e.forEach(item => { | |
| 68 | + let list = this.ontype == '1' ? item.mapPunctuation.split(',') : this.ontype == '2' ? item.mapPunctuation.split(',') : this.ontype == '3' ? item.mapMarker.split(',') : []; | |
| 69 | + item.lat = parseFloat(list[0]); | |
| 70 | + item.lng = parseFloat(list[1]); | |
| 71 | + item.name = this.ontype == '1' ? item.shopName : this.ontype == '2' ? item.advertisingName : this.ontype == '3' ? item.venueName :'无'; | |
| 72 | + const markerLatLng = new qq.maps.LatLng(item.lat, item.lng); | |
| 73 | + const marker = new qq.maps.Marker({ | |
| 74 | + position: markerLatLng, | |
| 75 | + map: this.map | |
| 76 | + }); | |
| 77 | + | |
| 78 | + // 为标记添加点击事件监听器 | |
| 79 | + qq.maps.event.addListener(marker, 'click', () => { | |
| 80 | + this.showInfoWindow(marker, item); | |
| 81 | + }); | |
| 82 | + | |
| 83 | + this.markers.push(marker); | |
| 84 | + }); | |
| 85 | + } | |
| 86 | + }, | |
| 87 | + showInfoWindow(marker, item) { | |
| 88 | + // 设置信息窗口的内容 | |
| 89 | + const content = ` | |
| 90 | + <div> | |
| 91 | + <p><strong>资源名称:</strong> ${item.name}</p> | |
| 92 | + <p><strong>位置:</strong> ${item.detailedLocation}</p> | |
| 93 | + </div> | |
| 94 | + `; | |
| 95 | + | |
| 96 | + // 设置信息窗口的位置和内容 | |
| 97 | + this.infoWindow.setPosition(marker.getPosition()); | |
| 98 | + this.infoWindow.setContent(content); | |
| 99 | + this.infoWindow.open(); | |
| 100 | + } | |
| 101 | + } | |
| 102 | +} | |
| 103 | +</script> | |
| 104 | + | |
| 105 | +<style scoped> | |
| 106 | +.map { | |
| 107 | + width: 100%; | |
| 108 | + height: 400px; | |
| 109 | +} | |
| 110 | + | |
| 111 | +.address-info { | |
| 112 | + position: absolute; | |
| 113 | + bottom: 0; | |
| 114 | + left: 0; | |
| 115 | + z-index: 999999; | |
| 116 | + background: #fff; | |
| 117 | +} | |
| 118 | +</style> | |
| 0 | 119 | \ No newline at end of file | ... | ... |
admin-web-master/src/components/resourceCommodity/index copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <div> | |
| 4 | + <el-tabs v-model="xiangTab"> | |
| 5 | + <el-tab-pane label="资源信息" name="first"> | |
| 6 | + <div style="margin-top: 30px;" class="editcss"> | |
| 7 | + <TitleWithCircle title="基础信息" /> | |
| 8 | + <div style="padding: 20px;"> | |
| 9 | + <el-form :model="editbgid" ref="ruleForm" label-width="140px" class="demo-ruleForm"> | |
| 10 | + <el-row :gutter="20"> | |
| 11 | + <el-col :span="8"> | |
| 12 | + <el-form-item label="商铺名称" prop="shopName"> | |
| 13 | + <div class="duiqi">{{editbgid.shopName}}</div> | |
| 14 | + </el-form-item> | |
| 15 | + </el-col> | |
| 16 | + <el-col :span="8"> | |
| 17 | + <el-form-item label="场地编号" prop="venueNumber"> | |
| 18 | + <div class="duiqi">{{editbgid.venueNumber}}</div> | |
| 19 | + </el-form-item> | |
| 20 | + </el-col> | |
| 21 | + <el-col :span="8"> | |
| 22 | + <el-form-item label="门牌号" prop="houseNumber"> | |
| 23 | + <div class="duiqi">{{editbgid.houseNumber}}</div> | |
| 24 | + </el-form-item> | |
| 25 | + </el-col> | |
| 26 | + </el-row> | |
| 27 | + <el-row :gutter="20"> | |
| 28 | + <el-col :span="8"> | |
| 29 | + <el-form-item label="建筑形式" prop="architecturalForm"> | |
| 30 | + <div class="duiqi">{{editbgid.architecturalForm}}</div> | |
| 31 | + </el-form-item> | |
| 32 | + </el-col> | |
| 33 | + <el-col :span="8"> | |
| 34 | + <el-form-item label="所属绿道段" prop="belongingGreenwaySection"> | |
| 35 | + <div class="duiqi">{{editbgid.belongingGreenwaySection}}</div> | |
| 36 | + </el-form-item> | |
| 37 | + </el-col> | |
| 38 | + <el-col :span="8"> | |
| 39 | + <el-form-item label="所属公园/步道" prop="belongingParkTrail"> | |
| 40 | + <div class="duiqi">{{editbgid.belongingParkTrail}}</div> | |
| 41 | + </el-form-item> | |
| 42 | + </el-col> | |
| 43 | + </el-row> | |
| 44 | + <el-row :gutter="20"> | |
| 45 | + <el-col :span="8"> | |
| 46 | + <el-form-item label="建筑面积" prop="floorSpace"> | |
| 47 | + <div class="duiqi">{{editbgid.floorSpace}}</div> | |
| 48 | + </el-form-item> | |
| 49 | + </el-col> | |
| 50 | + <el-col :span="8"> | |
| 51 | + <el-form-item label="实际使用面积" prop="actualUsableArea"> | |
| 52 | + <div class="duiqi">{{editbgid.actualUsableArea}}</div> | |
| 53 | + </el-form-item> | |
| 54 | + </el-col> | |
| 55 | + <el-col :span="8"> | |
| 56 | + <el-form-item label="所属区域" prop="belongingRegion"> | |
| 57 | + <div class="duiqi">{{editbgid.belongingRegion}}</div> | |
| 58 | + </el-form-item> | |
| 59 | + </el-col> | |
| 60 | + </el-row> | |
| 61 | + <el-row :gutter="20"> | |
| 62 | + <el-col :span="8"> | |
| 63 | + <el-form-item label="归属部门" prop="belongingDepartment"> | |
| 64 | + <div class="duiqi">{{editbgid.belongingDepartment}}</div> | |
| 65 | + </el-form-item> | |
| 66 | + </el-col> | |
| 67 | + <el-col :span="8"> | |
| 68 | + <el-form-item label="负责人" prop="head"> | |
| 69 | + <div class="duiqi">{{editbgid.head}}</div> | |
| 70 | + </el-form-item> | |
| 71 | + </el-col> | |
| 72 | + <el-col :span="8"> | |
| 73 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 74 | + <div class="duiqi">{{editbgid.detailedLocation}}</div> | |
| 75 | + </el-form-item> | |
| 76 | + </el-col> | |
| 77 | + </el-row> | |
| 78 | + <el-form-item label="地图标点" prop="mapPunctuation" v-if="false"> | |
| 79 | + <div style="width: 100%;height: 300px;"> | |
| 80 | + <!-- :edit='edit' :sendMap='getChildDate' --> | |
| 81 | + <MapXian :message="parentMessage"></MapXian> | |
| 82 | + </div> | |
| 83 | + </el-form-item> | |
| 84 | + <el-form-item label="建筑图纸" prop="architecturalDrawings"> | |
| 85 | + <div> | |
| 86 | + <img :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;" | |
| 87 | + v-for="item in editbgid.architecturalDrawings.split(',')"> | |
| 88 | + </div> | |
| 89 | + </el-form-item> | |
| 90 | + <el-form-item label="商铺描述" prop="shopDescription"> | |
| 91 | + <div class="duiqi">{{editbgid.shopDescription}}</div> | |
| 92 | + </el-form-item> | |
| 93 | + <el-form-item label="展示主图" prop="displayMainImage"> | |
| 94 | + <img v-for="item in editbgid.displayMainImage.split(',')" :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;"> | |
| 95 | + </el-form-item> | |
| 96 | + <!-- <el-form-item label="其他图片/视频" prop="otherImageVideos" > | |
| 97 | + <div class="duiqi" v-for="item in editbgid.otherImageVideos.split(',')">{{item}}</div> | |
| 98 | + </el-form-item> --> | |
| 99 | + </el-form> | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + </el-tab-pane> | |
| 103 | + <el-tab-pane label="招商方案信息" name="second"> | |
| 104 | + <div style="margin-top: 30px;" class="editcss"> | |
| 105 | + <!-- <TitleWithCircle title="招商方案信息" /> | |
| 106 | + <div style="padding: 20px;"> | |
| 107 | + <el-table :data="datalist1" | |
| 108 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 109 | + tooltip-effect="dark custom-tooltip-effect"> | |
| 110 | + <el-table-column label="招商方案名称" prop="planName" min-width="200"> | |
| 111 | + </el-table-column> | |
| 112 | + <el-table-column label="创建日期" prop="createTime" min-width="100"> | |
| 113 | + </el-table-column> | |
| 114 | + </el-table> | |
| 115 | + </div> --> | |
| 116 | + <TitleWithCircle title="策略方案" /> | |
| 117 | + <div style="padding: 20px;"> | |
| 118 | + <el-table :data="datalist" | |
| 119 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 120 | + tooltip-effect="dark custom-tooltip-effect"> | |
| 121 | + <el-table-column label="策略名称" prop="policyName" min-width="200"> | |
| 122 | + </el-table-column> | |
| 123 | + <el-table-column label="适用资源" prop="applicableResources" min-width="100"> | |
| 124 | + </el-table-column> | |
| 125 | + <el-table-column label="经营类型" prop="businessType" min-width="100"> | |
| 126 | + | |
| 127 | + </el-table-column> | |
| 128 | + <el-table-column label="租金价格" prop="rentalPrice" min-width="150"> | |
| 129 | + </el-table-column> | |
| 130 | + <el-table-column label="租期" prop="leaseTerm" min-width="100"> | |
| 131 | + </el-table-column> | |
| 132 | + <el-table-column label="是否出租" prop="isRental" min-width="100"> | |
| 133 | + <template slot-scope="scope"> | |
| 134 | + {{scope.row.isRental == '0'?'否':'是'}} | |
| 135 | + </template> | |
| 136 | + </el-table-column> | |
| 137 | + <el-table-column label="是否自营" prop="planningObjectives" min-width="100"> | |
| 138 | + <template slot-scope="scope"> | |
| 139 | + {{scope.row.isSelfOperated == '0'?'否':'是'}} | |
| 140 | + </template> | |
| 141 | + </el-table-column> | |
| 142 | + </el-table> | |
| 143 | + </div> | |
| 144 | + </div> | |
| 145 | + </el-tab-pane> | |
| 146 | + <!-- <el-tab-pane label="租赁记录" name="third" v-if="edit"> | |
| 147 | + <div style="margin-top: 30px;" class="editcss"> | |
| 148 | + <div class="titles"> | |
| 149 | + 租赁记录 | |
| 150 | + </div> | |
| 151 | + <div style="padding: 20px;"> | |
| 152 | + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 153 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 154 | + tooltip-effect="dark custom-tooltip-effect"> | |
| 155 | + <el-table-column label="承租商家" min-width="80"> | |
| 156 | + | |
| 157 | + </el-table-column> | |
| 158 | + <el-table-column label="租赁期限" prop="houseNumber" min-width="80" show-overflow-tooltip> | |
| 159 | + | |
| 160 | + </el-table-column> | |
| 161 | + <el-table-column label="经营类型" prop="actualUsableArea" min-width="150" show-overflow-tooltip> | |
| 162 | + </el-table-column> | |
| 163 | + | |
| 164 | + <el-table-column label="租金/周期" prop="head" min-width="120" show-overflow-tooltip> | |
| 165 | + </el-table-column> | |
| 166 | + <el-table-column label="租赁状态" prop="rentalStatus" min-width="120" show-overflow-tooltip> | |
| 167 | + <template slot-scope="scope"> | |
| 168 | + {{scope.row.rentalStatus=='0'?'待租':'已租'}} | |
| 169 | + </template> | |
| 170 | + </el-table-column> | |
| 171 | + <el-table-column label="当前状态" prop="publishStatus" min-width="150" show-overflow-tooltip> | |
| 172 | + <template slot-scope="scope"> | |
| 173 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'待审核':'已审核'}} | |
| 174 | + </template> | |
| 175 | + </el-table-column> | |
| 176 | + | |
| 177 | + <el-table-column label="操作" min-width="160" fixed="right"> | |
| 178 | + <template slot-scope="scope"> | |
| 179 | + <div @click="handleEditForm(scope.row)" class="tableBtn greens">查看</div> | |
| 180 | + </template> | |
| 181 | + </el-table-column> | |
| 182 | + </el-table> | |
| 183 | + </div> | |
| 184 | + </div> | |
| 185 | + </el-tab-pane> --> | |
| 186 | + <!-- <el-tab-pane label="人流情况" name="fourth" v-if="edit"> | |
| 187 | + <div style="margin-top: 30px;" class="editcss"> | |
| 188 | + <div class="titles"> | |
| 189 | + 人流量情况 | |
| 190 | + </div> | |
| 191 | + </div> | |
| 192 | + </el-tab-pane> | |
| 193 | + <el-tab-pane label="物业维护记录" name="five" v-if="edit"> | |
| 194 | + <div style="margin-top: 30px;" class="editcss"> | |
| 195 | + <div class="titles"> | |
| 196 | + 物业维护记录 | |
| 197 | + </div> | |
| 198 | + </div> | |
| 199 | + </el-tab-pane> --> | |
| 200 | + </el-tabs> | |
| 201 | + </div> | |
| 202 | + <div> | |
| 203 | + <el-button class="buttonHover" | |
| 204 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;margin-top: 20px;" | |
| 205 | + @click="changetype">返回</el-button> | |
| 206 | + </div> | |
| 207 | + </div> | |
| 208 | +</template> | |
| 209 | + | |
| 210 | +<script> | |
| 211 | + import MapXian from "@/components/MapContainer/MapXian"; | |
| 212 | + import TitleWithCircle from '@/components/top/index'; | |
| 213 | + import { | |
| 214 | + cereResourceStrategylist, | |
| 215 | + cereBusinessPlan | |
| 216 | + } from '@/api/newly'; | |
| 217 | + export default { | |
| 218 | + components: { | |
| 219 | + TitleWithCircle, | |
| 220 | + MapXian | |
| 221 | + }, | |
| 222 | + props: { | |
| 223 | + editbgid: { | |
| 224 | + type: Object, | |
| 225 | + default: function() { | |
| 226 | + return {}; | |
| 227 | + }, | |
| 228 | + }, | |
| 229 | + }, | |
| 230 | + data() { | |
| 231 | + return { | |
| 232 | + xiangTab: 'first', | |
| 233 | + list: [], | |
| 234 | + parentMessage: {}, | |
| 235 | + datalist: [], | |
| 236 | + datalist1:[] | |
| 237 | + } | |
| 238 | + }, | |
| 239 | + created() { | |
| 240 | + | |
| 241 | + console.error(this.editbgid) | |
| 242 | + if (this.editbgid.id) { | |
| 243 | + let c1 = { | |
| 244 | + pageNumber: 0, | |
| 245 | + pageSize: 10, | |
| 246 | + resourcesId: 'sp' + this.editbgid.id | |
| 247 | + } | |
| 248 | + cereResourceStrategylist(c1).then(res => { | |
| 249 | + console.error(res) | |
| 250 | + this.datalist = res.data | |
| 251 | + }) | |
| 252 | + cereBusinessPlan(c1).then(res => { | |
| 253 | + console.error(res) | |
| 254 | + this.datalist1 = res.data | |
| 255 | + }) | |
| 256 | + if (typeof this.editbgid.mapPunctuation == 'string' && this.editbgid.mapPunctuation != '') { | |
| 257 | + this.parentMessage = JSON.parse(this.editbgid.mapPunctuation) | |
| 258 | + } else { | |
| 259 | + this.parentMessage = this.editbgid.mapPunctuation | |
| 260 | + } | |
| 261 | + } | |
| 262 | + }, | |
| 263 | + computed: { | |
| 264 | + | |
| 265 | + }, | |
| 266 | + methods: { | |
| 267 | + changetype() { | |
| 268 | + this.xiangTab = 'first' | |
| 269 | + this.$emit('removeonaction', '1') | |
| 270 | + }, | |
| 271 | + } | |
| 272 | + } | |
| 273 | +</script> | |
| 274 | +<style> | |
| 275 | + .el-form-item__label { | |
| 276 | + color: #a2a2a2; | |
| 277 | + | |
| 278 | + } | |
| 279 | + | |
| 280 | + .greens { | |
| 281 | + color: #3F9B6A; | |
| 282 | + } | |
| 283 | +</style> | ... | ... |
admin-web-master/src/components/resourceCommodity/index.vue
| ... | ... | @@ -19,83 +19,86 @@ |
| 19 | 19 | </el-form-item> |
| 20 | 20 | </el-col> |
| 21 | 21 | <el-col :span="8"> |
| 22 | - <el-form-item label="门牌号" prop="houseNumber"> | |
| 23 | - <div class="duiqi">{{editbgid.houseNumber}}</div> | |
| 22 | + <el-form-item label="商铺类型" prop="shopType"> | |
| 23 | + <div class="duiqi">{{editbgid.shopType=='1'?'移动铺位':editbgid.shopType=='2'?'固定铺位':'无'}}</div> | |
| 24 | 24 | </el-form-item> |
| 25 | 25 | </el-col> |
| 26 | 26 | </el-row> |
| 27 | 27 | <el-row :gutter="20"> |
| 28 | 28 | <el-col :span="8"> |
| 29 | - <el-form-item label="建筑形式" prop="architecturalForm"> | |
| 30 | - <div class="duiqi">{{editbgid.architecturalForm}}</div> | |
| 29 | + <el-form-item label="测绘面积" prop="surveyingArea"> | |
| 30 | + <div class="duiqi">{{editbgid.surveyingArea || '无'}}</div> | |
| 31 | 31 | </el-form-item> |
| 32 | 32 | </el-col> |
| 33 | 33 | <el-col :span="8"> |
| 34 | - <el-form-item label="所属绿道段" prop="belongingGreenwaySection"> | |
| 35 | - <div class="duiqi">{{editbgid.belongingGreenwaySection}}</div> | |
| 34 | + <el-form-item label="产权面积" prop="propertyArea"> | |
| 35 | + <div class="duiqi">{{editbgid.propertyArea || '无'}}</div> | |
| 36 | 36 | </el-form-item> |
| 37 | 37 | </el-col> |
| 38 | 38 | <el-col :span="8"> |
| 39 | - <el-form-item label="所属公园/步道" prop="belongingParkTrail"> | |
| 40 | - <div class="duiqi">{{editbgid.belongingParkTrail}}</div> | |
| 39 | + <el-form-item label="实际使用面积" prop="actualUsableArea"> | |
| 40 | + <div class="duiqi">{{editbgid.actualUsableArea || '无'}}</div> | |
| 41 | 41 | </el-form-item> |
| 42 | 42 | </el-col> |
| 43 | 43 | </el-row> |
| 44 | 44 | <el-row :gutter="20"> |
| 45 | 45 | <el-col :span="8"> |
| 46 | - <el-form-item label="建筑面积" prop="floorSpace"> | |
| 47 | - <div class="duiqi">{{editbgid.floorSpace}}</div> | |
| 46 | + <el-form-item label="所属区域" prop="belongingRegion"> | |
| 47 | + <div class="duiqi">{{editbgid.belongingRegion || '无'}}</div> | |
| 48 | 48 | </el-form-item> |
| 49 | 49 | </el-col> |
| 50 | 50 | <el-col :span="8"> |
| 51 | - <el-form-item label="实际使用面积" prop="actualUsableArea"> | |
| 52 | - <div class="duiqi">{{editbgid.actualUsableArea}}</div> | |
| 51 | + <el-form-item label="归属部门" prop="belongingDepartment"> | |
| 52 | + <div class="duiqi">{{editbgid.belongingDepartment || '无'}}</div> | |
| 53 | 53 | </el-form-item> |
| 54 | 54 | </el-col> |
| 55 | 55 | <el-col :span="8"> |
| 56 | - <el-form-item label="所属区域" prop="belongingRegion"> | |
| 57 | - <div class="duiqi">{{editbgid.belongingRegion}}</div> | |
| 56 | + <el-form-item label="负责人" prop="head"> | |
| 57 | + <div class="duiqi">{{editbgid.head || '无'}}</div> | |
| 58 | 58 | </el-form-item> |
| 59 | 59 | </el-col> |
| 60 | 60 | </el-row> |
| 61 | 61 | <el-row :gutter="20"> |
| 62 | 62 | <el-col :span="8"> |
| 63 | - <el-form-item label="归属部门" prop="belongingDepartment"> | |
| 64 | - <div class="duiqi">{{editbgid.belongingDepartment}}</div> | |
| 63 | + <el-form-item label="联系人" prop="contacts"> | |
| 64 | + <div class="duiqi">{{editbgid.contacts || '无'}}</div> | |
| 65 | 65 | </el-form-item> |
| 66 | 66 | </el-col> |
| 67 | 67 | <el-col :span="8"> |
| 68 | - <el-form-item label="负责人" prop="head"> | |
| 69 | - <div class="duiqi">{{editbgid.head}}</div> | |
| 68 | + <el-form-item label="联系方式" prop="telephone"> | |
| 69 | + <div class="duiqi">{{editbgid.telephone || '无'}}</div> | |
| 70 | 70 | </el-form-item> |
| 71 | 71 | </el-col> |
| 72 | 72 | <el-col :span="8"> |
| 73 | - <el-form-item label="详细位置" prop="detailedLocation"> | |
| 74 | - <div class="duiqi">{{editbgid.detailedLocation}}</div> | |
| 75 | - </el-form-item> | |
| 73 | + | |
| 76 | 74 | </el-col> |
| 77 | 75 | </el-row> |
| 78 | - <el-form-item label="地图标点" prop="mapPunctuation" v-if="false"> | |
| 76 | + <el-form-item label="详细位置" prop="detailedLocation"> | |
| 77 | + <div class="duiqi">{{editbgid.detailedLocation || '无'}}</div> | |
| 78 | + </el-form-item> | |
| 79 | + <el-form-item label="地图标点" prop="mapPunctuation"> | |
| 79 | 80 | <div style="width: 100%;height: 300px;"> |
| 80 | 81 | <!-- :edit='edit' :sendMap='getChildDate' --> |
| 81 | - <MapXian :message="parentMessage"></MapXian> | |
| 82 | + <newmap :isx="false" :message="editbgid.mapPunctuation"></newmap> | |
| 82 | 83 | </div> |
| 83 | 84 | </el-form-item> |
| 84 | 85 | <el-form-item label="建筑图纸" prop="architecturalDrawings"> |
| 85 | - <div> | |
| 86 | + <div v-if="editbgid.architecturalDrawings"> | |
| 86 | 87 | <img :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;" |
| 87 | 88 | v-for="item in editbgid.architecturalDrawings.split(',')"> |
| 88 | 89 | </div> |
| 90 | + <div class="duiqi" v-else>无</div> | |
| 89 | 91 | </el-form-item> |
| 90 | 92 | <el-form-item label="商铺描述" prop="shopDescription"> |
| 91 | - <div class="duiqi">{{editbgid.shopDescription}}</div> | |
| 93 | + <div class="duiqi">{{editbgid.shopDescription || '无'}}</div> | |
| 92 | 94 | </el-form-item> |
| 93 | 95 | <el-form-item label="展示主图" prop="displayMainImage"> |
| 94 | 96 | <img v-for="item in editbgid.displayMainImage.split(',')" :src="$baseURL+item" alt="" style="width:140px;height:140px;margin-left: 15px;"> |
| 95 | 97 | </el-form-item> |
| 96 | - <!-- <el-form-item label="其他图片/视频" prop="otherImageVideos" > | |
| 97 | - <div class="duiqi" v-for="item in editbgid.otherImageVideos.split(',')">{{item}}</div> | |
| 98 | - </el-form-item> --> | |
| 98 | + <el-form-item label="其他视频" prop="otherImageVideos" > | |
| 99 | + <div class="duiqi" :class="editbgid.otherImageVideos?'greens':''" @click ="editbgid.otherImageVideos?openfile($baseURL+editbgid.otherImageVideos):''">{{editbgid.otherImageVideos?'查看详情':'无'}}</div> | |
| 100 | + <!-- <div class="duiqi" v-for="item in editbgid.otherImageVideos.split(',')">{{$baseURL+item}}</div> --> | |
| 101 | + </el-form-item> | |
| 99 | 102 | </el-form> |
| 100 | 103 | </div> |
| 101 | 104 | </div> |
| ... | ... | @@ -214,10 +217,12 @@ |
| 214 | 217 | cereResourceStrategylist, |
| 215 | 218 | cereBusinessPlan |
| 216 | 219 | } from '@/api/newly'; |
| 220 | + import newmap from "@/components/newmap/index"; | |
| 217 | 221 | export default { |
| 218 | 222 | components: { |
| 219 | 223 | TitleWithCircle, |
| 220 | - MapXian | |
| 224 | + MapXian, | |
| 225 | + newmap | |
| 221 | 226 | }, |
| 222 | 227 | props: { |
| 223 | 228 | editbgid: { |
| ... | ... | @@ -247,23 +252,39 @@ |
| 247 | 252 | } |
| 248 | 253 | cereResourceStrategylist(c1).then(res => { |
| 249 | 254 | console.error(res) |
| 255 | + if (!Array.isArray(res.data)) { | |
| 256 | + this.datalist = []; | |
| 257 | + return; | |
| 258 | + } | |
| 250 | 259 | this.datalist = res.data |
| 251 | 260 | }) |
| 252 | 261 | cereBusinessPlan(c1).then(res => { |
| 253 | 262 | console.error(res) |
| 263 | + if (!Array.isArray(res.data)) { | |
| 264 | + this.datalist1 = []; | |
| 265 | + return; | |
| 266 | + } | |
| 254 | 267 | this.datalist1 = res.data |
| 255 | 268 | }) |
| 256 | - if (typeof this.editbgid.mapPunctuation == 'string' && this.editbgid.mapPunctuation != '') { | |
| 257 | - this.parentMessage = JSON.parse(this.editbgid.mapPunctuation) | |
| 258 | - } else { | |
| 259 | - this.parentMessage = this.editbgid.mapPunctuation | |
| 260 | - } | |
| 269 | + | |
| 261 | 270 | } |
| 262 | 271 | }, |
| 263 | 272 | computed: { |
| 264 | 273 | |
| 265 | 274 | }, |
| 266 | 275 | methods: { |
| 276 | + openfile(e) { | |
| 277 | + if (e) { | |
| 278 | + const fullUrl = e; | |
| 279 | + try { | |
| 280 | + window.open(fullUrl, '_blank'); // 在新标签页中打开文件 | |
| 281 | + } catch (error) { | |
| 282 | + console.error('打开文件失败:', error); | |
| 283 | + } | |
| 284 | + } else { | |
| 285 | + console.error('无文件可查看'); | |
| 286 | + } | |
| 287 | + }, | |
| 267 | 288 | changetype() { |
| 268 | 289 | this.xiangTab = 'first' |
| 269 | 290 | this.$emit('removeonaction', '1') | ... | ... |
admin-web-master/src/layout/index.vue
| ... | ... | @@ -260,7 +260,7 @@ export default { |
| 260 | 260 | listMune:[], |
| 261 | 261 | list:[ |
| 262 | 262 | // ['招商资源监测','招商租赁管理','系统设置'] |
| 263 | - ['招商资源监测','商家管理','商铺租赁服务','招商方案管理','招商租赁管理','系统设置'], | |
| 263 | + ['招商资源监测','商家管理','商铺租赁服务','招商方案管理','招商租赁管理','系统设置','广告服务','客服服务管理','商户意向管理'], | |
| 264 | 264 | // ['问卷调查'], |
| 265 | 265 | // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','问卷调查','招商过程管理','商户寻租管理','轮播图设置','平台活动','客服配置','优惠券管理'], |
| 266 | 266 | // ['品牌策划','活动策划','氛围策划','媒体推广'], |
| ... | ... | @@ -641,7 +641,7 @@ this.listMune[0] = All |
| 641 | 641 | this.listMune = [] |
| 642 | 642 | this.list=[ |
| 643 | 643 | // ['招商资源监测','招商租赁管理','系统设置'] |
| 644 | - ['招商资源监测','商家管理','商铺租赁服务','招商方案管理','招商租赁管理','系统设置'], | |
| 644 | + ['招商资源监测','商家管理','商铺租赁服务','招商方案管理','招商租赁管理','系统设置','广告服务','客服服务管理','商户意向管理'], | |
| 645 | 645 | // ['问卷调查'], |
| 646 | 646 | // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','问卷调查','招商过程管理','商户寻租管理','轮播图设置','平台活动','客服配置','优惠券管理'], |
| 647 | 647 | // ['品牌策划','活动策划','氛围策划','媒体推广'], | ... | ... |
admin-web-master/src/utils/request2.js
| ... | ... | @@ -17,7 +17,7 @@ let baseURL = '' |
| 17 | 17 | // || host === 'localhost:9528' |
| 18 | 18 | if(host === 'localhost:8080' || host === 'localhost:8081'|| host === 'localhost:9528' || host === '192.168.31.45:9528') { |
| 19 | 19 | // baseURL = 'https://zhld.028wlkj.com:49008/cdwlMall/business-server'; |
| 20 | - baseURL = 'http://8.130.38.56:9004'; | |
| 20 | + baseURL = 'http://172.16.61.125:9004'; | |
| 21 | 21 | } else { |
| 22 | 22 | console.error('---------------------') |
| 23 | 23 | console.error(hostall) | ... | ... |
admin-web-master/src/views/couponmanagement/capitalpool.vue
| ... | ... | @@ -33,7 +33,7 @@ |
| 33 | 33 | <!-- 表格 --> |
| 34 | 34 | <div class="tableBox"> |
| 35 | 35 | <el-table ref="multipleTable" :data="tableData" |
| 36 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 36 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 37 | 37 | tooltip-effect="light"> |
| 38 | 38 | <!-- <el-table-column label="编号"> |
| 39 | 39 | <template slot-scope="scope">{{ scope.row.poolId }}</template> | ... | ... |
admin-web-master/src/views/couponmanagement/capitalpoolinfo.vue
| ... | ... | @@ -44,7 +44,7 @@ |
| 44 | 44 | <el-table |
| 45 | 45 | ref="multipleTable" |
| 46 | 46 | :data="tableData" |
| 47 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 47 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 48 | 48 | tooltip-effect="light" |
| 49 | 49 | > |
| 50 | 50 | <el-table-column label="优惠券名称" > | ... | ... |
admin-web-master/src/views/couponmanagement/couponinfo.vue
| ... | ... | @@ -44,7 +44,7 @@ |
| 44 | 44 | <!-- 表格 --> |
| 45 | 45 | <div class="tableBox"> |
| 46 | 46 | <el-table ref="multipleTable" :data="qdlist" v-if="activeName == 'first'" |
| 47 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 47 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 48 | 48 | tooltip-effect="light"> |
| 49 | 49 | <el-table-column label="渠道方"> |
| 50 | 50 | <template slot-scope="scope">{{ scope.row.channelParty }}</template> |
| ... | ... | @@ -57,7 +57,7 @@ |
| 57 | 57 | </el-table-column> |
| 58 | 58 | </el-table> |
| 59 | 59 | <el-table ref="multipleTable" :data="qdlist" v-if="activeName == 'second'" |
| 60 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 60 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 61 | 61 | tooltip-effect="light"> |
| 62 | 62 | <el-table-column label="优惠券"> |
| 63 | 63 | <template slot-scope="scope">{{ infoyhq.couponName}}</template> |
| ... | ... | @@ -70,7 +70,7 @@ |
| 70 | 70 | </el-table-column> |
| 71 | 71 | </el-table> |
| 72 | 72 | <el-table ref="multipleTable" :data="qdlist" v-if="activeName == 'third'" |
| 73 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 73 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 74 | 74 | tooltip-effect="light"> |
| 75 | 75 | <el-table-column label="优惠券"> |
| 76 | 76 | <template slot-scope="scope">{{ infoyhq.couponName}}</template> |
| ... | ... | @@ -83,7 +83,7 @@ |
| 83 | 83 | </el-table-column> |
| 84 | 84 | </el-table> |
| 85 | 85 | <el-table ref="multipleTable" :data="qdlist" v-if="activeName == 'fourth'" |
| 86 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 86 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 87 | 87 | tooltip-effect="light"> |
| 88 | 88 | <el-table-column label="商家"> |
| 89 | 89 | <template slot-scope="scope">{{ scope.row.shop.shopName }}</template> | ... | ... |
admin-web-master/src/views/couponmanagement/couponlist.vue
| ... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 | <el-table |
| 25 | 25 | ref="multipleTable" |
| 26 | 26 | :data="tableData" |
| 27 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}" | |
| 27 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 28 | 28 | tooltip-effect="light" |
| 29 | 29 | |
| 30 | 30 | > | ... | ... |
admin-web-master/src/views/detect/admap.vue
| ... | ... | @@ -5,6 +5,21 @@ |
| 5 | 5 | <div style="color:#0006"> <span>招商资源监测</span> <span style="padding:0 5px;">></span> <span |
| 6 | 6 | style="color:#000000e6">资源地图</span></div> |
| 7 | 7 | </div> |
| 8 | + <div class="formSearch"> | |
| 9 | + <el-form :inline="true"> | |
| 10 | + <el-form-item label="资源名称" prop="name"> | |
| 11 | + <el-input v-model="name" placeholder="请输入" maxlength="50"></el-input> | |
| 12 | + </el-form-item> | |
| 13 | + </el-form> | |
| 14 | + | |
| 15 | + <div> | |
| 16 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询 | |
| 17 | + </el-button> | |
| 18 | + <el-button @click="resetting" class="buttonHover" | |
| 19 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 20 | + </el-button> | |
| 21 | + </div> | |
| 22 | + </div> | |
| 8 | 23 | <!-- 线上 --> |
| 9 | 24 | <div> |
| 10 | 25 | <div style="margin-bottom: 20px;"> |
| ... | ... | @@ -15,7 +30,7 @@ |
| 15 | 30 | <!-- 地图 --> |
| 16 | 31 | <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> |
| 17 | 32 | <div style="width: 100%;height: 400px; border: 1px solid #3F9B6A;position: relative;"> |
| 18 | - <MapContainer :message="tableData" @MapItem='HandMapItem' ref="mapComponent"></MapContainer> | |
| 33 | + <mapchakannew :ontype="ontype" ref="mapchakannewrefs"></mapchakannew> | |
| 19 | 34 | </div> |
| 20 | 35 | </div> |
| 21 | 36 | <div style="margin: 20px 0;"> |
| ... | ... | @@ -29,39 +44,41 @@ |
| 29 | 44 | </div> |
| 30 | 45 | </div> |
| 31 | 46 | <!-- 表格 --> |
| 32 | - <el-table v-if="ontype=='1'" :data="tableData" | |
| 47 | + <el-table v-if="ontype=='1'" :data="tableData" | |
| 33 | 48 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 34 | - <el-table-column label="序号" min-width="80"> | |
| 49 | + <el-table-column label="序号" width="50"> | |
| 35 | 50 | <template slot-scope="scope"> |
| 36 | 51 | {{scope.$index +1 }} |
| 37 | 52 | </template> |
| 38 | 53 | </el-table-column> |
| 39 | - <el-table-column label="编号" prop="venueNumber" show-overflow-tooltip> | |
| 40 | - </el-table-column> | |
| 41 | - <el-table-column label="门牌号" prop="houseNumber" show-overflow-tooltip> | |
| 42 | - | |
| 43 | - </el-table-column> | |
| 44 | - <el-table-column label="商铺名称" prop="shopName" show-overflow-tooltip> | |
| 45 | - | |
| 54 | + <el-table-column label="商铺名称" prop="shopName" show-overflow-tooltip></el-table-column> | |
| 55 | + <el-table-column label="商铺类型" prop="publishStatus" show-overflow-tooltip> | |
| 56 | + <template slot-scope="scope"> | |
| 57 | + {{scope.row.shopType=='1'?'移动铺位':scope.row.shopType=='2'?'固定铺位':'无'}} | |
| 58 | + </template> | |
| 46 | 59 | </el-table-column> |
| 47 | 60 | <el-table-column label="所属区域" prop="belongingRegion" show-overflow-tooltip> |
| 48 | 61 | </el-table-column> |
| 49 | - <el-table-column label="建筑形式" prop="architecturalForm" show-overflow-tooltip> | |
| 62 | + <el-table-column prop="detailedLocation" width="180" label="详细地址" show-overflow-tooltip> | |
| 50 | 63 | </el-table-column> |
| 51 | - <el-table-column prop="detailedLocation" label="详细地址" show-overflow-tooltip> | |
| 52 | - </el-table-column> | |
| 53 | - <el-table-column label="实际使用面积" prop="actualUsableArea" show-overflow-tooltip> | |
| 64 | + <el-table-column label="实际使用面积" prop="actualUsableArea" show-overflow-tooltip> | |
| 65 | + <template slot-scope="scope"> | |
| 66 | + {{scope.row.actualUsableArea || '无'}} | |
| 67 | + </template> | |
| 54 | 68 | </el-table-column> |
| 55 | 69 | <el-table-column label="负责人" prop="head" show-overflow-tooltip> |
| 70 | + <template slot-scope="scope"> | |
| 71 | + {{scope.row.head || '无'}} | |
| 72 | + </template> | |
| 56 | 73 | </el-table-column> |
| 57 | 74 | <el-table-column label="租赁到期时间" prop="leaseExpirationDate" show-overflow-tooltip> |
| 58 | 75 | </el-table-column> |
| 59 | 76 | <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> |
| 60 | 77 | <template slot-scope="scope"> |
| 61 | - {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'已下架':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 78 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'空置中':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 62 | 79 | </template> |
| 63 | 80 | </el-table-column> |
| 64 | - <el-table-column label="操作" min-width="250" fixed="right"> | |
| 81 | + <el-table-column label="操作" min-width="100" fixed="right"> | |
| 65 | 82 | <template slot-scope="scope"> |
| 66 | 83 | <div @click="details(scope.row)" class="tableBtn greens">查看</div> |
| 67 | 84 | <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 |
| ... | ... | @@ -74,42 +91,24 @@ |
| 74 | 91 | </template> |
| 75 | 92 | </el-table-column> |
| 76 | 93 | </el-table> |
| 77 | - <el-table v-if="ontype=='2'" :data="tableData" | |
| 94 | + <el-table v-if="ontype=='2'" :data="tableData" | |
| 78 | 95 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 79 | - <el-table-column label="序号" min-width="100"> | |
| 96 | + <el-table-column label="序号" width="50"> | |
| 80 | 97 | <template slot-scope="scope"> |
| 81 | 98 | {{scope.$index +1}} |
| 82 | 99 | </template> |
| 83 | 100 | </el-table-column> |
| 84 | - <el-table-column label="广告位名称" prop="advertisingName" min-width="200"> | |
| 85 | - </el-table-column> | |
| 86 | - <el-table-column label="广告位类型" prop="advertisingType" min-width="150"> | |
| 87 | - </el-table-column> | |
| 88 | - <!-- <el-table-column label="详细地址" prop="detailedLocation" min-width="200"> | |
| 101 | + <el-table-column label="广告位名称" prop="advertisingName"> | |
| 89 | 102 | </el-table-column> |
| 90 | - <el-table-column label="设备类型" prop="deviceType" min-width="150"> | |
| 103 | + <el-table-column label="广告位类型" prop="advertisingType" > | |
| 91 | 104 | </el-table-column> |
| 92 | - <el-table-column label="设备尺寸" prop="equipmentSize" min-width="200"> | |
| 93 | - </el-table-column> | |
| 94 | - <el-table-column label="场地编号" prop="venueNumber" min-width="150"> | |
| 95 | - </el-table-column> | |
| 96 | - <el-table-column label="广告尺寸" prop="dimensions" min-width="200"> | |
| 97 | - </el-table-column> | |
| 98 | - <el-table-column label="广告材质" prop="advertisingMaterial" min-width="150"> | |
| 99 | - </el-table-column> | |
| 100 | - <el-table-column prop="createUser" label="创建人" min-width="120"> | |
| 101 | - </el-table-column> | |
| 102 | - <el-table-column prop="rentalStatus" label="租赁状态" min-width="120"> | |
| 105 | + <el-table-column label="广告尺寸" prop="dimensions" show-overflow-tooltip></el-table-column> | |
| 106 | + <el-table-column prop="publishStatus" label="发布状态" > | |
| 103 | 107 | <template slot-scope="scope"> |
| 104 | - {{scope.row.rentalStatus == 0?'未租':'已租'}} | |
| 105 | - </template> | |
| 106 | - </el-table-column> --> | |
| 107 | - <el-table-column prop="publishStatus" label="发布状态" min-width="120"> | |
| 108 | - <template slot-scope="scope"> | |
| 109 | - {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'已下架':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 108 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'空置中':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 110 | 109 | </template> |
| 111 | 110 | </el-table-column> |
| 112 | - <el-table-column prop="leaseExpirationDate" label="租赁到期时间" min-width="200"> | |
| 111 | + <el-table-column prop="leaseExpirationDate" label="租赁到期时间" > | |
| 113 | 112 | </el-table-column> |
| 114 | 113 | <el-table-column label="操作" fixed="right"> |
| 115 | 114 | <template slot-scope="scope"> |
| ... | ... | @@ -124,45 +123,38 @@ |
| 124 | 123 | </template> |
| 125 | 124 | </el-table-column> |
| 126 | 125 | </el-table> |
| 127 | - <el-table v-if="ontype=='3'" :data="tableData" | |
| 126 | + <el-table v-if="ontype=='3'" :data="tableData" | |
| 128 | 127 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 129 | - <el-table-column label="序号"> | |
| 128 | + <el-table-column label="序号" width="50"> | |
| 130 | 129 | <template slot-scope="scope"> |
| 131 | 130 | {{scope.$index +1}} |
| 132 | 131 | </template> |
| 133 | 132 | </el-table-column> |
| 134 | - <!-- <el-table-column label="编号" prop="id" v-if="activeName == 'second'"> | |
| 135 | - </el-table-column> --> | |
| 136 | - <el-table-column label="场地名称" prop="venueName"> | |
| 133 | + <el-table-column label="场地名称" prop="venueName" show-overflow-tooltip> | |
| 137 | 134 | </el-table-column> |
| 138 | - <el-table-column label="实际使用面积" prop="actualArea"> | |
| 135 | + <el-table-column label="场地类型" prop="venueType" show-overflow-tooltip> | |
| 139 | 136 | </el-table-column> |
| 140 | - <el-table-column label="场地类型" prop="venueType"> | |
| 137 | + <el-table-column label="实际使用面积" prop="actualArea" show-overflow-tooltip> | |
| 141 | 138 | </el-table-column> |
| 142 | - <el-table-column label="所属区域" prop="district"> | |
| 139 | + <el-table-column label="所属区域" prop="district" show-overflow-tooltip> | |
| 143 | 140 | </el-table-column> |
| 144 | - <el-table-column label="详细位置" prop="detailedLocation"> | |
| 141 | + <el-table-column label="详细位置" prop="detailedLocation" show-overflow-tooltip> | |
| 145 | 142 | </el-table-column> |
| 146 | - <!-- <el-table-column label="租赁状态" > | |
| 147 | - </el-table-column> --> | |
| 148 | - <!-- <el-table-column label="状态" > | |
| 149 | - </el-table-column> --> | |
| 150 | - <el-table-column prop="publishStatus" label="发布状态" min-width="120"> | |
| 143 | + <el-table-column prop="publishStatus" label="发布状态"> | |
| 151 | 144 | <template slot-scope="scope"> |
| 152 | - {{scope.row.publishStatus == 0?'待发布':'已提交'}} | |
| 145 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'空置中':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 153 | 146 | </template> |
| 154 | 147 | </el-table-column> |
| 155 | - <el-table-column label="操作" fixed="right"> | |
| 148 | + <el-table-column label="操作" fixed="right"> | |
| 156 | 149 | <template slot-scope="scope"> |
| 157 | 150 | <div @click="details(scope.row)" class="tableBtn greens">查看</div> |
| 158 | - <!-- <div @click="opencl(scope.row,'cd')" class="tableBtn greens">绑定策略</div> --> | |
| 159 | - <div class="tableBtn greens" @click="removeinfo(scope.row,'编辑')">编辑 | |
| 151 | + <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 | |
| 160 | 152 | </div> |
| 161 | - <!-- <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="closemsg(scope.row)">删除</div> | |
| 153 | + <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="closemsg(scope.row)">删除</div> | |
| 162 | 154 | <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" |
| 163 | - @click="removeinfozz(scope.row,'1','发布')">发布</div> | |
| 155 | + @click="opencl(scope.row,'cd')">发布</div> | |
| 164 | 156 | <div class="tableBtn greens" v-if="scope.row.publishStatus=='1'" |
| 165 | - @click="removeinfozz(scope.row,'0','下架')">下架</div> --> | |
| 157 | + @click="removeinfozz(scope.row,'2','下架')">下架</div> | |
| 166 | 158 | </template> |
| 167 | 159 | </el-table-column> |
| 168 | 160 | </el-table> |
| ... | ... | @@ -185,10 +177,10 @@ |
| 185 | 177 | |
| 186 | 178 | <div class="zhuti" v-if="onaction == '2'"> |
| 187 | 179 | <div style="height:58px;line-height:58px;"> |
| 188 | - <div style="color:#0006"> <span>{{onaction == '1'?'商铺基本信息':onaction == '2'?'广告位基本信息管理':onaction == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 180 | + <div style="color:#0006"> <span>{{ontype == '1'?'商铺基本信息':ontype == '2'?'广告位基本信息管理':ontype == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 189 | 181 | style="color:#000000e6">新增</span></div> |
| 190 | 182 | </div> |
| 191 | - <div style="margin: 20px 0;"> | |
| 183 | + <div style="margin: 0 0;"> | |
| 192 | 184 | <div style="display: flex;font-size: 14px"> |
| 193 | 185 | <div style="margin-right: 25px;cursor: pointer;" @click="chenge('1')" :class="ontype=='1'?'chengeXia':''">商铺 |
| 194 | 186 | </div> |
| ... | ... | @@ -202,7 +194,7 @@ |
| 202 | 194 | <add @removeonaction="removeonaction"></add> |
| 203 | 195 | </div> |
| 204 | 196 | <div v-if="ontype == '2'" style="padding: 20px 20px 20px 0;"> |
| 205 | - <addmap @removeonaction="removeonaction" :leixing="leixing"></addmap> | |
| 197 | + <addmap @removeonaction="removeonaction" type="all" :leixing="leixing"></addmap> | |
| 206 | 198 | </div> |
| 207 | 199 | <div v-if="ontype == '3'" style="padding: 20px 20px 20px 0;"> |
| 208 | 200 | <addcd @removeonaction="removeonaction"></addcd> |
| ... | ... | @@ -210,7 +202,7 @@ |
| 210 | 202 | </div> |
| 211 | 203 | <div class="zhuti" v-if="onaction == '3'"> |
| 212 | 204 | <div style="height:58px;line-height:58px;"> |
| 213 | - <div style="color:#0006"> <span>{{onaction == '1'?'商铺基本信息':onaction == '2'?'广告位基本信息管理':onaction == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 205 | + <div style="color:#0006"> <span>{{ontype == '1'?'商铺基本信息':ontype == '2'?'广告位基本信息管理':ontype == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 214 | 206 | style="color:#000000e6">查看</span></div> |
| 215 | 207 | </div> |
| 216 | 208 | <div v-if="ontype == '1'"> |
| ... | ... | @@ -225,7 +217,7 @@ |
| 225 | 217 | </div> |
| 226 | 218 | <div class="zhuti" v-if="onaction == '4'"> |
| 227 | 219 | <div style="height:58px;line-height:58px;"> |
| 228 | - <div style="color:#0006"> <span>{{onaction == '1'?'商铺基本信息':onaction == '2'?'广告位基本信息管理':onaction == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 220 | + <div style="color:#0006"> <span>{{ontype == '1'?'商铺基本信息':ontype == '2'?'广告位基本信息管理':ontype == '3'?'场地基本信息管理':'-' }}</span> <span style="padding:0 5px;">></span> <span | |
| 229 | 221 | style="color:#000000e6">{{contractChangeReason}}</span></div> |
| 230 | 222 | </div> |
| 231 | 223 | <div v-if="ontype == '1'" style="padding: 20px 20px 20px 0;"> |
| ... | ... | @@ -271,12 +263,11 @@ |
| 271 | 263 | import chakanmap from '../../components/chakan/map' |
| 272 | 264 | import chakancd from '../../components/chakan/cd' |
| 273 | 265 | import cl from '@/components/change/cl.vue' |
| 274 | - import { | |
| 275 | - on | |
| 276 | - } from 'screenfull'; | |
| 266 | + import mapchakannew from '@/components/newmap/map' | |
| 277 | 267 | export default { |
| 278 | 268 | data() { |
| 279 | 269 | return { |
| 270 | + name:'', | |
| 280 | 271 | oninfo: {}, |
| 281 | 272 | celueData: [], |
| 282 | 273 | clData: [], |
| ... | ... | @@ -289,10 +280,8 @@ |
| 289 | 280 | contractChangeReason: '', |
| 290 | 281 | detailsinfo: {}, |
| 291 | 282 | pagequery: { |
| 292 | - dataStatus: '1', | |
| 293 | 283 | pageNumber: 0, |
| 294 | 284 | pageSize: 10, |
| 295 | - contractName: '' | |
| 296 | 285 | }, |
| 297 | 286 | tableData: [], |
| 298 | 287 | total: 0, |
| ... | ... | @@ -305,6 +294,7 @@ |
| 305 | 294 | } |
| 306 | 295 | }, |
| 307 | 296 | components: { |
| 297 | + mapchakannew, | |
| 308 | 298 | cl, |
| 309 | 299 | chakancd, |
| 310 | 300 | addcd, |
| ... | ... | @@ -483,18 +473,21 @@ |
| 483 | 473 | }, |
| 484 | 474 | async getAll() { |
| 485 | 475 | if (this.ontype == '1') { |
| 486 | - const res = await getAlls(this.pagequery) | |
| 476 | + const res = await getAlls({...this.pagequery,shopName:this.name}) | |
| 487 | 477 | this.tableData = res.data.content |
| 488 | 478 | this.total = res.data.totalElements |
| 489 | 479 | } else if (this.ontype == '2') { |
| 490 | - const res = await likeGet(this.pagequery) | |
| 480 | + const res = await likeGet({...this.pagequery,advertisingName:this.name}) | |
| 491 | 481 | this.tableData = res.data.content |
| 492 | 482 | this.total = res.data.totalElements |
| 493 | 483 | } else if (this.ontype == '3') { |
| 494 | - const res = await changAlls(this.pagequery) | |
| 484 | + const res = await changAlls({...this.pagequery,venueName:this.name}) | |
| 495 | 485 | this.tableData = res.data.content |
| 496 | 486 | this.total = res.data.totalElements |
| 497 | 487 | } |
| 488 | + // console.error(']]]]]]]]]') | |
| 489 | + // console.error(this.tableData) | |
| 490 | + this.$refs.mapchakannewrefs.initMap(this.tableData) | |
| 498 | 491 | |
| 499 | 492 | }, |
| 500 | 493 | removeonaction(e) { |
| ... | ... | @@ -520,9 +513,8 @@ |
| 520 | 513 | this.pagequery = { |
| 521 | 514 | pageNumber: 0, |
| 522 | 515 | pageSize: 10, |
| 523 | - dataStatus: '1', | |
| 524 | - contractName: '' | |
| 525 | 516 | }, |
| 517 | + this.name = '' | |
| 526 | 518 | this.getAll() |
| 527 | 519 | }, |
| 528 | 520 | //删除 |
| ... | ... | @@ -627,6 +619,12 @@ |
| 627 | 619 | } |
| 628 | 620 | </script> |
| 629 | 621 | <style lang="scss" scoped> |
| 622 | + .formSearch { | |
| 623 | + display: flex; | |
| 624 | + width: 100%; | |
| 625 | + font-size: 14px; | |
| 626 | + justify-content: space-between; | |
| 627 | + } | |
| 630 | 628 | .zhuti { |
| 631 | 629 | padding: 0 20px 20px 20px; |
| 632 | 630 | min-height: calc(100vh - 50px - 20px); |
| ... | ... | @@ -644,6 +642,13 @@ |
| 644 | 642 | margin-right: 10px; |
| 645 | 643 | cursor: pointer; |
| 646 | 644 | } |
| 645 | + ::v-deep .el-dialog__body { | |
| 646 | + padding: 0 0 !important; | |
| 647 | + } | |
| 648 | + .el-dialog__header{ | |
| 649 | + padding: 0; | |
| 650 | + display: none; | |
| 651 | + } | |
| 647 | 652 | </style> |
| 648 | 653 | |
| 649 | 654 | ... | ... |
admin-web-master/src/views/detect/examine/index.vue
| ... | ... | @@ -8,26 +8,18 @@ |
| 8 | 8 | <!-- 线上 --> |
| 9 | 9 | <div> |
| 10 | 10 | <!-- 搜索 --> |
| 11 | - <!-- <div class="formSearch"> | |
| 12 | - <el-form :inline="true" :model="pagequery"> | |
| 13 | - <el-form-item label="所属区域" prop="belongingRegion"> | |
| 14 | - <el-select v-model="pagequery.belongingRegion" placeholder="请选择" style="width: 168px;margin-right: 15px"> | |
| 15 | - <el-option label="成华区" value="成华区"></el-option> | |
| 16 | - <el-option label="武侯区" value="武侯区"></el-option> | |
| 17 | - <el-option label="锦江区" value="锦江区"></el-option> | |
| 18 | - <el-option label="青羊区" value="青羊区"></el-option> | |
| 19 | - <el-option label="金牛区" value="金牛区"></el-option> | |
| 20 | - <el-option label="双流区" value="双流区"></el-option> | |
| 21 | - <el-option label="郫都区" value="郫都区"></el-option> | |
| 22 | - <el-option label="龙泉驿区" value="龙泉驿区"></el-option> | |
| 23 | - <el-option label="温江区" value="温江区"></el-option> | |
| 24 | - </el-select> | |
| 11 | + <div class="formSearch"> | |
| 12 | + <el-form :inline="true"> | |
| 13 | + <el-form-item label="资源名称" prop="name"> | |
| 14 | + <el-input v-model="name" placeholder="请输入" maxlength="50"></el-input> | |
| 15 | + </el-form-item> | |
| 16 | + <el-form-item label="策略名称" prop="clName"> | |
| 17 | + <el-input v-model="clName" placeholder="请输入" maxlength="50"></el-input> | |
| 25 | 18 | </el-form-item> |
| 26 | - <el-form-item label="建筑形式" prop="architecturalForm"> | |
| 27 | - <el-select v-model="pagequery.architecturalForm" placeholder="请选择" | |
| 19 | + <el-form-item label="审核状态" prop="publishStatus"> | |
| 20 | + <el-select v-model="publishStatus" placeholder="请选择" | |
| 28 | 21 | style="width: 168px;margin-right: 15px"> |
| 29 | - <el-option label="框剪结构" value="框剪结构"></el-option> | |
| 30 | - <el-option label="区域二" value="区域二"></el-option> | |
| 22 | + <el-option label="待审核" value="3"></el-option> | |
| 31 | 23 | </el-select> |
| 32 | 24 | </el-form-item> |
| 33 | 25 | </el-form> |
| ... | ... | @@ -39,20 +31,20 @@ |
| 39 | 31 | style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 |
| 40 | 32 | </el-button> |
| 41 | 33 | </div> |
| 42 | - </div> --> | |
| 43 | - <div style="margin: 20px 0;"> | |
| 34 | + </div> | |
| 35 | + <div style="margin-bottom: 20px;"> | |
| 44 | 36 | <div style="display: flex;font-size: 14px"> |
| 45 | 37 | <div style="margin-right: 25px;cursor: pointer;" @click="chenge('1')" :class="ontype=='1'?'chengeXia':''">商铺 |
| 46 | 38 | </div> |
| 47 | - <!-- <div style="margin-right: 25px;cursor: pointer;" @click="chenge('2')" :class="ontype=='2'?'chengeXia':''"> | |
| 39 | + <div style="margin-right: 25px;cursor: pointer;" @click="chenge('2')" :class="ontype=='2'?'chengeXia':''"> | |
| 48 | 40 | 广告位</div> |
| 49 | 41 | <div style="margin-right: 25px;cursor: pointer;" @click="chenge('3')" :class="ontype=='3'?'chengeXia':''">场地 |
| 50 | - </div> --> | |
| 42 | + </div> | |
| 51 | 43 | </div> |
| 52 | 44 | </div> |
| 53 | 45 | <!-- 表格 --> |
| 54 | 46 | <!-- --> |
| 55 | - <el-table border v-if="ontype=='1'" :span-method="objectSpanMethod" :data="tableData" | |
| 47 | + <el-table v-if="ontype=='1'" :span-method="objectSpanMethod" :data="tableData" | |
| 56 | 48 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 57 | 49 | <el-table-column label="商铺名称" prop="shopName" show-overflow-tooltip> |
| 58 | 50 | <template slot-scope="scope"> |
| ... | ... | @@ -86,16 +78,12 @@ |
| 86 | 78 | </el-table-column> |
| 87 | 79 | <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> |
| 88 | 80 | <template slot-scope="scope"> |
| 89 | - {{scope.row.cereBasicInformationShop.publishStatus=='0'?'待发布':scope.row.cereBasicInformationShop.publishStatus=='1'?'已发布':scope.row.cereBasicInformationShop.publishStatus=='2'?'已下架':scope.row.cereBasicInformationShop.publishStatus=='3'?'待审核':scope.row.cereBasicInformationShop.publishStatus=='4'?'驳回':'-'}} | |
| 81 | + {{scope.row.cereBasicInformationShop.publishStatus=='0'?'待发布':scope.row.cereBasicInformationShop.publishStatus=='1'?'已发布':scope.row.cereBasicInformationShop.publishStatus=='2'?'空置中':scope.row.cereBasicInformationShop.publishStatus=='3'?'待审核':scope.row.cereBasicInformationShop.publishStatus=='4'?'驳回':'-'}} | |
| 90 | 82 | </template> |
| 91 | 83 | </el-table-column> |
| 92 | 84 | <el-table-column label="操作" fixed="right"> |
| 93 | 85 | <template slot-scope="scope"> |
| 94 | - <!-- <div @click="opencl(scope.row,'sp')" class="tableBtn greens">绑定策略</div> --> | |
| 95 | 86 | <div @click="details(scope.row.cereBasicInformationShop)" class="tableBtn greens">查看</div> |
| 96 | - <!-- <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 | |
| 97 | - </div> --> | |
| 98 | - <!-- <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="closemsg(scope.row)">删除</div> --> | |
| 99 | 87 | <div v-if="scope.row.cereBasicInformationShop.publishStatus=='3'" class="tableBtn greens" |
| 100 | 88 | @click="removeinfozz(scope.row.cereBasicInformationShop,'1','通过')">通过</div> |
| 101 | 89 | <div v-if="scope.row.cereBasicInformationShop.publishStatus=='3'" class="tableBtn greens" |
| ... | ... | @@ -103,100 +91,102 @@ |
| 103 | 91 | </template> |
| 104 | 92 | </el-table-column> |
| 105 | 93 | </el-table> |
| 106 | - <el-table v-if="ontype=='2'" :data="tableData" | |
| 94 | + <el-table v-if="ontype=='2'" :span-method="objectSpanMethod" :data="tableData" | |
| 107 | 95 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 108 | - <el-table-column label="序号" min-width="100"> | |
| 96 | + <el-table-column label="广告位名称" prop="advertisingName" show-overflow-tooltip> | |
| 109 | 97 | <template slot-scope="scope"> |
| 110 | - {{scope.$index +1}} | |
| 98 | + {{scope.row.cereAdvertisingInformation.advertisingName}} | |
| 111 | 99 | </template> |
| 112 | 100 | </el-table-column> |
| 113 | - <el-table-column label="广告位名称" prop="advertisingName" min-width="200"> | |
| 114 | - </el-table-column> | |
| 115 | - <el-table-column label="广告位类型" prop="advertisingType" min-width="150"> | |
| 116 | - </el-table-column> | |
| 117 | - <!-- <el-table-column label="详细地址" prop="detailedLocation" min-width="200"> | |
| 118 | - </el-table-column> | |
| 119 | - <el-table-column label="设备类型" prop="deviceType" min-width="150"> | |
| 120 | - </el-table-column> | |
| 121 | - <el-table-column label="设备尺寸" prop="equipmentSize" min-width="200"> | |
| 122 | - </el-table-column> | |
| 123 | - <el-table-column label="场地编号" prop="venueNumber" min-width="150"> | |
| 124 | - </el-table-column> | |
| 125 | - <el-table-column label="广告尺寸" prop="dimensions" min-width="200"> | |
| 101 | + <el-table-column prop="advertisingType" label="广告位类型" show-overflow-tooltip> | |
| 102 | + <template slot-scope="scope"> | |
| 103 | + {{scope.row.cereAdvertisingInformation.advertisingType}} | |
| 104 | + </template> | |
| 126 | 105 | </el-table-column> |
| 127 | - <el-table-column label="广告材质" prop="advertisingMaterial" min-width="150"> | |
| 106 | + <el-table-column label="所属端" prop="affiliation" show-overflow-tooltip> | |
| 107 | + <template slot-scope="scope"> | |
| 108 | + {{scope.row.cereAdvertisingInformation.affiliation}} | |
| 109 | + </template> | |
| 128 | 110 | </el-table-column> |
| 129 | - <el-table-column prop="createUser" label="创建人" min-width="120"> | |
| 111 | + <el-table-column label="策略名称" prop="policyName" show-overflow-tooltip> | |
| 112 | + <template slot-scope="scope"> | |
| 113 | + {{scope.row.shopinfo.policyName}} | |
| 114 | + </template> | |
| 130 | 115 | </el-table-column> |
| 131 | - <el-table-column prop="rentalStatus" label="租赁状态" min-width="120"> | |
| 116 | + <el-table-column label="租金/周期" prop="rentalPrice" show-overflow-tooltip> | |
| 132 | 117 | <template slot-scope="scope"> |
| 133 | - {{scope.row.rentalStatus == 0?'未租':'已租'}} | |
| 118 | + {{scope.row.shopinfo.rentalPrice}} /{{ scope.row.shopinfo.leaseTerm }} | |
| 134 | 119 | </template> |
| 135 | - </el-table-column> --> | |
| 136 | - <el-table-column prop="publishStatus" label="发布状态" min-width="120"> | |
| 120 | + </el-table-column> | |
| 121 | + <el-table-column label="付款日" prop="payDay" show-overflow-tooltip> | |
| 137 | 122 | <template slot-scope="scope"> |
| 138 | - {{scope.row.publishStatus == 0?'待发布':'已提交'}} | |
| 123 | + {{scope.row.shopinfo.payDay}} | |
| 139 | 124 | </template> |
| 140 | 125 | </el-table-column> |
| 141 | - <el-table-column prop="leaseExpirationDate" label="租赁到期时间" min-width="200"> | |
| 126 | + <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> | |
| 127 | + <template slot-scope="scope"> | |
| 128 | + {{scope.row.cereAdvertisingInformation.publishStatus=='0'?'待发布':scope.row.cereAdvertisingInformation.publishStatus=='1'?'已发布':scope.row.cereAdvertisingInformation.publishStatus=='2'?'空置中':scope.row.cereAdvertisingInformation.publishStatus=='3'?'待审核':scope.row.cereAdvertisingInformation.publishStatus=='4'?'驳回':'-'}} | |
| 129 | + </template> | |
| 142 | 130 | </el-table-column> |
| 143 | - <el-table-column label="操作" min-width="250" fixed="right"> | |
| 131 | + | |
| 132 | + <el-table-column label="操作" fixed="right"> | |
| 144 | 133 | <template slot-scope="scope"> |
| 145 | - <div @click="details(scope.row)" class="tableBtn greens">查看</div> | |
| 146 | - <div @click="opencl(scope.row,'gg')" class="tableBtn greens">绑定策略</div> | |
| 147 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 | |
| 148 | - </div> | |
| 149 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="closemsg(scope.row)">删除</div> | |
| 150 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" | |
| 151 | - @click="removeinfozz(scope.row,'1','发布')">发布</div> | |
| 152 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='1'" | |
| 153 | - @click="removeinfozz(scope.row,'0','下架')">下架</div> | |
| 134 | + <div @click="details(scope.row.cereAdvertisingInformation)" class="tableBtn greens">查看</div> | |
| 135 | + <div v-if="scope.row.cereAdvertisingInformation.publishStatus=='3'" class="tableBtn greens" | |
| 136 | + @click="removeinfozz(scope.row.cereAdvertisingInformation,'1','通过')">通过</div> | |
| 137 | + <div v-if="scope.row.cereAdvertisingInformation.publishStatus=='3'" class="tableBtn greens" | |
| 138 | + @click="removeinfozz(scope.row.cereAdvertisingInformation,'4','驳回')">驳回</div> | |
| 154 | 139 | </template> |
| 155 | 140 | </el-table-column> |
| 156 | 141 | </el-table> |
| 157 | - <el-table v-if="ontype=='3'" :data="tableData" | |
| 142 | + <el-table v-if="ontype=='3'" :span-method="objectSpanMethod" :data="tableData" | |
| 158 | 143 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 159 | - <el-table-column label="序号"> | |
| 144 | + <el-table-column label="场地名称" prop="venueName" show-overflow-tooltip> | |
| 160 | 145 | <template slot-scope="scope"> |
| 161 | - {{scope.$index +1}} | |
| 146 | + {{scope.row.cereBasicInformationVenue.venueName}} | |
| 162 | 147 | </template> |
| 163 | 148 | </el-table-column> |
| 164 | - <!-- <el-table-column label="编号" prop="id" v-if="activeName == 'second'"> | |
| 165 | - </el-table-column> --> | |
| 166 | - <el-table-column label="场地名称" prop="venueName"> | |
| 149 | + <el-table-column prop="venueType" label="场地类型" show-overflow-tooltip> | |
| 150 | + <template slot-scope="scope"> | |
| 151 | + {{scope.row.cereBasicInformationVenue.venueType}} | |
| 152 | + </template> | |
| 167 | 153 | </el-table-column> |
| 168 | - <el-table-column label="实际使用面积" prop="actualArea"> | |
| 154 | + <el-table-column label="实际使用面积" prop="actualUsableArea" show-overflow-tooltip> | |
| 155 | + <template slot-scope="scope"> | |
| 156 | + {{scope.row.cereBasicInformationVenue.actualUsableArea}} | |
| 157 | + </template> | |
| 169 | 158 | </el-table-column> |
| 170 | - <el-table-column label="场地类型" prop="venueType"> | |
| 159 | + <el-table-column label="策略名称" prop="policyName" show-overflow-tooltip> | |
| 160 | + <template slot-scope="scope"> | |
| 161 | + {{scope.row.shopinfo.policyName}} | |
| 162 | + </template> | |
| 171 | 163 | </el-table-column> |
| 172 | - <el-table-column label="所属区域" prop="district"> | |
| 164 | + <el-table-column label="租金/周期" prop="rentalPrice" show-overflow-tooltip> | |
| 165 | + <template slot-scope="scope"> | |
| 166 | + {{scope.row.shopinfo.rentalPrice}} /{{ scope.row.shopinfo.leaseTerm }} | |
| 167 | + </template> | |
| 173 | 168 | </el-table-column> |
| 174 | - <el-table-column label="详细位置" prop="detailedLocation"> | |
| 169 | + <el-table-column label="付款日" prop="payDay" show-overflow-tooltip> | |
| 170 | + <template slot-scope="scope"> | |
| 171 | + {{scope.row.shopinfo.payDay}} | |
| 172 | + </template> | |
| 175 | 173 | </el-table-column> |
| 176 | - <!-- <el-table-column label="租赁状态" > | |
| 177 | - </el-table-column> --> | |
| 178 | - <!-- <el-table-column label="状态" > | |
| 179 | - </el-table-column> --> | |
| 180 | - <el-table-column prop="publishStatus" label="发布状态" min-width="120"> | |
| 174 | + <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> | |
| 181 | 175 | <template slot-scope="scope"> |
| 182 | - {{scope.row.publishStatus == 0?'待发布':'已提交'}} | |
| 176 | + {{scope.row.cereBasicInformationVenue.publishStatus=='0'?'待发布':scope.row.cereBasicInformationVenue.publishStatus=='1'?'已发布':scope.row.cereBasicInformationVenue.publishStatus=='2'?'空置中':scope.row.cereBasicInformationVenue.publishStatus=='3'?'待审核':scope.row.cereBasicInformationVenue.publishStatus=='4'?'驳回':'-'}} | |
| 183 | 177 | </template> |
| 184 | 178 | </el-table-column> |
| 185 | - <el-table-column label="操作" min-width="250" fixed="right"> | |
| 179 | + <el-table-column label="操作" fixed="right"> | |
| 186 | 180 | <template slot-scope="scope"> |
| 187 | - <div @click="details(scope.row)" class="tableBtn greens">查看</div> | |
| 188 | - <div @click="opencl(scope.row,'cd')" class="tableBtn greens">绑定策略</div> | |
| 189 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 | |
| 190 | - </div> | |
| 191 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="closemsg(scope.row)">删除</div> | |
| 192 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" | |
| 193 | - @click="removeinfozz(scope.row,'1','发布')">发布</div> | |
| 194 | - <div class="tableBtn greens" v-if="scope.row.publishStatus=='1'" | |
| 195 | - @click="removeinfozz(scope.row,'0','下架')">下架</div> | |
| 181 | + <div @click="details(scope.row.cereBasicInformationVenue)" class="tableBtn greens">查看</div> | |
| 182 | + <div v-if="scope.row.cereBasicInformationVenue.publishStatus=='3'" class="tableBtn greens" | |
| 183 | + @click="removeinfozz(scope.row.cereBasicInformationVenue,'1','通过')">通过</div> | |
| 184 | + <div v-if="scope.row.cereBasicInformationVenue.publishStatus=='3'" class="tableBtn greens" | |
| 185 | + @click="removeinfozz(scope.row.cereBasicInformationVenue,'4','驳回')">驳回</div> | |
| 196 | 186 | </template> |
| 197 | 187 | </el-table-column> |
| 198 | 188 | </el-table> |
| 199 | - <div style="display: flex;justify-content: space-between;" class="bom"> | |
| 189 | + <div v-if="total>0" style="display: flex;justify-content: space-between;" class="bom"> | |
| 200 | 190 | <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{total}}</span> 项数据</div> |
| 201 | 191 | <el-pagination :current-page="pagequery.pageNumber+1" :page-sizes="[10, 20, 50, 100]" :page-size="10" |
| 202 | 192 | background small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" |
| ... | ... | @@ -314,6 +304,9 @@ |
| 314 | 304 | export default { |
| 315 | 305 | data() { |
| 316 | 306 | return { |
| 307 | + publishStatus:'', | |
| 308 | + clName:'', | |
| 309 | + name:'', | |
| 317 | 310 | oninfo: {}, |
| 318 | 311 | celueData: [], |
| 319 | 312 | clData: [], |
| ... | ... | @@ -559,7 +552,8 @@ |
| 559 | 552 | if (this.ontype == '1') { |
| 560 | 553 | const res = await getResourceStrategy({ |
| 561 | 554 | ...this.pagequery, |
| 562 | - resourcesId: 'sp' | |
| 555 | + resourcesId: 'sp', | |
| 556 | + shopName:this.name | |
| 563 | 557 | }) |
| 564 | 558 | let c1 = [] |
| 565 | 559 | for (let index = 0; index < res.data.length; index++) { |
| ... | ... | @@ -583,16 +577,52 @@ |
| 583 | 577 | } else if (this.ontype == '2') { |
| 584 | 578 | const res = await getResourceStrategy({ |
| 585 | 579 | ...this.pagequery, |
| 586 | - resourcesId: 'gg' | |
| 580 | + resourcesId: 'gg', | |
| 581 | + advertisingName:this.name | |
| 587 | 582 | }) |
| 588 | - this.tableData = res.data.list | |
| 583 | + let c1 = [] | |
| 584 | + for (let index = 0; index < res.data.length; index++) { | |
| 585 | + const element = res.data[index]; | |
| 586 | + if (element.cereAdvertisingInformation.id) { | |
| 587 | + for (let i = 0; i < element.cereRentalPolicies.length; i++) { | |
| 588 | + var element1 = element.cereRentalPolicies[i]; | |
| 589 | + | |
| 590 | + var obj = { | |
| 591 | + cereAdvertisingInformation: element.cereAdvertisingInformation, | |
| 592 | + num: element.cereRentalPolicies.length, | |
| 593 | + shopinfo: element1 | |
| 594 | + }; | |
| 595 | + c1.push(obj); | |
| 596 | + } | |
| 597 | + } | |
| 598 | + } | |
| 599 | + this.tableData = c1 | |
| 600 | + console.error(this.tableData) | |
| 589 | 601 | this.total = res.data.total |
| 590 | 602 | } else if (this.ontype == '3') { |
| 591 | 603 | const res = await getResourceStrategy({ |
| 592 | 604 | ...this.pagequery, |
| 593 | - resourcesId: 'cd' | |
| 605 | + resourcesId: 'cd', | |
| 606 | + // venueName:this.name | |
| 594 | 607 | }) |
| 595 | - this.tableData = res.data.list | |
| 608 | + let c1 = [] | |
| 609 | + for (let index = 0; index < res.data.length; index++) { | |
| 610 | + const element = res.data[index]; | |
| 611 | + if (element.cereBasicInformationVenue.id) { | |
| 612 | + for (let i = 0; i < element.cereRentalPolicies.length; i++) { | |
| 613 | + var element1 = element.cereRentalPolicies[i]; | |
| 614 | + | |
| 615 | + var obj = { | |
| 616 | + cereBasicInformationVenue: element.cereBasicInformationVenue, | |
| 617 | + num: element.cereRentalPolicies.length, | |
| 618 | + shopinfo: element1 | |
| 619 | + }; | |
| 620 | + c1.push(obj); | |
| 621 | + } | |
| 622 | + } | |
| 623 | + } | |
| 624 | + this.tableData = c1 | |
| 625 | + console.error(this.tableData) | |
| 596 | 626 | this.total = res.data.total |
| 597 | 627 | } |
| 598 | 628 | ... | ... |
admin-web-master/src/views/detect/information/index.vue
| ... | ... | @@ -19,12 +19,12 @@ |
| 19 | 19 | :key="index" :label="item.label" :value="item.value"></el-option> |
| 20 | 20 | </el-select> |
| 21 | 21 | </el-form-item> |
| 22 | - <el-form-item label="所属绿道段" prop="belongingGreenwaySection"> | |
| 22 | + <!-- <el-form-item label="所属绿道段" prop="belongingGreenwaySection"> | |
| 23 | 23 | <el-select v-model="pagequery.belongingGreenwaySection" placeholder="请选择"> |
| 24 | 24 | <el-option :label="item.name" :value="item.code" v-for="(item,index) in lvdaoList" |
| 25 | 25 | :key="index"></el-option> |
| 26 | 26 | </el-select> |
| 27 | - </el-form-item> | |
| 27 | + </el-form-item> --> | |
| 28 | 28 | <el-form-item label="归属部门" prop="belongingDepartment"> |
| 29 | 29 | <el-input v-model="pagequery.belongingDepartment" placeholder="请输入" maxlength="50"></el-input> |
| 30 | 30 | </el-form-item> |
| ... | ... | @@ -45,36 +45,43 @@ |
| 45 | 45 | </div> |
| 46 | 46 | <!-- 表格 --> |
| 47 | 47 | |
| 48 | - <el-table :data="tableData" border :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}"> | |
| 49 | - <el-table-column label="序号" min-width="50"> | |
| 48 | + <el-table :data="tableData" :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 49 | + <el-table-column label="序号" width="50"> | |
| 50 | 50 | <template slot-scope="scope"> |
| 51 | 51 | {{scope.$index +1 }} |
| 52 | 52 | </template> |
| 53 | 53 | </el-table-column> |
| 54 | - <el-table-column label="门牌号" prop="houseNumber" show-overflow-tooltip> | |
| 55 | - | |
| 56 | - </el-table-column> | |
| 57 | - <el-table-column label="商铺名称" prop="shopName" show-overflow-tooltip> | |
| 54 | + <!-- <el-table-column label="门牌号" prop="houseNumber" show-overflow-tooltip> | |
| 58 | 55 | |
| 56 | + </el-table-column> --> | |
| 57 | + <el-table-column label="商铺名称" prop="shopName" show-overflow-tooltip></el-table-column> | |
| 58 | + <el-table-column label="商铺类型" prop="publishStatus" show-overflow-tooltip> | |
| 59 | + <template slot-scope="scope"> | |
| 60 | + {{scope.row.shopType=='1'?'移动铺位':scope.row.shopType=='2'?'固定铺位':'无'}} | |
| 61 | + </template> | |
| 59 | 62 | </el-table-column> |
| 60 | 63 | <el-table-column label="所属区域" prop="belongingRegion" show-overflow-tooltip> |
| 61 | 64 | </el-table-column> |
| 62 | - <el-table-column label="建筑形式" prop="architecturalForm" show-overflow-tooltip> | |
| 65 | + <el-table-column prop="detailedLocation" width="180" label="详细地址" show-overflow-tooltip> | |
| 63 | 66 | </el-table-column> |
| 64 | - <el-table-column prop="detailedLocation" label="详细地址" show-overflow-tooltip> | |
| 65 | - </el-table-column> | |
| 66 | - <el-table-column label="实际使用面积" prop="actualUsableArea" show-overflow-tooltip> | |
| 67 | + <el-table-column label="实际使用面积" prop="actualUsableArea" show-overflow-tooltip> | |
| 68 | + <template slot-scope="scope"> | |
| 69 | + {{scope.row.actualUsableArea || '无'}} | |
| 70 | + </template> | |
| 67 | 71 | </el-table-column> |
| 68 | 72 | <el-table-column label="负责人" prop="head" show-overflow-tooltip> |
| 73 | + <template slot-scope="scope"> | |
| 74 | + {{scope.row.head || '无'}} | |
| 75 | + </template> | |
| 69 | 76 | </el-table-column> |
| 70 | 77 | <el-table-column label="租赁到期时间" prop="leaseExpirationDate" show-overflow-tooltip> |
| 71 | 78 | </el-table-column> |
| 72 | 79 | <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> |
| 73 | 80 | <template slot-scope="scope"> |
| 74 | - {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'已下架':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 81 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'空置中':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 75 | 82 | </template> |
| 76 | 83 | </el-table-column> |
| 77 | - <el-table-column label="操作" min-width="200" fixed="right"> | |
| 84 | + <el-table-column label="操作" min-width="100" fixed="right"> | |
| 78 | 85 | <template slot-scope="scope"> |
| 79 | 86 | <div @click="details(scope.row)" class="tableBtn greens">查看</div> |
| 80 | 87 | <div class="tableBtn greens" v-if="scope.row.publishStatus=='0' || scope.row.publishStatus=='2'" @click="removeinfo(scope.row,'编辑')">编辑 | ... | ... |
admin-web-master/src/views/detect/map/index.vue
| ... | ... | @@ -44,62 +44,38 @@ |
| 44 | 44 | <!-- <el-button @click="" style="background-color: #3F9B6A;color: #fff">批量导入</el-button> --> |
| 45 | 45 | </div> |
| 46 | 46 | <!-- 表格 --> |
| 47 | - | |
| 48 | 47 | <el-table :data="tableData" |
| 49 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#f5f8f9'}"> | |
| 50 | - <el-table-column label="序号" min-width="80"> | |
| 48 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 49 | + <el-table-column label="序号" width="50"> | |
| 51 | 50 | <template slot-scope="scope"> |
| 52 | 51 | {{scope.$index +1 }} |
| 53 | 52 | </template> |
| 54 | 53 | </el-table-column> |
| 55 | - <el-table-column label="广告位名称" prop="advertisingName" min-width="150" show-overflow-tooltip> | |
| 56 | - </el-table-column> | |
| 57 | - <el-table-column label="广告位类型" prop="advertisingType" min-width="120" show-overflow-tooltip> | |
| 58 | - </el-table-column> | |
| 59 | - <el-table-column label="所属端" prop="affiliation" min-width="120" v-if="leixing" show-overflow-tooltip> | |
| 60 | - </el-table-column> | |
| 61 | - <el-table-column label="详细地址" prop="detailedLocation" min-width="200" v-if="leixing == false" | |
| 62 | - show-overflow-tooltip> | |
| 63 | - </el-table-column> | |
| 64 | - <el-table-column label="设备类型" prop="deviceType" min-width="200" v-if="leixing == false" show-overflow-tooltip> | |
| 54 | + <el-table-column label="广告位名称" prop="advertisingName" show-overflow-tooltip> | |
| 65 | 55 | </el-table-column> |
| 66 | - <el-table-column label="设备尺寸" prop="equipmentSize" min-width="200" v-if="leixing == false"> | |
| 56 | + <el-table-column label="广告位类型" prop="advertisingType" show-overflow-tooltip> | |
| 67 | 57 | </el-table-column> |
| 68 | - <!-- <el-table-column label="场地编号" prop="venueNumber" min-width="120" v-if="leixing == false" | |
| 69 | - show-overflow-tooltip> | |
| 70 | - </el-table-column> --> | |
| 71 | - <el-table-column label="轮播顺序" prop="rotationOrder" min-width="80" v-if="leixing"> | |
| 72 | 58 | |
| 73 | - </el-table-column> | |
| 74 | - <el-table-column label="广告尺寸" prop="dimensions" min-width="200" v-if="leixing == false"> | |
| 75 | - </el-table-column> | |
| 76 | - <el-table-column label="广告材质" prop="advertisingMaterial" min-width="120" v-if="leixing == false"> | |
| 77 | - </el-table-column> | |
| 78 | - <el-table-column label="可上传大小" prop="size" min-width="120" v-if="leixing"> | |
| 79 | 59 | |
| 80 | - </el-table-column> | |
| 81 | - <el-table-column label="上传格式" prop="uploadFormat" min-width="150" v-if="leixing"> | |
| 82 | - </el-table-column> | |
| 83 | - <!-- <el-table-column prop="createUser" label="创建人" min-width="120"> | |
| 84 | - </el-table-column> --> | |
| 85 | - <!-- <el-table-column prop="rentalStatus" label="租赁状态" min-width="120"> | |
| 86 | - <template slot-scope="scope"> | |
| 87 | - {{scope.row.rentalStatus=='0'?'待租':'已租'}} | |
| 88 | - </template> | |
| 89 | - </el-table-column> --> | |
| 90 | - <!-- <el-table-column prop="publishStatus" label="发布状态" min-width="120"> | |
| 91 | - <template slot-scope="scope"> | |
| 92 | - {{scope.row.rentalStatus=='0'?'待发布':scope.row.rentalStatus=='1'?'待审核':'已审核'}} | |
| 93 | - </template> | |
| 94 | - </el-table-column> --> | |
| 95 | - <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> | |
| 60 | + <el-table-column label="所属端" width="100" prop="affiliation" v-if="leixing" show-overflow-tooltip></el-table-column> | |
| 61 | + <el-table-column label="轮播顺序" width="100" prop="rotationOrder" v-if="leixing"> </el-table-column> | |
| 62 | + <el-table-column label="广告尺寸" width="120" prop="dimensions" v-if="leixing" show-overflow-tooltip></el-table-column> | |
| 63 | + <el-table-column label="上传大小" prop="size" v-if="leixing"></el-table-column> | |
| 64 | + | |
| 65 | + | |
| 66 | + <el-table-column label="详细位置" prop="detailedLocation" v-if="leixing == false" show-overflow-tooltip></el-table-column> | |
| 67 | + <el-table-column label="设备类型" width="100" prop="deviceType" v-if="leixing == false" show-overflow-tooltip></el-table-column> | |
| 68 | + <el-table-column label="广告尺寸" width="120" prop="dimensions" v-if="leixing == false" show-overflow-tooltip></el-table-column> | |
| 69 | + <el-table-column label="广告材质" width="100" prop="advertisingMaterial" v-if="leixing == false"></el-table-column> | |
| 70 | + | |
| 71 | + <el-table-column label="状态" prop="publishStatus" show-overflow-tooltip> | |
| 96 | 72 | <template slot-scope="scope"> |
| 97 | - {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'已下架':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 73 | + {{scope.row.publishStatus=='0'?'待发布':scope.row.publishStatus=='1'?'已发布':scope.row.publishStatus=='2'?'空置中':scope.row.publishStatus=='3'?'待审核':scope.row.publishStatus=='4'?'驳回':'-'}} | |
| 98 | 74 | </template> |
| 99 | 75 | </el-table-column> |
| 100 | - <el-table-column prop="leaseExpirationDate" label="租赁到期时间" min-width="150" show-overflow-tooltip> | |
| 76 | + <el-table-column prop="leaseExpirationDate" label="租赁到期时间" show-overflow-tooltip> | |
| 101 | 77 | </el-table-column> |
| 102 | - <el-table-column label="操作" min-width="250" fixed="right"> | |
| 78 | + <el-table-column label="操作" fixed="right"> | |
| 103 | 79 | <template slot-scope="scope"> |
| 104 | 80 | <div @click="details(scope.row)" class="tableBtn greens">查看</div> |
| 105 | 81 | <div class="tableBtn greens" v-if="scope.row.publishStatus=='0'" @click="removeinfo(scope.row,'编辑')">编辑 | ... | ... |
admin-web-master/src/views/serve/MarkActivity/index copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 3 | + <div class="zhuti"> | |
| 4 | + <div style="height:58px;line-height:58px;"> | |
| 5 | + <div style="color:#0006"> <span>客服服务管理</span> <span style="padding:0 5px;">></span> <span | |
| 6 | + style="color:#000000e6">营销推广活动</span></div> | |
| 7 | + </div> | |
| 8 | + <div> | |
| 9 | + <!-- 搜索 --> | |
| 10 | + <div class="formSearch"> | |
| 11 | + <el-form :inline="true" :model="formSel"> | |
| 12 | + <el-form-item label="活动标题"> | |
| 13 | + <el-input v-model="formSel.title" placeholder="请输入" style="width:168px;" /> | |
| 14 | + </el-form-item> | |
| 15 | + <el-form-item label="场地名称"> | |
| 16 | + <el-input v-model="formSel.venue" placeholder="请输入" style="width:168px;" /> | |
| 17 | + </el-form-item> | |
| 18 | + <el-form-item label="联系人"> | |
| 19 | + <el-input v-model="formSel.contactPerson" placeholder="请输入" style="width:168px;" /> | |
| 20 | + </el-form-item> | |
| 21 | + <el-form-item label="联系电话"> | |
| 22 | + <el-input v-model="formSel.contactPhone" placeholder="请输入" style="width:168px;" /> | |
| 23 | + </el-form-item> | |
| 24 | + <el-form-item label="起止时间"> | |
| 25 | + <el-select v-model="formSel.startTime" placeholder="请选择" style="width:168px;margin-right: 15px"> | |
| 26 | + <el-option label="" value="" /> | |
| 27 | + </el-select> | |
| 28 | + </el-form-item> | |
| 29 | + </el-form> | |
| 30 | + <div> | |
| 31 | + <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询 | |
| 32 | + </el-button> | |
| 33 | + <el-button @click="resetting" class="buttonHover" | |
| 34 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 35 | + </el-button> | |
| 36 | + </div> | |
| 37 | + </div> | |
| 38 | + <div style="margin-bottom: 20px;"> | |
| 39 | + <div> | |
| 40 | + <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 41 | + icon="el-icon-circle-plus-outline" @click="ggXin = true">新增</el-button> | |
| 42 | + </div> | |
| 43 | + </div> | |
| 44 | + <!-- 表格 --> | |
| 45 | + | |
| 46 | + <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 47 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 48 | + <el-table-column label="序号" min-width="150"> | |
| 49 | + <template slot-scope="scope"> | |
| 50 | + {{scope.$index +1 }} | |
| 51 | + </template> | |
| 52 | + </el-table-column> | |
| 53 | + <el-table-column label="活动标题" min-width="200" prop="title"> | |
| 54 | + </el-table-column> | |
| 55 | + <el-table-column label="场地名称" min-width="150" prop="venue"> | |
| 56 | + </el-table-column> | |
| 57 | + <el-table-column label="起止时间" prop="startTime" min-width="250"> | |
| 58 | + </el-table-column> | |
| 59 | + <el-table-column label="联系人" prop="contactPerson" min-width="150"> | |
| 60 | + | |
| 61 | + </el-table-column> | |
| 62 | + <el-table-column label="联系电话" prop="contactPhone" min-width="150"> | |
| 63 | + | |
| 64 | + </el-table-column> | |
| 65 | + <el-table-column label="已参与报名人数" prop="registeredCount" min-width="150"> | |
| 66 | + </el-table-column> | |
| 67 | + <el-table-column prop="createdAt" label="创建时间" min-width="250"> | |
| 68 | + | |
| 69 | + </el-table-column> | |
| 70 | + <el-table-column label="创建人" prop="createdBy" min-width="150"> | |
| 71 | + </el-table-column> | |
| 72 | + <el-table-column prop="reviewStatus" label="状态" min-width="150"> | |
| 73 | + <template slot-scope="scope"> | |
| 74 | + {{scope.row.reviewStatus=='1'?'未发布':'已发布'}} | |
| 75 | + </template> | |
| 76 | + </el-table-column> | |
| 77 | + <el-table-column label="操作" min-width="350"> | |
| 78 | + <template slot-scope="scope"> | |
| 79 | + <div @click="details(scope.row)" class="tableBtn greens">查看</div> | |
| 80 | + <div @click="fabu(scope.row,'2')" class="tableBtn greens" v-if="scope.row.reviewStatus=='1'">发布</div> | |
| 81 | + <div @click="fabu(scope.row,'1')" class="tableBtn greens" v-if="scope.row.reviewStatus=='2'">下架</div> | |
| 82 | + <div @click="zhongzhi(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">编辑</div> | |
| 83 | + <div @click="getMing(scope.row.id)" class="tableBtn greens" v-if="scope.row.reviewStatus!='1'">报名名单</div> | |
| 84 | + <div @click="deltab(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">删除</div> | |
| 85 | + <div @click="Qcode(scope.row)" class="tableBtn greens">活动二维码</div> | |
| 86 | + </template> | |
| 87 | + </el-table-column> | |
| 88 | + </el-table> | |
| 89 | + <div class="fenye"> | |
| 90 | + <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPage" | |
| 91 | + :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " | |
| 92 | + @size-change="handleSizeChange" @current-change="handleCurrentChange" /> | |
| 93 | + </div> | |
| 94 | + </div> | |
| 95 | + | |
| 96 | + </div> | |
| 97 | + <!-- 详情框 --> | |
| 98 | + <el-dialog :visible.sync="detbox" custom-class='tongyong_css' style="padding: 0;" width="65%" center | |
| 99 | + :close-on-click-modal="false" :show-close="false"> | |
| 100 | + <div style="padding:20px;"> | |
| 101 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 102 | + <div> | |
| 103 | + | |
| 104 | + <el-form ref="form" :model="xiangData" label-width="120px"> | |
| 105 | + <el-form-item label="营销活动标题" prop="title"> | |
| 106 | + <el-input placeholder="请输入" v-model="xiangData.title" :disabled="edit"></el-input> | |
| 107 | + </el-form-item> | |
| 108 | + <el-form-item label="内容" prop="content" tyle="width: 100%;"> | |
| 109 | + <wang-editor v-model="xiangData.content" ref="editor" :height="200" v-if="!edit"></wang-editor> | |
| 110 | + <div v-html="xiangData.content" style="line-height:40px" v-else></div> | |
| 111 | + </el-form-item> | |
| 112 | + </el-form> | |
| 113 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 114 | + <div | |
| 115 | + style="padding: 10px 20px;border-bottom: 1px solid #DCDFE6;display: flex;justify-content: space-between;"> | |
| 116 | + <div>场地选择</div> | |
| 117 | + <div style="color: #3F9B6A;margin-left: 10px;" @click="addziyuan = true" v-if="!edit"> | |
| 118 | + 添加 | |
| 119 | + </div> | |
| 120 | + </div> | |
| 121 | + <div style="padding:20px;"> | |
| 122 | + <el-table :data="addziyuanData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 123 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 124 | + <el-table-column label="序号" width="80"> | |
| 125 | + <template slot-scope="scope"> | |
| 126 | + {{scope.$index + 1}} | |
| 127 | + </template> | |
| 128 | + </el-table-column> | |
| 129 | + <el-table-column label="资源编号" prop="id" width="150"> | |
| 130 | + | |
| 131 | + </el-table-column> | |
| 132 | + </el-table-column> | |
| 133 | + <el-table-column label="场地名称" prop="venueName" width="150"> | |
| 134 | + | |
| 135 | + </el-table-column> | |
| 136 | + <el-table-column label="所属区域" prop="district" min-width="150"> | |
| 137 | + </el-table-column> | |
| 138 | + <el-table-column label="场地类型" prop="venueType" width="150"> | |
| 139 | + | |
| 140 | + </el-table-column> | |
| 141 | + <el-table-column label="详细位置" prop="detailedLocation" min-width="150"> | |
| 142 | + </el-table-column> | |
| 143 | + <el-table-column label="操作" min-width="150"> | |
| 144 | + <template slot-scope="scope"> | |
| 145 | + <div class="tableBtn greens" @click="addziyuanData = []">删除</div> | |
| 146 | + </template> | |
| 147 | + </el-table-column> | |
| 148 | + </el-table> | |
| 149 | + </div> | |
| 150 | + </div> | |
| 151 | + <el-form ref="form" :model="xiangData" label-width="120px"> | |
| 152 | + <el-form-item label="起止时间"> | |
| 153 | + <el-date-picker style="width: 100%;" v-model="plan_Time" value-format="yyyy-MM-dd HH:mm:ss" | |
| 154 | + :disabled="edit" type="datetimerange" range-separator="至" start-placeholder="开始日期" | |
| 155 | + end-placeholder="结束日期" align="right"> | |
| 156 | + </el-date-picker> | |
| 157 | + </el-form-item> | |
| 158 | + <el-form-item label="联系人" prop="contactPerson"> | |
| 159 | + <el-input placeholder="请输入" v-model="xiangData.contactPerson" :disabled="edit"></el-input> | |
| 160 | + </el-form-item> | |
| 161 | + <el-form-item label="联系电话" prop="contactPhone"> | |
| 162 | + <el-input placeholder="请输入" v-model="xiangData.contactPhone" :disabled="edit"></el-input> | |
| 163 | + </el-form-item> | |
| 164 | + <el-form-item label="封面图片" prop="coverImage"> | |
| 165 | + <upimg v-model="xiangData.coverImage" :limit="1" :fileSize="1" :isShowTip="false" v-if="!edit"></upimg> | |
| 166 | + <img :src="xiangData.coverImage" alt="" v-else> | |
| 167 | + </el-form-item> | |
| 168 | + | |
| 169 | + </el-form> | |
| 170 | + </div> | |
| 171 | + | |
| 172 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 173 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 174 | + @click="closeFn(2)">返回</el-button> | |
| 175 | + <el-button @click="edit = false" style="background-color: #3F9B6A;color: #fff" | |
| 176 | + v-if="edit && xiangData.reviewStatus!='2'">编辑</el-button> | |
| 177 | + <el-button @click="addbuss(2)" style="background-color: #3F9B6A;color: #fff" v-else>确认</el-button> | |
| 178 | + | |
| 179 | + | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + | |
| 183 | + </el-dialog> | |
| 184 | + | |
| 185 | + <!-- 新增 --> | |
| 186 | + <el-dialog title="新增" :visible.sync="ggXin" custom-class="diaslog_zhong" style="padding: 0;" width="50%" | |
| 187 | + class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false"> | |
| 188 | + <div style="margin-bottom: 20px;"> | |
| 189 | + <el-form ref="form" :model="formInline" label-width="120px"> | |
| 190 | + <el-form-item label="营销活动标题" prop="title"> | |
| 191 | + <el-input placeholder="请输入" v-model="formInline.title"></el-input> | |
| 192 | + </el-form-item> | |
| 193 | + <el-form-item label="内容" prop="content" tyle="width: 100%;"> | |
| 194 | + <wang-editor v-model="formInline.content" ref="editor" :height="200"></wang-editor> | |
| 195 | + </el-form-item> | |
| 196 | + </el-form> | |
| 197 | + </div> | |
| 198 | + | |
| 199 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 200 | + <div style="padding: 10px 20px;border-bottom: 1px solid #DCDFE6;display: flex;justify-content: space-between;"> | |
| 201 | + <div>场地选择</div> | |
| 202 | + <div style="color: #3F9B6A;margin-left: 10px;" @click="addziyuan = true"> | |
| 203 | + 添加 | |
| 204 | + </div> | |
| 205 | + </div> | |
| 206 | + <div style="padding:20px;"> | |
| 207 | + <el-table :data="addziyuanData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 208 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 209 | + <el-table-column label="序号" width="80"> | |
| 210 | + <template slot-scope="scope"> | |
| 211 | + {{scope.$index + 1}} | |
| 212 | + </template> | |
| 213 | + </el-table-column> | |
| 214 | + <el-table-column label="资源编号" prop="id" width="150"> | |
| 215 | + | |
| 216 | + </el-table-column> | |
| 217 | + </el-table-column> | |
| 218 | + <el-table-column label="场地名称" prop="venueName" width="150"> | |
| 219 | + | |
| 220 | + </el-table-column> | |
| 221 | + <el-table-column label="所属区域" prop="district" min-width="150"> | |
| 222 | + </el-table-column> | |
| 223 | + <el-table-column label="场地类型" prop="venueType" width="150"> | |
| 224 | + | |
| 225 | + </el-table-column> | |
| 226 | + <el-table-column label="详细位置" prop="detailedLocation" min-width="150"> | |
| 227 | + </el-table-column> | |
| 228 | + <el-table-column label="操作" min-width="150"> | |
| 229 | + <template slot-scope="scope"> | |
| 230 | + <div class="tableBtn greens" @click="addziyuanData = []">删除</div> | |
| 231 | + </template> | |
| 232 | + </el-table-column> | |
| 233 | + </el-table> | |
| 234 | + </div> | |
| 235 | + </div> | |
| 236 | + <el-form ref="form" :model="formInline" label-width="120px"> | |
| 237 | + <el-form-item label="起止时间"> | |
| 238 | + <el-date-picker style="width: 100%;" v-model="plan_Time" value-format="yyyy-MM-dd HH:mm:ss" | |
| 239 | + type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 240 | + </el-date-picker> | |
| 241 | + </el-form-item> | |
| 242 | + <el-form-item label="联系人" prop="currentStage"> | |
| 243 | + <el-input placeholder="请输入" v-model="formInline.contactPerson"></el-input> | |
| 244 | + </el-form-item> | |
| 245 | + <el-form-item label="联系电话"> | |
| 246 | + <el-input placeholder="请输入" v-model="formInline.contactPhone"></el-input> | |
| 247 | + </el-form-item> | |
| 248 | + <el-form-item label="封面图片"> | |
| 249 | + <upimg v-model="formInline.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg> | |
| 250 | + </el-form-item> | |
| 251 | + | |
| 252 | + </el-form> | |
| 253 | + <div style="display: flex;justify-content: flex-end;"> | |
| 254 | + <el-button @click="closeFn(1)" class="buttonHover" | |
| 255 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">返回</el-button> | |
| 256 | + <el-button @click="addCheck(4)" style="background-color: #3F9B6A;color: #fff">确定</el-button> | |
| 257 | + </div> | |
| 258 | + <!-- 场地选择 --> | |
| 259 | + <el-dialog :visible.sync="addziyuan" custom-class='XDD_css' style="padding: 0;" width="50%" append-to-body center | |
| 260 | + :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 261 | + <div | |
| 262 | + style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 263 | + <div>添加</div> | |
| 264 | + </div> | |
| 265 | + <div style="padding: 15px;width:100%"> | |
| 266 | + | |
| 267 | + <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong"> | |
| 268 | + <div | |
| 269 | + style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 270 | + <div>选择场地</div> | |
| 271 | + </div> | |
| 272 | + <div style="padding: 15px;"> | |
| 273 | + <div style="padding: 0px 20px 0px 0px"> | |
| 274 | + <el-table :data="ziyuanData" highlight-current-row @current-change="handleSelectionChange" | |
| 275 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 276 | + | |
| 277 | + <el-table-column label="序号" min-width="8%"> | |
| 278 | + <template slot-scope="scope"> | |
| 279 | + {{scope.$index + 1}} | |
| 280 | + </template> | |
| 281 | + </el-table-column> | |
| 282 | + <el-table-column label="编号" prop="id" min-width="22%"> | |
| 283 | + | |
| 284 | + </el-table-column> | |
| 285 | + <el-table-column label="场地名称" prop="venueName" min-width="15%"> | |
| 286 | + | |
| 287 | + </el-table-column> | |
| 288 | + <el-table-column label="场地类型" prop="venueType" min-width="15%"> | |
| 289 | + | |
| 290 | + </el-table-column> | |
| 291 | + <el-table-column prop="notes" label="对应策略" min-width="15%"> | |
| 292 | + </el-table-column> | |
| 293 | + </el-table> | |
| 294 | + </div> | |
| 295 | + </div> | |
| 296 | + </div> | |
| 297 | + </div> | |
| 298 | + <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 299 | + <el-button @click="mingClose" class="buttonHover" | |
| 300 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消 | |
| 301 | + </el-button> | |
| 302 | + <el-button @click="minSev" style="background-color: #3F9B6A;color: #fff;">确定 | |
| 303 | + </el-button> | |
| 304 | + | |
| 305 | + </div> | |
| 306 | + </el-dialog> | |
| 307 | + | |
| 308 | + </el-dialog> | |
| 309 | + <el-dialog :visible.sync="showQF" custom-class='tongyong_css' style="padding: 0;" width="25%" center | |
| 310 | + :close-on-click-modal="false" :show-close="false"> | |
| 311 | + <div style="padding:20px;"> | |
| 312 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">活动二维码</div> | |
| 313 | + <div style="padding:20px;"> | |
| 314 | + <img :src="qfUrl" alt="" style="height:330px;width:80%"> | |
| 315 | + </div> | |
| 316 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 317 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 318 | + @click="showQF =false">返回</el-button> | |
| 319 | + </div> | |
| 320 | + </div> | |
| 321 | + | |
| 322 | + </el-dialog> | |
| 323 | + <!-- 报名名单 --> | |
| 324 | + <el-dialog :visible.sync="baoming" custom-class='tongyong_css' style="padding: 0;" width="55%" center | |
| 325 | + :close-on-click-modal="false" :show-close="false"> | |
| 326 | + <div style="padding:20px;"> | |
| 327 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">报名名单</div> | |
| 328 | + <div style="padding:20px;"> | |
| 329 | + <el-table :data="mingList" | |
| 330 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 331 | + <el-table-column label="序号" min-width="150"> | |
| 332 | + <template slot-scope="scope"> | |
| 333 | + {{scope.$index +1 }} | |
| 334 | + </template> | |
| 335 | + </el-table-column> | |
| 336 | + <el-table-column label="联系人" prop="userName" min-width="150"> | |
| 337 | + | |
| 338 | + </el-table-column> | |
| 339 | + <el-table-column label="联系电话" prop="userPhone" min-width="150"> | |
| 340 | + | |
| 341 | + </el-table-column> | |
| 342 | + </el-table> | |
| 343 | + </div> | |
| 344 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 345 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 346 | + @click="baoming =false">返回</el-button> | |
| 347 | + </div> | |
| 348 | + </div> | |
| 349 | + | |
| 350 | + </el-dialog> | |
| 351 | + </div> | |
| 352 | + | |
| 353 | + | |
| 354 | +</template> | |
| 355 | + | |
| 356 | +<script> | |
| 357 | + import { | |
| 358 | + async | |
| 359 | + } from 'q' | |
| 360 | + import axios from 'axios' | |
| 361 | + import wangEditor from "@/components/editor/index"; | |
| 362 | + import { | |
| 363 | + MarkGetAll, | |
| 364 | + MarkAdd, | |
| 365 | + MarkEdit, | |
| 366 | + MarkDel, | |
| 367 | + QRcode, | |
| 368 | + Registration | |
| 369 | + } from '../../../api/MarkActivity.js' | |
| 370 | + import upimg from "@/components/ImageUpload/index" | |
| 371 | + import { | |
| 372 | + changAlls | |
| 373 | + } from '../../../api/information.js' | |
| 374 | + | |
| 375 | + export default { | |
| 376 | + components: { | |
| 377 | + upimg, | |
| 378 | + wangEditor | |
| 379 | + }, | |
| 380 | + data() { | |
| 381 | + return { | |
| 382 | + hetongBox: false, | |
| 383 | + detbox: false, //详情 | |
| 384 | + leixing: true, //切换 | |
| 385 | + currentPage: 1, | |
| 386 | + total: 10, | |
| 387 | + flag: false, | |
| 388 | + pageSize: 10, | |
| 389 | + ggXin: false, | |
| 390 | + formInline: { | |
| 391 | + title: '', | |
| 392 | + content: '', | |
| 393 | + venue: '', | |
| 394 | + contactPerson: '', | |
| 395 | + contactPhone: '', | |
| 396 | + coverImage: '', | |
| 397 | + registeredCount: '', | |
| 398 | + }, | |
| 399 | + plan_Time: [], | |
| 400 | + followUpTime: [], | |
| 401 | + tableData: [], | |
| 402 | + secondData: {}, | |
| 403 | + formSel: { | |
| 404 | + title: '', | |
| 405 | + venue: '', | |
| 406 | + contactPerson: '', | |
| 407 | + contactPhone: '', | |
| 408 | + }, | |
| 409 | + pageindex: { | |
| 410 | + pageNumber: 1, | |
| 411 | + pageSize: 10, | |
| 412 | + }, | |
| 413 | + bianjiBox: 1, | |
| 414 | + chengeTatle: 1, | |
| 415 | + zhong: {}, | |
| 416 | + edit: true, //编辑切换 | |
| 417 | + xiangTabs: 'first', | |
| 418 | + addkehu: false, | |
| 419 | + addziyuan: false, | |
| 420 | + ziyuanData: [], //资源 | |
| 421 | + addziyuanData: [], | |
| 422 | + multipleSelection: [], | |
| 423 | + xiangData: {}, | |
| 424 | + showQF: false, | |
| 425 | + qfUrl: '', | |
| 426 | + baoming: false, | |
| 427 | + mingList: [] | |
| 428 | + } | |
| 429 | + }, | |
| 430 | + created() { | |
| 431 | + this.getAll() | |
| 432 | + }, | |
| 433 | + computed: { | |
| 434 | + | |
| 435 | + }, | |
| 436 | + methods: { | |
| 437 | + // 获取时间 | |
| 438 | + currentTime() { | |
| 439 | + let date = new Date(); | |
| 440 | + let year = date.getFullYear(); //月份从0~11,所以加一 | |
| 441 | + let month = date.getMonth(); | |
| 442 | + let dateArr = [date.getMonth() + 1, date.getDate(), date.getHours()] | |
| 443 | + for (let i = 0; i < dateArr.length; i++) { | |
| 444 | + if (dateArr[i] >= 1 && dateArr[i] <= 9) { | |
| 445 | + dateArr[i] = '0' + dateArr[i] | |
| 446 | + } | |
| 447 | + } | |
| 448 | + let strDate = year + '-' + dateArr[0] + '-' + dateArr[1] | |
| 449 | + return strDate | |
| 450 | + }, | |
| 451 | + chenge(val) { | |
| 452 | + this.formSel = { | |
| 453 | + title: '', | |
| 454 | + venue: '', | |
| 455 | + contactPerson: '', | |
| 456 | + contactPhone: '', | |
| 457 | + } | |
| 458 | + this.leixing = !this.leixing | |
| 459 | + this.chengeTatle = val | |
| 460 | + }, | |
| 461 | + async getAll() { | |
| 462 | + const res = await MarkGetAll(this.pageindex) | |
| 463 | + this.tableData = res.data.content | |
| 464 | + this.total = res.data.content.length | |
| 465 | + const ziyuan = await changAlls(this.pageindex) | |
| 466 | + this.ziyuanData = [...ziyuan.data.content] | |
| 467 | + | |
| 468 | + }, | |
| 469 | + | |
| 470 | + // 新增确定按钮 | |
| 471 | + async addCheck(val) { | |
| 472 | + if (this.addziyuanData.length != 0) { | |
| 473 | + this.formInline.venue = this.addziyuanData.map(item => item.id).join(','); | |
| 474 | + } | |
| 475 | + if (this.plan_Time.length != 0) { | |
| 476 | + this.formInline.startTime = this.plan_Time[0] | |
| 477 | + this.formInline.endTime = this.plan_Time[1] | |
| 478 | + } | |
| 479 | + this.formInline.reviewStatus = '2' | |
| 480 | + this.formInline.createdAt = this.currentTime() | |
| 481 | + await MarkAdd(this.formInline) | |
| 482 | + this.ggXin = false | |
| 483 | + this.formInline = { | |
| 484 | + title: '', | |
| 485 | + content: '', | |
| 486 | + venue: '', | |
| 487 | + contactPerson: '', | |
| 488 | + contactPhone: '', | |
| 489 | + coverImage: '', | |
| 490 | + registeredCount: '', | |
| 491 | + | |
| 492 | + } | |
| 493 | + | |
| 494 | + this.plan_Time = [] | |
| 495 | + this.addziyuanData = [] | |
| 496 | + this.getAll() | |
| 497 | + }, | |
| 498 | + // 获取时间 | |
| 499 | + currentTime() { | |
| 500 | + let date = new Date(); | |
| 501 | + let year = date.getFullYear(); | |
| 502 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 503 | + let day = date.getDate(); | |
| 504 | + let hours = date.getHours(); | |
| 505 | + let minutes = date.getMinutes(); | |
| 506 | + let seconds = date.getSeconds(); | |
| 507 | + | |
| 508 | + // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 509 | + month = month < 10 ? '0' + month : month; | |
| 510 | + day = day < 10 ? '0' + day : day; | |
| 511 | + hours = hours < 10 ? '0' + hours : hours; | |
| 512 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 513 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 514 | + | |
| 515 | + // 返回格式化的日期和时间字符串 | |
| 516 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 517 | + }, | |
| 518 | + | |
| 519 | + //详情 | |
| 520 | + details(item) { | |
| 521 | + this.plan_Time[0] = item.startTime | |
| 522 | + this.plan_Time[1] = item.endTime | |
| 523 | + this.edit = true | |
| 524 | + this.xiangData = item | |
| 525 | + this.detbox = true | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + }, | |
| 530 | + zhongzhi(item) { | |
| 531 | + this.edit = false | |
| 532 | + this.xiangData = item | |
| 533 | + this.detbox = true | |
| 534 | + this.plan_Time[0] = item.startTime | |
| 535 | + this.plan_Time[1] = item.endTime | |
| 536 | + }, | |
| 537 | + async addbuss() { | |
| 538 | + if (this.plan_Time.length != 0) { | |
| 539 | + this.xiangData.startTime = this.plan_Time[0] | |
| 540 | + this.xiangData.endTime = this.plan_Time[1] | |
| 541 | + } | |
| 542 | + | |
| 543 | + await MarkEdit(this.xiangData) | |
| 544 | + this.plan_Time = [] | |
| 545 | + this.detbox = false | |
| 546 | + this.getAll() | |
| 547 | + }, | |
| 548 | + handleSizeChange(val) { | |
| 549 | + this.pageSize = val | |
| 550 | + }, | |
| 551 | + handleCurrentChange(val) { | |
| 552 | + this.currentPage = val | |
| 553 | + }, | |
| 554 | + | |
| 555 | + closeFn(val) { | |
| 556 | + this.plan_Time = [] | |
| 557 | + this.addziyuanData = [] | |
| 558 | + this.formInline = { | |
| 559 | + title: '', | |
| 560 | + content: '', | |
| 561 | + venue: '', | |
| 562 | + contactPerson: '', | |
| 563 | + contactPhone: '', | |
| 564 | + coverImage: '', | |
| 565 | + registeredCount: '', | |
| 566 | + | |
| 567 | + } | |
| 568 | + this.bianjiBox = 1 | |
| 569 | + if (val == 1) { | |
| 570 | + this.ggXin = false | |
| 571 | + } else { | |
| 572 | + this.detbox = false | |
| 573 | + } | |
| 574 | + }, | |
| 575 | + //查看合同 | |
| 576 | + lookHetong(val) { | |
| 577 | + this.hetongBox = true | |
| 578 | + }, | |
| 579 | + // 查询按钮 | |
| 580 | + async onSubmit() { | |
| 581 | + this.formSel.pageNumber = 1 | |
| 582 | + this.formSel.pageSize = 10 | |
| 583 | + const res = await MarkGetAll(this.formSel) | |
| 584 | + this.tableData = res.data.content | |
| 585 | + this.total = res.data.content.length | |
| 586 | + this.formSel = { | |
| 587 | + title: '', | |
| 588 | + venue: '', | |
| 589 | + contactPerson: '', | |
| 590 | + contactPhone: '', | |
| 591 | + } | |
| 592 | + }, | |
| 593 | + //重置按钮 | |
| 594 | + resetting() { | |
| 595 | + this.formSel = { | |
| 596 | + title: '', | |
| 597 | + venue: '', | |
| 598 | + contactPerson: '', | |
| 599 | + contactPhone: '', | |
| 600 | + } | |
| 601 | + this.getAll() | |
| 602 | + }, | |
| 603 | + | |
| 604 | + minSev() { | |
| 605 | + this.addziyuanData = this.multipleSelection | |
| 606 | + this.addziyuan = false | |
| 607 | + this.multipleSelection = [] | |
| 608 | + }, | |
| 609 | + mingClose() { | |
| 610 | + this.multipleSelection = [] | |
| 611 | + this.addziyuan = false | |
| 612 | + }, | |
| 613 | + handleSelectionChange(val) { | |
| 614 | + | |
| 615 | + this.multipleSelection.push(val) | |
| 616 | + }, | |
| 617 | + deltab(item) { | |
| 618 | + const h = this.$createElement; | |
| 619 | + this.$msgbox({ | |
| 620 | + title: '消息', | |
| 621 | + message: h('p', null, [ | |
| 622 | + h('span', null, '是否删除 '), | |
| 623 | + ]), | |
| 624 | + showCancelButton: true, | |
| 625 | + showClose: false, | |
| 626 | + confirmButtonText: '确定', | |
| 627 | + cancelButtonText: '取消', | |
| 628 | + customClass: 'oe-dialog-btn', | |
| 629 | + beforeClose: (action, instance, done) => { | |
| 630 | + if (action === 'confirm') { | |
| 631 | + MarkDel({ | |
| 632 | + id: item.id | |
| 633 | + }).then(res => { | |
| 634 | + this.getAll() | |
| 635 | + done(); | |
| 636 | + }) | |
| 637 | + } else { | |
| 638 | + done(); | |
| 639 | + } | |
| 640 | + } | |
| 641 | + }) | |
| 642 | + }, | |
| 643 | + fabu(item, val) { | |
| 644 | + const h = this.$createElement; | |
| 645 | + this.$msgbox({ | |
| 646 | + title: '消息', | |
| 647 | + message: h('p', null, [ | |
| 648 | + h('span', null, '是否处理'), | |
| 649 | + ]), | |
| 650 | + showCancelButton: true, | |
| 651 | + showClose: false, | |
| 652 | + confirmButtonText: '确定', | |
| 653 | + cancelButtonText: '取消', | |
| 654 | + customClass: 'oe-dialog-btn', | |
| 655 | + beforeClose: (action, instance, done) => { | |
| 656 | + if (action === 'confirm') { | |
| 657 | + MarkEdit({ | |
| 658 | + id: item.id, | |
| 659 | + reviewStatus: val | |
| 660 | + }).then(res => { | |
| 661 | + this.getAll() | |
| 662 | + done(); | |
| 663 | + }) | |
| 664 | + } else { | |
| 665 | + done(); | |
| 666 | + } | |
| 667 | + } | |
| 668 | + }) | |
| 669 | + | |
| 670 | + }, | |
| 671 | + Qcode(items) { | |
| 672 | + this.showQF = true | |
| 673 | + let pgs = { | |
| 674 | + scene: `item='${items.id}'`, | |
| 675 | + // scene:items, | |
| 676 | + page: "pages/marketing/marketingDetail/marketingDetail" | |
| 677 | + } | |
| 678 | + QRcode(pgs).then(res => { | |
| 679 | + this.qfUrl = res.data | |
| 680 | + }) | |
| 681 | + }, | |
| 682 | + async getMing(ids) { | |
| 683 | + let page = { | |
| 684 | + activityId: ids | |
| 685 | + } | |
| 686 | + const res = await Registration(page) | |
| 687 | + this.mingList = res.data | |
| 688 | + this.baoming = true | |
| 689 | + } | |
| 690 | + | |
| 691 | + } | |
| 692 | + } | |
| 693 | +</script> | |
| 694 | + | |
| 695 | +<style scoped> | |
| 696 | + .zhuti { | |
| 697 | + padding: 0 20px 20px 20px; | |
| 698 | + min-height: calc(100vh - 50px - 20px); | |
| 699 | + background-color: #Fff; | |
| 700 | + | |
| 701 | + } | |
| 702 | + | |
| 703 | + .chengeXia { | |
| 704 | + border-bottom: 6px solid #3F9B6A; | |
| 705 | + padding-bottom: 4px; | |
| 706 | + color: #3F9B6A; | |
| 707 | + } | |
| 708 | + | |
| 709 | + /deep/ .el-form-item__content { | |
| 710 | + line-height: 0; | |
| 711 | + } | |
| 712 | + | |
| 713 | + .tableBtn { | |
| 714 | + display: inline-block; | |
| 715 | + margin-right: 10px; | |
| 716 | + color: #ACACAC; | |
| 717 | + } | |
| 718 | + | |
| 719 | + .formSearch { | |
| 720 | + display: flex; | |
| 721 | + width: 100%; | |
| 722 | + font-size: 14px; | |
| 723 | + justify-content: space-between; | |
| 724 | + } | |
| 725 | + | |
| 726 | + .greens { | |
| 727 | + color: #3F9B6A; | |
| 728 | + } | |
| 729 | + | |
| 730 | + /deep/ .el-table__row { | |
| 731 | + font-size: 14px; | |
| 732 | + color: #000000e6; | |
| 733 | + height: 42px; | |
| 734 | + } | |
| 735 | + | |
| 736 | + .fenye { | |
| 737 | + margin-top: 20px; | |
| 738 | + display: flex; | |
| 739 | + justify-content: flex-end; | |
| 740 | + } | |
| 741 | + | |
| 742 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 743 | + background-color: #3F9B6A; | |
| 744 | + } | |
| 745 | + | |
| 746 | + .el-row { | |
| 747 | + margin-bottom: 20px; | |
| 748 | + | |
| 749 | + &:last-child { | |
| 750 | + margin-bottom: 0; | |
| 751 | + } | |
| 752 | + } | |
| 753 | + | |
| 754 | + .el-col { | |
| 755 | + border-radius: 4px; | |
| 756 | + } | |
| 757 | + | |
| 758 | + .bg-purple-dark { | |
| 759 | + background: #99a9bf; | |
| 760 | + } | |
| 761 | + | |
| 762 | + .bg-purple { | |
| 763 | + background: #d3dce6; | |
| 764 | + } | |
| 765 | + | |
| 766 | + .bg-purple-light { | |
| 767 | + background: #e5e9f2; | |
| 768 | + } | |
| 769 | + | |
| 770 | + .grid-content { | |
| 771 | + border-radius: 4px; | |
| 772 | + min-height: 36px; | |
| 773 | + } | |
| 774 | + | |
| 775 | + .row-bg { | |
| 776 | + padding: 10px 0; | |
| 777 | + background-color: #f9fafc; | |
| 778 | + } | |
| 779 | + | |
| 780 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 781 | + background: #fff; | |
| 782 | + height: 50px; | |
| 783 | + } | |
| 784 | + | |
| 785 | + /deep/ .bg-purple[data-v-3bebae82] { | |
| 786 | + background: #fff; | |
| 787 | + height: 50px; | |
| 788 | + } | |
| 789 | + | |
| 790 | + ::v-deep .bg-purple { | |
| 791 | + background: #fff; | |
| 792 | + height: 50px; | |
| 793 | + } | |
| 794 | + | |
| 795 | + /deep/ .el-form--label-top .el-form-item__label { | |
| 796 | + padding: 0; | |
| 797 | + } | |
| 798 | + | |
| 799 | + ::v-deep .el-form-item { | |
| 800 | + margin-bottom: 16px; | |
| 801 | + } | |
| 802 | + | |
| 803 | + .device-form .el-form-item__label::after { | |
| 804 | + content: "*"; | |
| 805 | + color: #1A1A1A; | |
| 806 | + margin-left: 5px; | |
| 807 | + font-size: 16px; | |
| 808 | + } | |
| 809 | + | |
| 810 | + | |
| 811 | + ::v-deep .el-dialog__wrapper { | |
| 812 | + .el-dialog__header { | |
| 813 | + background-color: #FAFAFA; | |
| 814 | + } | |
| 815 | + } | |
| 816 | + | |
| 817 | + ::v-deep .el-input__inner:focus { | |
| 818 | + border: #3F9B6A 1px solid; | |
| 819 | + } | |
| 820 | + | |
| 821 | + .dialog-footer { | |
| 822 | + display: flex; | |
| 823 | + justify-content: flex-end; | |
| 824 | + border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 825 | + padding-top: 20px; | |
| 826 | + } | |
| 827 | + | |
| 828 | + ::v-deep .el-input__inner:focus { | |
| 829 | + border: #3F9B6A 1px solid; | |
| 830 | + } | |
| 831 | + | |
| 832 | + ::v-deep .el-input__inner:hover { | |
| 833 | + border: #3F9B6A 1px solid; | |
| 834 | + } | |
| 835 | + | |
| 836 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 837 | + border-color: #3F9B6A | |
| 838 | + } | |
| 839 | + | |
| 840 | + .el-select-dropdown__item.selected { | |
| 841 | + color: #3F9B6A; | |
| 842 | + } | |
| 843 | + | |
| 844 | + .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 845 | + border-color: #3F9B6A; | |
| 846 | + } | |
| 847 | + | |
| 848 | + ::v-deep .el-dialog__wrapper { | |
| 849 | + | |
| 850 | + .dialog_css { | |
| 851 | + margin-right: 12px; | |
| 852 | + margin-top: 61px !important; | |
| 853 | + | |
| 854 | + .el-dialog__title { | |
| 855 | + font-size: 16px !important; | |
| 856 | + font-weight: 600; | |
| 857 | + color: #000; | |
| 858 | + } | |
| 859 | + } | |
| 860 | + | |
| 861 | + .diaslog_zhong { | |
| 862 | + margin-left: 25%; | |
| 863 | + margin-top: 61px !important; | |
| 864 | + } | |
| 865 | + | |
| 866 | + } | |
| 867 | + | |
| 868 | + ::v-deep .diaslog_zhong { | |
| 869 | + margin-left: 20%; | |
| 870 | + margin-top: 61px !important; | |
| 871 | + | |
| 872 | + .el-dialog__header { | |
| 873 | + background-color: #fff; | |
| 874 | + border-bottom: 1px solid #EFEFEF; | |
| 875 | + | |
| 876 | + .el-dialog__title { | |
| 877 | + font-size: 14px; | |
| 878 | + color: #000000e6; | |
| 879 | + } | |
| 880 | + } | |
| 881 | + | |
| 882 | + .el-dialog__body { | |
| 883 | + padding: 10px 30px 30px 20px | |
| 884 | + } | |
| 885 | + } | |
| 886 | + | |
| 887 | + /deep/ .el-table_1_column_8 .hetong { | |
| 888 | + color: #7DBB9A; | |
| 889 | + text-decoration: underline; | |
| 890 | + } | |
| 891 | + | |
| 892 | + /deep/ .first-column-bg { | |
| 893 | + background-color: #FAFAFA !important; | |
| 894 | + } | |
| 895 | + | |
| 896 | + ::v-deep .textarea { | |
| 897 | + width: 85%; | |
| 898 | + | |
| 899 | + .el-textarea__inner { | |
| 900 | + width: 100%; | |
| 901 | + } | |
| 902 | + } | |
| 903 | + | |
| 904 | + ::v-deep .pass_input { | |
| 905 | + width: 100%; | |
| 906 | + | |
| 907 | + .el-input__inner { | |
| 908 | + border: none; | |
| 909 | + padding: 0; | |
| 910 | + } | |
| 911 | + } | |
| 912 | + | |
| 913 | + ::v-deep .pass_select { | |
| 914 | + width: 100%; | |
| 915 | + | |
| 916 | + .el-input__inner { | |
| 917 | + border: none; | |
| 918 | + padding: 0; | |
| 919 | + } | |
| 920 | + | |
| 921 | + .el-icon-arrow-up:before { | |
| 922 | + content: '' | |
| 923 | + } | |
| 924 | + | |
| 925 | + } | |
| 926 | + | |
| 927 | + /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 928 | + background-color: #fff; | |
| 929 | + } | |
| 930 | +</style> | |
| 931 | +<style lang="scss" scoped> | |
| 932 | + ::v-deep .bian_css { | |
| 933 | + .el-dialog__header { | |
| 934 | + padding: 0px; | |
| 935 | + } | |
| 936 | + | |
| 937 | + .el-input__inner { | |
| 938 | + height: 18px; | |
| 939 | + border: 0px; | |
| 940 | + margin-top: 0px; | |
| 941 | + } | |
| 942 | + | |
| 943 | + .el-input__inner:hover { | |
| 944 | + border: 0px; | |
| 945 | + } | |
| 946 | + | |
| 947 | + .el-input__inner:focus { | |
| 948 | + border: 0px; | |
| 949 | + } | |
| 950 | + } | |
| 951 | + | |
| 952 | + ::v-deep .buttonHover:hover { | |
| 953 | + color: #3f9b6a !important; | |
| 954 | + border-color: #c5e1d2 !important; | |
| 955 | + background-color: #ecf5f0 !important; | |
| 956 | + outline: none; | |
| 957 | + } | |
| 958 | + | |
| 959 | + ::v-deep .el-pagination__total { | |
| 960 | + position: absolute; | |
| 961 | + left: 33px; | |
| 962 | + } | |
| 963 | + | |
| 964 | + ::v-deep .diaslog_zhong { | |
| 965 | + .el-dialog__body { | |
| 966 | + padding: 10px 20px 20px 20px; | |
| 967 | + } | |
| 968 | + | |
| 969 | + .el-upload--picture-card { | |
| 970 | + width: 130px; | |
| 971 | + height: 130px; | |
| 972 | + } | |
| 973 | + } | |
| 974 | +</style> | ... | ... |
admin-web-master/src/views/serve/MarkActivity/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div style="background-color:#f7f7f7;padding:10px 10px;"> |
| 3 | - <div class="zhuti"> | |
| 3 | + <div class="zhuti" v-if="onaction == '1'"> | |
| 4 | 4 | <div style="height:58px;line-height:58px;"> |
| 5 | 5 | <div style="color:#0006"> <span>客服服务管理</span> <span style="padding:0 5px;">></span> <span |
| 6 | 6 | style="color:#000000e6">营销推广活动</span></div> |
| 7 | 7 | </div> |
| 8 | + <!-- 线上 --> | |
| 8 | 9 | <div> |
| 9 | 10 | <!-- 搜索 --> |
| 10 | 11 | <div class="formSearch"> |
| 11 | - <el-form :inline="true" :model="formSel"> | |
| 12 | - <el-form-item label="活动标题"> | |
| 13 | - <el-input v-model="formSel.title" placeholder="请输入" style="width:168px;" /> | |
| 14 | - </el-form-item> | |
| 15 | - <el-form-item label="场地名称"> | |
| 16 | - <el-input v-model="formSel.venue" placeholder="请输入" style="width:168px;" /> | |
| 17 | - </el-form-item> | |
| 18 | - <el-form-item label="联系人"> | |
| 19 | - <el-input v-model="formSel.contactPerson" placeholder="请输入" style="width:168px;" /> | |
| 20 | - </el-form-item> | |
| 21 | - <el-form-item label="联系电话"> | |
| 22 | - <el-input v-model="formSel.contactPhone" placeholder="请输入" style="width:168px;" /> | |
| 23 | - </el-form-item> | |
| 24 | - <el-form-item label="起止时间"> | |
| 25 | - <el-select v-model="formSel.startTime" placeholder="请选择" style="width:168px;margin-right: 15px"> | |
| 26 | - <el-option label="" value="" /> | |
| 27 | - </el-select> | |
| 12 | + <el-form :inline="true" :model="pagequery"> | |
| 13 | + <el-form-item label="名称"> | |
| 14 | + <el-input v-model="pagequery.name" placeholder="请输入" style="width:168px;" /> | |
| 28 | 15 | </el-form-item> |
| 29 | 16 | </el-form> |
| 17 | + | |
| 30 | 18 | <div> |
| 31 | 19 | <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询 |
| 32 | 20 | </el-button> |
| ... | ... | @@ -35,690 +23,281 @@ |
| 35 | 23 | </el-button> |
| 36 | 24 | </div> |
| 37 | 25 | </div> |
| 38 | - <div style="margin-bottom: 20px;"> | |
| 39 | - <div> | |
| 40 | - <el-button | |
| 41 | - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline" | |
| 42 | - @click="ggXin = true">新增</el-button> | |
| 43 | - </div> | |
| 44 | - </div> | |
| 26 | + <div style="margin-bottom:20px;"> | |
| 27 | + <el-button @click="removeonaction('2')" icon="el-icon-circle-plus-outline" style="background-color: #3F9B6A;color: #fff;">新增 | |
| 28 | + </el-button> | |
| 29 | + </div> | |
| 45 | 30 | <!-- 表格 --> |
| 46 | 31 | |
| 47 | - <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 48 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 49 | - > | |
| 50 | - <el-table-column label="序号" min-width="150"> | |
| 51 | - <template slot-scope="scope"> | |
| 52 | - {{scope.$index +1 }} | |
| 53 | - </template> | |
| 32 | + <el-table :data="tableData" | |
| 33 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 34 | + <el-table-column label="序号" width="50"> | |
| 35 | + <template slot-scope="scope"> | |
| 36 | + {{scope.$index + 1}} | |
| 37 | + </template> | |
| 54 | 38 | </el-table-column> |
| 55 | - <el-table-column label="活动标题" min-width="200" prop="title"> | |
| 39 | + <el-table-column label="活动标题" prop="title"> | |
| 56 | 40 | </el-table-column> |
| 57 | - <el-table-column label="场地名称" min-width="150" prop="venue"> | |
| 41 | + <el-table-column label="场地名称" prop="venue"> | |
| 58 | 42 | </el-table-column> |
| 59 | - <el-table-column label="起止时间" prop="startTime" min-width="250"> | |
| 43 | + <el-table-column label="起止时间" prop="startTime" > | |
| 60 | 44 | </el-table-column> |
| 61 | - <el-table-column label="联系人" prop="contactPerson" min-width="150"> | |
| 45 | + <el-table-column label="联系人" prop="contactPerson" > | |
| 62 | 46 | |
| 63 | 47 | </el-table-column> |
| 64 | - <el-table-column label="联系电话" prop="contactPhone" min-width="150"> | |
| 48 | + <el-table-column label="联系电话" prop="contactPhone" > | |
| 65 | 49 | |
| 66 | 50 | </el-table-column> |
| 67 | - <el-table-column label="已参与报名人数" prop="registeredCount" min-width="150"> | |
| 51 | + <el-table-column label="已参与报名人数" prop="registeredCount" > | |
| 68 | 52 | </el-table-column> |
| 69 | - <el-table-column prop="createdAt" label="创建时间" min-width="250"> | |
| 53 | + <el-table-column prop="createdAt" label="创建时间" > | |
| 70 | 54 | |
| 71 | 55 | </el-table-column> |
| 72 | - <el-table-column label="创建人" prop="createdBy" min-width="150"> | |
| 56 | + <el-table-column label="创建人" prop="createdBy" > | |
| 73 | 57 | </el-table-column> |
| 74 | - <el-table-column prop="reviewStatus" label="状态" min-width="150"> | |
| 58 | + <el-table-column prop="reviewStatus" label="状态" > | |
| 75 | 59 | <template slot-scope="scope"> |
| 76 | 60 | {{scope.row.reviewStatus=='1'?'未发布':'已发布'}} |
| 77 | 61 | </template> |
| 78 | 62 | </el-table-column> |
| 79 | - <el-table-column label="操作" min-width="350"> | |
| 63 | + <el-table-column label="操作" fixed="right"> | |
| 80 | 64 | <template slot-scope="scope"> |
| 81 | 65 | <div @click="details(scope.row)" class="tableBtn greens">查看</div> |
| 82 | - <div @click="fabu(scope.row,'2')" class="tableBtn greens" v-if="scope.row.reviewStatus=='1'">发布</div> | |
| 83 | - <div @click="fabu(scope.row,'1')" class="tableBtn greens" v-if="scope.row.reviewStatus=='2'">下架</div> | |
| 84 | - <div @click="zhongzhi(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">编辑</div> | |
| 85 | - <div @click="getMing(scope.row.id)" class="tableBtn greens" v-if="scope.row.reviewStatus!='1'">报名名单</div> | |
| 86 | - <div @click="deltab(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">删除</div> | |
| 87 | - <div @click="Qcode(scope.row)" class="tableBtn greens" >活动二维码</div> | |
| 66 | + <!-- <div @click="openyujingSet(scope.row)" class="tableBtn greens">审核</div> --> | |
| 88 | 67 | </template> |
| 89 | 68 | </el-table-column> |
| 90 | 69 | </el-table> |
| 91 | - <div class="fenye"> | |
| 92 | - <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPage" | |
| 93 | - :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " | |
| 94 | - @size-change="handleSizeChange" @current-change="handleCurrentChange" /> | |
| 70 | + <div style="display: flex;justify-content: space-between;" class="bom"> | |
| 71 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{total}}</span> 项数据</div> | |
| 72 | + <el-pagination :current-page="pagequery.pageNumber+1" :page-sizes="[10, 20, 50, 100]" :page-size="10" | |
| 73 | + background small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" | |
| 74 | + @current-change="handleCurrentChange"> | |
| 75 | + </el-pagination> | |
| 95 | 76 | </div> |
| 77 | + | |
| 96 | 78 | </div> |
| 97 | 79 | |
| 98 | 80 | </div> |
| 99 | - <!-- 详情框 --> | |
| 100 | - <el-dialog :visible.sync="detbox" custom-class='tongyong_css' style="padding: 0;" width="65%" center | |
| 101 | - :close-on-click-modal="false" :show-close="false"> | |
| 102 | - <div style="padding:20px;"> | |
| 103 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 104 | - <div> | |
| 105 | - | |
| 106 | - <el-form ref="form" :model="xiangData" label-width="120px"> | |
| 107 | - <el-form-item label="营销活动标题" prop="title"> | |
| 108 | - <el-input placeholder="请输入" v-model="xiangData.title" :disabled="edit" ></el-input> | |
| 109 | - </el-form-item> | |
| 110 | - <el-form-item label="内容" prop="content" tyle="width: 100%;"> | |
| 111 | - <wang-editor v-model="xiangData.content" ref="editor" :height="200" v-if="!edit"></wang-editor> | |
| 112 | - <div v-html="xiangData.content" style="line-height:40px" v-else></div> | |
| 113 | - </el-form-item> | |
| 114 | - </el-form> | |
| 115 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 116 | - <div style="padding: 10px 20px;border-bottom: 1px solid #DCDFE6;display: flex;justify-content: space-between;"> | |
| 117 | - <div>场地选择</div> | |
| 118 | - <div style="color: #3F9B6A;margin-left: 10px;" @click="addziyuan = true" v-if="!edit"> | |
| 119 | - 添加 | |
| 120 | - </div> | |
| 121 | - </div> | |
| 122 | - <div style="padding:20px;"> | |
| 123 | - <el-table :data="addziyuanData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 124 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 125 | - > | |
| 126 | - <el-table-column label="序号" width="80" > | |
| 127 | - <template slot-scope="scope"> | |
| 128 | - {{scope.$index + 1}} | |
| 129 | - </template> | |
| 130 | - </el-table-column> | |
| 131 | - <el-table-column label="资源编号" prop="id" width="150"> | |
| 132 | - | |
| 133 | - </el-table-column> | |
| 134 | - </el-table-column> | |
| 135 | - <el-table-column label="场地名称" prop="venueName" | |
| 136 | - width="150"> | |
| 137 | - | |
| 138 | - </el-table-column> | |
| 139 | - <el-table-column label="所属区域" prop="district" min-width="150"> | |
| 140 | - </el-table-column> | |
| 141 | - <el-table-column label="场地类型" prop="venueType" width="150"> | |
| 142 | - | |
| 143 | - </el-table-column> | |
| 144 | - <el-table-column label="详细位置" prop="detailedLocation" min-width="150"> | |
| 145 | - </el-table-column> | |
| 146 | - <el-table-column label="操作" min-width="150"> | |
| 147 | - <template slot-scope="scope"> | |
| 148 | - <div class="tableBtn greens" @click="addziyuanData = []" >删除</div> | |
| 149 | - </template> | |
| 150 | - </el-table-column> | |
| 151 | - </el-table> | |
| 152 | - </div> | |
| 153 | - </div> | |
| 154 | - <el-form ref="form" :model="xiangData" label-width="120px"> | |
| 155 | - <el-form-item label="起止时间"> | |
| 156 | - <el-date-picker style="width: 100%;" v-model="plan_Time" value-format="yyyy-MM-dd HH:mm:ss" :disabled="edit" | |
| 157 | - type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 158 | - </el-date-picker> | |
| 159 | - </el-form-item> | |
| 160 | - <el-form-item label="联系人" prop="contactPerson"> | |
| 161 | - <el-input placeholder="请输入" v-model="xiangData.contactPerson" :disabled="edit"></el-input> | |
| 162 | - </el-form-item> | |
| 163 | - <el-form-item label="联系电话" prop="contactPhone"> | |
| 164 | - <el-input placeholder="请输入" v-model="xiangData.contactPhone" :disabled="edit"></el-input> | |
| 165 | - </el-form-item> | |
| 166 | - <el-form-item label="封面图片" prop="coverImage"> | |
| 167 | - <upimg v-model="xiangData.coverImage" :limit="1" :fileSize="1" :isShowTip="false" v-if="!edit"></upimg> | |
| 168 | - <img :src="xiangData.coverImage" alt="" v-else> | |
| 169 | - </el-form-item> | |
| 170 | - | |
| 171 | - </el-form> | |
| 172 | - </div> | |
| 173 | 81 | |
| 174 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 175 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 176 | - @click="closeFn(2)">返回</el-button> | |
| 177 | - <el-button @click="edit = false" style="background-color: #3F9B6A;color: #fff" v-if="edit && xiangData.reviewStatus!='2'">编辑</el-button> | |
| 178 | - <el-button @click="addbuss(2)" style="background-color: #3F9B6A;color: #fff" v-else>确认</el-button> | |
| 179 | 82 | |
| 180 | 83 | |
| 181 | - </div> | |
| 182 | - </div> | |
| 183 | 84 | |
| 184 | - </el-dialog> | |
| 185 | 85 | |
| 186 | - <!-- 新增 --> | |
| 187 | - <el-dialog title="新增" :visible.sync="ggXin" custom-class="diaslog_zhong" style="padding: 0;" width="50%" | |
| 188 | - class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false"> | |
| 189 | - <div style="margin-bottom: 20px;"> | |
| 190 | - <el-form ref="form" :model="formInline" label-width="120px"> | |
| 191 | - <el-form-item label="营销活动标题" prop="title"> | |
| 192 | - <el-input placeholder="请输入" v-model="formInline.title" ></el-input> | |
| 193 | - </el-form-item> | |
| 194 | - <el-form-item label="内容" prop="content" tyle="width: 100%;"> | |
| 195 | - <wang-editor v-model="formInline.content" ref="editor" :height="200"></wang-editor> | |
| 196 | - </el-form-item> | |
| 197 | - </el-form> | |
| 198 | - </div> | |
| 199 | 86 | |
| 200 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 201 | - <div style="padding: 10px 20px;border-bottom: 1px solid #DCDFE6;display: flex;justify-content: space-between;"> | |
| 202 | - <div>场地选择</div> | |
| 203 | - <div style="color: #3F9B6A;margin-left: 10px;" @click="addziyuan = true"> | |
| 204 | - 添加 | |
| 205 | - </div> | |
| 87 | + <el-dialog title="审核" :visible.sync="yujingSet" style="padding: 0;" width="60%" center :close-on-click-modal="false" :show-close="false" top="20vh"> | |
| 88 | + <div> | |
| 89 | + <div style="margin-bottom: 20px;"> | |
| 90 | + <el-form ref="form" :model="detailsinfo" label-width="120px"> | |
| 91 | + <el-form-item label="审核状态" prop="checkState"> | |
| 92 | + <el-select v-model="detailsinfo.checkState" placeholder="请选择" style="width: 100%;"> | |
| 93 | + <!-- <el-option label="待审核" value="1"></el-option> --> | |
| 94 | + <el-option label="同意" value="2"></el-option> | |
| 95 | + <el-option label="拒绝" value="3"></el-option> | |
| 96 | + </el-select> | |
| 97 | + </el-form-item> | |
| 98 | + <el-form-item label="审核意见"> | |
| 99 | + <el-input maxlength="200" show-word-limit rows="4" v-model="detailsinfo.checkOpinion" placeholder="请输入审核意见" type="textarea" /> | |
| 100 | + </el-form-item> | |
| 101 | + </el-form> | |
| 102 | + | |
| 206 | 103 | </div> |
| 207 | - <div style="padding:20px;"> | |
| 208 | - <el-table :data="addziyuanData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 209 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 210 | - > | |
| 211 | - <el-table-column label="序号" width="80" > | |
| 212 | - <template slot-scope="scope"> | |
| 213 | - {{scope.$index + 1}} | |
| 214 | - </template> | |
| 215 | - </el-table-column> | |
| 216 | - <el-table-column label="资源编号" prop="id" width="150"> | |
| 217 | - | |
| 218 | - </el-table-column> | |
| 219 | - </el-table-column> | |
| 220 | - <el-table-column label="场地名称" prop="venueName" | |
| 221 | - width="150"> | |
| 222 | - | |
| 223 | - </el-table-column> | |
| 224 | - <el-table-column label="所属区域" prop="district" min-width="150"> | |
| 225 | - </el-table-column> | |
| 226 | - <el-table-column label="场地类型" prop="venueType" width="150"> | |
| 227 | - | |
| 228 | - </el-table-column> | |
| 229 | - <el-table-column label="详细位置" prop="detailedLocation" min-width="150"> | |
| 230 | - </el-table-column> | |
| 231 | - <el-table-column label="操作" min-width="150"> | |
| 232 | - <template slot-scope="scope"> | |
| 233 | - <div class="tableBtn greens" @click="addziyuanData = []" >删除</div> | |
| 234 | - </template> | |
| 235 | - </el-table-column> | |
| 236 | - </el-table> | |
| 104 | + <div style="display: flex;justify-content: flex-end;"> | |
| 105 | + <el-button @click="yuclose" class="buttonHover" | |
| 106 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">返回</el-button> | |
| 107 | + <el-button @click="yuChenk" style="background-color: #3F9B6A;color: #fff">确定</el-button> | |
| 237 | 108 | </div> |
| 238 | 109 | </div> |
| 239 | - <el-form ref="form" :model="formInline" label-width="120px"> | |
| 240 | - <el-form-item label="起止时间"> | |
| 241 | - <el-date-picker style="width: 100%;" v-model="plan_Time" value-format="yyyy-MM-dd HH:mm:ss" | |
| 242 | - type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 243 | - </el-date-picker> | |
| 244 | - </el-form-item> | |
| 245 | - <el-form-item label="联系人" prop="currentStage"> | |
| 246 | - <el-input placeholder="请输入" v-model="formInline.contactPerson" ></el-input> | |
| 247 | - </el-form-item> | |
| 248 | - <el-form-item label="联系电话"> | |
| 249 | - <el-input placeholder="请输入" v-model="formInline.contactPhone" ></el-input> | |
| 250 | - </el-form-item> | |
| 251 | - <el-form-item label="封面图片"> | |
| 252 | - <upimg v-model="formInline.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg> | |
| 253 | - </el-form-item> | |
| 254 | - | |
| 255 | - </el-form> | |
| 256 | - <div style="display: flex;justify-content: flex-end;"> | |
| 257 | - <el-button @click="closeFn(1)" class="buttonHover" | |
| 258 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">返回</el-button> | |
| 259 | - <el-button @click="addCheck(4)" style="background-color: #3F9B6A;color: #fff">确定</el-button> | |
| 110 | + </el-dialog> | |
| 111 | + <div class="zhuti" v-if="onaction == '2'"> | |
| 112 | + <div style="height:58px;line-height:58px;"> | |
| 113 | + <div style="color:#0006"> <span>营销推广活动</span> <span style="padding:0 5px;">></span> <span | |
| 114 | + style="color:#000000e6">新增</span></div> | |
| 260 | 115 | </div> |
| 261 | - <!-- 场地选择 --> | |
| 262 | - <el-dialog :visible.sync="addziyuan" custom-class='XDD_css' style="padding: 0;" width="50%" | |
| 263 | - append-to-body center :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> | |
| 264 | - <div style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 265 | - <div>添加</div> | |
| 266 | - </div> | |
| 267 | - <div style="padding: 15px;width:100%"> | |
| 268 | - | |
| 269 | - <div style="border: 1px solid #E5E5E5;padding: 1px" id="huodong"> | |
| 270 | - <div style="padding: 10px 13px;font-size: 14px;border-bottom: 1px solid #E5E5E5;display: flex;justify-content: space-between;"> | |
| 271 | - <div>选择场地</div> | |
| 272 | - </div> | |
| 273 | - <div style="padding: 15px;"> | |
| 274 | - <div style="padding: 0px 20px 0px 0px"> | |
| 275 | - <el-table :data="ziyuanData" | |
| 276 | - highlight-current-row | |
| 277 | - @current-change="handleSelectionChange" | |
| 278 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 279 | - > | |
| 280 | - | |
| 281 | - <el-table-column label="序号" min-width="8%" > | |
| 282 | - <template slot-scope="scope"> | |
| 283 | - {{scope.$index + 1}} | |
| 284 | - </template> | |
| 285 | - </el-table-column> | |
| 286 | - <el-table-column label="编号" prop="id" min-width="22%"> | |
| 287 | - | |
| 288 | - </el-table-column> | |
| 289 | - <el-table-column label="场地名称" prop="venueName" min-width="15%"> | |
| 290 | - | |
| 291 | - </el-table-column> | |
| 292 | - <el-table-column label="场地类型" prop="venueType" min-width="15%"> | |
| 293 | - | |
| 294 | - </el-table-column> | |
| 295 | - <el-table-column prop="notes" label="对应策略" min-width="15%"> | |
| 296 | - </el-table-column> | |
| 297 | - </el-table> | |
| 298 | - </div> | |
| 299 | - </div> | |
| 300 | - </div> | |
| 301 | - </div> | |
| 302 | - <div style="display: flex;justify-content: flex-end;padding: 10px 20px 10px 0"> | |
| 303 | - <el-button @click="mingClose" class="buttonHover" | |
| 304 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">取消 | |
| 305 | - </el-button> | |
| 306 | - <el-button @click="minSev" style="background-color: #3F9B6A;color: #fff;">确定 | |
| 307 | - </el-button> | |
| 308 | 116 | |
| 309 | - </div> | |
| 310 | - </el-dialog> | |
| 311 | - | |
| 312 | - </el-dialog> | |
| 313 | - <el-dialog :visible.sync="showQF" custom-class='tongyong_css' style="padding: 0;" width="25%" center | |
| 314 | - :close-on-click-modal="false" :show-close="false"> | |
| 315 | - <div style="padding:20px;"> | |
| 316 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">活动二维码</div> | |
| 317 | - <div style="padding:20px;"> | |
| 318 | - <img :src="qfUrl" alt="" style="height:330px;width:80%"> | |
| 319 | - </div> | |
| 320 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 321 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 322 | - @click="showQF =false">返回</el-button> | |
| 323 | - </div> | |
| 324 | - </div> | |
| 117 | + <div style="padding: 20px 20px 20px 0;"> | |
| 118 | + <add @removeonaction="removeonaction"></add> | |
| 119 | + </div> | |
| 120 | + </div> | |
| 121 | + <div class="zhuti" v-if="onaction == '3'"> | |
| 122 | + <div style="height:58px;line-height:58px;"> | |
| 123 | + <div style="color:#0006"> <span>营销推广活动</span> <span style="padding:0 5px;">></span> <span | |
| 124 | + style="color:#000000e6">查看</span></div> | |
| 125 | + </div> | |
| 126 | + <div> | |
| 127 | + <merchantInformation :info="detailsinfo" @removeonaction="removeonaction"></merchantInformation> | |
| 128 | + </div> | |
| 129 | + <!-- <div> | |
| 130 | + <el-button class="buttonHover" | |
| 131 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;margin-top: 20px;" | |
| 132 | + @click="removeonaction('1')">返回</el-button> | |
| 133 | + </div> --> | |
| 134 | + </div> | |
| 325 | 135 | |
| 326 | - </el-dialog> | |
| 327 | - <!-- 报名名单 --> | |
| 328 | - <el-dialog :visible.sync="baoming" custom-class='tongyong_css' style="padding: 0;" width="55%" center | |
| 329 | - :close-on-click-modal="false" :show-close="false"> | |
| 330 | - <div style="padding:20px;"> | |
| 331 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">报名名单</div> | |
| 332 | - <div style="padding:20px;"> | |
| 333 | - <el-table :data="mingList" | |
| 334 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 335 | - > | |
| 336 | - <el-table-column label="序号" min-width="150"> | |
| 337 | - <template slot-scope="scope"> | |
| 338 | - {{scope.$index +1 }} | |
| 339 | - </template> | |
| 340 | - </el-table-column> | |
| 341 | - <el-table-column label="联系人" prop="userName" min-width="150"> | |
| 342 | - | |
| 343 | - </el-table-column> | |
| 344 | - <el-table-column label="联系电话" prop="userPhone" min-width="150"> | |
| 345 | - | |
| 346 | - </el-table-column> | |
| 347 | - </el-table> | |
| 348 | - </div> | |
| 349 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 350 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 351 | - @click="baoming =false">返回</el-button> | |
| 352 | - </div> | |
| 353 | - </div> | |
| 354 | - | |
| 355 | - </el-dialog> | |
| 356 | 136 | </div> |
| 357 | - | |
| 137 | + <!-- </div> --> | |
| 358 | 138 | |
| 359 | 139 | </template> |
| 360 | 140 | |
| 361 | 141 | <script> |
| 142 | + import add from '@/components/add/addMarkActivity.vue' | |
| 362 | 143 | import { |
| 363 | - async | |
| 364 | - } from 'q' | |
| 365 | - import axios from 'axios' | |
| 366 | - import wangEditor from "@/components/editor/index"; | |
| 367 | - import { | |
| 368 | - MarkGetAll, | |
| 369 | - MarkAdd, | |
| 370 | - MarkEdit, | |
| 371 | - MarkDel, | |
| 372 | - QRcode, | |
| 373 | - Registration | |
| 144 | + MarkGetAll, | |
| 145 | + MarkAdd, | |
| 146 | + MarkEdit, | |
| 147 | + MarkDel, | |
| 148 | + QRcode, | |
| 149 | + Registration | |
| 374 | 150 | } from '../../../api/MarkActivity.js' |
| 375 | - import upimg from "@/components/ImageUpload/index" | |
| 376 | 151 | import { |
| 377 | - changAlls | |
| 378 | - } from '../../../api/information.js' | |
| 379 | - | |
| 152 | + cereReminderSet, | |
| 153 | + cereReminderSetedit | |
| 154 | + } from '../../../api/commodityLease.js' | |
| 155 | + import merchantInformation from '../../../components/merchantInformation/index.vue' | |
| 156 | + import wangEditor from "@/components/editor/index" | |
| 380 | 157 | export default { |
| 381 | - components: { | |
| 382 | - upimg, | |
| 383 | - wangEditor | |
| 384 | - }, | |
| 385 | 158 | data() { |
| 386 | 159 | return { |
| 387 | - hetongBox: false, | |
| 388 | - detbox: false, //详情 | |
| 389 | - leixing: true, //切换 | |
| 390 | - currentPage: 1, | |
| 391 | - total: 10, | |
| 392 | - flag: false, | |
| 393 | - pageSize: 10, | |
| 394 | - ggXin: false, | |
| 395 | - formInline: { | |
| 396 | - title:'', | |
| 397 | - content:'', | |
| 398 | - venue:'', | |
| 399 | - contactPerson:'', | |
| 400 | - contactPhone:'', | |
| 401 | - coverImage:'', | |
| 402 | - registeredCount:'', | |
| 403 | - }, | |
| 404 | - plan_Time:[], | |
| 405 | - followUpTime:[], | |
| 406 | - tableData: [], | |
| 407 | - secondData: {}, | |
| 408 | - formSel: { | |
| 409 | - title:'', | |
| 410 | - venue:'', | |
| 411 | - contactPerson:'', | |
| 412 | - contactPhone:'', | |
| 160 | + zhong: { | |
| 161 | + | |
| 413 | 162 | }, |
| 414 | - pageindex: { | |
| 415 | - pageNumber: 1, | |
| 416 | - pageSize: 10, | |
| 163 | + yujingSet: false, | |
| 164 | + detailsinfo: {}, | |
| 165 | + pagequery: { | |
| 166 | + pageNumber: 0, | |
| 167 | + pageSize: 10, | |
| 168 | + checkState:'2', | |
| 169 | + name: '', | |
| 170 | + | |
| 417 | 171 | }, |
| 418 | - bianjiBox: 1, | |
| 419 | - chengeTatle: 1, | |
| 420 | - zhong: {}, | |
| 421 | - edit: true, //编辑切换 | |
| 422 | - xiangTabs:'first', | |
| 423 | - addkehu:false, | |
| 424 | - addziyuan:false, | |
| 425 | - ziyuanData:[],//资源 | |
| 426 | - addziyuanData:[], | |
| 427 | - multipleSelection:[], | |
| 428 | - xiangData:{}, | |
| 429 | - showQF:false, | |
| 430 | - qfUrl:'', | |
| 431 | - baoming:false, | |
| 432 | - mingList:[] | |
| 172 | + tableData: [], | |
| 173 | + total: 0, | |
| 174 | + onaction: '1', | |
| 175 | + info: {} | |
| 433 | 176 | } |
| 434 | 177 | }, |
| 178 | + components: { | |
| 179 | + add, | |
| 180 | + merchantInformation, | |
| 181 | + wangEditor | |
| 182 | + }, | |
| 435 | 183 | created() { |
| 436 | 184 | this.getAll() |
| 437 | - }, | |
| 438 | - computed: { | |
| 439 | 185 | |
| 440 | 186 | }, |
| 441 | 187 | methods: { |
| 442 | - // 获取时间 | |
| 443 | - currentTime() { | |
| 444 | - let date = new Date(); | |
| 445 | - let year = date.getFullYear(); //月份从0~11,所以加一 | |
| 446 | - let month = date.getMonth(); | |
| 447 | - let dateArr = [date.getMonth() + 1, date.getDate(), date.getHours()] | |
| 448 | - for (let i = 0; i < dateArr.length; i++) { | |
| 449 | - if (dateArr[i] >= 1 && dateArr[i] <= 9) { | |
| 450 | - dateArr[i] = '0' + dateArr[i] | |
| 188 | + calculateDaysUntilExpiration(endDateString) { | |
| 189 | + const endDate = new Date(endDateString); | |
| 190 | + const today = new Date(); | |
| 191 | + const timeDifference = endDate - today; | |
| 192 | + const daysDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24)); | |
| 193 | + return daysDifference >= 0 ? daysDifference : '已过期'; | |
| 194 | + }, | |
| 195 | + yuclose() { | |
| 196 | + this.yujingSet = false | |
| 197 | + }, | |
| 198 | + yuChenk() { | |
| 199 | + console.error(this.detailsinfo) | |
| 200 | + cerePlatformMerchantedit(this.detailsinfo).then(res => { | |
| 201 | + console.error(res) | |
| 202 | + if (res.code == 200) { | |
| 203 | + this.$message({ | |
| 204 | + message: '处理成功', | |
| 205 | + type: 'success' | |
| 206 | + }) | |
| 207 | + this.yujingSet = false | |
| 208 | + } else { | |
| 209 | + this.$message({ | |
| 210 | + message: '处理失败', | |
| 211 | + type: 'error' | |
| 212 | + }) | |
| 451 | 213 | } |
| 452 | - } | |
| 453 | - let strDate = year + '-' + dateArr[0] + '-' + dateArr[1] | |
| 454 | - return strDate | |
| 214 | + }) | |
| 215 | + | |
| 455 | 216 | }, |
| 456 | - chenge(val) { | |
| 457 | - this.formSel = { | |
| 458 | - title:'', | |
| 459 | - venue:'', | |
| 460 | - contactPerson:'', | |
| 461 | - contactPhone:'',} | |
| 462 | - this.leixing = !this.leixing | |
| 463 | - this.chengeTatle = val | |
| 217 | + openyujingSet(row) { | |
| 218 | + // cereReminderSet({ | |
| 219 | + // reminderType: '1' | |
| 220 | + // }).then(res => { | |
| 221 | + // console.error(res) | |
| 222 | + // this.zhong = res.data | |
| 223 | + // }) | |
| 224 | + this.detailsinfo = JSON.parse(JSON.stringify(row)) | |
| 225 | + this.yujingSet = true | |
| 464 | 226 | }, |
| 465 | - async getAll() { | |
| 466 | - const res = await MarkGetAll(this.pageindex) | |
| 467 | - this.tableData = res.data.content | |
| 468 | - this.total = res.data.content.length | |
| 469 | - const ziyuan = await changAlls(this.pageindex) | |
| 470 | - this.ziyuanData = [...ziyuan.data.content] | |
| 471 | - | |
| 227 | + details(row) { | |
| 228 | + this.detailsinfo = row | |
| 229 | + this.onaction = '3' | |
| 472 | 230 | }, |
| 473 | - | |
| 474 | - // 新增确定按钮 | |
| 475 | - async addCheck(val) { | |
| 476 | - if(this.addziyuanData.length !=0){ | |
| 477 | - this.formInline.venue = this.addziyuanData.map(item => item.id).join(','); | |
| 478 | - } | |
| 479 | - if(this.plan_Time.length !=0){ | |
| 480 | - this.formInline.startTime = this.plan_Time[0] | |
| 481 | - this.formInline.endTime = this.plan_Time[1] | |
| 482 | - } | |
| 483 | - this.formInline.reviewStatus = '2' | |
| 484 | - this.formInline.createdAt = this.currentTime() | |
| 485 | - await MarkAdd(this.formInline) | |
| 486 | - this.ggXin = false | |
| 487 | - this.formInline = { | |
| 488 | - title:'', | |
| 489 | - content:'', | |
| 490 | - venue:'', | |
| 491 | - contactPerson:'', | |
| 492 | - contactPhone:'', | |
| 493 | - coverImage:'', | |
| 494 | - registeredCount:'', | |
| 495 | - | |
| 496 | - } | |
| 497 | - | |
| 498 | - this.plan_Time =[] | |
| 499 | - this.addziyuanData =[] | |
| 500 | - this.getAll() | |
| 231 | + biangeng(row) { | |
| 232 | + alert(`合同变更 - 店铺ID: ${row.id}`); | |
| 501 | 233 | }, |
| 502 | - // 获取时间 | |
| 503 | - currentTime() { | |
| 504 | - let date = new Date(); | |
| 505 | - let year = date.getFullYear(); | |
| 506 | - let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 507 | - let day = date.getDate(); | |
| 508 | - let hours = date.getHours(); | |
| 509 | - let minutes = date.getMinutes(); | |
| 510 | - let seconds = date.getSeconds(); | |
| 511 | - | |
| 512 | - // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 513 | - month = month < 10 ? '0' + month : month; | |
| 514 | - day = day < 10 ? '0' + day : day; | |
| 515 | - hours = hours < 10 ? '0' + hours : hours; | |
| 516 | - minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 517 | - seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 518 | - | |
| 519 | - // 返回格式化的日期和时间字符串 | |
| 520 | - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 234 | + xuyue(row) { | |
| 235 | + alert(`合同续约 - 店铺ID: ${row.id}`); | |
| 521 | 236 | }, |
| 522 | - | |
| 523 | - //详情 | |
| 524 | - details(item) { | |
| 525 | - this.plan_Time[0] = item.startTime | |
| 526 | - this.plan_Time[1] = item.endTime | |
| 527 | - this.edit = true | |
| 528 | - this.xiangData = item | |
| 529 | - this.detbox = true | |
| 530 | - | |
| 531 | - | |
| 532 | - | |
| 533 | - }, | |
| 534 | - zhongzhi(item){ | |
| 535 | - this.edit = false | |
| 536 | - this.xiangData = item | |
| 537 | - this.detbox = true | |
| 538 | - this.plan_Time[0] = item.startTime | |
| 539 | - this.plan_Time[1] = item.endTime | |
| 237 | + zhongzhi(row) { | |
| 238 | + alert(`合同终止 - 店铺ID: ${row.id}`); | |
| 540 | 239 | }, |
| 541 | - async addbuss() { | |
| 542 | - if(this.plan_Time.length !=0){ | |
| 543 | - this.xiangData.startTime = this.plan_Time[0] | |
| 544 | - this.xiangData.endTime = this.plan_Time[1] | |
| 545 | - } | |
| 546 | - | |
| 547 | - await MarkEdit(this.xiangData) | |
| 548 | - this.plan_Time = [] | |
| 549 | - this.detbox = false | |
| 550 | - this.getAll() | |
| 240 | + async getAll() { | |
| 241 | + const res = await MarkGetAll(this.pagequery) | |
| 242 | + this.tableData = res.data.content | |
| 243 | + this.total = res.data.totalElements | |
| 551 | 244 | }, |
| 552 | - handleSizeChange(val) { | |
| 553 | - this.pageSize = val | |
| 245 | + removeonaction(e) { | |
| 246 | + console.error(e) | |
| 247 | + this.onaction = e | |
| 248 | + this.onSubmit() | |
| 554 | 249 | }, |
| 555 | 250 | handleCurrentChange(val) { |
| 556 | - this.currentPage = val | |
| 557 | - }, | |
| 558 | - | |
| 559 | - closeFn(val) { | |
| 560 | - this.plan_Time =[] | |
| 561 | - this.addziyuanData =[] | |
| 562 | - this.formInline = { | |
| 563 | - title:'', | |
| 564 | - content:'', | |
| 565 | - venue:'', | |
| 566 | - contactPerson:'', | |
| 567 | - contactPhone:'', | |
| 568 | - coverImage:'', | |
| 569 | - registeredCount:'', | |
| 570 | - | |
| 571 | - } | |
| 572 | - this.bianjiBox = 1 | |
| 573 | - if (val == 1) { | |
| 574 | - this.ggXin = false | |
| 575 | - } else { | |
| 576 | - this.detbox = false | |
| 577 | - } | |
| 251 | + this.pagequery.pageNumber = val - 1 | |
| 252 | + this.getAll() | |
| 578 | 253 | }, |
| 579 | - //查看合同 | |
| 580 | - lookHetong(val) { | |
| 581 | - this.hetongBox = true | |
| 254 | + handleSizeChange(val) { | |
| 255 | + this.pagequery.pageSize = val | |
| 582 | 256 | }, |
| 583 | 257 | // 查询按钮 |
| 584 | 258 | async onSubmit() { |
| 585 | - this.formSel.pageNumber = 1 | |
| 586 | - this.formSel.pageSize = 10 | |
| 587 | - const res = await MarkGetAll(this.formSel) | |
| 588 | - this.tableData = res.data.content | |
| 589 | - this.total = res.data.content.length | |
| 590 | - this.formSel = { | |
| 591 | - title:'', | |
| 592 | - venue:'', | |
| 593 | - contactPerson:'', | |
| 594 | - contactPhone:'', | |
| 595 | - } | |
| 259 | + this.pagequery.pageNumber = 0 | |
| 260 | + this.getAll() | |
| 596 | 261 | }, |
| 597 | 262 | //重置按钮 |
| 598 | 263 | resetting() { |
| 599 | - this.formSel = { | |
| 600 | - title:'', | |
| 601 | - venue:'', | |
| 602 | - contactPerson:'', | |
| 603 | - contactPhone:'',} | |
| 264 | + this.pagequery = { | |
| 265 | + pageNumber: 0, | |
| 266 | + pageSize: 10, | |
| 267 | + checkState:'2', | |
| 268 | + name: '' | |
| 269 | + }, | |
| 604 | 270 | this.getAll() |
| 605 | 271 | }, |
| 606 | - | |
| 607 | - minSev() { | |
| 608 | - this.addziyuanData = this.multipleSelection | |
| 609 | - this.addziyuan = false | |
| 610 | - this.multipleSelection =[] | |
| 611 | - }, | |
| 612 | - mingClose(){ | |
| 613 | - this.multipleSelection =[] | |
| 614 | - this.addziyuan = false | |
| 615 | - }, | |
| 616 | - handleSelectionChange(val) { | |
| 617 | - | |
| 618 | - this.multipleSelection.push(val) | |
| 619 | - }, | |
| 620 | - deltab(item){ | |
| 621 | - const h = this.$createElement; | |
| 622 | - this.$msgbox({ | |
| 623 | - title: '消息', | |
| 624 | - message: h('p', null, [ | |
| 625 | - h('span', null, '是否删除 '), | |
| 626 | - ]), | |
| 627 | - showCancelButton: true, | |
| 628 | - showClose:false, | |
| 629 | - confirmButtonText: '确定', | |
| 630 | - cancelButtonText: '取消', | |
| 631 | - customClass:'oe-dialog-btn', | |
| 632 | - beforeClose: (action, instance, done) => { | |
| 633 | - if (action === 'confirm') { | |
| 634 | - MarkDel({id:item.id}).then(res=>{ | |
| 635 | - this.getAll() | |
| 636 | - done(); | |
| 637 | - }) | |
| 638 | - } else { | |
| 639 | - done(); | |
| 640 | - } | |
| 641 | - } | |
| 642 | - }) | |
| 643 | - }, | |
| 644 | - fabu(item,val){ | |
| 645 | - const h = this.$createElement; | |
| 646 | - this.$msgbox({ | |
| 647 | - title: '消息', | |
| 648 | - message: h('p', null, [ | |
| 649 | - h('span', null, '是否处理'), | |
| 650 | - ]), | |
| 651 | - showCancelButton: true, | |
| 652 | - showClose:false, | |
| 653 | - confirmButtonText: '确定', | |
| 654 | - cancelButtonText: '取消', | |
| 655 | - customClass:'oe-dialog-btn', | |
| 656 | - beforeClose: (action, instance, done) => { | |
| 657 | - if (action === 'confirm') { | |
| 658 | - MarkEdit({id:item.id,reviewStatus:val}).then(res=>{ | |
| 659 | - this.getAll() | |
| 660 | - done(); | |
| 661 | - }) | |
| 662 | - } else { | |
| 663 | - done(); | |
| 664 | - } | |
| 665 | - } | |
| 666 | - }) | |
| 667 | - | |
| 668 | - }, | |
| 669 | - Qcode(items){ | |
| 670 | - this.showQF = true | |
| 671 | - let pgs={ | |
| 672 | - scene:`item='${items.id}'`, | |
| 673 | - // scene:items, | |
| 674 | - page:"pages/marketing/marketingDetail/marketingDetail" | |
| 675 | - } | |
| 676 | - QRcode(pgs).then(res=>{ | |
| 677 | - this.qfUrl = res.data | |
| 678 | - }) | |
| 679 | - }, | |
| 680 | - async getMing(ids){ | |
| 681 | - let page={ | |
| 682 | - activityId:ids | |
| 683 | - } | |
| 684 | - const res = await Registration(page) | |
| 685 | - this.mingList = res.data | |
| 686 | - this.baoming = true | |
| 687 | - } | |
| 688 | - | |
| 689 | 272 | } |
| 273 | + | |
| 690 | 274 | } |
| 691 | 275 | </script> |
| 692 | 276 | |
| 693 | 277 | <style scoped> |
| 694 | 278 | .zhuti { |
| 695 | - padding: 0 20px 20px 20px; | |
| 279 | + padding: 0 20px 20px 20px; | |
| 696 | 280 | min-height: calc(100vh - 50px - 20px); |
| 697 | 281 | background-color: #Fff; |
| 698 | 282 | |
| 699 | 283 | } |
| 700 | - | |
| 701 | - .chengeXia { | |
| 702 | - border-bottom: 6px solid #3F9B6A; | |
| 703 | - padding-bottom: 4px; | |
| 704 | - color: #3F9B6A; | |
| 284 | + .chengeXia{ | |
| 285 | + border-bottom: 6px solid #3F9B6A;padding-bottom: 4px;color: #3F9B6A; | |
| 705 | 286 | } |
| 706 | 287 | |
| 707 | 288 | /deep/ .el-form-item__content { |
| 708 | - line-height: 0; | |
| 289 | + /* line-height: 0; */ | |
| 709 | 290 | } |
| 710 | 291 | |
| 711 | - .tableBtn { | |
| 712 | - display: inline-block; | |
| 713 | - margin-right: 10px; | |
| 714 | - color: #ACACAC; | |
| 715 | - } | |
| 292 | + | |
| 716 | 293 | |
| 717 | 294 | .formSearch { |
| 718 | 295 | display: flex; |
| 719 | 296 | width: 100%; |
| 720 | 297 | font-size: 14px; |
| 721 | 298 | justify-content: space-between; |
| 299 | + padding-bottom: 10px; | |
| 300 | + | |
| 722 | 301 | } |
| 723 | 302 | |
| 724 | 303 | .greens { |
| ... | ... | @@ -727,8 +306,8 @@ |
| 727 | 306 | |
| 728 | 307 | /deep/ .el-table__row { |
| 729 | 308 | font-size: 14px; |
| 730 | - color: #000000e6; | |
| 731 | - height: 42px; | |
| 309 | + color:#000000e6; | |
| 310 | + height:42px; | |
| 732 | 311 | } |
| 733 | 312 | |
| 734 | 313 | .fenye { |
| ... | ... | @@ -779,25 +358,21 @@ |
| 779 | 358 | background: #fff; |
| 780 | 359 | height: 50px; |
| 781 | 360 | } |
| 782 | - | |
| 783 | - /deep/ .bg-purple[data-v-3bebae82] { | |
| 361 | + /deep/ .bg-purple[data-v-3bebae82]{ | |
| 784 | 362 | background: #fff; |
| 785 | 363 | height: 50px; |
| 786 | 364 | } |
| 787 | 365 | |
| 788 | - ::v-deep .bg-purple { | |
| 366 | +::v-deep .bg-purple{ | |
| 789 | 367 | background: #fff; |
| 790 | 368 | height: 50px; |
| 791 | 369 | } |
| 792 | - | |
| 793 | 370 | /deep/ .el-form--label-top .el-form-item__label { |
| 794 | 371 | padding: 0; |
| 795 | 372 | } |
| 796 | - | |
| 797 | - ::v-deep .el-form-item { | |
| 798 | - margin-bottom: 16px; | |
| 799 | - } | |
| 800 | - | |
| 373 | +::v-deep .el-form-item{ | |
| 374 | + margin-bottom:16px; | |
| 375 | +} | |
| 801 | 376 | .device-form .el-form-item__label::after { |
| 802 | 377 | content: "*"; |
| 803 | 378 | color: #1A1A1A; |
| ... | ... | @@ -811,162 +386,133 @@ |
| 811 | 386 | background-color: #FAFAFA; |
| 812 | 387 | } |
| 813 | 388 | } |
| 814 | - | |
| 815 | - ::v-deep .el-input__inner:focus { | |
| 816 | - border: #3F9B6A 1px solid; | |
| 817 | - } | |
| 818 | - | |
| 389 | + ::v-deep .el-input__inner:focus { | |
| 390 | + border: #3F9B6A 1px solid; | |
| 391 | + } | |
| 819 | 392 | .dialog-footer { |
| 820 | 393 | display: flex; |
| 821 | 394 | justify-content: flex-end; |
| 822 | 395 | border-top: solid rgba(209, 209, 209, 0.2) 2px; |
| 823 | 396 | padding-top: 20px; |
| 824 | 397 | } |
| 825 | - | |
| 826 | - ::v-deep .el-input__inner:focus { | |
| 827 | - border: #3F9B6A 1px solid; | |
| 828 | - } | |
| 829 | - | |
| 830 | - ::v-deep .el-input__inner:hover { | |
| 831 | - border: #3F9B6A 1px solid; | |
| 832 | - } | |
| 833 | - | |
| 834 | - ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 835 | - border-color: #3F9B6A | |
| 836 | - } | |
| 837 | - | |
| 838 | - .el-select-dropdown__item.selected { | |
| 398 | + ::v-deep .el-input__inner:focus { | |
| 399 | + border: #3F9B6A 1px solid; | |
| 400 | + } | |
| 401 | + ::v-deep .el-input__inner:hover { | |
| 402 | + border: #3F9B6A 1px solid; | |
| 403 | + } | |
| 404 | + ::v-deep .el-select .el-input.is-focus .el-input__inner{ | |
| 405 | + border-color:#3F9B6A | |
| 406 | + } | |
| 407 | +::v-deep .btn .el-button:focus, | |
| 408 | +.el-button:hover { | |
| 409 | + border: 1px solid #3F9B6A; | |
| 410 | +} | |
| 411 | +.el-select-dropdown__item.selected{ | |
| 839 | 412 | color: #3F9B6A; |
| 840 | - } | |
| 413 | +} | |
| 841 | 414 | |
| 842 | - .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 415 | +.el-pagination__sizes .el-input .el-input__inner:hover{ | |
| 843 | 416 | border-color: #3F9B6A; |
| 844 | - } | |
| 845 | - | |
| 846 | - ::v-deep .el-dialog__wrapper { | |
| 417 | +} | |
| 418 | +::v-deep .el-dialog__wrapper{ | |
| 847 | 419 | |
| 848 | - .dialog_css { | |
| 420 | + .dialog_css{ | |
| 849 | 421 | margin-right: 12px; |
| 850 | - margin-top: 61px !important; | |
| 851 | - | |
| 422 | + margin-top:61px !important; | |
| 852 | 423 | .el-dialog__title { |
| 853 | 424 | font-size: 16px !important; |
| 854 | 425 | font-weight: 600; |
| 855 | 426 | color: #000; |
| 856 | 427 | } |
| 857 | - } | |
| 858 | - | |
| 859 | - .diaslog_zhong { | |
| 860 | - margin-left: 25%; | |
| 861 | - margin-top: 61px !important; | |
| 862 | - } | |
| 863 | - | |
| 864 | 428 | } |
| 865 | - | |
| 866 | - ::v-deep .diaslog_zhong { | |
| 867 | - margin-left: 20%; | |
| 868 | - margin-top: 61px !important; | |
| 869 | - | |
| 870 | - .el-dialog__header { | |
| 871 | - background-color: #fff; | |
| 872 | - border-bottom: 1px solid #EFEFEF; | |
| 873 | - | |
| 874 | - .el-dialog__title { | |
| 875 | - font-size: 14px; | |
| 876 | - color: #000000e6; | |
| 877 | - } | |
| 878 | - } | |
| 879 | - | |
| 880 | - .el-dialog__body { | |
| 881 | - padding: 10px 30px 30px 20px | |
| 882 | - } | |
| 883 | - } | |
| 884 | - | |
| 885 | - /deep/ .el-table_1_column_8 .hetong { | |
| 886 | - color: #7DBB9A; | |
| 887 | - text-decoration: underline; | |
| 429 | + .diaslog_zhong{ | |
| 430 | + margin-left: 20%; | |
| 431 | + margin-top:61px !important; | |
| 432 | + } | |
| 433 | + | |
| 434 | +} | |
| 435 | + ::v-deep .diaslog_zhong{ | |
| 436 | + margin-left: 20%; | |
| 437 | + margin-top:61px !important; | |
| 438 | + .el-dialog__header{ | |
| 439 | + background-color:#fff; | |
| 440 | + border-bottom:1px solid #EFEFEF; | |
| 441 | + .el-dialog__title{ | |
| 442 | + font-size: 14px; | |
| 443 | + color: #000000e6; | |
| 444 | + } | |
| 445 | + } | |
| 446 | + .el-dialog__body{ | |
| 447 | + padding:10px 20px 30px 20px | |
| 448 | + } | |
| 888 | 449 | } |
| 889 | 450 | |
| 890 | - /deep/ .first-column-bg { | |
| 451 | + /deep/ .el-table_1_column_8 .hetong{ | |
| 452 | + color:#7DBB9A; | |
| 453 | + text-decoration: underline; | |
| 454 | +} | |
| 455 | +/deep/ .first-column-bg { | |
| 891 | 456 | background-color: #FAFAFA !important; |
| 892 | 457 | } |
| 893 | 458 | |
| 894 | - ::v-deep .textarea { | |
| 895 | - width: 85%; | |
| 459 | +.el-table tr{ | |
| 460 | + height:56px; | |
| 461 | +} | |
| 896 | 462 | |
| 897 | - .el-textarea__inner { | |
| 898 | - width: 100%; | |
| 899 | - } | |
| 463 | +::v-deep .table3{ | |
| 464 | + .el-table__empty-block{ | |
| 465 | + display:none; | |
| 900 | 466 | } |
| 901 | - | |
| 902 | - ::v-deep .pass_input { | |
| 467 | +} | |
| 468 | +::v-deep .textarea{ | |
| 469 | + width: 85%; | |
| 470 | + .el-textarea__inner{ | |
| 903 | 471 | width: 100%; |
| 904 | - | |
| 905 | - .el-input__inner { | |
| 906 | - border: none; | |
| 907 | - padding: 0; | |
| 908 | - } | |
| 909 | 472 | } |
| 910 | - | |
| 911 | - ::v-deep .pass_select { | |
| 473 | +} | |
| 474 | +::v-deep .el-button--mini{ | |
| 475 | + padding: 7px 10px; | |
| 476 | +} | |
| 477 | +::v-deep .pass_input{ | |
| 912 | 478 | width: 100%; |
| 913 | - | |
| 914 | 479 | .el-input__inner { |
| 915 | 480 | border: none; |
| 916 | - padding: 0; | |
| 481 | + padding:0; | |
| 482 | + } | |
| 483 | + } | |
| 484 | +::v-deep .pass_select{ | |
| 485 | + width: 100%; | |
| 486 | + .el-input__inner { | |
| 487 | + border: none; | |
| 488 | + padding:0; | |
| 917 | 489 | } |
| 490 | + .el-icon-arrow-up:before{ | |
| 491 | + content:'' | |
| 492 | + } | |
| 918 | 493 | |
| 919 | - .el-icon-arrow-up:before { | |
| 920 | - content: '' | |
| 921 | - } | |
| 494 | +} | |
| 495 | + /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{ | |
| 496 | + background-color: #fff; | |
| 497 | +} | |
| 922 | 498 | |
| 923 | - } | |
| 924 | 499 | |
| 925 | - /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 926 | - background-color: #fff; | |
| 927 | - } | |
| 928 | 500 | </style> |
| 929 | 501 | <style lang="scss" scoped> |
| 930 | - ::v-deep .bian_css { | |
| 931 | - .el-dialog__header { | |
| 932 | - padding: 0px; | |
| 933 | - } | |
| 934 | - | |
| 935 | - .el-input__inner { | |
| 936 | - height: 18px; | |
| 937 | - border: 0px; | |
| 938 | - margin-top: 0px; | |
| 939 | - } | |
| 940 | - | |
| 941 | - .el-input__inner:hover { | |
| 942 | - border: 0px; | |
| 943 | - } | |
| 944 | - | |
| 945 | - .el-input__inner:focus { | |
| 946 | - border: 0px; | |
| 502 | + ::v-deep .bian_css{ | |
| 503 | + .el-dialog__header{ | |
| 504 | + padding:0px; | |
| 947 | 505 | } |
| 948 | 506 | } |
| 949 | - | |
| 950 | - ::v-deep .buttonHover:hover { | |
| 951 | - color: #3f9b6a !important; | |
| 507 | + ::v-deep .buttonHover:hover{ | |
| 508 | + color:#3f9b6a !important; | |
| 952 | 509 | border-color: #c5e1d2 !important; |
| 953 | 510 | background-color: #ecf5f0 !important; |
| 954 | 511 | outline: none; |
| 955 | 512 | } |
| 956 | - | |
| 957 | - ::v-deep .el-pagination__total { | |
| 958 | - position: absolute; | |
| 959 | - left: 33px; | |
| 960 | - } | |
| 961 | - | |
| 962 | - ::v-deep .diaslog_zhong { | |
| 963 | - .el-dialog__body { | |
| 964 | - padding: 10px 20px 20px 20px; | |
| 965 | - } | |
| 966 | - | |
| 967 | - .el-upload--picture-card { | |
| 968 | - width: 130px; | |
| 969 | - height: 130px; | |
| 970 | - } | |
| 513 | + ::v-deep .el-pagination__total{ | |
| 514 | + position: absolute; | |
| 515 | + left: 33px; | |
| 971 | 516 | } |
| 972 | 517 | </style> |
| 518 | + | ... | ... |