From 1c200b3f9934e5c655b9d69a59b626cac14fd63e Mon Sep 17 00:00:00 2001 From: jazz <jazzxhunter@163.com> Date: 星期三, 27 十二月 2023 12:18:43 +0800 Subject: [PATCH] update_202312271217_门店选择修改 --- src/pages/room/detail.vue | 186 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 148 insertions(+), 38 deletions(-) diff --git a/src/pages/room/detail.vue b/src/pages/room/detail.vue index 97605ec..776f69f 100644 --- a/src/pages/room/detail.vue +++ b/src/pages/room/detail.vue @@ -11,7 +11,7 @@ </div> </div> <div class="right flex-1 flex flex-jcfe flex-ver"> - <el-button type="primary" icon="el-icon-refresh" class="reset_btn flex flex-center" size="small" style="width: 100px;" @click="getData">鍒锋柊</el-button> + <el-button type="primary" icon="el-icon-refresh" class="reset_btn flex flex-center" size="small" style="width: 100px;" @click="resetPage">鍒锋柊</el-button> <div class="reset_btn flex flex-center" @click="resetStatus">閲嶇疆鎴块棿鐘舵��</div> <div class="page_date"> <div class="page_week">{{ timeObj.week }}</div> @@ -69,11 +69,11 @@ <div class="main flex-1"> <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div> <div v-if="roomInfo" class="room_main_tip">-{{ statusTx[roomInfo.status] }}-</div> - <div v-if="roomInfo && roomInfo.status >= 1" class="room_left_btn_box flex flex-ver"> - <div v-if="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('瀹汉浼戞伅', 2)">瀹汉浼戞伅</div> - <div v-if="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> - <div v-if="roomInfo.status == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> - <div v-if="roomInfo.status == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('绌洪棽', 0)">缁撴潫鎵撴壂</div> + <div v-show="roomInfo && roomInfo.status >= 1" class="room_left_btn_box flex flex-ver"> + <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('瀹汉浼戞伅', 2)">瀹汉浼戞伅</div> + <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> + <div v-show="roomInfo.status == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> + <div v-show="roomInfo.status == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('绌洪棽', 0)">缁撴潫鎵撴壂</div> </div> </div> <div class="right"> @@ -115,28 +115,45 @@ <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div> <div class="room_content"> <div class="tip">璇婄枟瀹夋帓</div> - <!-- <div class="name">{{ occupyInfoView.userName }}</div> --> - <div class="name"> - <el-popover - placement="top" - width="400" - popper-class="top_tx" - trigger="click" - :popper-options="{ removeOnDestroy: true }" - > - <div>{{ occupyInfoView.userName }}</div> - <div slot="reference" class="tx ell">{{ occupyInfoView.userName }}</div> - </el-popover> + <!-- <div class="name">{{ occupyInfoView.userName }}</div> appellationName --> + <div v-show="isShowAppellationName" class="flex flex-center"> + <div class="flex flex-ver"> + <div class="name">{{ occupyInfoView.appellationName }}</div> + <div class="name_icon" @click="tapAppellationHandle"> + <img class="img" src="static/imgs/eye.png"> + </div> + </div> + </div> + <div v-show="!isShowAppellationName" class="flex flex-center"> + <div class="flex flex-ver"> + <div class="name"> + <el-popover + placement="top" + width="400" + popper-class="top_tx" + trigger="click" + :popper-options="{ removeOnDestroy: true }" + > + <div>{{ occupyInfoView.userName }}</div> + <div slot="reference" class="tx ell">{{ occupyInfoView.userName }}</div> + </el-popover> + </div> + <div class="name_icon" @click="tapAppellationHandle"> + <img class="img" src="static/imgs/eye.png"> + </div> + </div> </div> <div v-if="occupyInfoView.ciq" class="ciq">({{ occupyInfoView.ciq }})</div> <div v-if="occupyInfoView.startTime" class="time">瀹夋帓娌荤枟鏃堕棿锛歿{ occupyInfoView.startTime }} 寮�濮�</div> </div> - <div v-if="roomInfo" class="room_left_btn_box flex flex-ver" style="margin-top: 105px;"> - <div v-if="roomInfo.status == 0" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('浣跨敤涓�', 1)">寮�濮嬫不鐤�</div> - <div v-if="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('瀹汉浼戞伅', 2)">瀹汉浼戞伅</div> - <div v-if="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> - <div v-if="roomInfo.status == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> - <div v-if="roomInfo.status == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('绌洪棽', 0)">缁撴潫鎵撴壂</div> + <div v-show="roomInfo" class="room_left_btn_box flex flex-ver" style="margin-top: 105px;"> + <div v-show="roomInfo.status == 0" class="room_left_btn_box__item flex flex-1 flex-center b-green btn_ani" @click="setStatus('鏁烽夯涓�', 4)">寮�濮嬫暦楹�</div> + <div v-show="roomInfo.status == 0" class="room_left_btn_box__item flex flex-1 flex-center green btn_ani" @click="setStatus('浣跨敤涓�', 1)">寮�濮嬫不鐤�</div> + <div v-show="roomInfo.status == 4" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('浣跨敤涓�', 1)">寮�濮嬫不鐤�</div> + <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('瀹汉浼戞伅', 2)">瀹汉浼戞伅</div> + <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> + <div v-show="roomInfo.status == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('鎵撴壂涓�', 3)">閫氱煡鎵撴壂</div> + <div v-show="roomInfo.status == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('绌洪棽', 0)">缁撴潫鎵撴壂</div> </div> </div> <div class="right flex flex-col"> @@ -203,6 +220,8 @@ <XioCustomerSelect ref="XioCustomerSelect" @cancel="selectCustomerCancel" @submit="selectCustomerSubmit" /> <!-- 鏇存敼鎴块棿鐘舵�佺獥 --> <XioRoomStatusChg ref="XioRoomStatusChg" @changeStatus="changeStatus" /> + <!-- MIC閫氱煡鍗搁夯 --> + <XioRoomOffNarcosisNotice ref="XioRoomOffNarcosisNotice" @confirm="offNarcosisNoticeConfirm" /> </div> </template> @@ -216,14 +235,20 @@ import XioCustomerSelect from '@/components/xio_customer_select' // 鏇存敼鎴块棿鐘舵�佺獥 import XioRoomStatusChg from '@/components/xio_room_status_chg' +// 閫氱煡鍗搁夯 +import XioRoomOffNarcosisNotice from '@/components/xio_room_off_narcosis_notice' import Req from '../../utils/jun_httpInstall' // http 璇锋眰 +// import xioFn from './utils/xio_fn.js' var isUseDefault = false // 鏄惁宸蹭娇鐢ㄩ粯璁ゅ浜� var isUseDefaultChg = 0// 宸蹭娇鐢ㄩ粯璁ゅ浜哄悗鎴块棿鏄惁鏈夋敼鍙樼姸鎬� +var offNarcosisIds = [] // 鏄惁宸查�氱煡鍗搁夯id鏁扮粍 +var isOffNarcosisShow = false // 鏄惁鏄剧ず宸查�氱煡鍗搁夯寮圭獥 export default { name: 'RoomDetail', components: { XioCustomerSelect, - XioRoomStatusChg + XioRoomStatusChg, + XioRoomOffNarcosisNotice }, inject: ['noop'], data() { @@ -232,9 +257,10 @@ roomInfo: {}, occupyInfo: '', // 褰撳墠鍗犵敤浜虹殑淇℃伅 assignTreatList: [], - statusTx: ['绌洪棽', '浣跨敤涓�', '瀹汉浼戞伅', '鎵撴壂涓�'], + statusTx: ['绌洪棽', '浣跨敤涓�', '瀹汉浼戞伅', '鎵撴壂涓�', '鏁烽夯涓�'], timeObj: {}, // week锛氭槦鏈燂紝date锛氬勾鏈堟棩锛宼imeMin锛氭椂鍒嗭紝time锛氭椂鍒嗙锛宼imeStamp锛氭椂闂存埑 - curTreatId: '' + curTreatId: '', + isShowAppellationName: true // 鏄惁鏄剧ず绉拌皳 } }, computed: { @@ -278,6 +304,18 @@ console.log('roomDetail mounted') // 璁板綍褰撳墠鐨勬不鐤桰D var curTreatId = localStorage.getItem('curTreatId') + var localOffNarcosisIds = localStorage.getItem('offNarcosisIds') + var localIsOffNarcosisShow = localStorage.getItem('isOffNarcosisShow') + // 鑾峰彇鏄惁宸查�氱煡鍗搁夯鏁扮粍 + if (localOffNarcosisIds) { + offNarcosisIds = JSON.parse(localOffNarcosisIds) + } else { + offNarcosisIds = [] + this.setLocalStorageOffNarcosisIds() + } + if (localIsOffNarcosisShow) { + isOffNarcosisShow = localIsOffNarcosisShow + } this.curTreatId = curTreatId || '' this.id = this.$route.query.id || '' this.init() @@ -297,11 +335,44 @@ this.pollingAjaxFn(this, 'getData', 'detail', 8000) // this.getData() }, + // 璁剧疆宸查�氱煡鍗搁夯id鏁扮粍 + setLocalStorageOffNarcosisIds() { + localStorage.setItem('offNarcosisIds', JSON.stringify(offNarcosisIds)) + }, + // 鍗搁夯閫氱煡纭 + offNarcosisNoticeConfirm() { + if (this.occupyInfoView) { + if (offNarcosisIds && offNarcosisIds.length) { + var flag = offNarcosisIds.find((o) => { return o === this.occupyInfoView.userId }) + if (!flag) { + offNarcosisIds.push(this.occupyInfoView.userId) + } + } else if (offNarcosisIds) { + offNarcosisIds.push(this.occupyInfoView.userId) + } + this.setLocalStorageOffNarcosisIds() + } + isOffNarcosisShow = true + localStorage.setItem('isOffNarcosisShow', true) + }, + // 鏄剧ず閫氱煡鍗搁夯寮圭獥 + showOffNarcosisNotice() { + // 鎵撳紑寮圭獥 + this.$refs['XioRoomOffNarcosisNotice'].showDialog() + }, + // 鐐瑰嚮鏄剧ず闅愯棌绉拌皳 + tapAppellationHandle() { + this.isShowAppellationName = !this.isShowAppellationName + }, // 鑾峰彇褰撳墠娌荤枟淇℃伅 gatCurTreatInfo() { if (this.assignTreatList && this.assignTreatList.length) { - return this.assignTreatList.find((o) => {return o.id === this.curTreatId}) + return this.assignTreatList.find((o) => { return o.id === this.curTreatId }) } + }, + // 鍒锋柊娴忚鍣ㄩ〉闈� + resetPage() { + window.location.reload() }, // 鑾峰彇鎴块棿璇︽儏 getData() { @@ -321,7 +392,7 @@ data: { roomInfo: { roomNo: 'xx', - status: 0 // 0绌洪棽 1浣跨敤 2浼戞伅 3鎵撴壂 + status: 0 // 0绌洪棽 1浣跨敤 2浼戞伅 3鎵撴壂 4 鏁烽夯涓� }, assignTreatList: [{ startTime: '2023-12-08 00:00:00' @@ -336,7 +407,12 @@ res.data.assignTreatList.forEach((o) => { var st = (o.startTime).split(' ')[1].split(':') o.startTime = `${st[0]}:${st[1]}` + o.appellationName = o.userName[0] + `${o.gender ? ['濂冲+', '鍏堢敓', '濂冲+'][o.gender] : '濂冲+'}` }) + } + // 宸插崰鐢ㄧ敤鎴锋暟鎹鐞� + if (res.data.occupyInfo && res.data.occupyInfo.userName) { + res.data.occupyInfo.appellationName = res.data.occupyInfo.userName[0] + `${res.data.occupyInfo.gender ? ['濂冲+', '鍏堢敓', '濂冲+'][res.data.occupyInfo.gender] : '濂冲+'}` } // 宸叉湁鍗犵敤鐨勶紝鏇存敼宸蹭娇鐢ㄩ粯璁ゅ浜虹殑鐘舵�� res.data.occupyInfo && (isUseDefaultChg = 1) @@ -351,6 +427,20 @@ } } // console.log('999999999999999999999999999', res) + var offNarcosisTimer = null + offNarcosisTimer = setTimeout(() => { + console.log('================================>', this.occupyInfoView, 'offNarcosisIds:', offNarcosisIds, 'isOffNarcosisShow:', isOffNarcosisShow) + if (this.occupyInfoView && this.occupyInfoView.hempStatus === 2 && this.occupyInfoView.userId) { + var flag + offNarcosisIds && offNarcosisIds.length && (flag = offNarcosisIds.find((o) => { return o === this.occupyInfoView.userId })) + // flag = isOffNarcosisShow + if (!flag) { + this.showOffNarcosisNotice() + } + } + clearTimeout(offNarcosisTimer) + offNarcosisTimer = null + }, 500) }) }, // 杩斿洖 @@ -433,6 +523,7 @@ // 閲嶇疆榛樿宸蹭娇鐢ㄥ浜虹殑鍙傛暟 isUseDefault = false isUseDefaultChg = 0 + this.isShowAppellationName = true } // console.log('8888888888888888888888888888888888', res) cb && cb() @@ -603,6 +694,16 @@ margin-top: 163px; } .page_container .main .room_left_btn_box__item { + width: 500px; + height: 150px; + line-height: 73px; + border-radius: 10px; + font-size: 50px; + text-align: center; + margin: auto; +} +.page_container .main .room_left_btn_box__item.flex-1 { + width: auto; height: 150px; line-height: 58px; border-radius: 10px; @@ -612,9 +713,9 @@ margin-right: 20px; font-weight: bold; } -.page_container .main .room_left_btn_box__item:last-child { +/* .page_container .main .room_left_btn_box__item:last-child { margin-right: 0; -} +} */ .page_container .main .room_left_btn_box__item.yellow { color: rgba(255,255,255,1); background-color: rgba(233,157,66,1); @@ -624,15 +725,12 @@ color: rgba(79,79,79,1); } .page_container .main .room_left_btn_box__item.green { - width: 500px; - height: 150px; - line-height: 73px; - border-radius: 10px; background-color: rgba(47,174,206,1); color: rgba(255,255,255,1); - font-size: 50px; - text-align: center; - margin: auto; +} +.page_container .main .room_left_btn_box__item.b-green { + background-color: rgba(79,167,114,1); + color: rgba(255,255,255,1); } .page_container .main .room_content { margin-top: 30px; @@ -655,6 +753,18 @@ .page_container .main .room_content .name .tx { max-width: 666px; margin: auto; + text-align: center; +} +.page_container .main .room_content .name_icon { + width: 40px; + height: 40px; + display: block; + margin-top: 13px; + padding: 20px; +} +.page_container .main .room_content .name_icon .img { + width: 100%; + height: 100%; } .page_container .main .room_content .ciq { line-height: 42px; -- Gitblit v1.8.0