ソースを参照

feat: 维度开发

Satsiki 3 年 前
コミット
a1d0640f46

+ 3 - 3
src/components/CommonList.vue

@@ -16,7 +16,7 @@
 
 
             <div>
-              <div v-if="obj.solt" @click="obj.customClick!(item)" v-html="item[obj.value] ? obj.solt : '-'"></div>
+              <div v-if="obj.solt" @click="obj.customClick!(item)" v-html="item[obj.value] ? obj.solt(item) : '-'"></div>
               <!-- 时间数据-->
               <p v-else-if="obj.valueType === 'date'">{{item[obj.value] ? dayjs(item[obj.value]).format('YYYY-MM-DD') : '-'}}</p>
 
@@ -48,7 +48,7 @@
 
           </div>
         </div>
-        <van-icon v-if="store.selectDemension.detailList" name="arrow" color="#969696" class="arrow" />
+        <van-icon v-if="store.selectDemension.detailList || store.selectDemension.detailCustomRender" name="arrow" color="#969696" class="arrow" />
       </div>
     </van-list>
   </div>
@@ -88,7 +88,7 @@
   }
 
   const goDetail = (item:{id:string,companyName:string}) => {
-    if(store.selectDemension.detailList) {
+    if(store.selectDemension.detailList || store.selectDemension.detailCustomRender) {
       router.push({
         path: store.selectDemension.routing + 'Det',
         query:{

+ 177 - 0
src/components/DetailCustom/DongChanDiYa.vue

@@ -0,0 +1,177 @@
+<template>
+  <div id="DongChanDiYaDet" style="padding-top: 15px">
+    <div class="content">
+      <div>
+        <div v-if="Detail" class="yhc-model-title">
+          <div class="title">
+            登记信息
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol">
+              <div class="lable">登记编号</div>
+              <div class="val">{{Detail.regNum||'-'}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">登记日期</div>
+              <div class="val">{{$dateFormat(Detail.regDate)}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">公示时间</div>
+              <div class="val">{{ $dateFormat(Detail.publishDate)}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">被担保债权数额</div>
+              <div class="val">{{Detail.amount ||'-'}}</div>
+            </div>
+            <div class="rowcol line">
+              <div class="lable">登记机关</div>
+              <div class="val">{{Detail.regDepartment ||'-'}}</div>
+            </div>
+          </div>
+        </div>
+
+        <div class="yhc-model-title">
+          <div class="title">
+            被担保债权概况
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol">
+              <div class="lable">种类</div>
+              <div class="val">{{Detail.type ||'-'}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">数额</div>
+              <div class="val">{{Detail.amount || '-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">债务人履行债务的期限</div>
+              <div class="val">{{Detail.term ||'-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">担保的范围</div>
+              <div class="val">{{Detail.scope || '-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">备注</div>
+              <div class="val">{{Detail.remark ||'-'}}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div v-if="companyMortgagePeopleV8s && companyMortgagePeopleV8s.length>0" class="yhc-model-title">
+        <div class="title">
+          抵押权人信息
+          <div style="font-weight: normal;float: right;color: #666">{{companyMortgagePeopleV8s.length}}</div>
+        </div>
+        <div v-for="(item,i) in companyMortgagePeopleV8s" :key="i" style="i!=0?'border-top: 8px solid #f1f2f4;':''">
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">抵押权人名称</div>
+              <div class="val link">{{item.applicationName ||'-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol">
+              <div class="lable">证照类型</div>
+              <div class="val">{{item.licenseType ||'-'}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">证照号码</div>
+              <div class="val">{{item.licenseNum || '-'}}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div v-if="companyMortgagePawnV8s && companyMortgagePawnV8s.length>0" class="yhc-model-title has-line">
+        <div class="title">
+          抵押物信息
+          <div style="font-weight: normal;float: right;color: #666">{{companyMortgagePawnV8s.length}}</div>
+        </div>
+        <div v-for="(item,i) in companyMortgagePawnV8s" :key="i" style="i!=0?'border-top: 8px solid #f1f2f4;':''">
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">名称</div>
+              <div class="val">{{item.pawnName ||'-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">所有权归属</div>
+              <div class="val link">{{item.ownership ||'-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">数量、质量、状况、所在地等情况</div>
+              <div class="val">{{item.detail ||'-'}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">备注</div>
+              <div class="val">{{item.remark ||'-'}}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div v-if="companyMortgageChangeV8s && companyMortgageChangeV8s.length>0" class="yhc-model-title has-line">
+        <div class="title">
+          变更信息
+          <div style="font-weight: normal;float: right;color: #666">{{companyMortgageChangeV8s.length}}</div>
+        </div>
+        <div v-for="(item,i) in companyMortgageChangeV8s" :key="i" style="i!=0?'border-top: 8px solid #f1f2f4;':''">
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">变更日期</div>
+              <div class="val">{{$dateFormat(item.changeDate)}}</div>
+            </div>
+          </div>
+          <div class="yhc-rowlist">
+            <div class="rowcol line">
+              <div class="lable">变更内容</div>
+              <div class="val" style="white-space: pre-line;">{{item.changeContent ||'-'}}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+
+
+    </div>
+    <!--        <yhc-footer></yhc-footer>-->
+  </div>
+</template>
+
+<script lang="ts" setup>
+  import { useDemensionDetailStore } from '@/store/demensionDetail'
+  import {$dateFormat} from '@/utils/utils'
+  const store = useDemensionDetailStore()
+
+  const Detail = store.info.companyMortgageInfoV8
+  const companyMortgagePeopleV8s = store.info.companyMortgagePeopleV8s
+  const companyMortgagePawnV8s = store.info.companyMortgagePawnV8s
+  const companyMortgageChangeV8s = store.info.companyMortgageChangeV8s
+</script>
+
+<style scoped lang='scss'>
+
+    #DongChanDiYaDet {
+        display: flex;
+        flex-direction: column;
+        .content {
+            flex: 1;
+            overflow: auto;
+        }
+    }
+    .has-line{
+        .rowcol{
+            border-bottom: 1px solid #ebedf0;
+        }
+    }
+</style>

+ 197 - 0
src/components/DetailCustom/JianYiZhuXiao.vue

@@ -0,0 +1,197 @@
+<!--
+ * @Author: 文帅
+ * @Date: 2022-04-11 11:58:19
+ * @LastEditTime: 2022-04-11 18:25:03
+ * @LastEditors: 文帅
+ * @Description:
+-->
+<template>
+  <div id="JianYiZhuXiao">
+    <div class="content">
+      <div class="caichan-tip">
+        已查询到该企业具有简易注销信息,该企业主体资格可能已经注销,无实际经营行为,具体信息如下:
+      </div>
+      <van-collapse v-model="activeNames">
+        <div class="model-coll" style="margin-top: 0">
+          <van-collapse-item name="1">
+            <template #title>
+              <span class="yhc-fontWeight">企业公告信息</span>
+            </template>
+            <van-cell>
+              <template #title>
+                <span class="grayFont">企业名称</span>
+              </template>
+              <template #default>
+                <span class="link">{{
+                  qyggxx.companyName || "-"
+                }}</span>
+              </template>
+            </van-cell>
+            <van-cell>
+              <template #title>
+                <span class="grayFont">社会同一信用代码/注册号</span>
+              </template>
+              <template #default>
+                {{ qyggxx.creditCode || "-" }}
+              </template>
+            </van-cell>
+
+            <van-cell>
+              <template #title>
+                <span class="grayFont">公告期</span>
+              </template>
+              <template #default>
+                {{ qyggxx.announcementTerm || "-" }}
+              </template>
+            </van-cell>
+
+            <van-cell>
+              <template #title>
+                <span class="grayFont">登记机关</span>
+              </template>
+              <template #default>
+                <div style="width: 250px">{{ qyggxx.regAuthority || "-" }}</div>
+              </template>
+            </van-cell>
+            <van-cell>
+              <template #title>
+                <span class="grayFont">全体投资人承诺书</span>
+              </template>
+              <template #default>
+                <span
+                  v-if="qyggxx.investorCommitmentDownloadUrl"
+                  class="link"
+                  @click="$openImg(qyggxx.investorCommitmentDownloadUrl)"
+                >查看详情></span
+                >
+                <span v-if="!qyggxx.investorCommitmentDownloadUrl">-</span>
+              </template>
+            </van-cell>
+          </van-collapse-item>
+        </div>
+        <div v-if="yyxx && yyxx.length > 0" class="model-coll">
+          <van-collapse-item name="2">
+            <template #title>
+              <span class="yhc-fontWeight">异议信息</span>
+            </template>
+            <div v-for="(item, index) in yyxx" :key="index">
+              <div class="yhc-rowlist">
+                <div class="rowcol">
+                  <div class="lable">异议申请人</div>
+                  <div class="val">{{ item.objectionApplyPerson || "-" }}</div>
+                </div>
+                <div class="rowcol">
+                  <div class="lable">异议时间</div>
+                  <div class="val">{{ $dateFormat(item.objectionDate)}}</div>
+                </div>
+              </div>
+              <div class="yhc-rowlist">
+                <div class="rowcol line">
+                  <div class="lable">异议内容</div>
+                  <div class="val">{{ item.objectionContent || "-" }}</div>
+                </div>
+              </div>
+            </div>
+          </van-collapse-item>
+        </div>
+        <div v-else class="model-coll">
+          <van-cell>
+            <template #title>
+              <span class="yhc-fontWeight">异议信息</span>
+            </template>
+            <template #default>
+              <span class="">无</span>
+            </template>
+          </van-cell>
+        </div>
+        <div v-if="jyzxjg && jyzxjg.length > 0" class="model-coll">
+          <van-collapse-item name="3">
+            <template #title>
+              <span class="yhc-fontWeight">简易注销结果</span>
+            </template>
+            <div
+              v-for="(item, index) in jyzxjg"
+              :key="index"
+              class="yhc-rowlist"
+            >
+              <div class="rowcol">
+                <div class="lable">简易注销结果</div>
+                <div class="val">{{ item.briefCancelResult || "-" }}</div>
+              </div>
+              <div class="rowcol">
+                <div class="lable">公告申请日期</div>
+                <div class="val">
+                  {{ $dateFormat(item.announcementApplyDate) }}
+                </div>
+              </div>
+            </div>
+          </van-collapse-item>
+        </div>
+        <div v-else class="model-coll">
+          <van-cell>
+            <template #title>
+              <span class="yhc-fontWeight">简易注销结果</span>
+            </template>
+            <template #default>
+              <span class="">无</span>
+            </template>
+          </van-cell>
+        </div>
+      </van-collapse>
+    </div>
+    <!--        <yhc-footer></yhc-footer>-->
+  </div>
+</template>
+
+<script lang="ts" setup>
+  import { useDemensionDetailStore } from '@/store/demensionDetail'
+  import {reactive,ref,onMounted} from 'vue'
+  import { useRoute, useRouter } from 'vue-router'
+  import {$dateFormat,$openImg} from '@/utils/utils'
+  const store = useDemensionDetailStore()
+
+  const qyggxx = store.info.companyBriefCancelAnnouncement
+  const yyxx = store.info.companyBriefCancelAnnouncementObjections
+  const jyzxjg = store.info.companyBriefCancelAnnouncementResults
+  const activeNames =  ref(['1', '2', '3'])
+</script>
+
+<style lang="scss" scoped>
+#JianYiZhuXiao {
+  display: flex;
+  flex-direction: column;
+
+  .content {
+    flex: 1;
+    overflow: auto;
+  }
+}
+
+.model-coll {
+  margin: 10px 0;
+}
+
+.yhc-rowlist {
+  padding: 0;
+}
+
+:deep() .van-cell:not(:last-child)::after {
+  left: 0;
+}
+
+:deep() .van-collapse-item__content {
+  padding: 0 16px;
+}
+
+:deep() .van-collapse-item__content .van-cell {
+  padding: 10px 0;
+}
+
+:deep() .van-cell__title {
+  word-break: keep-all;
+}
+
+:deep() .van-cell__value {
+  flex: inherit;
+}
+</style>

+ 182 - 0
src/components/DetailCustom/JinChuKouXinYongZheng.vue

@@ -0,0 +1,182 @@
+<!--
+ * @Author: 文帅
+ * @Date: 2022-04-11 11:58:19
+ * @LastEditTime: 2022-04-11 18:31:10
+ * @LastEditors: 文帅
+ * @Description:
+-->
+<template>
+  <div id="DongChanDiYaDet" style="padding-top: 15px">
+    <div class="content">
+
+      <div class="yhc-model-title">
+        <div class="title">
+          公司名称
+        </div>
+        <div class="yhc-rowlist">
+          <div class="rowcol" style="width:100%">
+            <div class="val link" @click="$goCompany(Detail.companyCustomsCredit.companyName,Detail.companyCustomsCredit.companyId)">{{Detail.companyCustomsCredit.companyName ||'-'}}</div>
+          </div>
+        </div>
+      </div>
+
+      <div class="yhc-model-title">
+        <div class="title">
+          注册信息
+        </div>
+        <div class="yhc-rowlist">
+          <div class="rowcol">
+            <div class="lable">经营类别</div>
+            <div class="val">{{Detail.companyCustomsCredit.managementCategory||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">特殊贸易区域</div>
+            <div class="val">{{Detail.companyCustomsCredit.specialTradeArea||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">注册海关</div>
+            <div class="val">{{Detail.companyCustomsCredit.customsRegisteredAddress||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">海关注册编码</div>
+            <div class="val">{{Detail.companyCustomsCredit.crCode||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">经济区划</div>
+            <div class="val">{{Detail.companyCustomsCredit.economicDivision||'-'}}</div>
+          </div>
+
+          <div class="rowcol">
+            <div class="lable">行政区划</div>
+            <div class="val">{{Detail.companyCustomsCredit.administrativeDivision ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">海关注销标志</div>
+            <div class="val">{{Detail.companyCustomsCredit.status ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">年报情况</div>
+            <div class="val">{{Detail.companyCustomsCredit.annualReport ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">注册日期</div>
+            <div class="val">{{Detail.companyCustomsCredit.recordDate ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">报关有效期</div>
+            <div class="val">{{$dateFormat(Detail.companyCustomsCredit.validityDate)}}</div>
+          </div>
+
+          <div class="rowcol">
+            <div class="lable">行业种类</div>
+            <div class="val">{{Detail.companyCustomsCredit.industryCategory ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">跨境贸易电子商务类型</div>
+            <div class="val">{{Detail.companyCustomsCredit.types ||'-'}}</div>
+          </div>
+
+          <div class="rowcol">
+            <div class="lable">统一社会信用代码</div>
+            <div class="val">{{Detail.companyCustomsCredit.creditCode ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">组织机构代码</div>
+            <div class="val">{{Detail.companyCustomsCredit.organizationCode||'-' }}</div>
+          </div>
+
+          <div class="rowcol">
+            <div class="lable">工商注册地址</div>
+            <div class="val">{{Detail.companyCustomsCredit.icRegisteredAddress ||'-'}}</div>
+          </div>
+          <div class="rowcol">
+            <div class="lable">行政区划</div>
+            <div class="val">{{Detail.companyCustomsCredit.administrativeDivision ||'-'}}</div>
+          </div>
+
+
+
+
+
+
+
+
+
+        </div>
+      </div>
+      <div v-if="Detail.companyCustomsCreditRatings" class="yhc-model-title">
+        <div class="title">
+          信用等级
+        </div>
+        <van-cell v-for="cra in Detail.companyCustomsCreditRatings" :key="JSON.stringify(cra)">
+          <div class="yhc-rowlist" style="padding: 0">
+            <div class="rowcol">
+              <div class="lable">认定时间</div>
+              <div class="val">{{$dateFormat(cra.identificationTime)}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">认证证书编码</div>
+              <div class="val">{{cra.authenticationCode ||'-'}}</div>
+            </div>
+
+            <div class="rowcol line">
+              <div class="lable">信用等级</div>
+              <div class="val">{{cra.creditRating ||'-'}}</div>
+            </div>
+          </div>
+        </van-cell>
+      </div>
+      <div v-if="Detail.companyCustomsCreditAdministrativePenalties" class="yhc-model-title">
+        <div class="title">
+          海关行政处罚
+        </div>
+        <van-cell v-for="(cra,index) in Detail.companyCustomsCreditAdministrativePenalties" :key="index">
+          <div class="yhc-rowlist" style="padding: 0">
+            <div class="rowcol">
+              <div class="lable">处罚日期</div>
+              <div class="val">{{$dateFormat(cra.penaltyDate)}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">案件性质</div>
+              <div class="val">{{cra.natureOfCase ||'-'}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">行政处罚决定书编号</div>
+              <div class="val">{{cra.decisionNumber||'-'}}</div>
+            </div>
+            <div class="rowcol">
+              <div class="lable">当事人</div>
+              <div class="val link">{{cra.party ||'-'}}</div>
+            </div>
+
+          </div>
+        </van-cell>
+      </div>
+    </div>
+    <!--        <yhc-footer></yhc-footer>-->
+  </div>
+
+</template>
+
+<script lang="ts" setup>
+  import { useDemensionDetailStore } from '@/store/demensionDetail'
+  import {reactive,ref,onMounted} from 'vue'
+  import { useRoute, useRouter } from 'vue-router'
+  import {$dateFormat,$goCompany,$openImg} from '@/utils/utils'
+  const store = useDemensionDetailStore()
+
+  const Detail = store.info
+</script>
+
+<style lang="scss" scoped>
+ #DongChanDiYaDet {
+        display: flex;
+        flex-direction: column;
+
+        .content {
+            flex: 1;
+            overflow: auto;
+            padding-bottom: 15px;
+        }
+    }
+</style>

+ 1 - 8
src/components/DetailCustomComponent.vue

@@ -1,20 +1,13 @@
 <template>
   <div>
-
-    <PoChanChongZheng v-if="store.selectDemension.title === '破产重整'"></PoChanChongZheng>
-
-
-
+    <component :is="store.selectDemension.detailCustomRender" v-if="store.selectDemension.detailCustomRender"></component>
   </div>
 </template>
 
 <script lang="ts" setup>
   import { useDemensionDetailStore } from '@/store/demensionDetail'
-  import PoChanChongZheng from './DetailCustom/PoChanChongZheng.vue'
   const store = useDemensionDetailStore()
 
-
-
 </script>
 
 <style lang="scss" scoped>

+ 72 - 0
src/components/ListCustom/JieSanQingSuan.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="QingSuanXinXi">
+    <div class="content">
+      <div class="caichan-tip">
+        已查询到该企业破产清算信息,该企业债务风险巨大,其主体资格可能注销。具体信息如下:
+      </div>
+      <van-row class="yhc-bzxr-items">
+        <div>
+          <div>
+            <van-row class="title">
+              清算组负责人
+            </van-row>
+            <van-row type="flex" :style="{ marginTop: '5px' }">
+              <van-col class="bzxr-items-nr">{{state.details.manager||'-'}}</van-col>
+            </van-row>
+          </div>
+          <div>
+            <van-row class="title" :style="{ marginTop: '10px' }">
+              清算组成员
+            </van-row>
+            <van-row type="flex" :style="{ marginTop: '5px' }">
+              <van-col class="bzxr-items-nr">{{state.details.member||'-'}}</van-col>
+            </van-row>
+          </div>
+        </div>
+      </van-row>
+
+
+    </div>
+    <!--        <yhc-footer></yhc-footer>-->
+  </div>
+</template>
+
+<script lang="ts" setup>
+  import $axios from '@/api'
+  import { useDemensionListStore } from '@/store/demensionList'
+
+  import { onMounted, reactive } from 'vue'
+
+  const state = reactive({
+    details: {} as any,
+    loading: false
+  })
+
+  const getData = async () => {
+    state.loading=true
+    const params = {
+      dimensionCode: useDemensionListStore().selectDemension?.code,
+      entityId: useDemensionListStore().entityId,
+      entityName: useDemensionListStore().entityName,
+      entityType: useDemensionListStore().entityType
+    }
+    const res:any = await $axios.get('lawyer-workbench/risk/dimension/page',{params})
+    state.details = res[0]
+    state.loading=false
+  }
+  onMounted(() => {
+    getData()
+  })
+</script>
+
+<style scoped lang='scss'>
+#QingSuanXinXi {
+        display: flex;
+        flex-direction: column;
+
+        .content {
+            flex: 1;
+            overflow: auto;
+        }
+    }
+</style>

src/js-pages/company-detail/JiBenXinXi/SheBaoRenShu.vue → src/components/ListCustom/SheBaoRenShu.vue


+ 284 - 0
src/components/ListCustom/ZhuXiaoBeiAn.vue

@@ -0,0 +1,284 @@
+<!--
+ * @Author: 文帅
+ * @Date: 2022-04-11 15:56:43
+ * @LastEditTime: 2022-04-11 16:37:55
+ * @LastEditors: 文帅
+ * @Description:
+-->
+<template>
+  <div>
+    <van-collapse v-model="activeNames">
+      <van-collapse-item title="注销备案" name="1">
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">公告状态</van-col>
+          <van-col class="right">{{ info.status || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-gray-list">
+          清算组备案信息
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">企业名称</van-col>
+          <van-col class="right">{{ info.companyName || "-" }}</van-col>
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">统一信用代码/注册号</van-col>
+          <van-col class="right">{{ info.creditNo || "-" }}</van-col>
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">登记机关</van-col>
+          <van-col class="right">{{ info.belongOrg || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">清算组备案日期 </van-col>
+          <van-col class="right">{{ $dateFormat(info.auditStartDate )}}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">清算组成立日期 </van-col>
+          <van-col class="right">{{
+            $dateFormat(info.creditorStartDate )
+          }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">注销原因</van-col>
+          <van-col class="right">{{ info.logoutReason || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left" span="10">清算组办公地址</van-col>
+          <van-col class="right" span="14">{{
+            info.creditorAddress || "-"
+          }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">清算组联系电话</van-col>
+          <van-col class="right">{{ info.auditPhone || "-" }}</van-col>
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">清算组负责人</van-col>
+          <van-col class="right">{{ info.creditorPerson || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">清算组成员</van-col>
+          <van-col class="right">{{ info.auditEmployees || "-" }}</van-col>
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-gray-list">
+          债权人公告信息
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">统一信用代码/注册号</van-col>
+          <van-col class="right">{{ info.zqCreditNo || "-" }}</van-col>
+        </van-row>
+
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">登记机关</van-col>
+          <van-col class="right">{{ info.zqBelongOrg || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">公告期</van-col>
+          <van-col class="right">{{ info.announcementPeriod || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left" span="6">公告内容</van-col>
+          <van-col class="right" span="18">{{ info.content || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">债权申报联系人</van-col>
+          <van-col class="right">{{ info.zqPerson || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left">债权申报联系电话</van-col>
+          <van-col class="right">{{ info.zqAuditPhone || "-" }}</van-col>
+        </van-row>
+        <van-row type="flex" justify="space-between" class="yhc-ndbg-rowlist">
+          <van-col class="left" span="8">债权申报地址</van-col>
+          <van-col class="right" span="16">{{ info.aqAddress || "-" }}</van-col>
+        </van-row>
+      </van-collapse-item>
+    </van-collapse>
+  </div>
+</template>
+
+<script lang="ts" setup>
+  import $axios from '@/api'
+  import { useDemensionListStore } from '@/store/demensionList'
+  import { $dateFormat } from '@/utils/utils'
+  import { onMounted, ref } from 'vue'
+
+  const activeNames = ref(['1'])
+  const info = ref<any>({})
+
+  const getData = async () => {
+    const params = {
+      dimensionCode: useDemensionListStore().selectDemension?.code,
+      entityId: useDemensionListStore().entityId,
+      entityName: useDemensionListStore().entityName,
+      entityType: useDemensionListStore().entityType
+    }
+    const res:any = await $axios.get('lawyer-workbench/risk/dimension/page',{params})
+    info.value = res
+  }
+  onMounted(() => {
+    getData()
+  })
+</script>
+
+<style lang="scss" scoped>
+
+:deep() .van-collapse-item__content {
+  padding: 0 10px !important;
+  font-size: 15px !important;
+}
+
+:deep() .van-cell__title {
+  font-weight: bold;
+}
+:deep() .van-cell:not(:last-child)::after {
+  border: none !important;
+}
+
+:deep() .van-cell {
+  padding: 10px !important;
+  margin-bottom: 10px !important;
+}
+
+:deep() .van-collapse-item__wrapper {
+  margin-top: -10px !important;
+  margin-bottom: 10px !important;
+}
+
+:deep() .van-step--vertical .van-step__circle-container {
+  position: absolute;
+  top: 23px !important;
+}
+
+:deep() .van-step--vertical:not(:last-child)::after {
+  border-bottom-width: 0px !important;
+}
+
+:deep() .van-cell__title {
+  flex: 2;
+}
+
+.yhc-ndbg-rowlist {
+  padding: 12px 0px;
+  border-top: 0.7px solid $border;
+
+  .left {
+    color: $blackColor;
+  }
+
+  .right {
+    color: $grayFont;
+    text-align: right;
+  }
+}
+
+.yhc-ghxixi-address {
+  margin-top: 10px;
+  padding-bottom: 8px;
+
+  i {
+    font-size: 16px;
+    vertical-align: bottom;
+    margin-right: 3px;
+  }
+}
+
+.compony-name {
+  font-size: 14px;
+  padding-top: 12px;
+  padding-bottom: 3px;
+}
+
+.yhc-item-row {
+  padding-bottom: 8px;
+
+  .yhc-item-left {
+    color: $grayFont;
+
+    .left-first {
+      padding: 2px 0px;
+    }
+
+    .black {
+      color: $blackColor;
+      padding-top: 8px;
+      line-height: 16px;
+      padding-right: $padding;
+    }
+  }
+
+  .yhc-item-right {
+    color: $grayFont;
+
+    .right-first {
+      padding: 2px $padding;
+    }
+
+    .black {
+      padding-left: $padding;
+      color: $blackColor;
+      padding-top: 8px;
+    }
+  }
+}
+
+// 阴影部分
+
+.yhc-biangen {
+  color: $blackColor;
+
+  .name {
+    margin-top: 8px;
+    margin-bottom: 8px;
+  }
+
+  .gray-boild {
+    border: 0.7px solid #dedcdc;
+    border-radius: 4px;
+  }
+
+  .yhc-gray-section {
+    padding: 10px;
+
+    border-radius: 4px;
+    background-color: #f1f2f4;
+
+    .yhc-section-left {
+      .left-first {
+        padding: 2px 0px;
+      }
+
+      .black {
+        padding-top: 8px;
+      }
+    }
+
+    .yhc-section-right {
+      border-left: 0.7px solid #dedcdc;
+
+      .right-first {
+        padding: 2px $padding;
+      }
+
+      .black {
+        padding-left: $padding;
+        padding-top: 8px;
+      }
+    }
+  }
+}
+
+.yhc-gray-list {
+  padding: 12px 12px;
+  color: $blackColor;
+  background-color: #f1f2f4;
+  margin-left: -12px;
+  margin-right: -12px;
+}
+</style>

+ 2 - 0
src/js-pages/company-detail/FaLvFengXian/index.ts

@@ -534,6 +534,7 @@ export const FaLvFengXian: DemensionPagesInter = {
     {
       code: 'final_case',
       routing: 'ZhongBenAnJian',
+      companyId: '88f04cbfab150fe2bccdeec3aea32750',
       title: '终本案件',
       tabs: 'deleted',
       detailList: [
@@ -607,6 +608,7 @@ export const FaLvFengXian: DemensionPagesInter = {
     {
       code: 'executed_person',
       routing: 'BeiZhiXingRen',
+      companyId: '88f04cbfab150fe2bccdeec3aea32750',
       title: '被执行人',
       tabs: 'deleted',
       viewList: [

+ 2 - 2
src/js-pages/company-detail/JiBenXinXi/index.ts

@@ -1,5 +1,5 @@
 import { DemensionPagesInter } from './../../types'
-import SheBaoRenShuVue from './SheBaoRenShu.vue'
+import SheBaoRenShuVue from '../../../components/ListCustom/SheBaoRenShu.vue'
 export const JiBenXinXi: DemensionPagesInter = {
   projectName: '基本信息',
   list: [
@@ -7,7 +7,7 @@ export const JiBenXinXi: DemensionPagesInter = {
       code: 'empum',
       routing: 'SheBaoRenShu',
       title: '社保人数',
-      customRender: SheBaoRenShuVue
+      listCustomRender: SheBaoRenShuVue
     }
   ]
 }

+ 634 - 0
src/js-pages/company-detail/JingYingFengXian/index.ts

@@ -1,4 +1,9 @@
 import { DemensionPagesInter } from './../../types'
+import JianYiZhuXiao from '@/components/DetailCustom/JianYiZhuXiao.vue'
+import { shallowRef } from 'vue'
+import DongChanDiYaVue from '@/components/DetailCustom/DongChanDiYa.vue'
+import JieSanQingSuan from '@/components/ListCustom/JieSanQingSuan.vue'
+import ZhuXiaoBeiAn from '@/components/ListCustom/ZhuXiaoBeiAn.vue'
 export const JingYingFengXian: DemensionPagesInter = {
   projectName: '经营风险',
   list: [
@@ -252,6 +257,635 @@ export const JingYingFengXian: DemensionPagesInter = {
           value: 'mortgageAmount'
         }
       ]
+    },
+    {
+      code: 'mortgage',
+      routing: 'DongChanDiYa',
+      title: '动产抵押',
+      companyId: 'ccb293ad96c184506aa54f95f7284929',
+      detailCustomRender: shallowRef(DongChanDiYaVue),
+      tabs: 'deleted',
+      detailList: [],
+      viewList: [
+        {
+          name: '登记编号',
+          value: 'regNum'
+        },
+        {
+          name: '登记机关',
+          value: 'regDepartment'
+        },
+        {
+          name: '登记日期',
+          value: 'regDate',
+          companyId: 'date'
+        },
+        {
+          name: '被担保债权种类',
+          value: 'type'
+        }
+      ]
+    },
+    {
+      code: 'environmental_penalty',
+      routing: 'HuanBaoChuFa',
+      title: '环保处罚',
+      companyId: '419d159ef06fb329f3b9384f194557a9',
+      detailList: [
+        {
+          name: '被处罚公司(人)名称',
+          value: 'name'
+        },
+        {
+          name: '决定书文号',
+          value: 'punishNumber'
+        },
+        {
+          name: '处罚单位',
+          value: 'department'
+        },
+        {
+          name: '处罚时间',
+          value: 'publishTime',
+          valueType: 'date'
+        },
+        {
+          name: '执法依据',
+          value: 'punishBasis'
+        },
+        {
+          name: '违反法律',
+          value: 'lawBreak'
+        },
+        {
+          name: '违法行为',
+          value: 'reason'
+        },
+        {
+          name: '执行情况',
+          value: 'execution'
+        },
+        {
+          name: '执法措施',
+          value: 'content'
+        }
+      ],
+      viewList: [
+        {
+          name: '决定书文号',
+          value: 'punishNumber'
+        },
+        {
+          name: '处罚日期',
+          value: 'publishTime',
+          valueType: 'date'
+        },
+        {
+          name: '处罚单位',
+          value: 'department'
+        }
+      ]
+    },
+    {
+      code: 'tax_violation',
+      routing: 'ShuiShouWeiFa',
+      title: '税收违法',
+      companyId: '9899d9e4f832ecfec3bd7648ce64b355',
+      detailList: [
+        {
+          name: '纳税人名称',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '纳税人识别号',
+          value: 'taxpayerNumber'
+        },
+        {
+          name: '组织机构代码',
+          value: 'taxpayerCode'
+        },
+        {
+          name: '注册地址',
+          value: 'address'
+        },
+        {
+          name: '法定代表人或负责人',
+          value: 'legalPersonInfo'
+        },
+        {
+          name: '案件性质',
+          value: 'caseType'
+        },
+        {
+          name: '所属税务机关',
+          value: 'department'
+        },
+        {
+          name: '负有直接责任的中介机构及其从业人员信息',
+          value: 'responsibleDepartmentInfo'
+        },
+        {
+          name: '负有直接责任的财务负责人',
+          value: 'responsiblePersonInfo'
+        },
+        {
+          name: '违法事实,法律依据,处理处罚情况',
+          value: 'caseInfo'
+        }
+      ],
+      viewList: [
+        {
+          name: '案件性质',
+          value: 'caseType'
+        },
+        {
+          name: '发布日期',
+          value: 'publishTime',
+          valueType: 'date'
+        },
+        {
+          name: '所属机关',
+          value: 'department'
+        }
+      ]
+    },
+    {
+      code: 'own_tax',
+      routing: 'QianShuiGongGao',
+      title: '欠税公告',
+      companyId: '649ac7eeb08153a53c3e1765df904ec0',
+      detailList: [
+        {
+          name: '公司名称',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '纳税人类型',
+          value: 'taxPersonType'
+        },
+        {
+          name: '证件号码',
+          value: 'legalNum'
+        },
+        {
+          name: '纳税人识别号',
+          value: 'taxNum'
+        },
+        {
+          name: '欠税余额(元)',
+          value: 'taxBalance'
+        },
+        {
+          name: '当前新发生的欠税余额(元)',
+          value: 'newTaxBalance'
+        },
+        {
+          name: '欠税税种',
+          value: 'taxCategory'
+        },
+        {
+          name: '发布日期',
+          value: 'publishDate',
+          valueType: 'date'
+        },
+        {
+          name: '负责人',
+          value: 'legalName'
+        },
+        {
+          name: '经营地点',
+          value: 'location'
+        },
+        {
+          name: '注册类型',
+          value: 'regType'
+        }
+      ],
+      viewList: [
+        {
+          valueType: 'title',
+          value: 'companyName'
+        },
+        {
+          name: '欠税余额(元)',
+          value: 'taxBalance'
+        },
+        {
+          name: '当前新发生的欠税余额(元)',
+          value: 'newTaxBalance'
+        },
+        {
+          name: '欠税税种',
+          value: 'taxCategory'
+        },
+        {
+          name: '发布日期',
+          value: 'publishDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'public_announcement',
+      routing: 'GongShiCuiGao',
+      title: '公示催告',
+      companyId: '387ad92a758ecafc8a1810c7a687ccdc',
+      detailList: [
+        {
+          name: '票据号',
+          value: 'billNum'
+        },
+        {
+          name: '票据类型',
+          value: 'billType'
+        },
+        {
+          name: '票面金额',
+          value: 'billAmt'
+        },
+        {
+          name: '出票日',
+          value: 'startDate'
+        },
+        {
+          name: '到期日',
+          value: 'endDate'
+        },
+        {
+          name: '公告日期',
+          value: 'publishDate',
+          valueType: 'date'
+        },
+        {
+          name: '处理类型',
+          value: 'type'
+        },
+        {
+          name: '申请人',
+          value: 'applyName'
+        },
+        {
+          name: '持票人',
+          value: 'owner'
+        },
+        {
+          name: '付款方',
+          value: 'gatherName'
+        },
+        {
+          name: '出票人',
+          value: 'drawer'
+        },
+        {
+          name: '公告法院',
+          value: 'court'
+        },
+        {
+          name: '公告内容',
+          value: 'infoDetail'
+        }
+
+      ],
+      viewList: [
+        {
+          name: '票据号',
+          value: 'billNum'
+        },
+        {
+          name: '票据类型',
+          value: 'billType'
+        },
+        {
+          name: '票面金额',
+          value: 'billAmt'
+        },
+        {
+          name: '公告法院',
+          value: 'court'
+        },
+        {
+          name: '公告日期',
+          value: 'publishDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'illegal_info',
+      routing: 'YanZhongWeiFaXingWei',
+      title: '严重违法',
+      companyId: '09fefa057533a9b161fa041154dc73f9',
+      tabs: 'deleted',
+      viewList: [
+        {
+          name: '列入严重违法失信企业名单原因',
+          value: 'putReason'
+        },
+        {
+          name: '列入作出决定机关',
+          value: 'putDepartment'
+        },
+        {
+          name: '列入日期',
+          value: 'putDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'simple_cancel',
+      routing: 'JianYiZhuXiao',
+      title: '简易注销',
+      companyId: 'edb1d1d5421546cf9352364d25459c89',
+      detailCustomRender: shallowRef(JianYiZhuXiao),
+      viewList: [
+        {
+          name: '企业名称',
+          value: 'companyName'
+        },
+        {
+          name: '公告期',
+          value: 'announcementTerm'
+        },
+        {
+          name: '登记机关',
+          value: 'regAuthority'
+        }
+      ]
+    },
+    {
+      code: 'eci_liquidation',
+      routing: 'QingSuanXinXi',
+      title: '解散清算',
+      companyId: '92f08110f1214592a94404c7989cc125',
+      listCustomRender: shallowRef(JieSanQingSuan),
+      viewList: [
+        {
+          name: '企业名称',
+          value: 'companyName'
+        },
+        {
+          name: '公告期',
+          value: 'announcementTerm'
+        },
+        {
+          name: '登记机关',
+          value: 'regAuthority'
+        }
+      ]
+    },
+    {
+      //待完成
+      code: 'stock_pledge',
+      routing: 'GuQuanZhiYa',
+      title: '股权质押',
+      companyId: '88f04cbfab150fe2bccdeec3aea32750'
+      // listCustomRender: shallowRef(JieSanQingSuan),
+      // viewList: [
+      //   {
+      //     name: '企业名称',
+      //     value: 'companyName'
+      //   },
+      //   {
+      //     name: '公告期',
+      //     value: 'announcementTerm'
+      //   },
+      //   {
+      //     name: '登记机关',
+      //     value: 'regAuthority'
+      //   }
+      // ]
+    },
+    {
+      code: 'stock_pledge_holder',
+      routing: 'GuQuanZhiYaZhiYaRen',
+      title: '股权质押(质押人)',
+      companyId: '4a09f265523ebeecff5e6e4278fff4ff',
+      detailList: [
+        {
+          name: '质押人',
+          value: 'holderName',
+          companyId: 'holderId'
+        },
+        {
+          name: '质押人参股企业',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '质押股份总数(股)',
+          value: 'sharefrozennum'
+        },
+        {
+          name: '质押股份市值(元)',
+          value: 'sz'
+        },
+        {
+          name: '占股东持股比例',
+          value: 'frozenratio'
+        },
+        {
+          name: '占总股本比例',
+          value: 'frozenintotal'
+        },
+        {
+          name: '质押权人',
+          value: 'pledgee',
+          companyId: 'pledgeeId'
+        },
+        {
+          name: '质押原因',
+          value: 'restrictedPledgedShares'
+        },
+        {
+          name: '质押目的',
+          value: 'pledgepur'
+        },
+        {
+          name: '质押日收盘价',
+          value: 'spj'
+        },
+        {
+          name: '预警线',
+          value: 'yjx'
+        },
+        {
+          name: '平仓线',
+          value: 'pcx'
+        },
+        {
+          name: '质押开始日期',
+          value: 'sdate',
+          valueType: 'date'
+        },
+        {
+          name: '质押解除日期',
+          value: 'enddate',
+          valueType: 'date'
+        },
+        {
+          name: '状态',
+          value: 'yjxPcxType'
+        },
+        {
+          name: '公告日期',
+          value: 'ndate',
+          valueType: 'date'
+        }
+      ],
+      viewList: [
+        {
+          name: '质押人',
+          value: 'holderName',
+          companyId: 'holderId'
+        },
+        {
+          name: '质押人参股企业',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '质押权人',
+          value: 'pledgee',
+          companyId: 'pledgeeId'
+        },
+        {
+          name: '质押股份总数(股)',
+          value: 'sharefrozennum'
+        },
+        {
+          name: '质押股份市值(元)',
+          value: 'sz'
+        },
+        {
+          name: '状态',
+          value: 'yjxPcxType'
+        },
+        {
+          name: '公告日期',
+          value: 'ndate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'knowledge_pledge',
+      routing: 'ZhiShiChanQuanChuZhi',
+      title: '知识产权出质',
+      companyId: 'cff468258871974c086713a100e55112',
+      detailList: [
+        {
+          name: '知识产权登记证号',
+          value: 'iprRegNum'
+        },
+        {
+          name: '名称',
+          value: 'iprName'
+        },
+        {
+          name: '种类',
+          value: 'iprType'
+        },
+        {
+          name: '出质人',
+          listVal: 'pledgorInfo',
+          value: 'pledgor',
+          companyId: 'pledgor_id'
+        },
+        {
+          name: '质权人',
+          listVal: 'pledgeeInfo',
+          value: 'pledgee',
+          companyId: 'pledgee_id'
+        },
+        {
+          name: '质权登记期限',
+          value: 'pledgeRegPeriod'
+        },
+        {
+          name: '状态',
+          value: 'status'
+        },
+        {
+          name: '公示日期',
+          value: 'pubDate',
+          valueType: 'date'
+        },
+        {
+          name: '注销日期',
+          value: 'cancelDate',
+          valueType: 'date'
+        },
+        {
+          name: '注销原因',
+          value: 'cancelReason'
+        },
+        {
+          name: '变更日期',
+          value: 'changeTime',
+          valueType: 'date'
+        },
+        {
+          name: '变更事项',
+          value: 'changeItem'
+        },
+        {
+          name: '变更前内容',
+          value: 'contentBefore'
+        },
+        {
+          name: '变更后内容',
+          value: 'contentAfter'
+        }
+      ],
+      viewList: [
+        {
+          name: '知识产权登记证号',
+          value: 'iprRegNum'
+        },
+        {
+          name: '名称',
+          value: 'iprName'
+        },
+        {
+          name: '种类',
+          value: 'iprType'
+        },
+        {
+          name: '出质人',
+          listVal: 'pledgorInfo',
+          value: 'pledgor',
+          companyId: 'pledgorId'
+        },
+        {
+          name: '质权人',
+          listVal: 'pledgeeInfo',
+          value: 'pledgee',
+          companyId: 'pledgeeId'
+        },
+        {
+          name: '质权登记期限',
+          value: 'pledgeRegPeriod'
+        },
+        {
+          name: '状态',
+          value: 'status'
+        },
+        {
+          name: '公示日期',
+          value: 'pubDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'cancellation_announcement',
+      routing: 'ZhuXiaoBeiAn',
+      title: '注销备案',
+      companyId: '723430dfe20e8c2c6659ade8f6cfd8f7',
+      listCustomRender: ZhuXiaoBeiAn
     }
   ]
 }

+ 268 - 0
src/js-pages/company-detail/JingYingXinXi/index.ts

@@ -0,0 +1,268 @@
+import JinChuKouXinYongZhengVue from '@/components/DetailCustom/JinChuKouXinYongZheng.vue'
+import { $goOuterUrl } from '@/utils/utils'
+import { shallowRef } from 'vue'
+import { DemensionPagesInter } from './../../types'
+
+export const JingYingXinXi: DemensionPagesInter = {
+  projectName: '基本信息',
+  list: [
+    {
+      code: 'eci_bidding',
+      routing: 'ZhaoTouBiao',
+      title: '招投标',
+      companyId: '88f04cbfab150fe2bccdeec3aea32750',
+      detailList: [
+        {
+          value: 'title',
+          valueType: 'title'
+        },
+        {
+          name: '来源',
+          value: 'link',
+          solt: () => `
+          <span class="link">
+            原始链接
+          </span>`,
+          customClick: (item: { link: string }) => {
+            console.log(item)
+            $goOuterUrl(item.link)
+          }
+        },
+        {
+          value: 'publishTime',
+          name: '发布日期',
+          valueType: 'date'
+        },
+        {
+          name: '省份',
+          value: 'province'
+        },
+        {
+          name: '代理机构',
+          value: 'proxy'
+        },
+        {
+          name: '标书类型',
+          value: 'type'
+        },
+        {
+          name: '标的类型',
+          value: 'items'
+        },
+        {
+          name: '采购人信息',
+          listVal: 'purchaserInfo',
+          value: 'name',
+          companyId: 'keyno'
+        },
+        {
+          name: '供应商信息',
+          listVal: 'supplierInfo',
+          value: 'name',
+          companyId: 'keyno'
+        },
+        {
+          name: '招投标正文',
+          value: 'intro',
+          valueType: 'richText'
+        }
+      ],
+      viewList: [
+        {
+          value: 'title',
+          valueType: 'title'
+        },
+        {
+          name: '省份',
+          value: 'province'
+        },
+        {
+          name: '采购人信息',
+          listVal: 'purchaserInfo',
+          companyId: 'keyno',
+          value: 'name'
+        },
+        {
+          name: '供应商信息',
+          listVal: 'supplierInfo',
+          companyId: 'keyno',
+          value: 'name'
+        },
+        {
+          name: '发布日期',
+          value: 'publishTime',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'eci_recruitment',
+      routing: 'ZhaoPinXinXi',
+      title: '招聘信息',
+      companyId: '88f04cbfab150fe2bccdeec3aea32750',
+      detailList: [
+        {
+          value: 'title',
+          valueType: 'title'
+        },
+        {
+          name: '薪资',
+          value: 'oriSalary'
+        },
+        {
+          name: '招聘公司',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '招聘类别',
+          value: 'class'
+        },
+        {
+          name: '招聘人数',
+          value: 'employNum'
+        },
+        {
+          name: '工作经验',
+          value: 'experience'
+        },
+        {
+          name: '所在城市',
+          solt: (item: { city: string; district: string }) => {
+            return `<span>${item.city || '-'} ${item.district || '-'}</span>`
+          },
+          value: 'district'
+        },
+        {
+          name: '办公地点',
+          value: 'location'
+        },
+        {
+          name: '信息来源',
+          value: 'source'
+        },
+        {
+          name: '招聘开始日期',
+          value: 'startDate',
+          valueType: 'date'
+        },
+        {
+          name: '招聘截止日期',
+          value: 'endDate',
+          valueType: 'date'
+        },
+        {
+          name: '职位描述',
+          solt: (item: { description: string }) => {
+            return `<span>${item.description.replace('[', '').replace(']', '')}</span>`
+          },
+          value: 'description'
+          // valueType: 'date'
+        }
+      ],
+      viewList: [
+        {
+          value: 'title',
+          valueType: 'title'
+        },
+        {
+          name: '薪资',
+          value: 'oriSalary'
+        },
+        {
+          name: '办公地点',
+          value: 'location'
+        },
+        {
+          name: '工作经验',
+          value: 'experience'
+        },
+        {
+          name: '招聘开始日期',
+          value: 'startDate',
+          valueType: 'date'
+        },
+        {
+          name: '招聘结束日期',
+          value: 'endDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      code: 'special_qualification',
+      routing: 'TeShuZiZhi',
+      title: '特殊资质',
+      companyId: '25bca6102d624eb7f48846d7468d03a6',
+      apiUrl: 'firefly-erp/eci/dimension/detail',
+      viewList: [
+        {
+          name: '资质类别',
+          value: 'category'
+        },
+        {
+          name: '证书编号',
+          value: 'certNo'
+        },
+        {
+          name: '资质名称',
+          value: 'certName'
+        },
+        {
+          name: '发证日期',
+          value: 'signDate'
+        },
+        {
+          name: '证书有效期',
+          value: 'validPeriod'
+        },
+        {
+          name: '发证机关',
+          value: 'signDept'
+        }
+      ]
+    },
+    {
+      code: 'import_export_credit',
+      routing: 'JinChuKouXinYongZheng',
+      title: '进出口信用证',
+      companyId: 'c8af755fa8b42a2e8201be4137c69290',
+      detailCustomRender: shallowRef(JinChuKouXinYongZhengVue),
+      viewList: [
+        {
+          name: '企业名称',
+          value: 'companyName',
+          companyId: 'companyId'
+        },
+        {
+          name: '注册海关',
+          value: 'customsRegisteredAddress'
+        },
+        {
+          name: '经营类别',
+          value: 'managementCategory'
+        },
+        {
+          name: '行业种类',
+          value: 'industryCategory'
+        },
+        {
+          name: '海关注销标志',
+          value: 'status'
+        },
+        {
+          name: '注册日期',
+          value: 'recordDate',
+          valueType: 'date'
+        }
+      ]
+    },
+    {
+      //未完成
+      code: 'permission_eci',
+      routing: 'XingZhenXuKe',
+      title: '行政许可',
+      companyId: 'a10a3675d3f4e38af372dcd8eddce29f'
+    }
+  ]
+}

+ 6 - 3
src/js-pages/company-detail/QiYeRongZi/index.ts

@@ -395,7 +395,8 @@ export const QiYeRongZi: DemensionPagesInter = {
         {
           name: '来源',
           value: 'fileUrl',
-          solt: `
+          solt: () =>
+            `
             <div class="source-pdf">
               <span>说明书</span>
               <img src="${pdfImg}"/>
@@ -446,7 +447,8 @@ export const QiYeRongZi: DemensionPagesInter = {
         {
           name: '来源',
           value: 'fileUrl',
-          solt: `
+          solt: () =>
+            `
             <div class="source-pdf">
               <span>说明书</span>
               <img src="${pdfImg}"/>
@@ -540,7 +542,8 @@ export const QiYeRongZi: DemensionPagesInter = {
         {
           name: '来源',
           value: 'fileUrl',
-          solt: `
+          solt: () =>
+            `
             <div class="source-pdf">
               <span>说明书</span>
               <img src="${pdfImg}"/>

+ 2 - 1
src/js-pages/company-detail/index.ts

@@ -4,12 +4,13 @@ import { JiBenXinXi } from './JiBenXinXi/index'
 import { TotalDemensionInter } from './../types'
 import { FaLvFengXian } from './FaLvFengXian/index'
 import { JianZhuXinXi } from './JianZhuXinXi/index'
+import { JingYingXinXi } from './JingYingXinXi/index'
 
 const companyDetail: TotalDemensionInter = {
   companyName: '企业详情',
   list: []
 }
 
-companyDetail.list.push(FaLvFengXian, JiBenXinXi, JianZhuXinXi, QiYeRongZi, JingYingFengXian)
+companyDetail.list.push(FaLvFengXian, JiBenXinXi, JianZhuXinXi, QiYeRongZi, JingYingFengXian, JingYingXinXi)
 
 export default companyDetail

+ 11 - 5
src/js-pages/types.ts

@@ -35,7 +35,8 @@ export interface DemensionPagesListInter {
   * 自定义数组数据处理方法
   */
   listFliter?: Function,
-  customRender?: any,
+  listCustomRender?: any,
+  detailCustomRender?: any,
   /**
   * 公司的ID,方便调试用
   */
@@ -43,7 +44,11 @@ export interface DemensionPagesListInter {
   /**
   * 是否不取dataList,是的话直接取
   */
-  noDataList?: boolean
+  noDataList?: boolean,
+  /**
+ * apiUrl
+ */
+  apiUrl?: string,
 }
 
 
@@ -51,16 +56,17 @@ export interface DemensionPagesListInter {
 export interface ViewListInter {
   name?: string,
   value: string,
-  //类型 时间、标题、万元
-  valueType?: 'date' | 'title' | 'w',
+  //类型 时间、标题、万元、富文本
+  valueType?: 'date' | 'title' | 'w' | 'richText',
   //数组字段名
   listVal?: string,
   //需要跳转企业详情的ID和Name
   companyId?: string,
   companyName?: string,
   //自定义HTML元素
-  solt?: string,
+  solt?: Function,
   customClick?: Function,
+
   /**
 * 是否有财产线索
 */

+ 2 - 1
src/plugins/vant.ts

@@ -1,4 +1,4 @@
-import { Button, Row, Tab, Tabs, List, Icon, DropdownMenu, DropdownItem, Collapse, CollapseItem } from 'vant'
+import { Button, Row, Tab, Tabs, List, Icon, DropdownMenu, DropdownItem, Collapse, CollapseItem, Cell } from 'vant'
 import { App } from 'vue'
 
 export const useVant = (app: App<Element>) => {
@@ -12,4 +12,5 @@ export const useVant = (app: App<Element>) => {
   app.use(DropdownItem)
   app.use(Collapse)
   app.use(CollapseItem)
+  app.use(Cell)
 }

+ 1 - 0
src/store/demensionDetail.ts

@@ -24,6 +24,7 @@ export const useDemensionDetailStore = defineStore({
       } else {
         return demensionInfo.allDemensionArr
       }
+
       this.getDetail()
     },
     async getDetail() {

+ 16 - 3
src/store/demensionList.ts

@@ -25,6 +25,7 @@ export const useDemensionListStore = defineStore({
     }
   },
   actions: {
+
     //初始化列表状态
     clearState() {
       this.pageNum = 1
@@ -38,20 +39,30 @@ export const useDemensionListStore = defineStore({
       this.clearState()
       const demensionInfo = $getDemension()
 
+
+
+
       //首页返回所有维度列表,列表页正常返回
       if (demensionInfo.selectDemension) {
         this.selectDemension = demensionInfo.selectDemension
+        //方便本地调试的企业id
+        this.entityId = import.meta.env.MODE === 'development' && demensionInfo.selectDemension.companyId ? demensionInfo.selectDemension.companyId : this.entityId
       } else {
         return demensionInfo.allDemensionArr
       }
 
+
+
+
       //有tab的列表
       if (demensionInfo.selectDemension.tabs === 'deleted') {
         this.getDeletedList()
         return
       }
 
-      if (!demensionInfo.selectDemension.customRender) {
+
+
+      if (!demensionInfo.selectDemension.listCustomRender) {
         this.getList()
       }
 
@@ -156,10 +167,12 @@ export const useDemensionListStore = defineStore({
         deleted,
         entityType,
         entityName,
-        entityId: import.meta.env.MODE === 'development' && this.selectDemension.companyId ? this.selectDemension.companyId : entityId,
+        entityId,
+        companyName: this.selectDemension.apiUrl ? entityName : undefined,  //老数据维度的参数
+        infoCode: this.selectDemension.apiUrl ? this.selectDemension?.code : undefined, //老数据维度的参数
         ...extraParams
       }
-      const res = await $axios.get('lawyer-workbench/risk/dimension/page', { params }) as { totalNum: number, totalPage: number, dataList: [], dataExtra?: { field: string, keyValueBOS: any[] }[] }
+      const res = await $axios.get(`${this.selectDemension.apiUrl || 'lawyer-workbench/risk/dimension/page'}`, { params }) as { totalNum: number, totalPage: number, dataList: [], dataExtra?: { field: string, keyValueBOS: any[] }[] }
       this.totalNum = res.totalNum
       this.totalPage = res.totalPage
 

+ 9 - 0
src/style/config.scss

@@ -0,0 +1,9 @@
+$border: #ebedf0;
+$link: #088BFE;
+.link{color:#088BFE!important;}
+$grayFont: #969696;
+.grayFont{color:$grayFont}
+$blackColor: #333;
+$yellowColor: #FD6B25;
+$padding: 15px;
+

+ 1 - 1
src/style/global.scss

@@ -1,4 +1,4 @@
-p,span{
+p,span,div,a{
   font-size: 15px;
 }
 .link {

+ 3 - 1
src/style/index.scss

@@ -1,2 +1,4 @@
 @import "./reset.scss";
-@import "./global.scss";
+@import "./global.scss";
+@import "./oldStyle.scss";
+@import "./config.scss";

+ 840 - 0
src/style/oldStyle.scss

@@ -0,0 +1,840 @@
+.link {
+  color: #088BFE !important;
+}
+
+.grayFont {
+  color: #969696;
+}
+
+.green {
+  color: #039845 !important;
+}
+
+.red {
+  color: #EB5953 !important;
+}
+
+.grayFont {
+  color: #969696 !important;
+}
+
+.blackColor {
+  color: #333 !important;
+}
+
+.danger {
+  border-radius: 3px;
+  border: 1px solid #EB5953;
+  padding: 0 4px;
+  font-size: 12px;
+  line-height: 18px;
+  color: #EB5953;
+  margin-left: 5px;
+}
+
+.yhc-padding {
+  padding: 16px 15px;
+}
+
+.yhc-white {
+  background-color: white;
+}
+
+.graybackground {
+  background-color: #F1F2F4;
+}
+
+.borderTop {
+  border-top: 0.7px solid #ebedf0;
+}
+
+.borderBottom {
+  border-top: 0.7px solid #ebedf0;
+}
+
+.paddingTop {
+  padding-top: 15px;
+}
+
+.yhc-fontWeight {
+  font-weight: bold;
+}
+
+.redNum {
+  color: red;
+}
+
+.caichan-tip {
+  padding: 15px 15px;
+  line-height: 20px;
+}
+
+.yhc-tittle {
+  padding: 16px 15px;
+  font-weight: bold;
+  border-bottom: 0.7px solid #ebedf0;
+}
+
+.yhc-model {
+  margin: 15px 0;
+  padding: 5px 0;
+  background: #fff;
+}
+
+.yhc-link {
+  color: #3373FC !important;
+  cursor: pointer;
+}
+
+.yhc-icon-name {
+  background: #fff;
+  display: flex;
+  align-items: center;
+  padding: 8px 15px;
+}
+
+.yhc-icon-name .icon {
+  width: 46px;
+  height: 46px;
+  border-radius: 3px;
+}
+
+.yhc-icon-name .nameIcon {
+  width: 46px;
+  height: 46px;
+  font-size: 22px;
+  line-height: 46px;
+  text-align: center;
+  border-radius: 3px;
+  color: #fff;
+  background: #D4A64E;
+}
+
+.yhc-icon-name .nameIcon.qing {
+  background: #84CAAE;
+}
+
+.yhc-icon-name .nameIcon.huang {
+  background: #C5C271;
+}
+
+.yhc-icon-name .nameIcon.lv {
+  background: #91C765;
+}
+
+.yhc-icon-name .name {
+  flex: 1;
+  line-height: 26px;
+  font-size: 15px;
+  color: #088BFE;
+  padding-left: 16px;
+}
+
+.yhc-icon-name .name .tag {
+  display: inline-block;
+  border-radius: 4px;
+  font-size: 12px;
+  line-height: 20px;
+  padding: 0 5px;
+  margin-right: 6px;
+}
+
+.yhc-icon-name .name .dagudong {
+  background: #FED8DF;
+  color: #EB525D;
+}
+
+.yhc-icon-name .name .address {
+  background: #E1E2F6;
+  color: #7472CC;
+}
+
+.yhc-icon-name .name .shouyiren {
+  background: #CEE7FB;
+  color: #2886D1;
+}
+
+.yhc-rowlist-padding {
+  padding: 0 15px;
+  background: #fff;
+}
+
+.yhc-rowlist-padding .yhc-rowlist-con {
+  padding: 8px 0;
+  border-bottom: 1px solid #ebedf0;
+}
+
+.yhc-rowlist {
+  background: #fff;
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0 15px;
+}
+
+.yhc-rowlist .rowcol {
+  width: 50%;
+  color: #333;
+  line-height: 20px;
+  padding: 8px 0;
+}
+
+.yhc-rowlist .rowcol.line {
+  width: 100%;
+}
+
+.yhc-rowlist .rowcol .lable {
+  color: #969696;
+}
+
+.yhc-rowlist .rowcol .val {
+  min-height: 30px;
+  padding: 5px 0;
+  word-break: break-all;
+}
+
+.yhc-rowlist .rowcol .val .logo {
+  width: 20px;
+  height: 20px;
+  border-radius: 4px;
+  margin-right: 6px;
+  vertical-align: middle;
+}
+
+.yhc-rowlist .rowcol:nth-child(even) .lable {
+  padding-left: 10px;
+  border-left: 1px solid #ebedf0;
+}
+
+.yhc-rowlist .rowcol:nth-child(even) .val {
+  padding-left: 10px;
+}
+
+.yhc-biangeng {
+  margin-bottom: 10px;
+  position: relative;
+  background: #fff;
+  padding: 20px 10px;
+  border-bottom: 1px solid #ebedf0;
+  overflow: hidden;
+}
+
+.yhc-biangeng:after {
+  display: block;
+  content: '';
+  position: absolute;
+  left: -20px;
+  right: -20px;
+  bottom: -10px;
+  height: 10px;
+  background: #F1F2F4;
+}
+
+.yhc-biangeng .title {
+  display: flex;
+  align-items: center;
+  padding-bottom: 12px;
+}
+
+.yhc-biangeng .title .num {
+  color: #6A6A6A;
+  background: #EEEEEE;
+  font-size: 17px;
+  line-height: 30px;
+  padding: 0 3px;
+  border-radius: 4px;
+}
+
+.yhc-biangeng .title .desc {
+  padding: 0 10px;
+  color: #444;
+  flex: 1;
+}
+
+.yhc-biangeng .title .date {
+  color: #9D9D9D;
+  font-size: 13px;
+}
+
+.yhc-biangeng .bianhua {
+  background: #F8F8F8;
+  border-radius: 5px;
+  padding: 15px 10px;
+  display: flex;
+}
+
+.yhc-biangeng .bianhua .left, .yhc-biangeng .bianhua .right {
+  flex: 1;
+  color: #969696;
+}
+
+.yhc-biangeng .bianhua .left {
+  padding-right: 10px;
+}
+
+.yhc-biangeng .bianhua .right {
+  padding-left: 10px;
+  border-left: 1px solid #ebedf0;
+}
+
+.yhc-biangeng .bianhua .biangeng-con {
+  padding-top: 10px;
+  line-height: 22px;
+  color: #333;
+}
+
+.yhc-zzsyr-go {
+  color: #fe8341;
+}
+
+.yhc-zzsyr-go span {
+  margin-right: 10px;
+}
+
+.yhc-zzsyr-go img {
+  width: 20px;
+  height: 20px;
+}
+
+.yhc-zzsyr-ms {
+  line-height: 26px;
+}
+
+.yhc-zzsyr-ms > span, .yhc-zzsyr-ms .jiantou {
+  display: inline-block;
+  width: 84px;
+  height: 30px;
+  background: url("../img/jt.png") no-repeat right bottom;
+  background-size: 75px 8px;
+  padding-bottom: 10px;
+  font-size: 12px;
+  color: #444444;
+  text-align: center;
+  position: relative;
+  top: -13px;
+  margin-right: 6px;
+}
+
+.yhc-news-title {
+  color: #333;
+  font-weight: bolder;
+  padding: 0 15px;
+  font-size: 15px;
+  line-height: 38px;
+  border-bottom: 1px solid #ebedf0;
+  margin-top: 10px;
+  background: #fff;
+}
+
+.yhc-news {
+  background: #fff;
+  padding: 0 15px;
+  position: relative;
+}
+
+.yhc-news .van-icon {
+  position: absolute;
+  top: 50%;
+  right: 5px;
+  width: 16px;
+  height: 16px;
+  margin-top: -8px;
+}
+
+.yhc-news .yhc-news-con {
+  padding: 10px 0;
+  border-bottom: 1px solid #ebedf0;
+}
+
+.yhc-news .title {
+  font-size: 15px;
+  line-height: 24px;
+  padding-right: 10px;
+}
+
+.yhc-news .tag {
+  font-size: 12px;
+  line-height: 16px;
+  color: #BBBBBB;
+  padding: 6px 10px 6px 0;
+}
+
+.yhc-news .tag span {
+  padding-right: 7px;
+}
+
+.yhc-news .btm {
+  color: #969696;
+  font-size: 13px;
+  line-height: 24px;
+  padding-right: 10px;
+}
+
+.yhc-news .btm .date {
+  float: right;
+}
+
+.yhc-bzxr-items {
+  background: #fff;
+  padding: 15px 15px;
+  width: 100%;
+  margin-bottom: 15px;
+}
+
+.yhc-bzxr-items:first-child {
+  margin-top: 15px;
+}
+
+.yhc-bzxr-items .bzxr-items-info {
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+  align-items: center;
+}
+
+.yhc-bzxr-items .bzxr-items-info .bzxr-items-left {
+  flex: 1;
+  line-height: 24px;
+  color: #969696;
+}
+
+.yhc-bzxr-items .bzxr-items-info .bzxr-items-left .title {
+  font-weight: bolder;
+  color: #333;
+  font-size: 15px;
+  padding: 4px 0;
+}
+
+.yhc-bzxr-items .bzxr-items-info .bzxr-items-left .bzxr-items-nr {
+  flex: 1;
+  color: #333;
+}
+
+.yhc-bzxr-items .bzxr-items-info .bzxr-items-left .yhc-clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 4;
+  overflow: hidden;
+}
+
+.yhc-bzxr-items .bzxr-items-info .bzxr-item-right {
+  width: 16px;
+  margin-left: 5px;
+}
+
+.yhc-model-title {
+  background: #fff;
+  margin-bottom: 15px;
+}
+
+.yhc-model-title .title {
+  font-weight: bolder;
+  border-bottom: 1px solid #ebedf0;
+  padding: 10px 15px;
+  font-size: 15px;
+  line-height: 20px;
+  margin-bottom: 10px;
+}
+
+.yhc-model-title .title span {
+  float: right;
+  color: #969696;
+}
+
+.yhc-list-icon {
+  display: flex;
+  padding: 15px 15px;
+  background: #fff;
+  margin-bottom: 15px;
+}
+
+.yhc-list-icon .icon {
+  width: 66px;
+  height: 66px;
+  border-radius: 4px;
+  border: 1px solid #eee;
+  object-fit: contain;
+}
+
+.yhc-list-icon .list {
+  flex: 1;
+  padding: 0 5px 0 10px;
+  line-height: 24px;
+  color: #969696;
+  overflow: hidden;
+}
+
+.yhc-list-icon .list .name {
+  color: #333;
+  font-size: 15px;
+  font-weight: bolder;
+  word-break: break-all;
+}
+
+.yhc-list-icon .list .name .status {
+  float: right;
+  color: #42a7ff;
+  background: #d9eaff;
+  font-size: 13px;
+  line-height: 20px;
+  padding: 0 4px;
+  border-radius: 2px;
+}
+
+.yhc-list-icon .list .tag {
+  width: 100%;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.yhc-list-icon .list .tag .type {
+  float: right;
+  color: #42a7ff;
+  border: 1px solid #42a7ff;
+  font-size: 12px;
+  line-height: 20px;
+  padding: 0 4px;
+  border-radius: 3px;
+}
+
+.yhc-list-icon .van-icon {
+  display: flex;
+  align-items: center;
+}
+
+.yhc-no-data {
+  text-align: center;
+  color: #969696;
+  line-height: 26px;
+  font-size: 13px;
+  padding-bottom: 15px;
+}
+
+.yhc-footer {
+  font-size: 12px;
+  line-height: 16px;
+  color: #969696;
+  background: #edf1f4;
+  padding: 10px;
+}
+
+.yhc-footer img {
+  width: 14px;
+  height: auto;
+  vertical-align: middle;
+}
+
+.custom-image {
+  padding-top: 100px;
+}
+
+.custom-image .van-empty__image {
+  width: 90px;
+  height: 90px;
+}
+
+.van-tab__text {
+  padding-top: 10px !important;
+}
+
+.app-box-padding {
+  padding: 0.2rem 0.32rem 0 0.32rem;
+}
+
+.app-box-padding .link {
+  color: #0265D9;
+}
+
+.app-box-padding .app-content {
+  border-radius: 0.10rem;
+  background: #FFFFFF;
+  padding: 0.40rem 0.30rem  0  0.30rem;
+  margin-bottom: 0.24rem;
+}
+
+.app-box-padding .app-content .border {
+  border-bottom: 1px solid  #F8FAFC;
+  padding-bottom: 0.40rem;
+  margin-bottom: 0.40rem;
+}
+
+.app-box-padding .app-content .entireLine {
+  padding-bottom: 0.40rem;
+}
+
+.app-box-padding .app-content .entireLine .keyName {
+  font-size: 0.26rem;
+  font-weight: 400;
+  color: #919498;
+}
+
+.app-box-padding .app-content .entireLine .value {
+  font-size: 0.28rem;
+  font-weight: 400;
+  color: #242A32;
+  margin-top: 0.20rem;
+  padding-right: 0.10rem;
+}
+
+.app-box-padding .app-content .app-row-box {
+  background: #fff;
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.app-box-padding .app-content .app-row-box .app-row {
+  width: 50%;
+  margin-bottom: 0.40rem;
+}
+
+.app-box-padding .app-content .app-row-box .app-row .keyName {
+  font-size: 0.26rem;
+  font-weight: 400;
+  color: #919498;
+}
+
+.app-box-padding .app-content .app-row-box .app-row .value {
+  font-size: 0.28rem;
+  font-weight: 400;
+  color: #242A32;
+  margin-top: 0.20rem;
+  padding-right: 0.10rem;
+}
+
+.app-box-padding .app-content .app-row-box .app-row:nth-child(2n) {
+  border-left: 1px solid  #F8FAFC;
+  padding-left: 0.42rem;
+}
+
+.app-box-padding .app-content .app-row-box .app-row:nth-child(2n) .value {
+  padding-right: 0rem;
+}
+
+.app-box-padding .app-content .headBody .title-bold {
+  padding: 0.32rem 0;
+  font-size: 0.3rem;
+  font-weight: 600;
+  color: #242A32;
+  border-bottom: 1px solid  #F8FAFC;
+  margin-bottom: 0.40rem;
+}
+
+.app-box-padding .app-content .headBody .title-top {
+  padding-top: 0.40rem;
+  font-size: 0.3rem;
+  font-weight: 600;
+  color: #242A32;
+  line-height: 0.42rem;
+  padding-bottom: 0.34rem;
+  border-top: 1px solid  #F8FAFC;
+}
+
+.app-box-padding .app-content .headBody .headBody-content {
+  display: flex;
+  align-items: center;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box {
+  flex: 1;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row {
+  font-size: 0.29rem;
+  color: #64696E;
+  font-weight: 400;
+  display: flex;
+  margin-bottom: 0.24rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row.marginBottom40 {
+  margin-bottom: 0.40rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row.flexNone {
+  display: block !important;
+  margin-bottom: 0.40rem;
+  line-height: 0.48rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row.flexNone .keyName {
+  font-size: 0.30rem;
+  color: #242A32;
+  margin-bottom: 0.30rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row .keyName {
+  font-size: 0.29rem;
+  color: #919498;
+  min-width: 1.4rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content .left-box .left-row span {
+  font-size: 0.29rem;
+}
+
+.app-box-padding .app-content .headBody .headBody-content img {
+  width: 0.29rem;
+  height: 0.29rem;
+  margin-top: -0.30rem;
+}
+
+.sifa-yhc-case-info {
+  background: #fff;
+  margin: 0.24rem 0rem;
+  padding: 0 0.32rem;
+  color: #919498;
+  border-radius: 0;
+}
+
+.sifa-yhc-case-info :deep() .van-collapse-item__content {
+  padding: 0;
+}
+
+.sifa-yhc-case-info :deep() .van-cell {
+  padding: 10px 0px;
+  font-weight: bold;
+}
+
+.sifa-yhc-case-info :deep() .van-cell:not(:last-child)::after {
+  left: 0;
+}
+
+.sifa-yhc-case-info .four-info-item .case-item-title {
+  color: #242A32;
+  font-weight: bold;
+  padding: 0.32rem 0 0.24rem;
+  line-height: 0.4rem;
+}
+
+.sifa-yhc-case-info .four-info-item .case-item-title .ja {
+  color: #2AAA00;
+}
+
+.sifa-yhc-case-info .four-info-item .case-lables {
+  font-size: 0.2rem;
+  font-weight: normal;
+  margin-bottom: 0.2rem;
+  margin-top: -0.16rem;
+}
+
+.sifa-yhc-case-info .four-info-item .case-lables .itm {
+  color: #EC7D15;
+  background: rgba(236, 125, 21, 0.1);
+  display: inline-block;
+  padding: 0.04rem 0.1rem;
+  line-height: 0.28rem;
+  margin-right: 0.2rem;
+  font-size: 0.2rem;
+  margin-top: 0.06rem;
+}
+
+.sifa-yhc-case-info .four-info-item .case-lables .itm.oth {
+  color: #ED4033;
+  background: rgba(237, 64, 51, 0.1);
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block .case-info-block-left {
+  flex: 1;
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block .case-info-block-left .left-item {
+  padding-bottom: 0.24rem;
+  display: flex;
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block .case-info-block-left .left-item .ybgTitle {
+  max-width: 2.8rem;
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block .case-info-block-left .left-item .left-item-name {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+}
+
+.sifa-yhc-case-info .four-info-item .case-info-block .case-info-block-left .left-item .left-item-name .left-item-value {
+  flex: 1;
+  width: fit-content;
+}
+
+.yhc_ccbq {
+  background: #fff4e0;
+  font-size: 10px;
+  color: #BF8B40;
+  display: inline-block;
+  padding: 5px 12px;
+  border-radius: 4px;
+  margin-top: 5px;
+}
+
+.yhc_ccbq img {
+  width: 6px;
+  height: 6px;
+}
+
+.yhc-tab-search .van-tabs {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content {
+  flex: 1;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .fixed-num {
+  padding: 8px 15px;
+  line-height: 20px;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .conetnt-seroll {
+  flex: 1;
+  overflow: auto;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .conetnt-seroll .yhc-bzxr-items:first-child {
+  margin-top: 0;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .content .yhc-bzxr-items:first-child {
+  margin-top: 10px;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .van-dropdown-item {
+  top: 48px !important;
+}
+
+.yhc-tab-search .van-tabs .van-tabs__content .van-tab__pane .tab2menu .van-dropdown-item {
+  transform: translate3d(100%, 0px, 0px);
+}
+
+.yhc-skeleton {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background: #fff;
+  z-index: 10;
+}
+
+.yhc-skeleton .van-skeleton {
+  padding-top: 30px;
+}
+.zpxxd-zw-info{
+  line-height: 20px;
+}

+ 10 - 1
src/utils/utils.ts

@@ -1,9 +1,18 @@
 import { DemensionPagesListInter, DemensionPagesInter } from './../js-pages/types'
 import { useRoute } from 'vue-router'
-import { ViewListInter } from '@/js-pages/types'
 import pagesArr from '@/js-pages'
+import dayjs from 'dayjs'
 
 
+
+//打开图片
+export const $openImg = (img: string) => {
+  console.log(img)
+}
+//时间格式化
+export const $dateFormat = (date: string) => {
+  return dayjs(date).format('YYYY-MM-DD')
+}
 //跳转企业
 export const $goCompany = (companyName: string, companyId: string) => {
   console.log(companyName, companyId)

+ 16 - 7
src/views/demension/detail.vue

@@ -1,12 +1,17 @@
 <template>
   <div class="demension-detail">
-    <van-row>
+    <div v-if="store.selectDemension.detailList" class="flex flex-wrap bg-white py-2 px-2">
       <div v-for="(item,index) in store.selectDemension.detailList" :key="index" class="min-w-[calc(50%)]">
         <div class="demension-detail-item">
           <p>{{item.name}}</p>
 
+          <div v-if="item.solt" @click="item.customClick!(store.info)" v-html="store.info[item.value] ? item.solt(store.info) : '-'"></div>
+
+          <!-- 富文本-->
+          <span v-else-if="item.valueType === 'richText'" v-html="store.info[item.value] || '-'"></span>
+
           <!-- 时间 -->
-          <span v-if="item.valueType === 'date'">{{store.info[item.value] ? dayjs(store.info[item.value]).format('YYYY-MM-DD') : '-'}}</span>
+          <span v-else-if="item.valueType === 'date'">{{store.info[item.value] ? dayjs(store.info[item.value]).format('YYYY-MM-DD') : '-'}}</span>
 
 
           <!-- 多个数据 -->
@@ -39,7 +44,7 @@
 
         </div>
       </div>
-    </van-row>
+    </div>
     <GlSiFaCase v-if="store.info.caseNo && store.selectDemension.detailType" :caseNo="store.info.caseNo" :rowKey="store.info.rowKey"></GlSiFaCase>
     <DetailCustomComponent v-if="store.selectDemension" />
   </div>
@@ -58,7 +63,7 @@
 
   const route = useRoute()
   const store = useDemensionDetailStore()
-  store.getDemension(<string>route.params.routerName)
+  store.getDemension(route.params.routerName as string)
 
 
   const goCompany = (item: ViewListInter, dataItem: any) => {
@@ -86,10 +91,14 @@
 </script>
 
 <style lang="scss" scoped>
+
+:deep() .link{
+  color: #088BFE
+}
 .demension-detail{
-  padding: 15px 10px;
-  background: #fff;
-  .demension-detail-item{
+  // padding: 15px 10px;
+  background: #f1f2f4;
+  :deep() .demension-detail-item{
     margin: 15px 0;
     p{
       color: #969696;

+ 2 - 2
src/views/demension/list.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="page">
     <!-- <List /> -->
-    <div v-if="!store.selectDemension.customRender">
+    <div v-if="!store.selectDemension.listCustomRender">
       <CommonTab v-if="store.selectDemension.tabs"></CommonTab>
       <CommonMenu v-if="store.selectDemension.menuList && store.selectDemension.menuList.length"></CommonMenu>
       <listCustomComponent v-if="store.selectDemension" />
       <CommonList></CommonList>
     </div>
 
-    <component :is="store.selectDemension.customRender" v-if="store.selectDemension.customRender"></component>
+    <component :is="store.selectDemension.listCustomRender" v-if="store.selectDemension.listCustomRender"></component>
   </div>
 </template>
 

+ 4 - 3
src/views/index.vue

@@ -1,13 +1,14 @@
 <!--
  * @Author: 文帅
  * @Date: 2022-04-01 09:57:12
- * @LastEditTime: 2022-04-10 21:18:28
- * @LastEditors: 狼牙
+ * @LastEditTime: 2022-04-11 16:37:11
+ * @LastEditors: 文帅
  * @Description:
 -->
 
 <template>
   <div>
+    <p class="text-red-400 text-xs">共{{store.getDemension()?.length}}个维度</p>
     <div v-for="(item,index) in store.getDemension()" :key="index">
       <p class="text-xs" @click="$router.push(item.routing)">
         {{item.title}}:
@@ -21,7 +22,7 @@
 <script lang="ts" setup>
   import { useDemensionListStore } from '@/store/demensionList'
   const store = useDemensionListStore()
-  
+
 </script>
 
 <style lang="scss" scoped>