소스 검색

'打包配置修改/单位信息采集/代码优化'

fanghuisheng 2 년 전
부모
커밋
1e280e1717
5개의 변경된 파일314개의 추가작업 그리고 176개의 파일을 삭제
  1. 4 2
      package.json
  2. 25 0
      src/api/business/mhxf/unitInfoCollection/index.js
  3. 272 168
      src/pages/business/mhxf/unitInfoCollection/index.vue
  4. 6 4
      src/store/modules/user.js
  5. 7 2
      src/utils/request.js

+ 4 - 2
package.json

@@ -18,7 +18,8 @@
         "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
         "build:app": "uni build -p app",
         "build:custom": "uni build -p",
-        "build:h5": "rimraf dist && uni build",
+        "build:h5:prod": "rimraf dist && uni build --mode production",
+        "build:h5:dev": "rimraf dist && uni build --mode development",
         "build:h5:ssr": "uni build --ssr",
         "build:mp-alipay": "uni build -p mp-alipay",
         "build:mp-baidu": "uni build -p mp-baidu",
@@ -30,7 +31,7 @@
         "build:quickapp-webview": "uni build -p quickapp-webview",
         "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
         "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
-        "clear": "rimraf node_modules&&cnpm install"
+        "clear": "rimraf node_modules && cnpm install"
     },
     "dependencies": {
         "@amap/amap-jsapi-loader": "^1.0.1",
@@ -66,6 +67,7 @@
         "@dcloudio/uni-stacktracey": "3.0.0-alpha-3050320220729001",
         "@dcloudio/vite-plugin-uni": "3.0.0-alpha-3050320220729001",
         "@vitejs/plugin-vue": "^2.3.3",
+        "cross-env": "^7.0.3",
         "sass": "^1.54.3",
         "vite": "^2.9.14"
     }

+ 25 - 0
src/api/business/mhxf/unitInfoCollection/index.js

@@ -0,0 +1,25 @@
+import upload from "@/utils/upload";
+import request from "@/utils/request";
+
+/**
+ * @单位信息采集
+ * @名称模糊查询
+ */
+export function companyByNameSelect(param) {
+  return request({
+    url: "/service-fire/baseCompany/companyByNameSelect",
+    method: "GET",
+    data: param,
+  });
+}
+
+/**
+ * @单位信息采集新增
+ */
+export function addBaseCompany(param) {
+  return request({
+    url: "/service-fire/baseCompany/addBaseCompany",
+    method: "POST",
+    data: param,
+  });
+}

+ 272 - 168
src/pages/business/mhxf/unitInfoCollection/index.vue

@@ -10,52 +10,45 @@
       <view style="padding: 10px 0">
         <view class="" style="padding: 10px 10px 20px 10px; background: #ffffff">
           <u--form :model="form" ref="uForm" :rules="rules" labelWidth="130" style="padding-left: 9px">
-            <u-form-item label="单位名称" prop="name2" required :borderBottom="true">
-              <u-input v-model="form.name2" placeholder="请输入单位名称" border="none" />
+            <u-form-item label="单位名称" prop="companyName" required :borderBottom="true">
+              <u-input v-model="form.companyName" placeholder="请输入单位名称" border="none">
+                <template #suffix>
+                  <u-icon name="search" color="#999999" size="22" @click="companySubmit(form.companyName)"></u-icon>
+                </template>
+              </u-input>
             </u-form-item>
-            <u-form-item label="组织机构代码" prop="name1" required :borderBottom="true">
-              <u-input v-model="form.name1" placeholder="请输入组织机构代码" border="none" />
+            <u-form-item label="组织机构代码" prop="organization" required :borderBottom="true">
+              <u-input v-model="form.organization" placeholder="请输入组织机构代码" border="none" />
             </u-form-item>
-            <u-form-item label="法人代表" prop="name3" required :borderBottom="true">
-              <u-input v-model="form.name3" placeholder="请输入法人代表" border="none" />
+            <u-form-item label="法人代表" prop="delegateName" required :borderBottom="true">
+              <u-input v-model="form.delegateName" placeholder="请输入法人代表" border="none" />
             </u-form-item>
-            <u-form-item label="单位地址" prop="name4" required :borderBottom="true" @click="handleAction('单位地址')">
-              <u-input
-                v-model="form.name4"
-                placeholder="请选择单位地址"
-                border="none"
-                suffixIcon="arrow-right"
-                :suffixIconStyle="addDisabled ? 'color: #c0c4cc' : 'color: #909399'"
-                :color="addDisabled ? '#c0c4cc' : ''"
-                :disabled="addDisabled"
-              />
+            <u-form-item label="单位地址" prop="address" required :borderBottom="true">
+              <u-input v-model="form.address" placeholder="请输入单位地址" border="none" />
             </u-form-item>
-            <u-form-item label="详细地址" prop="name5" required :borderBottom="true">
-              <u-input v-model="form.name5" placeholder="请输入详细地址" border="none" />
+            <u-form-item label="消防管理人电话" prop="fireManagePhone" required :borderBottom="true">
+              <u-input v-model="form.fireManagePhone" placeholder="请输入消防管理人电话" border="none" />
             </u-form-item>
-            <u-form-item label="消防管理人电话" prop="name6" required :borderBottom="true">
-              <u-input v-model="form.name6" placeholder="请输入消防管理人电话" border="none" />
+            <u-form-item label="成立时间" prop="foundTime" required :borderBottom="true" @click="handleDateTime('成立时间')">
+              <u-input v-model="form.foundTime" placeholder="请选择成立时间" border="none" suffixIcon="calendar" suffixIconStyle="color: #909399;font-size:22px" />
             </u-form-item>
-            <u-form-item label="成立时间" prop="name7" required :borderBottom="true" @click="showTime = true">
-              <u-input v-model="form.name7" placeholder="请选择成立时间" border="none" suffixIcon="calendar" suffixIconStyle="color: #909399;font-size:22px" />
+            <u-form-item label="消防安全责任人" prop="fireDutyName" :borderBottom="true">
+              <u-input v-model="form.fireDutyName" placeholder="请输入消防安全责任人" border="none" />
             </u-form-item>
-            <u-form-item label="消防安全责任人" prop="name8" :borderBottom="true">
-              <u-input v-model="form.name8" placeholder="请输入消防安全责任人" border="none" />
+            <u-form-item label="消防安全管理人" prop="fireManageName" :borderBottom="true">
+              <u-input v-model="form.fireManageName" placeholder="请输入消防安全管理人" border="none" />
             </u-form-item>
-            <u-form-item label="消防安全管理人" prop="name9" :borderBottom="true">
-              <u-input v-model="form.name9" placeholder="请输入消防安全管理人" border="none" />
+            <u-form-item label="职工人数" prop="employeeNum" :borderBottom="true">
+              <u-input type="digit" v-model="form.employeeNum" placeholder="请输入职工人数" suffixIcon="人" suffixIconStyle="color:#999999;font-size:15px" border="none" />
             </u-form-item>
-            <u-form-item label="职工人数" prop="name10" :borderBottom="true">
-              <u-input type="digit" v-model="form.name10" placeholder="请输入职工人数" suffixIcon="人" suffixIconStyle="color:#999999;font-size:15px" border="none" />
+            <u-form-item label="固定资产(万元)" prop="fixedAssets" :borderBottom="true">
+              <u-input type="number" v-model="form.fixedAssets" placeholder="请输入固定资产(万元)" suffixIcon="万元" suffixIconStyle="color:#999999;font-size:15px" border="none" />
             </u-form-item>
-            <u-form-item label="固定资产(万元)" prop="name11" :borderBottom="true">
-              <u-input type="number" v-model="form.name11" placeholder="请输入固定资产(万元)" suffixIcon="万元" suffixIconStyle="color:#999999;font-size:15px" border="none" />
+            <u-form-item label="占地面积" prop="coverArea" :borderBottom="true">
+              <u-input type="number" v-model="form.coverArea" placeholder="请输入占地面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
             </u-form-item>
-            <u-form-item label="占地面积" prop="name12" :borderBottom="true">
-              <u-input type="number" v-model="form.name12" placeholder="请输入占地面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
-            </u-form-item>
-            <u-form-item label="总建筑面积" prop="name13" :borderBottom="true">
-              <u-input type="number" v-model="form.name13" placeholder="请输入总建筑面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
+            <u-form-item label="总建筑面积" prop="buildArea" :borderBottom="true">
+              <u-input type="number" v-model="form.buildArea" placeholder="请输入总建筑面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
             </u-form-item>
           </u--form>
 
@@ -71,47 +64,53 @@
     <view class="centerTwo" v-else>
       <view style="color: #333333; text-align: center; margin-top: 10px"> 所在建筑信息(2/2) </view>
 
-      <view style="padding: 10px 0" v-for="(li, index) in form.list" :key="index">
-        <view class="" style="padding: 10px 10px 20px 10px; background: #ffffff">
-          <view style="overflow: hidden"><u-icon name="trash" color="#FF0000" size="20" style="float: right"></u-icon></view>
-
-          <u--form :model="li" ref="uForm" :rules="rules" labelWidth="130" style="padding-left: 9px">
-            <u-form-item label="建筑地址" prop="li.name1" required :borderBottom="true">
-              <u-input v-model="li.name1" placeholder="请输入建筑地址" border="none" />
-            </u-form-item>
-            <u-form-item label="建筑结构" prop="li.name2" required :borderBottom="true" @click="handleAction('建筑结构', index)">
-              <u-input v-model="li.name2" placeholder="请选择建筑结构" border="none" suffixIcon="arrow-right" :suffixIconStyle="'color: #909399'" />
-            </u-form-item>
-            <u-form-item label="地上层数" prop="li.name3" required :borderBottom="true">
-              <u-input v-model="li.name3" placeholder="请输入地上层数" border="none" />
-            </u-form-item>
-            <u-form-item label="地下层数" prop="li.name4" required :borderBottom="true">
-              <u-input v-model="li.name4" placeholder="请输入地下层数" border="none" />
-            </u-form-item>
-            <u-form-item label="建筑面积" prop="li.name5" required :borderBottom="true">
-              <u-input v-model="li.name5" placeholder="请输入建筑面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
-            </u-form-item>
-            <u-form-item label="地下空间" prop="li.name6" required :borderBottom="true">
-              <u-input v-model="li.name6" placeholder="请输入地下空间面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
-            </u-form-item>
-            <u-form-item label="使用性质" prop="li.name7" required :borderBottom="true" @click="handleAction('使用性质', index)">
-              <u-input v-model="li.name7" placeholder="请选择使用性质" border="none" suffixIcon="arrow-right" :suffixIconStyle="'color: #909399'" />
-            </u-form-item>
-            <u-form-item label="建成年份" prop="li.name8" required :borderBottom="true" @click="showTime = true">
-              <u-input v-model="li.name8" placeholder="请选择建成年份" border="none" suffixIcon="calendar" suffixIconStyle="color: #909399;font-size:22px" />
-            </u-form-item>
-            <u-form-item label="建筑高度" prop="li.name9" required :borderBottom="true">
-              <u-input v-model="li.name9" placeholder="请输入建筑高度" border="none" />
-            </u-form-item>
-          </u--form>
+      <u--form :model="form.baseBuildList" ref="uForm1" :rules="rules" labelWidth="130">
+        <view style="padding: 10px 0" v-for="(li, index) in form.baseBuildList" :key="index">
+          <view class="" style="padding: 10px 10px 20px 10px; background: #ffffff">
+            <view style="overflow: hidden">
+              <u-icon name="trash" color="#FF0000" size="20" style="float: right" @click="deleteSubmit(index)"></u-icon>
+            </view>
+            <view style="padding-left: 9px">
+              <u-form-item label="建筑名称" prop="li.buildName" required :borderBottom="true">
+                <u-input v-model="li.buildName" placeholder="请输入建筑名称" border="none" />
+              </u-form-item>
+              <u-form-item label="建筑地址" prop="li.address" required :borderBottom="true">
+                <u-input v-model="li.address" placeholder="请输入建筑地址" border="none" />
+              </u-form-item>
+              <u-form-item label="建筑结构" prop="li.buildStructure" required :borderBottom="true" @click="handleAction('建筑结构', index)">
+                <u-input v-model="li.buildStructure" placeholder="请选择建筑结构" border="none" suffixIcon="arrow-right" :suffixIconStyle="'color: #909399'" />
+              </u-form-item>
+              <u-form-item label="地上层数" prop="li.aboveFloor" required :borderBottom="true">
+                <u-input v-model="li.aboveFloor" placeholder="请输入地上层数" border="none" />
+              </u-form-item>
+              <u-form-item label="地下层数" prop="li.underFloor" required :borderBottom="true">
+                <u-input v-model="li.underFloor" placeholder="请输入地下层数" border="none" />
+              </u-form-item>
+              <u-form-item label="建筑面积" prop="li.buildArea" required :borderBottom="true">
+                <u-input v-model="li.buildArea" placeholder="请输入建筑面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
+              </u-form-item>
+              <u-form-item label="地下空间" prop="li.underSpace" required :borderBottom="true">
+                <u-input v-model="li.underSpace" placeholder="请输入地下空间面积" suffixIcon="平方米" suffixIconStyle="color:#999999;font-size:15px" border="none" />
+              </u-form-item>
+              <u-form-item label="使用性质" prop="li.useCharacter" required :borderBottom="true" @click="handleAction('使用性质', index)">
+                <u-input v-model="li.useCharacter" placeholder="请选择使用性质" border="none" suffixIcon="arrow-right" :suffixIconStyle="'color: #909399'" />
+              </u-form-item>
+              <u-form-item label="建成年份" prop="li.completeYear" required :borderBottom="true" @click="handleDateTime('建成年份', index)">
+                <u-input v-model="li.completeYear" placeholder="请选择建成年份" border="none" suffixIcon="calendar" suffixIconStyle="color: #909399;font-size:22px" />
+              </u-form-item>
+              <u-form-item label="建筑高度" prop="li.buildHigh" required :borderBottom="true">
+                <u-input v-model="li.buildHigh" placeholder="请输入建筑高度" border="none" />
+              </u-form-item>
+            </view>
+          </view>
         </view>
-      </view>
+      </u--form>
 
       <view style="padding-bottom: 125px">
         <u-button type="primary" style="width: 25%; height: 25px; margin-top: 10px" @click="addSubmit" shape="circle" icon="plus" size="mini"> 添加建筑 </u-button>
       </view>
 
-      <view style="position: fixed; left: 0; right: 0; bottom: 0; padding: 15px; background-color: #f1f1f1">
+      <view style="position: fixed; left: 0; right: 0; bottom: 0; padding: 15px; background-color: transparent">
         <view>
           <u-button type="primary" style="width: 100%; height: 40px; font-size: 14px; margin-bottom: 15px" @click="backSubmit" shape="circle"> 上一步 </u-button>
 
@@ -122,61 +121,41 @@
 
     <u-action-sheet :show="actionShow" :actions="actionsList" :title="'请选择' + actionTitle" @close="actionShow = false" @select="selectAction"> </u-action-sheet>
 
-    <u-datetime-picker :show="showTime" v-model="Timevalue" mode="date" @close="showTime = false" @cancel="showTime = false" @confirm="timeSubmit" :closeOnClickOverlay="true"></u-datetime-picker>
+    <u-datetime-picker :show="showTime" v-model="timeValue" mode="date" @close="showTime = false" @cancel="showTime = false" @confirm="timeSubmit" :closeOnClickOverlay="true"></u-datetime-picker>
   </view>
 </template>
 
 <script setup>
 import { onLoad, onShow, onHide, onLaunch, onReady } from "@dcloudio/uni-app";
-import { ref, onMounted, inject, shallowRef, reactive, toRefs } from "vue";
+import { ref, onMounted, inject, shallowRef, reactive, toRefs, getCurrentInstance } from "vue";
 
 import publicStore from "@/store/modules/public.js";
 
+import { companyByNameSelect, addBaseCompany } from "@/api/business/mhxf/unitInfoCollection";
+
+const { proxy } = getCurrentInstance();
+
 const newPublicStore = publicStore();
 
 const dataList = reactive({
   form: {
-    name1: "",
-    name2: "",
-    name3: "",
-    name4: "上海市闵行区",
-    name5: "",
-    name6: "",
-    name7: "",
-    name8: "",
-    name9: "",
-    name10: "",
-    name11: "",
-    name12: "",
-    name13: "",
-
-    list: [
-      {
-        name1: "",
-        name2: "砖混结构",
-        name3: "",
-        name4: "",
-        name5: "",
-        name6: "",
-        name7: "",
-        name8: "",
-        name9: "",
-      },
-      {
-        name1: "",
-        name2: "砖混结构",
-        name3: "",
-        name4: "",
-        name5: "",
-        name6: "",
-        name7: "",
-        name8: "",
-        name9: "",
-      },
-    ],
+    organization: "", //组织机构代码
+    companyName: "", //单位名称
+    delegateName: "", //法人代表姓名
+    address: "", //详细地址
+    fireManagePhone: "", //消防安全管理人电话
+    foundTime: "", //单位成立时间
+    fireDutyName: "", //消防安全责任人姓名
+    fireManageName: "", //消防安全管理人姓名
+    employeeNum: "", //职工人数
+    fixedAssets: "", //固定资产(单位:万元)
+    coverArea: "", //占地面积
+    buildArea: "", //建筑面积
+
+    baseBuildList: [],
   },
   rules: {
-    name1: [
+    organization: [
       {
         required: true,
         message: "请输入组织机构代码",
@@ -190,42 +169,103 @@ const dataList = reactive({
         trigger: ["change"],
       },
     ],
-
-    name4: [],
-
-    name7: [],
   },
   noticeBarText: "注:信息提交后不可修改,提交前请核对填写是否有误",
-  pagingBool: false,
-  addDisabled: true,
+  pagingBool: true,
 
   actionIndex: 0,
   actionTitle: "",
   actionShow: false,
   actionsList: [],
   showTime: false,
-  Timevalue: Number(new Date()),
+  timeValue: Number(new Date()),
+  timeTitle: "",
+  timeIndex: 0,
 });
 
-const { form, rules, noticeBarText, pagingBool, addDisabled, actionTitle, actionIndex, actionsList, actionShow, showTime, Timevalue } = toRefs(dataList);
+const { form, rules, noticeBarText, pagingBool, actionTitle, actionIndex, actionsList, actionShow, showTime, timeValue, timeTitle, timeIndex } = toRefs(dataList);
 
 const uForm = ref(null);
+const uForm1 = ref(null);
 
 /**
- * @添加建筑
- * @按钮点击事件
+ * @单位名称
+ * @icon图标按钮点击事件
  */
-function addSubmit() {}
+function companySubmit(e) {
+  actionsList.value = [];
+
+  companyByNameSelect({
+    companyName: e,
+  }).then((res) => {
+    if (res.status == "SUCCESS") {
+      if (res.data.length > 0) {
+        actionShow.value = true;
+        res.data.forEach((el) => {
+          el.name = el.companyName;
+          actionsList.value.push(el);
+        });
+        actionTitle.value = "单位名称";
+
+        console.log(actionsList.value);
+      } else {
+        proxy.$modal.msg("未匹配到您所输入的单位!");
+      }
+    }
+  });
+}
 
 /**
- * @下一步
+ * @提交
  * @按钮点击事件
  */
-function nextSubmit() {
+function submit() {
   console.log(form.value);
-  pagingBool.value = false;
 
-  uForm.value
+  var param = {
+    baseCompany: {
+      id: "id" in form.value ? form.value.id : undefined, //主键ID
+      companyId: "companyId" in form.value ? form.value.companyId : undefined, //单位ID
+      companyName: form.value.companyName, //单位名称
+      organization: form.value.organization, //组织机构代码
+      address: form.value.address, //单位地址
+      foundTime: form.value.foundTime + "T00:00:00", //成立时间
+    },
+    baseCompanyAttach1: {
+      id: "id1" in form.value ? form.value.id1 : undefined, //附表ID(id1)
+      employeeNum: form.value.employeeNum, //职工人数
+      coverArea: form.value.coverArea, //占地面积
+      buildArea: form.value.buildArea, //建筑面积
+      fixedAssets: form.value.fixedAssets, //固定资产
+    },
+    baseCompanyPerson: {
+      id: "id2" in form.value ? form.value.id2 : undefined, //单位关联人员表ID(id2)
+      delegateName: form.value.delegateName, //法人代表姓名
+      fireDutyName: form.value.fireDutyName, //消防安全责任人姓名
+      fireManageName: form.value.fireManageName, //消防安全管理人姓名
+      fireManagePhone: form.value.fireManagePhone, //消防安全管理人电话
+    },
+    baseBuildList: [],
+  };
+
+  form.value.baseBuildList.forEach((el) => {
+    param.baseBuildList.push({
+      buildName: el.buildName, //建筑名称
+      address: el.address, //详细地址
+      buildStructure: el.buildStructureValue, //建筑结构
+      aboveFloor: el.aboveFloor, //地上楼层
+      underFloor: el.underFloor, //地下楼层
+      buildArea: el.buildArea, //建筑面积
+      underSpace: el.underSpace, //地下空间
+      useCharacter: el.useCharacterValue, //使用性质
+      completeYear: el.completeYear, //竣工年份
+      buildHigh: el.buildHigh, //建筑高度
+    });
+  });
+
+  addBaseCompany(param).then((res) => {});
+
+  uForm1.value
     .validate()
     .then((res) => {
       uni.$u.toast("校验通过");
@@ -235,38 +275,13 @@ function nextSubmit() {
     });
 }
 
-/**
- * @上一步
- * @按钮点击事件
- */
-function backSubmit() {
-  pagingBool.value = true;
-}
-
-/**
- * @提交
- * @按钮点击事件
- */
-function submit() {}
-
 /**
  * @action弹出框点击事件
  */
 function handleAction(value, index) {
-  console.log(value);
-
-  if (value == "单位地址") {
-    if (!addDisabled.value) {
-      actionShow.value = true;
-      actionsList.value = [
-        {
-          name: "上海市闵行区",
-        },
-      ];
-      actionTitle.value = "单位地址";
-    }
-  } else if (value == "建筑结构") {
-    actionShow.value = true;
+  actionShow.value = true;
+
+  if (value == "建筑结构") {
     actionsList.value = [
       {
         value: 1,
@@ -296,31 +311,26 @@ function handleAction(value, index) {
     actionTitle.value = "建筑结构";
     actionIndex.value = index;
   } else if (value == "使用性质") {
-    actionShow.value = true;
     actionsList.value = [
       {
         value: 1,
-        name: "砖混结构",
+        name: "工业",
       },
       {
         value: 2,
-        name: "钢筋混凝土",
+        name: "商业",
       },
       {
         value: 3,
-        name: "钢结构",
+        name: "办公",
       },
       {
         value: 4,
-        name: "大型钢筋混凝土",
+        name: "危险品",
       },
       {
         value: 5,
-        name: "木质结构",
-      },
-      {
-        value: 6,
-        name: "砖木结构",
+        name: "生产、存储、经营、居住一体",
       },
     ];
     actionTitle.value = "使用性质";
@@ -328,13 +338,50 @@ function handleAction(value, index) {
   }
 }
 
+/**
+ * @时间弹出框点击事件
+ */
+function handleDateTime(value, index) {
+  showTime.value = true;
+  if (value == "成立时间") {
+    timeIndex.value = index;
+    timeTitle.value = "成立时间";
+  } else if (value == "建成年份") {
+    timeIndex.value = index;
+    timeTitle.value = "建成年份";
+  }
+}
+
 /**
  * @action弹出框选择事件
  */
 function selectAction(e) {
-  console.log(e);
-
-  form.value.name4 = e.name;
+  if (actionTitle.value == "建筑结构") {
+    form.value.baseBuildList[actionIndex.value].buildStructure = e.name;
+    form.value.baseBuildList[actionIndex.value].buildStructureValue = e.value;
+  } else if (actionTitle.value == "使用性质") {
+    form.value.baseBuildList[actionIndex.value].useCharacter = e.name;
+    form.value.baseBuildList[actionIndex.value].useCharacterValue = e.value;
+  } else if (actionTitle.value == "单位名称") {
+    form.value = e;
+    form.value.foundTime = e.foundTime.split("T")[0];
+    form.value.baseBuildList = [
+      {
+        buildName: "", //建筑名称
+        address: "", //详细地址
+        buildStructure: "", //建筑结构
+        buildStructureValue: 0, //建筑结构
+        aboveFloor: "", //地上楼层
+        underFloor: "", //地下楼层
+        buildArea: "", //建筑面积
+        underSpace: "", //地下空间
+        useCharacter: "", //使用性质
+        useCharacterValue: 0,
+        completeYear: "", //竣工年份
+        buildHigh: "", //建筑高度
+      },
+    ];
+  }
 }
 
 /**
@@ -344,9 +391,66 @@ function selectAction(e) {
 function timeSubmit(data) {
   let time = newPublicStore.formatterDate(data.value);
   let timeData = time.split(" ")[0];
-  form.value.name7 = timeData;
+  if (timeTitle.value == "成立时间") {
+    form.value.foundTime = timeData;
+  } else if (timeTitle.value == "建成年份") {
+    form.value.baseBuildList[timeIndex.value].completeYear = timeData;
+  }
   showTime.value = false;
 }
+
+/**
+ * @添加建筑
+ * @按钮点击事件
+ */
+function addSubmit() {
+  form.value.baseBuildList.push({
+    buildName: "", //建筑名称
+    address: "", //详细地址
+    buildStructure: "", //建筑结构
+    buildStructureValue: 0, //建筑结构
+    aboveFloor: "", //地上楼层
+    underFloor: "", //地下楼层
+    buildArea: "", //建筑面积
+    underSpace: "", //地下空间
+    useCharacter: "", //使用性质
+    useCharacterValue: 0,
+    completeYear: "", //竣工年份
+    buildHigh: "", //建筑高度
+  });
+}
+
+/**
+ * @删除建筑
+ * @按钮点击事件
+ */
+function deleteSubmit(index) {
+  form.value.baseBuildList.splice(index, 1);
+}
+
+/**
+ * @上一步
+ * @按钮点击事件
+ */
+function backSubmit() {
+  pagingBool.value = true;
+}
+
+/**
+ * @下一步
+ * @按钮点击事件
+ */
+function nextSubmit() {
+  uForm.value
+    .validate()
+    .then((res) => {
+      uni.$u.toast("校验通过");
+      pagingBool.value = false;
+    })
+    .catch((errors) => {
+      uni.$u.toast("校验失败");
+    });
+}
 </script>
 
 <style lang="scss">

+ 6 - 4
src/store/modules/user.js

@@ -1,11 +1,9 @@
-import config from "@/config";
 import storage from "@/utils/storage";
 import constant from "@/utils/constant";
 import { login, logout, getInfo } from "@/api/login";
 import { getToken, setToken, removeToken } from "@/utils/auth";
 import { defineStore } from "pinia";
-
-const baseUrl = config.baseUrl;
+import modal from "@/plugins/modal.js";
 
 const useStores = defineStore("useStores", {
   state: () => ({
@@ -31,6 +29,7 @@ const useStores = defineStore("useStores", {
   actions: {
     // 登录
     Login(data) {
+      // const modal = inject("$modal");
       return new Promise((resolve, reject) => {
         login(data)
           .then((res) => {
@@ -39,6 +38,8 @@ const useStores = defineStore("useStores", {
             resolve();
           })
           .catch((error) => {
+            modal.closeLoading();
+            modal.msgError(error);
             reject(error);
           });
       });
@@ -46,7 +47,6 @@ const useStores = defineStore("useStores", {
 
     // 获取用户信息
     GetInfo() {
-      console.log(1);
       return new Promise((resolve, reject) => {
         getInfo()
           .then((res) => {
@@ -67,6 +67,7 @@ const useStores = defineStore("useStores", {
             resolve(res);
           })
           .catch((error) => {
+            modal.msgError(error);
             reject(error);
           });
       });
@@ -85,6 +86,7 @@ const useStores = defineStore("useStores", {
             resolve();
           })
           .catch((error) => {
+            modal.msgError(error);
             reject(error);
           });
       });

+ 7 - 2
src/utils/request.js

@@ -38,6 +38,7 @@ const request = (config) => {
           return;
         }
         const code = res.data.code || 200;
+
         if (code === 401) {
           showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then((res) => {
             if (res.confirm) {
@@ -47,8 +48,12 @@ const request = (config) => {
             }
           });
           reject("无效的会话,或者会话已过期,请重新登录。");
-        } else if (code === 500) {
-          reject("500");
+        } else if (code === 500 || res.statusCode === 500) {
+          if (res.data.msg.indexOf(":") !== -1) {
+            reject(res.data.msg.split(":")[1]);
+          } else {
+            reject(res.data.msg);
+          }
         } else if (code !== 200 && code !== "0") {
           reject(code);
         }