Browse Source

项目业务库

liting2017 6 years ago
parent
commit
0fa48ad5be

+ 5 - 5
README.md

@@ -1,11 +1,11 @@
 <!-- 项目生产环境打包 -->
     更改版本号
-    npm run dllpro
-    npm run pro
+        -- npm run dllpro
+        -- npm run pro
 
 <!-- 本地开发 -->
     请释放index.html中定义的全局变量 
     运行 
-        npm run build
-        npm run dev
-        loaclhost:8080
+        -- npm run dlldev 
+        -- npm run build
+        -- npm run dev

+ 2 - 0
js/admin/index/content.jsx

@@ -5,6 +5,7 @@ import AdmianIndex from '@/administration/index/index';
 import AchievementExamine from '@/administration/achievement/achievementExamine';
 import AchievementLibrary from '@/administration/achievement/techAchievement';
 import BusinessCategory from '@/administration/business/businessCategory';
+import BusinessLibrary from '@/administration/business/businessLibrary';
 import BusinessProject from '@/administration/business/businessProject';
 import News from '@/administration/news/newsList';
 import Policy from '@/administration/policy/policyList';
@@ -32,6 +33,7 @@ export default class ContentRouter extends React.Component {
             <Route path="/achievementLibrary" component={AchievementLibrary} />
             <Route path="/achievementExamine" component={AchievementExamine} />
             <Route path="/businessCategory" component={BusinessCategory} />
+            <Route path="/businessLibrary" component={BusinessLibrary} />
             <Route path="/businessProject" component={BusinessProject} />
             <Route path="/authLibrary" component={AuthLibrary} />
             <Route path="/authExamine" component={AuthExamine} />

+ 1 - 0
js/admin/menu.jsx

@@ -32,6 +32,7 @@ module.exports = {
         icon: 'wallet',
         children: [
           { name: '业务分类管理', url: 'businessCategory' },
+          { name: '项目业务库', url: 'businessLibrary' },
           { name: '业务发布审核', url: 'businessProject' },
         ]
       },

+ 4 - 4
js/component/account/business/businessDetails.jsx

@@ -216,7 +216,7 @@ const DemandDetail = Form.create()(
 									wrapperCol={{ span: 12 }}
 									label="市场价"
 								>
-									<span>{theData.price}万元</span>
+									<span>{theData.price?theData.price+' 万元':''}</span>
 								</FormItem>
 								<FormItem
 									className="half-item"
@@ -224,7 +224,7 @@ const DemandDetail = Form.create()(
 									wrapperCol={{ span: 12 }}
 									label="活动价"
 								>
-									<span>{theData.activityPrice}万元</span>
+									<span>{theData.activityPrice?theData.activityPrice+' 万元':''}</span>
 								</FormItem>
 								<FormItem
 									className="half-item"
@@ -232,7 +232,7 @@ const DemandDetail = Form.create()(
 									wrapperCol={{ span: 12 }}
 									label="最低折扣"
 								>
-									<span>{theData.offset} 万元</span>
+									<span>{theData.offset?theData.offset+' 万元':''}</span>
 								</FormItem>
 								<FormItem
 									className="half-item"
@@ -240,7 +240,7 @@ const DemandDetail = Form.create()(
 									wrapperCol={{ span: 12 }}
 									label="会员价"
 								>
-									<span>{theData.memberPrice} 万元</span>
+									<span>{theData.memberPrice?theData.memberPrice+' 万元':''}</span>
 								</FormItem>
 								<FormItem
 									className="half-item"

+ 3 - 3
js/component/account/business/businessProject.jsx

@@ -165,7 +165,7 @@ const BusinessProject = Form.create()(
 						}
 					},
 					{
-						title: '市场价',
+						title: '市场价(万元)',
 						dataIndex: 'price',
 						key: 'price'
 					},
@@ -175,12 +175,12 @@ const BusinessProject = Form.create()(
 						key: 'offset'
 					},
 					{
-						title: '会员价',
+						title: '会员价(万元)',
 						dataIndex: 'memberPrice',
 						key: 'memberPrice'
 					},
 					{
-						title: '活动价',
+						title: '活动价(万元)',
 						dataIndex: 'activityPrice',
 						key: 'activityPrice'
 					},

+ 699 - 0
js/component/administration/business/businessLibrary.jsx

@@ -0,0 +1,699 @@
+import React from 'react';
+import $ from 'jquery/src/ajax';
+import 'react-quill/dist/quill.bubble.css';
+import {
+	Form,
+	Icon,
+	Button,
+	Input,
+	Select,
+	Spin,
+	Table,
+	message,
+	DatePicker,
+	Modal,
+	Upload,
+	Popconfirm,
+	Cascader,
+	InputNumber,
+	Radio
+} from 'antd';
+import { getGameState, splitUrl, getprovince } from '@/tools.js';
+import { releaseStateList } from '@/dataDic.js';
+
+//图片组件
+const PicturesWall = React.createClass({
+	getInitialState() {
+		return {
+			previewVisible: false,
+			previewImage: '',
+			fileList: []
+		};
+	},
+	handleCancel() {
+		this.setState({ previewVisible: false });
+	},
+	handlePreview(file) {
+		this.setState({
+			previewImage: file.url || file.thumbUrl,
+			previewVisible: true
+		});
+	},
+	handleChange(info) {
+		let fileList = info.fileList;
+		this.setState({ fileList });
+		this.props.fileList(fileList);
+	},
+	componentWillReceiveProps(nextProps) {
+		this.state.fileList = nextProps.pictureUrl;
+	},
+	render() {
+		const { previewVisible, previewImage, fileList } = this.state;
+		const uploadButton = (
+			<div>
+				<Icon type="plus" />
+				<div className="ant-upload-text">点击上传</div>
+			</div>
+		);
+		return (
+			<div style={{ display: 'inline-block' }}>
+				<Upload
+					action={globalConfig.context + '/api/admin/jtBusiness/project/uploadPicture'}
+					data={{ sign: 'jt_project_picture' }}
+					listType="picture-card"
+					fileList={fileList}
+					onPreview={this.handlePreview}
+					onChange={this.handleChange}
+				>
+					{fileList.length >= 1 ? null : uploadButton}
+				</Upload>
+				<Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
+					<img alt="example" style={{ width: '100%' }} src={previewImage} />
+				</Modal>
+			</div>
+		);
+	}
+});
+//主体
+const BusinessProject = Form.create()(
+	React.createClass({
+		loadData(pageNo) {
+			this.state.data = [];
+			this.setState({
+				loading: true,
+				page: pageNo
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/portal/service/jtProject/list',
+				data: {
+					pageNo: pageNo || 1,
+					pageSize: this.state.pagination.pageSize,
+					topId: this.state.typeSearch? this.state.typeSearch[0]:'',
+					secondId:this.state.typeSearch?this.state.typeSearch[1]:'',
+					name: this.state.nameSearch,
+					privateProject: 1,
+					isHot:this.state.hotSearch,
+					auditStatus:this.state.stateSearch
+				},
+				success: function(data) {
+					let theArr = [];
+					if (!data.data || !data.data.list) {
+						if (data.error && data.error.length) {
+							message.warning(data.error[0].message);
+						}
+					} else {
+						for (let i = 0; i < data.data.list.length; i++) {
+							let thisdata = data.data.list[i],
+								ProvinceCityArr = [],
+								cname = '',
+								superName = '',
+								ProvinceS = thisdata.province, //getprovince
+								citys = thisdata.city,
+								Areas = thisdata.area;
+							ProvinceCityArr.push(ProvinceS, citys, Areas);
+							this.state.categoryList.map((item) => {
+								if (thisdata.categoryId == item.id) {
+									cname = item.name;
+									superName = item.superName;
+								}
+							});
+							theArr.push({
+								key: i,
+								id: thisdata.id, //业务名称
+								name: thisdata.name, //业务名称
+								categoryId: thisdata.categoryId, //业务品类
+								number: thisdata.number,
+								price: thisdata.price, //市场价
+								superName: superName,
+								cname: cname,
+								companyName:thisdata.companyName,
+								city: thisdata.city,
+								activityPrice: thisdata.activityPrice ? thisdata.activityPrice : '', //最低折扣
+								memberPrice: thisdata.memberPrice ? thisdata.memberPrice : '', //会员价
+								offset: thisdata.offset ? thisdata.offset : '',
+								activityPrice: thisdata.activityPrice ? thisdata.activityPrice : '', //活动价
+								activityFlag: thisdata.activityFlag, //活动生效标识
+								status: thisdata.status, //项目状态
+								province: thisdata.province,
+								introduce: thisdata.introduce,
+								createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : '',
+								value: thisdata.value,
+								applyConditions: thisdata.applyConditions
+							});
+						}
+						this.state.pagination.current = data.data.pageNo;
+						this.state.pagination.total = data.data.totalCount;
+					}
+					this.setState({
+						dataSource: theArr,
+						pagination: this.state.pagination
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		getInitialState() {
+			return {
+				searchMore: true,
+				selectedRowKeys: [],
+				selectedRows: [],
+				loading: false,
+				orgCodeUrl: [],
+				typeSearch:[],
+				companyLogoUrl: [],
+				pagination: {
+					defaultCurrent: 1,
+					defaultPageSize: 10,
+					showQuickJumper: true,
+					pageSize: 10,
+					onChange: function(page) {
+						this.loadData(page);
+						this.setState({
+							selectedRowKeys: []
+						});
+					}.bind(this),
+					showTotal: function(total) {
+						return '共' + total + '条数据';
+					}
+				},
+				columns: [
+					{
+						title: '项目名称',
+						dataIndex: 'name',
+						key: 'bname'
+					},
+					{
+						title: '发布人账户昵称',
+						dataIndex: 'companyName',
+						key: 'companyName'
+					},
+					{
+						title: '品类名称',
+						dataIndex: 'cname',
+						key: 'cname',
+						render:(text,recard)=>{
+							let ids =recard.categoryId,categoryList =this.state.categoryList,txt='' ;
+							 categoryList.map(item=>{
+								if(item.children){
+									(item.children).map(atem=>{
+										if(atem.value==ids){
+											txt= atem.label
+										}
+									})
+								}
+							})
+							return txt;
+							
+						}
+					},
+					{
+						title: '上级品类',
+						dataIndex: 'superName',
+						key: 'superName',
+						render:(text,recard)=>{
+							let ids =recard.categoryId,categoryList =this.state.categoryList,txt='' ;
+							 categoryList.map(item=>{
+								if(item.children){
+									(item.children).map(atem=>{
+										if(atem.value==ids){
+											txt= item.label
+										}
+									})
+								}
+							})
+							return txt;
+							
+						}
+					},
+					{
+						title: '业务地区',
+						dataIndex: 'area',
+						key: 'area',
+						render: (text, rocard) => {
+							return (
+								<div>
+									{rocard.province != 0 ? (
+										<span>{getprovince(rocard.province) + '-' + getprovince(rocard.city)}</span>
+									) : (
+										'全国'
+									)}
+								</div>
+							);
+						}
+					},
+					{
+						title: '市场价(万元)',
+						dataIndex: 'price',
+						key: 'price'
+					},
+					{
+						title: '最低折扣',
+						dataIndex: 'offset',
+						key: 'offset'
+					},
+					{
+						title: '会员价(万元)',
+						dataIndex: 'memberPrice',
+						key: 'memberPrice'
+					},
+					{
+						title: '活动价(万元)',
+						dataIndex: 'activityPrice',
+						key: 'activityPrice'
+					},
+					{
+						title: '活动生效标识',
+						dataIndex: 'activityFlag',
+						key: 'activityFlag',
+						render: (text) => {
+							return getGameState(text);
+						}
+					}
+				],
+				dataSource: []
+			};
+		},
+		//业务品类列表获取
+		topLevel() {
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/portal/service/jtBusiness/getCategoryList',
+				data: {
+					
+				},
+				success: function(data) {
+					let theArr = [],thisdata=data.data;
+					if (!data.data) {
+						if (data.error && data.error.length) {
+							message.warning(data.error[0].message);
+						}
+					} else {
+						thisdata.map((item,index) => {
+							theArr.push({
+								'value':item.topLevelId,
+								'label':item.topLevel,
+								'children':[]
+							})
+							if (item.children) {
+								item.children.map(atem => {
+									(theArr[index].children).push({
+										'value':atem.id,
+										'label':atem.name
+									})
+								})
+							}
+						})
+					}
+					this.setState({
+						categoryList: theArr,
+					});
+					this.loadData();
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		componentWillMount() {
+			this.topLevel();
+		},
+		detailes(recard) {
+			this.setState({
+				loading:true
+			});
+			$.ajax({
+				method: 'get',
+				dataType: 'json',
+				crossDomain: false,
+				url: globalConfig.context + '/api/user/jtBusiness/project/detail',
+				data: {
+					id: recard.id
+				},
+				success: function(data) {
+					let thisData = data.data;
+					if (!thisData) {
+						if (data.error && data.error.length) {
+							message.warning(data.error[0].message);
+						}
+						thisData = {};
+					}
+					let categoryList = this.state.categoryList,name='';
+                    categoryList.map(item=>{
+						if((item.children).length){
+							(item.children).map(atem=>{
+								if(atem.value==thisData.categoryId){
+									name=item.label+'/'+atem.label;
+									return;
+								}
+							})
+						}
+					});
+					document.querySelector('.txt').innerHTML='';
+					let eleDiv = document.createElement('div');
+					eleDiv.innerHTML=thisData.introduce;
+					document.querySelector('.txt').append(eleDiv);
+					this.setState({
+						id: thisData.id,
+						data: thisData,
+						name: name,
+						createTime: thisData.createTime ? new Date(thisData.createTime).toLocaleString() : '',
+						auditStatus: thisData.auditStatus,
+						orgCodeUrl: thisData.minImgUrl
+							? splitUrl(thisData.minImgUrl, ',', globalConfig.avatarHost + '/upload')
+							: [],
+						companyLogoUrl: thisData.maxImgUrl
+							? splitUrl(thisData.maxImgUrl, ',', globalConfig.avatarHost + '/upload')
+							: []
+					});
+				}.bind(this)
+			}).always(
+				function() {
+					this.setState({
+						loading: false
+					});
+				}.bind(this)
+			);
+		},
+		//项目列表整行点击
+		tableRowClick(record, index) {
+			this.state.RowData = record;
+			this.setState({
+				editvisible: true
+			});
+			this.detailes(record);
+		},
+		edithandleCancel(e) {
+			this.setState({
+				editvisible: false
+			});
+		},
+		search() {
+			this.loadData();
+		},
+		//搜索部分的清零
+		reset() {
+			this.state.nameSearch = ''; //项目名称清零
+			this.state.typeSearch = undefined; //品类名称清零
+			this.state.ressSearch = undefined; //省市区清零
+			this.state.activityFlag = undefined; //活动生效清零
+			this.state.status = undefined; //项目状态清零
+			this.state.stateSearch=undefined;
+			this.state.hotSearch=undefined;
+			this.loadData();
+		},
+		//更多搜索的显示与否
+		searchSwitch() {
+			this.setState({
+				searchMore: !this.state.searchMore
+			});
+		},
+
+		render() {
+			const FormItem = Form.Item;
+			const rowSelection = {
+				selectedRowKeys: this.state.selectedRowKeys,
+				onChange: (selectedRowKeys, selectedRows) => {
+					this.setState({
+						selectedRows: selectedRows.slice(-1),
+						selectedRowKeys: selectedRowKeys.slice(-1)
+					});
+				}
+			};
+			const theData = this.state.data || {};
+			return (
+				<div className="user-content">
+					<div className="content-title">
+							<span>项目业务库</span>
+						<div className="user-search">
+							<Input
+								placeholder="业务项目名称"
+								style={{ width: '150px', marginRight: '10px', marginBottom: '10px' }}
+								value={this.state.nameSearch}
+								onChange={(e) => {
+									this.setState({ nameSearch: e.target.value });
+								}}
+							/>
+							<Cascader placeholder='业务项目品类' 
+								options={this.state.categoryList} 
+								style={{width:200,marginRight:10}} 
+								value={this.state.typeSearch} onChange={(e)=>{this.setState({typeSearch:e})}}/>
+							<Select 
+								placeholder="发布状态"
+							 	style={{width:150,marginRight:10}} 
+							 	onChange={(e)=>{this.setState({
+									stateSearch:e
+								})}}
+								value={this.state.stateSearch}
+								>
+								{releaseStateList.map(item=>{
+									return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
+								})}
+							</Select>
+							<Select 
+								value={this.state.hotSearch}
+								placeholder="是否热点"
+								style={{width:150,marginRight:10}}
+								onChange={(e)=>{this.setState({hotSearch:e})}}>
+								<Select.Option value='0'>非热点</Select.Option>
+								<Select.Option value='1'>热点</Select.Option>
+							</Select>
+							<Button type="primary" onClick={this.search} style={{ marginRight: '10px' }}>
+								搜索
+							</Button>
+							<Button onClick={this.reset} style={{ marginRight: '10px' }}>
+								重置
+							</Button>
+						</div>
+						<div className="patent-table">
+							<Spin spinning={this.state.loading}>
+								<Table
+									columns={this.state.columns}
+									dataSource={this.state.dataSource}
+									rowSelection={rowSelection}
+									pagination={this.state.pagination}
+									onRowClick={this.tableRowClick}
+								/>
+							</Spin>
+						</div>
+						<div className="patent-desc">
+							<Modal
+								className="customeDetails"
+								title="业务项目"
+								width="1000px"
+								visible={this.state.editvisible}
+								onOk={this.edithandleCancel}
+								onCancel={this.edithandleCancel}
+								footer=""
+							>
+								<Form layout="horizontal" onSubmit={this.edithandleSubmit} id="demand-form">
+									<Spin spinning={this.state.loading}>
+										<div className="clearfix">
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="项目名称"
+											>
+												<span>{theData.name}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="业务品类"
+											>
+												<span>{this.state.name}</span>
+											</FormItem>
+										</div>
+										<div className="clearfix">
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="省份"
+											>
+												<span>
+													{theData.province != '0' ? getprovince(theData.province) : '全国'}
+												</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="热点"
+											>
+												<span>{theData.isHot=='1' ? '是' :theData.isHot=='0'?'否':''}</span>
+											</FormItem>
+										</div>
+										<div className="clearfix">
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="市场价"
+											>
+												<span>{theData.price?theData.price+' 万元':''}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="活动价"
+											>
+												<span>{theData.activityPrice?theData.activityPrice+' 万元':''}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="最低折扣"
+											>
+												<span>{theData.offset?theData.offset+' 万元':''}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="会员价"
+											>
+												<span>{theData.memberPrice?theData.memberPrice+' 万元':''}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="活动生效"
+											>
+												<span>{theData.activityFlag =='1'? '有效' : theData.activityFlag =='0'?'无效':''}</span>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="创建时间"
+											>
+												<span>{this.state.createTime}</span>
+											</FormItem>
+										</div>
+										
+										<div className="clearfix">
+											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="项目营销说明">
+												<span>{theData.advertisement}</span>
+											</FormItem>
+										</div>
+										<div className="clearfix">
+											<FormItem
+												labelCol={{ span: 4 }}
+												wrapperCol={{ span: 12 }}
+												label="业务项目价值及作用"
+											>
+												<span>{theData.value}</span>
+											</FormItem>
+										</div>
+										<div className="clearfix">
+											<FormItem
+												labelCol={{ span: 4 }}
+												wrapperCol={{ span: 12 }}
+												label="业务项目客户基本条件"
+											>
+												<span>{theData.applyConditions}</span>
+											</FormItem>
+										</div>
+										<div className="clearfix">
+											<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="业务项目服务内容">
+												<div className="ql-editor">
+													<div className="txt"></div>
+												</div>
+											</FormItem>
+										</div>
+										<div className="clearfix pictures">
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 10 }}
+												label="业务项目图标(小)"
+											>
+												<Upload
+													className="demandDetailShow-upload"
+													listType="picture-card"
+													fileList={this.state.orgCodeUrl}
+													onPreview={(file) => {
+														this.setState({
+															previewImage: file.url || file.thumbUrl,
+															previewVisible: true
+														});
+													}}
+												/>
+												<Modal
+													maskClosable={false}
+													footer={null}
+													visible={this.state.previewVisible}
+													onCancel={() => {
+														this.setState({ previewVisible: false });
+													}}
+												>
+													<img
+														alt=""
+														style={{ width: '100%' }}
+														src={this.state.previewImage || ''}
+													/>
+												</Modal>
+											</FormItem>
+											<FormItem
+												className="half-item"
+												labelCol={{ span: 8 }}
+												wrapperCol={{ span: 12 }}
+												label="业务项目图标(大)"
+											>
+												<Upload
+													className="demandDetailShow-upload"
+													listType="picture-card"
+													fileList={this.state.companyLogoUrl}
+													onPreview={(file) => {
+														this.setState({
+															previewImage: file.url || file.thumbUrl,
+															previewVisible: true
+														});
+													}}
+												/>
+												<Modal
+													maskClosable={false}
+													footer={null}
+													visible={this.state.previewVisible}
+													onCancel={() => {
+														this.setState({ previewVisible: false });
+													}}
+												>
+													<img
+														alt=""
+														style={{ width: '100%' }}
+														src={this.state.previewImage || ''}
+													/>
+												</Modal>
+											</FormItem>
+										</div>
+									</Spin>
+								</Form>
+							</Modal>
+						</div>
+					</div>
+				</div>
+			);
+		}
+	})
+);
+
+export default BusinessProject;

+ 13 - 7
js/component/administration/business/businessProject.jsx

@@ -127,6 +127,7 @@ const BusinessProject = Form.create()(
 								price: thisdata.price, //市场价
 								superName: superName,
 								cname: cname,
+								companyName:thisdata.companyName,
 								city: thisdata.city,
 								activityPrice: thisdata.activityPrice ? thisdata.activityPrice : '', //最低折扣
 								memberPrice: thisdata.memberPrice ? thisdata.memberPrice : '', //会员价
@@ -188,6 +189,11 @@ const BusinessProject = Form.create()(
 						key: 'bname'
 					},
 					{
+						title: '发布人账户昵称',
+						dataIndex: 'companyName',
+						key: 'companyName'
+					},
+					{
 						title: '品类名称',
 						dataIndex: 'cname',
 						key: 'cname',
@@ -242,7 +248,7 @@ const BusinessProject = Form.create()(
 						}
 					},
 					{
-						title: '市场价',
+						title: '市场价(万元)',
 						dataIndex: 'price',
 						key: 'price'
 					},
@@ -252,12 +258,12 @@ const BusinessProject = Form.create()(
 						key: 'offset'
 					},
 					{
-						title: '会员价',
+						title: '会员价(万元)',
 						dataIndex: 'memberPrice',
 						key: 'memberPrice'
 					},
 					{
-						title: '活动价',
+						title: '活动价(万元)',
 						dataIndex: 'activityPrice',
 						key: 'activityPrice'
 					},
@@ -589,7 +595,7 @@ const BusinessProject = Form.create()(
 												wrapperCol={{ span: 12 }}
 												label="市场价"
 											>
-												<span>{theData.price} 万元</span>
+												<span>{theData.price?theData.price+' 万元':''}</span>
 											</FormItem>
 											<FormItem
 												className="half-item"
@@ -597,7 +603,7 @@ const BusinessProject = Form.create()(
 												wrapperCol={{ span: 12 }}
 												label="活动价"
 											>
-												<span>{theData.activityPrice} 万元</span>
+												<span>{theData.activityPrice?theData.activityPrice+' 万元':''}</span>
 											</FormItem>
 											<FormItem
 												className="half-item"
@@ -605,7 +611,7 @@ const BusinessProject = Form.create()(
 												wrapperCol={{ span: 12 }}
 												label="最低折扣"
 											>
-												<span>{theData.offset} 万元</span>
+												<span>{theData.offset?theData.offset+' 万元':''}</span>
 											</FormItem>
 											<FormItem
 												className="half-item"
@@ -613,7 +619,7 @@ const BusinessProject = Form.create()(
 												wrapperCol={{ span: 12 }}
 												label="会员价"
 											>
-												<span>{theData.memberPrice} 万元</span>
+												<span>{theData.memberPrice?theData.memberPrice+' 万元':''}</span>
 											</FormItem>
 											<FormItem
 												className="half-item"

+ 5 - 0
webpack-dll.config.js

@@ -51,6 +51,11 @@ module.exports = (function () {
         compress: {
           warnings: false,
         },
+      }),
+      new webpack.DefinePlugin({
+        "process.env": {
+            NODE_ENV: JSON.stringify("production")
+        }
       })
     ],
     module: require('./webpack/module.config.js')(theme),

+ 1 - 1
webpack.config.js

@@ -85,7 +85,7 @@ module.exports = (function () {
             template: './template/template.html',
             chunks: ['user/account/index', 'vendors']
         }),
-       //管理员模块
+        //管理员模块
         new HtmlWebpackPlugin({
             title: '管理员-登录',
             filename: 'admin/login.html',