| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921 |
- <template>
- <div class="content-box">
- <div class="title">
- <div class="cameratxt">系统通知</div>
- </div>
- <div class="contentss">
- <div class="left">
- <div class="titles">公寓设置</div>
- <div class="tooltips">
- <div class="img img1">
- <div class="img_title">
- <span>详情图:</span>
- </div>
- <div class="updateImg">
- <div class="carousel">
- <div class="pre" @click="infoImgClick2('left')">
- <img src="@/assets/left.png" alt="" />
- </div>
- <el-carousel
- ref="infoImg2"
- indicator-position="none"
- arrow="always"
- :autoplay="false"
- @change="switchImg2"
- :initial-index="switchImgInd2"
- >
- <el-carousel-item
- v-for="item in systemData.coverPicture"
- :key="item.id"
- >
- <img :src="item.url" alt="" />
- </el-carousel-item>
- </el-carousel>
- <div class="pre" @click="infoImgClick2('right')">
- <img src="@/assets/right.png" alt="" />
- </div>
- <span class="numImg" v-if="systemData.coverPicture">{{
- switchImgInd2 + 1 + "/" + systemData.coverPicture.length
- }}</span>
- <div class="lookImg" v-if="systemData.coverPicture">
- <img src="@/assets/lookImg.png" alt="" @click="lookImg" />
- <div
- class="delimg"
- @click="delImgList(item)"
- v-if="flagBtn.gongyushezhi == 1"
- ></div>
- </div>
- </div>
- <el-upload
- v-if="flagBtn.gongyushezhi == 1"
- class="avatar-uploader"
- action=""
- :on-preview="handlePreview2"
- :on-remove="handleRemove2"
- :on-change="handleChange2"
- :http-request="handleUpload2"
- :before-upload="beforeAvatarUpload2"
- >
- <template #trigger>
- <el-button type="primary" color="rgba(0, 97, 255, 1)"
- >上传图片</el-button
- >
- </template>
- <template #tip>
- <!-- <div class="el-upload__tip">
- (注:图片大小不超过10M,建议按16:9比例)
- </div> -->
- </template>
- </el-upload>
- </div>
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="conts">
- <div class="name">名称:</div>
- <el-input
- v-if="flagBtn.gongyushezhi == 1"
- clearable
- v-model.trim="systemData.name"
- @blur="systemChange"
- placeholder="请输入名称"
- style="max-width: 300px; width: 280px"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- "
- >{{ systemData.name }}</span
- >
- </div>
- <div class="conts">
- <div class="name">开业时间:</div>
- <el-date-picker
- v-if="flagBtn.gongyushezhi == 1"
- v-model="systemData.openingTime"
- type="datetime"
- format="YYYY-MM-DD HH:mm:ss"
- value-format="YYYY-MM-DD HH:mm:ss"
- :prefix-icon="Calendar"
- placeholder="请选择开业时间"
- style="max-width: 300px; width: 280px"
- @change="systemChange"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- "
- >{{ systemData.openingTime }}</span
- >
- </div>
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="conts">
- <div class="name">地址:</div>
- <el-input
- v-if="flagBtn.gongyushezhi == 1"
- clearable
- v-model.trim="systemData.address"
- @blur="systemChange"
- placeholder="请输入地址"
- style="max-width: 300px; width: 280px"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- overflow-x: auto;
- "
- >{{ systemData.address }}</span
- >
- </div>
- <div class="conts">
- <div class="name">装修时间:</div>
- <el-date-picker
- v-if="flagBtn.gongyushezhi == 1"
- v-model="systemData.decorationTime"
- type="datetime"
- format="YYYY-MM-DD HH:mm:ss"
- value-format="YYYY-MM-DD HH:mm:ss"
- :prefix-icon="Calendar"
- placeholder="请选择装修时间"
- style="max-width: 300px; width: 280px"
- @change="systemChange"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- "
- >{{ systemData.decorationTime }}</span
- >
- </div>
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="conts">
- <div class="name">全日房入住时间:</div>
- <!-- <el-time-picker
- v-model="systemData.liveTime"
- format="HH:mm"
- value-format="HH:mm"
- :prefix-icon="Calendar"
- placeholder="请输入入住时间"
- style="max-width: 300px; width: 280px"
- @change="systemChange"
- /> -->
- <el-time-picker
- v-if="flagBtn.gongyushezhi == 1"
- v-model="systemData.liveTime"
- is-range
- range-separator="-"
- format="HH:mm:ss"
- value-format="HH:mm:ss"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- @change="systemChange"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- "
- >{{ systemData.liveTime[0] }} -
- {{ systemData.liveTime[1] }}</span
- >
- </div>
- <!-- <div class="conts">
- <div class="name">离店时间:</div>
- <el-time-picker
- v-model="systemData.leaveTime"
- format="HH:mm"
- value-format="HH:mm"
- :prefix-icon="Calendar"
- placeholder="请选择离店时间"
- style="max-width: 300px; width: 280px"
- @change="systemChange"
- />
- </div> -->
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="conts">
- <div class="name">钟点房入住时间:</div>
- <div class="hourlivetime">
- <div
- class="addlive"
- v-for="(i, ind) in systemData.hourlivetime"
- >
- <el-time-picker
- v-if="flagBtn.gongyushezhi == 1"
- v-model="i.time"
- is-range
- range-separator="-"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- format="HH:mm:ss"
- value-format="HH:mm:ss"
- @change="systemChange"
- />
- <span
- v-else
- style="
- display: inline-block;
- max-width: 300px;
- width: 280px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- "
- >{{ i.time[0] }} - {{ i.time[1] }}</span
- >
- <img
- v-if="flagBtn.gongyushezhi == 1"
- class="img"
- src="@/assets/addRoom.png"
- @click="addhourClick(ind)"
- alt=""
- />
- <img
- class="img"
- src="@/assets/delRoom.png"
- @click="delhourClick(ind)"
- alt=""
- v-if="ind != 0 && flagBtn.gongyushezhi == 1"
- />
- <div class="img" alt="" v-else />
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="conts">
- <div class="name">电话号码:</div>
- <el-input
- v-if="flagBtn.gongyushezhi == 1"
- clearable
- v-model.trim="systemData.phoneNumbr"
- @blur="systemChange"
- class="w-50 m-2"
- placeholder="请输入电话号码"
- style="max-width: 300px; width: 280px"
- />
- <span
- v-else
- style="display: inline-block; max-width: 300px; width: 280px"
- >{{ systemData.phoneNumbr }}</span
- >
- </div>
- </div>
- </div>
- <div class="tooltips">
- <div class="rows">
- <div class="textarea">
- <div class="name">公寓简介:</div>
- <!-- <el-input
- v-if="flagBtn.gongyushezhi == 1"
- v-model="systemData.introductory"
- :rows="9"
- maxlength="1000"
- type="textarea"
- show-word-limit
- placeholder="请输入公寓简介"
- @blur="systemChange"
- /> -->
- <Richtext
- v-if="textShow"
- @richtextClick="richtextClick"
- :fatherMessage="fatherMessage"
- ></Richtext>
- <!-- <span v-else style="display: inline-block;max-width: 600px; width: 1000px;height:200px;border: 1px solid #ccc;overflow: auto;border-radius: 3px;padding: 5px 8px;">{{ systemData.introductory }}</span> -->
- </div>
- </div>
- </div>
- </div>
- <div class="right">
- <div class="ApartmentSetting">
- <div class="titles">
- <div class="title">设施服务设置</div>
- <el-button
- v-if="flagBtn.sheshifuwushezhi == 1"
- @click="facilityServicesAdd"
- type="primary"
- color="rgba(0, 97, 255, 1)"
- >添加
- </el-button>
- </div>
- <el-table
- :row-class-name="tableRowClassName"
- :data="tableData.list"
- @selection-change="handleSelectionChange"
- :header-cell-style="{
- background: 'rgba(240, 243, 247, 1)',
- height: '50px',
- border: 0,
- }"
- >
- <el-table-column
- align="center"
- prop="iconPath"
- label="图标"
- width="120"
- >
- <template #default="{ row }">
- <img
- :src="row.iconPath"
- alt=""
- style="width: 30px; height: 30px"
- />
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- prop="houseService"
- label="房型服务"
- />
- <el-table-column
- v-if="flagBtn.sheshifuwushezhi == 1"
- align="center"
- label="操作"
- >
- <template #default="scope">
- <div class="options">
- <div class="look" @click="facilityServicesEdit(scope.row)">
- 编辑
- </div>
- <el-popconfirm
- width="220"
- confirm-button-text="确认"
- cancel-button-text="取消"
- :icon="InfoFilled"
- icon-color="#f89626"
- title="是否删除此设施服务?"
- @confirm="facilityServicesDel(scope.row)"
- @cancel="cancelEvent"
- >
- <template #reference>
- <div class="del">删除</div>
- </template>
- </el-popconfirm>
- </div>
- </template>
- </el-table-column>
- </el-table>
- <!-- <div class="titles">
- <div class="set">退房设置</div>
- </div>
- <div class="system">
- <span>退房后 </span>
- <el-input
- v-if="flagBtn.tuifangshezhi == 1"
- clearable
- v-model.trim="checkOutData.turnOffTime"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入时间"
- @blur="checkOutSettingUpdate"
- >
- <template #suffix>
- <img
- src="@/assets/icons/clock.png"
- alt=""
- style="width: 15px"
- />
- </template>
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ checkOutData.turnOffTime }}</span
- >
- <span>分钟,断电</span>
- </div>
- <div class="system">
- <span>预定时间最多 </span>
- <el-input
- v-if="flagBtn.tuifangshezhi == 1"
- clearable
- v-model.trim="checkOutData.preDay"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入天数"
- @blur="checkOutSettingUpdate"
- >
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ checkOutData.preDay }}</span
- >
- <span>天</span>
- </div> -->
- <div class="titles">
- <div class="set">
- 补助设置<span style="font-size: 14px; padding: 0 15px"
- >/ 每房每日定额</span
- >
- </div>
- </div>
- <div class="system">
- <span>每人补助水量 </span>
- <el-input
- v-if="flagBtn.buzhushezhi == 1"
- clearable
- v-model.trim="subsidySetupData.freeQuotaOfWater"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入吨数"
- @blur="subsidySetupUpdate"
- >
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ subsidySetupData.freeQuotaOfWater }}</span
- >
- <span>吨</span>
- <span
- style="
- margin: 0 15px;
- display: inline-block;
- height: 32px;
- width: 2px;
- border-right: 1px solid rgba(166, 166, 166, 1);
- "
- ></span>
- <span>每人补助电量 </span>
- <el-input
- v-if="flagBtn.buzhushezhi == 1"
- clearable
- v-model.trim="subsidySetupData.freeQuotaOfElectric"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入度数"
- @blur="subsidySetupUpdate"
- >
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ subsidySetupData.freeQuotaOfElectric }}</span
- >
- <span>度</span>
- </div>
- <div class="titles">
- <div class="set">黑名单设置</div>
- </div>
- <div class="system">
- <span>预订未入住超 </span>
- <el-input
- v-if="flagBtn.heimingdanshezhi == 1"
- clearable
- v-model.trim="blackListData.num"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入天数"
- @blur="blackListDataUpdate"
- >
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ blackListData.num }}</span
- >
- <span>次,进入黑名单,不可免费预订</span>
- </div>
- <!-- <div class="titles">
- <div class="set">催缴设置</div>
- </div>
- <div class="system">
- <span>每 </span>
- <el-input
- v-if="flagBtn.cuijiaoshezhi == 1"
- clearable
- v-model.trim="callSystemData.askForPayment"
- style="width: 150px; margin: 0 8px"
- placeholder="请输入天数"
- @blur="callSystemDataUpdate"
- >
- </el-input>
- <span
- v-else
- style="
- display: inline-block;
- width: 150px;
- border: 1px solid #ccc;
- border-radius: 3px;
- height: 30px;
- line-height: 30px;
- padding-left: 8px;
- margin: 0 8px;
- "
- >{{ callSystemData.askForPayment }}</span
- >
- <span>天,对待结账老师进行催缴</span>
- </div> -->
- </div>
- </div>
- </div>
- <div class="bgImg" v-if="bgImg">
- <el-carousel
- @click="bgImg = false"
- ref="bgImg"
- indicator-position
- arrow="always"
- :autoplay="false"
- @change="switchBgImg"
- trigger
- :initial-index="switchImgInd3"
- >
- <el-carousel-item v-for="item in bgImgList" :key="item.id">
- <img :src="item.url" alt="" />
- </el-carousel-item>
- </el-carousel>
- </div>
- <!-- 查看设施服务添加 -->
- <el-dialog
- class="addtable"
- v-model="addtableDataDialog"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :title="dialongTitle"
- align-center
- width="500"
- :before-close="cancelAddtable"
- >
- <div class="slider">
- <el-form
- ref="addtableRef"
- :model="addtableRuleForm"
- :rules="addtableRules"
- label-width="100px"
- class="demo-ruleForm"
- size="default"
- label-position="left"
- status-icon
- :inline="true"
- >
- <el-form-item label="图标 :" prop="icon">
- <div class="lookImg">
- <img :src="addtableRuleForm.icon" alt="" @click="lookImg(i)" />
- <div
- class="lookImgs"
- @click="lookImgs(addtableRuleForm.icon)"
- v-if="addtableRuleForm.icon"
- >
- <img src="@/assets/lookImg.png" alt="" />
- </div>
- </div>
- <el-upload
- class="avatar-uploader"
- action=""
- list-type="picture"
- :on-preview="handleAddtablePreview"
- :on-change="handleAddtableChange"
- :http-request="handleAddtableUpload"
- :before-upload="beforeAddtableAvatarUpload"
- >
- <template #trigger>
- <el-button type="primary" color="rgba(0, 97, 255, 1)"
- >上传图片</el-button
- >
- </template>
- <template #tip>
- <div class="el-upload__tip">
- (注:图片大小不超过1M,建议按1:1比例)
- </div>
- </template>
- </el-upload>
- </el-form-item>
- <el-form-item label="房型服务 :" prop="name">
- <el-input
- v-model.trim="addtableRuleForm.name"
- placeholder="请输入房型服务"
- clearable
- />
- </el-form-item>
- <el-form-item class="options">
- <el-button
- color="rgba(41, 109, 227, 1)"
- class="queding"
- type="primary"
- @click="submitAddtable(addtableRef)"
- >
- 确认
- </el-button>
- <el-button type="primary" plain @click="cancelAddtable"
- >取消</el-button
- >
- </el-form-item>
- </el-form>
- </div>
- </el-dialog>
- </div>
- </template>
- <script setup>
- import {
- ref,
- reactive,
- nextTick,
- onMounted,
- onBeforeMount,
- onUnmounted,
- } from "vue";
- import { useRouter, useRoute } from "vue-router";
- import { ElMessage, ElMessageBox } from "element-plus";
- import { Calendar } from "@element-plus/icons-vue";
- import vidiconsApi from "@/api/vidicons.js";
- import { dayjs } from "element-plus";
- import lodash from "lodash";
- import axios from "axios";
- import Richtext from "./richtext.vue";
- import { useStore } from "vuex";
- const store = useStore();
- const api = ref("");
- const router = useRouter();
- const route = useRoute(); // 获取router-push传过来的flag
- const flagBtn = ref(); // 按钮权限
- // 设置详情数据 (====================)
- const systemData = reactive({
- address: null,
- coverPicture: [],
- decorationTime: null,
- id: null,
- introductory: null,
- hourlivetime: [],
- liveTime: [],
- name: null,
- openingTime: null,
- phoneNumbr: null,
- });
- // 富文本内容
- const textShow = ref(false);
- const fatherMessage = ref({
- data: "",
- });
- // 查看设施服务设置数据 (===========================)
- const tableData = reactive({
- list: [],
- });
- const addtableDataDialog = ref(false);
- const dialongTitle = ref("设施服务添加");
- const addtableRef = ref();
- const addtableRuleForm = reactive({
- id: "",
- icon: "",
- name: "",
- });
- const addtableRules = reactive({
- icon: [{ required: true, message: "图标不能为空", trigger: "blur" }],
- name: [{ required: true, message: "房型服务不能为空", trigger: "blur" }],
- });
- // 退房设置数据 (====================================)
- const checkOutData = reactive({
- id: "",
- turnOffTime: "",
- preDay: "",
- });
- // 补助设置查询
- const subsidySetupData = reactive({
- freeQuotaOfElectric: "",
- freeQuotaOfWater: "",
- id: "",
- });
- // 催缴设置查询
- const callSystemData = reactive({
- id: "",
- askForPayment: "",
- });
- // 黑名单设置
- const blackListData = reactive({
- id: "",
- num: "",
- });
- // 添加员工弹窗数据 (------------------------------------)
- const addDialogVisible = ref(false); // 控制添加员工弹窗
- const cities = ref([]); // 名宿配置数据
- const checkedCities = ref([]); // 名宿配置选中数据
- const infoImg2 = ref(); // 控制走马灯ref
- const switchImgInd2 = ref(0); // 幻灯片的默认索引
- const imgList2 = ref([]); // 弹窗中详情图地址(幻灯片)
- const fileList = reactive({ list: [] }); // 添加多张图片的文件
- const searchInput = reactive({
- keyWord: "",
- teamId: "",
- schoolId: "",
- }); // 搜索按钮数据
- // 添加员工表单数据
- const ruleForm = reactive({
- name: "研究生公寓", // 名称
- openingTime: "", // 开业时间
- id: "",
- });
- // 点击查看图片
- const bgImg = ref(false);
- const bgImgList = ref([]);
- const switchImgInd3 = ref();
- // 系统设置信息
- const getList = async () => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- };
- let res = await axios({
- method: "get",
- url: api.value + "/apartment-setting/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(res, "系统设置信息");
- if (res.data.code == 200) {
- systemData.address = res.data.data.address;
- if (res.data.data.coverPicture) {
- systemData.coverPicture = res.data.data.coverPicture;
- } else {
- systemData.coverPicture = [];
- }
- systemData.decorationTime = res.data.data.decorationTime;
- systemData.id = res.data.data.id;
- // console.log(res.data.data.introductory);
- systemData.introductory = res.data.data.introductory;
- fatherMessage.value.data = res.data.data.introductory;
- let arr = res.data.data.hourTime.split(",");
- let hourData = [];
- arr.forEach((i) => {
- let time = i.split("-");
- hourData.push({
- time: time,
- });
- });
- console.log(hourData);
- systemData.hourlivetime = hourData;
- systemData.liveTime[0] = res.data.data.liveTime;
- systemData.liveTime[1] = res.data.data.leaveTime;
- systemData.name = res.data.data.name;
- systemData.openingTime = res.data.data.openingTime;
- systemData.phoneNumbr = res.data.data.phoneNumbr;
- } else {
- if (res.data.code == 500) {
- console.log(res.data);
- if (res.data.message == "无效token,请重新登入") {
- router.push({ path: "/login" });
- }
- }
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- };
- // 添加钟点房时间列表
- const addhourClick = () => {
- systemData.hourlivetime.push({ time: [] });
- };
- // 删除钟点房时间列表
- const delhourClick = (ind) => {
- systemData.hourlivetime.splice(ind, 1);
- console.log(systemData.hourlivetime);
- systemChange();
- };
- // 查看设施服务设置
- const facilityServices = async () => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- };
- let ress = await axios({
- method: "get",
- url: api.value + "/facility-services/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(ress, "查看设施服务设置");
- if (ress.data.code == 200) {
- tableData.list = ress.data.data;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: ress.data.message,
- center: true,
- });
- }
- };
- // 退房设置查询
- const checkOutSetting = async () => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- };
- let resss = await axios({
- method: "get",
- url: api.value + "/check-out-setting/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(resss, "退房设置查询");
- if (resss.data.code == 200) {
- checkOutData.id = resss.data.data[0].id;
- checkOutData.turnOffTime = resss.data.data[0].turnOffTime;
- checkOutData.preDay = resss.data.data[0].preDay;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 补助设置查询
- const subsidySetup = async () => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- };
- let resss = await axios({
- method: "get",
- url: api.value + "/subsidy-setup/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(resss, "补助设置查询");
- if (resss.data.code == 200) {
- subsidySetupData.freeQuotaOfElectric =
- resss.data.data[0].freeQuotaOfElectric;
- subsidySetupData.freeQuotaOfWater = resss.data.data[0].freeQuotaOfWater;
- subsidySetupData.id = resss.data.data[0].id;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 催缴设置查询
- const callSystem = async () => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- };
- let resss = await axios({
- method: "get",
- url: api.value + "/call-system/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(resss, "催缴设置查询");
- if (resss.data.code == 200) {
- callSystemData.askForPayment = resss.data.data[0].askForPayment;
- callSystemData.id = resss.data.data[0].id;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 黑名单设置
- const blackList = async () => {
- let resss = await axios({
- method: "get",
- url: api.value + "/blacklist-setting/list",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- });
- console.log(resss, "黑名单设置");
- if (resss.data.code == 200) {
- blackListData.num = resss.data.data.count;
- blackListData.id = resss.data.data.id;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 系统设置信息修改 (===============================================================)
- const systemChange = async () => {
- let arr = [];
- systemData.coverPicture.forEach((item) => {
- arr.push(item.url);
- });
- console.log(systemData.hourlivetime);
- let flag = systemData.hourlivetime.some((item) => {
- return item.time.length == 0;
- });
- let hourlivetime = [];
- if (flag) {
- ElMessage({
- type: "warning",
- showClose: true,
- message: "时间段不能为空",
- center: true,
- });
- return false;
- } else {
- systemData.hourlivetime.forEach((item) => {
- let val = item.time.join("-");
- hourlivetime.push(val);
- });
- }
- console.log(hourlivetime.join(","));
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"), //权限表id
- id: systemData.id, //id(不带id时是添加,带id时是修改)
- coverPicture: arr.join(","), //封面图,多张用,隔开
- name: systemData.name, //名称
- address: systemData.address, //地址
- openingTime: systemData.openingTime, //开业时间
- decorationTime: systemData.decorationTime, //装修时间
- liveTime: systemData.liveTime[0], //入住时间
- leaveTime: systemData.liveTime[1], //离店时间
- hourTime: hourlivetime.join(","), // 钟点房时段
- phoneNumbr: systemData.phoneNumbr, //电话号码
- introductory: systemData.introductory, //简介
- };
- let res = await axios({
- method: "post",
- url: api.value + "/apartment-setting/updateOrSave",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(res, "系统设置信息修改");
- if (res.data.code == 200) {
- getList();
- ElMessage({
- type: "success",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- };
- // 富文本编辑器 (----------------------------------------------------)
- const richtextClick = lodash.debounce((data) => {
- console.log(data, "富文本传过来的数据");
- systemData.introductory = data.html;
- fatherMessage.value.data = data.html;
- if (flagBtn.value.gongyushezhi == 1) {
- systemChange();
- }
- }, 500);
- // 查看设施服务添加 (===============================================================)
- const facilityServicesAdd = async () => {
- addtableDataDialog.value = true;
- addtableRuleForm.icon = "";
- addtableRuleForm.name = "";
- addtableRuleForm.id = "";
- };
- const cancelAddtable = () => {
- addtableDataDialog.value = false;
- };
- // 上传图片
- const handleAddtableChange = async (file, fileList) => {
- console.log(file, "11111111");
- };
- // 可以获取图片参数(封面图上传图片)
- const handleAddtableUpload = async (file) => {
- console.log(file, "22222222");
- let data = new FormData();
- data.set("file", file.file);
- let res = await axios({
- method: "post",
- url: api.value + "/upload/save",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(res, "成功上传图片");
- if (res.data.code == 200) {
- addtableRuleForm.icon = res.data.data.url;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- };
- // 限制上传图片的大小
- const beforeAddtableAvatarUpload = (rawFile) => {
- // console.log(rawFile.type);
- if (rawFile.type !== "image/jpeg" && rawFile.type !== "image/png") {
- ElMessage.error("图片格式必须为JPG/PNG格式!");
- return false;
- } else if (rawFile.size / 1024 / 1024 > 1) {
- ElMessage.error("图片的大小不能超过1MB!");
- return false;
- }
- return true;
- };
- // 确认维护信息
- const submitAddtable = lodash.debounce(async (formEl) => {
- if (!formEl) return;
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"), //权限表id
- iconPath: addtableRuleForm.icon, //图标路径
- houseService: addtableRuleForm.name, //房型服务
- };
- if (addtableRuleForm.id) {
- data.id = addtableRuleForm.id;
- let res = await axios({
- method: "post",
- url: api.value + "/facility-services/update",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(res, "确定编辑服务");
- if (res.data.code == 200) {
- facilityServices();
- ElMessage({
- type: "success",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- addtableDataDialog.value = false;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- } else {
- let res = await axios({
- method: "post",
- url: api.value + "/facility-services/save",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(res, "确定添加服务");
- if (res.data.code == 200) {
- facilityServices();
- ElMessage({
- type: "success",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- addtableDataDialog.value = false;
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- }
- } else {
- console.log("error submit!", fields);
- }
- });
- }, 1500);
- const facilityServicesEdit = (row) => {
- console.log(row);
- addtableDataDialog.value = true;
- addtableRuleForm.icon = row.iconPath;
- addtableRuleForm.name = row.houseService;
- addtableRuleForm.id = row.id;
- };
- // 删除服务设置
- const facilityServicesDel = async (row) => {
- let data = {
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- id: row.id,
- };
- let res = await axios({
- method: "get",
- url: api.value + "/facility-services/delete",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- params: data,
- });
- console.log(res, "删除服务设置");
- if (res.data.code == 200) {
- facilityServices();
- ElMessage({
- type: "success",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- };
- // 退房设置修改 (===============================================================)
- const checkOutSettingUpdate = async () => {
- let data = {
- id: checkOutData.id, //退房设置id(不带id时是添加,带id时是修改)
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- turnOffTime: checkOutData.turnOffTime, //退房后断水断电时间 单位:分钟
- preDay: checkOutData.preDay, //预定提前天数 单位:天
- };
- let resss = await axios({
- method: "post",
- url: api.value + "/check-out-setting/saveOrUpdate",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(resss, "退房设置修改");
- if (resss.data.code == 200) {
- checkOutSetting();
- ElMessage({
- type: "success",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 补助设置修改 (================================================================)
- const subsidySetupUpdate = async () => {
- let data = {
- id: subsidySetupData.id, //补助设置id(不带id时是添加,带id时是修改)
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- freeQuotaOfWater: subsidySetupData.freeQuotaOfWater, //水免费额度
- freeQuotaOfElectric: subsidySetupData.freeQuotaOfElectric, //电免费额度
- };
- let resss = await axios({
- method: "post",
- url: api.value + "/subsidy-setup/saveOrUpdate",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(resss, "补助设置修改");
- if (resss.data.code == 200) {
- subsidySetup();
- ElMessage({
- type: "success",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 催缴设置修改 (================================================================)
- const callSystemDataUpdate = async () => {
- let data = {
- id: callSystemData.id, //催缴设置id(不带id时是添加,带id时是修改)
- permissionSettingId: sessionStorage.getItem("permissionSettingId"),
- askForPayment: callSystemData.askForPayment,
- };
- let resss = await axios({
- method: "post",
- url: api.value + "/call-system/saveOrUpdate",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(resss, "催缴设置修改");
- if (resss.data.code == 200) {
- callSystem();
- ElMessage({
- type: "success",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 黑名单设置修改 (================================================================)
- const blackListDataUpdate = async () => {
- let data = {
- id: blackListData.id, //催缴设置id(不带id时是添加,带id时是修改)
- count: blackListData.num,
- };
- let resss = await axios({
- method: "post",
- url: api.value + "/blacklist-setting/update",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(resss, "催缴设置修改");
- if (resss.data.code == 200) {
- blackList();
- ElMessage({
- type: "success",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: resss.data.message,
- center: true,
- });
- }
- };
- // 左右切换走马灯
- const infoImgClick2 = (val) => {
- if (val == "right") {
- //点击右按钮切换至下一页走马灯
- infoImg2.value.next();
- } else {
- //点击左按钮切换至上一页走马灯
- infoImg2.value.prev();
- }
- };
- // 得到当前幻灯片的索引
- const switchImg2 = (val) => {
- // console.log(val);
- switchImgInd2.value = val;
- };
- // 删除幻灯片中的图片
- const delImgList = (item) => {
- console.log(switchImgInd2.value);
- // console.log(item);
- systemData.coverPicture = systemData.coverPicture.filter((i, index) => {
- // return i.count != item.count;
- return index != switchImgInd2.value;
- });
- systemChange();
- };
- //轮播图上传(-----------------------------------------------)
- // 移出照片
- const handleRemove2 = (uploadFile, uploadFiles) => {
- // console.log(uploadFile.uid, uploadFiles);
- // fileList.list = fileList.list.filter((item) => {
- // return item.uid != uploadFile.uid;
- // });
- // ruleForm.fileListJson = fileList.list;
- };
- // 点击图片的查看按钮
- const handlePreview2 = (file) => {
- // imgUrl.value = file.url;
- // imgVisible.value = true;
- // console.log(file);
- };
- // 限制上传图片的大小
- const beforeAvatarUpload2 = (rawFile) => {
- // console.log(rawFile.type);
- if (rawFile.type !== "image/jpeg" && rawFile.type !== "image/png") {
- ElMessage.error("图片格式必须为JPG/PNG格式!");
- return false;
- } else if (rawFile.size / 1024 / 1024 > 10) {
- ElMessage.error("图片的大小不能超过10MB!");
- return false;
- }
- return true;
- };
- // 添加照片时往fileList列表中添加图片信息
- const handleChange2 = async (file, fileLists) => {
- // console.log(file, "1111");
- // fileList.list.push(file);
- };
- // 可以获取图片参数
- const handleUpload2 = async (file) => {
- console.log(file, "22222222");
- let data = new FormData();
- data.set("file", file.file);
- let res = await axios({
- method: "post",
- url: api.value + "/upload/save",
- headers: {
- token: sessionStorage.getItem("token"),
- user_head: sessionStorage.getItem("user_head"),
- },
- data: data,
- });
- console.log(res, "成功上传图片");
- if (res.data.code == 200) {
- console.log(systemData.coverPicture);
- systemData.coverPicture.push({
- url: res.data.data.url,
- count: systemData.coverPicture.length,
- });
- systemChange();
- } else {
- ElMessage({
- type: "error",
- showClose: true,
- message: res.data.message,
- center: true,
- });
- }
- console.log(systemData.coverPicture, "详情图片");
- };
- // 查看图片一张
- const lookImgs = (i) => {
- bgImg.value = true;
- let arr = [];
- arr.push({
- url: i,
- });
- bgImgList.value = arr;
- };
- // 查看图片多张
- const lookImg = () => {
- bgImg.value = true;
- // let arr = [];
- // systemData.coverPicture.forEach((item) => {
- // arr.push({
- // url: item.url,
- // count: item.count,
- // });
- // });
- switchImgInd3.value = switchImgInd2.value;
- bgImgList.value = systemData.coverPicture;
- };
- // 切换图片后缩列图也跟着变
- const switchBgImg = (val) => {
- console.log(val);
- switchImgInd3.value = val;
- infoImg2.value.setActiveItem(val);
- };
- // 表格斑马纹颜色修改
- const tableRowClassName = ({ row, rowIndex }) => {
- if (rowIndex % 2 === 0) {
- return "even";
- } else if (rowIndex % 2 !== 0) {
- return "odd";
- }
- return "";
- };
- onBeforeMount(async () => {
- api.value = store.state.user.api;
- const btnflag = JSON.parse(sessionStorage.getItem("btnflag"));
- flagBtn.value = btnflag.system;
- console.log(flagBtn.value, "按钮权限");
- getList();
- facilityServices();
- checkOutSetting();
- subsidySetup();
- callSystem();
- blackList();
- });
- onMounted(() => {
- setTimeout(() => {
- textShow.value = true;
- }, 1000);
- });
- </script>
- <style scoped lang="scss">
- .content-box {
- width: calc(100% - 40px);
- height: calc(100% - 105px);
- margin: 20px auto;
- background-color: #fff;
- color: #fff;
- display: flex;
- flex-direction: column;
- box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
- .title {
- // width: calc(100wh - 40px);
- .cameratxt {
- height: 60px;
- line-height: 60px;
- margin: 0 30px;
- border-bottom: 1px solid #ccc;
- color: #000;
- font-size: 18px;
- font-weight: 600;
- }
- }
- .contentss {
- width: calc(100% - 60px);
- height: calc(100% - 81px);
- margin: 0 auto;
- display: flex;
- overflow: auto;
- .left {
- // width: 900px;
- width: calc(100% - 600px);
- min-width: 750px;
- color: #000;
- margin-right: 50px;
- .titles {
- font-size: 18px;
- margin: 20px 0;
- font-weight: 700;
- }
- .tooltips {
- display: flex;
- margin: 22px 0;
- .img {
- display: flex;
- margin-right: 20px;
- .img_title {
- // margin: 0 20px 0 0;
- display: flex;
- flex-direction: column;
- align-items: center;
- span {
- display: inline-block;
- width: 53px;
- }
- }
- .carousel {
- height: 120px;
- display: flex;
- align-items: center;
- position: relative;
- .pre {
- img {
- width: 30px;
- cursor: pointer;
- }
- }
- .numImg {
- position: relative;
- color: #fff;
- right: 70px;
- bottom: -40px;
- }
- .el-carousel {
- width: 213px;
- height: 120px;
- img {
- width: 213px;
- height: 120px;
- }
- :deep(.el-carousel__arrow) {
- display: none;
- }
- :deep(.el-carousel__container) {
- border: 1px solid #ccc;
- height: 120px !important;
- box-sizing: border-box;
- .el-carousel__arrow {
- display: none;
- }
- }
- }
- .lookImg {
- width: 213px;
- height: 120px;
- cursor: pointer;
- position: absolute;
- top: 0;
- left: 30px;
- display: flex;
- justify-content: center;
- align-items: center;
- img {
- width: 30px;
- height: 30px;
- opacity: 0;
- }
- .delimg {
- background: url("../../assets/imgDel.png");
- background-size: 100% 100%;
- width: 30px;
- height: 30px;
- opacity: 0;
- }
- }
- .lookImg:hover {
- background-color: rgba(0, 0, 0, 0.2);
- img {
- opacity: 1;
- }
- .delimg {
- opacity: 1;
- }
- }
- }
- .avatar-uploader {
- margin: 20px 0 10px 90px;
- :deep(.el-upload-list) {
- display: none;
- }
- }
- }
- .rows {
- width: 100%;
- display: flex;
- justify-content: space-between;
- .conts {
- display: flex;
- align-items: center;
- .name {
- width: 80px;
- margin: 0 12px 0 0;
- }
- .el-input {
- max-width: 300px;
- }
- }
- .textarea {
- width: 100%;
- .name {
- margin: 5px 0 15px 0;
- }
- }
- .hourlivetime {
- display: flex;
- // align-items: center;
- flex-direction: column;
- .addlive {
- display: flex;
- align-items: center;
- margin-bottom: 15px;
- .img {
- width: 28px;
- height: 28px;
- margin-left: 15px;
- margin-right: 0;
- cursor: pointer;
- }
- }
- }
- }
- }
- }
- .right {
- // width: calc(100% - 950px);
- width: 600px;
- height: 100%;
- color: #000;
- .ApartmentSetting {
- .titles {
- display: flex;
- justify-content: space-between;
- align-items: center;
- // border-bottom: 1px solid rgba(229, 229, 229, 1);
- .title {
- font-size: 18px;
- padding: 20px 0;
- font-weight: 700;
- }
- .set {
- font-size: 18px;
- font-weight: 700;
- margin: 30px 0 0 0;
- }
- }
- .el-table--fit {
- height: 100%;
- :deep(.el-table__header-wrapper) {
- background-color: #000;
- font-size: 15px;
- color: #000;
- .cell {
- color: #000;
- }
- }
- :deep(.el-table__body-wrapper) {
- .el-scrollbar {
- height: 200px;
- }
- }
- :deep(.el-table__row) {
- height: 50px;
- font-size: 15px;
- color: #000;
- }
- :deep(.el-table__row td) {
- padding: 0;
- border: 0;
- }
- .el-button--primary {
- margin-left: 5px;
- }
- :deep(.el-table__body .even) {
- background-color: #fff;
- }
- :deep(.el-table__body .odd) {
- background-color: rgba(240, 243, 247, 1);
- }
- :deep(.options) {
- display: flex;
- justify-content: center;
- align-items: center;
- .reset {
- color: rgba(9, 101, 98, 1);
- cursor: pointer;
- }
- .look {
- margin: 0 15px;
- color: rgba(30, 125, 251, 1);
- cursor: pointer;
- }
- .del {
- color: rgba(212, 48, 48, 1);
- cursor: pointer;
- }
- }
- }
- .system {
- margin: 20px 0 0 0;
- display: flex;
- align-items: center;
- }
- }
- }
- }
- .bgImg {
- position: absolute;
- left: 0;
- top: 0;
- z-index: 99999999;
- width: 100%;
- height: 100%;
- background-color: rgba(255, 255, 255, 0.8);
- // border-radius: 50px;
- :deep(.el-carousel__container) {
- width: 100%;
- height: calc(100vh);
- .el-carousel__item {
- display: flex;
- justify-content: center;
- img {
- height: 100%;
- }
- }
- }
- }
- // 添加房型弹窗样式
- :deep(.addtable) {
- height: 400px;
- border-radius: 11px;
- .el-dialog__header {
- border-radius: 11px 11px 0 0;
- background: rgba(237, 241, 245, 1);
- font-weight: 600;
- margin: 0;
- .el-dialog__headerbtn {
- outline: none;
- }
- }
- .el-dialog__body {
- padding: 10px 30px 10px 30px;
- .el-form {
- display: flex;
- flex-direction: column;
- .el-form-item__content {
- .lookImg {
- width: 120px;
- height: 120px;
- margin-bottom: 10px;
- img {
- width: 120px;
- height: 120px;
- }
- .lookImgs {
- width: 120px;
- height: 120px;
- cursor: pointer;
- position: absolute;
- background-color: rgba(0, 0, 0, 0.3);
- left: 0;
- top: 0;
- display: flex;
- justify-content: center;
- align-items: center;
- opacity: 0;
- img {
- width: 30px;
- height: 30px;
- }
- }
- .lookImgs:hover {
- opacity: 1;
- }
- }
- .avatar-uploader {
- .el-upload-list {
- display: none;
- }
- }
- }
- }
- .options {
- width: 100%;
- margin: 10px 0;
- .el-form-item__content {
- .queding {
- margin-left: 20px;
- color: #fff;
- }
- display: flex;
- flex-direction: row-reverse;
- }
- }
- }
- }
- }
- </style>
|