浏览代码

巡查记录接口联调

wuhongbo 1 年之前
父节点
当前提交
21ff6b15fa
共有 2 个文件被更改,包括 79 次插入45 次删除
  1. 17 1
      BJYSYBZ_C/src/utils/AjaxUtil.js
  2. 62 44
      BJYSYBZ_C/src/views/BjWlydManageView/components/Td1.vue

+ 17 - 1
BJYSYBZ_C/src/utils/AjaxUtil.js

@@ -137,7 +137,23 @@ export default {
     }).then(checkResponseStatus)
       .then(checkResponseCode)
   },
-
+  downFileByGet(url, params, vue, requireToken) {
+    return axios({
+      method: 'get',
+      url: url,
+      baseURL: baseUrl,
+      params: params,
+      timeout: 30000,
+      vue: vue,
+      requireToken: requireToken == null ? true : requireToken,
+      responseType: 'arraybuffer',
+      headers: {
+        'X-Requested-With': 'XMLHttpRequest',
+        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
+        'Content-Disposition': ''
+      }
+    }).then(checkResponseCode)
+  },
   /**
    * post 下载文件
    * @param url

+ 62 - 44
BJYSYBZ_C/src/views/BjWlydManageView/components/Td1.vue

@@ -52,7 +52,7 @@
         <td>
           <el-input
             size="medium"
-            v-model="sumbitObj.xcry"
+            v-model="sumbitObj.xcryName"
             placeholder="请输入"
             disabled
           ></el-input>
@@ -64,7 +64,7 @@
           <!-- <el-input size="medium" v-model="sumbitObj.dkwz" placeholder="请输入"></el-input> -->
           <el-input
             size="medium"
-            v-model="sumbitObj.lxdh"
+            v-model="sumbitObj.xcryMobile"
             placeholder="请输入"
             disabled
           ></el-input>
@@ -89,14 +89,9 @@
     </div>
     <div class="xzzpBox" v-if="carouselImgs.length > 0">
       <el-carousel type="card" :autoplay="false">
-        <el-carousel-item v-for="item in carouselImgs" :key="item">
+        <el-carousel-item v-for="(item, index) in carouselImgs" :key="index">
           <div class="imageFlex">
-            <img
-              :src="
-                require('../../../assets/images/xczp/' + item.imgs + '.jpg')
-              "
-              preview="1"
-            />
+            <img :src="item" preview="1" />
           </div>
         </el-carousel-item>
       </el-carousel>
@@ -126,11 +121,11 @@
               <table>
                 <tr>
                   <td>联系人</td>
-                  <td>{{ item.lxr }}</td>
+                  <td>{{ item.xcryName }}</td>
                 </tr>
                 <tr>
                   <td>联系电话</td>
-                  <td>{{ item.lxdh }}</td>
+                  <td>{{ item.xcryMobile }}</td>
                 </tr>
                 <tr>
                   <td>现状描述</td>
@@ -141,11 +136,9 @@
                   <td>
                     <div class="xczpFlex">
                       <img
-                        v-for="l in item.file"
-                        :src="
-                          require('../../../assets/images/xczp/' + l + '.jpg')
-                        "
-                        preview="1"
+                        v-for="l in item.imgList"
+                        :src="l.imgSrc"
+                        preview="2"
                       />
                     </div>
                   </td>
@@ -176,42 +169,67 @@ export default {
       xcryModel: '',
       options: [],
       srcList: [],
-      carouselImgs: [
-        {
-          imgs: '1',
-        },
-        {
-          imgs: '2',
-        },
-        {
-          imgs: '3',
-        },
-      ],
-      activeName: '0',
-      collapseList: [
-        {
-          xcsj: '2023-10-25 09:25:23',
-          lxr: '张枫',
-          lxdh: '13019200108',
-          xzms: '停车场,正常使用中。',
-          file: ['1', '2', '3'],
-        },
-      ],
-      sumbitObj: {
-        xcsj: '2023-10-25 09:25:23',
-        xcry: '张枫',
-        lxdh: 13019200108,
-        xzms: '停车场,正常使用中。',
-      },
+      carouselImgs: [],
+      activeName: 0,
+      collapseList: [],
+      sumbitObj: {},
     };
   },
   mounted() {
-    this.$previewRefresh();
     let users = JSON.parse(localStorage.getItem('userInfo'));
     this.initTableList(users.nickName);
+    this.initAjax();
     this.xcryXcryInit();
   },
   methods: {
+    initAjax() {
+      let url = '/api/xcjl/getListByDksyh';
+      let params = {
+        dksyh: this.obj.dksyh,
+      };
+      this.$ajax.get(url, params, this, false).then((res) => {
+        if (res.data) {
+          if (res.data.length > 0) {
+            this.sumbitObj = res.data[0];
+            this.initImgs(res.data[0].imgList);
+          }
+          this.collapseList = res.data;
+
+          this.collapseList.forEach((item, index) => {
+            item.imgList.forEach((l, i) => {
+              this.exportUrl(l.fileId).then((result) => {
+                const imageUrl =
+                  'data:image/png;base64,' +
+                  Buffer.from(result['data'], 'base64').toString('base64');
+                // l.imgSrc = imageUrl;
+                this.collapseList[index].imgList[i].imgSrc = imageUrl;
+                this.$forceUpdate();
+                this.$previewRefresh();
+              });
+            });
+          });
+        }
+      });
+    },
+    initImgs(data) {
+      let list = JSON.parse(JSON.stringify(data));
+      list.forEach((item) => {
+        this.exportUrl(item.fileId).then((result) => {
+          const imageUrl =
+            'data:image/png;base64,' +
+            Buffer.from(result['data'], 'base64').toString('base64');
+          item.imgSrc = imageUrl;
+
+          this.carouselImgs.push(imageUrl);
+          this.$previewRefresh();
+        });
+      });
+    },
+    async exportUrl(fileId) {
+      var params = new FormData();
+      let url = '/api/oss/download?id' + '=' + fileId;
+      return await this.$ajax.downFileByGet(url, params, this, true, false);
+    },
     xcryAddDk() {
       let url = '/api/xcry/add-dk';
       let params = {