From e59a3e889fe921c92697349623ab9e3c24fe8e25 Mon Sep 17 00:00:00 2001 From: "gaoxiaolin.gao" Date: Mon, 26 Feb 2018 15:46:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=BF=E6=8D=A2=E9=83=A8=E5=88=86JSON?= =?UTF-8?q?.parse(JSON.stringify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +++ client/components/Postman/Postman.js | 5 ++- client/components/TimeLine/TimeLine.js | 3 +- .../InterfaceCol/InterfaceColContent.js | 33 ++++++++++++++----- .../InterfaceCol/InterfaceColMenu.js | 5 +++ .../InterfaceList/AddInterfaceForm.js | 10 ++++++ .../Interface/InterfaceList/InterfaceMenu.js | 15 ++++++--- package.json | 1 + 8 files changed, 62 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af889e5d..512fc932 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### v1.3.7 + +#### Feature + +* 增加测试集合列表的拖动功能 ### v1.3.6 diff --git a/client/components/Postman/Postman.js b/client/components/Postman/Postman.js index 42ff0e79..56a4487d 100755 --- a/client/components/Postman/Postman.js +++ b/client/components/Postman/Postman.js @@ -95,7 +95,10 @@ export default class Run extends Component { let header = [].concat(env[index].header); header.forEach(item => { if (!checkNameIsExistInArray(item.name, req_header)) { - item.abled = true; + item = { + ...item, + abled: true + } req_header.push(item) } }) diff --git a/client/components/TimeLine/TimeLine.js b/client/components/TimeLine/TimeLine.js index 5303fe00..8fec6bfc 100644 --- a/client/components/TimeLine/TimeLine.js +++ b/client/components/TimeLine/TimeLine.js @@ -166,12 +166,13 @@ class TimeTree extends Component { async getApiList() { let result = await this.props.fetchInterfaceList(this.props.typeid); this.setState({ - apiList: JSON.parse(JSON.stringify(result.payload.data.data)) + apiList: result.payload.data.data }) } handleSelectApi = (interfaceId) => { this.curInterfaceId = interfaceId; + console.log(interfaceId) this.props.fetchNewsData(this.props.typeid, this.props.type, 1, 10, interfaceId) } diff --git a/client/containers/Project/Interface/InterfaceCol/InterfaceColContent.js b/client/containers/Project/Interface/InterfaceCol/InterfaceColContent.js index 64ecc474..2c3fc392 100755 --- a/client/containers/Project/Interface/InterfaceCol/InterfaceColContent.js +++ b/client/containers/Project/Interface/InterfaceCol/InterfaceColContent.js @@ -17,7 +17,7 @@ import axios from 'axios' import CaseReport from './CaseReport.js' import _ from 'underscore' import { initCrossRequest } from 'client/components/Postman/CheckCrossInstall.js' - +import produce from 'immer' const { handleParams, crossRequest, handleCurrDomain, checkNameIsExistInArray } = require('common/postmanLib.js') const {handleParamsValue, json_parse} = require('common/utils.js') @@ -142,7 +142,11 @@ class InterfaceColContent extends Component { let header = currDomain.header; header.forEach(item => { if (!checkNameIsExistInArray(item.name, req_header)) { - item.abled = true; + // item.abled = true; + item = { + ...item, + abled: true + } req_header.push(item) } }) @@ -151,13 +155,24 @@ class InterfaceColContent extends Component { handleColdata = (rows) => { - let newRows = JSON.parse(JSON.stringify(rows)) - newRows = newRows.map((item) => { - item.id = item._id; - item._test_status = item.test_status; - item.case_env = this.state.currColEnv || item.case_env - item.req_headers = this.handleReqHeader(item.req_headers) - return item; + // let newRows = JSON.parse(JSON.stringify(rows)) + // newRows = newRows.map((item) => { + // item.id = item._id; + // item._test_status = item.test_status; + // item.case_env = this.state.currColEnv || item.case_env + // item.req_headers = this.handleReqHeader(item.req_headers) + // return item; + // }) + + let that = this; + let newRows = produce(rows, draftRows => { + draftRows.map(item=>{ + item.id = item._id; + item._test_status = item.test_status; + item.case_env = that.state.currColEnv || item.case_env + item.req_headers = that.handleReqHeader(item.req_headers) + return item; + }) }) this.setState({ diff --git a/client/containers/Project/Interface/InterfaceCol/InterfaceColMenu.js b/client/containers/Project/Interface/InterfaceCol/InterfaceColMenu.js index 19ecbd00..cb7e68ba 100755 --- a/client/containers/Project/Interface/InterfaceCol/InterfaceColMenu.js +++ b/client/containers/Project/Interface/InterfaceCol/InterfaceColMenu.js @@ -8,6 +8,7 @@ import axios from 'axios'; // import { Input, Icon, Button, Modal, message, Tooltip, Tree, Dropdown, Menu, Form } from 'antd'; import ImportInterface from './ImportInterface' import { Input, Icon, Button, Modal, message, Tooltip, Tree, Form } from 'antd'; +// import produce from 'immer' const TreeNode = Tree.TreeNode; const FormItem = Form.Item; @@ -327,9 +328,13 @@ export default class InterfaceColMenu extends Component { filterCol = (e) => { const value = e.target.value; + // console.log('list', this.props.interfaceColList); + // const newList = produce(this.props.interfaceColList, draftList => {}) + // console.log('newList',newList); this.setState({ filterValue: value, list: JSON.parse(JSON.stringify(this.props.interfaceColList)) + // list: newList }) } diff --git a/client/containers/Project/Interface/InterfaceList/AddInterfaceForm.js b/client/containers/Project/Interface/InterfaceList/AddInterfaceForm.js index 440c9a69..8cc51e23 100755 --- a/client/containers/Project/Interface/InterfaceList/AddInterfaceForm.js +++ b/client/containers/Project/Interface/InterfaceList/AddInterfaceForm.js @@ -103,6 +103,16 @@ class AddInterfaceForm extends Component { )} + {/* + 注: 详细的接口数据可以在编辑页面中添加 + */} + + 详细的接口数据可以在编辑页面中添加 +