Pārlūkot izejas kodu

新增要素一本账详情页面

songxy 1 gadu atpakaļ
vecāks
revīzija
580ab73dae

+ 233 - 0
YSGZYBZ_WXAPP/pages/receivedDetail2/index.scss

@@ -0,0 +1,233 @@
+.nocheckBox {
+  height: 100vh;
+  background-color: #f0f3fa;
+
+  .container {
+    height: $detail-content-height;
+    overflow-y: scroll;
+
+    >view {
+      background-color: #fff;
+      padding: 10px;
+
+      &.checkResultBox {
+		  >.titleBox {
+			  display: flex;
+			  justify-content: space-between;
+			  align-items: center;
+			  >button {
+				border: 0px;
+				background-color: #00a2e8;
+				color: #fff;
+				font-size: 12px;
+				padding: 0px 10px;
+				margin: 0px;
+			  }
+		  }
+
+        >.content {
+          margin-top: 10px;
+
+          >.formGroup {
+            padding: 8px 5px;
+            font-size: 14px;
+
+            &:not(.noBetween) {
+              justify-content: space-between;
+            }
+
+            &:last-child {
+              border-bottom: 0px;
+            }
+
+            >.label {
+              width: 80px;
+              display: block;
+              margin-bottom: 10px;
+            }
+
+            >.formInput {
+              flex: 1;
+
+              textarea {
+                width: calc(100% - 20px);
+                height: 89px;
+                background: #FFFFFF;
+                border-radius: 4px 4px 4px 4px;
+                opacity: 1;
+                border: 1px solid #E8EBF0;
+                padding: 10px;
+              }
+            }
+
+            >.formFile {
+              border-radius: 4px;
+              text-align: center;
+              position: relative;
+
+              .icon_camera {
+                display: block;
+                position: absolute;
+                left: 0px;
+                right: 0px;
+                top: 0px;
+                bottom: 0px;
+                width: 100%;
+                height: 100%;
+                background-color: #EFF1F3;
+                margin: auto;
+                border-radius: 5px;
+
+                >image {
+                  position: absolute;
+                  left: 0px;
+                  right: 0px;
+                  top: 0px;
+                  bottom: 0px;
+                  margin: auto;
+                  width: 24px;
+                  height: 24px;
+                }
+              }
+            }
+          }
+
+
+        }
+
+        >.btn {
+          margin: 10px 15px;
+          height: 36px;
+          background: #3991FE;
+          box-shadow: 0px 3px 8px 0px rgba(76, 126, 218, 0.42);
+          border-radius: 36px 36px 36px 36px;
+          color: #fff;
+          line-height: 36px;
+        }
+      }
+
+      >.title {
+        font-size: 18px;
+        color: #2C3649;
+        font-weight: 600;
+        margin-bottom: 10px;
+        padding: 0px 5px;
+      }
+
+      &.warningBox {
+        .content {
+          width: 100%;
+          border-bottom: 1px solid #E8EBF0;
+          margin-top: 10px;
+
+          .item {
+            display: flex;
+            justify-content: space-between;
+            font-size: 14px;
+            align-items: center;
+            border-bottom: 0;
+
+            .title {
+              width: 120px;
+              border: 1px solid #E8EBF0;
+              line-height: 36px;
+              text-align: center;
+              background-color: #F9F9F9;
+              border-bottom: 0;
+              border-right: 0;
+			  display: flex;
+			  align-items: center;
+			  justify-content: center;
+			  align-self: stretch;
+            }
+
+            .val {
+              width: calc(100% - 135px);
+              height: 100%;
+              display: block;
+              color: #585F70;
+              text-align: left;
+              line-height: 36px;
+              padding-left: 15px;
+              border: 1px solid #E8EBF0;
+              border-bottom: 0;
+              min-height: 36px;
+            }
+          }
+
+        }
+      }
+    }
+  }
+}
+
+.cooapseHeader {
+  width: 100%;
+  background-color: #fff;
+}
+
+.uni-collapse-item__title {
+  display: flex !important;
+  align-items: center !important;
+  justify-content: space-between !important;
+  height: 40px !important;
+  border: 1px solid #E8EBF0;
+  padding-left: 10px;
+  margin-bottom: 0;
+}
+
+.collapse-content {
+  width: 100%;
+  border: 1px solid #E8EBF0;
+  padding: 10px;
+  box-sizing: border-box;
+
+  .li {
+    width: 100%;
+    height: 28px;
+    display: flex;
+    align-items: center;
+
+    view {
+      border: 1px solid #E8EBF0;
+      box-sizing: border-box;
+    }
+
+    .x1 {
+      width: 100px;
+      height: 100%;
+      background-color: #F9F9F9;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      margin-right: 0 !important;
+    }
+
+    .x2 {
+      width: calc(100% - 100px);
+      height: 100%;
+      background-color: #fff;
+      display: flex;
+      align-items: center;
+      padding-left: 10px;
+
+    }
+  }
+
+  .xcms {
+    height: 50px;
+  }
+
+  .xczp {
+    height: 60px;
+    .x2{
+      display: flex;
+      align-items: center;
+      image{
+        max-width: 50px;
+        max-height: 50px;
+        margin: 0 4px;
+      }
+    }
+  }
+}

+ 203 - 0
YSGZYBZ_WXAPP/pages/receivedDetail2/index.vue

@@ -0,0 +1,203 @@
+<template>
+  <view class="nocheckBox">
+    <navigation-bar :isBack="true" @toBack="toBackHandle"></navigation-bar>
+    <view class="container">
+      <view class="warningBox">
+        <text class="title">基本信息</text>
+        <view class="content" v-if="mapType === 'bj-lsyd'">
+          <view class="item">
+            <text class="title">项目名称</text>
+            <text class="val">{{ objs.xmmc || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">审批面积(亩)</text>
+            <text class="val">{{ ((objs.spmj || 0) * 0.0015).toFixed(2)}}</text>
+          </view>
+          <view class="item">
+            <text class="title">建设单位</text>
+            <text class="val">{{ objs.jsdz || ''}}</text>
+          </view>
+          <view class="item">
+            <text class="title">建设地址</text>
+            <text class="val">{{ objs.jsdz || ''}}</text>
+          </view>
+          <view class="item">
+            <text class="title">联系人</text>
+            <text class="val">{{ objs.lxr || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">联系方式</text>
+            <text class="val">{{ objs.lxfs || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">发证时间</text>
+            <text class="val">{{ (objs.fzsj || '') | formatDate }}</text>
+          </view>
+          <view class="item">
+            <text class="title">到期时间</text>
+            <text class="val">{{ (objs.dqsj || '') | formatDate }}</text>
+          </view>
+        </view>
+        <view class="content" v-else>
+          <view class="item">
+            <text class="title">地块名称</text>
+            <text class="val">{{ objs.dkmc || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">权利人名称</text>
+            <text class="val">{{ objs.tdqlr || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">投资项目名称</text>
+            <text class="val">{{ objs.tzxmmc || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">面积(亩)</text>
+            <text class="val">{{ ((objs.gdzmj || 0) * 15).toFixed(2)}}</text>
+          </view>
+          <view class="item">
+            <text class="title">批准文号</text>
+            <text class="val">{{ objs.pzwh || ''}}</text>
+          </view>
+          <view class="item">
+            <text class="title">电子监管号</text>
+            <text class="val">{{ objs.dzjgh || ''}}</text>
+          </view>
+          <view class="item">
+            <text class="title">受让人地址</text>
+            <text class="val">{{ objs.ssrdz || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">坐落</text>
+            <text class="val">{{ objs.tdzl || '' }}</text>
+          </view>
+          <view class="item">
+            <text class="title">签订时间</text>
+            <text class="val">{{ (objs.qdrq || '') | formatDate }}</text>
+          </view>
+          <view class="item">
+            <text class="title">批准时间</text>
+            <text class="val">{{ (objs.pzrq || '') | formatDate }}</text>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+import navigationBar from '../../components/navigationBar/navigationBar.vue';
+import httpAjax from '@/utils/https.js';
+import CustomMixins from '@/mixins/CustomMixins.js';
+import config from '@/utils/config';
+const FormData = require('@/utils/formData/formData.js');
+
+export default {
+  mixins: [CustomMixins],
+  components: {
+    navigationBar,
+  },
+  data() {
+    return {
+      objs: {},
+      collapseList: [],
+      accordionVal: '',
+      warningId: '',
+	  source: '',
+	  mapType: 'bj-lsyd'
+    };
+  },
+  onReady(){
+	wx.setNavigationBarTitle(({
+		title: '要素一本账'
+	}))  
+  },
+  filters: {
+	  formatDate(dateStr){
+			if(!dateStr) return;
+			const date = new Date(dateStr);
+			const year = date.getFullYear();
+			const month = date.getMonth()+1;
+			const day = date.getDate();
+			const monthStr = month < 10 ? `0${month}` : month;
+			const dayStr = day < 10 ? `0${day}` : day;
+			return `${year}-${monthStr}-${dayStr}`;
+	  }
+  },
+  onReady() {
+    uni.showTabBar();
+  },
+  onLoad(option) {
+    const objs = JSON.parse(option['obj']);
+	this.source = option['source'];
+	this.mapType = option['type']
+    this.objs = objs;
+    this.initList();
+  },
+  beforeDestroy() {},
+  methods: {
+	  toXcDetail(){
+			wx.navigateTo({
+			  url: `/pages/nocheckDetail/index?obj=${JSON.stringify(this.objs)}`,
+			});
+	  },
+    previewImg(current, index) {
+      const urls = this.collapseList[index].imgList.map((item) => {
+        return item.fileurl;
+      });
+      uni.previewImage({
+        current,
+        urls,
+      });
+    },
+    initList() {
+      const sendData = {
+        dksyh: this.objs.dksyh,
+      };
+      httpAjax({
+        url: 'app/xc/getXcjlListByDksyh',
+        method: 'GET',
+        data: sendData,
+      })
+        .then((result) => {
+          if (result.data) {
+            this.initImgs(result.data);
+          }
+        })
+        .catch((err) => {
+          console.error('');
+        });
+    },
+    initImgs(data) {
+      let that = this;
+      let fileList = JSON.parse(JSON.stringify(data));
+
+      fileList.forEach((item) => {
+        item.imgList.forEach((l) => {
+          that.getOSSFileById(l.fileId).then((res) => {
+            let s = new Uint8Array(res[1].data);
+            let sd = uni.arrayBufferToBase64(s);
+            l.fileurl = 'data:image/png;base64,' + sd;
+          });
+        });
+      });
+      this.collapseList = fileList;
+    },
+
+    getOSSFileById(fileId) {
+      return uni.request({
+        url: config.baseUrl + 'api/oss/download?id' + '=' + fileId,
+        responseType: 'arraybuffer',
+      });
+    },
+    collapseChange() {},
+    toBackHandle() {
+      uni.navigateBack();
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+@import './index.scss';
+</style>