瀏覽代碼

Merge branch 'master' of http://git.ycjcjy.com/zhiyuxing/estateagents-admin-manager

周立森 5 年之前
父節點
當前提交
7567845297

+ 3
- 0
config/config.js 查看文件

94
     'btn-primary-bg': '#EF273A',
94
     'btn-primary-bg': '#EF273A',
95
     'table-row-hover-bg': '#eee',
95
     'table-row-hover-bg': '#eee',
96
     'btn-danger-bg': '#FF7E48',
96
     'btn-danger-bg': '#FF7E48',
97
+    'radio-button-hover-color': '#FF7E48',
98
+    'radio-button-active-color': 'red',
99
+    
97
 
100
 
98
   },
101
   },
99
   define: {
102
   define: {

+ 1
- 1
src/components/SelectButton/CitySelect.jsx 查看文件

30
   }
30
   }
31
 
31
 
32
   return (
32
   return (
33
-      <Select value={props.value} style={{ width: '180px' }} placeholder="请选择城市" onChange={props.onChange}>
33
+      <Select showSearch value={props.value} style={{ width: '180px' }} placeholder="请选择城市" onChange={props.onChange}>
34
           {data.map(city => (
34
           {data.map(city => (
35
             <Option key={city.id} value={city.id}>{city.name}</Option>
35
             <Option key={city.id} value={city.id}>{city.name}</Option>
36
           ))}
36
           ))}

+ 1
- 1
src/components/SelectButton/NewTypeSelect.jsx 查看文件

30
   }
30
   }
31
 
31
 
32
   return (
32
   return (
33
-      <Select value={props.value} style={{ width: '180px' }} placeholder="请选择讯类型" onChange={props.onChange}>
33
+      <Select value={props.value} style={{ width: '180px' }} placeholder="请选择讯类型" onChange={props.onChange}>
34
           {data.map(type => (
34
           {data.map(type => (
35
             <Option key={type.newsTypeId}>{type.newsTypeName}</Option>
35
             <Option key={type.newsTypeId}>{type.newsTypeName}</Option>
36
           ))}
36
           ))}

+ 8
- 0
src/global.less 查看文件

97
   color: #fff;
97
   color: #fff;
98
   background: #FF7E48;
98
   background: #FF7E48;
99
   border-color: #FF7E48;
99
   border-color: #FF7E48;
100
+  box-shadow: none;
100
 }
101
 }
101
 .ant-radio-button-wrapper:not(:first-child)::before{
102
 .ant-radio-button-wrapper:not(:first-child)::before{
102
   background: #FF7E48;
103
   background: #FF7E48;
103
 }
104
 }
105
+.ant-radio-button-wrapper:first-child {
106
+  border-left: 1px solid #FF7E48;
107
+}
108
+.ant-radio-button-wrapper:hover{
109
+  border-color: #FF7E48;
110
+  color: #FF7E48; ;
111
+}
104
 .ant-row.ant-form-item .ant-form-item-label.ant-col-sm-3{
112
 .ant-row.ant-form-item .ant-form-item-label.ant-col-sm-3{
105
   min-width: 100px;
113
   min-width: 100px;
106
 }
114
 }

+ 1
- 2
src/layouts/BasicLayout.jsx 查看文件

84
       menuItemRender={(menuItemProps, defaultDom) => {
84
       menuItemRender={(menuItemProps, defaultDom) => {
85
         if (menuItemProps.isUrl) {
85
         if (menuItemProps.isUrl) {
86
           return defaultDom;
86
           return defaultDom;
87
-        }
88
-
87
+        }        
89
         return <Link to={menuItemProps.path}>{defaultDom}</Link>;
88
         return <Link to={menuItemProps.path}>{defaultDom}</Link>;
90
       }}
89
       }}
91
       breadcrumbRender={(routers = []) => [
90
       breadcrumbRender={(routers = []) => [

+ 1
- 1
src/pages/Welcome.jsx 查看文件

48
           boxShadow: '0px  0.11rem 14px -15px rgba(107,130,230,1)',
48
           boxShadow: '0px  0.11rem 14px -15px rgba(107,130,230,1)',
49
           borderRadius: '12px', width: '32%',
49
           borderRadius: '12px', width: '32%',
50
         }}>
50
         }}>
51
-          <span style={{ fontSize: '24px', color: '#fff', borderBottom: '1px solid #fff', margin: '30px 0' }}>最近7天新增 </span>
51
+          <span style={{ fontSize: '24px', color: '#fff', borderBottom: '1px solid #fff', margin: '30px 0',cursor: 'pointer' }}>最近7天新增 </span>
52
           <span style={{ fontSize: '52px', color: '#fff', marginLeft: '26px', fontFamily: 'fantasy', lineHeight: '100px' }}>{data.selectRecentlyCount || '0'}</span>
52
           <span style={{ fontSize: '52px', color: '#fff', marginLeft: '26px', fontFamily: 'fantasy', lineHeight: '100px' }}>{data.selectRecentlyCount || '0'}</span>
53
         </div>
53
         </div>
54
       </div>
54
       </div>

+ 18
- 6
src/pages/building/list/add/components/base.jsx 查看文件

60
       if (res.receivedDate !== null) {
60
       if (res.receivedDate !== null) {
61
         res.receivedDate = moment(res.receivedDate)
61
         res.receivedDate = moment(res.receivedDate)
62
       }
62
       }
63
+      if (res.buildingTag !== null) {
64
+        res.tag = res.buildingTag.map((item, _) => item.tagName)
65
+      }
63
 
66
 
64
       res.avatarImage = res.buildingImg.map(item => item.url)
67
       res.avatarImage = res.buildingImg.map(item => item.url)
65
       props.form.setFieldsValue(res)
68
       props.form.setFieldsValue(res)
80
     data.receivedDate = moment(data.receivedDate, 'yyyy-MM-dd HH:mm:ss')
83
     data.receivedDate = moment(data.receivedDate, 'yyyy-MM-dd HH:mm:ss')
81
     // 项目主图
84
     // 项目主图
82
     data.img = data.avatarImage && data.avatarImage.map((item, index) => ({ imgType: 'banner', url: item, orderNo: index + 1 }))
85
     data.img = data.avatarImage && data.avatarImage.map((item, index) => ({ imgType: 'banner', url: item, orderNo: index + 1 }))
86
+    if (data.tag) {
87
+      data.tag = data.tag.map((item, _) => ({ tagName: item }))
88
+    }
83
 
89
 
84
     const api = data.buildingId === undefined ? apis.building.addBuilding : apis.building.updateBuilding
90
     const api = data.buildingId === undefined ? apis.building.addBuilding : apis.building.updateBuilding
85
     request({ ...api, data: { ...data } }).then(() => {
91
     request({ ...api, data: { ...data } }).then(() => {
108
             {getFieldDecorator('buildingProjectType')(<BudildingProjectType />)}
114
             {getFieldDecorator('buildingProjectType')(<BudildingProjectType />)}
109
           </Form.Item>
115
           </Form.Item>
110
           <Form.Item label="均价" hasFeedback>
116
           <Form.Item label="均价" hasFeedback>
111
-            {getFieldDecorator('price')(<Input />)}
117
+            {getFieldDecorator('price')(<Input type="number" style={{ width: '210px' }}/>)}m²/元
112
           </Form.Item>
118
           </Form.Item>
113
           <Form.Item label="开盘时间"  hasFeedback>
119
           <Form.Item label="开盘时间"  hasFeedback>
114
             {getFieldDecorator('openingDate')(<DatePicker format="YYYY/MM/DD" />)}
120
             {getFieldDecorator('openingDate')(<DatePicker format="YYYY/MM/DD" />)}
136
             )}
142
             )}
137
           </Form.Item>
143
           </Form.Item>
138
           <Form.Item label="销售状态" hasFeedback>
144
           <Form.Item label="销售状态" hasFeedback>
139
-            {getFieldDecorator('marketStatus')(<Input />)}
145
+            {getFieldDecorator('marketStatus')(
146
+              <Select placeholder="销售状态" style={{ width: '1016px' }}>
147
+                <Option value="待定">待定</Option>
148
+                <Option value="在售">在售</Option>
149
+                <Option value="售完">售完</Option>
150
+              </Select>,
151
+            )}
140
           </Form.Item>
152
           </Form.Item>
141
-          <Form.Item label="标签" hasFeedback style={{ display: 'none' }}>
142
-            {getFieldDecorator('tags')(
143
-              <Select mode="multiple" placeholder="标签" style={{ width: '1016px' }}>
144
-                <Option value="未知">未知</Option>
153
+          <Form.Item label="项目标签" hasFeedback>
154
+            {getFieldDecorator('tag')(
155
+              <Select mode="tags" placeholder="输入后选中" style={{ width: '1016px' }}>
156
+                
145
               </Select>,
157
               </Select>,
146
             )}
158
             )}
147
           </Form.Item>
159
           </Form.Item>

+ 2
- 2
src/pages/building/list/add/components/imageSet.jsx 查看文件

94
 
94
 
95
   const columns = [
95
   const columns = [
96
     {
96
     {
97
-      title: '名称',
97
+      title: '户型名称',
98
       dataIndex: 'apartmentName',
98
       dataIndex: 'apartmentName',
99
       key: 'apartmentName',
99
       key: 'apartmentName',
100
     },
100
     },
136
 
136
 
137
   return (
137
   return (
138
     <>
138
     <>
139
-      <Button type="primary" onClick={() => showEdi()}>新增户型</Button>
139
+      <Button type="primary" onClick={() => showEdi()}>新增户型</Button>
140
       <Table dataSource={data} columns={columns} pagination={false} rowKey="imageSet" />
140
       <Table dataSource={data} columns={columns} pagination={false} rowKey="imageSet" />
141
 
141
 
142
       {/* 编辑页 */}
142
       {/* 编辑页 */}

+ 5
- 4
src/pages/building/list/add/components/poster.jsx 查看文件

24
   const [imgValue, changeImg] = useState('')
24
   const [imgValue, changeImg] = useState('')
25
   const [posterId, setPosterId] = useState('')
25
   const [posterId, setPosterId] = useState('')
26
 
26
 
27
-  const [building, setBuilding] = useState({})
27
+  const [building, setBuilding] = useState({ buildingImg: [{ url: '' }] })
28
   const { buildingId } = props.building
28
   const { buildingId } = props.building
29
 
29
 
30
   if (buildingId) {
30
   if (buildingId) {
54
  
54
  
55
     request({ ...apis.building.buildingGetById, urlData: { id: currentId } }).then(res => {
55
     request({ ...apis.building.buildingGetById, urlData: { id: currentId } }).then(res => {
56
       setBuilding(res)
56
       setBuilding(res)
57
+      console.log('getById: ', res)
57
     })
58
     })
58
   }
59
   }
59
 
60
 
89
     <div style={{ display: 'flex' }}>
90
     <div style={{ display: 'flex' }}>
90
       <div style={{ width: '420px', height: '900px', display: 'inline-block', marginTop: '30px' }}>
91
       <div style={{ width: '420px', height: '900px', display: 'inline-block', marginTop: '30px' }}>
91
         <div style={{ width: '375px', height: '785px', backgroundColor: '#fff', boxShadow: '0px 0px 16px 6px rgba(0,0,0,0.15)', position: 'relative', margin: '0 auto' }}>
92
         <div style={{ width: '375px', height: '785px', backgroundColor: '#fff', boxShadow: '0px 0px 16px 6px rgba(0,0,0,0.15)', position: 'relative', margin: '0 auto' }}>
92
-          <img style={{ width: '100%', height: '300px' }} src={imgValue || poster1} alt="" />
93
+          <img style={{ width: '100%', height: '300px' }} src={ imgValue || ( building.buildingImg[0].url || poster1 ) } alt="" />
93
 
94
 
94
           <p className={Styles.tagLabel}>
95
           <p className={Styles.tagLabel}>
95
             {
96
             {
103
             WebkitBoxOrient: 'vertical',
104
             WebkitBoxOrient: 'vertical',
104
             overflow: 'hidden',
105
             overflow: 'hidden',
105
             textOverflow: 'ellipsis',
106
             textOverflow: 'ellipsis',
106
-          }}>{building.buildingName || '楼盘标题'}</p>
107
+          }}>{inputValue || (building.buildingName || '海报标题')}</p>
107
           <p style={{ color: '#999',padding:' 0 20px' }}>约<span style={{ color: '#fd0d0c', fontSize: '24px',marginLeft:'6px' }}>{ building.price }</span><span style={{ color: '#fd0d0c', fontSize: '20px' }}>元/m²</span></p>
108
           <p style={{ color: '#999',padding:' 0 20px' }}>约<span style={{ color: '#fd0d0c', fontSize: '24px',marginLeft:'6px' }}>{ building.price }</span><span style={{ color: '#fd0d0c', fontSize: '20px' }}>元/m²</span></p>
108
 
109
 
109
           <img src={yinhao} style={{ width: '30px', marginLeft: '22px' }} alt="" />
110
           <img src={yinhao} style={{ width: '30px', marginLeft: '22px' }} alt="" />
122
       <div >
123
       <div >
123
         <div style={{ display: 'flex', width: '100%', margin: '60px 0' }}>
124
         <div style={{ display: 'flex', width: '100%', margin: '60px 0' }}>
124
           <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>海报图片</p>
125
           <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>海报图片</p>
125
-          <ImageUploader value={imgValue} onChange={e => changeImg(e)} />
126
+          <ImageUploader value={ imgValue } onChange={e => changeImg(e)} />
126
         </div>
127
         </div>
127
         <div style={{ display: 'flex', alignItems: 'center', width: '100%', marginBottom: '60px' }}>
128
         <div style={{ display: 'flex', alignItems: 'center', width: '100%', marginBottom: '60px' }}>
128
           <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>海报标题</p>
129
           <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>海报标题</p>

+ 1
- 1
src/pages/building/list/add/index.jsx 查看文件

49
           props.location.query.id &&
49
           props.location.query.id &&
50
           (
50
           (
51
             <>
51
             <>
52
-              <Radio.Button value="image">图片</Radio.Button>
52
+              <Radio.Button value="image">户型库</Radio.Button>
53
               <Radio.Button value="poster">海报图片</Radio.Button>
53
               <Radio.Button value="poster">海报图片</Radio.Button>
54
               <Radio.Button value="share">分享设置</Radio.Button>
54
               <Radio.Button value="share">分享设置</Radio.Button>
55
             </>
55
             </>

+ 50
- 31
src/pages/channel/brokerList.jsx 查看文件

1
 import React, { useState, useEffect } from 'react';
1
 import React, { useState, useEffect } from 'react';
2
-import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select } from 'antd';
2
+import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select, Form } from 'antd';
3
 import { FormattedMessage } from 'umi-plugin-react/locale';
3
 import { FormattedMessage } from 'umi-plugin-react/locale';
4
 import channels from './channelList.less';
4
 import channels from './channelList.less';
5
 import router from 'umi/router';
5
 import router from 'umi/router';
125
       // eslint-disable-next-line react-hooks/rules-of-hooks
125
       // eslint-disable-next-line react-hooks/rules-of-hooks
126
       getListBroker({ pageNum: pageNumber, pageSize: 10 })
126
       getListBroker({ pageNum: pageNumber, pageSize: 10 })
127
     }
127
     }
128
-    // 获取input的值
129
-    function onInputChangeName (e) {
130
-      // const InputValue = e.target.name.x.value;
131
-      setQueryData({ ...queryData, name: e.target.value })
132
-   }
128
+  //   // 获取input的值
129
+  //   function onInputChangeName (e) {
130
+  //     // const InputValue = e.target.name.x.value;
131
+  //     setQueryData({ ...queryData, name: e.target.value })
132
+  //  }
133
 
133
 
134
-   function onInputChangePhone (e) {
135
-    // const InputValue = e.target.name.x.value;
136
-    setQueryData({ ...queryData, phone: e.target.value })
137
-  }
138
-  function refurbishList () {
139
-    getListBroker({ pageNum: 1, pageSize: 10 })
140
-  }
134
+  //  function onInputChangePhone (e) {
135
+  //   // const InputValue = e.target.name.x.value;
136
+  //   setQueryData({ ...queryData, phone: e.target.value })
137
+  // }
138
+  // function refurbishList () {
139
+  //   getListBroker({ pageNum: 1, pageSize: 10 })
140
+  // }
141
   // eslint-disable-next-line no-undef
141
   // eslint-disable-next-line no-undef
142
-  function handleClick() {
143
-    alert('11', this)
144
-    console.log('this is:', this);
142
+  // function handleClick() {
143
+  //   alert('11', this)
144
+  //   console.log('this is:', this);
145
+  // }
146
+
147
+  function handleSubmit(e) {
148
+    e.preventDefault();
149
+    props.form.validateFields((err, values) => {
150
+      console.log('values', values)
151
+      if (!err) {
152
+        console.log('values', values)
153
+        getListBroker({ ...queryData, pageNum: 1, pageSize: 10, channelId: props.location.query.id, name: values.name, phone: values.phone })
154
+      }
155
+    });
145
   }
156
   }
157
+
158
+  function handleReset() {
159
+    props.form.resetFields();
160
+    getListBroker({ pageNum: 1, pageSize: 10, channelId: props.location.query.id })
161
+  }
162
+  const { getFieldDecorator } = props.form;
146
 return (
163
 return (
147
   <>
164
   <>
148
-    <div className={ channels.searchBox }>
149
-      <div style = {{ marginLeft: '-5px' }}>
150
-        <span className={ channels.selectName }>姓名</span>
151
-        <Input onChange = { onInputChangeName } style ={{ width: 150 }} />
152
-        <span className={ channels.selectName }>电话</span>
153
-        <Input onChange = { onInputChangePhone } style ={{ width: 150 }} />
154
-      </div>
155
-      <div>
156
-      <Button type="primary" onClick={() => queryList() }>查询</Button>
157
-      {/* <Button onClick={() => refurbishList() }>重置</Button> */}
158
-    </div>
159
-    </div>
160
-    <Table style={{marginTop:'40px'}} dataSource={data.list} columns={columns} pagination={{ pageSize: 10, total: data.total, onChange }} rowKey="brokerList"/>
165
+   <Form layout="inline" onSubmit={handleSubmit}>
166
+   <Form.Item label="姓名">
167
+          {getFieldDecorator('name', {
168
+          })(<Input/>)}
169
+        </Form.Item>
170
+    <Form.Item label="电话">
171
+      {getFieldDecorator('phone', {
172
+      })(<Input/>)}
173
+    </Form.Item>
174
+    <Form.Item >
175
+   <Button type="primary" htmlType="submit" >保存</Button>
176
+     <Button onClick={handleReset} style={{ marginLeft: 18 }}>重置</Button>
177
+    </Form.Item>
178
+   </Form>
179
+    <Table style={{ marginTop: '40px' }} dataSource={data.list} columns={columns} pagination={{ pageSize: 10, total: data.total, onChange }} rowKey="brokerList"/>
161
   </>
180
   </>
162
 )
181
 )
163
 }
182
 }
164
-
183
+const WrappedNormalLoginForm = Form.create({ name: 'header' })(header);
165
 function handleMenuClick(e) {
184
 function handleMenuClick(e) {
166
   message.info('Click on menu item.');
185
   message.info('Click on menu item.');
167
   console.log('click', e);
186
   console.log('click', e);
168
 }
187
 }
169
-export default header
188
+export default WrappedNormalLoginForm

+ 2
- 2
src/pages/indexEcharts/components/NewUsers.jsx 查看文件

92
     <>
92
     <>
93
       <div>
93
       <div>
94
         <div >
94
         <div >
95
-          <p onClick={()=>router.push('/indexEcharts/newUsers')}><span style={{borderBottom:'1px solid #f02d40',fontSize:'0.12rem',fontWeight:'600'}}>新增用户</span> {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}</p>
95
+          <p onClick={()=>router.push('/indexEcharts/newUsers')}><span style={{borderBottom:'1px solid #f02d40',cursor: 'pointer',fontSize:'0.12rem',fontWeight:'600'}}>新增用户</span> {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}</p>
96
        </div>
96
        </div>
97
-        <EChart options={options} style={piestyles} onClick={()=>router.push('/indexEcharts/newUsers')} />
97
+        <EChart options={options} style={piestyles}  />
98
       </div>
98
       </div>
99
     </>
99
     </>
100
   )
100
   )

+ 3
- 3
src/pages/indexEcharts/components/UserBehavior.jsx 查看文件

133
   }
133
   }
134
 
134
 
135
 
135
 
136
-  const seriesMaker = (data.selectUserBehavior || []).filter(e => e.activity !== '客户').reduce((series, item) => {
136
+  const seriesMaker = (data.selectUserBehavior || []).filter(e => e.activity !== '客户' && e.activity !== '首页').reduce((series, item) => {
137
     let { date, activityCount, activity } = item
137
     let { date, activityCount, activity } = item
138
     date = moment(date).format('YYYY-MM-DD')
138
     date = moment(date).format('YYYY-MM-DD')
139
     if (!activityCount) activityCount = 0
139
     if (!activityCount) activityCount = 0
260
   return (
260
   return (
261
     <>
261
     <>
262
       <div>
262
       <div>
263
-        <p onClick={() => router.push('/indexEcharts/userBehavior')}>
263
+        <p onClick={() => router.push('/indexEcharts/userBehavior')} style={{cursor: 'pointer'}}>
264
           <span style={{ borderBottom: '1px solid #f02d40', color: '#333', fontSize: '0.12rem', fontWeight: '600' }}>用户行为</span>
264
           <span style={{ borderBottom: '1px solid #f02d40', color: '#333', fontSize: '0.12rem', fontWeight: '600' }}>用户行为</span>
265
           {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}
265
           {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}
266
         </p>
266
         </p>
267
         <div style={{ float: 'right', marginTop: '-40px', marginBottom: '20px' }}>
267
         <div style={{ float: 'right', marginTop: '-40px', marginBottom: '20px' }}>
268
           {!props.BuildSelectHide && <BuildSelect slot="action" onChange={(e => handleBuildingChange(e))}></BuildSelect>}
268
           {!props.BuildSelectHide && <BuildSelect slot="action" onChange={(e => handleBuildingChange(e))}></BuildSelect>}
269
         </div>
269
         </div>
270
-        <EChart onClick={() => router.push('/indexEcharts/userBehavior')} options={options} style={style} />
270
+        <EChart options={options} style={style} />
271
         {props.tableShow &&
271
         {props.tableShow &&
272
           <Table rowKey="UserBehaviorTwo" dataSource={recordList} columns={columns} pagination={false} rowKey="userbehavior" scroll={{ y: 500 }} />
272
           <Table rowKey="UserBehaviorTwo" dataSource={recordList} columns={columns} pagination={false} rowKey="userbehavior" scroll={{ y: 500 }} />
273
         }
273
         }

+ 20
- 13
src/pages/indexEcharts/components/UserConversion.jsx 查看文件

18
     UserConversionRate({ conversion: 'authorization_phone' })
18
     UserConversionRate({ conversion: 'authorization_phone' })
19
   }, [])
19
   }, [])
20
 
20
 
21
-  function UserConversionRate (params) {
21
+  function UserConversionRate(params) {
22
 
22
 
23
     request({
23
     request({
24
       ...apis.indexEcharts.userConversion,
24
       ...apis.indexEcharts.userConversion,
25
       params,
25
       params,
26
-    }).then(data => {  
27
-      console.log(data.data_count.registeredCount/data.data_count.pvNum,'1241234')
26
+    }).then(data => {
27
+      console.log(data.data_count.registeredCount / data.data_count.pvNum, '1241234')
28
       setDataset(data, params.conversion)
28
       setDataset(data, params.conversion)
29
     })
29
     })
30
   }
30
   }
31
 
31
 
32
-  function setDataset (data, theStatis) {
32
+  function setDataset(data, theStatis) {
33
     const { pvNum, ...other } = data.data_count
33
     const { pvNum, ...other } = data.data_count
34
 
34
 
35
     // 获取第一个值
35
     // 获取第一个值
43
       setTheCurrent([])
43
       setTheCurrent([])
44
     } else {
44
     } else {
45
 
45
 
46
-      setConversionRate(num/pvNum)
46
+      setConversionRate(num / pvNum)
47
       setTheCurrent([
47
       setTheCurrent([
48
         { name: getStatisName(theStatis), value: num },
48
         { name: getStatisName(theStatis), value: num },
49
         { name: '其余', value: pvNum - num },
49
         { name: '其余', value: pvNum - num },
51
     }
51
     }
52
   }
52
   }
53
 
53
 
54
-  function getStatisName (theStatis) {
54
+  function getStatisName(theStatis) {
55
     const statisTypes = [
55
     const statisTypes = [
56
       { label: '授权手机', value: 'authorization_phone' },
56
       { label: '授权手机', value: 'authorization_phone' },
57
       { label: '项目收藏', value: 'building_save' },
57
       { label: '项目收藏', value: 'building_save' },
75
       name: '转化率',
75
       name: '转化率',
76
       radius: ['34%', '52%'],
76
       radius: ['34%', '52%'],
77
       avoidLabelOverlap: false,
77
       avoidLabelOverlap: false,
78
-      label: { 
79
-        normal: { 
80
-          show: true,
78
+      label: {
79
+        normal: {
80
+          show: false,
81
           position: 'center',
81
           position: 'center',
82
           color: '#666666',
82
           color: '#666666',
83
-          fontSize: 24,
84
-          fontWeight: 'bold',
85
-          formatter: `${(conversionRate*100).toFixed(2) === 'NaN' ? 0 : (conversionRate*100).toFixed(2) }%`, // {b}:数据名; {c}:数据值; {d}:百分比,可以自定义显示内容,
83
+          fontSize: 22,
84
+          formatter: '{d}%'
85
+        },
86
+        emphasis: {
87
+          show: true,
88
+          formatter: '{d}%',
89
+          textStyle: {
90
+            fontSize: '22',
91
+            fontWeight: 'bold'
92
+          }
86
         }
93
         }
87
       },
94
       },
88
       labelLine: {
95
       labelLine: {
95
     },
102
     },
96
   }
103
   }
97
 
104
 
98
-  function onChange (e) {
105
+  function onChange(e) {
99
     UserConversionRate({ conversion: e })
106
     UserConversionRate({ conversion: e })
100
   }
107
   }
101
   const piestyles = {
108
   const piestyles = {

+ 2
- 2
src/pages/indexEcharts/components/UserSource.jsx 查看文件

104
   return (
104
   return (
105
     <>
105
     <>
106
       <div>
106
       <div>
107
-      <p onClick={()=>router.push('/indexEcharts/userSource')}><span style={{borderBottom:'1px solid #f02d40',color:'#333',fontSize:'0.12rem',fontWeight:'600'}}>用户来源</span> {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}</p>
107
+      <p onClick={()=>router.push('/indexEcharts/userSource')}><span style={{borderBottom:'1px solid #f02d40',cursor: 'pointer',color:'#333',fontSize:'0.12rem',fontWeight:'600'}}>用户来源</span> {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}</p>
108
 
108
 
109
-        <EChart onClick={() => router.push('/indexEcharts/userSource')} options={baroptions} style={barstyle} />
109
+        <EChart options={baroptions} style={barstyle} />
110
 
110
 
111
       </div>
111
       </div>
112
 
112
 

+ 18
- 0
src/pages/indexEcharts/components/UserSourcepie.jsx 查看文件

56
         type: 'pie',
56
         type: 'pie',
57
         center: ['40%', '65%'],
57
         center: ['40%', '65%'],
58
         radius: ['34%', '52%'],
58
         radius: ['34%', '52%'],
59
+        label: {
60
+          normal: {
61
+            show: false,
62
+            position: 'center',
63
+            color: '#666666',
64
+            fontSize: 22,
65
+            formatter: '{d}%'
66
+          },
67
+          emphasis: {
68
+            show: true,
69
+            formatter: '{d}%',
70
+            textStyle: {
71
+              fontSize: '22',
72
+              fontWeight: 'bold'
73
+            }
74
+          }
75
+        },
59
       },
76
       },
77
+
60
     ],
78
     ],
61
 
79
 
62
     dataset: {
80
     dataset: {

+ 7
- 7
src/pages/news/list/NewsList.jsx 查看文件

195
             whiteSpace: 'nowrap',
195
             whiteSpace: 'nowrap',
196
             width: '300px',
196
             width: '300px',
197
           }}>{data.newsName}</p>
197
           }}>{data.newsName}</p>
198
-          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '10px' }}>
199
-            <span style={{ display: 'inline-block', width: '190px' }}>咨询类型:{data.newsType.newsTypeName}</span>
198
+          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '8px',display:'flex' }}>
199
+            <span style={{ display: 'inline-block', width: '180px',overflow: 'hidden',textOverflow: 'ellipsis',whiteSpace: 'nowrap' }}>资讯类型:{data.newsType.newsTypeName}</span>
200
             <span>状态:{data.newsStatus == 0 ? "已发布" : "未发布"}</span>
200
             <span>状态:{data.newsStatus == 0 ? "已发布" : "未发布"}</span>
201
           </p>
201
           </p>
202
 
202
 
203
-          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '10px' }}>
204
-            <span style={{ display: 'inline-block', width: '190px' }}>阅读数量:{data.pvNum}</span>
203
+          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '8px' }}>
204
+            <span style={{ display: 'inline-block', width: '180px',overflow: 'hidden',textOverflow: 'ellipsis',whiteSpace: 'nowrap' }}>阅读数量:{data.pvNum}</span>
205
             <span>转发数量:{data.shareNum}</span>
205
             <span>转发数量:{data.shareNum}</span>
206
           </p>
206
           </p>
207
 
207
 
208
-          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '10px' }}>
209
-            <span style={{ display: 'inline-block', width: '190px' }}>点赞数量:{data.favorNum}</span>
208
+          <p style={{ fontSize: ' 0.11rem', color: '#555', marginBottom: '8px' }}>
209
+            <span style={{ display: 'inline-block', width: '180px',overflow: 'hidden',textOverflow: 'ellipsis',whiteSpace: 'nowrap' }}>点赞数量:{data.favorNum}</span>
210
             <span>收藏数量:{data.saveNum}</span>
210
             <span>收藏数量:{data.saveNum}</span>
211
           </p>
211
           </p>
212
 
212
 
213
-          <p style={{ fontSize: ' 0.11rem', color: '#999', marginBottom: '10px' }}>发布时间:{data.createDate}</p>
213
+          <p style={{ fontSize: ' 0.11rem', color: '#999', marginBottom: '8px' }}>发布时间:{data.createDate}</p>
214
         </div>
214
         </div>
215
       </Card>
215
       </Card>
216
     )
216
     )

+ 1
- 1
src/pages/news/type/editNews.jsx 查看文件

55
       type: FieldTypes.Text,
55
       type: FieldTypes.Text,
56
       value: newsData.newsTypeName,
56
       value: newsData.newsTypeName,
57
       rules: [
57
       rules: [
58
-        {required: true, message: '请输入咨询名称'},
58
+        {required: true, message: '请输入资讯名称'},
59
       ]
59
       ]
60
     },
60
     },
61
   ]
61
   ]