python学习
This commit is contained in:
408
.idea/workspace.xml
generated
408
.idea/workspace.xml
generated
@@ -2,13 +2,20 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="d564f57a-9f96-4262-9481-cacdf2b8445c" name="Default" comment="python学习">
|
<list default="true" id="d564f57a-9f96-4262-9481-cacdf2b8445c" name="Default" comment="python学习">
|
||||||
<change afterPath="$PROJECT_DIR$/web/static/js/member/set.js" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/common/models/food/Food.py" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/common/models/food/FoodCat.py" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/common/models/food/FoodSaleChangeLog.py" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/common/models/food/FoodStockChangeLog.py" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/web/static/js/food/cat.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/web/static/js/food/cat_set.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/web/static/js/food/index.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/web/static/js/food/set.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/web/templates/common/tab_food.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/controllers/member/Member.py" beforeDir="false" afterPath="$PROJECT_DIR$/web/controllers/member/Member.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/web/controllers/food/Food.py" beforeDir="false" afterPath="$PROJECT_DIR$/web/controllers/food/Food.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/static/js/member/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/web/static/js/member/index.js" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/web/templates/food/cat.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/food/cat.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/templates/member/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/member/index.html" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/web/templates/food/cat_set.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/food/cat_set.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/templates/member/info.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/member/info.html" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/web/templates/food/set.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/food/set.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/templates/member/set.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/member/set.html" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@@ -19,67 +26,63 @@
|
|||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py">
|
<entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-553">
|
<state relative-caret-position="403">
|
||||||
<caret line="3" column="28" selection-start-line="3" selection-start-column="28" selection-end-line="3" selection-end-column="28" />
|
<caret line="22" column="17" lean-forward="true" selection-start-line="22" selection-start-column="17" selection-end-line="22" selection-end-column="17" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
|
<entry file="file://$PROJECT_DIR$/web/controllers/food/Food.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1074">
|
<state relative-caret-position="718">
|
||||||
<caret line="135" column="31" lean-forward="true" selection-start-line="135" selection-start-column="31" selection-end-line="135" selection-end-column="31" />
|
<caret line="98" column="25" lean-forward="true" selection-start-line="98" selection-start-column="25" selection-end-line="98" selection-end-column="25" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#24#59#0" expanded="true" />
|
<element signature="e#24#67#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/info.html">
|
<entry file="file://$PROJECT_DIR$/web/static/js/food/cat.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="217">
|
<state relative-caret-position="341">
|
||||||
<caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
|
<caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/index.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/food/cat.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="251">
|
<state relative-caret-position="-1962">
|
||||||
<caret line="68" column="24" lean-forward="true" selection-start-line="68" selection-start-column="24" selection-end-line="68" selection-end-column="24" />
|
<caret line="1" column="19" lean-forward="true" selection-start-line="1" selection-start-column="19" selection-end-line="1" selection-end-column="19" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/set.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/common/tab_food.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
<state relative-caret-position="186">
|
|
||||||
<caret line="6" column="36" lean-forward="true" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
|
<entry file="file://$PROJECT_DIR$/web/templates/food/set.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="434">
|
<state relative-caret-position="301">
|
||||||
<caret line="23" column="53" selection-start-line="23" selection-start-column="53" selection-end-line="23" selection-end-column="53" />
|
<caret line="88" selection-start-line="88" selection-end-line="88" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/static/js/member/set.js">
|
<entry file="file://$PROJECT_DIR$/web/templates/food/cat_set.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-312">
|
<state relative-caret-position="275">
|
||||||
<caret line="30" column="28" lean-forward="true" selection-start-line="30" selection-start-column="28" selection-end-line="30" selection-end-column="28" />
|
<caret line="39" column="18" lean-forward="true" selection-start-line="39" selection-start-column="18" selection-end-line="39" selection-end-column="18" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -87,7 +90,7 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/account/set.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/account/set.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-443">
|
<state relative-caret-position="186">
|
||||||
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
|
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -96,7 +99,7 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
|
<entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="166">
|
<state relative-caret-position="496">
|
||||||
<caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
|
<caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#24#76#0" expanded="true" />
|
<element signature="e#24#76#0" expanded="true" />
|
||||||
@@ -141,6 +144,9 @@
|
|||||||
<find>page_params</find>
|
<find>page_params</find>
|
||||||
<find>保</find>
|
<find>保</find>
|
||||||
<find>指定</find>
|
<find>指定</find>
|
||||||
|
<find>sav</find>
|
||||||
|
<find>save</find>
|
||||||
|
<find>wrap_cat_set</find>
|
||||||
</findStrings>
|
</findStrings>
|
||||||
<replaceStrings>
|
<replaceStrings>
|
||||||
<replace>ops_render</replace>
|
<replace>ops_render</replace>
|
||||||
@@ -152,9 +158,6 @@
|
|||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="CHANGED_PATHS">
|
<option name="CHANGED_PATHS">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/imooc.py" />
|
|
||||||
<option value="$PROJECT_DIR$/Hello.py" />
|
|
||||||
<option value="$PROJECT_DIR$/config/production.py" />
|
|
||||||
<option value="$PROJECT_DIR$/docs/mysql.md" />
|
<option value="$PROJECT_DIR$/docs/mysql.md" />
|
||||||
<option value="$PROJECT_DIR$/readme.md" />
|
<option value="$PROJECT_DIR$/readme.md" />
|
||||||
<option value="$PROJECT_DIR$/manager.py" />
|
<option value="$PROJECT_DIR$/manager.py" />
|
||||||
@@ -171,7 +174,6 @@
|
|||||||
<option value="$PROJECT_DIR$/common/libs/user/Helper.py" />
|
<option value="$PROJECT_DIR$/common/libs/user/Helper.py" />
|
||||||
<option value="$PROJECT_DIR$/web/controllers/index.py" />
|
<option value="$PROJECT_DIR$/web/controllers/index.py" />
|
||||||
<option value="$PROJECT_DIR$/web/controllers/stat/Stat.py" />
|
<option value="$PROJECT_DIR$/web/controllers/stat/Stat.py" />
|
||||||
<option value="$PROJECT_DIR$/web/controllers/food/Food.py" />
|
|
||||||
<option value="$PROJECT_DIR$/web/controllers/finance/Finance.py" />
|
<option value="$PROJECT_DIR$/web/controllers/finance/Finance.py" />
|
||||||
<option value="$PROJECT_DIR$/web/static/js/user/edit.js" />
|
<option value="$PROJECT_DIR$/web/static/js/user/edit.js" />
|
||||||
<option value="$PROJECT_DIR$/web/templates/user/edit.html" />
|
<option value="$PROJECT_DIR$/web/templates/user/edit.html" />
|
||||||
@@ -203,6 +205,10 @@
|
|||||||
<option value="$PROJECT_DIR$/web/templates/member/info.html" />
|
<option value="$PROJECT_DIR$/web/templates/member/info.html" />
|
||||||
<option value="$PROJECT_DIR$/web/controllers/member/Member.py" />
|
<option value="$PROJECT_DIR$/web/controllers/member/Member.py" />
|
||||||
<option value="$PROJECT_DIR$/web/static/js/member/index.js" />
|
<option value="$PROJECT_DIR$/web/static/js/member/index.js" />
|
||||||
|
<option value="$PROJECT_DIR$/web/templates/food/set.html" />
|
||||||
|
<option value="$PROJECT_DIR$/web/templates/food/cat_set.html" />
|
||||||
|
<option value="$PROJECT_DIR$/web/templates/food/cat.html" />
|
||||||
|
<option value="$PROJECT_DIR$/web/controllers/food/Food.py" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -216,8 +222,8 @@
|
|||||||
<packageJsonPaths />
|
<packageJsonPaths />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectFrameBounds">
|
<component name="ProjectFrameBounds">
|
||||||
<option name="x" value="1018" />
|
<option name="x" value="1008" />
|
||||||
<option name="y" value="53" />
|
<option name="y" value="31" />
|
||||||
<option name="width" value="887" />
|
<option name="width" value="887" />
|
||||||
<option name="height" value="939" />
|
<option name="height" value="939" />
|
||||||
</component>
|
</component>
|
||||||
@@ -227,7 +233,6 @@
|
|||||||
<foldersAlwaysOnTop value="true" />
|
<foldersAlwaysOnTop value="true" />
|
||||||
</navigator>
|
</navigator>
|
||||||
<panes>
|
<panes>
|
||||||
<pane id="Scope" />
|
|
||||||
<pane id="ProjectPane">
|
<pane id="ProjectPane">
|
||||||
<subPane>
|
<subPane>
|
||||||
<expand>
|
<expand>
|
||||||
@@ -246,20 +251,6 @@
|
|||||||
<item name="common" type="462c0819:PsiDirectoryNode" />
|
<item name="common" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="libs" type="462c0819:PsiDirectoryNode" />
|
<item name="libs" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="common" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="libs" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="member" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="common" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="libs" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="user" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
<path>
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
@@ -271,7 +262,7 @@
|
|||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="common" type="462c0819:PsiDirectoryNode" />
|
<item name="common" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="models" type="462c0819:PsiDirectoryNode" />
|
<item name="models" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="member" type="462c0819:PsiDirectoryNode" />
|
<item name="food" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
@@ -303,6 +294,13 @@
|
|||||||
<item name="controllers" type="462c0819:PsiDirectoryNode" />
|
<item name="controllers" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="api" type="462c0819:PsiDirectoryNode" />
|
<item name="api" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="web" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="controllers" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="food" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
@@ -323,6 +321,14 @@
|
|||||||
<item name="static" type="462c0819:PsiDirectoryNode" />
|
<item name="static" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="js" type="462c0819:PsiDirectoryNode" />
|
<item name="js" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="web" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="static" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="js" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="food" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
@@ -342,7 +348,14 @@
|
|||||||
<item name="order" type="462c0819:PsiDirectoryNode" />
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="web" type="462c0819:PsiDirectoryNode" />
|
<item name="web" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="member" type="462c0819:PsiDirectoryNode" />
|
<item name="common" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="order" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="web" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="food" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
<item name="order" type="b2602c69:ProjectViewProjectNode" />
|
||||||
@@ -357,12 +370,13 @@
|
|||||||
<select />
|
<select />
|
||||||
</subPane>
|
</subPane>
|
||||||
</pane>
|
</pane>
|
||||||
|
<pane id="Scope" />
|
||||||
</panes>
|
</panes>
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/web/static/js/member" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/web/templates/common" />
|
||||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||||
<property name="options.lastSelected" value="com.jetbrains.python.configuration.PythonSdkConfigurable" />
|
<property name="options.lastSelected" value="com.jetbrains.python.configuration.PythonSdkConfigurable" />
|
||||||
@@ -372,18 +386,18 @@
|
|||||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="D:\order\web\templates\common" />
|
||||||
|
<recent name="D:\order\web\static\js" />
|
||||||
|
<recent name="D:\order\common\models" />
|
||||||
|
<recent name="D:\order\web\static\js\member" />
|
||||||
|
<recent name="D:\order\common\libs\member" />
|
||||||
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
<recent name="D:\order\common\libs" />
|
<recent name="D:\order\common\libs" />
|
||||||
<recent name="D:\order\web" />
|
<recent name="D:\order\web" />
|
||||||
<recent name="D:\order\web\controllers\user" />
|
<recent name="D:\order\web\controllers\user" />
|
||||||
</key>
|
</key>
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
|
||||||
<recent name="D:\order\web\static\js\member" />
|
|
||||||
<recent name="D:\order\common\libs\member" />
|
|
||||||
<recent name="D:\order\数据库文件" />
|
|
||||||
<recent name="D:\order" />
|
|
||||||
<recent name="D:\order\web\controllers\api" />
|
|
||||||
</key>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
<option name="ruleStates">
|
<option name="ruleStates">
|
||||||
@@ -500,7 +514,14 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1564628624793</updated>
|
<updated>1564628624793</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="14" />
|
<task id="LOCAL-00014" summary="python学习">
|
||||||
|
<created>1564655284808</created>
|
||||||
|
<option name="number" value="00014" />
|
||||||
|
<option name="presentableId" value="LOCAL-00014" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1564655284808</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="15" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TodoView">
|
<component name="TodoView">
|
||||||
@@ -513,9 +534,9 @@
|
|||||||
</todo-panel>
|
</todo-panel>
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="1018" y="53" width="887" height="939" extended-state="0" />
|
<frame x="1008" y="31" width="887" height="939" extended-state="0" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.29446408" />
|
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.27561837" />
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info id="Favorites" order="2" side_tool="true" />
|
<window_info id="Favorites" order="2" side_tool="true" />
|
||||||
<window_info id="Project Explorer" order="3" />
|
<window_info id="Project Explorer" order="3" />
|
||||||
@@ -554,79 +575,6 @@
|
|||||||
<option name="LAST_COMMIT_MESSAGE" value="python学习" />
|
<option name="LAST_COMMIT_MESSAGE" value="python学习" />
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/common/layout_main.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="465">
|
|
||||||
<caret line="82" column="56" selection-start-line="82" selection-start-column="44" selection-end-line="82" selection-end-column="56" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/common/layout_user.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="310">
|
|
||||||
<caret line="16" lean-forward="true" selection-start-line="16" selection-end-line="16" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/user/login.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="355">
|
|
||||||
<caret line="42" selection-start-line="42" selection-end-line="44" selection-end-column="14" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/user/edit.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="62">
|
|
||||||
<caret line="2" column="36" selection-start-line="2" selection-start-column="36" selection-end-line="2" selection-end-column="36" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/user/reset_pwd.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="62">
|
|
||||||
<caret line="2" selection-start-line="2" selection-end-line="2" selection-end-column="36" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/common/pagenation.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="124">
|
|
||||||
<caret line="13" column="19" lean-forward="true" selection-start-line="13" selection-start-column="19" selection-end-line="13" selection-end-column="19" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/application.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="372">
|
|
||||||
<caret line="16" selection-start-line="16" selection-end-line="16" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#24#47#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/common/libs/user/UserService.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="168">
|
|
||||||
<caret line="20" column="8" selection-start-line="20" selection-start-column="8" selection-end-line="20" selection-end-column="8" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/common/tab_account.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="310">
|
|
||||||
<caret line="10" column="6" selection-start-line="10" selection-start-column="6" selection-end-line="10" selection-end-column="6" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/static/js/account/set.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="2015">
|
|
||||||
<caret line="65" column="50" selection-start-line="65" selection-start-column="43" selection-end-line="65" selection-end-column="50" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/common/tab_user.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/common/tab_user.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="279">
|
<state relative-caret-position="279">
|
||||||
@@ -758,9 +706,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/数据库文件/food.sql">
|
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.json">
|
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.json">
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
</entry>
|
</entry>
|
||||||
@@ -778,16 +723,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/controllers/api/Member.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="1519">
|
|
||||||
<caret line="56" column="24" lean-forward="true" selection-start-line="56" selection-start-column="24" selection-end-line="56" selection-end-column="24" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#24#65#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/mina/app.js">
|
<entry file="file://$PROJECT_DIR$/mina/app.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="2387">
|
<state relative-caret-position="2387">
|
||||||
@@ -826,23 +761,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="589">
|
|
||||||
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="166">
|
|
||||||
<caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#24#76#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/common/libs/Helper.py">
|
<entry file="file://$PROJECT_DIR$/common/libs/Helper.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="185">
|
<state relative-caret-position="185">
|
||||||
@@ -858,13 +776,6 @@
|
|||||||
<state relative-caret-position="-846" />
|
<state relative-caret-position="-846" />
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="-553">
|
|
||||||
<caret line="3" column="28" selection-start-line="3" selection-start-column="28" selection-end-line="3" selection-end-column="28" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/account/index.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/account/index.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="239">
|
<state relative-caret-position="239">
|
||||||
@@ -872,55 +783,160 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/account/set.html">
|
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-443">
|
<state relative-caret-position="93">
|
||||||
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
|
<caret line="3" column="28" selection-start-line="3" selection-start-column="28" selection-end-line="3" selection-end-column="28" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="4061">
|
||||||
|
<caret line="135" column="31" lean-forward="true" selection-start-line="135" selection-start-column="31" selection-end-line="135" selection-end-column="31" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/member/info.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="651">
|
||||||
|
<caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/member/index.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="2108">
|
||||||
|
<caret line="68" column="24" lean-forward="true" selection-start-line="68" selection-start-column="24" selection-end-line="68" selection-end-column="24" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/set.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/member/set.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="186">
|
<state relative-caret-position="186">
|
||||||
<caret line="6" column="36" lean-forward="true" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
|
<caret line="6" column="36" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/static/js/member/set.js">
|
<entry file="file://$PROJECT_DIR$/web/static/js/member/set.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-312">
|
<state relative-caret-position="930">
|
||||||
<caret line="30" column="28" lean-forward="true" selection-start-line="30" selection-start-column="28" selection-end-line="30" selection-end-column="28" />
|
<caret line="30" column="28" lean-forward="true" selection-start-line="30" selection-start-column="28" selection-end-line="30" selection-end-column="28" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/info.html">
|
<entry file="file://$PROJECT_DIR$/web/templates/account/set.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="217">
|
<state relative-caret-position="186">
|
||||||
<caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
|
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
|
<entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1074">
|
<state relative-caret-position="496">
|
||||||
<caret line="135" column="31" lean-forward="true" selection-start-line="135" selection-start-column="31" selection-end-line="135" selection-end-column="31" />
|
<caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#24#59#0" expanded="true" />
|
<element signature="e#24#76#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/templates/member/index.html">
|
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="251">
|
<state relative-caret-position="589">
|
||||||
<caret line="68" column="24" lean-forward="true" selection-start-line="68" selection-start-column="24" selection-end-line="68" selection-end-column="24" />
|
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/common/models/food/Food.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="155">
|
||||||
|
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#16#81#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/数据库文件/food.sql">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-372">
|
||||||
|
<caret line="148" selection-start-line="148" selection-end-line="160" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
|
<entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="434">
|
<state relative-caret-position="403">
|
||||||
<caret line="23" column="53" selection-start-line="23" selection-start-column="53" selection-end-line="23" selection-end-column="53" />
|
<caret line="22" column="17" lean-forward="true" selection-start-line="22" selection-start-column="17" selection-end-line="22" selection-end-column="17" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/static/js/food/index.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-279" />
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/static/js/food/cat_set.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="1581">
|
||||||
|
<caret line="51" column="13" selection-start-line="51" selection-start-column="13" selection-end-line="51" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/food/set.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="301">
|
||||||
|
<caret line="88" selection-start-line="88" selection-end-line="88" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/common/models/food/FoodCat.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="124">
|
||||||
|
<caret line="6" column="6" selection-start-line="6" selection-start-column="6" selection-end-line="6" selection-end-column="6" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/food/cat_set.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="275">
|
||||||
|
<caret line="39" column="18" lean-forward="true" selection-start-line="39" selection-start-column="18" selection-end-line="39" selection-end-column="18" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/controllers/api/Member.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="217">
|
||||||
|
<caret line="7" selection-start-line="7" selection-end-line="7" selection-end-column="45" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/common/tab_food.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/static/js/food/cat.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="341">
|
||||||
|
<caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/templates/food/cat.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-1962">
|
||||||
|
<caret line="1" column="19" lean-forward="true" selection-start-line="1" selection-start-column="19" selection-end-line="1" selection-end-column="19" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/web/controllers/food/Food.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="718">
|
||||||
|
<caret line="98" column="25" lean-forward="true" selection-start-line="98" selection-start-column="25" selection-end-line="98" selection-end-column="25" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#24#67#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
|||||||
24
common/models/food/Food.py
Normal file
24
common/models/food/Food.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
from sqlalchemy import Column, DateTime, Integer, Numeric, String
|
||||||
|
from sqlalchemy.schema import FetchedValue
|
||||||
|
from application import db
|
||||||
|
|
||||||
|
|
||||||
|
class Food(db.Model):
|
||||||
|
__tablename__ = 'food'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
cat_id = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
name = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
|
||||||
|
price = db.Column(db.Numeric(10, 2), nullable=False, server_default=db.FetchedValue())
|
||||||
|
main_image = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
|
||||||
|
summary = db.Column(db.String(2000), nullable=False, server_default=db.FetchedValue())
|
||||||
|
stock = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
tags = db.Column(db.String(200), nullable=False, server_default=db.FetchedValue())
|
||||||
|
status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
month_count = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
total_count = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
view_count = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
comment_count = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
|
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
19
common/models/food/FoodCat.py
Normal file
19
common/models/food/FoodCat.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
from sqlalchemy import Column, DateTime, Integer, String
|
||||||
|
from sqlalchemy.schema import FetchedValue
|
||||||
|
from application import db,app
|
||||||
|
|
||||||
|
|
||||||
|
class FoodCat(db.Model):
|
||||||
|
__tablename__ = 'food_cat'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True, unique=True)
|
||||||
|
name = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
|
||||||
|
weight = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
|
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
|
|
||||||
|
@property
|
||||||
|
def status_desc(self):
|
||||||
|
return app.config['STATUS_MAPPING'][ str( self.status ) ]
|
||||||
15
common/models/food/FoodSaleChangeLog.py
Normal file
15
common/models/food/FoodSaleChangeLog.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
from sqlalchemy import Column, DateTime, Integer, Numeric
|
||||||
|
from sqlalchemy.schema import FetchedValue
|
||||||
|
from application import db
|
||||||
|
|
||||||
|
|
||||||
|
class FoodSaleChangeLog(db.Model):
|
||||||
|
__tablename__ = 'food_sale_change_log'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
food_id = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
|
||||||
|
quantity = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
price = db.Column(db.Numeric(10, 2), nullable=False, server_default=db.FetchedValue())
|
||||||
|
member_id = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
15
common/models/food/FoodStockChangeLog.py
Normal file
15
common/models/food/FoodStockChangeLog.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
from sqlalchemy import Column, DateTime, Integer, String
|
||||||
|
from sqlalchemy.schema import FetchedValue
|
||||||
|
from application import db
|
||||||
|
|
||||||
|
|
||||||
|
class FoodStockChangeLog(db.Model):
|
||||||
|
__tablename__ = 'food_stock_change_log'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
food_id = db.Column(db.Integer, nullable=False, index=True)
|
||||||
|
unit = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
total_stock = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
|
||||||
|
note = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
|
||||||
|
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from flask import Blueprint
|
from flask import Blueprint,request,jsonify
|
||||||
from common.libs.Helper import ops_render
|
from common.libs.Helper import ops_render
|
||||||
|
from common.models.food.FoodCat import FoodCat
|
||||||
|
from application import app,db
|
||||||
|
from common.libs.Helper import getCurrentDate
|
||||||
|
|
||||||
route_food = Blueprint( 'food_page',__name__ )
|
route_food = Blueprint( 'food_page',__name__ )
|
||||||
|
|
||||||
@@ -20,8 +23,89 @@ def set():
|
|||||||
|
|
||||||
@route_food.route( "/cat" )
|
@route_food.route( "/cat" )
|
||||||
def cat():
|
def cat():
|
||||||
return ops_render( "food/cat.html" )
|
resp_data = {}
|
||||||
|
req = request.values
|
||||||
|
query = FoodCat.query
|
||||||
|
|
||||||
@route_food.route( "/cat-set" )
|
if 'status' in req and int( req['status'] ) > -1:
|
||||||
|
query = query.filter( FoodCat.status == int( req['status'] ) )
|
||||||
|
|
||||||
|
list = query.order_by( FoodCat.weight.desc(),FoodCat.id.desc() ).all()
|
||||||
|
resp_data['list'] = list
|
||||||
|
resp_data['search_con'] = req
|
||||||
|
resp_data['status_mapping'] = app.config['STATUS_MAPPING']
|
||||||
|
resp_data['current'] = 'cat'
|
||||||
|
return ops_render( "food/cat.html",resp_data )
|
||||||
|
|
||||||
|
|
||||||
|
@route_food.route( "/cat-set",methods = [ "GET","POST" ] )
|
||||||
def catSet():
|
def catSet():
|
||||||
return ops_render( "food/cat_set.html" )
|
if request.method == "GET":
|
||||||
|
resp_data = {}
|
||||||
|
req = request.args
|
||||||
|
id = int(req.get("id", 0))
|
||||||
|
info = None
|
||||||
|
if id:
|
||||||
|
info = FoodCat.query.filter_by( id = id ).first()
|
||||||
|
resp_data['info'] = info
|
||||||
|
resp_data['current'] = 'cat'
|
||||||
|
return ops_render( "food/cat_set.html" ,resp_data )
|
||||||
|
|
||||||
|
resp = {'code': 200, 'msg': '操作成功~~', 'data': {}}
|
||||||
|
req = request.values
|
||||||
|
|
||||||
|
id = req['id'] if 'id' in req else 0
|
||||||
|
name = req['name'] if 'name' in req else ''
|
||||||
|
weight = int( req['weight'] ) if ( 'weight' in req and int( req['weight']) > 0 ) else 1
|
||||||
|
|
||||||
|
if name is None or len( name ) < 1:
|
||||||
|
resp['code'] = -1
|
||||||
|
resp['msg'] = "请输入符合规范的分类名称~~"
|
||||||
|
return jsonify( resp )
|
||||||
|
|
||||||
|
food_cat_info = FoodCat.query.filter_by( id = id ).first()
|
||||||
|
if food_cat_info:
|
||||||
|
model_food_cat = food_cat_info
|
||||||
|
else:
|
||||||
|
model_food_cat = FoodCat()
|
||||||
|
model_food_cat.created_time = getCurrentDate()
|
||||||
|
model_food_cat.name = name
|
||||||
|
model_food_cat.weight = weight
|
||||||
|
model_food_cat.updated_time = getCurrentDate()
|
||||||
|
db.session.add(model_food_cat)
|
||||||
|
db.session.commit()
|
||||||
|
return jsonify( resp )
|
||||||
|
|
||||||
|
|
||||||
|
@route_food.route("/cat-ops",methods = [ "POST" ])
|
||||||
|
def catOps():
|
||||||
|
resp = {'code': 200, 'msg': '操作成功~~', 'data': {}}
|
||||||
|
req = request.values
|
||||||
|
|
||||||
|
id = req['id'] if 'id' in req else 0
|
||||||
|
act = req['act'] if 'act' in req else ''
|
||||||
|
if not id :
|
||||||
|
resp['code'] = -1
|
||||||
|
resp['msg'] = "请选择要操作的账号~~"
|
||||||
|
return jsonify(resp)
|
||||||
|
|
||||||
|
if act not in [ 'remove','recover' ] :
|
||||||
|
resp['code'] = -1
|
||||||
|
resp['msg'] = "操作有误,请重试~~"
|
||||||
|
return jsonify(resp)
|
||||||
|
|
||||||
|
food_cat_info = FoodCat.query.filter_by( id= id ).first()
|
||||||
|
if not food_cat_info:
|
||||||
|
resp['code'] = -1
|
||||||
|
resp['msg'] = "指定分类不存在~~"
|
||||||
|
return jsonify(resp)
|
||||||
|
|
||||||
|
if act == "remove":
|
||||||
|
food_cat_info.status = 0
|
||||||
|
elif act == "recover":
|
||||||
|
food_cat_info.status = 1
|
||||||
|
|
||||||
|
food_cat_info.update_time = getCurrentDate()
|
||||||
|
db.session.add( food_cat_info )
|
||||||
|
db.session.commit()
|
||||||
|
return jsonify(resp)
|
||||||
|
|||||||
52
web/static/js/food/cat.js
Normal file
52
web/static/js/food/cat.js
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
;
|
||||||
|
var food_cat_ops = {
|
||||||
|
init:function(){
|
||||||
|
this.eventBind();
|
||||||
|
},
|
||||||
|
eventBind:function(){
|
||||||
|
var that = this;
|
||||||
|
|
||||||
|
$(".wrap_search select[name=status]").change(function(){
|
||||||
|
$(".wrap_search").submit();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".remove").click( function(){
|
||||||
|
that.ops( "remove",$(this).attr("data") );
|
||||||
|
} );
|
||||||
|
|
||||||
|
$(".recover").click( function(){
|
||||||
|
that.ops( "recover",$(this).attr("data") );
|
||||||
|
} );
|
||||||
|
},
|
||||||
|
ops:function( act,id ){
|
||||||
|
var callback = {
|
||||||
|
'ok':function(){
|
||||||
|
$.ajax({
|
||||||
|
url:common_ops.buildUrl( "/food/cat-ops" ),
|
||||||
|
type:'POST',
|
||||||
|
data:{
|
||||||
|
act:act,
|
||||||
|
id:id
|
||||||
|
},
|
||||||
|
dataType:'json',
|
||||||
|
success:function( res ){
|
||||||
|
var callback = null;
|
||||||
|
if( res.code == 200 ){
|
||||||
|
callback = function(){
|
||||||
|
window.location.href = window.location.href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
common_ops.alert( res.msg,callback );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'cancel':null
|
||||||
|
};
|
||||||
|
common_ops.confirm( ( act == "remove" ? "确定删除?":"确定恢复?" ), callback );
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready( function(){
|
||||||
|
food_cat_ops.init();
|
||||||
|
} );
|
||||||
62
web/static/js/food/cat_set.js
Normal file
62
web/static/js/food/cat_set.js
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
;
|
||||||
|
var food_cat_set_ops = {
|
||||||
|
init:function(){
|
||||||
|
this.eventBind();
|
||||||
|
},
|
||||||
|
eventBind:function(){
|
||||||
|
$(".wrap_cat_set .save").click(function(){
|
||||||
|
var btn_target = $(this);
|
||||||
|
if( btn_target.hasClass("disabled") ){
|
||||||
|
common_ops.alert("正在处理!!请不要重复提交~~");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var name_target = $(".wrap_cat_set input[name=name]");
|
||||||
|
var name = name_target.val();
|
||||||
|
|
||||||
|
var weight_target = $(".wrap_cat_set input[name=weight]");
|
||||||
|
var weight = weight_target.val();
|
||||||
|
|
||||||
|
if( name.length < 1 ){
|
||||||
|
common_ops.tip( "请输入符合规范的分类名称~~",name_target );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( parseInt( weight ) < 1 ){
|
||||||
|
common_ops.tip( "请输入符合规范的权重,并且至少要大于1~~",weight_target );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
btn_target.addClass("disabled");
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
name: name,
|
||||||
|
weight: weight,
|
||||||
|
id:$(".wrap_cat_set input[name=id]").val()
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url:common_ops.buildUrl( "/food/cat-set" ),
|
||||||
|
type:'POST',
|
||||||
|
data:data,
|
||||||
|
dataType:'json',
|
||||||
|
success:function( res ){
|
||||||
|
btn_target.removeClass("disabled");
|
||||||
|
var callback = null;
|
||||||
|
if( res.code == 200 ){
|
||||||
|
callback = function(){
|
||||||
|
window.location.href = common_ops.buildUrl("/food/cat");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
common_ops.alert( res.msg,callback );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready( function(){
|
||||||
|
food_cat_set_ops.init();
|
||||||
|
} );
|
||||||
50
web/static/js/food/index.js
Normal file
50
web/static/js/food/index.js
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
;
|
||||||
|
var food_index_ops = {
|
||||||
|
init:function(){
|
||||||
|
this.eventBind();
|
||||||
|
},
|
||||||
|
eventBind:function(){
|
||||||
|
var that = this;
|
||||||
|
$(".remove").click( function(){
|
||||||
|
that.ops( "remove",$(this).attr("data") )
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".recover").click( function(){
|
||||||
|
that.ops( "recover",$(this).attr("data") )
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".wrap_search .search").click( function(){
|
||||||
|
$(".wrap_search").submit();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
ops:function( act,id ){
|
||||||
|
var callback = {
|
||||||
|
'ok':function(){
|
||||||
|
$.ajax({
|
||||||
|
url:common_ops.buildUrl("/food/ops"),
|
||||||
|
type:'POST',
|
||||||
|
data:{
|
||||||
|
act:act,
|
||||||
|
id:id
|
||||||
|
},
|
||||||
|
dataType:'json',
|
||||||
|
success:function( res ){
|
||||||
|
var callback = null;
|
||||||
|
if( res.code == 200 ){
|
||||||
|
callback = function(){
|
||||||
|
window.location.href = window.location.href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
common_ops.alert( res.msg,callback );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'cancel':null
|
||||||
|
};
|
||||||
|
common_ops.confirm( ( act=="remove" )?"确定删除?":"确定恢复?",callback );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready( function(){
|
||||||
|
food_index_ops.init();
|
||||||
|
});
|
||||||
173
web/static/js/food/set.js
Normal file
173
web/static/js/food/set.js
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
;
|
||||||
|
var upload = {
|
||||||
|
error: function (msg) {
|
||||||
|
common_ops.alert(msg);
|
||||||
|
},
|
||||||
|
success: function (file_key) {
|
||||||
|
if (!file_key) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var html = '<img src="' + common_ops.buildPicUrl(file_key) + '"/>'
|
||||||
|
+ '<span class="fa fa-times-circle del del_image" data="' + file_key + '"></span>';
|
||||||
|
|
||||||
|
if ($(".upload_pic_wrap .pic-each").size() > 0) {
|
||||||
|
$(".upload_pic_wrap .pic-each").html(html);
|
||||||
|
} else {
|
||||||
|
$(".upload_pic_wrap").append('<span class="pic-each">' + html + '</span>');
|
||||||
|
}
|
||||||
|
food_set_ops.delete_img();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var food_set_ops = {
|
||||||
|
init: function () {
|
||||||
|
this.ue = null;
|
||||||
|
this.eventBind();
|
||||||
|
this.initEditor();
|
||||||
|
this.delete_img();
|
||||||
|
},
|
||||||
|
eventBind: function () {
|
||||||
|
var that = this;
|
||||||
|
|
||||||
|
$(".wrap_food_set .upload_pic_wrap input[name=pic]").change(function () {
|
||||||
|
$(".wrap_food_set .upload_pic_wrap").submit();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".wrap_food_set select[name=cat_id]").select2({
|
||||||
|
language: "zh-CN",
|
||||||
|
width: '100%'
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".wrap_food_set input[name=tags]").tagsInput({
|
||||||
|
width: 'auto',
|
||||||
|
height: 40,
|
||||||
|
onAddTag: function (tag) {
|
||||||
|
},
|
||||||
|
onRemoveTag: function (tag) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".wrap_food_set .save").click(function () {
|
||||||
|
var btn_target = $(this);
|
||||||
|
if (btn_target.hasClass("disabled")) {
|
||||||
|
common_ops.alert("正在处理!!请不要重复提交~~");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var cat_id_target = $(".wrap_food_set select[name=cat_id]");
|
||||||
|
var cat_id = cat_id_target.val();
|
||||||
|
|
||||||
|
var name_target = $(".wrap_food_set input[name=name]");
|
||||||
|
var name = name_target.val();
|
||||||
|
|
||||||
|
var price_target = $(".wrap_food_set input[name=price]");
|
||||||
|
var price = price_target.val();
|
||||||
|
|
||||||
|
var summary = $.trim(that.ue.getContent());
|
||||||
|
|
||||||
|
var stock_target = $(".wrap_food_set input[name=stock]");
|
||||||
|
var stock = stock_target.val();
|
||||||
|
|
||||||
|
var tags_target = $(".wrap_food_set input[name=tags]");
|
||||||
|
var tags = $.trim(tags_target.val());
|
||||||
|
|
||||||
|
if (parseInt(cat_id) < 1) {
|
||||||
|
common_ops.tip("请选择分类~~", cat_id_target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (name.length < 1) {
|
||||||
|
common_ops.alert("请输入符合规范的名称~~");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parseFloat(price) <= 0) {
|
||||||
|
common_ops.tip("请输入符合规范的售卖价格~~", price_target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".wrap_food_set .pic-each").size() < 1) {
|
||||||
|
common_ops.alert("请上传封面图~~");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (summary.length < 10) {
|
||||||
|
common_ops.tip("请输入描述,并不能少于10个字符~~", price_target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parseInt(stock) < 1) {
|
||||||
|
common_ops.tip("请输入符合规范的库存量~~", stock_target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tags.length < 1) {
|
||||||
|
common_ops.alert("请输入标签,便于搜索~~");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
btn_target.addClass("disabled");
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
cat_id: cat_id,
|
||||||
|
name: name,
|
||||||
|
price: price,
|
||||||
|
main_image: $(".wrap_food_set .pic-each .del_image").attr("data"),
|
||||||
|
summary: summary,
|
||||||
|
stock: stock,
|
||||||
|
tags: tags,
|
||||||
|
id: $(".wrap_food_set input[name=id]").val()
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: common_ops.buildUrl("/food/set"),
|
||||||
|
type: 'POST',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
btn_target.removeClass("disabled");
|
||||||
|
var callback = null;
|
||||||
|
if (res.code == 200) {
|
||||||
|
callback = function () {
|
||||||
|
window.location.href = common_ops.buildUrl("/food/index");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
common_ops.alert(res.msg, callback);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
initEditor: function () {
|
||||||
|
var that = this;
|
||||||
|
that.ue = UE.getEditor('editor', {
|
||||||
|
toolbars: [
|
||||||
|
['undo', 'redo', '|',
|
||||||
|
'bold', 'italic', 'underline', 'strikethrough', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', '|', 'rowspacingtop', 'rowspacingbottom', 'lineheight'],
|
||||||
|
['customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
|
||||||
|
'directionalityltr', 'directionalityrtl', 'indent', '|',
|
||||||
|
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
|
||||||
|
'link', 'unlink'],
|
||||||
|
['imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
|
||||||
|
'insertimage', 'insertvideo', '|',
|
||||||
|
'horizontal', 'spechars', '|', 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols']
|
||||||
|
|
||||||
|
],
|
||||||
|
enableAutoSave: true,
|
||||||
|
saveInterval: 60000,
|
||||||
|
elementPathEnabled: false,
|
||||||
|
zIndex: 4,
|
||||||
|
serverUrl: common_ops.buildUrl('/upload/ueditor')
|
||||||
|
});
|
||||||
|
},
|
||||||
|
delete_img: function () {
|
||||||
|
$(".wrap_food_set .del_image").unbind().click(function () {
|
||||||
|
$(this).parent().remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
food_set_ops.init();
|
||||||
|
});
|
||||||
14
web/templates/common/tab_food.html
Normal file
14
web/templates/common/tab_food.html
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<div class="row border-bottom">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="tab_title">
|
||||||
|
<ul class="nav nav-pills">
|
||||||
|
<li {% if current == "index" %} class="current" {% endif %}>
|
||||||
|
<a href="{{ buildUrl('/food/index') }}">美食列表</a>
|
||||||
|
</li>
|
||||||
|
<li {% if current == "cat" %} class="current" {% endif %}>
|
||||||
|
<a href="{{ buildUrl('/food/cat') }}">分类列表</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,19 +1,6 @@
|
|||||||
{% extends "common/layout_main.html" %}
|
{% extends "common/layout_main.html" %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row border-bottom">
|
{% include "common/tab_food.html" %}
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="tab_title">
|
|
||||||
<ul class="nav nav-pills">
|
|
||||||
<li>
|
|
||||||
<a href="{{ buildUrl('/food/index') }}">美食列表</a>
|
|
||||||
</li>
|
|
||||||
<li class="current">
|
|
||||||
<a href="{{ buildUrl('/food/cat') }}">分类列表</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<form class="form-inline wrap_search">
|
<form class="form-inline wrap_search">
|
||||||
@@ -21,8 +8,9 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<select name="status" class="form-control inline">
|
<select name="status" class="form-control inline">
|
||||||
<option value="-1">请选择状态</option>
|
<option value="-1">请选择状态</option>
|
||||||
<option value="1">正常</option>
|
{% for tmp_key in status_mapping %}
|
||||||
<option value="0">已删除</option>
|
<option value="{{ tmp_key }}" {% if tmp_key == search_con['status'] %} selected {% endif %}>{{ status_mapping[ tmp_key ] }}</option>
|
||||||
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -48,23 +36,40 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{% if list %}
|
||||||
|
{% for item in list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>8</td>
|
<td>{{ item.id }}</td>
|
||||||
<td>111</td>
|
<td>{{ item.name }}</td>
|
||||||
<td>正常</td>
|
<td>{{ item.status_desc }}</td>
|
||||||
<td>11</td>
|
<td>{{ item.weight }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="m-l" href="{{ buildUrl('/food/cat-set') }}">
|
|
||||||
|
{% if item.status == 1 %}
|
||||||
|
<a class="m-l" href="{{ buildUrl('/food/cat-set') }}?id={{ item.id }}">
|
||||||
<i class="fa fa-edit fa-lg"></i>
|
<i class="fa fa-edit fa-lg"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="m-l remove" href="javascript:void(0);" data="8">
|
<a class="m-l remove" href="javascript:void(0);" data="{{ item.id }}">
|
||||||
<i class="fa fa-trash fa-lg"></i>
|
<i class="fa fa-trash fa-lg"></i>
|
||||||
</a>
|
</a>
|
||||||
|
{% else %}
|
||||||
|
<a class="m-l recover" href="javascript:void(0);" data="{{ item.id }}">
|
||||||
|
<i class="fa fa-rotate-left fa-lg"></i>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<tr><td colspan="5">暂无数据</td></tr>
|
||||||
|
{% endif %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% block js %}
|
||||||
|
<script src="{{ buildStaticUrl('/js/food/cat.js') }}"></script>
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -21,19 +21,20 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-2 control-label">分类名称:</label>
|
<label class="col-lg-2 control-label">分类名称:</label>
|
||||||
<div class="col-lg-10">
|
<div class="col-lg-10">
|
||||||
<input type="text" name="name" class="form-control" placeholder="请输入分类名称~~" value="111">
|
<input type="text" name="name" class="form-control" placeholder="请输入分类名称~~" value="info.name">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hr-line-dashed"></div>
|
<div class="hr-line-dashed"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-2 control-label">权重:</label>
|
<label class="col-lg-2 control-label">权重:</label>
|
||||||
<div class="col-lg-10">
|
<div class="col-lg-10">
|
||||||
<input type="text" name="weight" class="form-control" placeholder="请输入分类名称~~" value="11">
|
<input type="text" name="weight" class="form-control" placeholder="请输入分类名称~~" value="{% if info and info.weight > 0 %}{{ info.weight }}{% else %}1{% endif%}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hr-line-dashed"></div>
|
<div class="hr-line-dashed"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-4 col-lg-offset-2">
|
<div class="col-lg-4 col-lg-offset-2">
|
||||||
|
<input type="hidden" name="id" value="{{ info.id }}">
|
||||||
<button class="btn btn-w-m btn-outline btn-primary save">保存</button>
|
<button class="btn btn-w-m btn-outline btn-primary save">保存</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -41,3 +42,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% block js %}
|
||||||
|
<script src="{{ buildStaticUrl('/js/food/cat_set.js') }}"></script>
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -86,3 +86,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user