src/components/xio_room_guest_info_box/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/config/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/room/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/jun_login.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/xio_room_guest_info_box/index.vue
@@ -34,14 +34,14 @@ <div v-if="occupyInfoView.ciq" class="ciq">({{ occupyInfoView.ciq }})</div> <div v-if="occupyInfoView.startTime" class="time">安排治疗时间:{{ occupyInfoView.startTime }} 开始</div> </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, occupyInfoView)">开始敷麻</div> <div v-show="roomInfo.status == 0" class="room_left_btn_box__item flex flex-1 flex-center green btn_ani" style="margin-right: 0;" @click="setStatus('使用中', 1, occupyInfoView)">开始治疗</div> <div v-show="roomInfo.status == 4" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('使用中', 1, occupyInfoView)">开始治疗</div> <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('客人休息', 2, occupyInfoView)">客人休息</div> <div v-show="roomInfo.status == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" style="margin-right: 0;" @click="setStatus('打扫中', 3, occupyInfoView)">通知打扫</div> <div v-show="roomInfo.status == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('打扫中', 3, occupyInfoView)">通知打扫</div> <div v-show="roomInfo.status == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('空闲', 0, occupyInfoView)">结束打扫</div> <div v-show="occupyInfoView" class="room_left_btn_box flex flex-ver" style="margin-top: 105px;"> <div v-show="occupyInfoView.treatRoomStatus == 0" class="room_left_btn_box__item flex flex-1 flex-center b-green btn_ani" @click="setStatus('敷麻中', 4, occupyInfoView)">开始敷麻</div> <div v-show="occupyInfoView.treatRoomStatus == 0" class="room_left_btn_box__item flex flex-1 flex-center green btn_ani" style="margin-right: 0;" @click="setStatus('使用中', 1, occupyInfoView)">开始治疗</div> <div v-show="occupyInfoView.treatRoomStatus == 4" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('使用中', 1, occupyInfoView)">开始治疗</div> <div v-show="occupyInfoView.treatRoomStatus == 1" class="room_left_btn_box__item flex-1 flex flex-center yellow btn_ani" @click="setStatus('客人休息', 2, occupyInfoView)">客人休息</div> <div v-show="occupyInfoView.treatRoomStatus == 1" class="room_left_btn_box__item flex-1 flex flex-center gray btn_ani" style="margin-right: 0;" @click="setStatus('打扫中', 3, occupyInfoView)">通知打扫</div> <div v-show="occupyInfoView.treatRoomStatus == 2" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('打扫中', 3, occupyInfoView)">通知打扫</div> <div v-show="occupyInfoView.treatRoomStatus == 3" class="room_left_btn_box__item flex flex-center green btn_ani" @click="setStatus('空闲', 0, occupyInfoView)">结束打扫</div> </div> <!-- MIC通知卸麻 --> <XioRoomOffNarcosisNotice ref="XioRoomOffNarcosisNotice" @confirm="offNarcosisNoticeConfirm" /> src/config/index.js
@@ -7,7 +7,7 @@ import appId from './appid.js' var ismock = 1// 虚拟数据 0不使用 1使用 var ismock = 0// 虚拟数据 0不使用 1使用 var istest = 2// 0线上 1本地 2测试环境 var isConsole = 1// 是否屏蔽console 0屏蔽 1开放 var debug = isConsole src/pages/room/detail.vue
@@ -87,7 +87,7 @@ <div v-if="occupyInfoViewArr && occupyInfoViewArr.length" class="page_container flex flex-1" :class="[occupyInfoViewArr && occupyInfoViewArr.length>1?'over-width':'']"> <div class="flex flex-1"> <div v-for="(item,index) in occupyInfoViewArr" :key="index" class="main flex-1"> <div v-if="occupyInfoViewArr.length>1" class="cancel_icon_block" @click="cancelCustomerItem(item)"> <div v-if="occupyInfoViewArr.length>1 && item.treatRoomStatus === 0" class="cancel_icon_block" @click="cancelCustomerItem(item)"> <img class="img" src="static/imgs/cancel.png"> </div> <XioRoomGuestInfoBox :ref="`XioRoomGuestInfoBox_${item.id}`" :room-info="roomInfo" :occupy-info-view="item" :off-narcosis-ids="offNarcosisIds" @setStatus="setComStatus" /> @@ -161,15 +161,11 @@ computed: { // 当前已选择用户的数组数据 occupyInfoViewArr() { // 缓存记录 if (this.curTreatIds && this.curTreatIds.length) { // todo 存在缓存且存在占用数据的时候,根据后端返回再补充逻辑 return this.getCurTreatArr(this.curTreatIds) if (this.occupyInfo && this.occupyInfo.length) { return this.occupyInfoViewArrIdsHandleArr() } else { // todo 存在占用数据的时候,根据后端返回再补充逻辑 if (this.occupyInfo) { this.occupyInfoViewArrIdsHandle(this.occupyInfo) return [this.occupyInfo] if (this.curTreatIds && this.curTreatIds.length) { return this.getCurTreatArr(this.curTreatIds) } else { if ((!isUseDefault || (isUseDefault && isUseDefaultChg === 0)) && this.assignTreatList && this.assignTreatList.length) { isUseDefault = true @@ -272,6 +268,32 @@ } this.curTreatIds.push(item.id) this.setLocalCurTreatIds() }, // 初始默认选择的id数组处理 occupyInfoViewArrIdsHandleArr() { if (!this.curTreatIds) { this.curTreatIds = [] } if (this.occupyInfo && this.occupyInfo.length === 1) { var res = [] res.push(this.occupyInfo[0]) if (this.curTreatIds && this.curTreatIds.length) { this.curTreatIds = this.curTreatIds.filter((o) => { return o !== this.occupyInfo[0].id }) if (this.assignTreatList && this.assignTreatList.length && this.curTreatIds && this.curTreatIds.length) { var curTreatItem = this.assignTreatList.find((o) => { return o.id === this.curTreatIds[0] }) if (curTreatItem) { res.push(curTreatItem) } } } this.setLocalCurTreatIds() return res } else if (this.occupyInfo && this.occupyInfo.length > 1) { this.occupyInfo.forEach((o) => { this.curTreatIds.push(o.id) }) return this.occupyInfo } }, // 设置已通知卸麻id数组 setLocalStorageOffNarcosisIds() { @@ -408,18 +430,17 @@ o.appellationName = o.userName[0] + `${o.gender ? ['女士', '先生', '女士'][o.gender] : '女士'}` }) } // todo 已占用用户数据处理,待后端修改再处理 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] : '女士'}` if (res.data.occupyInfo && res.data.occupyInfo.length) { res.data.occupyInfo.forEach((o) => { // 治疗时间处理 var st = (o.startTime).split(' ')[1].split(':') o.startTime = `${st[0]}:${st[1]}` // 称谓处理 o.appellationName = o.userName[0] + `${o.gender ? ['女士', '先生', '女士'][o.gender] : '女士'}` }) } // todo 已有占用的,更改已使用默认客人的状态 res.data.occupyInfo && (isUseDefaultChg = 1) res.data.occupyInfo && (isUseDefault = 1) // todo 占用信息治疗时间处理 if (res.data.occupyInfo && res.data.occupyInfo.startTime) { var ost = (res.data.occupyInfo.startTime).split(' ')[1].split(':') res.data.occupyInfo.startTime = `${ost[0]}:${ost[1]}` } res.data.occupyInfo && res.data.occupyInfo.length && (isUseDefaultChg = 1) res.data.occupyInfo && res.data.occupyInfo.length && (isUseDefault = 1) for (const key in res.data) { this[key] = res.data[key] } @@ -498,16 +519,62 @@ // 改变房间状态异步方法 changeStatusFn(item = {}, status, cb) { var params = {} // 更改的状态 params.status = status * 1 // 房间id if (this.id) { params.shopRoomId = this.id } // 治疗记录id // 治疗记录id this.curTreatIds occupyInfoViewArr // 1.使用中/敷麻中 敷麻中 2 人占用 // 2.使用中/使用中 使用中 2 人占用 // 3.使用中/休息中 使用中 1 人占用 var arr = JSON.parse(JSON.stringify(this.occupyInfoViewArr)) if (item && item.id) { params.treatRecordId = item.id if (arr && arr.length) { arr.forEach((o) => { if (o.id === item.id) { o.treatRoomStatus = status * 1 } }) // 是否有人使用中 var status_1 = arr.find((o) => { return o.treatRoomStatus === 1 }) // 是否有客人休息 var status_2 = arr.find((o) => { return o.treatRoomStatus === 2 }) // 是否有人打扫中 var status_3 = arr.find((o) => { return o.treatRoomStatus === 3 }) // 是否有人敷麻 var status_4 = arr.find((o) => { return o.treatRoomStatus === 4 }) // 更改的状态 敷麻中 > 使用中 > 休息中 > 待打扫 params.status = status * 1 if (status_3) { params.status = 3 } if (status_2) { params.status = 2 } if (status_1) { params.status = 1 } if (status_4) { params.status = 4 } } // 当前选择客户的数组删除客户 this.occupyInfoViewArrDataHandle('cancel', item) } else { // 更改的状态 params.status = status * 1 } params.treatRoomList = [] if (arr && arr.length) { arr.forEach((o) => { params.treatRoomList.push({ treatRecordId: o.id, status: o.treatRoomStatus }) }) } Req.http.post({ url: 'guide/treat/screen/room/status/update', data: params, @@ -523,12 +590,6 @@ console.log('在已有默认客人的情况下,改变状态更改标识') isUseDefaultChg = 1 } // 当前选中的用户房间更改了状态,已经成为占用时,清除选中医疗记录id // if (item && item.id && item.id === this.curTreatId) { // console.log('当前选中的用户房间更改了状态,已经成为占用时,清除选中医疗记录id') // localStorage.removeItem('curTreatId') // this.curTreatId = '' // } // 只要更改为空闲就重置参数 if (status === 0) { console.log('房间更改为空闲') @@ -536,12 +597,6 @@ isUseDefault = false isUseDefaultChg = 0 // this.isShowAppellationName = true } // todo 用户结束治疗后,将其从缓存中删除, 待测试 if (item && item.id && this.curTreatIds && this.curTreatIds.length && status === 0) { console.log('当前用户所在房间更改了状态为结束,清除当前的医疗记录id') // 当前选择客户的数组删除客户 this.occupyInfoViewArrDataHandle('cancel', item) } // console.log('8888888888888888888888888888888888', res) cb && cb() @@ -597,12 +652,12 @@ // 当前选择客户的数组增加客户 this.occupyInfoViewArrDataHandle('add', opt) // 重置房间状态 if (this.roomInfo) { this.changeStatusFn({}, 0, () => { // 刷新详情 this.getData() }) } // if (this.roomInfo) { // this.changeStatusFn({}, 0, () => { // // 刷新详情 // this.getData() // }) // } // 关闭弹窗 this.$refs['XioCustomerSelect'].hideDialog() }, @@ -625,6 +680,11 @@ // 缓存 this.setLocalCurTreatIds() } if (this.curTreatIds && !this.curTreatIds.length) { this.curTreatIds.push(item.id) // 缓存 this.setLocalCurTreatIds() } // 数组数据处理 // if (this.occupyInfoViewArr && this.occupyInfoViewArr.length) { // this.occupyInfoViewArr.push(item) src/utils/jun_login.js
@@ -9,35 +9,35 @@ import Config from '../config' // import { Message } from 'element-ui' let config = { // 登录请求接口链接 url: 'weixin!ajaxGetInfoByCode', // 2小时过期 expire: 7.2e6, const config = { // 登录请求接口链接 url: 'weixin!ajaxGetInfoByCode', // 2小时过期 expire: 7.2e6 } /** * 检查登录缓存过期,默认不过期 * @param {object} we_session 缓存对象 */ function checkExpire(we_session){ // if ((we_session && Date.now() >= we_session.expire) || !we_session) { // // 删除store缓存 // Store.commit('unLogined') // // wx.removeStorageSync('we_session') // localStorage.removeItem('we_session') // return true // } return false function checkExpire(we_session) { // if ((we_session && Date.now() >= we_session.expire) || !we_session) { // // 删除store缓存 // Store.commit('unLogined') // // wx.removeStorageSync('we_session') // localStorage.removeItem('we_session') // return true // } return false } /** * 进入微信长链,可获取code */ function toLongUrl () { // fn.urlReplace(Config.codeUrl) // location.href = Config.codeUrl location.href = Config.createCodeUrl() function toLongUrl() { // fn.urlReplace(Config.codeUrl) // location.href = Config.codeUrl location.href = Config.createCodeUrl() } /** @@ -46,80 +46,76 @@ * @param {boolean} option.force 是否强制重新登录 * @param {function} option.callback 登录成功后回调 */ function checkLogin(option={}){ loginReq(option).then(()=>{ if (typeof option.callback === 'function') { option.callback() } }) function checkLogin(option = {}) { loginReq(option).then(() => { if (typeof option.callback === 'function') { option.callback() } }) } /** * 登录请求 * @param {object} option * @param {object} option * @param {object} option.data 请求参数 */ function loginReq(option){ if (Config.ismock || Config.istest) { option.data.code = '011h5c000ySdaK1lbw000ubdtm2h5c00' } function loginReq(option) { if (Config.ismock || Config.istest) { option.data.code = '011h5c000ySdaK1lbw000ubdtm2h5c00' } return new Promise((resolve, reject)=>{ // 前置判断 let userData = Store.getters.getUserData if (userData.key) { resolve(userData) return } return new Promise((resolve, reject) => { // 前置判断 const userData = Store.getters.getUserData if (userData.key) { resolve(userData) return } if (!option || !option.data) { reject() console.error('调用loginReq,缺失 option') return } if (!option.data.code) { console.error('调用loginReq,缺失 code') reject() return } Req.http3.post({ url: config.url, data: option.data }).then((res)=>{ // 缓存key值 fn.setLocalStorage('we_session', { we_session: res.inf.key, expire: Date.now() + config.expire }) // 缓存用户数据 Store.commit('setUserData', res.inf) console.log(res.inf) if (!option || !option.data) { reject() console.error('调用loginReq,缺失 option') return } if (!option.data.code) { console.error('调用loginReq,缺失 code') reject() return } Req.http3.post({ url: config.url, data: option.data }).then((res) => { // 缓存key值 fn.setLocalStorage('we_session', { we_session: res.inf.key, expire: Date.now() + config.expire }) // 缓存用户数据 Store.commit('setUserData', res.inf) console.log(res.inf) // if (res.inf.name) { // Store.commit('setNickName', res.inf.name) // } // 处理登录完成 store // getUserInfo().then(_res=>{ // // Store.commit('setLogined', _res.inf) // resolve(res) // }) // Store.commit('setLogined') // if (res.inf.name) { // Store.commit('setNickName', res.inf.name) // } resolve(res) }).catch((res)=>{ console.log(res) reject(res) }) }) // 处理登录完成 store // getUserInfo().then(_res=>{ // // Store.commit('setLogined', _res.inf) // resolve(res) // }) // Store.commit('setLogined') resolve(res) }).catch((res) => { console.log(res) reject(res) }) }) } export default { checkLogin, loginReq, toLongUrl } checkLogin, loginReq, toLongUrl }