|
@ -2,9 +2,9 @@ |
|
|
<view class="switch-manage"> |
|
|
<view class="switch-manage"> |
|
|
<store-name></store-name> |
|
|
<store-name></store-name> |
|
|
<view class="sm-tit">{{pageInfo.name || '-'}}</view> |
|
|
<view class="sm-tit">{{pageInfo.name || '-'}}</view> |
|
|
<view class="sm-tip" v-if="pageInfo.longOpenName">*长开表示不再被系统智能控制,只有手动关闭后才会被智能控制。请谨慎操作。</view> |
|
|
|
|
|
|
|
|
<view class="sm-tip" v-if="pageInfo.longOpenName"><text>*</text>长开表示不再被系统智能控制,只有手动关闭后才会被智能控制。请谨慎操作。</view> |
|
|
<view class="sm-list"> |
|
|
<view class="sm-list"> |
|
|
<view class="sl-item" v-for="(e, i) in deviceList" :key="i" :style="{width:getViewWidth()}"> |
|
|
|
|
|
|
|
|
<view v-for="(e, i) in deviceList" :key="i" :class="[ 'sl-item', pageInfo.iconNum<=2?'sl-limit':'' ]"> |
|
|
|
|
|
|
|
|
<view class="si-top" > |
|
|
<view class="si-top" > |
|
|
<image mode="aspectFit" :src="getIcon()" ></image> |
|
|
<image mode="aspectFit" :src="getIcon()" ></image> |
|
@ -25,23 +25,31 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 不同设备的可操作按钮区分,目前无明显规律,so 按需求单独 if 判断 --> |
|
|
<!-- 不同设备的可操作按钮区分,目前无明显规律,so 按需求单独 if 判断 --> |
|
|
<view class="si-bottom" v-if="pageInfo.isOpen || pageInfo.isClose || pageInfo.isDetail||pageInfo.isTiming"> |
|
|
|
|
|
<view v-if="pageInfo.isOpen" @click="operateBtn({ switchInfo: e, status: 1 })" :style="{width:getIconWidth()}"> |
|
|
|
|
|
|
|
|
<view class="si-bottom" v-if="pageInfo.isOpen || pageInfo.isClose || pageInfo.isDetail||pageInfo.isTiming || pageInfo.isElectrify || pageInfo.isOutage"> |
|
|
|
|
|
<view v-if="pageInfo.isOpen" @click="operateBtn({ switchInfo: e, status: 1 })"> |
|
|
<image mode="aspectFit" :src="pageInfo.openIcon || ''"></image> |
|
|
<image mode="aspectFit" :src="pageInfo.openIcon || ''"></image> |
|
|
<view>{{pageInfo.openName || '-'}}</view> |
|
|
<view>{{pageInfo.openName || '-'}}</view> |
|
|
</view> |
|
|
</view> |
|
|
<view v-if="pageInfo.isClose" @click="operateBtn({ switchInfo: e, status: 0 })" :style="{width:getIconWidth()}"> |
|
|
|
|
|
|
|
|
<view v-if="pageInfo.isClose" @click="operateBtn({ switchInfo: e, status: 0 })"> |
|
|
<image mode="aspectFit" :src="pageInfo.closeIcon || ''"></image> |
|
|
<image mode="aspectFit" :src="pageInfo.closeIcon || ''"></image> |
|
|
<view>{{pageInfo.closeName || '-'}}</view> |
|
|
<view>{{pageInfo.closeName || '-'}}</view> |
|
|
</view> |
|
|
</view> |
|
|
<view v-if="pageInfo.isLongOpen" @click="operateBtn({ switchInfo: e, status: 2 })" :style="{width:getIconWidth()}"> |
|
|
|
|
|
|
|
|
<view v-if="pageInfo.isLongOpen" @click="operateBtn({ switchInfo: e, status: 2 })"> |
|
|
<image mode="aspectFit" :src="pageInfo.longOpenIcon || ''"></image> |
|
|
<image mode="aspectFit" :src="pageInfo.longOpenIcon || ''"></image> |
|
|
<view>{{pageInfo.longOpenName || '-'}}</view> |
|
|
<view>{{pageInfo.longOpenName || '-'}}</view> |
|
|
</view> |
|
|
</view> |
|
|
<view v-if="pageInfo.isTiming" @click="operateBtn({ switchInfo: e, status: 3 })" :style="{width:getIconWidth()}"> |
|
|
|
|
|
|
|
|
<view v-if="pageInfo.isTiming" @click="operateBtn({ switchInfo: e, status: 3 })"> |
|
|
<image mode="aspectFit" :src="pageInfo.timingIcon || ''"></image> |
|
|
<image mode="aspectFit" :src="pageInfo.timingIcon || ''"></image> |
|
|
<view>{{pageInfo.timingName || '-'}}</view> |
|
|
<view>{{pageInfo.timingName || '-'}}</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view v-if="pageInfo.isElectrify" @click="operateBtn({ switchInfo: e, status: 5 })"> |
|
|
|
|
|
<image mode="aspectFit" :src="pageInfo.electrifyIcon || ''"></image> |
|
|
|
|
|
<view>{{pageInfo.electrifyName || '-'}}</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view v-if="pageInfo.isOutage" @click="operateBtn({ switchInfo: e, status: 6 })"> |
|
|
|
|
|
<image mode="aspectFit" :src="pageInfo.outageIcon || ''"></image> |
|
|
|
|
|
<view>{{pageInfo.outageName || '-'}}</view> |
|
|
|
|
|
</view> |
|
|
<view v-if="pageInfo.isDetail" @click="operateBtn({ switchInfo: e, status: 4 })" class="btn-detail"> |
|
|
<view v-if="pageInfo.isDetail" @click="operateBtn({ switchInfo: e, status: 4 })" class="btn-detail"> |
|
|
<view >{{pageInfo.detailName || '-'}}</view> |
|
|
<view >{{pageInfo.detailName || '-'}}</view> |
|
|
</view> |
|
|
</view> |
|
@ -76,9 +84,7 @@ export default { |
|
|
curStoreInfo: state => state.device.curStoreInfo, |
|
|
curStoreInfo: state => state.device.curStoreInfo, |
|
|
}), |
|
|
}), |
|
|
getIconWidth(){//计算操作icon的宽度 |
|
|
getIconWidth(){//计算操作icon的宽度 |
|
|
return ()=>{ |
|
|
|
|
|
return 100/this.pageInfo.iconNum+'%' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return '' |
|
|
}, |
|
|
}, |
|
|
getLotStatus(){//sim卡状态, 0 : 华为文档中没有 |
|
|
getLotStatus(){//sim卡状态, 0 : 华为文档中没有 |
|
|
return (e)=>{ |
|
|
return (e)=>{ |
|
@ -107,29 +113,42 @@ export default { |
|
|
deviceList: [], |
|
|
deviceList: [], |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
/** |
|
|
|
|
|
* |
|
|
|
|
|
* @param {Object} options |
|
|
|
|
|
* @param {Object} options.sid // 设备 id |
|
|
|
|
|
* @param {Object} options.stadium_id // 店铺 id |
|
|
|
|
|
*/ |
|
|
onLoad(options){ |
|
|
onLoad(options){ |
|
|
let _pageInfo = getShowArr(`s${options.sid}`) || {}; |
|
|
let _pageInfo = getShowArr(`s${options.sid}`) || {}; |
|
|
this.pageInfo = _pageInfo; |
|
|
this.pageInfo = _pageInfo; |
|
|
uni.setNavigationBarTitle({ title: _pageInfo.name }); |
|
|
uni.setNavigationBarTitle({ title: _pageInfo.name }); |
|
|
|
|
|
|
|
|
this.getDeviceList({ |
|
|
this.getDeviceList({ |
|
|
stadium_id: this.curStoreInfo.id, |
|
|
|
|
|
hardware_type: this.pageInfo.hardware_type |
|
|
|
|
|
|
|
|
stadium_id: options.stadium_id || this.curStoreInfo.id, |
|
|
|
|
|
hardware_type: _pageInfo.hardware_type |
|
|
}) |
|
|
}) |
|
|
|
|
|
setTimeout(_=>{ |
|
|
|
|
|
this.$nextTick(_=>{ |
|
|
|
|
|
uni.createSelectorQuery().selectAll(".si-bottom > view") |
|
|
|
|
|
.boundingClientRect(data => { |
|
|
|
|
|
console.warn('createSelectorQuery', data) |
|
|
|
|
|
}).exec(); |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
}, 1000) |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
isDetailBtn(e){ |
|
|
isDetailBtn(e){ |
|
|
if(e&&e.toString() === "[object Object]"){ |
|
|
if(e&&e.toString() === "[object Object]"){ |
|
|
return e.hardware_model == 'XiaoHuiXiong' |
|
|
|
|
|
|
|
|
return e.hardware_model == 'XiaoHuiXiong' && e.hardware_type === 'Air'; |
|
|
} |
|
|
} |
|
|
return false; |
|
|
return false; |
|
|
}, |
|
|
}, |
|
|
toDeviceDetail(e){ |
|
|
toDeviceDetail(e){ |
|
|
console.warn(e); |
|
|
|
|
|
console.warn(this.getSwitchStatusQuery(e)); |
|
|
|
|
|
let _queryObj = this.getSwitchStatusQuery(e) || {}; |
|
|
let _queryObj = this.getSwitchStatusQuery(e) || {}; |
|
|
if(!_queryObj.data || !_queryObj.data.name || !_queryObj.data.value)return; |
|
|
|
|
|
_queryObj.data.value&&_queryObj.data.value.op&&(_queryObj.data.value.op = 'info'); |
|
|
|
|
|
|
|
|
if(!_queryObj?.data?.name || !_queryObj?.data?.value)return; |
|
|
|
|
|
_queryObj?.data?.value?.op&&(_queryObj.data.value.op = 'info'); |
|
|
let _qrStr = util.jsonStr(_queryObj); |
|
|
let _qrStr = util.jsonStr(_queryObj); |
|
|
if(e.hardware_type == "Air")return util.routeTo(`/subpackage/device/pages/air_conditioner/detail/detail?qrstr=${_qrStr}&name=${e.hardware_name || '-'}`, 'nT'); |
|
|
if(e.hardware_type == "Air")return util.routeTo(`/subpackage/device/pages/air_conditioner/detail/detail?qrstr=${_qrStr}&name=${e.hardware_name || '-'}`, 'nT'); |
|
|
}, |
|
|
}, |
|
@ -230,7 +249,9 @@ export default { |
|
|
// 20220507 门闸 GateControl 要是 hardware_mac_addr 不为空 device_name 替换成 hardware_mac_addr |
|
|
// 20220507 门闸 GateControl 要是 hardware_mac_addr 不为空 device_name 替换成 hardware_mac_addr |
|
|
// 另外多做一步 传多一个 "hardware_id":id 给我 |
|
|
// 另外多做一步 传多一个 "hardware_id":id 给我 |
|
|
if(switchInfo.hardware_type === 'GateControl'&&!!switchInfo.hardware_mac_addr)_data['device'] = switchInfo.hardware_mac_addr; |
|
|
if(switchInfo.hardware_type === 'GateControl'&&!!switchInfo.hardware_mac_addr)_data['device'] = switchInfo.hardware_mac_addr; |
|
|
// if(switchInfo.hardware_type === 'GateControl')_data['hardware_id'] = switchInfo.id; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 20230815 id1001355 后端: 门闸仅限于gate-switch |
|
|
|
|
|
if(switchInfo.hardware_type === 'GateControl'&&_data?.data?.name === 'gate-switch')_data['device'] = switchInfo?.extension?.switch_device_name || ''; |
|
|
|
|
|
|
|
|
return _data; |
|
|
return _data; |
|
|
}, |
|
|
}, |
|
@ -247,7 +268,11 @@ export default { |
|
|
if(res.data.code == 0){ |
|
|
if(res.data.code == 0){ |
|
|
if(isTip)util.showNone(res.data.message || '操作成功!'); |
|
|
if(isTip)util.showNone(res.data.message || '操作成功!'); |
|
|
}else{ |
|
|
}else{ |
|
|
if(isTip)util.showNone(res.data.message || '操作失败!'); |
|
|
|
|
|
|
|
|
if(isTip)util.showModal({ |
|
|
|
|
|
title: '提示', |
|
|
|
|
|
content: res.data.message || '操作失败!', |
|
|
|
|
|
showCancel: false |
|
|
|
|
|
}) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err=>{if(isLoad)util.hideLoad()}) |
|
|
.catch(err=>{if(isLoad)util.hideLoad()}) |
|
@ -258,7 +283,7 @@ export default { |
|
|
// 进出控制ID |进入-> enter_id 离开-> leave_id| |
|
|
// 进出控制ID |进入-> enter_id 离开-> leave_id| |
|
|
let _cid = status === 1 ? enter_id : |
|
|
let _cid = status === 1 ? enter_id : |
|
|
status === 0 ? leave_id : ''; |
|
|
status === 0 ? leave_id : ''; |
|
|
return { |
|
|
|
|
|
|
|
|
let _data = { |
|
|
// hardware_id: switchInfo.id, |
|
|
// hardware_id: switchInfo.id, |
|
|
name: 'gate', |
|
|
name: 'gate', |
|
|
value: { |
|
|
value: { |
|
@ -268,6 +293,12 @@ export default { |
|
|
is_delay: true, |
|
|
is_delay: true, |
|
|
queue_group: 'gate' |
|
|
queue_group: 'gate' |
|
|
} |
|
|
} |
|
|
|
|
|
// 20230731 门闸新增通电、断电 【id1001350】 |
|
|
|
|
|
if(status === 5 || status === 6){ |
|
|
|
|
|
_data['name'] = 'gate-switch'; |
|
|
|
|
|
_data['value']['op'] = status === 5 ? 'on' : 'off'; |
|
|
|
|
|
} |
|
|
|
|
|
return _data |
|
|
}, |
|
|
}, |
|
|
// |
|
|
// |
|
|
refreshStatusBtn: util.debounce(function({switchInfo, index}){ |
|
|
refreshStatusBtn: util.debounce(function({switchInfo, index}){ |
|
@ -490,26 +521,33 @@ function getShowArr(key){ |
|
|
id: 4, name: '门禁管理', isOpen: true, isClose: false, |
|
|
id: 4, name: '门禁管理', isOpen: true, isClose: false, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关', hardware_type: 'AccessControl',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关', hardware_type: 'AccessControl',iconNum: 1 |
|
|
}, |
|
|
}, |
|
|
's5': { |
|
|
's5': { |
|
|
id: 5, name: '门闸管理', isOpen: true, isClose: true, |
|
|
|
|
|
|
|
|
id: 5, name: '门闸管理', isOpen: true, isClose: true, isElectrify: true, isOutage: true, |
|
|
|
|
|
hardware_type: 'GateControl',iconNum: 4, |
|
|
openIcon: '/subpackage/device/static/images/in.png', |
|
|
openIcon: '/subpackage/device/static/images/in.png', |
|
|
|
|
|
openName: '进', |
|
|
closeIcon: '/subpackage/device/static/images/out.png', |
|
|
closeIcon: '/subpackage/device/static/images/out.png', |
|
|
openName: '进', closeName: '出', hardware_type: 'GateControl',iconNum:2 |
|
|
|
|
|
|
|
|
closeName: '出', |
|
|
|
|
|
electrifyIcon: '/subpackage/device/static/images/electrify.png', |
|
|
|
|
|
electrifyName: '通电', |
|
|
|
|
|
outageIcon: '/subpackage/device/static/images/outage.png', |
|
|
|
|
|
outageName: '断电', |
|
|
}, |
|
|
}, |
|
|
's6': {//TODO 等待接口 |
|
|
's6': {//TODO 等待接口 |
|
|
id: 6, name: '平板管理', isOpen: false, isClose: false, |
|
|
id: 6, name: '平板管理', isOpen: false, isClose: false, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关', hardware_type: 'Router4G',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关', hardware_type: 'Router4G',iconNum:1 |
|
|
}, |
|
|
}, |
|
|
's11': { |
|
|
's11': { |
|
|
id: 11, name: '水阀管理', isOpen: true, isClose: true,isLongOpen:true, isTiming:true, |
|
|
id: 11, name: '水阀管理', isOpen: true, isClose: true,isLongOpen:true, isTiming:true, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
longOpenIcon: '/subpackage/device/static/images/longOpen.png',timingIcon: '/subpackage/device/static/images/timing.png', |
|
|
|
|
|
openName: '开', closeName: '关', hardware_type: 'WaterValve',longOpenName: '长开', timingName: '定时',iconNum:4, |
|
|
|
|
|
|
|
|
longOpenIcon: '/subpackage/device/static/images/longOpen.png', |
|
|
|
|
|
timingIcon: '/subpackage/device/static/images/timing.png', |
|
|
|
|
|
openName: '开', closeName: '关', hardware_type: 'WaterValve',longOpenName: '长开', timingName: '定时',iconNum:4, |
|
|
}, |
|
|
}, |
|
|
's12': { |
|
|
's12': { |
|
|
id: 12, name: '互动设备管理', isOpen: true, isClose: true, |
|
|
id: 12, name: '互动设备管理', isOpen: true, isClose: true, |
|
@ -521,25 +559,25 @@ function getShowArr(key){ |
|
|
id: 13, name: '监控管理', isOpen: false, isClose: false, isDetail:true, |
|
|
id: 13, name: '监控管理', isOpen: false, isClose: false, isDetail:true, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'IotSim',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'IotSim',iconNum:1 |
|
|
}, |
|
|
}, |
|
|
's17': {//TODO 等待接口 |
|
|
's17': {//TODO 等待接口 |
|
|
id: 17, name: '窗帘管理', isOpen: false, isClose: false, isDetail:true, |
|
|
id: 17, name: '窗帘管理', isOpen: false, isClose: false, isDetail:true, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'Router4G',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'Router4G',iconNum:1 |
|
|
}, |
|
|
}, |
|
|
's18': { |
|
|
's18': { |
|
|
id: 18, name: '路由器管理', isOpen: false, isClose: false, isDetail:true, |
|
|
id: 18, name: '路由器管理', isOpen: false, isClose: false, isDetail:true, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'Router4G',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'Router4G',iconNum:1 |
|
|
}, |
|
|
}, |
|
|
's19': { |
|
|
's19': { |
|
|
id: 19, name: '物联卡管理', isOpen: false, isClose: false, isDetail:true, |
|
|
id: 19, name: '物联卡管理', isOpen: false, isClose: false, isDetail:true, |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
openIcon: '/subpackage/device/static/images/open.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
closeIcon: '/subpackage/device/static/images/close.png', |
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'IotSim',iconNum:2 |
|
|
|
|
|
|
|
|
openName: '开', closeName: '关',detailName:"详情", hardware_type: 'IotSim',iconNum:1 |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -550,6 +588,20 @@ function getShowArr(key){ |
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
<style lang="scss"> |
|
|
@import '~style/public.scss'; |
|
|
@import '~style/public.scss'; |
|
|
|
|
|
page{ |
|
|
|
|
|
&::after{ |
|
|
|
|
|
content: ''; |
|
|
|
|
|
display: block; |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
top: 0; |
|
|
|
|
|
left: 0; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 100%; |
|
|
|
|
|
background: url(../../static/images/page_bg.jpg) repeat-y; |
|
|
|
|
|
background-size: 100%; |
|
|
|
|
|
z-index: -1; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
.sm-tit{ |
|
|
.sm-tit{ |
|
|
padding-left: 40upx; |
|
|
padding-left: 40upx; |
|
|
padding-top: 52upx; |
|
|
padding-top: 52upx; |
|
@ -557,13 +609,17 @@ function getShowArr(key){ |
|
|
line-height: 60upx; |
|
|
line-height: 60upx; |
|
|
font-size: 44upx; |
|
|
font-size: 44upx; |
|
|
font-weight: 500; |
|
|
font-weight: 500; |
|
|
color: #333; |
|
|
|
|
|
|
|
|
color: #1A1A1A; |
|
|
|
|
|
@include textHide(1); |
|
|
} |
|
|
} |
|
|
.sm-tip{ |
|
|
.sm-tip{ |
|
|
padding: 0 40upx; |
|
|
padding: 0 40upx; |
|
|
font-size: 28upx; |
|
|
font-size: 28upx; |
|
|
color: #979797; |
|
|
|
|
|
|
|
|
color: #fff; |
|
|
margin-bottom: 24upx; |
|
|
margin-bottom: 24upx; |
|
|
|
|
|
>text{ |
|
|
|
|
|
color: #EA5061; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
.sm-list{ |
|
|
.sm-list{ |
|
|
padding: 0 32upx; |
|
|
padding: 0 32upx; |
|
@ -571,10 +627,16 @@ function getShowArr(key){ |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
flex-wrap: wrap ; |
|
|
flex-wrap: wrap ; |
|
|
.sl-item{ |
|
|
.sl-item{ |
|
|
|
|
|
flex-grow: 1; |
|
|
margin-bottom: 30upx; |
|
|
margin-bottom: 30upx; |
|
|
width: 328upx; |
|
|
|
|
|
border-radius: 10upx; |
|
|
border-radius: 10upx; |
|
|
background-color: #fff; |
|
|
|
|
|
|
|
|
border: .5px solid #fff; |
|
|
|
|
|
box-shadow: 0 4upx 12upx 0 #00987454, inset 0 0 40upx 0 #ffffff80; |
|
|
|
|
|
background-image: linear-gradient(180deg, #eff6f44d 0%, #FFFFFF 100%); |
|
|
|
|
|
&.sl-limit{ |
|
|
|
|
|
flex-grow: 0; |
|
|
|
|
|
width: 328upx !important; |
|
|
|
|
|
} |
|
|
.si-top{ |
|
|
.si-top{ |
|
|
padding: 20upx 20upx 30upx; |
|
|
padding: 20upx 20upx 30upx; |
|
|
display: flex; |
|
|
display: flex; |
|
@ -592,12 +654,12 @@ function getShowArr(key){ |
|
|
margin-bottom: 8upx; |
|
|
margin-bottom: 8upx; |
|
|
line-height: 44upx; |
|
|
line-height: 44upx; |
|
|
font-size: 32upx; |
|
|
font-size: 32upx; |
|
|
color: #333; |
|
|
|
|
|
|
|
|
color: #1A1A1A; |
|
|
@include textHide(1); |
|
|
@include textHide(1); |
|
|
} |
|
|
} |
|
|
.sr-bot-router{ |
|
|
.sr-bot-router{ |
|
|
font-size: 20rpx; |
|
|
font-size: 20rpx; |
|
|
color: #9C9C9F; |
|
|
|
|
|
|
|
|
color: #fff; |
|
|
text{ |
|
|
text{ |
|
|
margin-left: 15rpx; |
|
|
margin-left: 15rpx; |
|
|
color: black; |
|
|
color: black; |
|
@ -646,12 +708,11 @@ function getShowArr(key){ |
|
|
padding-bottom: 30upx; |
|
|
padding-bottom: 30upx; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
|
border-top: 2upx solid #F2F2F7; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
border-top: .5px solid #fff; |
|
|
>view{ |
|
|
>view{ |
|
|
flex-shrink: 0; |
|
|
flex-shrink: 0; |
|
|
flex-grow: 0; |
|
|
flex-grow: 0; |
|
|
width: 50%; |
|
|
|
|
|
|
|
|
padding: 0 30upx; |
|
|
>image{ |
|
|
>image{ |
|
|
display: block; |
|
|
display: block; |
|
|
margin: 0 auto 20upx; |
|
|
margin: 0 auto 20upx; |
|
@ -668,13 +729,15 @@ function getShowArr(key){ |
|
|
.btn-detail{ |
|
|
.btn-detail{ |
|
|
width:auto; |
|
|
width:auto; |
|
|
> view{ |
|
|
> view{ |
|
|
|
|
|
margin: 30upx 0; |
|
|
width: 204rpx; |
|
|
width: 204rpx; |
|
|
height: 88rpx; |
|
|
height: 88rpx; |
|
|
background: #009874; |
|
|
background: #009874; |
|
|
border-radius: 10rpx; |
|
|
border-radius: 10rpx; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
line-height: 88rpx; |
|
|
line-height: 88rpx; |
|
|
color: white; |
|
|
|
|
|
|
|
|
color: #fff; |
|
|
|
|
|
font-size: 32upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
@ -684,8 +747,8 @@ function getShowArr(key){ |
|
|
line-height: 82upx; |
|
|
line-height: 82upx; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
font-size: 28upx; |
|
|
font-size: 28upx; |
|
|
color: #333; |
|
|
|
|
|
border-top: 2upx solid #F2F2F7; |
|
|
|
|
|
|
|
|
color: #1A1A1A; |
|
|
|
|
|
border-top: .5px solid rgba($color: #82D7C1, $alpha: .50); |
|
|
>image{ |
|
|
>image{ |
|
|
margin-left: 10upx; |
|
|
margin-left: 10upx; |
|
|
width: 24upx; |
|
|
width: 24upx; |
|
|