Commit bad46fae authored by superman's avatar superman

update

parent 11ac5abf
...@@ -2,18 +2,31 @@ ...@@ -2,18 +2,31 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="ec208c71-5ff8-4642-a786-fad4f24be9b8" name="Default" comment=""> <list default="true" id="ec208c71-5ff8-4642-a786-fad4f24be9b8" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/containers/Users/Additem.jsx" /> <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/containers/Users/EditItem.jsx" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/containers/Users/List.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/dist/index.css" afterPath="$PROJECT_DIR$/dist/index.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/dist/index.js" afterPath="$PROJECT_DIR$/dist/index.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/proxy.config.js" afterPath="$PROJECT_DIR$/proxy.config.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/proxy.config.js" afterPath="$PROJECT_DIR$/proxy.config.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/components/Layout/Layout.less" afterPath="$PROJECT_DIR$/src/components/Layout/Layout.less" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx" afterPath="$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/components/MainHeader/MainHeader.less" afterPath="$PROJECT_DIR$/src/components/MainHeader/MainHeader.less" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx" afterPath="$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Announcement/List.jsx" afterPath="$PROJECT_DIR$/src/containers/Announcement/List.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/App/App.jsx" afterPath="$PROJECT_DIR$/src/containers/App/App.jsx" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/App/App.jsx" afterPath="$PROJECT_DIR$/src/containers/App/App.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/App/App.less" afterPath="$PROJECT_DIR$/src/containers/App/App.less" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Product/EditItem.jsx" afterPath="$PROJECT_DIR$/src/containers/Product/EditItem.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Product/List.jsx" afterPath="$PROJECT_DIR$/src/containers/Product/List.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx" afterPath="$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/Users/List.jsx" afterPath="$PROJECT_DIR$/src/containers/Users/List.jsx" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/index.js" afterPath="$PROJECT_DIR$/src/containers/index.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/containers/index.js" afterPath="$PROJECT_DIR$/src/containers/index.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/entries/index.less" afterPath="$PROJECT_DIR$/src/entries/index.less" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/reducers/announcement.js" afterPath="$PROJECT_DIR$/src/reducers/announcement.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/reducers/user.js" afterPath="$PROJECT_DIR$/src/reducers/user.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/reducers/user.js" afterPath="$PROJECT_DIR$/src/reducers/user.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/routes/index.js" afterPath="$PROJECT_DIR$/src/routes/index.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/routes/index.js" afterPath="$PROJECT_DIR$/src/routes/index.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/sagas/announcement.js" afterPath="$PROJECT_DIR$/src/sagas/announcement.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/sagas/user.js" afterPath="$PROJECT_DIR$/src/sagas/user.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/sagas/user.js" afterPath="$PROJECT_DIR$/src/sagas/user.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/services/user.js" afterPath="$PROJECT_DIR$/src/services/user.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/services/user.js" afterPath="$PROJECT_DIR$/src/services/user.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/services/xFetch.js" afterPath="$PROJECT_DIR$/src/services/xFetch.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/services/xFetch.js" afterPath="$PROJECT_DIR$/src/services/xFetch.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/utils.js" afterPath="$PROJECT_DIR$/src/utils.js" />
</list> </list>
<ignored path="shuniu-admin.iws" /> <ignored path="shuniu-admin.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
...@@ -36,116 +49,114 @@ ...@@ -36,116 +49,114 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="List.jsx" pinned="false" current-in-tab="true"> <file leaf-file-name="utils.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/containers/Users/List.jsx"> <entry file="file://$PROJECT_DIR$/src/utils.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210"> <state relative-caret-position="249">
<caret line="51" column="18" selection-start-line="51" selection-start-column="18" selection-end-line="51" selection-end-column="18" /> <caret line="148" column="37" selection-start-line="148" selection-start-column="4" selection-end-line="148" selection-end-column="37" />
<folding> <folding />
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="user.js" pinned="false" current-in-tab="false"> <file leaf-file-name="PassItem.jsx" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/services/user.js"> <entry file="file://$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330"> <state relative-caret-position="429">
<caret line="22" column="27" selection-start-line="22" selection-start-column="27" selection-end-line="22" selection-end-column="27" /> <caret line="117" column="10" selection-start-line="97" selection-start-column="8" selection-end-line="117" selection-end-column="10" />
<folding> <folding>
<element signature="e#0#30#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="xFetch.js" pinned="false" current-in-tab="false"> <file leaf-file-name="withdraw.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/services/xFetch.js"> <entry file="file://$PROJECT_DIR$/src/reducers/withdraw.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="417">
<caret line="25" column="35" selection-start-line="25" selection-start-column="35" selection-end-line="25" selection-end-column="35" /> <caret line="29" column="9" selection-start-line="29" selection-start-column="9" selection-end-line="29" selection-end-column="9" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="user.js" pinned="false" current-in-tab="false"> <file leaf-file-name="BaseInfoForm.jsx" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/sagas/user.js"> <entry file="file://$PROJECT_DIR$/src/components/ProductForm/BaseInfoForm.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="540">
<caret line="51" column="17" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="17" /> <caret line="161" column="32" selection-start-line="154" selection-start-column="24" selection-end-line="161" selection-end-column="32" />
<folding> <folding>
<element signature="e#0#38#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="index.js" pinned="false" current-in-tab="false"> <file leaf-file-name="EditItem.jsx" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/containers/index.js"> <entry file="file://$PROJECT_DIR$/src/containers/Product/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="360"> <state relative-caret-position="-18">
<caret line="24" column="16" selection-start-line="24" selection-start-column="7" selection-end-line="24" selection-end-column="16" /> <caret line="95" column="0" selection-start-line="95" selection-start-column="0" selection-end-line="95" selection-end-column="0" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="index.js" pinned="false" current-in-tab="false"> <file leaf-file-name="product.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/routes/index.js"> <entry file="file://$PROJECT_DIR$/src/sagas/product.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570"> <state relative-caret-position="-1323">
<caret line="80" column="72" selection-start-line="80" selection-start-column="72" selection-end-line="80" selection-end-column="72" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#38#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="App.jsx" pinned="false" current-in-tab="false"> <file leaf-file-name="product.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/containers/App/App.jsx"> <entry file="file://$PROJECT_DIR$/src/reducers/product.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="447"> <state relative-caret-position="522">
<caret line="110" column="70" selection-start-line="110" selection-start-column="70" selection-end-line="110" selection-end-column="70" /> <caret line="50" column="16" selection-start-line="50" selection-start-column="16" selection-end-line="50" selection-end-column="16" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#44#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="App.less" pinned="false" current-in-tab="false"> <file leaf-file-name="proxy.config.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/containers/App/App.less"> <entry file="file://$PROJECT_DIR$/proxy.config.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="423"> <state relative-caret-position="75">
<caret line="31" column="23" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" /> <caret line="6" column="2" selection-start-line="6" selection-start-column="2" selection-end-line="6" selection-end-column="2" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="user.js" pinned="false" current-in-tab="false"> <file leaf-file-name="EditItem.jsx" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/reducers/user.js"> <entry file="file://$PROJECT_DIR$/src/containers/Users/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="447"> <state relative-caret-position="-615">
<caret line="39" column="83" selection-start-line="39" selection-start-column="83" selection-end-line="39" selection-end-column="83" /> <caret line="87" column="29" selection-start-line="87" selection-start-column="29" selection-end-line="87" selection-end-column="29" />
<folding> <folding>
<element signature="e#0#44#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="trade.js" pinned="false" current-in-tab="false"> <file leaf-file-name="EditItem.jsx" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/sagas/trade.js"> <entry file="file://$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147"> <state relative-caret-position="-468">
<caret line="11" column="19" selection-start-line="11" selection-start-column="19" selection-end-line="11" selection-end-column="19" /> <caret line="80" column="107" selection-start-line="79" selection-start-column="24" selection-end-line="80" selection-end-column="107" />
<folding> <folding />
<element signature="e#0#38#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -163,11 +174,6 @@ ...@@ -163,11 +174,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/containers/Remittance/Audit/PassItem.jsx" />
<option value="$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx" />
<option value="$PROJECT_DIR$/src/containers/Withdraw/PassItem.jsx" />
<option value="$PROJECT_DIR$/src/sagas/withdraw.js" />
<option value="$PROJECT_DIR$/src/reducers/withdraw.js" />
<option value="$PROJECT_DIR$/src/reducers/__tests__/todos-test.js" /> <option value="$PROJECT_DIR$/src/reducers/__tests__/todos-test.js" />
<option value="$PROJECT_DIR$/src/reducers/costomMessage.js" /> <option value="$PROJECT_DIR$/src/reducers/costomMessage.js" />
<option value="$PROJECT_DIR$/src/services/customMessage.js" /> <option value="$PROJECT_DIR$/src/services/customMessage.js" />
...@@ -181,39 +187,44 @@ ...@@ -181,39 +187,44 @@
<option value="$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.less" /> <option value="$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.less" />
<option value="$PROJECT_DIR$/.gitignore" /> <option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.jsx" /> <option value="$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.jsx" />
<option value="$PROJECT_DIR$/src/utils.js" />
<option value="$PROJECT_DIR$/src/containers/Product/AddItem.jsx" /> <option value="$PROJECT_DIR$/src/containers/Product/AddItem.jsx" />
<option value="$PROJECT_DIR$/src/reducers/product.js" /> <option value="$PROJECT_DIR$/src/reducers/product.js" />
<option value="$PROJECT_DIR$/src/components/ProductForm/ShouyiYongjingForm.jsx" /> <option value="$PROJECT_DIR$/src/components/ProductForm/ShouyiYongjingForm.jsx" />
<option value="$PROJECT_DIR$/src/components/MainHeader.jsx" /> <option value="$PROJECT_DIR$/src/components/MainHeader.jsx" />
<option value="$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx" />
<option value="$PROJECT_DIR$/src/containers/Remittance/List.jsx" /> <option value="$PROJECT_DIR$/src/containers/Remittance/List.jsx" />
<option value="$PROJECT_DIR$/src/variable.less" /> <option value="$PROJECT_DIR$/src/variable.less" />
<option value="$PROJECT_DIR$/src/containers/Withdraw/List.jsx" /> <option value="$PROJECT_DIR$/src/containers/Withdraw/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/CustomMessage/List.jsx" /> <option value="$PROJECT_DIR$/src/containers/CustomMessage/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/CustomMessage/AddItem.jsx" /> <option value="$PROJECT_DIR$/src/containers/CustomMessage/AddItem.jsx" />
<option value="$PROJECT_DIR$/src/components/Layout/Layout.less" />
<option value="$PROJECT_DIR$/src/components/MainHeader/MainHeader.less" />
<option value="$PROJECT_DIR$/src/containers/Announcement/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/Trade/AddItem.jsx" /> <option value="$PROJECT_DIR$/src/containers/Trade/AddItem.jsx" />
<option value="$PROJECT_DIR$/src/containers/Announcement/AddItem.jsx" /> <option value="$PROJECT_DIR$/src/containers/Announcement/AddItem.jsx" />
<option value="$PROJECT_DIR$/src/containers/Product/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx" />
<option value="$PROJECT_DIR$/src/components/ProductForm/BaseInfoForm.jsx" /> <option value="$PROJECT_DIR$/src/components/ProductForm/BaseInfoForm.jsx" />
<option value="$PROJECT_DIR$/src/containers/Product/Product.less" /> <option value="$PROJECT_DIR$/src/containers/Product/Product.less" />
<option value="$PROJECT_DIR$/src/containers/Trade/List.jsx" /> <option value="$PROJECT_DIR$/src/containers/Trade/List.jsx" />
<option value="$PROJECT_DIR$/src/entries/index.less" />
<option value="$PROJECT_DIR$/proxy.config.js" />
<option value="$PROJECT_DIR$/src/containers/Users/Additem.jsx" /> <option value="$PROJECT_DIR$/src/containers/Users/Additem.jsx" />
<option value="$PROJECT_DIR$/src/reducers/user.js" />
<option value="$PROJECT_DIR$/src/sagas/user.js" />
<option value="$PROJECT_DIR$/src/containers/index.js" />
<option value="$PROJECT_DIR$/src/routes/index.js" />
<option value="$PROJECT_DIR$/src/containers/App/App.less" /> <option value="$PROJECT_DIR$/src/containers/App/App.less" />
<option value="$PROJECT_DIR$/src/containers/App/App.jsx" /> <option value="$PROJECT_DIR$/src/containers/App/App.jsx" />
<option value="$PROJECT_DIR$/src/services/xFetch.js" /> <option value="$PROJECT_DIR$/src/services/xFetch.js" />
<option value="$PROJECT_DIR$/src/containers/index.js" />
<option value="$PROJECT_DIR$/src/services/user.js" /> <option value="$PROJECT_DIR$/src/services/user.js" />
<option value="$PROJECT_DIR$/src/sagas/user.js" />
<option value="$PROJECT_DIR$/src/reducers/user.js" />
<option value="$PROJECT_DIR$/src/containers/Users/List.jsx" /> <option value="$PROJECT_DIR$/src/containers/Users/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/Users/EditItem.jsx" />
<option value="$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx" />
<option value="$PROJECT_DIR$/src/components/Layout/Layout.less" />
<option value="$PROJECT_DIR$/src/components/MainHeader/MainHeader.less" />
<option value="$PROJECT_DIR$/src/containers/Product/List.jsx" />
<option value="$PROJECT_DIR$/src/routes/index.js" />
<option value="$PROJECT_DIR$/src/containers/Announcement/List.jsx" />
<option value="$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx" />
<option value="$PROJECT_DIR$/src/sagas/announcement.js" />
<option value="$PROJECT_DIR$/src/reducers/announcement.js" />
<option value="$PROJECT_DIR$/src/utils.js" />
<option value="$PROJECT_DIR$/src/entries/index.less" />
<option value="$PROJECT_DIR$/proxy.config.js" />
<option value="$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx" />
<option value="$PROJECT_DIR$/src/containers/Product/EditItem.jsx" />
</list> </list>
</option> </option>
</component> </component>
...@@ -436,6 +447,72 @@ ...@@ -436,6 +447,72 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="containers" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Remittance" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="containers" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Product" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="containers" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="CustomMessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="shuniu-admin" /> <option name="myItemId" value="shuniu-admin" />
...@@ -1055,12 +1132,12 @@ ...@@ -1055,12 +1132,12 @@
<workItem from="1468394206076" duration="1879000" /> <workItem from="1468394206076" duration="1879000" />
<workItem from="1468396235889" duration="33823000" /> <workItem from="1468396235889" duration="33823000" />
<workItem from="1468540294765" duration="94258000" /> <workItem from="1468540294765" duration="94258000" />
<workItem from="1468995021353" duration="168772000" /> <workItem from="1468995021353" duration="188124000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="298732000" /> <option name="totallyTimeSpent" value="318084000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
...@@ -1073,7 +1150,7 @@ ...@@ -1073,7 +1150,7 @@
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="1280" height="800" extended-state="0" /> <frame x="0" y="0" width="1280" height="800" extended-state="0" />
<editor active="true" /> <editor active="false" />
<layout> <layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329235" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329235" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
...@@ -1083,7 +1160,7 @@ ...@@ -1083,7 +1160,7 @@
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32876712" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32876712" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32739726" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32739726" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24071082" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24071082" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
...@@ -1145,454 +1222,458 @@ ...@@ -1145,454 +1222,458 @@
<watches-manager /> <watches-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/components/CopyToClipboard/CopyToClipboard.less"> <entry file="file://$PROJECT_DIR$/src/components/ProductForm/DateTimeStatusForm.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210"> <state relative-caret-position="192">
<caret line="14" column="27" selection-start-line="14" selection-start-column="27" selection-end-line="14" selection-end-column="27" /> <caret line="44" column="58" selection-start-line="44" selection-start-column="8" selection-end-line="44" selection-end-column="58" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/CopyToClipboard/CopyToClipboard.jsx"> <entry file="file://$PROJECT_DIR$/src/components/ProductForm/ShouyiYongjingForm.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="267"> <state relative-caret-position="570">
<caret line="49" column="12" selection-start-line="49" selection-start-column="12" selection-end-line="49" selection-end-column="12" /> <caret line="154" column="114" selection-start-line="154" selection-start-column="114" selection-end-line="154" selection-end-column="114" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.less"> <entry file="file://$PROJECT_DIR$/src/components/Layout/Layout.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15"> <state relative-caret-position="0">
<caret line="1" column="21" selection-start-line="1" selection-start-column="21" selection-end-line="1" selection-end-column="21" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/README.md"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/Table.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="-1140">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/ProductForm/DocumentsForm.jsx"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/index.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225"> <state relative-caret-position="0">
<caret line="79" column="16" selection-start-line="79" selection-start-column="16" selection-end-line="79" selection-end-column="16" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.gitignore"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/style/index.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30"> <state relative-caret-position="0">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/dist/index.html"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/style/components.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240"> <state relative-caret-position="0">
<caret line="16" column="0" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Trade/Item.jsx"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/style/themes/default.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="237"> <state relative-caret-position="15">
<caret line="121" column="86" selection-start-line="121" selection-start-column="37" selection-end-line="121" selection-end-column="86" /> <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="5" selection-end-column="31" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/entries/index.js"> <entry file="file://$PROJECT_DIR$/src/variable.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="90">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="6" column="1" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
<folding> <folding />
<element signature="e#0#22#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/utils.js"> <entry file="file://$PROJECT_DIR$/src/containers/Withdraw/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="447"> <state relative-caret-position="462">
<caret line="142" column="33" selection-start-line="142" selection-start-column="13" selection-end-line="142" selection-end-column="33" /> <caret line="126" column="94" selection-start-line="126" selection-start-column="23" selection-end-line="126" selection-end-column="94" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Product/EditItem.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Trade/AddItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="327">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="122" column="12" selection-start-line="122" selection-start-column="12" selection-end-line="124" selection-end-column="99" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Product/AddItem.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="615"> <state relative-caret-position="162">
<caret line="104" column="6" selection-start-line="100" selection-start-column="4" selection-end-line="104" selection-end-column="6" /> <caret line="53" column="33" selection-start-line="53" selection-start-column="33" selection-end-line="53" selection-end-column="33" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/reducers/product.js"> <entry file="file://$PROJECT_DIR$/src/containers/Product/Product.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522"> <state relative-caret-position="420">
<caret line="50" column="6" selection-start-line="50" selection-start-column="6" selection-end-line="50" selection-end-column="6" /> <caret line="28" column="38" selection-start-line="28" selection-start-column="38" selection-end-line="28" selection-end-column="38" />
<folding> <folding />
<element signature="e#0#44#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/ProductForm/DateTimeStatusForm.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Announcement/AddItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192"> <state relative-caret-position="387">
<caret line="44" column="58" selection-start-line="44" selection-start-column="8" selection-end-line="44" selection-end-column="58" /> <caret line="58" column="10" selection-start-line="0" selection-start-column="0" selection-end-line="90" selection-end-column="0" />
<folding> <folding />
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/ProductForm/ShouyiYongjingForm.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Users/Additem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570"> <state relative-caret-position="0">
<caret line="154" column="114" selection-start-line="154" selection-start-column="114" selection-end-line="154" selection-end-column="114" /> <caret line="38" column="54" selection-start-line="38" selection-start-column="54" selection-end-line="38" selection-end-column="54" />
<folding> <folding />
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/Layout/Layout.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Trade/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="510">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="98" column="22" selection-start-line="0" selection-start-column="0" selection-end-line="238" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx"> <entry file="file://$PROJECT_DIR$/src/sagas/trade.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480"> <state relative-caret-position="147">
<caret line="32" column="26" selection-start-line="32" selection-start-column="26" selection-end-line="32" selection-end-column="26" /> <caret line="11" column="19" selection-start-line="11" selection-start-column="19" selection-end-line="11" selection-end-column="19" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#38#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/Table.js"> <entry file="file://$PROJECT_DIR$/src/containers/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1140">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/index.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="375">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="25" column="16" selection-start-line="25" selection-start-column="7" selection-end-line="25" selection-end-column="16" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/node_modules/antd/lib/table/style/index.less"> <entry file="file://$PROJECT_DIR$/src/containers/App/App.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="657">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="126" column="71" selection-start-line="126" selection-start-column="71" selection-end-line="126" selection-end-column="71" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="false" />
<element signature="e#795#2705#0" expanded="false" />
<element signature="e#2809#3173#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/node_modules/antd/lib/style/components.less"> <entry file="file://$PROJECT_DIR$/src/containers/CustomMessage/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="1257">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="101" column="80" selection-start-line="101" selection-start-column="67" selection-end-line="101" selection-end-column="80" />
<folding /> <folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/node_modules/antd/lib/style/themes/default.less"> <entry file="file://$PROJECT_DIR$/src/services/user.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15"> <state relative-caret-position="375">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="5" selection-end-column="31" /> <caret line="25" column="32" selection-start-line="25" selection-start-column="22" selection-end-line="25" selection-end-column="32" />
<folding /> <folding>
<element signature="e#0#30#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Remittance/List.jsx"> <entry file="file://$PROJECT_DIR$/src/sagas/user.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480"> <state relative-caret-position="282">
<caret line="78" column="32" selection-start-line="78" selection-start-column="32" selection-end-line="78" selection-end-column="32" /> <caret line="97" column="0" selection-start-line="97" selection-start-column="0" selection-end-line="97" selection-end-column="0" />
<folding /> <folding>
<element signature="e#0#38#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/variable.less"> <entry file="file://$PROJECT_DIR$/src/reducers/user.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="432">
<caret line="6" column="1" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" /> <caret line="59" column="81" selection-start-line="59" selection-start-column="81" selection-end-line="59" selection-end-column="81" />
<folding /> <folding>
<element signature="e#0#44#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Withdraw/List.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/App/App.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462"> <state relative-caret-position="-732">
<caret line="126" column="94" selection-start-line="126" selection-start-column="23" selection-end-line="126" selection-end-column="94" /> <caret line="31" column="23" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/CustomMessage/List.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Users/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462"> <state relative-caret-position="57">
<caret line="101" column="80" selection-start-line="101" selection-start-column="67" selection-end-line="101" selection-end-column="80" /> <caret line="55" column="5" selection-start-line="55" selection-start-column="5" selection-end-line="55" selection-end-column="5" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/Layout/Layout.less"> <entry file="file://$PROJECT_DIR$/src/components/MainHeader/MainHeader.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150"> <state relative-caret-position="90">
<caret line="10" column="20" selection-start-line="10" selection-start-column="20" selection-end-line="10" selection-end-column="20" /> <caret line="6" column="4" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="8" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/MainHeader/MainHeader.less"> <entry file="file://$PROJECT_DIR$/src/components/Layout/Layout.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45"> <state relative-caret-position="0">
<caret line="3" column="16" selection-start-line="3" selection-start-column="16" selection-end-line="3" selection-end-column="16" /> <caret line="0" column="9" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Trade/AddItem.jsx"> <entry file="file://$PROJECT_DIR$/src/components/MainHeader/MainHeader.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="327"> <state relative-caret-position="438">
<caret line="122" column="12" selection-start-line="122" selection-start-column="12" selection-end-line="124" selection-end-column="99" /> <caret line="32" column="32" selection-start-line="32" selection-start-column="32" selection-end-line="32" selection-end-column="32" />
<folding> <folding />
<element signature="e#0#50#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/CustomMessage/AddItem.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Product/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342"> <state relative-caret-position="165">
<caret line="69" column="99" selection-start-line="67" selection-start-column="12" selection-end-line="69" selection-end-column="99" /> <caret line="216" column="102" selection-start-line="216" selection-start-column="102" selection-end-line="216" selection-end-column="102" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/BaseFunction/BaseUpload.jsx"> <entry file="file://$PROJECT_DIR$/src/routes/index.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162"> <state relative-caret-position="237">
<caret line="53" column="33" selection-start-line="53" selection-start-column="33" selection-end-line="53" selection-end-column="33" /> <caret line="58" column="36" selection-start-line="58" selection-start-column="36" selection-end-line="58" selection-end-column="36" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Announcement/List.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Announcement/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297"> <state relative-caret-position="-1398">
<caret line="138" column="10" selection-start-line="122" selection-start-column="8" selection-end-line="138" selection-end-column="10" /> <caret line="35" column="54" selection-start-line="35" selection-start-column="54" selection-end-line="35" selection-end-column="54" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx"> <entry file="file://$PROJECT_DIR$/src/sagas/announcement.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="567"> <state relative-caret-position="255">
<caret line="85" column="50" selection-start-line="85" selection-start-column="50" selection-end-line="85" selection-end-column="50" /> <caret line="82" column="37" selection-start-line="82" selection-start-column="37" selection-end-line="82" selection-end-column="37" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#38#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/components/ProductForm/BaseInfoForm.jsx"> <entry file="file://$PROJECT_DIR$/src/reducers/announcement.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375"> <state relative-caret-position="525">
<caret line="104" column="21" selection-start-line="104" selection-start-column="21" selection-end-line="104" selection-end-column="21" /> <caret line="35" column="79" selection-start-line="35" selection-start-column="79" selection-end-line="35" selection-end-column="79" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#44#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Product/Product.less"> <entry file="file://$PROJECT_DIR$/src/containers/Remittance/List.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420"> <state relative-caret-position="570">
<caret line="28" column="38" selection-start-line="28" selection-start-column="38" selection-end-line="28" selection-end-column="38" /> <caret line="49" column="77" selection-start-line="49" selection-start-column="77" selection-end-line="49" selection-end-column="77" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Product/List.jsx"> <entry file="file://$PROJECT_DIR$/src/services/xFetch.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30"> <state relative-caret-position="345">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="82" /> <caret line="23" column="108" selection-start-line="23" selection-start-column="108" selection-end-line="23" selection-end-column="108" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/entries/index.less"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/modal/style/index.css">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510"> <state relative-caret-position="-417">
<caret line="118" column="50" selection-start-line="118" selection-start-column="50" selection-end-line="118" selection-end-column="50" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Announcement/AddItem.jsx"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/popover/style/index.css">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="387"> <state relative-caret-position="-2472">
<caret line="58" column="10" selection-start-line="0" selection-start-column="0" selection-end-line="90" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/proxy.config.js"> <entry file="file://$PROJECT_DIR$/node_modules/antd/lib/style/core/motion/fade.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45"> <state relative-caret-position="270">
<caret line="3" column="18" selection-start-line="3" selection-start-column="18" selection-end-line="3" selection-end-column="18" /> <caret line="18" column="8" selection-start-line="18" selection-start-column="8" selection-end-line="18" selection-end-column="8" />
<folding> <folding />
<element signature="n#!!doc" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Users/Additem.jsx"> <entry file="file://$PROJECT_DIR$/src/entries/index.less">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="93">
<caret line="38" column="54" selection-start-line="38" selection-start-column="54" selection-end-line="38" selection-end-column="54" /> <caret line="154" column="49" selection-start-line="154" selection-start-column="49" selection-end-line="154" selection-end-column="49" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Trade/List.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/CustomMessage/Item.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510"> <state relative-caret-position="-135">
<caret line="98" column="22" selection-start-line="0" selection-start-column="0" selection-end-line="238" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/reducers/user.js"> <entry file="file://$PROJECT_DIR$/src/containers/CustomMessage/AddItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="447"> <state relative-caret-position="342">
<caret line="39" column="83" selection-start-line="39" selection-start-column="83" selection-end-line="39" selection-end-column="83" /> <caret line="69" column="99" selection-start-line="67" selection-start-column="12" selection-end-line="69" selection-end-column="99" />
<folding> <folding />
<element signature="e#0#44#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/sagas/trade.js"> <entry file="file://$PROJECT_DIR$/src/reducers/withdraw.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147"> <state relative-caret-position="417">
<caret line="11" column="19" selection-start-line="11" selection-start-column="19" selection-end-line="11" selection-end-column="19" /> <caret line="29" column="9" selection-start-line="29" selection-start-column="9" selection-end-line="29" selection-end-column="9" />
<folding> <folding />
<element signature="e#0#38#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/sagas/user.js"> <entry file="file://$PROJECT_DIR$/src/utils.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="249">
<caret line="51" column="17" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="17" /> <caret line="148" column="37" selection-start-line="148" selection-start-column="4" selection-end-line="148" selection-end-column="37" />
<folding> <folding />
<element signature="e#0#38#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/index.js"> <entry file="file://$PROJECT_DIR$/src/containers/Announcement/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="360"> <state relative-caret-position="-468">
<caret line="24" column="16" selection-start-line="24" selection-start-column="7" selection-end-line="24" selection-end-column="16" /> <caret line="80" column="107" selection-start-line="79" selection-start-column="24" selection-end-line="80" selection-end-column="107" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/routes/index.js"> <entry file="file://$PROJECT_DIR$/src/containers/Users/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570"> <state relative-caret-position="-615">
<caret line="80" column="72" selection-start-line="80" selection-start-column="72" selection-end-line="80" selection-end-column="72" /> <caret line="87" column="29" selection-start-line="87" selection-start-column="29" selection-end-line="87" selection-end-column="29" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/App/App.less"> <entry file="file://$PROJECT_DIR$/src/components/ProductForm/BaseInfoForm.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="423"> <state relative-caret-position="540">
<caret line="31" column="23" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" /> <caret line="161" column="32" selection-start-line="154" selection-start-column="24" selection-end-line="161" selection-end-column="32" />
<folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/proxy.config.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="6" column="2" selection-start-line="6" selection-start-column="2" selection-end-line="6" selection-end-column="2" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/App/App.jsx"> <entry file="file://$PROJECT_DIR$/src/sagas/product.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="447"> <state relative-caret-position="-1323">
<caret line="110" column="70" selection-start-line="110" selection-start-column="70" selection-end-line="110" selection-end-column="70" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#38#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/services/xFetch.js"> <entry file="file://$PROJECT_DIR$/src/reducers/product.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="522">
<caret line="25" column="35" selection-start-line="25" selection-start-column="35" selection-end-line="25" selection-end-column="35" /> <caret line="50" column="16" selection-start-line="50" selection-start-column="16" selection-end-line="50" selection-end-column="16" />
<folding /> <folding>
<element signature="e#0#44#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/services/user.js"> <entry file="file://$PROJECT_DIR$/src/containers/Remittance/PassItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330"> <state relative-caret-position="429">
<caret line="22" column="27" selection-start-line="22" selection-start-column="27" selection-end-line="22" selection-end-column="27" /> <caret line="117" column="10" selection-start-line="97" selection-start-column="8" selection-end-line="117" selection-end-column="10" />
<folding> <folding>
<element signature="e#0#30#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/containers/Users/List.jsx"> <entry file="file://$PROJECT_DIR$/src/containers/Product/EditItem.jsx">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210"> <state relative-caret-position="-18">
<caret line="51" column="18" selection-start-line="51" selection-start-column="18" selection-end-line="51" selection-end-column="18" /> <caret line="95" column="0" selection-start-line="95" selection-start-column="0" selection-end-line="95" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#50#0" expanded="true" /> <element signature="e#0#50#0" expanded="true" />
</folding> </folding>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
// - https://github.com/dora-js/dora-plugin-proxy#规则定义 // - https://github.com/dora-js/dora-plugin-proxy#规则定义
module.exports = { module.exports = {
// '/api/*': 'http://react.yanky.cn/', '/api/*': 'http://react.yanky.cn/',
'/api/*': 'http://192.168.1.126:8080/' // '/api/*': 'http://192.168.1.126:8080/'
}; };
.layout { .layout {
font-size: 14px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100%; height: 100%;
...@@ -11,6 +10,18 @@ ...@@ -11,6 +10,18 @@
width: 100%; width: 100%;
& > div { & > div {
height: 100%; height: 100%;
&:global(.ant-spin.ant-spin-spinning) {
width: 100%;
position: relative;
:global {
.ant-spin-dot {
position: absolute;
top: 50%;
left: 50%;
margin: -25px 0 0 -25px;
}
}
}
& > :global(.ant-spin-container) { & > :global(.ant-spin-container) {
height: 100%; height: 100%;
& > :global(.ant-form-horizontal) { & > :global(.ant-form-horizontal) {
......
...@@ -3,7 +3,8 @@ import React, {Component, PropTypes} from 'react'; ...@@ -3,7 +3,8 @@ import React, {Component, PropTypes} from 'react';
import { import {
Row, Row,
Col, Col,
Breadcrumb Breadcrumb,
Icon
} from 'antd'; } from 'antd';
...@@ -24,6 +25,7 @@ export default class MainHeader extends Component { ...@@ -24,6 +25,7 @@ export default class MainHeader extends Component {
<Row className={styles.header} type="flex" justify="space-around" align="middle"> <Row className={styles.header} type="flex" justify="space-around" align="middle">
<Col span="16" style={{paddingLeft: 20}}> <Col span="16" style={{paddingLeft: 20}}>
<h1>{title}</h1> <h1>{title}</h1>
<Icon type="heart"/>
<Breadcrumb> <Breadcrumb>
{ breadcrumb.map((b, i)=><Breadcrumb.Item key={i}>{b}</Breadcrumb.Item>) } { breadcrumb.map((b, i)=><Breadcrumb.Item key={i}>{b}</Breadcrumb.Item>) }
</Breadcrumb> </Breadcrumb>
......
...@@ -17,14 +17,21 @@ ...@@ -17,14 +17,21 @@
font-size: 18px; font-size: 18px;
margin-top: 5px; margin-top: 5px;
} }
:global { :global {
.ant-breadcrumb { .ant-breadcrumb {
color: #ccc; color: #ccc;
font-weight: 300; font-weight: 300;
display: inline-block;
& > span:last-child { & > span:last-child {
color: #aaa; color: #aaa;
} }
} }
.anticon.anticon-heart {
color: #93cc93;
margin-right: 5px;
font-size: 10px;
}
} }
} }
...@@ -32,4 +39,5 @@ ...@@ -32,4 +39,5 @@
padding: 10px 20px; padding: 10px 20px;
.borderBottom; .borderBottom;
} }
} }
...@@ -27,12 +27,15 @@ import {formItemLayout, footerFormSubmitLayout} from '../../utils'; ...@@ -27,12 +27,15 @@ import {formItemLayout, footerFormSubmitLayout} from '../../utils';
@connect(state=>({ @connect(state=>({
loading: state.announcement.loading, loading: state.announcement.loading,
announcement: state.announcement.item, item: state.announcement.item,
})) }))
@Form.create() @Form.create()
export default class EditItem extends Component { export default class EditItem extends Component {
constructor() { constructor() {
super(...arguments); super(...arguments);
this.state = {
isEdit: false
}
} }
...@@ -40,6 +43,10 @@ export default class EditItem extends Component { ...@@ -40,6 +43,10 @@ export default class EditItem extends Component {
this.fetchItem(this.props.params.id); this.fetchItem(this.props.params.id);
}; };
componentWillReceiveProps(nextProps){
}
fetchItem(id) { fetchItem(id) {
this.props.dispatch({ this.props.dispatch({
type: 'FETCH_ANNOUNCEMENT_ITEM', type: 'FETCH_ANNOUNCEMENT_ITEM',
...@@ -50,7 +57,7 @@ export default class EditItem extends Component { ...@@ -50,7 +57,7 @@ export default class EditItem extends Component {
handleSubmit(e) { handleSubmit(e) {
e.preventDefault(); e.preventDefault();
const data = this.props.form.getFieldsValue(); const data = this.props.form.getFieldsValue();
data.id = this.props.announcement.id; data.id = this.props.item.id;
console.log(data); console.log(data);
this.props.dispatch({ this.props.dispatch({
type: 'UPDATE_ANNOUNCEMENT_ITEM', type: 'UPDATE_ANNOUNCEMENT_ITEM',
...@@ -59,48 +66,80 @@ export default class EditItem extends Component { ...@@ -59,48 +66,80 @@ export default class EditItem extends Component {
} }
render() { render() {
const {announcement, loading, form:{getFieldProps}, location:{query}} = this.props; const {item, loading, form:{getFieldProps}, location:{query}} = this.props;
const {isEdit} = this.state;
const operation = ( const operation = (
<div style={{textAlign:'right'}}> <div style={{textAlign:'right'}}>
<Button.Group> <Button.Group>
<Button type="ghost" onClick={e=>{e.preventDefault(); this.props.history.goBack();}}> <Button type="ghost" onClick={e=>{e.preventDefault(); this.setState({isEdit: !this.state.isEdit})}}>
<Icon type="edit"/>
</Button>
<Button type="ghost" onClick={e=>{
e.preventDefault();
isEdit ? this.setState({isEdit: !this.state.isEdit}) : this.props.history.goBack();
}}>
<Icon type="rollback"/> <Icon type="rollback"/>
</Button> </Button>
</Button.Group> </Button.Group>
</div> </div>
); );
const breadcrumb = ['产品管理', '产品详情'];
const titlePart = isEdit ? '修改公告' : '公告详情';
const title = (item && item.title ? item.title + ' - ' : '') + titlePart;
breadcrumb.push(titlePart);
const header = ( const header = (
<MainHeader breadcrumb={['产品管理', '产品详情', '修改公告']} <MainHeader breadcrumb={breadcrumb} title={title} operation={operation}/>
title={(query && query.title ? query.title + ' - ' : '') + '修改公告'}
operation={operation}
/>
); );
return ( return (
<Layout header={header}> <Layout header={header}>
<Spin spinning={loading}> <Spin spinning={loading}>
{ {
announcement && item &&
<Form className="main-form" horizontal onSubmit={this.handleSubmit.bind(this)}> <Form className="main-form" horizontal onSubmit={this.handleSubmit.bind(this)}>
<Form.Item label="标题" {...formItemLayout}> <Form.Item label="标题" {...formItemLayout}>
<Input placeholder="公告标题" {
{...getFieldProps('title', { isEdit ?
initialValue: announcement.title <Input placeholder="公告标题"
})} /> {...getFieldProps('title', {
initialValue: item.title
})} />
:
item.title
}
</Form.Item> </Form.Item>
<Form.Item label="内容" {...formItemLayout}> <Form.Item label="内容" {...formItemLayout}>
<Input placeholder="公告内容" autosize={{ minRows: 5 }} type="textarea" {
{...getFieldProps('announcement', { isEdit ?
initialValue: announcement.announcement <Input placeholder="公告内容" autosize={{ minRows: 5 }} type="textarea"
})} /> {...getFieldProps('announcement', {
initialValue: item.announcement
})} />
: item.announcement
}
</Form.Item> </Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}> <Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
<Button type="primary" htmlType="submit" loading={loading}><Icon {
type="save"/>修改</Button> isEdit ?
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}} <Button type="primary" htmlType="submit" loading={loading}>
style={{marginLeft:'1em'}}> <Icon type="save"/>修改
</Button>
:
<Button type="primary"
onClick={e=>{e.preventDefault(); this.setState({isEdit: !this.state.isEdit})}}>
<Icon type="edit"/>编辑
</Button>
}
<Button style={{marginLeft:'1em'}} onClick={e=>{
e.preventDefault();
isEdit ? this.setState({isEdit: !this.state.isEdit}) : this.props.history.goBack();
}}>
<Icon type="rollback"/>返回 <Icon type="rollback"/>返回
</Button> </Button>
</Form.Item> </Form.Item>
......
...@@ -33,7 +33,7 @@ export default class List extends Component { ...@@ -33,7 +33,7 @@ export default class List extends Component {
}; };
handleRowClick({id}) { handleRowClick({id}) {
this.props.history.push('/announcement/' + id + '/edit'); this.props.history.push('/announcement/' + id );
} }
handleFilterVisible() { handleFilterVisible() {
......
...@@ -23,57 +23,96 @@ export default class App extends Component { ...@@ -23,57 +23,96 @@ export default class App extends Component {
render() { render() {
const styles = require('./App.less'); const styles = require('./App.less');
const mainMenu = [ const menu = [
{ {
title: '产品管理', title: '业务管理',
icon: 'mail',
items: [ items: [
{ {
to: '/products', title: '产品管理',
cn: '产品列表', items: [
en: 'Products' {
to: '/products',
cn: '产品列表',
en: 'Products'
}, {
to: '/products/create',
cn: '添加产品',
en: 'Add Products'
}
]
}, { }, {
to: '/products/create', title: '订单管理',
cn: '添加产品', items: [
en: 'Add Products' {
} to: '/trades',
] cn: '订单列表',
}, { en: 'Trades'
title: '订单管理', }
items: [ ]
{ }, {
to: '/trades', title: '审核管理',
cn: '订单列表', items: [
en: 'Trades' {
to: '/remittance/audits',
cn: '报单审核',
en: 'Remittance Audits'
}, {
to: '/withdraw/audits',
cn: '提现审核',
en: 'Withdraw Money'
}
]
}, {
title: '消息管理',
items: [
{
to: '/customMessages',
cn: '消息列表',
en: 'Messages'
}, {
to: '/customMessages/create',
cn: '推送消息',
en: 'Send Message'
}
]
} }
] ]
}, { }, {
title: '审核管理', title: '基础功能',
icon: 'folder',
items: [ items: [
{ {
to: '/remittance/audits', title: '文件管理',
cn: '报单审核', items: [
en: 'Remittance Audits' {
}, { to: '/upload',
to: '/withdraw/audits', cn: '图片上传',
cn: '提现审核', en: 'Upload Images'
en: 'Withdraw Money' }
]
} }
] ]
}, { }, {
title: '消息管理', title: '管理员',
icon: 'folder',
items: [ items: [
{ {
to: '/customMessages', title: '用户管理',
cn: '消息列表', items: [
en: 'Messages' {
}, { to: '/admin/users',
to: '/customMessages/create', cn: '用户列表',
cn: '推送消息', en: 'Users'
en: 'Send Message' }, {
to: '/admin/users/create',
cn: '创建用户',
en: 'Create user'
}
]
} }
] ]
} }];
];
const {user} = this.props; const {user} = this.props;
...@@ -86,37 +125,22 @@ export default class App extends Component { ...@@ -86,37 +125,22 @@ export default class App extends Component {
</header> </header>
<section> <section>
<Menu mode="inline" defaultOpenKeys={['sub1']}> <Menu mode="inline" defaultOpenKeys={['sub1']}>
<SubMenu key="sub1" title={<span><Icon type="mail" /><span>业务管理</span></span>}> {user && user.token &&
{ menu.map((submenu, si)=>
user && user.token && <SubMenu key={'submenu'+si} title={
mainMenu.map((menu, mi)=> <span><Icon type={submenu.icon} /><span>{submenu.title}</span></span>
<MenuItemGroup title={menu.title} key={mi}> }>
{ {submenu.items.map((menus, mi)=>
menu.items.map((item, ii)=> <MenuItemGroup key={'menu-item-group-'+si+'-'+ mi} title={menus.title}>
<Menu.Item key={[mi,ii].join('-')}> {menus.items.map((item, ii)=>
<MenuItemContent {...item}/> <Menu.Item key={[si, mi,ii].join('-')}>
</Menu.Item> <MenuItemContent {...item}/>
) </Menu.Item>
} )}
</MenuItemGroup> </MenuItemGroup>
) )}
} </SubMenu>
</SubMenu> )}
<SubMenu key="sub2" title={<span><Icon type="folder" /><span>基本功能</span></span>}>
<Menu.Item>
<MenuItemContent to="/upload" cn="图片上传" en="Upload Images"/>
</Menu.Item>
</SubMenu>
<SubMenu key="sub3" title={<span><Icon type="folder" /><span>管理员</span></span>}>
<MenuItemGroup title='用户管理' key='users'>
<Menu.Item>
<MenuItemContent to="/admin/users" cn="用户列表" en="Users"/>
</Menu.Item>
<Menu.Item>
<MenuItemContent to="/admin/users/create" cn="创建用户" en="Create users"/>
</Menu.Item>
</MenuItemGroup>
</SubMenu>
</Menu> </Menu>
</section> </section>
<footer> <footer>
...@@ -173,6 +197,37 @@ class MenuItemContent extends Component { ...@@ -173,6 +197,37 @@ class MenuItemContent extends Component {
//<div className={styles.normal}></div> //<div className={styles.normal}></div>
// <SubMenu key="sub1" title={<span><Icon type="mail" /><span>业务管理</span></span>}>
// {
// user && user.token &&
// mainMenu.map((menu, mi)=>
// <MenuItemGroup title={menu.title} key={mi}>
// {
// menu.items.map((item, ii)=>
// <Menu.Item key={[mi,ii].join('-')}>
// <MenuItemContent {...item}/>
// </Menu.Item>
// )
// }
// </MenuItemGroup>
// )
// }
// </SubMenu>
// <SubMenu key="sub2" title={<span><Icon type="folder" /><span>基本功能</span></span>}>
// <Menu.Item>
// <MenuItemContent to="/upload" cn="图片上传" en="Upload Images"/>
// </Menu.Item>
// </SubMenu>
// <SubMenu key="sub3" title={<span><Icon type="folder" /><span>管理员</span></span>}>
// <MenuItemGroup title='用户管理' key='users'>
// <Menu.Item>
// <MenuItemContent to="/admin/users" cn="用户列表" en="Users"/>
// </Menu.Item>
// <Menu.Item>
// <MenuItemContent to="/admin/users/create" cn="创建用户" en="Create users"/>
// </Menu.Item>
// </MenuItemGroup>
// </SubMenu>
......
...@@ -48,11 +48,14 @@ export default class EditItem extends Component { ...@@ -48,11 +48,14 @@ export default class EditItem extends Component {
constructor() { constructor() {
super(...arguments); super(...arguments);
this.state = {
isEdit: false
}
} }
componentWillMount() { componentDidMount() {
if (!this.props.cates.length) { if (!(this.props.cates && this.props.cates.length)) {
this.fetchCates(); this.fetchCates();
} }
this.fetchItem(this.props.params.id); this.fetchItem(this.props.params.id);
...@@ -78,43 +81,53 @@ export default class EditItem extends Component { ...@@ -78,43 +81,53 @@ export default class EditItem extends Component {
const styles = require('./Product.less'); const styles = require('./Product.less');
const tabs = [{ const tabs = [
tab: '基本信息', { tab: '基本信息', children: BaseInfoForm },
children: BaseInfoForm { tab: '收益佣金', children: ShouyiYongjingForm },
}, { { tab: '汇款账号', children: HuikuanInfoForm },
tab: '收益佣金', { tab: '基本要素', children: ElementForm },
children: ShouyiYongjingForm { tab: '时间状态', children: DateTimeStatusForm },
}, { { tab: '相关附件', children: DocumentsForm },
tab: '汇款账号', { tab: '服务经理', children: ContactForm }
children: HuikuanInfoForm ].map((tabPane, index)=> {
}, {
tab: '基本要素',
children: ElementForm
}, {
tab: '时间状态',
children: DateTimeStatusForm
}, {
tab: '相关附件',
children: DocumentsForm
}, {
tab: '服务经理',
children: ContactForm
}].map((tabPane, index)=> {
tabPane.key = 'tabs-pane-' + (index + 1); tabPane.key = 'tabs-pane-' + (index + 1);
return tabPane; return tabPane;
}); });
const {isEdit} = this.state;
const operation = (
<div style={{textAlign:'right'}}>
<Button.Group>
{
product &&
<Button type="ghost"
onClick={e=>{e.preventDefault(); this.setState({isEdit: !this.state.isEdit})}}>
<Icon type="edit"/>
</Button>
}
<Button type="ghost" onClick={e=>{
e.preventDefault();
isEdit ?
this.setState({isEdit: !this.state.isEdit}) :
this.props.history.goBack();
}}>
<Icon type="rollback"/>
</Button>
</Button.Group>
</div>
);
const header = (<MainHeader breadcrumb={['产品管理', '产品详情']} const title = (product && product.itemShortTitle ? product.itemShortTitle + ' - ' : '') + '产品详情';
title={(product && product.itemShortTitle ? product.itemShortTitle + ' - ' : '') + '产品详情'}/>);
const header = (<MainHeader breadcrumb={['产品管理', '产品详情']} title={title} operation={operation}/>);
return ( return (
<Layout header={header}> <Layout header={header}>
<Tabs className={styles.tabs} tabPosition="left"> <Tabs className={styles.tabs} tabPosition="left">
{ tabs.map(tp=> { tabs.map(tp=>
<Tabs.TabPane tab={tp.tab} key={tp.key}> <Tabs.TabPane tab={tp.tab} key={tp.key}>
{product && <tp.children {...this.props} /> } {product && <tp.children {...this.props} isEdit={isEdit} /> }
</Tabs.TabPane> </Tabs.TabPane>
)} )}
</Tabs> </Tabs>
......
...@@ -12,7 +12,8 @@ import { ...@@ -12,7 +12,8 @@ import {
footerFormSubmitLayout, footerFormSubmitLayout,
handleUpload, handleUpload,
filterFormItemLayout, filterFormItemLayout,
PRODUCT_STATUS PRODUCT_STATUS,
filterFormItemStyle
} from '../../utils'; } from '../../utils';
import {Link} from 'react-router'; import {Link} from 'react-router';
...@@ -197,10 +198,7 @@ export default class List extends Component { ...@@ -197,10 +198,7 @@ export default class List extends Component {
</div> </div>
); );
const searchStyle = {
size: 'default',
style: {width: 100}
}
const header = ( const header = (
<MainHeader breadcrumb={['产品管理', '产品列表']} <MainHeader breadcrumb={['产品管理', '产品列表']}
...@@ -211,21 +209,21 @@ export default class List extends Component { ...@@ -211,21 +209,21 @@ export default class List extends Component {
this.state.filterVisible && this.state.filterVisible &&
<Form className="filterForm" inline onSubmit={this.handleFilterSubmit.bind(this)}> <Form className="filterForm" inline onSubmit={this.handleFilterSubmit.bind(this)}>
<Form.Item label="ID"> <Form.Item label="ID">
<Input placeholder="请输入搜索ID" {...searchStyle} {...getFieldProps('id')}/> <Input placeholder="请输入搜索ID" {...filterFormItemStyle} {...getFieldProps('id')}/>
</Form.Item> </Form.Item>
<Form.Item label="类目"> <Form.Item label="类目">
{ {
cates && cates &&
<Cascader options={cates} placeholder="请选产品类目" {...searchStyle} <Cascader options={cates} placeholder="请选产品类目" {...filterFormItemStyle}
{...getFieldProps('categoryId')} {...getFieldProps('categoryId')}
/> />
} }
</Form.Item> </Form.Item>
<Form.Item label="标题"> <Form.Item label="标题">
<Input placeholder="请输入搜索标题" {...searchStyle} {...getFieldProps('title')}/> <Input placeholder="请输入搜索标题" {...filterFormItemStyle} {...getFieldProps('title')}/>
</Form.Item> </Form.Item>
<Form.Item label="状态"> <Form.Item label="状态">
<Select placeholder="请选择状态" {...searchStyle} {...getFieldProps('status')}> <Select placeholder="请选择状态" {...filterFormItemStyle} {...getFieldProps('status')}>
<Select.Option key="status-option-default" <Select.Option key="status-option-default"
value={null}>请选择</Select.Option> value={null}>请选择</Select.Option>
{ {
......
...@@ -39,9 +39,13 @@ import { ...@@ -39,9 +39,13 @@ import {
export default class PassItem extends Component { export default class PassItem extends Component {
constructor() { constructor() {
super(...arguments); super(...arguments);
this.state = {
isEdit: false,
priviewVisible: false,
priviewImage: ''
}
} }
componentDidMount() { componentDidMount() {
this.fetchItem(this.props.params.id); this.fetchItem(this.props.params.id);
}; };
...@@ -73,13 +77,13 @@ export default class PassItem extends Component { ...@@ -73,13 +77,13 @@ export default class PassItem extends Component {
let title = (audit && audit.itemShortTitle ? audit.itemShortTitle + ' - ' : ''); let title = (audit && audit.itemShortTitle ? audit.itemShortTitle + ' - ' : '');
let readOnly = true; const isEdit = audit && audit.status == 1 && this.state.isEdit;
if (audit) { if (audit) {
switch (audit.status) { switch (audit.status) {
case 1: case 1:
title += '报单审核详情'; title += '报单审核详情';
readOnly = false;
break; break;
case 5: case 5:
title += '审核失败'; title += '审核失败';
...@@ -91,9 +95,43 @@ export default class PassItem extends Component { ...@@ -91,9 +95,43 @@ export default class PassItem extends Component {
title += '报单审核详情'; title += '报单审核详情';
} }
const header = (<MainHeader breadcrumb={['审核管理', '报单审核','审核详情']} title={title}/>); const operation = (
<div style={{textAlign:'right'}}>
<Button.Group>
{
audit && audit.status == 1 &&
<Button type="ghost"
onClick={e=>{e.preventDefault(); this.setState({isEdit: !this.state.isEdit})}}>
<Icon type="edit"/>
</Button>
}
<Button type="ghost" onClick={e=>{
e.preventDefault();
isEdit ?
this.setState({isEdit: !this.state.isEdit}) :
this.props.history.goBack();
}}>
<Icon type="rollback"/>
</Button>
</Button.Group>
</div>
);
const imgStyle = {maxWidth: '400px'}; const header = (<MainHeader breadcrumb={['审核管理', '报单审核','审核详情']} title={title} operation={operation}/>);
const filayout = {...formItemLayout, labelCol: {span: 6}};
const imgProps = (src)=>({
src: src + '!t',
style: {maxWidth: 200, maxHeight: 160},
onClick: e => {
e.preventDefault();
this.setState({
priviewVisible: true,
priviewImage: src
});
}
});
return ( return (
...@@ -101,124 +139,170 @@ export default class PassItem extends Component { ...@@ -101,124 +139,170 @@ export default class PassItem extends Component {
<Spin spinning={loading}> <Spin spinning={loading}>
{ {
audit && audit &&
<Form horizontal> <Form className="main-form" horizontal>
<Form.Item label="报单时间" {...smallFormItemLayout}> <Row style={{padding:'0 20px'}}>
<Input placeholder="报单时间" readOnly <Col span="12">
defaultValue={audit.dateCreated && formatDateTime(audit.dateCreated) || '错误的时间'} <Form.Item label="报单时间" {...filayout}>
/> {audit.dateCreated && formatDateTime(audit.dateCreated) || '错误的时间'}
</Form.Item> </Form.Item>
<Form.Item label="产品募集情况" {...smallFormItemLayout}> <Form.Item label="产品募集情况" {...filayout}>
<Input placeholder="产品募集情况" readOnly {'已募集:' + audit.fundRaisedOver + '、募集目标:' + audit.fundRaisedTarget}
defaultValue={'已募集:'+audit.fundRaisedOver+'、募集目标:'+audit.fundRaisedTarget} </Form.Item>
/> <Form.Item label="预约姓名" {...filayout}>
</Form.Item> {audit.buyerName}
<Form.Item label="预约金额" {...smallFormItemLayout}> </Form.Item>
<Input placeholder="预约金额" readOnly defaultValue={audit.reservationAmount}/> <Form.Item label="预约金额" {...filayout}>
</Form.Item> {audit.reservationAmount}
<Form.Item label="实际入账金额" help="实际入账金额,请核对打款凭条" {...smallFormItemLayout}> </Form.Item>
<Input placeholder="实际入账金额" readOnly={readOnly} {
{...getFieldProps('remittanceAmount', { isEdit ?
initialValue: audit.remittanceAmount <Form.Item label="实际入账金额" help="实际入账金额,请核对打款凭条" {...filayout}>
})} /> <Input placeholder="实际入账金额"
</Form.Item> {...getFieldProps('remittanceAmount', {
<Form.Item label="预约姓名" {...smallFormItemLayout}> initialValue: audit.remittanceAmount
<Input placeholder="预约姓名" readOnly defaultValue={audit.buyerName}/> })} />
</Form.Item> </Form.Item>
<Form.Item label="投资人姓名" help="真实的投资人姓名,请核对身份证照片上的姓名" {...smallFormItemLayout}> :
<Input placeholder="投资人姓名" readOnly={readOnly} <Form.Item label="实际入账金额" {...filayout}>
{...getFieldProps('realName', { {audit.remittanceAmount}
initialValue: audit.realName </Form.Item>
})} /> }
</Form.Item> {
<Form.Item label="投资人身份证号码" help="真实的投资人身份证号码,请核对身份证照片上的号码" {...smallFormItemLayout}> isEdit ?
<Input placeholder="投资人身份证号码" readOnly={readOnly} <Form.Item label="投资人姓名" help="真实的投资人姓名,请核对身份证照片上的姓名" {...filayout}>
{...getFieldProps('identityCardNumber', { <Input placeholder="投资人姓名"
initialValue: audit.identityCardNumber {...getFieldProps('realName', {
})} /> initialValue: audit.realName
</Form.Item> })} />
<Form.Item label="投资人身份证照片" {...smallFormItemLayout}> </Form.Item>
{ :
audit.identityCardFront && audit.identityCardBack ? <Form.Item label="投资人姓名" {...filayout}>
<p> {audit.realName}
<a href={audit.identityCardFront} target="_blank"> </Form.Item>
<img src={audit.identityCardFront} style={imgStyle}/> }
</a> {
<a href={audit.identityCardBack} target="_blank"> isEdit ?
<img src={audit.identityCardBack} style={imgStyle}/> <Form.Item label="投资人身份证号码" help="真实的投资人身份证号码,请核对身份证照片上的号码" {...filayout}>
</a> <Input placeholder="投资人身份证号码"
</p> {...getFieldProps('identityCardNumber', {
: initialValue: audit.identityCardNumber
<p style={{color:'#f00'}}> })} />
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/> </Form.Item>
身份证照片未上传,请拒绝! :
</p> <Form.Item label="投资人身份证号码" {...filayout}>
} {audit.identityCardNumber}
</Form.Item> </Form.Item>
<Form.Item label="投资人银行卡照片" {...smallFormItemLayout}> }
{ {
audit.bankCardPic ? isEdit &&
<a href={audit.bankCardPic} target="_blank"> <Form.Item label="拒绝理由" {...filayout}>
<img src={audit.bankCardPic} style={imgStyle}/> <Input placeholder="拒绝理由"
</a> {...getFieldProps('memo', {
: initialValue: audit.memo
<p style={{color:'#f00'}}> })} />
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/> </Form.Item>
银行卡照片未上传,请拒绝! }
</p> <Form.Item wrapperCol={{span: 16, offset: 6}} style={{marginTop:30}}>
} {
</Form.Item> audit.status == 1 && (
<Form.Item label="投资人打款凭条" {...smallFormItemLayout}> isEdit ?
{ <span>
audit.remittanceReceipt ? <Button size="large" type="primary"
<a href={audit.remittanceReceipt} target="_blank"> onClick={this.handleSubmit.bind(this, 9)}>
<img src={audit.remittanceReceipt} style={imgStyle}/> <Icon type="check-circle-o"/>通过
</a> </Button>
: <Button size="large" type="ghost"
<p style={{color:'#f00'}}> onClick={this.handleSubmit.bind(this, 5)}
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/> style={{margin:'auto 1em' }}>
打款凭条照片未上传,请拒绝! <Icon type="cross-circle-o"/>拒绝
</p> </Button>
} </span>
:
</Form.Item> <Button type="primary"
<Form.Item label="投资人签字页" {...smallFormItemLayout}> style={{marginRight:'1em'}}
{ onClick={ e=>{
audit.signaturePages.length ? e.preventDefault();
audit.signaturePages.map((img, index)=> this.setState({isEdit: !this.state.isEdit})
<a href={img} target="_blank"> }}>
<img key={index} src={img} style={imgStyle}/> <Icon type="edit"/>审核
</a> </Button>
) )
: }
<p style={{color:'#f00'}}> <Button onClick={e=>{
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/> e.preventDefault();
签字页照片未上传,请拒绝! isEdit ?
</p> this.setState({isEdit: !this.state.isEdit}) :
} this.props.history.goBack();
</Form.Item> }}>
<Form.Item label="拒绝理由" {...smallFormItemLayout}> <Icon type="rollback"/>返回
<Input placeholder="拒绝理由" readOnly={readOnly}
{...getFieldProps('memo', {
initialValue: audit.memo
})} />
</Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
{
audit.status == 1 &&
<span>
<Button size="large" type="primary" onClick={this.handleSubmit.bind(this, 9)}>
<Icon type="check-circle-o" />通过
</Button> </Button>
<Button size="large" type="ghost" onClick={this.handleSubmit.bind(this, 5)} </Form.Item>
style={{margin:'auto 1em' }}> </Col>
<Icon type="cross-circle-o" />拒绝 <Col span="12">
</Button> <Form.Item label="投资人身份证照片">
</span> {
} audit.identityCardFront ?
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}}> <img {...imgProps(audit.identityCardFront)}/>
<Icon type="rollback"/>返回 :
</Button> <p style={{color:'#f00'}}>
</Form.Item> <Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/>
身份证正面照片未上传,请拒绝!
</p>
}
{
audit.identityCardBack ?
<img {...imgProps(audit.identityCardBack)}/>
:
<p style={{color:'#f00'}}>
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/>
身份证反面照片未上传,请拒绝!
</p>
}
</Form.Item>
<Form.Item label="投资人银行卡照片">
{
audit.bankCardPic ?
<img {...imgProps(audit.bankCardPic)}/>
:
<p style={{color:'#f00'}}>
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/>
银行卡照片未上传,请拒绝!
</p>
}
</Form.Item>
<Form.Item label="投资人打款凭条">
{
audit.remittanceReceipt ?
<img {...imgProps(audit.remittanceReceipt)}/>
:
<p style={{color:'#f00'}}>
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/>
打款凭条照片未上传,请拒绝!
</p>
}
</Form.Item>
<Form.Item label="投资人签字页">
{
audit.signaturePages.length ?
audit.signaturePages.map((img, index)=>
<img key={index} {...imgProps(img)}/>
)
:
<p style={{color:'#f00'}}>
<Icon type="cross-circle-o" style={{ marginRight:'.5em'}}/>
签字页照片未上传,请拒绝!
</p>
}
</Form.Item>
</Col>
</Row>
<Modal className="img-priview-dialog" footer={null}
visible={this.state.priviewVisible}
onCancel={()=>this.setState({ priviewVisible: false })}>
<img src={this.state.priviewImage}/>
</Modal>
</Form> </Form>
} }
</Spin> </Spin>
......
import React, {Component, PropTypes} from 'react';
import {connect} from 'react-redux';
import {
Row,
Col,
Form,
Input,
Button,
Checkbox,
Select,
message,
Tabs,
Cascader,
Radio,
Upload,
Icon,
Modal,
DatePicker,
Table,
Spin
} from 'antd';
import Layout from '../../components/Layout/Layout';
import MainHeader from '../../components/MainHeader/MainHeader';
import {
formItemLayout,
smallFormItemLayout,
footerFormSubmitLayout,
userStatusToString,
formatDateTime
} from '../../utils';
@connect(state=>({
loading: state.user.loading,
item: state.user.item,
}))
@Form.create()
export default class EditItem extends Component {
constructor() {
super(...arguments);
this.state = {
isEdit: false
}
}
componentDidMount() {
this.fetchItem(this.props.params.id);
};
fetchItem(id) {
this.props.dispatch({
type: 'FETCH_USER_ITEM',
id
});
};
handleSubmit(status, e) {
e.preventDefault();
let data = {};
if (status == 1 || status == 0) {
data.status = status;
} else {
data = this.props.form.getFieldsValue();
}
data.id = this.props.params.id;
console.log(data);
this.props.dispatch({
type: 'UPDATE_USER_ITEM',
data
});
}
render() {
const {item, loading, form:{getFieldProps}, location:{query}} = this.props;
const {isEdit} = this.state;
const operation = (
<div style={{textAlign:'right'}}>
<Button.Group>
<Button type="ghost" onClick={e=>{e.preventDefault(); this.setState({isEdit: !this.state.isEdit})}}>
<Icon type="edit"/>
</Button>
<Button type="ghost" onClick={e=>{e.preventDefault(); this.props.history.goBack();}}>
<Icon type="rollback"/>
</Button>
</Button.Group>
</div>
);
const header = (
<MainHeader breadcrumb={['用户管理', '用户详情']}
title={(query && query.title ? query.title + ' - ' : '') + '用户详情'}
operation={operation}
/>
);
return (
<Layout header={header}>
<Spin spinning={loading}>
{
item &&
<Form className="main-form" horizontal>
<Form.Item label="用户名" {...smallFormItemLayout}>
{ item.username }
</Form.Item>
<Form.Item label="状态" {...smallFormItemLayout}>
{userStatusToString(item.status)}
</Form.Item>
<Form.Item label="昵称" {...smallFormItemLayout}>
{
isEdit ?
<Input {...getFieldProps('nick', {initialValue: item.nick})} />
:
item.nick
}
</Form.Item>
<Form.Item label="E-mail" {...smallFormItemLayout}>
{
isEdit ?
<Input {...getFieldProps('email', {initialValue: item.email})} />
:
item.email
}
</Form.Item>
<Form.Item label="手机号" {...smallFormItemLayout}>
{
isEdit ?
<Input {...getFieldProps('mobile', {initialValue: item.mobile})} />
:
item.mobile
}
</Form.Item>
<Form.Item label="注册时间" {...smallFormItemLayout}>
{item.dateCreated && formatDateTime(item.dateCreated)}
</Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
{
isEdit ?
<Button type="primary" onClick={this.handleSubmit.bind(this, -1)}
loading={loading}>
<Icon type="save"/>修改
</Button>
:
item.status ?
<Button type="primary" onClick={this.handleSubmit.bind(this, 0)}
loading={loading}>
<Icon type="save"/>禁用
</Button>
:
<Button type="primary" onClick={this.handleSubmit.bind(this, 1)}
loading={loading}>
<Icon type="save"/>激活
</Button>
}
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}}
style={{marginLeft:'1em'}}>
<Icon type="rollback"/>返回
</Button>
</Form.Item>
</Form>
}
</Spin>
</Layout>
);
}
}
...@@ -2,78 +2,57 @@ import React, {Component, PropTypes} from 'react'; ...@@ -2,78 +2,57 @@ import React, {Component, PropTypes} from 'react';
import {connect} from 'react-redux'; import {connect} from 'react-redux';
import {Table, Icon, Row, Col, Button, Form, Input, Cascader, Select} from 'antd'; import {Table, Icon, Row, Col, Button, Form, Input, Cascader, Select} from 'antd';
import {Link} from 'react-router'; import {Link} from 'react-router';
import {serialize, formatDateTime, tradeStatusToString} from '../../utils'; import {serialize, formatDateTime, userStatusToString, filterFormItemStyle} from '../../utils';
import Layout from '../../components/Layout/Layout'; import Layout from '../../components/Layout/Layout';
import MainHeader from '../../components/MainHeader/MainHeader'; import MainHeader from '../../components/MainHeader/MainHeader';
const columns = [ const columns = [
{ {
title: '用户ID', title: 'ID',
dataIndex: 'id', dataIndex: 'id',
key: 'id', key: 'id',
width: 70, width: 70,
// fixed:'left' // fixed:'left'
}, { }, {
title: '用户名', title: '用户名',
dataIndex: 'shortTitle', dataIndex: 'username',
key: 'shortTitle', key: 'username',
width:100,
render: (shortTitle, record)=>(<span title={shortTitle}>{(shortTitle + '').substring(0, 15)}</span>)
}, { }, {
title: '预约时间', title: '注册时间',
dataIndex: 'reservationTime', dataIndex: 'dateCreated',
key: 'reservationTime', key: 'dateCreated',
width: 150, width: 150,
className: 'tac', className: 'tac',
render: (reservationTime, record)=>( render: (dateCreated, record)=>(
<span> <span>
{reservationTime && formatDateTime(reservationTime)} {dateCreated && formatDateTime(dateCreated)}
</span> </span>
) )
}, { }, {
title: '投资人', title: '角色',
dataIndex: 'buyerName', dataIndex: 'buyerName',
key: 'buyerName', key: 'buyerName',
width: 80, width: 200,
className: 'tac', className: 'tac',
}, { }, {
title: '预约额度', title: 'E-mail',
dataIndex: 'reservationAmount', dataIndex: 'email',
key: 'reservationAmount', key: 'email',
width: 100, width: 200,
className: 'tac',
}, { }, {
title: '实际打款', title: '手机号',
dataIndex: 'remittanceAmount', dataIndex: 'mobile',
key: 'remittanceAmount', key: 'mobile',
width: 100, width: 80,
className: 'tac', className: 'tac',
}, { }, {
title: '状态', title: '状态',
dataIndex: 'status', dataIndex: 'status',
key: 'status', key: 'status',
width: 160, width: 60,
className: 'tac', className: 'tac',
render: (status, record)=>(<span data-status={status}>{tradeStatusToString(status)}</span>) render: (status, record)=>(<span data-status={status}>{userStatusToString(status)}</span>)
}, {
title: '操作',
key: 'operation',
width: 140,
// fixed:'right',
className: 'tac',
render: (text, record)=>(
<span>
<Link to={'/trades/contract/'+ record.id} onClick={e=>e.stopPropagation()}>合同</Link>
{
(record.status == 11 || record.status == 21) &&
<span>
<span className="ant-divider"></span>
<Link to={'/trades/commission/'+ record.id} onClick={e=>e.stopPropagation()}>佣金</Link>
</span>
}
</span>
)
} }
]; ];
...@@ -186,21 +165,13 @@ export default class List extends Component { ...@@ -186,21 +165,13 @@ export default class List extends Component {
this.state.filterVisible && this.state.filterVisible &&
<Form className="filterForm" inline onSubmit={this.handleFilterSubmit.bind(this)}> <Form className="filterForm" inline onSubmit={this.handleFilterSubmit.bind(this)}>
<Form.Item label="ID"> <Form.Item label="ID">
<Input placeholder="请输入搜索ID" {...searchStyle} {...getFieldProps('id')}/> <Input placeholder="请输入搜索ID" {...filterFormItemStyle} {...getFieldProps('id')}/>
</Form.Item> </Form.Item>
<Form.Item label="类目"> <Form.Item label="用户名">
{ <Input placeholder="请输入搜索用户名" {...filterFormItemStyle} {...getFieldProps('title')}/>
cates &&
<Cascader options={cates} placeholder="请选产品类目" {...searchStyle}
{...getFieldProps('categoryId')}
/>
}
</Form.Item>
<Form.Item label="标题">
<Input placeholder="请输入搜索标题" {...searchStyle} {...getFieldProps('title')}/>
</Form.Item> </Form.Item>
<Form.Item label="状态"> <Form.Item label="状态">
<Select placeholder="请选择状态" {...searchStyle} {...getFieldProps('status')}> <Select placeholder="请选择状态" {...filterFormItemStyle} {...getFieldProps('status')}>
<Select.Option key="status-option-default" <Select.Option key="status-option-default"
value={null}>请选择</Select.Option> value={null}>请选择</Select.Option>
...@@ -220,6 +191,8 @@ export default class List extends Component { ...@@ -220,6 +191,8 @@ export default class List extends Component {
</MainHeader> </MainHeader>
); );
return ( return (
<Layout header={header}> <Layout header={header}>
<Table className="list-table" columns={columns} <Table className="list-table" columns={columns}
......
...@@ -23,4 +23,5 @@ export CustomMessageItem from './CustomMessage/Item'; ...@@ -23,4 +23,5 @@ export CustomMessageItem from './CustomMessage/Item';
export BaseUpload from './BaseFunction/BaseUpload'; export BaseUpload from './BaseFunction/BaseUpload';
export UsersAddItem from './Users/Additem'; export UsersAddItem from './Users/Additem';
export UsersList from './Users/List'; export UsersList from './Users/List';
export UsersItem from './Users/EditItem';
...@@ -84,6 +84,15 @@ ...@@ -84,6 +84,15 @@
margin: 5px 0; margin: 5px 0;
} }
.ant-menu-vertical > .ant-menu-item,
.ant-menu-inline > .ant-menu-item,
.ant-menu-item-group-list > .ant-menu-item,
.ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title,
.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title,
.ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title {
line-height: 36px;
height: 36px;
}
.list-table { .list-table {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
...@@ -115,13 +124,12 @@ ...@@ -115,13 +124,12 @@
background-color: #fcfcfc; background-color: #fcfcfc;
} }
&.ant-table-row-hover, &.ant-table-row-hover,
&:hover{ &:hover {
background-color: #eaf8fe; background-color: #eaf8fe;
} }
} }
} }
& > div { & > div {
&:first-child { &:first-child {
flex: 1; flex: 1;
...@@ -136,16 +144,49 @@ ...@@ -136,16 +144,49 @@
.tac { .tac {
text-align: center !important; text-align: center !important;
} }
}
body {
.ant-modal-mask{
animation-duration: 300ms !important;
}
.img-priview-dialog { .img-priview-dialog {
animation-duration: 300ms !important;
height: 100vh;
width: 100vw;
display: flex;
top: 0;
align-items: center;
justify-content: center;
.ant-modal-content { .ant-modal-content {
background-color: transparent; background-color: transparent;
padding-bottom: 0;
img { img {
margin: auto; margin: auto;
display: block; display: block;
max-width: 100vw !important;
max-height: 100vh !important;
}
.ant-modal-close {
background: rgba(255, 255, 255, .25);
border-radius: 50%;
width: 20px;
height: 20px;
padding: 3px;
top: -10px;
right: -10px;
}
.ant-modal-body {
display: flex;
align-items: center;
justify-content: center;
padding: 0;
} }
} }
} }
} }
} }
...@@ -33,7 +33,7 @@ const announcement = handleActions({ ...@@ -33,7 +33,7 @@ const announcement = handleActions({
return {...state, loading: true} return {...state, loading: true}
}, },
['UPDATE_ANNOUNCEMENT_ITEM_SUCCESS'](state, action){ ['UPDATE_ANNOUNCEMENT_ITEM_SUCCESS'](state, action){
return {...state, loading: false, item: action.item} return {...state, loading: false, item: {...state.item, ...action.item}}
}, },
['UPDATE_ANNOUNCEMENT_ITEM_FAILED'](state, action){ ['UPDATE_ANNOUNCEMENT_ITEM_FAILED'](state, action){
return {...state, err: action.err, loading: false} return {...state, err: action.err, loading: false}
......
...@@ -41,7 +41,28 @@ const user = handleActions({ ...@@ -41,7 +41,28 @@ const user = handleActions({
}, },
['FETCH_USER_LIST_FAILED'](state, action){ ['FETCH_USER_LIST_FAILED'](state, action){
return {...state, loading: false, err: action.err}; return {...state, loading: false, err: action.err};
} },
['FETCH_USER_ITEM'](state){
return {...state, loading:true};
},
['FETCH_USER_ITEM_SUCCESS'](state, action){
return {...state, loading: false, item: action.item};
},
['FETCH_USER_ITEM_FAILED'](state, action){
return {...state, loading: false, err: action.err};
},
['UPDATE_USER_ITEM'](state){
return {...state, loading:true};
},
['UPDATE_USER_ITEM_SUCCESS'](state, action){
return {...state, loading: false, item: {...state.item, ...action.item}};
},
['UPDATE_USER_ITEM_FAILED'](state, action){
return {...state, loading: false, err: action.err};
},
}, { }, {
..._user, ..._user,
loading: false, loading: false,
......
...@@ -25,7 +25,8 @@ import { ...@@ -25,7 +25,8 @@ import {
CustomMessageItem, CustomMessageItem,
BaseUpload, BaseUpload,
UsersAddItem, UsersAddItem,
UsersList UsersList,
UsersItem
} from '../containers/index'; } from '../containers/index';
export default (store)=> { export default (store)=> {
...@@ -55,7 +56,7 @@ export default (store)=> { ...@@ -55,7 +56,7 @@ export default (store)=> {
<Route path="announcement"> <Route path="announcement">
<IndexRoute component={AnnouncementList}/> <IndexRoute component={AnnouncementList}/>
<Route path="create" component={AnnouncementAddItem}/> <Route path="create" component={AnnouncementAddItem}/>
<Route path=":id/edit" component={AnnouncementEditItem}/> <Route path=":id" component={AnnouncementEditItem}/>
</Route> </Route>
<Route path="remittance"> <Route path="remittance">
<Route path="audits"> <Route path="audits">
...@@ -79,6 +80,7 @@ export default (store)=> { ...@@ -79,6 +80,7 @@ export default (store)=> {
<Route path="users"> <Route path="users">
<IndexRoute component={UsersList} /> <IndexRoute component={UsersList} />
<Route path="create" component={UsersAddItem} /> <Route path="create" component={UsersAddItem} />
<Route path=":id" component={UsersItem} />
</Route> </Route>
</Route> </Route>
</Route> </Route>
......
...@@ -80,10 +80,10 @@ function* watchAdd() { ...@@ -80,10 +80,10 @@ function* watchAdd() {
function* editItem(data) { function* editItem(data) {
try{ try{
const item = yield call(updateItem, data); yield call(updateItem, data);
yield put({ yield put({
type: 'UPDATE_ANNOUNCEMENT_ITEM_SUCCESS', type: 'UPDATE_ANNOUNCEMENT_ITEM_SUCCESS',
item item: data
}); });
}catch(err){ }catch(err){
console.log(err); console.log(err);
......
import {takeLatest} from 'redux-saga'; import {takeLatest} from 'redux-saga';
import {take, call, put, fork, cancel} from 'redux-saga/effects'; import {take, call, put, fork, cancel} from 'redux-saga/effects';
import {fetch, clear, save, create, fetchList} from '../services/user'; import {fetch, clear, save, create, fetchList, fetchItem, updateItem} from '../services/user';
import {message} from 'antd'; import {message} from 'antd';
function* authorize(username, password, push) { function* authorize(username, password, push) {
...@@ -26,32 +26,32 @@ function* loginFlow() { ...@@ -26,32 +26,32 @@ function* loginFlow() {
} }
function* addItem(data) { function* addItem(data) {
try{ try {
yield call(create, data); yield call(create, data);
yield put({type: 'CREATE_USER_ITEM_SUCCESS'}); yield put({type: 'CREATE_USER_ITEM_SUCCESS'});
}catch(err){ } catch (err) {
console.log(err); console.log(err);
message.error(err); message.error(err);
yield put({type: 'CREATE_USER_ITEM_FAILED', err}); yield put({type: 'CREATE_USER_ITEM_FAILED', err});
} }
} }
function* watchAddItem(){ function* watchAddItem() {
while(true){ while (true) {
const {data} = yield take('CREATE_USER_ITEM'); const {data} = yield take('CREATE_USER_ITEM');
yield fork(addItem, data); yield fork(addItem, data);
} }
} }
function* getList(query){ function* getList(query) {
try{ try {
const {items, total} = yield call(fetchList, query); const {users, total} = yield call(fetchList, query);
yield put({ yield put({
type:'FETCH_USER_LIST_SUCCESS', type: 'FETCH_USER_LIST_SUCCESS',
items: items, items: users,
total total
}); });
}catch(err){ } catch (err) {
console.log(err); console.log(err);
message.error(err); message.error(err);
yield put({type: 'FETCH_USER_LIST_FAILED', err}); yield put({type: 'FETCH_USER_LIST_FAILED', err});
...@@ -59,15 +59,66 @@ function* getList(query){ ...@@ -59,15 +59,66 @@ function* getList(query){
} }
function* watchList() { function* watchList() {
while(true){ while (true) {
const {query} = yield take('FETCH_USER_LIST'); const {query} = yield take('FETCH_USER_LIST');
yield fork(getList, query); yield fork(getList, query);
} }
} }
export default function* () { function* getItem(id) {
try {
const item = yield call(fetchItem, id);
yield put({
type: 'FETCH_USER_ITEM_SUCCESS',
item: item
});
} catch (err) {
console.log(err);
message.error(err);
yield put({
type: 'FETCH_USER_ITEM_FAILED',
err
});
}
}
function* watchItem() {
while (true) {
const {id} = yield take('FETCH_USER_ITEM');
yield fork(getItem, id);
}
}
function* modifyItem(data) {
try {
yield call(updateItem, data);
yield put({
type: 'UPDATE_USER_ITEM_SUCCESS',
item: data
});
} catch (err) {
console.log(err);
message.error(err);
yield put({
type: 'UPDATE_USER_ITEM_FAILED',
err
});
}
}
function* watchMidfiyItem(){
while(true){
const {data} = yield take('UPDATE_USER_ITEM');
yield fork(modifyItem, data);
}
}
export default function*() {
yield fork(loginFlow); yield fork(loginFlow);
yield fork(watchAddItem); yield fork(watchAddItem);
yield fork(watchList); yield fork(watchList);
yield fork(watchItem);
yield fork(watchMidfiyItem);
} }
...@@ -10,15 +10,26 @@ export async function fetch(username, password) { ...@@ -10,15 +10,26 @@ export async function fetch(username, password) {
export async function create(data) { export async function create(data) {
return xFetch('/api/users', { return xFetch('/api/users', {
method:'POST', method: 'POST',
body: serialize(data) body: serialize(data)
}); });
} }
export async function fetchList(query){ export async function fetchList(query) {
return xFetch('/api/admin/users' + '?' + serialize(query)); return xFetch('/api/admin/users' + '?' + serialize(query));
} }
export async function fetchItem(id) {
return xFetch('/api/admin/users/' + id);
}
export async function updateItem(data) {
return xFetch('/api/admin/users/' + data.id, {
method: 'PUT',
body: serialize(data)
})
}
export async function clear() { export async function clear() {
sessionStorage.clear(); sessionStorage.clear();
return Promise.resolve(); return Promise.resolve();
......
...@@ -20,11 +20,9 @@ function check404(res) { ...@@ -20,11 +20,9 @@ function check404(res) {
} }
function jsonParse(res) { function jsonParse(res) {
try {
return res.json().then(json => ({...res, json})); return res.json().then(json => ({...res, json})).catch(err=> ({...res, json:{status:0, message: '数据加载错误!'}}));
}catch(err){
return Promise.reject(err);
}
} }
function errorMessageParse(res) { function errorMessageParse(res) {
......
...@@ -59,7 +59,16 @@ export const productStatusToString = status => { ...@@ -59,7 +59,16 @@ export const productStatusToString = status => {
export const productEnableCreateTrade = status => { export const productEnableCreateTrade = status => {
return status > 1 && status < 17; return status > 1 && status < 17;
} };
export const USER_STATUS = {
0: '未激活',
1: '正常'
};
export const userStatusToString = status => {
return USER_STATUS[status] || '未定义';
};
export const tradeStatusToString = status => { export const tradeStatusToString = status => {
...@@ -141,9 +150,14 @@ export const footerFormSubmitLayout = { ...@@ -141,9 +150,14 @@ export const footerFormSubmitLayout = {
}; };
export const filterFormItemLayout = { export const filterFormItemLayout = {
labelCol:{ span: 10 }, labelCol: {span: 10},
wrapperCol:{ span: 14 } wrapperCol: {span: 14}
} };
export const filterFormItemStyle = {
size: 'default',
style: {width: 100}
};
export function filterUploadSuccess(fileList) { export function filterUploadSuccess(fileList) {
...@@ -171,17 +185,17 @@ export function transformUploadThumbUrl(fileList) { ...@@ -171,17 +185,17 @@ export function transformUploadThumbUrl(fileList) {
type: file.type, type: file.type,
url: file.url, url: file.url,
thumbUrl: file.thumbUrl, thumbUrl: file.thumbUrl,
name:file.name, name: file.name,
size:file.size size: file.size
} }
} }
return file; return file;
}); });
} }
export function handleUpload(info, limit){ export function handleUpload(info, limit) {
let fileList = filterUploadSuccess(info.fileList); let fileList = filterUploadSuccess(info.fileList);
if(limit){ if (limit) {
fileList = fileList.slice(-1 * limit); fileList = fileList.slice(-1 * limit);
} }
return transformUploadThumbUrl(fileList); return transformUploadThumbUrl(fileList);
...@@ -189,7 +203,9 @@ export function handleUpload(info, limit){ ...@@ -189,7 +203,9 @@ export function handleUpload(info, limit){
export function remittanceAuditStatusToString(status) { export function remittanceAuditStatusToString(status) {
switch (status){ switch (status) {
case 0:
return '已删除';
case 1: case 1:
return '待审核'; return '待审核';
case 5: case 5:
......
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