Browse Source

增加拖拽功能

liuwei 5 years ago
parent
commit
ed11557217
5 changed files with 261 additions and 115 deletions
  1. 2 1
      .idea/inspectionProfiles/Project_Default.xml
  2. 178 100
      .idea/workspace.xml
  3. 2 2
      package.json
  4. 2 2
      src/renderer/App.vue
  5. 77 10
      src/renderer/components/Admin.vue

+ 2 - 1
.idea/inspectionProfiles/Project_Default.xml

@@ -25,7 +25,7 @@
     <inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
       <option name="myValues">
         <value>
-          <list size="11">
+          <list size="12">
             <item index="0" class="java.lang.String" itemvalue="nobr" />
             <item index="1" class="java.lang.String" itemvalue="noembed" />
             <item index="2" class="java.lang.String" itemvalue="comment" />
@@ -37,6 +37,7 @@
             <item index="8" class="java.lang.String" itemvalue="el-input" />
             <item index="9" class="java.lang.String" itemvalue="el-button" />
             <item index="10" class="java.lang.String" itemvalue="el-link" />
+            <item index="11" class="java.lang.String" itemvalue="draggable" />
           </list>
         </value>
       </option>

+ 178 - 100
.idea/workspace.xml

@@ -2,8 +2,11 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="690c02a3-0e7d-4c4a-8f0c-a44c44c3a162" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/index.ejs" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.ejs" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/App.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/App.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/components/Admin.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/components/Admin.vue" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/dist/" />
     <ignored path="$PROJECT_DIR$/.tmp/" />
@@ -16,7 +19,36 @@
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
   <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300" />
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/renderer/components/Admin.vue">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="-567">
+              <caret line="15" column="44" lean-forward="true" selection-start-line="15" selection-start-column="44" selection-end-line="15" selection-end-column="44" />
+              <folding>
+                <element signature="n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+                <element signature="n#div#0;n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+                <element signature="n#div#1;n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+                <element signature="n#div#0;n#div#2;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+                <element signature="e#3081#3565#0" />
+                <element signature="e#3791#3825#0" expanded="true" />
+                <element signature="e#5133#6243#0" />
+                <element signature="e#5153#6233#0" />
+                <element signature="e#5220#6219#0" />
+                <element signature="e#5272#6201#0" />
+                <element signature="e#5599#5939#0" />
+                <element signature="e#5998#6179#0" />
+                <element signature="n#style#0;n#!!top" />
+                <element signature="e#6284#6314#0" />
+                <element signature="e#6327#6452#0" />
+                <element signature="e#6467#6500#0" />
+                <element signature="e#6517#6572#0" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
@@ -49,14 +81,15 @@
         <option value="$PROJECT_DIR$/.gitignore" />
         <option value="$PROJECT_DIR$/src/renderer/store/state.js" />
         <option value="$PROJECT_DIR$/src/renderer/index.css" />
+        <option value="$PROJECT_DIR$/src/index.ejs" />
+        <option value="$PROJECT_DIR$/src/renderer/assets/less/admin.less" />
         <option value="$PROJECT_DIR$/src/renderer/App.vue" />
+        <option value="$PROJECT_DIR$/package.json" />
         <option value="$PROJECT_DIR$/src/renderer/components/Admin.vue" />
-        <option value="$PROJECT_DIR$/src/renderer/assets/less/admin.less" />
-        <option value="$PROJECT_DIR$/src/index.ejs" />
       </list>
     </option>
   </component>
-  <component name="ProjectFrameBounds" extendedState="7">
+  <component name="ProjectFrameBounds" extendedState="6">
     <option name="x" value="-8" />
     <option name="y" value="-8" />
     <option name="width" value="1366" />
@@ -83,6 +116,19 @@
               <item name="electron-app" type="462c0819:PsiDirectoryNode" />
               <item name="src" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="electron-app" type="b2602c69:ProjectViewProjectNode" />
+              <item name="electron-app" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="renderer" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="electron-app" type="b2602c69:ProjectViewProjectNode" />
+              <item name="electron-app" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="renderer" type="462c0819:PsiDirectoryNode" />
+              <item name="components" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
@@ -99,14 +145,14 @@
     <property name="prettierjs.PrettierConfiguration.Package" value="C:\Users\liuwei\Desktop\桌面程序\electron-app\node_modules\prettier" />
   </component>
   <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\assets\images" />
-    </key>
     <key name="CopyFile.RECENT_KEYS">
       <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src" />
       <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\store" />
       <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\assets\images" />
     </key>
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\assets\images" />
+    </key>
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -140,12 +186,12 @@
       <workItem from="1585577204895" duration="1209000" />
       <workItem from="1585578436413" duration="2728000" />
       <workItem from="1585620225944" duration="16578000" />
-      <workItem from="1585806030504" duration="1851000" />
+      <workItem from="1585806030504" duration="10599000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="52137000" />
+    <option name="totallyTimeSpent" value="60885000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -157,10 +203,10 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1056" extended-state="7" />
+    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.17544784" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.12750264" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="npm" order="2" side_tool="true" />
       <window_info id="Favorites" order="3" side_tool="true" />
@@ -174,7 +220,7 @@
       <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
       <window_info anchor="bottom" id="Version Control" order="8" />
       <window_info anchor="bottom" id="Event Log" order="9" side_tool="true" weight="0.32910052" />
-      <window_info anchor="bottom" id="Terminal" order="10" weight="0.53862435" />
+      <window_info anchor="bottom" id="Terminal" order="10" weight="0.45396826" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@@ -232,16 +278,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="357">
-          <caret line="17" column="22" lean-forward="true" selection-start-line="17" selection-start-column="22" selection-end-line="17" selection-end-column="22" />
-          <folding>
-            <element signature="e#0#21#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/.electron-vue/webpack.main.config.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-491">
@@ -295,10 +331,55 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/dist/electron/index.html" />
+    <entry file="file://$PROJECT_DIR$/dist/electron/main.js" />
+    <entry file="file://$PROJECT_DIR$/dist/electron/renderer.js" />
+    <entry file="file://$PROJECT_DIR$/yarn-error.log" />
+    <entry file="file://$PROJECT_DIR$/.gitignore">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="189">
+          <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/login.less">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="84">
+          <caret line="4" column="16" lean-forward="true" selection-start-line="4" selection-start-column="16" selection-end-line="4" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/node_modules/devtron/vendor/bootstrap/css/bootstrap.css">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1251">
+          <caret line="1596" column="3" selection-start-line="1596" selection-start-column="3" selection-end-line="1596" selection-end-column="3" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/index.css" />
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/state.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="168">
+          <caret line="8" column="23" lean-forward="true" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="23" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/build/icons/icon.icns">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/build/icons/icon.ico">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/build/icons/256x256.png">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/components/Login.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-71">
-          <caret line="23" column="11" lean-forward="true" selection-start-line="23" selection-start-column="11" selection-end-line="23" selection-end-column="11" />
+        <state relative-caret-position="420">
+          <caret line="54" column="10" lean-forward="true" selection-start-line="54" selection-start-column="10" selection-end-line="54" selection-end-column="10" />
           <folding>
             <element signature="n#header#0;n#div#0;n#template#0;n#!!top" />
             <element signature="n#section#0;n#div#0;n#template#0;n#!!top" />
@@ -319,123 +400,120 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/dist/electron/index.html" />
-    <entry file="file://$PROJECT_DIR$/dist/electron/main.js" />
-    <entry file="file://$PROJECT_DIR$/dist/electron/renderer.js" />
-    <entry file="file://$PROJECT_DIR$/package.json">
+    <entry file="file://$PROJECT_DIR$/node_modules/_vuedraggable@2.23.2@vuedraggable/dist/vuedraggable.common.js">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/admin.less">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="252">
-          <caret line="12" column="46" selection-start-line="12" selection-start-column="46" selection-end-line="12" selection-end-column="46" />
+        <state relative-caret-position="21">
+          <caret line="1" column="12" selection-start-line="1" selection-start-column="12" selection-end-line="1" selection-end-column="12" />
           <folding>
-            <element signature="n#!!block;n#directories#0;n#!!block;n#build#0;n#!!top" />
-            <element signature="e#1036#1070#0" />
-            <element signature="n#!!block;n#dmg#0;n#!!block;n#build#0;n#!!top" />
-            <element signature="e#1103#1318#0" />
-            <element signature="e#1113#1224#0" />
-            <element signature="e#1234#1310#0" />
-            <element signature="n#!!block;n#mac#0;n#!!block;n#build#0;n#!!top" />
-            <element signature="n#!!block;n#win#0;n#!!block;n#build#0;n#!!top" />
-            <element signature="n#!!block;n#linux#0;n#!!block;n#build#0;n#!!top" />
-            <element signature="n#!!block;n#dependencies#0;n#!!top" />
-            <element signature="n#!!block;n#devDependencies#0;n#!!top" />
+            <element signature="e#23#3830#0" />
+            <element signature="e#168#206#0" />
+            <element signature="e#234#3763#0" />
+            <element signature="e#321#580#0" />
+            <element signature="e#487#574#0" />
+            <element signature="e#613#3645#0" />
+            <element signature="e#744#1149#0" />
+            <element signature="e#957#993#0" />
+            <element signature="e#1049#1141#0" />
+            <element signature="e#1191#2012#0" />
+            <element signature="e#1307#1472#0" />
+            <element signature="e#1513#2004#0" />
+            <element signature="e#1640#1844#0" />
+            <element signature="e#1887#1994#0" />
+            <element signature="e#2051#3638#0" />
+            <element signature="e#2251#2311#0" />
+            <element signature="e#2349#3629#0" />
+            <element signature="e#2439#3618#0" />
+            <element signature="e#2638#3606#0" />
+            <element signature="e#2820#2897#0" />
+            <element signature="e#2955#3592#0" />
+            <element signature="e#3140#3296#0" />
+            <element signature="e#3362#3576#0" />
+            <element signature="e#3676#3759#0" />
+            <element signature="e#3790#3828#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/yarn-error.log" />
-    <entry file="file://$PROJECT_DIR$/.gitignore">
+    <entry file="file://$PROJECT_DIR$/node_modules/element-ui/packages/color-picker/src/draggable.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" />
+        <state relative-caret-position="21">
+          <caret line="1" column="4" selection-start-line="1" selection-start-column="4" selection-end-line="1" selection-end-column="4" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/login.less">
+    <entry file="file://$PROJECT_DIR$/src/main/index.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="84">
-          <caret line="4" column="16" lean-forward="true" selection-start-line="4" selection-start-column="16" selection-end-line="4" selection-end-column="16" />
+        <state relative-caret-position="97">
+          <caret line="13" column="36" lean-forward="true" selection-start-line="13" selection-start-column="36" selection-end-line="13" selection-end-column="36" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/node_modules/devtron/vendor/bootstrap/css/bootstrap.css">
+    <entry file="file://$PROJECT_DIR$/src/main/index.dev.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1251">
-          <caret line="1596" column="3" selection-start-line="1596" selection-start-column="3" selection-end-line="1596" selection-end-column="3" />
+        <state relative-caret-position="252">
+          <caret line="12" column="25" lean-forward="true" selection-start-line="12" selection-start-column="25" selection-end-line="12" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/index.dev.js">
+    <entry file="file://$PROJECT_DIR$/src/index.ejs">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
+        <state relative-caret-position="315">
+          <caret line="15" column="7" lean-forward="true" selection-start-line="15" selection-start-column="7" selection-end-line="15" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/index.js">
+    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="9" lean-forward="true" selection-start-line="9" selection-end-line="9" />
+        <state relative-caret-position="399">
+          <caret line="19" column="8" lean-forward="true" selection-start-line="19" selection-start-column="8" selection-end-line="19" selection-end-column="8" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/index.css" />
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/state.js">
+    <entry file="file://$PROJECT_DIR$/package.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="8" column="23" lean-forward="true" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="23" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-          </folding>
+        <state relative-caret-position="790">
+          <caret line="87" column="28" lean-forward="true" selection-start-line="87" selection-start-column="28" selection-end-line="87" selection-end-column="28" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="126">
-          <caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
+        <state relative-caret-position="273">
+          <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/components/Admin.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="546">
-          <caret line="54" column="45" selection-start-line="54" selection-start-column="45" selection-end-line="54" selection-end-column="45" />
+        <state relative-caret-position="-567">
+          <caret line="15" column="44" lean-forward="true" selection-start-line="15" selection-start-column="44" selection-end-line="15" selection-end-column="44" />
           <folding>
-            <element signature="n#div#0;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#0;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
             <element signature="n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#1;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#0;n#div#1;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#1;n#div#1;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#2;n#div#1;n#div#0;n#template#0;n#!!top" />
-            <element signature="n#div#2;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#div#0;n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#div#1;n#div#0;n#div#1;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#div#0;n#div#2;n#div#1;n#div#1;n#div#0;n#template#0;n#!!top" />
+            <element signature="e#3081#3565#0" />
+            <element signature="e#3791#3825#0" expanded="true" />
+            <element signature="e#5133#6243#0" />
+            <element signature="e#5153#6233#0" />
+            <element signature="e#5220#6219#0" />
+            <element signature="e#5272#6201#0" />
+            <element signature="e#5599#5939#0" />
+            <element signature="e#5998#6179#0" />
+            <element signature="n#style#0;n#!!top" />
+            <element signature="e#6284#6314#0" />
+            <element signature="e#6327#6452#0" />
+            <element signature="e#6467#6500#0" />
+            <element signature="e#6517#6572#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/admin.less">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="517">
-          <caret line="179" column="18" lean-forward="true" selection-start-line="179" selection-start-column="18" selection-end-line="179" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build/icons/icon.icns">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build/icons/icon.ico">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build/icons/256x256.png">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/index.ejs">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="231">
-          <caret line="11" column="9" lean-forward="true" selection-start-line="11" selection-start-column="9" selection-end-line="11" selection-end-column="9" />
-        </state>
-      </provider>
-    </entry>
   </component>
 </project>

+ 2 - 2
package.json

@@ -1,5 +1,5 @@
 {
-  "name": "electron-app",
+  "name": "dispersedvedio_managesystem",
   "version": "0.0.1",
   "author": "liuwei <1097408921@qq.com>",
   "description": "An electron-vue project",
@@ -17,7 +17,7 @@
     "postinstall": ""
   },
   "build": {
-    "productName": "electron-app",
+    "productName": "dispersedvedio_managesystem",
     "appId": "com.example.yourapp",
     "directories": {
       "output": "build"

+ 2 - 2
src/renderer/App.vue

@@ -6,10 +6,10 @@
 
 <script>
   export default {
-    name: 'electron-app'
+    name: 'dispersedvedio_managesystem'
   }
 </script>
 
 <style>
-  /* CSS */
+
 </style>

+ 77 - 10
src/renderer/components/Admin.vue

@@ -27,9 +27,28 @@
                     <el-button type="primary" size="small">rebuild DB</el-button>
                 </div>
                 <div class="bigscreen_control">
-                    <div class="split_screen">
+                    <draggable
+                            class="split_screen"
+                            element="div"
+                            v-model="signalList"
+                            :options="dragOptions2"
+                            :move="onMove"
+                            @start="isDragging=true"
+                            @end="isDragging=false"
+                    >
+                        <div v-for="(item,key) in signalList" :key="key">
+                            <div class="signal_item_bg">
+                                <div class="signal_item_bg_body">
+                                    <div class="signal_item_bg_body_space"></div>
+                                    <div class="signal_item_bg_body_font">{{item.name}}</div>
+                                </div>
+                            </div>
+                        </div>
+                    </draggable>
 
-                    </div>
+                    <!--<div class="split_screen">
+
+                    </div>-->
 
                     <div class="control_btns">
                         <!--分屏按钮-->
@@ -52,14 +71,33 @@
                         <h2>信号源列表</h2>
                     </div>
                     <div class="signal_body">
-                        <div class="signal_item" v-for="(item,index) in deviceList" :key="index" v-drag>
+                        <draggable
+                                class="signal_item"
+                                v-for="(item,index) in deviceList"
+                                :key="index"
+                                element="div"
+                                v-model="deviceList"
+                                :options="dragOptions1"
+                                :move="onMove"
+                                @start="isDragging=true"
+                                @end="isDragging=false"
+                        >
+                                <div class="signal_item_bg">
+                                    <div class="signal_item_bg_body">
+                                        <div class="signal_item_bg_body_space"></div>
+                                        <div class="signal_item_bg_body_font">{{item.name}}</div>
+                                    </div>
+                                </div>
+                        </draggable>
+
+                        <!--<div class="signal_item" v-for="(item,index) in deviceList" :key="index">
                             <div class="signal_item_bg">
                                 <div class="signal_item_bg_body">
                                     <div class="signal_item_bg_body_space"></div>
                                     <div class="signal_item_bg_body_font">{{item.name}}</div>
                                 </div>
                             </div>
-                        </div>
+                        </div>-->
                     </div>
                 </div>
             </div>
@@ -77,11 +115,17 @@
     import '../assets/less/admin.less'
     import storageUtils from "../../utils/storageUtils"
     import {mapState} from 'vuex'
+    import draggable from 'vuedraggable'
 
     export default {
+        components: {
+            draggable
+        },
         data() {
             return {
-                user:storageUtils.getUser()
+                user:storageUtils.getUser(),
+                signalList:[],// 被拖到大屏中的信号源
+                isDragging:false,
             }
         },
         methods: {
@@ -90,12 +134,35 @@
                 this.$router.replace('/login')
                 this.$store.dispatch('resetUser')
             },
+
+            onMove({relatedContext, draggedContext}) {
+                const relatedElement = relatedContext.element;
+                const draggedElement = draggedContext.element;
+                return (
+                    (!relatedElement || !relatedElement.fixed) && !draggedElement.fixed
+                );
+            },
         },
         computed: {
-            ...mapState(['deviceList'])
+            ...mapState(['deviceList']),
+            dragOptions1() {
+                return {
+                    animation: 0,
+                    group: {
+                        name: "description",
+                        pull: 'clone',
+                        put: false
+                    },
+                    ghostClass: "ghost",
+                }
+            },
+            dragOptions2() {
+                return {
+                    animation: 0,
+                    group: "description",
+                }
+            },
         },
-
-        // 注册局部指令
         directives: {
             drag: {
                 // 指令的定义
@@ -111,13 +178,13 @@
                             let t = e.clientY - divy
                             el.style.left = l + 'px'
                             el.style.top = t + 'px'
-                            
+
                             console.log(el)
                         }
                         document.onmouseup = function (e) {
                             document.onmousemove = null
                             document.onmouseup = null
-                            
+
                             console.log(e)
                         }
                     }