Commit a266d2ed authored by 王珂's avatar 王珂

Merge branch 'dev_upgrade' of 172.16.10.76:station/amos-convertor-view into dev_upgrade

parents 02287a1e 4e4700cd
...@@ -49,8 +49,9 @@ ...@@ -49,8 +49,9 @@
position: absolute; position: absolute;
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
top: 40%; top: 50%;
right: 40%; left: 50%;
transform: translate(-50%, -50%);
} }
} }
......
...@@ -25,6 +25,8 @@ const compleHeaders = () => { ...@@ -25,6 +25,8 @@ const compleHeaders = () => {
}; };
}; };
/** /**
* 获取 token * 获取 token
*/ */
...@@ -194,4 +196,139 @@ export const fileDownload = ({ url, data, fileName, method = 'GET' }) => { ...@@ -194,4 +196,139 @@ export const fileDownload = ({ url, data, fileName, method = 'GET' }) => {
}); });
}; };
export const recursive = function(list, childName = 'children') {
class recursiveClass {
constructor(_list, _childName) {
this.list = _list || [];
this.childName = _childName;
}
some(callback) {
const func = arr => {
return arr.some((e, index) => {
const flag = callback(e, index);
if (flag) {
return flag;
} else {
if (e[this.childName] && e[this.childName].length > 0) {
return func(e[this.childName]);
}
}
return false;
});
};
return func(this.list);
}
find(callback) {
let obj = null;
const func = (arr, parent) => {
return arr.find((e, index) => {
const flag = callback(e, index, parent);
if (flag) {
obj = e;
return flag;
} else {
if (e[this.childName] && e[this.childName].length > 0) {
return func(e[this.childName], e);
}
}
return false;
});
};
func(this.list, {});
return obj;
}
findParent(callback) {
let obj = null;
const func = (arr, parent) => {
return arr.find((e, index) => {
const flag = callback(e, index, parent);
if (flag) {
obj = parent;
return flag;
} else {
if (e[this.childName] && e[this.childName].length > 0) {
return func(e[this.childName], e);
}
}
return false;
});
};
func(this.list, {});
return obj;
}
findIndex(callback) {
let resIndex = -1;
const func = (arr, parent) => {
return arr.find((e, index) => {
const flag = callback(e, index, parent);
if (flag) {
resIndex = index;
return flag;
} else {
if (e[this.childName] && e[this.childName].length > 0) {
return func(e[this.childName], e);
}
}
return false;
});
};
func(this.list, {});
return resIndex;
}
filter(callback) {
const func = (arr, parent) => {
return arr.filter((e, index) => {
const flag = callback(e, index, parent);
if (flag) {
if (e[this.childName] && e[this.childName].length > 0) {
e[this.childName] = func(e[this.childName], e);
}
}
return flag;
});
};
return func(this.list, {});
}
search(callback) {
const func = (arr, parent) => {
return arr.filter((e, index) => {
let flag = callback(e, index, parent);
if (e[this.childName] && e[this.childName].length > 0) {
e[this.childName] = func(e[this.childName], e);
if (e[this.childName] && e[this.childName].length > 0) {
flag = true;
}
}
return flag;
});
};
return func(this.list, {});
}
map(callback) {
const func = (arr, parent) => {
return arr.map((e, index) => {
const node = callback(e, index, parent);
if (node) {
e = node;
}
if (e[this.childName] && e[this.childName].length > 0) {
e[this.childName] = func(e[this.childName], e);
}
return e;
});
};
return func(this.list, {});
}
}
return new recursiveClass(list, childName);
};
export { amosRequest, singleFetch, convertDatalist, buildPageable, formatUrl }; export { amosRequest, singleFetch, convertDatalist, buildPageable, formatUrl };
...@@ -51,6 +51,7 @@ class EquipmentModel extends Component { ...@@ -51,6 +51,7 @@ class EquipmentModel extends Component {
imageUrl2: [], imageUrl2: [],
imageUrl3: [], imageUrl3: [],
imageUrl4: [], imageUrl4: [],
equipmentPic: [],
reservePlan: '', reservePlan: '',
riskSourceId: 0 riskSourceId: 0
}, },
...@@ -60,7 +61,8 @@ class EquipmentModel extends Component { ...@@ -60,7 +61,8 @@ class EquipmentModel extends Component {
rules: { rules: {
code: [{ required: true, message: '编码不能为空' }], code: [{ required: true, message: '编码不能为空' }],
name: [{ required: true, message: '名称不能为空' }], name: [{ required: true, message: '名称不能为空' }],
position3d: [{ validator: this.validPositon3d }] position3d: [{ validator: this.validPositon3d }],
equipmentPic: [{ required: true, message: '重点设备照片不能为空' }]
}, },
previewVisible: false, previewVisible: false,
previewImage: '', previewImage: '',
...@@ -175,7 +177,7 @@ class EquipmentModel extends Component { ...@@ -175,7 +177,7 @@ class EquipmentModel extends Component {
console.log(data); console.log(data);
data.forEach(ele => { data.forEach(ele => {
let type = ele.type; let type = ele.type;
if (type >= 1 && type <= 4) { if (type >= 1) {
pMap.set(type, ele.picture); pMap.set(type, ele.picture);
} }
}); });
...@@ -231,6 +233,9 @@ class EquipmentModel extends Component { ...@@ -231,6 +233,9 @@ class EquipmentModel extends Component {
case 4: case 4:
_form.imageUrl4 = [file]; _form.imageUrl4 = [file];
break; break;
case 5:
_form.equipmentPic = [file];
break;
} }
this.setState({ form: _form }); this.setState({ form: _form });
}; };
...@@ -255,7 +260,7 @@ class EquipmentModel extends Component { ...@@ -255,7 +260,7 @@ class EquipmentModel extends Component {
changeData = async file => { changeData = async file => {
file.url = await getBase64(file); file.url = await getBase64(file);
let _form = this.state.form; let _form = this.state.form;
let { imageUrl1 = [], imageUrl2 = [], imageUrl3 = [], imageUrl4 = [] } = this.state.form; let { imageUrl1 = [], imageUrl2 = [], imageUrl3 = [], imageUrl4 = [],equipmentPic = [] } = this.state.form;
switch (file.mylist) { switch (file.mylist) {
case 'imageUrl1': case 'imageUrl1':
_form.imageUrl1 = [...imageUrl1, file]; _form.imageUrl1 = [...imageUrl1, file];
...@@ -269,6 +274,10 @@ class EquipmentModel extends Component { ...@@ -269,6 +274,10 @@ class EquipmentModel extends Component {
case 'imageUrl4': case 'imageUrl4':
_form.imageUrl4 = [...imageUrl4, file]; _form.imageUrl4 = [...imageUrl4, file];
break; break;
case 'equipmentPic':
_form.equipmentPic = [...equipmentPic, file];
break;
} }
this.setState({ form: _form }); this.setState({ form: _form });
}; };
...@@ -315,6 +324,14 @@ class EquipmentModel extends Component { ...@@ -315,6 +324,14 @@ class EquipmentModel extends Component {
this.setState({ form }); this.setState({ form });
break; break;
} }
case 'equipmentPic': {
let index = form.equipmentPic.indexOf(file);
let newFileList = form.equipmentPic.slice();
newFileList.splice(index, 1);
form.equipmentPic = newFileList;
this.setState({ form });
break;
}
} }
}; };
...@@ -545,6 +562,27 @@ class EquipmentModel extends Component { ...@@ -545,6 +562,27 @@ class EquipmentModel extends Component {
<FormItem label={<span>备注</span>} field="remark" {...formItemLayout}> <FormItem label={<span>备注</span>} field="remark" {...formItemLayout}>
<TextArea rows={4} className="risk_factor_input" required value={form.remark} onChange={e => this.onInputChange('remark', e.target.value)} /> <TextArea rows={4} className="risk_factor_input" required value={form.remark} onChange={e => this.onInputChange('remark', e.target.value)} />
</FormItem> </FormItem>
<FormItem label={<span>重点设备照片</span>} field='equipmentPic' {...formItemLayout}>
<div>
<Upload
customRequest={this.handleUpload}
className="upload-img"
fileList={form.equipmentPic}
listType="picture-card"
beforeUpload={file => {
file.mylist = 'equipmentPic';
this.beforeUpload(file);
}}
onPreview={this.handlePreview}
onRemove={file => {
file.mylist = 'equipmentPic';
this.fileRemove(file);
}}
>
{form.equipmentPic ? form.equipmentPic.length >= 1 ? null : uploadButton : uploadButton}
</Upload>
</div>
</FormItem>
</div> </div>
</Form> </Form>
</div> </div>
......
...@@ -305,6 +305,7 @@ class Equipment extends Component { ...@@ -305,6 +305,7 @@ class Equipment extends Component {
dataValues.imageUrl2 && formData.append('img2', dataValues.imageUrl2[0]); dataValues.imageUrl2 && formData.append('img2', dataValues.imageUrl2[0]);
dataValues.imageUrl3 && formData.append('img3', dataValues.imageUrl3[0]); dataValues.imageUrl3 && formData.append('img3', dataValues.imageUrl3[0]);
dataValues.imageUrl4 && formData.append('img4', dataValues.imageUrl4[0]); dataValues.imageUrl4 && formData.append('img4', dataValues.imageUrl4[0]);
dataValues.equipmentPic && formData.append('equipmentPic', dataValues.equipmentPic[0]);
if (dataValues) { if (dataValues) {
for (var key in dataValues) { for (var key in dataValues) {
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Select,Input } from 'amos-antd'; import { Select,Input } from 'amos-antd';
import { MultiSelect, Button } from 'amos-framework'; import { MultiSelect } from 'amos-framework';
import { import {
fetchPointQueryCriteria, fetchPointQueryCriteria,
queryUserByDeptIdAction queryUserByDeptIdAction
} from './../../../services/checkInfoService'; } from './../../../services/checkInfoService';
import BizIcon from '../../common/icon/BizIcon';
const Option = Select.Option; const Option = Select.Option;
const multiSelectOption = MultiSelect.Option; const multiSelectOption = MultiSelect.Option;
...@@ -25,7 +24,7 @@ class PointSearch extends Component { ...@@ -25,7 +24,7 @@ class PointSearch extends Component {
departmentOptions: [], departmentOptions: [],
statusData: [], statusData: [],
searchParam: {}, searchParam: {},
selectData:[] selectData: []
}; };
} }
componentWillMount() { componentWillMount() {
...@@ -38,11 +37,10 @@ class PointSearch extends Component { ...@@ -38,11 +37,10 @@ class PointSearch extends Component {
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
const { countStatus } = nextProps || {}; const { countStatus } = nextProps || {};
let status = []; let { searchParam, statusData } = this.state;
let { searchParam, selectData, statusData } = this.state;
if (countStatus){ if (countStatus){
let temp = statusData.find(item => item.value === countStatus); let temp = statusData.find(item => item.value === countStatus);
console.log('temp--------------->' + temp); console.log(`temp--------------->${temp}`);
if (temp !== undefined) { if (temp !== undefined) {
searchParam.checkStatus = temp.value; searchParam.checkStatus = temp.value;
let checkStatus = []; let checkStatus = [];
...@@ -64,10 +62,10 @@ class PointSearch extends Component { ...@@ -64,10 +62,10 @@ class PointSearch extends Component {
} }
onSelectedChange = (value,type) => { onSelectedChange = (value,type) => {
let { searchParam,selectData } = this.state; let { searchParam } = this.state;
searchParam[type] = value; searchParam[type] = value;
let selectStatus = []; let selectStatus = [];
if(type === 'checkStatus'){ if (type === 'checkStatus') {
searchParam[type] = value.join(','); searchParam[type] = value.join(',');
selectStatus = value; selectStatus = value;
} }
...@@ -78,34 +76,24 @@ class PointSearch extends Component { ...@@ -78,34 +76,24 @@ class PointSearch extends Component {
} }
onDeptChange = (value) => { onDeptChange = (value) => {
if(value===undefined){ let { searchParam } = this.state;
let { searchParam} = this.state; if (searchParam['deptId'] !== value) {
delete searchParam['userId']; searchParam['deptId'] = value;
searchParam['userId'] = undefined;
this.setState({ searchParam ,userData: []}); Object.assign(searchParam,{ pageNumber: 0, pageSize: 10 });
this.setState({ searchParam });
Object.assign(searchParam,{ pageNumber: 0,pageSize: 10 }); if (value === undefined){
this.setState({ searchParam}); this.setState({ userData: [] });
searchParam && this.props.setSearchParam(searchParam); this.props.setSearchParam(searchParam);
}else{ } else {
this.queryUserByDept(value); this.queryUserByDept(value);
}
} }
} }
queryUserByDept = deptId => {
queryUserByDeptIdAction(deptId).then(data => {
let userData = data;
this.setState({ userData: userData });
});
};
//查询巡检人员 //查询巡检人员
getPointSearchConditionAction =()=>{ getPointSearchConditionAction =()=>{
fetchPointQueryCriteria().then(data=>{ fetchPointQueryCriteria().then(data=>{
let userlist = [];
let departmentList = []; let departmentList = [];
let typeList = []; let typeList = [];
let statusList = []; let statusList = [];
...@@ -136,6 +124,13 @@ class PointSearch extends Component { ...@@ -136,6 +124,13 @@ class PointSearch extends Component {
}); });
} }
queryUserByDept = deptId => {
queryUserByDeptIdAction(deptId).then(data => {
let userData = data;
this.setState({ userData });
});
};
searchData = () => { searchData = () => {
let { searchParam } = this.state; let { searchParam } = this.state;
Object.assign(searchParam, { pageNumber: 0,pageSize: 10 }); Object.assign(searchParam, { pageNumber: 0,pageSize: 10 });
...@@ -194,12 +189,12 @@ class PointSearch extends Component { ...@@ -194,12 +189,12 @@ class PointSearch extends Component {
allowClear allowClear
value={searchParam.userId} value={searchParam.userId}
> >
{checkUserOptions} {checkUserOptions}
</Select> </Select>
</div> </div>
<div className='catalog-select-multiple'> <div className='catalog-select-multiple'>
<MultiSelect <MultiSelect
data = {statusData} data={statusData}
renderOption={item => <multiSelectOption value={item.value}>{item.name}</multiSelectOption>} renderOption={item => <multiSelectOption value={item.value}>{item.name}</multiSelectOption>}
values={selectData} values={selectData}
onChange={(e)=>this.onSelectedChange(e,'checkStatus')} onChange={(e)=>this.onSelectedChange(e,'checkStatus')}
...@@ -209,7 +204,6 @@ class PointSearch extends Component { ...@@ -209,7 +204,6 @@ class PointSearch extends Component {
<div className='search-device'> <div className='search-device'>
<Input placeholder="请输入搜索内容" onChange={this.onChange} onPressEnter={this.searchData} style={{ width: '150px','border-radius': '10px' }} /> <Input placeholder="请输入搜索内容" onChange={this.onChange} onPressEnter={this.searchData} style={{ width: '150px','border-radius': '10px' }} />
<img src={require('./../../../assets/fsc/check/search.png')} alt='' onClick={this.searchData} /> <img src={require('./../../../assets/fsc/check/search.png')} alt='' onClick={this.searchData} />
{/*<Button icon={<BizIcon icon='sousuo' />} transparent onClick={this.searchData} />*/}
</div> </div>
</div> </div>
); );
......
...@@ -54,35 +54,19 @@ class PointStatistics extends Component { ...@@ -54,35 +54,19 @@ class PointStatistics extends Component {
let {colors, data} = this.getColor(dataList); let {colors, data} = this.getColor(dataList);
return { return {
color: colors, color: colors,
tooltip: {
trigger: 'item',
formatter: "<div style='color: white; font-size: 16px;' >{b}:<br />数量({c});比例({d}%)</div>"
},
series: [ series: [
{ {
name: '巡检点统计', name: '巡检点统计',
// silent: true,
type: 'pie', type: 'pie',
radius: ['45%', '65%'], radius: ['45%', '65%'],
itemStyle: { itemStyle: {
normal: { normal: {
label: { label: {
show: false, show: false,
// position: 'center',
// formatter: function(params) {
// let dataIndex = params.dataIndex;
// if (parseInt(dataIndex) === 0) {
// return '{a|' + total + '}' + '\r\n' + '{b|' + '总数' + '}';
// } else {
// return '';
// }
// },
// rich: {
// a: {
// fontSize: '28',
// color: 'black'
// },
// b: {
// fontSize: '16',
// color: 'black'
// }
// }
}, },
labelLine: { labelLine: {
show: false show: false
...@@ -92,15 +76,6 @@ class PointStatistics extends Component { ...@@ -92,15 +76,6 @@ class PointStatistics extends Component {
labelLine: { labelLine: {
show: true, show: true,
length:90 length:90
},
label: {
show: true,
position: 'outer',
formatter: '{b}\n {c}({d}%)',
textStyle: {
fontSize: '25',
fontWeight: 'bold'
}
} }
} }
}, },
......
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