Commit 9823bb44 authored by 成旭东's avatar 成旭东

开盘信息 历史开盘信息展示

parent c811277f
Pipeline #27852 passed with stage
in 3 minutes 11 seconds
...@@ -32,11 +32,6 @@ ...@@ -32,11 +32,6 @@
"test:component": "umi test ./src/components", "test:component": "umi test ./src/components",
"tsc": "tsc" "tsc": "tsc"
}, },
"husky": {
"hooks": {
"pre-commit": "npm run lint-staged"
}
},
"lint-staged": { "lint-staged": {
"**/*.less": "stylelint --syntax less", "**/*.less": "stylelint --syntax less",
"**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js",
......
...@@ -432,10 +432,55 @@ const BusinessOpenInfoComponent = (props: any) => { ...@@ -432,10 +432,55 @@ const BusinessOpenInfoComponent = (props: any) => {
<Collapse accordion expandIconPosition="right"> <Collapse accordion expandIconPosition="right">
{historyOpenInfo.map((item: any, index: any) => ( {historyOpenInfo.map((item: any, index: any) => (
<Panel header={renderPanel(item)} key={index}> <Panel header={renderPanel(item)} key={index}>
<div> <div style={{ width: 600 }}>
<div>
<span>装修情况:</span> <div style={{ fontSize: 18, fontWeight: 'bold' }}>街区/底商信息</div>
<span>{item.fitment ? '是' : '否'}</span> <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.businessGroundDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>独栋商业信息</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.businessSingleDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>集中商业信息</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.businessCentralizedDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>业态规划图及销售铺型位置图</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{item.infoImage.map((mapItem: any, mapIndex: any) => (
<div className={styles.openInfoPanelImg} key={mapIndex} style={{ marginRight: 10, width: '100px', height: '100px', background: `url(${mapItem.image_url}) no-repeat` }} />
))}
</div> </div>
</div> </div>
</Panel> </Panel>
......
export default { export default {
houseOpenInfoMap: [{
name: '装修情况(是否精装)',
key: 'fitment',
component: 'select',
options: [{
key: 1,
value: '是',
}, {
key: 0,
value: '否',
}]
}, {
name: '本期均价/m²',
key: 'list_price',
component: 'inputNumber'
}, {
name: '取证时间(审批通过时间)',
key: 'license_date',
component: 'date'
}, {
name: '预售户数',
key: 'housenum',
component: 'inputNumber'
}, {
name: '现/预售证号',
key: 'code',
component: 'input'
}, {
name: '主力户型(户型区间)',
key: 'house_area_range',
component: 'input'
}, {
name: '预售面积(登记面积)',
key: 'area',
component: 'inputNumber'
}, {
name: '建筑类别(建筑形态)',
key: 'building_type',
component: 'input'
}, {
name: '销售范围(预售范围)',
key: 'scope',
component: 'input'
}, {
name: '预计竣工时间',
key: 'compelete_date',
component: 'date'
}, {
name: '是否现房',
key: 'ifpresel',
component: 'select',
options: [{
key: '1',
value: '是',
}, {
key: '0',
value: '否',
}]
}],
houseLotteryMap: [[{
name: '房源数',
key: 'total_num',
component: 'inputNumber'
}, {
name: '全部报名人数',
key: 'total_lottery',
component: 'inputNumber'
}, {
name: '全部中签率',
key: 'total_rate',
component: 'inputNumber'
}], [{
name: '棚改房源',
key: 'shed_renovation_num',
component: 'inputNumber'
}, {
name: '棚改报名人数',
key: 'shed_renovation_lottery',
component: 'inputNumber'
}, {
name: '棚改中签率',
key: 'shed_renovation_rate',
component: 'inputNumber'
}], [{
name: '刚需房源',
key: 'rigid_demand_num',
component: 'inputNumber'
}, {
name: '刚需报名人数',
key: 'rigid_demand_lottery',
component: 'inputNumber'
}, {
name: '刚需中签率',
key: 'rigid_demand_rate',
component: 'inputNumber'
}], [{
name: '普通房源',
key: 'ordinary_num',
component: 'inputNumber'
}, {
name: '普通报名人数',
key: 'ordinary_lottery',
component: 'inputNumber'
}, {
name: '普通中签率',
key: 'ordinary_rate',
component: 'inputNumber'
}]],
businessGroundDataMap: [{ businessGroundDataMap: [{
name: '建筑面积', name: '建筑面积',
key: 'ground_area', key: 'ground_area',
......
...@@ -375,3 +375,7 @@ ...@@ -375,3 +375,7 @@
} }
} }
} }
.openInfoPanelImg {
background-size: 100% 100%!important;
}
...@@ -429,10 +429,55 @@ const OfficeOpenInfoComponent = (props: any) => { ...@@ -429,10 +429,55 @@ const OfficeOpenInfoComponent = (props: any) => {
<Collapse accordion expandIconPosition="right"> <Collapse accordion expandIconPosition="right">
{historyOpenInfo.map((item: any, index: any) => ( {historyOpenInfo.map((item: any, index: any) => (
<Panel header={renderPanel(item)} key={index}> <Panel header={renderPanel(item)} key={index}>
<div> <div style={{ width: 600 }}>
<div>
<span>装修情况:</span> <div style={{ fontSize: 18, fontWeight: 'bold' }}>SOHO信息</div>
<span>{item.fitment ? '是' : '否'}</span> <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.officeSohoDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>LOFT信息</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.officeLoftDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>OFFICE信息</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{configData.officeOfficeDataMap.map((mapItem: any, mapIndex: any) => (
<div key={mapIndex} style={{ marginRight: 20 }}>
<span style={{ marginRight: 10 }}>{ mapItem.name }:</span>
{mapItem.component === 'select' ? (
<span style={{ fontWeight: 'bold' }}>{ mapItem.options.filter((filterItem: any) => filterItem.key === item[mapItem.key])[0].value }</span>
) : (
<span style={{ fontWeight: 'bold' }}>{ item[mapItem.key] || '--' }</span>
)}
</div>
))}
</div>
<div style={{ fontSize: 18, fontWeight: 'bold', marginTop: 40 }}>业态规划图及销售铺型位置图</div>
<div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{item.infoImage.map((mapItem: any, mapIndex: any) => (
<div className={styles.openInfoPanelImg} key={mapIndex} style={{ marginRight: 10, width: '100px', height: '100px', background: `url(${mapItem.image_url}) no-repeat` }} />
))}
</div> </div>
</div> </div>
</Panel> </Panel>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment