Selaa lähdekoodia

fix: Merge branch 'dev' of http://192.168.0.115:3000/bill/4pc into dev

bill 1 vuosi sitten
vanhempi
commit
af03019e0b

+ 2 - 1
src/view/layout/nav.vue

@@ -50,7 +50,7 @@ import lySlide from "./slide/index.vue";
 import { usersPasswordEdit } from "@/view/quisk";
 import avatarDefault from "@/assets/avatar.png";
 import { UserType, changePassword } from "@/request";
-
+import { UserStatus, userStatus } from "@/store/user";
 const name = computed(() => router.currentRoute.value.meta?.navClass as string);
 const routeName = computed(() => router.currentRoute.value.name as string);
 let isLogout = false;
@@ -59,6 +59,7 @@ const logoutHandler = () => {
     logout(true);
     isLogout = true;
   }
+  userStatus.value = UserStatus.NOT_LOGIN;
   router.replace({ name: "login" });
 };
 const passwordHandler = async () => {

+ 4 - 1
src/view/map/layout.vue

@@ -127,7 +127,10 @@ watch(
   (rid) => {
     if (!rid) return;
     loaded.value = false;
-    const isEditmode = [COORD_NAME].includes(router.currentRoute.value.name.toString());
+    const isEditmode = [COORD_NAME, POYS_NAME].includes(
+      router.currentRoute.value.name.toString()
+    );
+
     initSelfRelics(Number(rid), isEditmode).finally(() => {
       if (!relics.value) {
         return router.replace({ name: "relics" });

+ 55 - 18
src/view/organization.vue

@@ -4,18 +4,30 @@
       <div class="search">
         <el-form label-width="100px" inline>
           <el-form-item label="单位名称">
-            <el-input v-model.trim="pageProps.orgName" clearable style="width: 250px" placeholder="请输入" />
+            <el-input
+              v-model.trim="pageProps.orgName"
+              clearable
+              style="width: 250px"
+              placeholder="请输入"
+            />
           </el-form-item>
           <el-form-item label="类型">
             <el-select style="width: 250px" v-model="pageProps.type" clearable>
-              <el-option :value="Number(key)" :label="type" v-for="(type, key) in OrganizationTypeDesc" />
+              <el-option
+                :value="Number(key)"
+                :label="type"
+                v-for="(type, key) in OrganizationTypeDesc"
+              />
             </el-select>
-
           </el-form-item>
 
           <el-form-item>
             <el-button type="primary" @click="refresh">查询</el-button>
-            <el-button type="primary" plain @click="pageProps = { ...initProps }">
+            <el-button
+              type="primary"
+              plain
+              @click="pageProps = { ...initProps }"
+            >
               重置
             </el-button>
             <el-button type="primary" @click="addHandler"> 新增单位 </el-button>
@@ -27,22 +39,40 @@
     <div class="relics-content">
       <el-table default-expand-all row-key="orgId" :data="relicsArray" border>
         <el-table-column label="单位名称" prop="orgName"></el-table-column>
-        <el-table-column label="类型" prop="type" v-slot:default="{ row }: { row: OrganizationType }">
-          {{ row.type ? OrganizationTypeDesc[row.type] : '' }}
+        <el-table-column
+          label="类型"
+          prop="type"
+          v-slot:default="{ row }: { row: OrganizationType }"
+        >
+          {{ row.type ? OrganizationTypeDesc[row.type] : "" }}
         </el-table-column>
         <el-table-column label="单位账号" prop="userName"></el-table-column>
         <el-table-column label="单位联系人" prop="contact"></el-table-column>
 
-        <el-table-column label="创建时间" prop="updateTime" v-slot:default="{ row }">
+        <el-table-column
+          label="创建时间"
+          prop="updateTime"
+          v-slot:default="{ row }"
+        >
           {{ row.updateTime && row.updateTime.substr(0, 16) }}
         </el-table-column>
         <el-table-column label="创建人" prop="createByName"></el-table-column>
         <el-table-column label="操作" width="100px" fixed="right">
           <template #default="{ row }: { row: OrganizationType }">
-            <el-button link type="primary" @click="editHandler(row)" size="small">
+            <el-button
+              link
+              type="primary"
+              @click="editHandler(row)"
+              size="small"
+            >
               编辑
             </el-button>
-            <el-button link type="danger" @click="delOrganization(row)" size="small">
+            <el-button
+              link
+              type="danger"
+              @click="delOrganization(row)"
+              size="small"
+            >
               删除
             </el-button>
           </template>
@@ -50,9 +80,15 @@
       </el-table>
     </div>
     <div class="pag-layout">
-      <el-pagination background layout="total, prev, pager, next, sizes, jumper" v-model:page-size="pageProps.pageSize"
-        :page-sizes="[10, 20, 50, 100]" :total="total" @current-change="(data: number) => pageProps.pageNum = data"
-        :current-page="pageProps.pageNum" />
+      <el-pagination
+        background
+        layout="total, prev, pager, next, sizes, jumper"
+        v-model:page-size="pageProps.pageSize"
+        :page-sizes="[10, 20, 50, 100]"
+        :total="total"
+        @current-change="(data: number) => pageProps.pageNum = data"
+        :current-page="pageProps.pageNum"
+      />
     </div>
   </div>
 </template>
@@ -67,15 +103,16 @@ import {
   PageProps,
 } from "@/request";
 import type { OrganizationType } from "@/request/organization";
-import { OrganizationTypeDesc } from '@/store/organization'
+import { OrganizationTypeDesc } from "@/store/organization";
 import { organizationAdd, organizationEdit } from "./quisk";
 import { debounce } from "@/util";
 import { ElMessageBox } from "element-plus";
+import { openLoading, closeLoading } from "@/helper/loading";
 
 const initProps: PageProps<Partial<OrganizationType>> = {
   pageNum: 1,
   pageSize: 10,
-  orgName: '',
+  orgName: "",
   orgId: undefined,
   type: undefined,
 };
@@ -90,14 +127,12 @@ const refresh = debounce(async () => {
   total.value = data.total;
   // console.log('parseTree', parseTree(data.records, 'orgId'))
   // relicsArray.value = data.records.length > 1 ? parseTree(data.records, 'orgId') : data.records
-  relicsArray.value = data.records
+  relicsArray.value = data.records;
 });
 
 watch(pageProps, refresh, { deep: true, immediate: true });
 onActivated(refresh);
 
-
-
 const addHandler = async () => {
   await organizationAdd({ submit: addOrgFetch });
   await refresh();
@@ -108,17 +143,19 @@ const editHandler = async (org: OrganizationType) => {
   await refresh();
 };
 const delOrganization = async (org: OrganizationType) => {
-  console.log('org', org)
+  console.log("org", org);
   const ok = await ElMessageBox.confirm("确定要删除吗", {
     type: "warning",
   });
   if (ok) {
+    openLoading();
     await delOrgFetch({
       orgId: org.orgId,
       orgName: org.orgName,
       type: org.type,
     });
     await refresh();
+    closeLoading();
   }
 };
 </script>

+ 9 - 4
src/view/register/register.vue

@@ -38,7 +38,7 @@
         <el-input
           :maxlength="50"
           v-model.trim="form.contact"
-          placeholder="请选择"
+          placeholder="请输入"
         ></el-input>
       </el-form-item>
 
@@ -146,7 +146,12 @@
       </el-form-item>
 
       <el-form-item class="panel-form-item">
-        <el-button text plain type="default" class="fill text-btn" @click="toLogin"
+        <el-button
+          text
+          plain
+          type="default"
+          class="fill text-btn"
+          @click="toLogin"
           >已注册,去登录</el-button
         >
       </el-form-item>
@@ -185,7 +190,7 @@ const equalToPassword = (_, value: any, callback: any) => {
 };
 
 const rules = reactive<FormRules>({
-  orgName: [{ required: true, message: "请选择单位名称", trigger: "blur" }],
+  orgName: [{ required: true, message: "请输入单位名称", trigger: "blur" }],
   msgAuthCode: [{ required: true, message: "请输入验证码", trigger: "change" }],
   contact: [{ required: true, message: "请输入姓名", trigger: "blur" }],
   userName: [
@@ -274,7 +279,7 @@ const submitClick = async () => {
 };
 
 const toLogin = () => {
-  emit('done')
+  emit("done");
 };
 </script>
 

+ 13 - 0
src/view/register/reset.vue

@@ -53,6 +53,16 @@
             <el-form-item class="panel-form-item">
                 <el-button type="primary" class="fill submit" @click="submitClick">确定</el-button>
             </el-form-item>
+            <el-form-item class="panel-form-item">
+        <el-button
+          text
+          plain
+          type="default"
+          class="fill text-btn"
+          @click="toLogin"
+          >立即登录</el-button
+        >
+      </el-form-item>
 
         </el-form>
     </div>
@@ -179,6 +189,9 @@ const submitClick = async () => {
         throw "";
     }
 }
+const toLogin = () => {
+  emit("done");
+};
 </script>
 
 <style lang="scss" scoped>

+ 2 - 2
src/view/users-add.vue

@@ -4,7 +4,7 @@
     <el-form-item label="单位名称" prop="orgId" required>
       <!-- <el-autocomplete style="width: 300px" v-model="data.orgName" :fetch-suggestions="querySearch" clearable
         class="inline-input w-50" placeholder="请输入" @select="handleSelect" /> -->
-      <el-tree-select :props="{
+      <el-tree-select   :check-strictly="true" :props="{
         value: 'orgId',
         label: (data: any) => data.orgName,
       }" style="width: 300px" v-model="data.orgId" :data="allOrgs" node-key="orgId" @node-click="handleNodeClick"
@@ -14,7 +14,7 @@
     </el-form-item>
 
     <el-form-item label="姓名" prop="nickName" required>
-      <el-input v-model="data.nickName" style="width: 300px" :maxlength="500" placeholder="请输入" />
+      <el-input v-model="data.nickName" style="width: 300px" :maxlength="15" placeholder="请输入" />
     </el-form-item>
     <el-form-item label="账号" prop="userName" required>
       <el-input v-model="data.userName" style="width: 300px" :maxlength="11" placeholder="请输入手机号" />

+ 2 - 2
src/view/users-edit.vue

@@ -4,7 +4,7 @@
     <el-form-item label="单位名称" prop="orgId" required>
       <!-- <el-autocomplete style="width: 300px" v-model="data.orgName" :fetch-suggestions="querySearch" clearable
         class="inline-input w-50" placeholder="请输入" @select="handleSelect" /> -->
-      <el-tree-select :props="{
+      <el-tree-select   :check-strictly="true" :props="{
         value: 'orgId',
         label: (data: any) => data.orgName,
       }" style="width: 300px" v-model="data.orgId" :data="allOrgs" node-key="orgId" @node-click="handleNodeClick" clearable>
@@ -13,7 +13,7 @@
     </el-form-item>
 
     <el-form-item label="姓名" prop="nickName" required>
-      <el-input v-model="data.nickName" style="width: 300px" :maxlength="500" placeholder="请输入" />
+      <el-input v-model="data.nickName" style="width: 300px" :maxlength="15" placeholder="请输入" />
     </el-form-item>
   </el-form>
 </template>