liwei2496 2 tahun lalu
induk
melakukan
ea9ea9b289

+ 272 - 111
.idea/workspace.xml

@@ -4,19 +4,19 @@
     <list default="true" id="b14f9fe1-d3c3-496a-8ebb-4789fe400212" name="默认更改列表" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages.json" beforeDir="false" afterPath="$PROJECT_DIR$/pages.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/pages/Workorder/Arrearsrecord/Arrearsrecord.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/Workorder/Arrearsrecord/Arrearsrecord.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages/Workorder/Workorder.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/Workorder/Workorder.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Immediatecollection/Chargedetails/Chargedetails.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Immediatecollection/Chargedetails/Chargedetails.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages/index/Immediatecollection/Immediatecollection.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Immediatecollection/Immediatecollection.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Withholdingrecord/Withholdingrecord.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Withholdingrecord/Withholdingrecord.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/index/Workordertodone/Workordertodone.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/Workordertodone/Workordertodone.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages/index/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pages/login/login.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/login/login.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pages/my/my.vue" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/my.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/uni.scss" beforeDir="false" afterPath="$PROJECT_DIR$/uni.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-config-service.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-config-service.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-service.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-service.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-view.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/cache/wgt/__UNI__FF40C0C/app-view.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-config-service.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-config-service.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-service.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-service.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-view.js" beforeDir="false" afterPath="$PROJECT_DIR$/unpackage/dist/build/app-plus/app-view.js" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/.tmp/" />
     <ignored path="$PROJECT_DIR$/temp/" />
@@ -32,12 +32,12 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/pages/index/index.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="631">
-              <caret line="229" column="10" selection-start-line="229" selection-start-column="10" selection-end-line="229" selection-end-column="10" />
+            <state relative-caret-position="510">
+              <caret line="203" column="114" selection-start-line="203" selection-start-column="8" selection-end-line="203" selection-end-column="114" />
               <folding>
-                <element signature="n#style#0;n#view#1;n#view#0;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#view#1;n#view#1;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#view#1;n#view#2;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#view#1;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#view#1;n#view#1;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#view#1;n#view#2;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
                 <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
                 <element signature="n#style#0;n#span#0;n#view#0;n#view#1;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
                 <element signature="n#style#0;n#view#0;n#view#0;n#view#1;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
@@ -74,11 +74,44 @@
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/pages/my/my.vue">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="600">
+              <caret line="111" column="114" selection-start-line="111" selection-start-column="114" selection-end-line="111" selection-end-column="114" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/pages.json">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="447">
+              <caret line="336" column="47" selection-start-line="336" selection-start-column="47" selection-end-line="336" selection-end-column="47" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/pages/index/Workordertodone/Workordertodone.vue">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="450">
+              <caret line="165" column="10" lean-forward="true" selection-start-line="158" selection-start-column="8" selection-end-line="165" selection-end-column="10" />
+              <folding>
+                <element signature="n#style#0;n#view#0;n#view#0;n#view#2;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#2;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#view#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/pages/login/login.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="510">
-              <caret line="55" column="35" selection-start-line="55" selection-start-column="35" selection-end-line="55" selection-end-column="35" />
+            <state relative-caret-position="600">
+              <caret line="121" column="34" selection-start-line="121" selection-start-column="34" selection-end-line="121" selection-end-column="34" />
             </state>
           </provider>
         </entry>
@@ -86,19 +119,28 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/uni.scss">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="540">
-              <caret line="39" column="30" selection-start-line="39" selection-start-column="30" selection-end-line="39" selection-end-column="30" />
+            <state relative-caret-position="420">
+              <caret line="41" selection-start-line="41" selection-start-column="2" selection-end-line="43" selection-end-column="3" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/pages/Workorder/Workorder.vue">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="549">
+              <caret line="129" column="32" lean-forward="true" selection-start-line="129" selection-start-column="32" selection-end-line="129" selection-end-column="32" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue">
+        <entry file="file://$PROJECT_DIR$/pages/Workorder/AccessControl/AccessControl.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-120">
-              <caret line="241" column="53" selection-start-line="241" selection-start-column="42" selection-end-line="241" selection-end-column="53" />
+            <state relative-caret-position="399">
+              <caret line="177" column="17" selection-start-line="177" selection-start-column="17" selection-end-line="177" selection-end-column="17" />
               <folding>
-                <element signature="n#style#0;n#image#0;n#u-upload#0;n#view#0;n#u-form-item#6;n#u--form#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
+                <element signature="e#836#997#0" />
               </folding>
             </state>
           </provider>
@@ -115,36 +157,36 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>getuserInfophone</find>
-      <find>indexList</find>
-      <find>Onlinewarranty</find>
-      <find>dataForm</find>
-      <find>设备异常</find>
-      <find>Punchindata</find>
-      <find>Personalinformation</find>
-      <find>Informationmodification</find>
-      <find>hideKeyboard</find>
-      <find>submit</find>
-      <find>name</find>
-      <find>sex</find>
-      <find>phone</find>
-      <find>mobile</find>
-      <find>email</find>
-      <find>actions</find>
-      <find>sexSelect</find>
-      <find>department</find>
-      <find>address</find>
-      <find>navigations</find>
-      <find>Homepage_header</find>
-      <find>Homepage_suspension</find>
-      <find>content</find>
-      <find>pending</find>
-      <find>pending1</find>
-      <find>arrears</find>
-      <find>arrears1</find>
+      <find>weixiuno</find>
+      <find>details</find>
+      <find>qleixinguyu</find>
+      <find>columnsrenyuan</find>
+      <find>Workorderdetails3</find>
+      <find>editdata</find>
       <find>fileList1</find>
-      <find>afterRead</find>
-      <find>fileListLen</find>
+      <find>uploadBox</find>
+      <find>uploadImg</find>
+      <find>class</find>
+      <find>newimg</find>
+      <find>confirmtype</find>
+      <find>columnstype</find>
+      <find>postdata</find>
+      <find>uploadPart</find>
+      <find>Workordertodone</find>
+      <find>srcxianshang1</find>
+      <find>kongbai</find>
+      <find>Homepage_suspension</find>
+      <find>tuichu</find>
+      <find>Homepage_header</find>
+      <find>managelind</find>
+      <find>managename</find>
+      <find>首页</find>
+      <find>mjname</find>
+      <find>sfkq</find>
+      <find>mjkg</find>
+      <find>Videosurveillance</find>
+      <find>asyncChange1</find>
+      <find>mjzt1</find>
     </findStrings>
     <replaceStrings>
       <replace>repairRegioncontactPerson</replace>
@@ -157,22 +199,29 @@
     <option name="CHANGED_PATHS">
       <list>
         <option value="$PROJECT_DIR$/pages/my/Mydistribution/distributionedit/distributionedit.vue" />
-        <option value="$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue" />
         <option value="$PROJECT_DIR$/http/baseApi.js" />
         <option value="$PROJECT_DIR$/utils/qrcode.js" />
         <option value="$PROJECT_DIR$/pages/index/BillPending/BillPending.vue" />
         <option value="$PROJECT_DIR$/pages/index/EquipmentException/EquipmentException.vue" />
-        <option value="$PROJECT_DIR$/pages.json" />
-        <option value="$PROJECT_DIR$/pages/index/Withholdingrecord/Withholdingrecord.vue" />
-        <option value="$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue" />
-        <option value="$PROJECT_DIR$/pages/my/my.vue" />
         <option value="$PROJECT_DIR$/pages/my/Personalinformation/Personalinformation.vue" />
         <option value="$PROJECT_DIR$/pages/my/Personalinformation/Informationmodification/Informationmodification.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Workordertodone/hasrepaired/hasrepaired.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Workordertodone/Workordertodone.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Withholdingrecord/Withholdingrecord.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Immediatecollection/Chargedetails/Chargedetails.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Immediatecollection/Immediatecollection.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue" />
+        <option value="$PROJECT_DIR$/pages/index/Workordertodone/Toberepaired/Toberepaired.vue" />
         <option value="$PROJECT_DIR$/pages/index/index.vue" />
-        <option value="$PROJECT_DIR$/pages/Workorder/Workorder.vue" />
-        <option value="$PROJECT_DIR$/uni.scss" />
         <option value="$PROJECT_DIR$/pages/login/login.vue" />
-        <option value="$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue" />
+        <option value="$PROJECT_DIR$/pages/my/my.vue" />
+        <option value="$PROJECT_DIR$/uni.scss" />
+        <option value="$PROJECT_DIR$/pages.json" />
+        <option value="$PROJECT_DIR$/pages/Workorder/Workorder.vue" />
+        <option value="$PROJECT_DIR$/pages/Workorder/AccessControl/AccessControl.vue" />
       </list>
     </option>
   </component>
@@ -201,18 +250,28 @@
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
-              <item name="http" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
               <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Immediatecollection" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
               <item name="pages" type="462c0819:PsiDirectoryNode" />
               <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Immediatecollection" type="462c0819:PsiDirectoryNode" />
+              <item name="Chargedetails" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
@@ -221,6 +280,13 @@
               <item name="index" type="462c0819:PsiDirectoryNode" />
               <item name="Immediateinspection" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Onlinewarranty" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
@@ -228,6 +294,37 @@
               <item name="index" type="462c0819:PsiDirectoryNode" />
               <item name="Withholdingrecord" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Workordertodone" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Workordertodone" type="462c0819:PsiDirectoryNode" />
+              <item name="hasrepaired" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Workordertodone" type="462c0819:PsiDirectoryNode" />
+              <item name="Toberepaired" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="index" type="462c0819:PsiDirectoryNode" />
+              <item name="Workordertodone" type="462c0819:PsiDirectoryNode" />
+              <item name="Workorderdetails" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
@@ -276,6 +373,13 @@
               <item name="pages" type="462c0819:PsiDirectoryNode" />
               <item name="Workorder" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
+              <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
+              <item name="pages" type="462c0819:PsiDirectoryNode" />
+              <item name="Workorder" type="462c0819:PsiDirectoryNode" />
+              <item name="AccessControl" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="witcabonAPP" type="b2602c69:ProjectViewProjectNode" />
               <item name="witcabonAPP" type="462c0819:PsiDirectoryNode" />
@@ -292,6 +396,7 @@
     <property name="last_opened_file_path" value="$PROJECT_DIR$/../witcarbon-vue" />
     <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_package_manager_path" value="npm" />
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -325,12 +430,13 @@
       <workItem from="1681345236598" duration="1191000" />
       <workItem from="1681432005487" duration="594000" />
       <workItem from="1681691706962" duration="1414000" />
-      <workItem from="1681776390439" duration="8242000" />
+      <workItem from="1681776390439" duration="13917000" />
+      <workItem from="1681862208704" duration="23793000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="65833000" />
+    <option name="totallyTimeSpent" value="95301000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="1912" y="-8" width="1936" height="1056" extended-state="6" />
@@ -360,13 +466,6 @@
     <option name="version" value="1" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1080">
-          <caret line="223" column="14" selection-start-line="223" selection-start-column="14" selection-end-line="223" selection-end-column="14" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/utils/index.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="810">
@@ -428,71 +527,113 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/pages/my/Personalinformation/Informationmodification/Informationmodification.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="399">
+          <caret line="222" column="10" selection-start-line="222" selection-start-column="10" selection-end-line="222" selection-end-column="10" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/my/Personalinformation/Personalinformation.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="390">
+          <caret line="28" column="29" selection-start-line="24" selection-start-column="8" selection-end-line="28" selection-end-column="29" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/http/index.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="330">
+          <caret line="11" column="52" selection-start-line="11" selection-start-column="36" selection-end-line="11" selection-end-column="52" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/index/Inspectionrecord/Inspectionrecord.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="279">
+          <caret line="259" column="23" selection-start-line="259" selection-start-column="12" selection-end-line="259" selection-end-column="23" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/pages/index/Withholdingrecord/Withholdingrecord.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="719">
-          <caret line="365" column="5" lean-forward="true" selection-start-line="275" selection-start-column="4" selection-end-line="365" selection-end-column="5" />
-          <folding>
-            <element signature="n#view#1;n#view#0;n#template#0;n#!!top" />
-          </folding>
+        <state relative-caret-position="423">
+          <caret line="44" column="54" selection-start-line="44" selection-start-column="54" selection-end-line="44" selection-end-column="54" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue">
+    <entry file="file://$PROJECT_DIR$/pages/index/Immediatecollection/Chargedetails/Chargedetails.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="269">
-          <caret line="82" column="63" lean-forward="true" selection-start-line="81" selection-start-column="12" selection-end-line="82" selection-end-column="63" />
+        <state relative-caret-position="60">
+          <caret line="62" column="37" lean-forward="true" selection-start-line="62" selection-start-column="37" selection-end-line="62" selection-end-column="37" />
           <folding>
-            <element signature="n#style#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
-            <element signature="e#1561#1611#0" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages.json">
+    <entry file="file://$PROJECT_DIR$/pages/index/Immediatecollection/Immediatecollection.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="279">
-          <caret line="97" column="98" selection-start-line="97" selection-start-column="22" selection-end-line="97" selection-end-column="98" />
+        <state relative-caret-position="270">
+          <caret line="45" column="20" selection-start-line="45" selection-start-column="20" selection-end-line="45" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/my/Personalinformation/Informationmodification/Informationmodification.vue">
+    <entry file="file://$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="399">
-          <caret line="222" column="10" selection-start-line="222" selection-start-column="10" selection-end-line="222" selection-end-column="10" />
+        <state relative-caret-position="119">
+          <caret line="293" column="14" selection-start-line="293" selection-start-column="14" selection-end-line="293" selection-end-column="14" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/my/Personalinformation/Personalinformation.vue">
+    <entry file="file://$PROJECT_DIR$/pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="390">
-          <caret line="28" column="29" selection-start-line="24" selection-start-column="8" selection-end-line="28" selection-end-column="29" />
+        <state relative-caret-position="339">
+          <caret line="45" column="90" selection-start-line="45" selection-start-column="60" selection-end-line="45" selection-end-column="90" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/my/my.vue">
+    <entry file="file://$PROJECT_DIR$/pages/index/Workordertodone/hasrepaired/hasrepaired.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="540">
-          <caret line="212" column="36" selection-start-line="212" selection-start-column="26" selection-end-line="212" selection-end-column="36" />
+        <state relative-caret-position="510">
+          <caret line="68" column="19" selection-start-line="68" selection-start-column="19" selection-end-line="68" selection-end-column="19" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/uni.scss">
+    <entry file="file://$PROJECT_DIR$/pages/index/Workordertodone/Toberepaired/Toberepaired.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="540">
-          <caret line="39" column="30" selection-start-line="39" selection-start-column="30" selection-end-line="39" selection-end-column="30" />
+        <state relative-caret-position="369">
+          <caret line="61" column="55" selection-start-line="61" selection-start-column="31" selection-end-line="61" selection-end-column="55" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/index/Immediateinspection/Immediateinspection.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="144">
+          <caret line="146" column="55" selection-start-line="146" selection-start-column="41" selection-end-line="146" selection-end-column="55" />
+          <folding>
+            <element signature="n#style#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="e#1561#1611#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/login/login.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="600">
+          <caret line="121" column="34" selection-start-line="121" selection-start-column="34" selection-end-line="121" selection-end-column="34" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/pages/index/index.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="631">
-          <caret line="229" column="10" selection-start-line="229" selection-start-column="10" selection-end-line="229" selection-end-column="10" />
+        <state relative-caret-position="510">
+          <caret line="203" column="114" selection-start-line="203" selection-start-column="8" selection-end-line="203" selection-end-column="114" />
           <folding>
-            <element signature="n#style#0;n#view#1;n#view#0;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#view#1;n#view#1;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#view#1;n#view#2;n#view#0;n#view#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#view#1;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#view#1;n#view#1;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#view#1;n#view#2;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
             <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
             <element signature="n#style#0;n#span#0;n#view#0;n#view#1;n#view#0;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
             <element signature="n#style#0;n#view#0;n#view#0;n#view#1;n#view#0;n#view#1;n#view#0;n#template#0;n#!!top" expanded="true" />
@@ -528,33 +669,53 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/Workorder/Workorder.vue">
+    <entry file="file://$PROJECT_DIR$/pages/my/my.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="630">
-          <caret line="42" selection-start-line="42" selection-end-line="42" />
+        <state relative-caret-position="600">
+          <caret line="111" column="114" selection-start-line="111" selection-start-column="114" selection-end-line="111" selection-end-column="114" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/login/login.vue">
+    <entry file="file://$PROJECT_DIR$/uni.scss">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="510">
-          <caret line="55" column="35" selection-start-line="55" selection-start-column="35" selection-end-line="55" selection-end-column="35" />
+        <state relative-caret-position="420">
+          <caret line="41" selection-start-line="41" selection-start-column="2" selection-end-line="43" selection-end-column="3" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/http/index.js">
+    <entry file="file://$PROJECT_DIR$/pages.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="330">
-          <caret line="11" column="52" selection-start-line="11" selection-start-column="36" selection-end-line="11" selection-end-column="52" />
+        <state relative-caret-position="447">
+          <caret line="336" column="47" selection-start-line="336" selection-start-column="47" selection-end-line="336" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pages/index/Onlinewarranty/Onlinewarranty.vue">
+    <entry file="file://$PROJECT_DIR$/pages/Workorder/Workorder.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="549">
+          <caret line="129" column="32" lean-forward="true" selection-start-line="129" selection-start-column="32" selection-end-line="129" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/index/Workordertodone/Workordertodone.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-120">
-          <caret line="241" column="53" selection-start-line="241" selection-start-column="42" selection-end-line="241" selection-end-column="53" />
+        <state relative-caret-position="450">
+          <caret line="165" column="10" lean-forward="true" selection-start-line="158" selection-start-column="8" selection-end-line="165" selection-end-column="10" />
+          <folding>
+            <element signature="n#style#0;n#view#0;n#view#0;n#view#2;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#2;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#view#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#view#0;n#view#0;n#view#3;n#view#0;n#template#0;n#!!top" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pages/Workorder/AccessControl/AccessControl.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="399">
+          <caret line="177" column="17" selection-start-line="177" selection-start-column="17" selection-end-line="177" selection-end-column="17" />
           <folding>
-            <element signature="n#style#0;n#image#0;n#u-upload#0;n#view#0;n#u-form-item#6;n#u--form#0;n#view#0;n#view#0;n#template#0;n#!!top" expanded="true" />
+            <element signature="e#836#997#0" />
           </folding>
         </state>
       </provider>

+ 81 - 54
pages.json

@@ -198,7 +198,7 @@
             "path" : "pages/index/Workordertodone/Workordertodone",
             "style" :
             {
-                "navigationBarTitleText": "报修工单",
+                "navigationBarTitleText": "工单待办",
                 "enablePullDownRefresh": false
             }
 
@@ -269,48 +269,75 @@
         }
         ,{
             "path" : "pages/my/Myorder/Myorder",
-            "style" :                                                                                    
+            "style" :
             {
                 "navigationBarTitleText": "我的订单",
                 "enablePullDownRefresh": false
             }
-            
+
         }
         ,{
             "path" : "pages/my/Myorder/Orderdetails/Orderdetails",
-            "style" :                                                                                    
+            "style" :
             {
                 "navigationBarTitleText": "订单明细",
                 "enablePullDownRefresh": false
             }
-            
+
         }
         ,{
             "path" : "pages/Workorder/Arrearsrecord/Arrearsrecord",
-            "style" :                                                                                    
+            "style" :
             {
                 "navigationBarTitleText": "欠费记录",
                 "enablePullDownRefresh": false
             }
-            
+
         }
         ,{
             "path" : "pages/Workorder/Videosurveillance/Videosurveillance",
-            "style" :                                                                                    
+            "style" :
             {
                 "navigationBarTitleText": "视频监控",
                 "enablePullDownRefresh": false
             }
-            
+
         }
         ,{
             "path" : "pages/Workorder/Videosurveillance/Videoplayback/Videoplayback",
-            "style" :                                                                                    
+            "style" :
             {
                 "navigationBarTitleText": "摄像头直播",
                 "enablePullDownRefresh": false
             }
-            
+
+        }
+        ,{
+            "path" : "pages/index/Workordertodone/Toberepaired/Toberepaired",
+            "style" :
+            {
+                "navigationBarTitleText": "待维修详情",
+                "enablePullDownRefresh": false
+            }
+
+        }
+        ,{
+            "path" : "pages/index/Workordertodone/hasrepaired/hasrepaired",
+            "style" :
+            {
+                "navigationBarTitleText": "已维修详情",
+                "enablePullDownRefresh": false
+            }
+
+        }
+        ,{
+            "path" : "pages/Workorder/AccessControl/AccessControl",
+            "style" :
+            {
+                "navigationBarTitleText": "门禁管理",
+                "enablePullDownRefresh": false
+            }
+
         }
     ],
 	"globalStyle": {
@@ -319,49 +346,49 @@
 		"navigationBarBackgroundColor": "#F8F8F8",
 		"backgroundColor": "#F8F8F8"
 	},
-
-	"tabBar": {
-		"color": "#0C1935",
-		"selectedColor": "#2E69EB",
-		"borderStyle": "black",
-		"backgroundColor": "#ffffff",
-		"height": "55px",
-		"fontSize": "10px",
-		"iconWidth": "24px",
-		"spacing": "3px",
-		"list": [{
-				"pagePath": "pages/index/index",
-				"iconPath": "static/tab/h1.png",
-							"selectedIconPath": "static/tab/h2.png",
-				"text": "首页"
-			},
-			// {
-			// 	"pagePath": "pages/equipment/equipment",
-			// 	"iconPath": "static/tab/s1.png",
-			// 				"selectedIconPath": "static/tab/s2.png",
-			// 	"text": "设备"
-			// },
-			{
-				"pagePath": "pages/Workorder/Workorder",
-				"iconPath": "static/tab/w1.png",
-							"selectedIconPath": "static/tab/w2.png",
-				"text": "工作台"
-			},
-			// {
-			// 	"pagePath": "pages/Energyconsumption/Energyconsumption",
-			// 	"iconPath": "static/tab/e1.png",
-			// 				"selectedIconPath": "static/tab/e2.png",
-			// 	"text": "能耗"
-			// },
-			{
-				"pagePath": "pages/my/my",
-				"iconPath": "static/tab/y1.png",
-							"selectedIconPath": "static/tab/y2.png",
-				"text": "我的"
-			}
-		]
-
-	},
+//
+//	"tabBar": {
+//		"color": "#0C1935",
+//		"selectedColor": "#2E69EB",
+//		"borderStyle": "black",
+//		"backgroundColor": "#ffffff",
+//		"height": "55px",
+//		"fontSize": "10px",
+//		"iconWidth": "24px",
+//		"spacing": "3px",
+//		"list": [{
+//				"pagePath": "pages/index/index",
+//				"iconPath": "static/tab/h1.png",
+//							"selectedIconPath": "static/tab/h2.png",
+//				"text": "首页"
+//			},
+//			// {
+//			// 	"pagePath": "pages/equipment/equipment",
+//			// 	"iconPath": "static/tab/s1.png",
+//			// 				"selectedIconPath": "static/tab/s2.png",
+//			// 	"text": "设备"
+//			// },
+//			{
+//				"pagePath": "pages/Workorder/Workorder",
+//				"iconPath": "static/tab/w1.png",
+//							"selectedIconPath": "static/tab/w2.png",
+//				"text": "工作台"
+//			},
+//			// {
+//			// 	"pagePath": "pages/Energyconsumption/Energyconsumption",
+//			// 	"iconPath": "static/tab/e1.png",
+//			// 				"selectedIconPath": "static/tab/e2.png",
+//			// 	"text": "能耗"
+//			// },
+//			{
+//				"pagePath": "pages/my/my",
+//				"iconPath": "static/tab/y1.png",
+//							"selectedIconPath": "static/tab/y2.png",
+//				"text": "我的"
+//			}
+//		]
+//
+//	},
 	"easycom": {
 		"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue"
 	},

+ 199 - 0
pages/Workorder/AccessControl/AccessControl.vue

@@ -0,0 +1,199 @@
+<template>
+	<view class="menjin" >
+		<view class="mjym"  v-for="(item,index) in mjlist" :key="item.id">
+<view class="mjzt1" v-if="item.status==1">在线</view>
+			<view class="mjzt2"  v-if="item.status==0">离线</view>
+
+<h3 class="mjname">{{item.deviceName}}</h3>
+<view class="mjlx">{{item.deviceSerial}}</view>
+			<view class="mjsh">{{item.parentCategory}}</view>
+
+			<view class="mjkg">
+				<view class="sfkq">
+					<view class="sfkq1">是否开启</view>
+					<view class="sfkq2"><u-switch activeColor="#2979FF" asyncChange @change="asyncChange1(item)"
+												  inactiveColor="rgb(230, 230, 230)" v-model="item.value1" size="40" ></u-switch></view>
+				</view>
+				<view class="sfkq">
+					<view class="sfkq1">是否常开</view>
+					<view class="sfkq2"><u-switch activeColor="#2979FF" asyncChange @change="asyncChange2(item)"
+												  inactiveColor="rgb(230, 230, 230)" v-model="item.value2" size="40" ></u-switch></view>
+				</view>
+			</view>
+		</view>
+
+
+		<u-notify ref="uNotify" message="" ></u-notify>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				mjlist:[],
+			//	postdata:{},
+			}
+		},
+		onLoad(){
+			this.getalldata()
+		},
+
+		methods: {
+			getalldata(){
+				this.$api.get('/access/page',{})
+						.then(res=>{
+
+							if(res.data.code==0){
+								if(res.data.data.length==0){
+									this.mjlist=[]
+								}else{
+									for(let i=0;i<res.data.data.length;i++){
+										res.data.data[i].value1=false;
+										res.data.data[i].value2=false;
+									}
+
+									this.mjlist=res.data.data;
+								}
+								//console.log('111111111111111111',this.mjlist)
+							}else{
+								this.$refs.uNotify.error(res.data.msg)
+							}
+						})
+			},
+			operate(e){
+				this.$api.post('/access/operate',e)
+						.then(res=>{
+							if(res.data.code==0){
+								this.$refs.uNotify.success('成功')
+							}else{
+								this.$refs.uNotify.error(res.data.msg)
+							}
+						})
+			},
+
+			asyncChange1(e,) {
+				uni.showModal({
+					content: e.value1 ? '确定要关闭门禁吗' : '确定要开启门禁吗',
+					success: (res) => {
+						if (res.confirm) {
+							e.value1=!e.value1;
+
+if(e.value1==true){
+	let postdata={
+		cmd:'open',
+		deviceSerial:e.deviceSerial
+	}
+	this.operate(postdata)
+}else{
+	let postdata={
+		cmd:'close',
+		deviceSerial:e.deviceSerial
+	}
+	this.operate(postdata)
+}
+
+
+						}
+					}
+				})
+
+			},
+			asyncChange2(e,) {
+				uni.showModal({
+					content: e.value2 ? '确定要关闭常开吗' : '确定要常开吗',
+					success: (res) => {
+						if (res.confirm) {
+							e.value2=!e.value2;
+
+							if(e.value2==true){
+								let postdata={
+									cmd:'alwaysOpen',
+									deviceSerial:e.deviceSerial
+								}
+								this.operate(postdata)
+							}else{
+								let postdata={
+									cmd:'alwaysClose',
+									deviceSerial:e.deviceSerial
+								}
+								this.operate(postdata)
+							}
+						}
+					}
+				})
+
+			},
+
+		}
+	}
+</script>
+
+<style>
+.menjin{
+
+}
+.sfkq1{
+	padding-right: 25rpx;
+}
+.sfkq{
+	width: 345rpx;
+	height: 40rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+.mjkg{
+	display: flex;
+	align-items: center;
+margin-top: 80rpx;
+}
+.mjsh{
+	padding: 0rpx 0 0rpx 30rpx;
+	font-size: 26rpx;
+	font-weight: 400;
+	color: #697081;
+}
+.mjlx{
+	font-size: 30rpx;
+	padding: 0rpx 0 20rpx 30rpx;
+	font-weight: 600;
+	color: #0c1935;
+}
+.mjname{
+	padding: 50rpx 0 50rpx 30rpx;
+}
+	.mjym{
+		width: 690rpx;
+		height: 400rpx;
+		background: #fff;
+		margin: 20rpx auto;
+		border-radius: 10px;
+		position: relative;
+	}
+.mjzt1{
+	position: absolute;
+	right: 10rpx;
+	top: 10rpx;
+	background: #30D3A2;
+	color: #fff;
+	width: 100rpx;
+	height: 50rpx;
+	border-radius: 10px;
+	line-height: 50rpx;
+	text-align: center;
+}
+.mjzt2{
+	position: absolute;
+	right: 10rpx;
+	top: 10rpx;
+	background:rgb(105, 112, 129);
+	color: #fff;
+	width: 100rpx;
+	height: 50rpx;
+	border-radius: 10px;
+	line-height: 50rpx;
+	text-align: center;
+}
+
+</style>

+ 50 - 2
pages/Workorder/Workorder.vue

@@ -20,7 +20,7 @@
 				</view>
 			</view>
 
-	<view class="managename" @click="Videosurveillance" >
+	<view class="managename" @click="Videosurveillance"  v-if="$has('app:Videosurveillance')">
 				<view class="managename1">
 					<!-- <img :src='srcyuanc' alt=""> -->
 				<u--image  mode="widthFix"  :src="srcshipin" width="48rpx" height="48rpx"></u--image>
@@ -30,6 +30,16 @@
 				</view>
 			</view>
 
+			<view class="managename" @click="AccessControl"  v-if="$has('app:AccessControl')">
+				<view class="managename1">
+					<!-- <img :src='srcyuanc' alt=""> -->
+					<u--image  mode="widthFix"  :src="srcshipin" width="48rpx" height="48rpx"></u--image>
+				</view>
+				<view class="managename2">
+					门禁管理
+				</view>
+			</view>
+
 			<!-- v-if="$has('app:Arrearsrecord')" -->
 			<!--<view class="managename" @click="Arrearsrecord" >-->
 				<!--<view class="managename1">-->
@@ -53,6 +63,18 @@
 		</view>
 
 
+		<u-tabbar
+				:value="value1"
+				:fixed="true"
+				:placeholder="true"
+				@change="name => value1 = name"
+				activeColor="#2E69EB"
+				:safeAreaInsetBottom="true"
+		>
+			<u-tabbar-item text="首页" icon="home" @click="click1" ></u-tabbar-item>
+			<u-tabbar-item  v-if="$has('app:worktable')"  text="工作台" icon="list" @click="click2" ></u-tabbar-item>
+			<u-tabbar-item text="我的" icon="account" @click="click3" ></u-tabbar-item>
+		</u-tabbar>
 	</view>
 </template>
 
@@ -60,6 +82,7 @@
 	export default {
 		data() {
 			return {
+				value1: 1,
 					srczuhu: require('@/static/management/zd.png'),
 					srcyuanc: require('@/static/management/yc.png'),
 					srcjilu: require('@/static/management/jl.png'),
@@ -67,6 +90,22 @@
 			}
 		},
 		methods: {
+			click1(){
+				uni.navigateTo({
+					url: '/pages/index/index'
+				})
+			},
+			click2(){
+				uni.navigateTo({
+					url: '/pages/Workorder/Workorder'
+				})
+			},
+			click3(){
+				uni.navigateTo({
+					url: '/pages/my/my'
+				})
+			},
+
 			Tenantbill(){
 				uni.navigateTo({
 					url: '/pages/Workorder/Tenantbill/Tenantbill'
@@ -87,6 +126,12 @@
 					url: '/pages/Workorder/Videosurveillance/Videosurveillance'
 				})
 			},
+			AccessControl(){
+				uni.navigateTo({
+					url: '/pages/Workorder/AccessControl/AccessControl'
+				})
+			},
+
 			// pay(){
 			// 	uni.navigateTo({
 			// 		url: '/pages/Workorder/pay/pay'
@@ -100,8 +145,9 @@
 .management{}
 .managelind{
 	display: flex;
-	justify-content: space-around;
+	//justify-content: space-around;
 	align-items: center;
+	flex-wrap: wrap;
 	width: 690rpx;
 	min-height: 130rpx;
 	margin: 20rpx auto;
@@ -109,6 +155,8 @@
 	border-radius: 10px;
 }
 .managename{
+	width: 345rpx;
+	height: 170rpx;
 	display: flex;
 	flex-direction: column;
 	align-items: center;

+ 17 - 13
pages/index/Immediatecollection/Chargedetails/Chargedetails.vue

@@ -1,12 +1,14 @@
 <template>
 	<view>
 		<view class="u-listdata">
-		
-		
+			<view style="padding:10rpx 0 0 30rpx">
+				共有 <span style="color: red">{{totalnumber}}</span>条记录
+			</view>
+
 			<u-list @scrolltolower="scrolltolower" :pagingEnabled='true'>
 				<u-list-item v-for="(item, index) in indexList" :key="index">
-		
-					<view class="companylist" @click="seedetail(item)">							
+
+					<view class="companylist" @click="seedetail(item)">
 						<view class="Currentamount">
 							欠费金额:{{item.smsCode}}
 						</view>
@@ -26,10 +28,10 @@
 							短信内容: {{item.content}}
 						</view>
 					</view>
-		
+
 				</u-list-item>
 			</u-list>
-		
+
 		</view>
 	</view>
 </template>
@@ -45,19 +47,21 @@
 					limit:10,
 				},
 				pd: true,
+				totalnumber:0,
 			}
 		},
 		onLoad(options) {
-		   // this.postdata.name = options.companyOrgId;
-		    console.log(options.companyOrgId);
+		    this.postdata.name = options.companyOrgId;
+		  //  console.log(options.companyOrgId);
 			this.getdata()
 		},
 		methods: {
 			getdata(){
 				this.$api.get('/expeditrecord/recordpage',this.postdata)
 				.then(res=>{
-				  console.log('111111111111111111',res)
-				  
+				  console.log('111111111111111111',res.data.data.total)
+this.totalnumber=res.data.data.total;
+
 				  if (res.data.data.list.length != 0) {
 				  	this.indexList.push(...res.data.data.list);
 				  	this.postdata.page = this.postdata.page + 1;
@@ -70,8 +74,8 @@
 				  	})
 				  	this.pd = false;
 				  }
-				  
-				  
+
+
 				})
 			},
 			scrolltolower() {
@@ -81,7 +85,7 @@
 					return
 				}
 			},
-			
+
 		}
 	}
 </script>

+ 11 - 16
pages/index/Immediatecollection/Immediatecollection.vue

@@ -43,12 +43,7 @@
 				<u-list-item v-for="(item, index) in indexList" :key="index">
 
 					<view class="companylist" @click="seedetail(item)">
-						<!-- <view class="settled" v-if="item.isSettled==0">
-							已催费
-						</view>
-						<view class="outstanding" v-if="item.isSettled==1">
-							未催费
-						</view> -->
+
 						<view class="settled" :style="{
 						                'background-color': item.isExpedit == 1 ? '#09C700' : '#FA5555',
 						              }">
@@ -71,7 +66,7 @@
 						<view class="Currentamount">
 							联系电话: {{item.phone}}
 						</view>
-						<view class="Callfee" v-if="item.isExpedit==1" @click.stop="handleClick(item.id)">
+						<view class="Callfee"  @click.stop="handleClick(item.id)">
 							催费
 						</view>
 					</view>
@@ -109,7 +104,7 @@
 				totalnumber: 0,
 				setyesno: true,
 				indexList: [],
-				dataList: [],	
+				dataList: [],
 				dataForm: {
 					arrearDay: "", //欠费天数
 					billType: "", //账单类型
@@ -170,9 +165,9 @@
 				}
 				if (getDictDataList[i].dictType == 'PayType') {
 					this.PayTypedata = getDictDataList[i].dataList;
-					
+
 				}
-				
+
 			}
 
 			this.getalldata();
@@ -201,11 +196,11 @@
 					url: `/pages/index/Immediatecollection/Chargedetails/Chargedetails?companyOrgId=${e.tenantName}`
 				})
 			},
-			handleClick(e) {			
-				let Temporarydata = [e];				
+			handleClick(e) {
+				let Temporarydata = [e];
 				let stringdata = JSON.stringify(Temporarydata);
 				let finallydata = stringdata.replace(/"/g, '');
-				
+
 				this.$api.post('/expeditrecord/charge', finallydata)
 					.then(res => {
 						if (res.data.code == 0) {
@@ -223,7 +218,7 @@
 						}
 						this.dataForm.page = 1;
 						this.indexList = [];
-						this.getalldata();			
+						this.getalldata();
 					})
 			},
 			scrolltolower() {
@@ -255,7 +250,7 @@
 								return a;
 							}
 							res.data.data.list = transform(res.data.data.list, this.PayTypedata)
-							
+
 							this.indexList.push(...res.data.data.list);
 							this.dataForm.page = this.dataForm.page + 1;
 							this.pd = true;
@@ -276,7 +271,7 @@
 				this.showtype = false;
 			},
 			confirmtype(e) {
-				
+
 				this.showtype = false;
 				this.mytype = e.value[0].label;
 				this.dataForm.billType = e.value[0].id;

+ 1 - 1
pages/index/Immediateinspection/Immediateinspection.vue

@@ -80,7 +80,7 @@
 		//监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参
 		onLoad() {
 			this.getuserInfo = uni.getStorageSync('getuserInfo');
-			console.log('111111111111111111', this.getuserInfo)
+			//console.log('111111111111111111', this.getuserInfo)
 
 			var date = new Date();
 			var year = date.getFullYear();

+ 15 - 21
pages/index/Inspectionrecord/Inspectionrecord.vue

@@ -78,7 +78,7 @@
 			@cancel='cancelxunjian'>
 		</u-picker>
 
-		<u-picker :show="showtype" :columns="columnstype" keyName="label" @confirm="confirmtype" @cancel='canceltype'>
+		<u-picker :show="showtype" :columns="columnstype" keyName="realName" @confirm="confirmtype" @cancel='canceltype'>
 		</u-picker>
 
 		<u-picker :show="showfloor" ref="uPicker" :loading="loading" @confirm="confirmfloor" @cancel='cancelfloor'
@@ -132,10 +132,10 @@
 					buildingId: "",
 					storeyId: "",
 					circuitType: "",
-					
+
 					cycle: "",
 					//status: "",
-					
+
 					page: 1,
 					limit: 10,
 				},
@@ -148,26 +148,13 @@
 				columns: [],
 				columnData: [],
 				pd: true,
-				myday: '',
+
 				xjry: '巡检人员',
 				showPicker: false,
 				myday: currentDate,
 				columnstypexunjian: [],
 
-				columnstype: [
-					[{
-							label: '张三',
-							id: ''
-						}, {
-							label: '李四',
-							id: 0
-						},
-						{
-							label: '王五',
-							id: 1
-						}
-					]
-				],
+				columnstype: [],
 
 
 
@@ -190,7 +177,7 @@
 				}
 			}
 
-
+			this.getUserList();
 			this.getfloor();
 			//	this.loadmore();
 		},
@@ -211,7 +198,14 @@
 
 
 		methods: {
-			
+			getUserList() {
+				this.$api.get('/user/list',{ page: 1,
+					limit: 100,})
+						.then(res=>{
+							//	console.log('111111111111111111',res.data.data)
+							this.columnstype=[res.data.data]
+						})
+			},
 			scrolltolower() {
 				if (this.pd) {
 					this.getalldata();
@@ -259,7 +253,7 @@
 
 					})
 			},
-			
+
 			canceltype() {
 				this.showtype = false;
 			},

+ 55 - 31
pages/index/Onlinewarranty/Onlinewarranty.vue

@@ -43,7 +43,13 @@
 				</u-form-item>
 				<u-form-item labelWidth='180' label="上传照片:" prop="userInfo.faultPics" borderBottom ref="item1">
 					<view class="uploadPart">
-						<image :src="img" mode="widthFix" style="width: 90rpx;height: 90rpx;" v-for="img in fileList1"></image>
+						<view class="allimg"  v-for="img in fileList1">
+							<image :src="img" mode="widthFix" class="newimg" >
+
+							</image>
+							<u-icon @click="deletePic(img)" class="mytrash" name="trash" color="red" size="38"></u-icon>
+						</view>
+
 						<span @click="uploadImg" class="uploadBox"  v-if="fileList1.length<4"><u-icon name="plus"></u-icon></span>
 					</view>
 				</u-form-item>
@@ -235,17 +241,18 @@
 									'user': 'test'
 								},
 								success: (uploadFileRes) => {
-									console.log(uploadFileRes);
+									//console.log(uploadFileRes);
 									this.fileList1.push(JSON.parse(uploadFileRes.data).data)
 									console.log(this.fileList1);
+									this.model1.userInfo.faultPics=this.fileList1.join(',')
 								}
 							});
 						}
-						
+
 					}
 				});
 
-			
+
 			},
 			changeHandler(e) {
 				const {
@@ -256,48 +263,51 @@
 					indexs,
 					picker = this.$refs.uPicker
 				} = e
-				console.log('999999', columnIndex, index, indexs)
-
-
+			//	console.log('999999', columnIndex, index, indexs)
 				if (columnIndex == 0) {
 					//	this.loading = true
 
 					picker.setColumnValues(1, this.alldata[index].childrenList)
 					if (this.alldata[indexs[0]].childrenList[0].childrenList == null) {
-						console.log('66666', )
+						//console.log('66666', )
 						picker.setColumnValues(2, [])
 					} else {
-						console.log('00000000', )
+					//	console.log('00000000', )
 						picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[0].childrenList)
 					}
 
-
-					//  picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[0].childrenList)
-					//	this.loading = false
 				} else if (columnIndex == 1) {
 					// picker为选择器this实例,变化第三列对应的选项
-					// if (this.alldata[indexs[0]].childrenList[indexs[1]] == null) {
-					//     console.log('123',)
-					//     this.alldata[indexs[0]].childrenList[indexs[1]] = []
-					// } else {
-					//     console.log('345',)
-					// }
-					console.log('222', this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
-					picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
+				//	console.log('2222222',this.alldata[indexs[0]].childrenList[indexs[1]])
+
+					if (this.alldata[indexs[0]].childrenList[indexs[1]].childrenList == null) {
+						picker.setColumnValues(2, [])
+					} else {
+						picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
+					}
 
 				}
 
 
 			},
 			confirmfloor(e) {
-				console.log('222222', e.value)
-
-				this.model1.userInfo.repairPositionName = e.value[0].orgName + '/' + e.value[1].orgName + '/' + e.value[2].orgName;
-
-				this.model1.userInfo.buildingId = e.value[0].orgId;
-				this.model1.userInfo.storeyId = e.value[1].orgId;
-				this.model1.userInfo.houseId = e.value[2].orgId;
-				this.model1.userInfo.repairPosition = e.value[2].orgId;
+			//	console.log('222222', e.value)
+
+				if(e.value[2]==undefined){
+					this.model1.userInfo.repairPositionName = e.value[0].orgName + '/' + e.value[1].orgName ;
+
+					this.model1.userInfo.buildingId = e.value[0].orgId;
+					this.model1.userInfo.storeyId = e.value[1].orgId;
+					this.model1.userInfo.houseId = e.value[1].orgId;
+					this.model1.userInfo.repairPosition =e.value[1].orgId;
+				}else{
+					this.model1.userInfo.repairPositionName = e.value[0].orgName + '/' + e.value[1].orgName + '/' + e.value[2].orgName;
+
+					this.model1.userInfo.buildingId = e.value[0].orgId;
+					this.model1.userInfo.storeyId = e.value[1].orgId;
+					this.model1.userInfo.houseId = e.value[2].orgId;
+					this.model1.userInfo.repairPosition = e.value[2].orgId;
+				}
 
 				this.showfloor = false;
 
@@ -339,9 +349,9 @@
 				});
 			},
 			editdata() {
-				console.log('111111111111111111', this.model1.userInfo)
+				//console.log('111111111111111111', this.model1.userInfo)
 				this.$refs.form1.validate().then(res => {
-					uni.$u.toast('校验通过')
+				//	uni.$u.toast('校验通过')
 					this.$api.post('/repairorder',this.model1.userInfo)
 					.then(res=>{
 					uni.navigateBack({
@@ -415,5 +425,19 @@
 	    align-items: center;
 	    border-radius: 3px;
 }
-.uploadPart{display: flex;align-items: center;}
+.uploadPart{display: flex;
+	align-items: center;
+}
+	.newimg{
+		width:120rpx;height:120rpx;margin-right: 10rpx;
+	}
+	.allimg{
+		width:140rpx;height:140rpx;
+		position: relative;
+	}
+.mytrash{
+	position: absolute;
+	top: 2px;
+	right: 10px;
+}
 </style>

+ 22 - 5
pages/index/Withholdingrecord/Withholdingrecord.vue

@@ -38,11 +38,11 @@
 					<view class="companylist" @click="seedetail(item)">
 
 						<view class="outstanding">
-							预存
+							{{item.type}}
 						</view>
 						<h3>{{item.tenantInfo.name}}</h3>
 						<view class="Currentamount">
-							扣缴金额: <span>¥{{item.surplus}}</span>
+							扣缴金额: <span>¥{{item.amount}}</span>
 						</view>
 						<view class="Currentamount">
 							租户电话: {{item.tenantInfo.tel}}
@@ -114,7 +114,7 @@
 				columnstype: [
 
 				],
-
+				feiyongtype:[],
 
 
 			}
@@ -128,9 +128,10 @@
 			for (let i = 0; i < getDictDataList.length; i++) {
 				if (getDictDataList[i].dictType == 'PayType') {
 					this.columnstype = [getDictDataList[i].dataList]
+					this.feiyongtype=getDictDataList[i].dataList;
 				}
 			}
-
+			console.log('111111111111111111',this.columnstype)
 
 			this.getfloor();
 			//	this.loadmore();
@@ -171,8 +172,24 @@
 						// this.indexList = [];
 						// this.indexList = res.data.data.list;
 						this.totalnumber = res.data.data.total;
+
+						function transform(a, b) {
+							loop: for (let i = 0; i < a.length; i++) {
+								for (let j = 0; j < b.length; j++) {
+									if (a[i].type == b[j].dictValue) {
+										a[i].type = b[j].dictLabel;
+										continue loop;
+									}
+								}
+								a[i].type =  a[i].type;
+							}
+							return a;
+						}
+						let chulidata=transform(res.data.data.list, this.feiyongtype)
+
+
 						if (res.data.data.list.length != 0) {
-							this.indexList.push(...res.data.data.list);
+							this.indexList.push(...chulidata);
 							this.dataForm.page = this.dataForm.page + 1;
 							this.pd = true;
 						} else {

+ 316 - 0
pages/index/Workordertodone/Toberepaired/Toberepaired.vue

@@ -0,0 +1,316 @@
+<template>
+	<view class="OutermostLayer">
+		<h3 class="baoxiu">报修信息</h3>
+		<u-cell-group>
+			<u-cell icon="integral-fill" title="报修时间"  :value="details.shijian" >
+				<u-icon slot="icon" size="40" name="calendar"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修位置" :value="details.weizhi" >
+				<u-icon slot="icon" size="40" name="map"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修区域" :value="details.quyu" >
+				<u-icon slot="icon" size="40" name="grid"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修类型" :value="details.leixing" >
+				<u-icon slot="icon" size="40" name="pushpin"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系人" :value="details.lxr" >
+				<u-icon slot="icon" size="40" name="man-add"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系电话" :value="details.lxdh">
+				<u-icon slot="icon" size="40" name="phone"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="故障描述" :value="details.gzms" >
+				<u-icon slot="icon" size="40" name="order"></u-icon>
+			</u-cell>
+
+			<u-cell icon="integral-fill" title="故障照片" >
+				<u-icon slot="icon" size="40" name="photo"></u-icon>
+				<view
+						slot="title"
+						class="guzhang"
+				>
+					<view class="">
+						故障照片
+					</view>
+					<view class="albumcontent">
+						<u-album :urls="details.gzimg"></u-album>
+					</view>
+				</view>
+			</u-cell>
+
+		</u-cell-group>
+
+		<h3 class="baoxiu">维修信息</h3>
+		<u-cell-group>
+			<u-cell icon="integral-fill" title="紧急程度"  :value="details.jinji" >
+				<u-icon slot="icon" size="40" name="bell"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="维修人员" :value="details.weixiury" >
+				<u-icon slot="icon" size="40" name="man-add"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系电话" :value="details.weixiudh" >
+				<u-icon slot="icon" size="40" name="phone"></u-icon>
+			</u-cell>
+
+
+
+
+
+		</u-cell-group>
+		<view class="returndata">
+			<view  v-if="$has('app:MaintenanceCompleted')">
+				<u-button type="primary"  text="维修完成" @click="returndata"></u-button>
+			</view>
+			<!--<view class="Maintenancepersonnel">-->
+				<!--<u-button type="primary"  text="指派维修人员"  @click="Maintenancepersonnel"></u-button>-->
+			<!--</view>-->
+		</view>
+		<!--确定弹窗-->
+		<u-modal :show="showqd" title="提示" content='请问是否确定维修完成?' :showCancelButton="true"
+				 @confirm="weixiuyes"  @cancel="weixiuno"
+		></u-modal>
+
+
+		<u-notify ref="uNotify" message="" ></u-notify>
+	</view>
+</template>
+
+<script>
+
+	export default {
+		data() {
+			return {
+				columnsrenyuan:[],
+				columnsrenjinji:[],
+				model1: {
+					userInfo: {
+						repairPersonId: '',
+						urgency:'',
+					},
+				},
+
+				rules: {
+					'userInfo.repairPersonId': {
+						type: 'string',
+						required: true,
+						message: '请选择维修人员',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.urgency': {
+						type: 'string',
+						required: true,
+						message: '请选择紧急程度',
+						trigger: ['blur', 'change']
+					},
+				},
+
+				showjinji:false,
+				showSex:false,
+				showqd:false,
+				showweixiu:false,
+				companyOrgId:'',
+				renyuanid:'',
+				jjcd:'',
+
+				src: 'https://cdn.uviewui.com/uview/album/1.jpg',
+				details:{
+					shijian:'',
+					weizhi:'',
+					quyu:'',
+					leixing:'',
+					lxr:'',
+					lxdh:'',
+					gzms:'',
+					gzimg:[],
+
+					jinji:'',
+					weixiury:'',
+					weixiudh:''
+				},
+				albumWidth: 0,
+
+			}
+		},
+		onReady() {
+			//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+			//this.$refs.uForm.setRules(this.rules)
+		},
+		onLoad(options) {
+			this.companyOrgId = options.id;
+			//  console.log(options.id);
+		//	let getDictDataList = uni.getStorageSync('getDictDataList');
+
+
+			this.getUserList();
+			this.getdata();
+
+		},
+		methods: {
+			getUserList() {
+				this.$api.get('/user/list',{ page: 1,
+					limit: 100,})
+						.then(res=>{
+							//	console.log('111111111111111111',res.data.data)
+							this.columnsrenyuan=res.data.data;
+						})
+			},
+			getdata(){
+				this.$api.get('/repairorder/'+this.companyOrgId,{})
+						.then(res=>{
+
+							this.details.shijian=res.data.data.createDate;
+							this.details.weizhi=res.data.data.repairPosition;
+							this.details.lxr=res.data.data.contactPerson;
+							this.details.lxdh=res.data.data.contactPhone;
+							this.details.gzms=res.data.data.faultDes;
+							this.details.weixiury=res.data.data.repairPersonName;
+							res.data.data.faultPics=res.data.data.faultPics.split(",");
+
+							this.details.gzimg=res.data.data.faultPics;
+							//  console.log('111111111111111111', this.details.gzimg)
+
+							if(res.data.data.repairRegion==1){
+								this.details.quyu='公共区域';
+							}else if(res.data.data.repairRegion==2){
+								this.details.quyu='室内';
+							}
+
+							if(res.data.data.repairType==1){
+								this.details.leixing='水';
+							}else if(res.data.data.repairType==2){
+								this.details.leixing='电';
+							}else if(res.data.data.repairType==3){
+								this.details.leixing='其他';
+							}
+
+							if(res.data.data.urgency==1){
+								this.details.jinji='非常紧急';
+							}else if(res.data.data.urgency==2){
+								this.details.jinji='紧急';
+							}else if(res.data.data.urgency==3){
+								this.details.jinji='普通';
+							}
+
+
+							for(let i=0;i<this.columnsrenyuan.length;i++){
+								if(this.columnsrenyuan[i].id==res.data.data.repairPersonId){
+									console.log('111111111111111111',this.columnsrenyuan[i])
+									this.details.weixiudh=this.columnsrenyuan[i].mobile
+								}
+							}
+
+
+						})
+			},
+			quxiao(){
+				this.showweixiu=false;
+			},
+			queding(){
+				this.$refs.uForm.validate().then(res => {
+					//	uni.$u.toast('校验通过')
+					//  jjcd  renyuanid  companyOrgId
+					//console.log('111111111111111111',this.jjcd,this.renyuanid,this.companyOrgId)
+					this.$api.put('/repairorder',{
+						id: this.companyOrgId,
+						repairPersonId: this.renyuanid,
+						urgency: this.jjcd,
+					})
+							.then(res=>{
+								//console.log('111111111111111111',res)
+								if(res.data.code==0){
+									this.$refs.uNotify.success('指派成功')
+
+									setTimeout(function(){uni.navigateTo({
+										url: '/pages/index/Workordertodone/Workordertodone'
+									})},1000);
+
+								}else{
+									this.$refs.uNotify.error(res.data.msg)
+									// uni.navigateBack({
+									// 	delta: 1
+									// });
+								}
+							})
+
+				}).catch(errors => {
+					uni.$u.toast('校验失败')
+				})
+			},
+			returndata(){
+				this.showqd=true;
+			},
+			weixiuyes(){
+				this.$api.post('/repairorder/finish/'+this.companyOrgId,{})
+						.then(res=>{
+							//console.log('111111111111111111',res)
+							if(res.data.code==0){
+								this.$refs.uNotify.success('维修成功')
+								setTimeout(function(){uni.navigateTo({
+									url: '/pages/index/Workordertodone/Workordertodone'
+								})},1000);
+							}else{
+								this.$refs.uNotify.error(res.data.msg)
+							}
+						})
+				this.showqd=false;
+			},
+			weixiuno(){
+				this.showqd=false;
+			},
+
+
+
+
+
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.guidang{
+		display: flex;
+		align-items: center;
+		justify-content: space-around;
+		margin-top: 80rpx;
+	}
+	.queding{
+		width: 300rpx;
+
+	}
+	.baoxiu{
+		padding: 30rpx;
+	}
+	.albumcontent{
+		display: flex;
+		.u-album{
+			display: flex;
+			flex-direction: row;
+			flex-wrap: wrap;
+		}
+	}
+	.guzhang{
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+	}
+	.returndata{
+		padding: 30rpx;
+	}
+	.Maintenancepersonnel{
+		margin-top: 15rpx;
+	}
+	.weixiudc{
+		width: 750rpx;
+		height: 450rpx;
+		h3{
+			font-size: 30rpx;
+			font-weight: bold;
+			width: 750rpx;
+			height: 80rpx;
+			line-height: 80rpx;
+			text-align: center;
+		}
+	}
+</style>

+ 257 - 56
pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue

@@ -1,30 +1,30 @@
 <template>
 	<view class="OutermostLayer">
-			<u-cell-group>				
+			<u-cell-group>
 				<u-cell icon="integral-fill" title="报修时间"  :value="details.shijian" >
-					<u-icon slot="icon" size="40" name="calendar"></u-icon>					
+					<u-icon slot="icon" size="40" name="calendar"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="报修位置" :value="details.weizhi" >
-					<u-icon slot="icon" size="40" name="map"></u-icon>					
+					<u-icon slot="icon" size="40" name="map"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="报修区域" :value="details.quyu" >
-					<u-icon slot="icon" size="40" name="grid"></u-icon>					
+					<u-icon slot="icon" size="40" name="grid"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="报修类型" :value="details.leixing" >
-					<u-icon slot="icon" size="40" name="pushpin"></u-icon>					
+					<u-icon slot="icon" size="40" name="pushpin"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="联系人" :value="details.lxr" >
-					<u-icon slot="icon" size="40" name="man-add"></u-icon>					
+					<u-icon slot="icon" size="40" name="man-add"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="联系电话" :value="details.lxdh">
-					<u-icon slot="icon" size="40" name="phone"></u-icon>					
+					<u-icon slot="icon" size="40" name="phone"></u-icon>
 				</u-cell>
 				<u-cell icon="integral-fill" title="故障描述" :value="details.gzms" >
-					<u-icon slot="icon" size="40" name="order"></u-icon>					
+					<u-icon slot="icon" size="40" name="order"></u-icon>
 				</u-cell>
-				
+
 				 <u-cell icon="integral-fill" title="故障照片" >
-					 <u-icon slot="icon" size="40" name="photo"></u-icon>		
+					 <u-icon slot="icon" size="40" name="photo"></u-icon>
 				    	<view
 				    	    slot="title"
 				    	    class="guzhang"
@@ -32,21 +32,98 @@
 						<view class="">
 							故障照片
 						</view>
-				    		<view class="albumcontent">				    		
+				    		<view class="albumcontent">
 				    		  <u-album :urls="details.gzimg"></u-album>
 				    		</view>
 				    	</view>
 				    </u-cell>
-					
-			</u-cell-group>		
+
+			</u-cell-group>
 		<view class="returndata">
-			<u-button type="primary"  text="返回" @click="returndata"></u-button>
-			<!-- <u-button type="primary"  text="指派维修人员"></u-button> -->
+			<!--<view>-->
+				<!--<u-button type="primary"  text="维修完成" @click="returndata"></u-button>-->
+			<!--</view>-->
+			<view class="Maintenancepersonnel"  v-if="$has('app:AssignmaintenancePersonnel')">
+				<u-button type="primary"  text="指派维修人员"  @click="Maintenancepersonnel"></u-button>
+			</view>
 		</view>
-		
-		
-		
-		
+<!--确定弹窗-->
+		<u-modal :show="showqd" title="提示" content='请问是否确定维修完成?' :showCancelButton="true"
+		@confirm="weixiuyes"  @cancel="weixiuno"
+		></u-modal>
+		<!--指派维修人员弹窗-->
+		<u-popup :show="showweixiu" :round="10" @close="closewx" @open="openwx"  mode="bottom" >
+			<view class="weixiudc">
+				<h3>工单指派</h3>
+				<u--form
+						labelPosition="left"
+						:model="model1"
+						:rules="rules"
+						ref="uForm">
+
+					<u-form-item
+							labelWidth="150"
+							label="维修人员"
+							prop="userInfo.repairPersonId"
+							borderBottom
+							@click="showSex = true;"
+							ref="item1"
+					>
+						<u--input
+								v-model="model1.userInfo.repairPersonId"
+								disabled
+								disabledColor="#ffffff"
+								placeholder="请选择维修人员"
+								border="none"
+						></u--input>
+						<u-icon
+								slot="right"
+								name="arrow-right"
+						></u-icon>
+					</u-form-item>
+
+					<u-form-item
+							labelWidth="150"
+							label="紧急程度"
+							prop="userInfo.urgency"
+							borderBottom
+							@click="showjinji = true;"
+							ref="item1"
+					>
+						<u--input
+								v-model="model1.userInfo.urgency"
+								disabled
+								disabledColor="#ffffff"
+								placeholder="请选择紧急程度"
+								border="none"
+						></u--input>
+						<u-icon
+								slot="right"
+								name="arrow-right"
+						></u-icon>
+					</u-form-item>
+				</u--form>
+
+
+				<u-picker :show="showSex" keyName="realName" @cancel="showSex=false"
+						  @confirm="confirmry"  :columns="columnsrenyuan" ></u-picker>
+
+				<u-picker :show="showjinji" keyName="dictLabel" @cancel="showjinji=false"
+						  @confirm="confirmjinji"  :columns="columnsrenjinji" ></u-picker>
+
+				<view class="guidang">
+					<view class="queding">
+						<u-button type="primary" :plain="true" text="取消" @click="quxiao"></u-button>
+					</view>
+					<view class="queding">
+						<u-button type="primary" text="确定" @click="queding"></u-button>
+					</view>
+				</view>
+			</view>
+		</u-popup>
+
+
+		<u-notify ref="uNotify" message="" ></u-notify>
 		</view>
 </template>
 
@@ -55,7 +132,38 @@
 	export default {
 		data() {
 			return {
+				columnsrenyuan:[],
+				columnsrenjinji:[],
+				model1: {
+					userInfo: {
+						repairPersonId: '',
+						urgency:'',
+					},
+				},
+
+				rules: {
+					'userInfo.repairPersonId': {
+						type: 'string',
+						required: true,
+						message: '请选择维修人员',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.urgency': {
+						type: 'string',
+						required: true,
+						message: '请选择紧急程度',
+						trigger: ['blur', 'change']
+					},
+				},
+
+				showjinji:false,
+				showSex:false,
+				showqd:false,
+				showweixiu:false,
 				companyOrgId:'',
+				renyuanid:'',
+				jjcd:'',
+
 				src: 'https://cdn.uviewui.com/uview/album/1.jpg',
 				details:{
 					shijian:'',
@@ -70,36 +178,54 @@
 				 albumWidth: 0,
 			}
 		},
+		onReady() {
+			//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+			//this.$refs.uForm.setRules(this.rules)
+		},
 		onLoad(options) {
 		    this.companyOrgId = options.id;
 		  //  console.log(options.id);
+			let getDictDataList = uni.getStorageSync('getDictDataList');
+
+
+			for (let i = 0; i < getDictDataList.length; i++) {
+				if (getDictDataList[i].dictType == 'UrgencyType') {
+					this.columnsrenjinji = [getDictDataList[i].dataList]
+				}
+			}
+
 			this.getdata();
+			this.getUserList();
 		},
 		methods: {
+			getUserList() {
+				this.$api.get('/user/list',{ page: 1,
+					limit: 100,})
+						.then(res=>{
+						//	console.log('111111111111111111',res.data.data)
+this.columnsrenyuan=[res.data.data]
+						})
+			},
 			getdata(){
 				this.$api.get('/repairorder/'+this.companyOrgId,{})
 				.then(res=>{
-				//  console.log('111111111111111111',res.data.data)
-				//   console.log('1', getDictDataList("RepairRegion"))
-				//  console.log('2', getDictDataList("RepairType"))
-				//   console.log('3', getDictDataList("UrgencyType"))
-				 
+
 				  this.details.shijian=res.data.data.createDate;
 				    this.details.weizhi=res.data.data.repairPosition;
 					  this.details.lxr=res.data.data.contactPerson;
 					 this.details.lxdh=res.data.data.contactPhone;
 					 this.details.gzms=res.data.data.faultDes;
 				res.data.data.faultPics=res.data.data.faultPics.split(",");
-					 
+
 					 this.details.gzimg=res.data.data.faultPics;
 					//  console.log('111111111111111111', this.details.gzimg)
-					
+
 				  if(res.data.data.repairRegion==1){
 					   this.details.quyu='公共区域';
 				  }else if(res.data.data.repairRegion==2){
 					     this.details.quyu='室内';
 				  }
-				  
+
 				  if(res.data.data.repairType==1){
 				  					   this.details.leixing='水';
 				  }else if(res.data.data.repairType==2){
@@ -107,21 +233,104 @@
 				  }else if(res.data.data.repairType==2){
 				  					     this.details.qleixinguyu='其他';
 				  }
-				  
-				  
-				  
+
+
+
+				})
+			},
+			quxiao(){
+this.showweixiu=false;
+			},
+			queding(){
+				this.$refs.uForm.validate().then(res => {
+				//	uni.$u.toast('校验通过')
+					//  jjcd  renyuanid  companyOrgId
+					//console.log('111111111111111111',this.jjcd,this.renyuanid,this.companyOrgId)
+					this.$api.put('/repairorder',{
+						id: this.companyOrgId,
+						repairPersonId: this.renyuanid,
+						urgency: this.jjcd,
+					})
+							.then(res=>{
+								//console.log('111111111111111111',res)
+								if(res.data.code==0){
+									this.$refs.uNotify.success('指派成功')
+
+									setTimeout(function(){uni.navigateTo({
+										url: '/pages/index/Workordertodone/Workordertodone'
+									})},1000);
+
+								}else{
+									this.$refs.uNotify.error(res.data.msg)
+									// uni.navigateBack({
+									// 	delta: 1
+									// });
+								}
+							})
+
+				}).catch(errors => {
+					uni.$u.toast('校验失败')
 				})
 			},
 			returndata(){
-				uni.navigateBack({
-					delta: 1
-				});
+				this.showqd=true;
+			},
+			weixiuyes(){
+				this.$api.post('/repairorder/finish/'+this.companyOrgId,{})
+						.then(res=>{
+							//console.log('111111111111111111',res)
+							if(res.data.code==0){
+								this.$refs.uNotify.success('维修成功')
+								setTimeout(function(){uni.navigateTo({
+									url: '/pages/index/Workordertodone/Workordertodone'
+								})},1000);
+							}else{
+								this.$refs.uNotify.error(res.data.msg)
+							}
+						})
+				this.showqd=false;
+			},
+			weixiuno(){
+				this.showqd=false;
+			},
+			Maintenancepersonnel(){
+this.showweixiu=true;
+			},
+			openwx() {
+				// console.log('open');
+			},
+			closewx() {
+				this.showweixiu = false
+				// console.log('close');
+			},
+
+			confirmry(e) {
+				console.log('confirm', e.value[0])
+				this.model1.userInfo.repairPersonId = e.value[0].realName;
+				this.renyuanid= e.value[0].id;
+				this.showSex = false
 			},
+			confirmjinji(e) {
+				console.log('confirm', e.value[0])
+				this.model1.userInfo.urgency = e.value[0].dictLabel;
+				this.jjcd=e.value[0].dictValue;
+				this.showjinji = false
+			}
 		}
 	}
 </script>
 
-<style>
+<style lang="scss">
+	.guidang{
+		display: flex;
+		align-items: center;
+		justify-content: space-around;
+		margin-top: 80rpx;
+	}
+	.queding{
+		width: 300rpx;
+
+	}
 	.albumcontent{
 		display: flex;
 		.u-album{
@@ -134,31 +343,23 @@
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-}	
+}
 	.returndata{
 		padding: 30rpx;
 	}
-	.description {
-		display: flex;
-		align-items: center;
-		width: 100%;
-		margin-top: 30rpx;
-	}
-	.taskdetals1 {}
-	
-	.taskdetals2 {
-		font-size: 25rpx;
-		padding-left: 15rpx;
-	}
-	.guidang {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		margin-top: 40rpx;
-		padding: 30rpx;
+	.Maintenancepersonnel{
+		margin-top: 15rpx;
 	}
-	
-	.queding {
-		width: 40%;
+.weixiudc{
+	width: 750rpx;
+	height: 450rpx;
+	h3{
+		font-size: 30rpx;
+		font-weight: bold;
+		width: 750rpx;
+		height: 80rpx;
+		line-height: 80rpx;
+		text-align: center;
 	}
+}
 </style>

+ 73 - 61
pages/index/Workordertodone/Workordertodone.vue

@@ -1,21 +1,21 @@
 <template>
 	<view class="">
-		
+
 		<view class="subsection">
 			<u-subsection :list="list" fontSize="30rpx" :current="current" @change="sectionChange"></u-subsection>
 		</view>
-		
+
 
 		<!-- 待指派 -->
 		<view class="" v-show="cdshow==0">
 			<view style="padding:20rpx 0 0 30rpx">
 				共有 <span style="color: red">{{totalnumber}}</span>条记录
-			</view>	
-					
+			</view>
+
 			<view class="u-listdata" >
 				<u-list  @scrolltolower="scrolltolower" :pagingEnabled='true'>
 					<u-list-item v-for="(item, index) in indexList" :key="index">
-						<view class="paisong"  @click="Workorderdetails(item)">
+						<view class="paisong"  @click="Workorderdetails1(item)">
 							<h3>{{item.repairPosition}}</h3>
 							<view class="Currentamount1" v-if='item.repairType==1'>
 								报修类型: 水
@@ -26,28 +26,28 @@
 							<view class="Currentamount1" v-if='item.repairType==3'>
 								报修类型: 其他
 							</view>
-							
+
 							<view class="Currentamount1">
 								报修时间: {{item.createDate}}
-							</view>				
-						</view>	
-				
+							</view>
+						</view>
+
 					</u-list-item>
-				</u-list>				
-			</view>		
+				</u-list>
+			</view>
 		</view>
 		<!-- 已派送(待维修) -->
-		<view class="" v-show="cdshow==1">		
+		<view class="" v-show="cdshow==1">
 		<!-- 	列表 -->
-			<view class="u-listdata" >	
+			<view class="u-listdata" >
 				<view style="padding:20rpx 0 0 30rpx">
 					共有 <span style="color: red">{{totalnumber}}</span>条记录
-				</view>						
-										
+				</view>
+
 				<u-list  @scrolltolower="scrolltolower" :pagingEnabled='true'>
 					<u-list-item v-for="(item, index) in indexList" :key="index">
-						
-						<view class="paisong"  @click="Workorderdetails(item)">
+
+						<view class="paisong"  @click="Workorderdetails2(item)">
 							<view class="settled1" v-if="item.urgency==1">
 								非常紧急
 							</view>
@@ -57,7 +57,7 @@
 							<view class="settled3" v-if="item.urgency==3">
 								普通
 							</view>
-							
+
 							<h3>{{item.repairPosition}}</h3>
 							<view class="Currentamount1" v-if='item.repairType==1'>
 								报修类型: 水
@@ -71,27 +71,27 @@
 							<view class="Currentamount1">
 								派送时间:{{ item.updateDate }}
 							</view>
-							
+
 						</view>
-				
+
 					</u-list-item>
-				</u-list>				
+				</u-list>
 			</view>
-			
+
 		</view>
 
 <!--已维修 -->
-		<view class="" v-show="cdshow==2">		
+		<view class="" v-show="cdshow==2">
 		<!-- 	列表 -->
 			<view class="u-listdata" >
 				<view style="padding:20rpx 0 0 30rpx">
 					共有 <span style="color: red">{{totalnumber}}</span>条记录
-				</view>	
-				
+				</view>
+
 				<u-list  @scrolltolower="scrolltolower" :pagingEnabled='true'>
 					<u-list-item v-for="(item, index) in indexList" :key="index">
-						
-						<view class="paisong"  @click="Workorderdetails(item)">
+
+						<view class="paisong"  @click="Workorderdetails3(item)">
 							<view class="settled1" v-if="item.urgency==1">
 								非常紧急
 							</view>
@@ -101,7 +101,7 @@
 							<view class="settled3" v-if="item.urgency==3">
 								普通
 							</view>
-							
+
 							<h3>{{item.repairPosition}}</h3>
 							<view class="Currentamount1" v-if='item.repairType==1'>
 								报修类型: 水
@@ -115,20 +115,20 @@
 							<view class="Currentamount1">
 								维修完成时间:{{ item.repairFinishTime }}
 							</view>
-							
+
 						</view>
-				
+
 					</u-list-item>
-				</u-list>				
+				</u-list>
 			</view>
 		</view>
-		
+
 	</view>
 </template>
 
 <script>
 //	import { isEmpty, getDictDataList } from "@/utils/index";
-	
+
 	export default {
 		name:'Workordertodone',
 		data() {
@@ -157,12 +157,12 @@
 		},
 		//监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参
 		onLoad: function(options) { //option为object类型,会序列化上个页面传递的参数
-			
-			
+
+
 			this.getRepairTypeList();
-	
+
 			this.getpaisongdata();
-		
+
 		},
 		//监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
 		onReady() {},
@@ -184,13 +184,25 @@
 					//   console.log('888', getDictDataList("RepairType"))
 			   //   this.repairTypeList = getDictDataList("RepairType");
 			    },
-			Workorderdetails(e){
+			Workorderdetails1(e){
 				//  console.log('111111111111111111',e)
 				   uni.navigateTo({
 				             url: `/pages/index/Workordertodone/Workorderdetails/Workorderdetails?id=${e.id}`
 				          });
 			},
-						
+			Workorderdetails2(e){
+				//  console.log('111111111111111111',e)
+				   uni.navigateTo({
+				             url: `/pages/index/Workordertodone/Toberepaired/Toberepaired?id=${e.id}`
+				          });
+			},
+			Workorderdetails3(e){
+				//  console.log('111111111111111111',e)
+				   uni.navigateTo({
+				             url: `/pages/index/Workordertodone/hasrepaired/hasrepaired?id=${e.id}`
+				          });
+			},
+
 			sectionChange(index) {
 				this.current = index;
 				if (index == 0) {
@@ -212,7 +224,7 @@
 					this.dataForm.status = 3;
 					this.getpaisongdata();
 				}
-				
+
 			},
 			scrolltolower() {
 				if(this.pd){
@@ -231,9 +243,9 @@
 				this.$api.get('/repairorder/page', this.dataForm)
 					.then(res => {
 						 this.totalnumber=res.data.data.total;
-					
+
 						if (res.data.data.list.length != 0) {
-							this.indexList.push(...res.data.data.list);										
+							this.indexList.push(...res.data.data.list);
 								this.dataForm.page = this.dataForm.page + 1;
 								this.pd=true;
 								this.jfnodata=false;
@@ -245,26 +257,26 @@
 							})
 							this.pd=false;
 							//this.jfnodata=true
-						}									
-								
+						}
+
 					})
 			},
-			
-			
-		
+
+
+
 
 		}
 	}
 </script>
 
 <style lang="scss">
-	
-	
-	
+
+
+
 	.nodata{
 		text-align: center;
 		padding-top: 400rpx;
-		
+
 	}
 	.paisong{
 		display: flex;
@@ -281,15 +293,15 @@
 			padding-left: 30rpx;
 		}
 	}
-	
-	
+
+
 	.companylist {
 		margin: 20rpx 30rpx;
 		background: #fff;
 		height: 280rpx;
 		border-radius: 10px;
 		position: relative;
-	
+
 		h3 {
 			height: 70rpx;
 			line-height: 70rpx;
@@ -338,33 +350,33 @@
 		border-top-right-radius: 10rpx;
 		border-bottom-left-radius: 10rpx;
 	}
-	
-	
-	
+
+
+
 	.Currentamount {
 		padding-left: 30rpx;
 		height: 50rpx;
 		line-height: 50rpx;
 		color: #BCB3A7;
-	
+
 		span {
 			color: #FA5555;
 			padding-left: 9rpx;
 		}
 	}
-	
+
 	.Currentamount1 {
 		padding-left: 30rpx;
 		height: 40rpx;
 		line-height: 40rpx;
 		color: #BCB3A7;
-	
+
 		span {
 			color: #FA5555;
 			padding-left: 9rpx;
 		}
 	}
-	
+
 	.records1{
 		background-color: #FA5555;
 		width: 100rpx;

+ 316 - 0
pages/index/Workordertodone/hasrepaired/hasrepaired.vue

@@ -0,0 +1,316 @@
+<template>
+	<view class="OutermostLayer">
+		<h3 class="baoxiu">报修信息</h3>
+		<u-cell-group>
+			<u-cell icon="integral-fill" title="报修时间"  :value="details.shijian" >
+				<u-icon slot="icon" size="40" name="calendar"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修位置" :value="details.weizhi" >
+				<u-icon slot="icon" size="40" name="map"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修区域" :value="details.quyu" >
+				<u-icon slot="icon" size="40" name="grid"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="报修类型" :value="details.leixing" >
+				<u-icon slot="icon" size="40" name="pushpin"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系人" :value="details.lxr" >
+				<u-icon slot="icon" size="40" name="man-add"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系电话" :value="details.lxdh">
+				<u-icon slot="icon" size="40" name="phone"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="故障描述" :value="details.gzms" >
+				<u-icon slot="icon" size="40" name="order"></u-icon>
+			</u-cell>
+
+			<u-cell icon="integral-fill" title="故障照片" >
+				<u-icon slot="icon" size="40" name="photo"></u-icon>
+				<view
+						slot="title"
+						class="guzhang"
+				>
+					<view class="">
+						故障照片
+					</view>
+					<view class="albumcontent">
+						<u-album :urls="details.gzimg"></u-album>
+					</view>
+				</view>
+			</u-cell>
+
+		</u-cell-group>
+
+		<h3 class="baoxiu">维修信息</h3>
+		<u-cell-group>
+			<u-cell icon="integral-fill" title="紧急程度"  :value="details.jinji" >
+				<u-icon slot="icon" size="40" name="bell"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="维修人员" :value="details.weixiury" >
+				<u-icon slot="icon" size="40" name="man-add"></u-icon>
+			</u-cell>
+			<u-cell icon="integral-fill" title="联系电话" :value="details.weixiudh" >
+				<u-icon slot="icon" size="40" name="phone"></u-icon>
+			</u-cell>
+
+
+
+
+
+		</u-cell-group>
+		<view class="returndata">
+			<!--<view>-->
+				<!--<u-button type="primary"  text="维修完成" @click="returndata"></u-button>-->
+			<!--</view>-->
+			<!--<view class="Maintenancepersonnel">-->
+			<!--<u-button type="primary"  text="指派维修人员"  @click="Maintenancepersonnel"></u-button>-->
+			<!--</view>-->
+		</view>
+		<!--确定弹窗-->
+		<u-modal :show="showqd" title="提示" content='请问是否确定维修完成?' :showCancelButton="true"
+				 @confirm="weixiuyes"  @cancel="weixiuno"
+		></u-modal>
+
+
+		<u-notify ref="uNotify" message="" ></u-notify>
+	</view>
+</template>
+
+<script>
+
+	export default {
+		data() {
+			return {
+				columnsrenyuan:[],
+				columnsrenjinji:[],
+				model1: {
+					userInfo: {
+						repairPersonId: '',
+						urgency:'',
+					},
+				},
+
+				rules: {
+					'userInfo.repairPersonId': {
+						type: 'string',
+						required: true,
+						message: '请选择维修人员',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.urgency': {
+						type: 'string',
+						required: true,
+						message: '请选择紧急程度',
+						trigger: ['blur', 'change']
+					},
+				},
+
+				showjinji:false,
+				showSex:false,
+				showqd:false,
+				showweixiu:false,
+				companyOrgId:'',
+				renyuanid:'',
+				jjcd:'',
+
+				src: 'https://cdn.uviewui.com/uview/album/1.jpg',
+				details:{
+					shijian:'',
+					weizhi:'',
+					quyu:'',
+					leixing:'',
+					lxr:'',
+					lxdh:'',
+					gzms:'',
+					gzimg:[],
+
+					jinji:'',
+					weixiury:'',
+					weixiudh:''
+				},
+				albumWidth: 0,
+
+			}
+		},
+		onReady() {
+			//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+			//this.$refs.uForm.setRules(this.rules)
+		},
+		onLoad(options) {
+			this.companyOrgId = options.id;
+			//  console.log(options.id);
+			//	let getDictDataList = uni.getStorageSync('getDictDataList');
+
+
+			this.getUserList();
+			this.getdata();
+
+		},
+		methods: {
+			getUserList() {
+				this.$api.get('/user/list',{ page: 1,
+					limit: 100,})
+						.then(res=>{
+							//	console.log('111111111111111111',res.data.data)
+							this.columnsrenyuan=res.data.data;
+						})
+			},
+			getdata(){
+				this.$api.get('/repairorder/'+this.companyOrgId,{})
+						.then(res=>{
+
+							this.details.shijian=res.data.data.createDate;
+							this.details.weizhi=res.data.data.repairPosition;
+							this.details.lxr=res.data.data.contactPerson;
+							this.details.lxdh=res.data.data.contactPhone;
+							this.details.gzms=res.data.data.faultDes;
+							this.details.weixiury=res.data.data.repairPersonName;
+							res.data.data.faultPics=res.data.data.faultPics.split(",");
+
+							this.details.gzimg=res.data.data.faultPics;
+							//  console.log('111111111111111111', this.details.gzimg)
+
+							if(res.data.data.repairRegion==1){
+								this.details.quyu='公共区域';
+							}else if(res.data.data.repairRegion==2){
+								this.details.quyu='室内';
+							}
+
+							if(res.data.data.repairType==1){
+								this.details.leixing='水';
+							}else if(res.data.data.repairType==2){
+								this.details.leixing='电';
+							}else if(res.data.data.repairType==3){
+								this.details.leixing='其他';
+							}
+
+							if(res.data.data.urgency==1){
+								this.details.jinji='非常紧急';
+							}else if(res.data.data.urgency==2){
+								this.details.jinji='紧急';
+							}else if(res.data.data.urgency==3){
+								this.details.jinji='普通';
+							}
+
+
+							for(let i=0;i<this.columnsrenyuan.length;i++){
+								if(this.columnsrenyuan[i].id==res.data.data.repairPersonId){
+									console.log('111111111111111111',this.columnsrenyuan[i])
+									this.details.weixiudh=this.columnsrenyuan[i].mobile
+								}
+							}
+
+
+						})
+			},
+			quxiao(){
+				this.showweixiu=false;
+			},
+			queding(){
+				this.$refs.uForm.validate().then(res => {
+					//	uni.$u.toast('校验通过')
+					//  jjcd  renyuanid  companyOrgId
+					//console.log('111111111111111111',this.jjcd,this.renyuanid,this.companyOrgId)
+					this.$api.put('/repairorder',{
+						id: this.companyOrgId,
+						repairPersonId: this.renyuanid,
+						urgency: this.jjcd,
+					})
+							.then(res=>{
+								//console.log('111111111111111111',res)
+								if(res.data.code==0){
+									this.$refs.uNotify.success('指派成功')
+
+									setTimeout(function(){uni.navigateTo({
+										url: '/pages/index/Workordertodone/Workordertodone'
+									})},1000);
+
+								}else{
+									this.$refs.uNotify.error(res.data.msg)
+									// uni.navigateBack({
+									// 	delta: 1
+									// });
+								}
+							})
+
+				}).catch(errors => {
+					uni.$u.toast('校验失败')
+				})
+			},
+			returndata(){
+				this.showqd=true;
+			},
+			weixiuyes(){
+				this.$api.post('/repairorder/finish/'+this.companyOrgId,{})
+						.then(res=>{
+							//console.log('111111111111111111',res)
+							if(res.data.code==0){
+								this.$refs.uNotify.success('维修成功')
+								setTimeout(function(){uni.navigateTo({
+									url: '/pages/index/Workordertodone/Workordertodone'
+								})},1000);
+							}else{
+								this.$refs.uNotify.error(res.data.msg)
+							}
+						})
+				this.showqd=false;
+			},
+			weixiuno(){
+				this.showqd=false;
+			},
+
+
+
+
+
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.guidang{
+		display: flex;
+		align-items: center;
+		justify-content: space-around;
+		margin-top: 80rpx;
+	}
+	.queding{
+		width: 300rpx;
+
+	}
+	.baoxiu{
+		padding: 30rpx;
+	}
+	.albumcontent{
+		display: flex;
+		.u-album{
+			display: flex;
+			flex-direction: row;
+			flex-wrap: wrap;
+		}
+	}
+	.guzhang{
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+	}
+	.returndata{
+		padding: 30rpx;
+	}
+	.Maintenancepersonnel{
+		margin-top: 15rpx;
+	}
+	.weixiudc{
+		width: 750rpx;
+		height: 450rpx;
+		h3{
+			font-size: 30rpx;
+			font-weight: bold;
+			width: 750rpx;
+			height: 80rpx;
+			line-height: 80rpx;
+			text-align: center;
+		}
+	}
+</style>

+ 65 - 39
pages/index/index.vue

@@ -1,44 +1,43 @@
 <template>
 	<view class="content">
-		<view class="Homepage_header"
-			v-if="$has('app:InspectionRecord')&&$has('app:OnlineReport')&&$has('app:WithholdingRecord')">
-			<view class="Homepage_suspension">
-				<view class="Suspension">
-					<view class="online" @click="Onlinewarranty" v-if="$has('app:InspectionRecord')">
-						<view>
-							<!-- <img :src="srcxianshang1" alt="" style="margin-left: 5rpx;"> -->
-							<u--image mode="widthFix" :src="srcxianshang1" width="80rpx" height="80rpx"></u--image>
-						</view>
-						<view style="font-size: 28rpx;color: #697081;">线上报修</view>
+
+		<!--<view class="Homepage_header">-->
+
+		<!--</view>-->
+
+		<view class="Homepage_suspension" v-if="$has('app:InspectionRecord')&&$has('app:OnlineReport')&&$has('app:WithholdingRecord')">
+			<view class="Suspension">
+				<view class="online" @click="Onlinewarranty" v-if="$has('app:InspectionRecord')">
+					<view>
+						<!-- <img :src="srcxianshang1" alt="" style="margin-left: 5rpx;"> -->
+						<u--image mode="widthFix" :src="srcxianshang1" width="80rpx" height="80rpx"></u--image>
 					</view>
-					<view class="online" @click="Inspectionrecord" v-if="$has('app:OnlineReport')">
-						<view>
-							<u--image mode="widthFix" :src="srcxianshang2" width="80rpx" height="80rpx"></u--image>
+					<view style="font-size: 28rpx;color: #697081;">线上报修</view>
+				</view>
+				<view class="online" @click="Inspectionrecord" v-if="$has('app:OnlineReport')">
+					<view>
+						<u--image mode="widthFix" :src="srcxianshang2" width="80rpx" height="80rpx"></u--image>
 
-						</view>
-						<view style="font-size: 28rpx;color: #697081;">巡检记录</view>
 					</view>
-					<view class="online" @click="Withholdingrecord" v-if="$has('app:WithholdingRecord')">
-						<view>
+					<view style="font-size: 28rpx;color: #697081;">巡检记录</view>
+				</view>
+				<view class="online" @click="Withholdingrecord" v-if="$has('app:WithholdingRecord')">
+					<view>
 
-							<u--image mode="widthFix" :src="srcxianshang3" width="80rpx" height="80rpx"></u--image>
-						</view>
-						<view style="font-size: 28rpx;color: #697081;">扣缴记录</view>
+						<u--image mode="widthFix" :src="srcxianshang3" width="80rpx" height="80rpx"></u--image>
 					</view>
+					<view style="font-size: 28rpx;color: #697081;">扣缴记录</view>
 				</view>
 			</view>
-
 		</view>
-		<!-- <view class="kongbai">
 
-		</view> -->
-		<view class="pending1">
+		<view class="pending"  v-if="$has('app:RealtimeInspection')">
 			<view class="pending_middle">
 				<view class="all">
 					<view class="work">
 						<span style="font-size: 30rpx;font-weight: bold;">实时巡检</span>
 					</view>
-					<view class="processing">
+					<view class="processing" v-if="$has('app:ImmediateInspection')">
 						<view class="immediately" @click="Immediateinspection">
 							<span style="font-size: 25rpx; color: #5c8fff; ">立即巡检</span>
 							<u-icon name="arrow-right" color="#5c8fff" size="16rpx"></u-icon>
@@ -64,11 +63,11 @@
 
 		<view class="pending" v-if="$has('app:Tobeassigned')&&$has('app:Toberepaired')&&$has('app:hasrepaired')">
 			<view class="pending_middle">
-				<view class="all" v-if="$has('app:WorkorderTobeDone')">
+				<view class="all" >
 					<view class="work">
 						<span style="font-size: 30rpx;font-weight: bold;">工单待办</span>
 					</view>
-					<view class="processing">
+					<view class="processing" v-if="$has('app:WorkorderTobeDone')">
 						<view class="immediately" @click="Workordertodone">
 							<span style="font-size: 25rpx; color: #5c8fff; ">立即处理</span>
 							<u-icon name="arrow-right" color="#5c8fff" size="16rpx"></u-icon>
@@ -98,11 +97,11 @@
 
 		<view class="equipment" v-if="$has('app:EquipmentException')">
 			<view class="pending_middle">
-				<view class="all" v-if="$has('app:LookatImmediately')">
+				<view class="all" >
 					<view class="work">
 						<span style="font-size: 30rpx;font-weight: bold;">设备异常</span>
 					</view>
-					<view class="processing">
+					<view class="processing" v-if="$has('app:LookatImmediately')">
 						<view class="immediately" @click="EquipmentException">
 							<span style="font-size: 25rpx; color: #5c8fff; ">立即查看</span>
 							<u-icon name="arrow-right" color="#5c8fff" size="16rpx"></u-icon>
@@ -137,11 +136,11 @@
 		<!-- 管理员界面 -->
 		<view class="arrears" v-if="$has('app:ArrearstobeCollected')">
 			<view class="pending_middle">
-				<view class="all" v-if="$has('app:ImmediateCollection')">
+				<view class="all" >
 					<view class="work">
 						<span style="font-size: 30rpx;font-weight: bold;">欠费待收</span>
 					</view>
-					<view class="processing">
+					<view class="processing" v-if="$has('app:ImmediateCollection')">
 						<view class="immediately" @click="Immediatecollection">
 							<span style="font-size: 25rpx; color: #5c8fff; ">立即催收</span>
 							<u-icon name="arrow-right" color="#5c8fff" size="16rpx"></u-icon>
@@ -167,11 +166,11 @@
 		<!-- 	租户界面 -->
 		<view class="arrears1" v-if="$has('app:BillPending')">
 			<view class="pending_middle">
-				<view class="all" v-if="$has('app:ImmediatePayment')">
+				<view class="all">
 					<view class="work">
 						<span style="font-size: 30rpx;font-weight: bold;">账单待缴</span>
 					</view>
-					<view class="processing">
+					<view class="processing"  v-if="$has('app:ImmediatePayment')">
 						<view class="immediately" @click="BillPending">
 							<span style="font-size: 25rpx; color: #5c8fff; ">立即缴费</span>
 							<u-icon name="arrow-right" color="#5c8fff" size="16rpx"></u-icon>
@@ -193,6 +192,19 @@
 			</view>
 		</view>
 
+		<u-tabbar
+				:value="value1"
+				:fixed="true"
+				:placeholder="true"
+				@change="name => value1 = name"
+				activeColor="#2E69EB"
+				:safeAreaInsetBottom="true"
+		>
+			<u-tabbar-item  text="首页" icon="home" @click="click1" ></u-tabbar-item>
+			<u-tabbar-item  v-if="$has('app:worktable')"  text="工作台" icon="list" @click="click2" ></u-tabbar-item>
+			<u-tabbar-item    text="我的" icon="account" @click="click3" ></u-tabbar-item>
+		</u-tabbar>
+
 	</view>
 </template>
 
@@ -210,6 +222,7 @@
 		},
 		data() {
 			return {
+				value1: 0,
 				srcxianshang1: require('@/static/index/repair-online.svg'),
 				srcxianshang2: require('@/static/index/check-review.svg'),
 				srcxianshang3: require('@/static/index/reduce-record.svg'),
@@ -233,6 +246,22 @@
 		},
 
 		methods: {
+			click1(){
+				uni.navigateTo({
+					url: '/pages/index/index'
+				})
+			},
+			click2(){
+				uni.navigateTo({
+					url: '/pages/Workorder/Workorder'
+				})
+			},
+			click3(){
+				uni.navigateTo({
+					url: '/pages/my/my'
+				})
+			},
+
 			getalldata() {
 				this.$api.get('/home/homedata', {})
 					.then(res => {
@@ -330,10 +359,8 @@
 		height: 200rpx;
 		background-color: #5c8fff;
 		border-radius: 0px 0px 16px 16px;
-		position: relative;
-		display: flex;
-		align-items: center;
-		justify-content: center;
+		position: fixed;
+		top: 0px;
 
 	}
 
@@ -345,12 +372,11 @@
 	.Homepage_suspension {
 		width: 690rpx;
 		height: 200rpx;
+		margin: 0 auto;
 		background-color: #fff;
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
-		position: absolute;
-		top: 100rpx;
 		border-radius: 10rpx;
 	}
 

+ 11 - 9
pages/login/login.vue

@@ -111,13 +111,15 @@
 							//获取用户的信息,如组织架构,个人信息,权限等
 							Promise.all([this.getpermissions(), this.getDictList(), this.getuserInfo(), ]).then(() => {
 
-								uni.switchTab({
-									url: '/pages/index/index',
-									success: res => {},
-									fail: () => {},
-									complete: () => {},
+								// uni.switchTab({
+								// 	url: '/pages/index/index',
+								// 	success: res => {},
+								// 	fail: () => {},
+								// 	complete: () => {},
+								// })
+								uni.navigateTo({
+									url: '/pages/index/index'
 								})
-
 							});
 
 
@@ -139,7 +141,7 @@
 					this.$api.get('/menu/permissions', {}).then((res) => {
 							uni.setStorageSync('ButtonPermissions', res.data.data);
 						resolve(res);
-						console.log('111111111111111111', res)
+					//	console.log('111111111111111111', res)
 
 					}).catch(e => {
 						reject(e)
@@ -158,7 +160,7 @@
 					this.$api.get('/all', {}).then((res) => {
 						uni.setStorageSync('getDictDataList', res.data.data);
 						resolve(res);
-						console.log('222222', res)
+					//	console.log('222222', res)
 
 					}).catch(e => {
 						reject(e)
@@ -178,7 +180,7 @@
 					this.$api.get('/user/userInfo', {}).then((res) => {
 						uni.setStorageSync('getuserInfo', res.data.data);
 						resolve(res);
-						console.log('333333', res)
+						//console.log('333333', res)
 
 					}).catch(e => {
 						reject(e)

+ 37 - 6
pages/my/my.vue

@@ -48,7 +48,7 @@
 					<text class="grid-text" style="padding-top: 8px;">{{listItem.title}}</text>
 				</u-grid-item>
 			</u-grid> -->
-			<view class="information" @click="navigations1">
+			<view class="information" @click="navigations1" v-if="$has('app:PersonalInformation')">
 				<view class="icon1">
 					<u-icon name="account" size="55" color="#30D3A2" class=""></u-icon>
 				</view>
@@ -56,7 +56,7 @@
 					个人信息
 				</view>
 			</view>
-			<view class="distribute"  @click="navigations2">
+			<view class="distribute"  @click="navigations2" v-if="$has('app:MyOrder')">
 				<view class="icon2">
 					<u-icon name="list" size="55" color="#09C700"></u-icon>
 				</view>
@@ -64,13 +64,13 @@
 					我的订单
 				</view>
 			</view>
-			<view class="task"  @click="navigations3">
+			<view class="task"  @click="navigations3" v-if="$has('app:MyTask')">
 				<view class="icon3">
 					<u-icon name="order" size="55" color="#FF9C27"></u-icon>
 				</view>
 				<view  style="padding-top: 8px;">我的任务</view>
 			</view>
-			<view class="opinions"  @click="navigations4">
+			<view class="opinions"  @click="navigations4" v-if="$has('app:CommentsSuggestions')">
 				<view class="icon4">
 					<u-icon name="more-circle" size="55" color="#F7B717"></u-icon>
 				</view>
@@ -99,6 +99,19 @@
 
 		<u-modal :show="showtc" content='请问您是否确定一键退出?' :showConfirmButton='true' :showCancelButton='true'
 			@confirm="confirmtc" @cancel='canceltc'></u-modal>
+
+		<u-tabbar
+				:value="value1"
+				:fixed="true"
+				:placeholder="true"
+				@change="name => value1 = name"
+				activeColor="#2E69EB"
+				:safeAreaInsetBottom="true"
+		>
+			<u-tabbar-item text="首页" icon="home" @click="click1" ></u-tabbar-item>
+			<u-tabbar-item  v-if="$has('app:worktable')"  text="工作台" icon="list" @click="click2" ></u-tabbar-item>
+			<u-tabbar-item text="我的" icon="account" @click="click3" ></u-tabbar-item>
+		</u-tabbar>
 	</view>
 </template>
 
@@ -109,6 +122,7 @@
 	export default {
 		data() {
 			return {
+				value1: 2,
 				fileList: [],
 				showtc: false,
 				src: require('@/static/my/tx.png'),
@@ -117,7 +131,7 @@
 				information1: 34,
 				information2: 100,
 				getuserInfo:{},
-			
+
 
 			}
 		},
@@ -140,6 +154,21 @@
 
 
 		methods: {
+			click1(){
+				uni.navigateTo({
+					url: '/pages/index/index'
+				})
+			},
+			click2(){
+				uni.navigateTo({
+					url: '/pages/Workorder/Workorder'
+				})
+			},
+			click3(){
+				uni.navigateTo({
+					url: '/pages/my/my'
+				})
+			},
 			// 新增图片
 			async afterRead(event) {
 				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
@@ -192,7 +221,7 @@
 				// })
 				uni.navigateTo({
 					url: '/pages/my/Myorder/Myorder'
-				})			
+				})
 			},
 			navigations3(){
 				uni.navigateTo({
@@ -225,6 +254,8 @@
 
 						break;
 				}
+				//清除缓存
+				uni.clearStorageSync();
 			},
 			canceltc() {
 				this.showtc = false;

+ 3 - 0
uni.scss

@@ -39,6 +39,9 @@
 ::v-deep .u-picker__view__column__item{
 	font-size: 20px!important;
 }
+//.u-tabbar-item__text{
+//	font-size: 16px!important;
+//}
 
 
 /* 颜色变量 */