zs 10 months ago
parent
commit
c010b8220b

BIN
public/images/company.png


BIN
public/images/companyLogo.jpg


BIN
public/images/fws-det-bg.jpg


+ 1 - 1
src/components/custom/custom-layout.vue

@@ -187,7 +187,7 @@ const handleMouseLeave = (index) => {
         justify-content: space-around;
         .text {
           text-align: center;
-          width: 145px;
+          padding: 0 10px;
           height: 58px;
           line-height: 58px;
           font-family: Microsoft YaHei;

+ 696 - 1
src/views/detail/company.vue

@@ -1,19 +1,714 @@
 <template>
   <custom-layout class="main">
-    <el-col :span="24" class="one">首页 </el-col>
+    <el-col :span="24" class="one">
+      <el-image class="image" :src="lists" fit="fill" />
+    </el-col>
+    <div class="w_1300">
+      <el-col :span="24" class="two">
+        <div class="Seacher">
+          <div class="Left">
+            <span>行业</span>
+          </div>
+          <div v-if="!twoShow" class="Right">
+            <div class="label" v-for="(item, index) in plateList.slice(0, 6)" :key="index">
+              {{ item.label }}
+            </div>
+          </div>
+          <div v-else class="Right">
+            <div class="label" v-for="(item, index) in plateList" :key="index">
+              {{ item.label }}
+            </div>
+          </div>
+          <div class="button">
+            <span v-if="!twoShow" @click="twoShow = true">
+              <el-icon><ArrowDown /></el-icon>
+            </span>
+            <span v-else @click="twoShow = false">
+              <el-icon><ArrowUp /></el-icon>
+            </span>
+          </div>
+        </div>
+        <div class="Seacher">
+          <div class="Left">
+            <span>企业类型</span>
+          </div>
+          <div class="Right">
+            <div class="label" v-for="(item, index) in patternList" :key="index">
+              {{ item.label }}
+            </div>
+          </div>
+        </div>
+        <div class="Seacher">
+          <div class="Left">
+            <span>所在地</span>
+          </div>
+          <div v-if="!oneShow" class="Right">
+            <div class="label" v-for="(item, index) in cityList.slice(0, 15)" :key="index">
+              {{ item.label }}
+            </div>
+          </div>
+          <div v-else class="Right">
+            <div class="label" v-for="(item, index) in cityList" :key="index">
+              {{ item.label }}
+            </div>
+          </div>
+          <div class="button">
+            <span v-if="!oneShow" @click="oneShow = true">
+              <el-icon><ArrowDown /></el-icon>
+            </span>
+            <span v-else @click="oneShow = false">
+              <el-icon><ArrowUp /></el-icon>
+            </span>
+          </div>
+        </div>
+      </el-col>
+      <div class="thr">
+        <div
+          class="list"
+          :class="['list' + index]"
+          v-for="(item, index) in list"
+          :key="index"
+          @click="toView(item)"
+        >
+          <div class="name">{{ item.name || '暂无' }}</div>
+          <div class="other">
+            <div class="other_1">
+              <el-image class="image" :src="getUrl(item.logo)" fit="fill">
+                <template v-slot:error>
+                  <el-image class="image" :src="companyLogo" fit="fill" />
+                </template>
+              </el-image>
+            </div>
+            <div class="other_2">
+              <span class="text"><em>企业类型:</em>{{ getDict(item.pattern, 'pattern') }}</span>
+              <span class="text"><em>企业规模:</em>{{ getDict(item.scale, 'scale') }}</span>
+              <span class="text"><em>地址:</em>{{ item.address || '暂无' }}</span>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="four">
+        <el-pagination background layout="prev, pager, next" :total="1000" />
+      </div>
+    </div>
   </custom-layout>
 </template>
 
 <script setup>
+// 图片引入
+import lists from '/images/company.png'
+import companyLogo from '/images/companyLogo.jpg'
 import { UserStore } from '@/store/user'
 const userStore = UserStore()
 const user = computed(() => userStore.user)
+// API 引用
+import { getCity } from '@/utils/city'
+const $checkRes = inject('$checkRes')
+import { get } from 'lodash-es'
+// 接口
+import { CompanyStore } from '@/store/api/user/company'
+import { DictDataStore } from '@/store/api/system/dictData'
+const store = CompanyStore()
+const dictDataStore = DictDataStore()
 // 加载中
 const loading = ref(false)
 // 路由
 const router = useRouter()
+const list = ref([
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  },
+  {
+    id: 1,
+    created_time: '2024-06-02 13:46:41',
+    update_time: '2024-06-02 13:46:41',
+    data_owner: null,
+    __v: 1,
+    user: 3,
+    name: '长春市福瑞科技有限公司',
+    logo: [],
+    code: '1234567890',
+    pattern: '0',
+    scale: '0',
+    phone: '18843520013',
+    type: '3',
+    area: ['山西省', '阳泉市'],
+    representative: '张三',
+    email: 'email1233@.com',
+    person: 100,
+    register: '100',
+    create_time: '2024-04-09 00:00:00',
+    address: '吉林省长春市力旺广场',
+    brief: '简介',
+    is_show: '0',
+    companyStatus: '0',
+    status: '1'
+  }
+])
+let skip = 0
+let limit = inject('limit')
+const total = ref(0)
+// 是否展开
+const oneShow = ref(false)
+const twoShow = ref(false)
+// 字典表
+const fieldList = ref([])
+const statusList = ref([])
+const patternList = ref([])
+const scaleList = ref([])
+const IndustryList = ref([])
+const cityList = ref([])
+const plateList = ref([
+  { label: '不限', value: '-1' },
+  { label: '汽车电子及新型汽车零部件', value: '0' },
+  { label: '精细化工及天然气化工', value: '1' },
+  { label: '农产品加工及绿色食品', value: '2' },
+  { label: '生物基新材料', value: '6' },
+  { label: '光电子及智能传感器', value: '3' },
+  { label: '车规级芯片及功率半导体器件', value: '4' },
+  { label: '新能源及动力电池', value: '5' },
+  { label: '人工智能及智能机器人', value: '7' },
+  { label: '碳纤维及复合材料', value: '8' },
+  { label: '遥感卫星及航天航空技术', value: '9' },
+  { label: '精密仪器及先进装备', value: '10' },
+  { label: '生物医药及先进医疗器械', value: '11' }
+])
+// 请求
+onMounted(async () => {
+  loading.value = true
+  await searchOther()
+  await search({ skip, limit })
+  loading.value = false
+})
+const searchOther = async () => {
+  let result
+  // 技术领域
+  result = await dictDataStore.query({ code: 'field', is_use: '0' })
+  if ($checkRes(result)) fieldList.value = result.data
+  // 企业状态
+  result = await dictDataStore.query({ code: 'companyStatus', is_use: '0' })
+  if ($checkRes(result)) statusList.value = result.data
+  // 企业类型
+  result = await dictDataStore.query({ code: 'companyType', is_use: '0' })
+  if ($checkRes(result)) patternList.value = result.data
+  // 企业规模
+  result = await dictDataStore.query({ code: 'companyScale', is_use: '0' })
+  if ($checkRes(result)) scaleList.value = result.data
+  // 企业所属行业
+  result = await dictDataStore.query({ code: 'companyIndustry', is_use: '0' })
+  if ($checkRes(result)) IndustryList.value = result.data
+  // 城市
+  getCity().then((response) => (cityList.value = response.address))
+}
+const search = async (query = { skip: 0, limit }) => {
+  const info = {
+    skip: query.skip,
+    limit: query.limit,
+    is_show: '0',
+    status: '1'
+  }
+}
+// 字典数据转换
+const getDict = (data, model) => {
+  let res
+  if (model == 'field') res = fieldList.value.find((f) => f.value == data)
+  else if (model == 'status') res = statusList.value.find((f) => f.value == data)
+  else if (model == 'pattern') res = patternList.value.find((f) => f.value == data)
+  else if (model == 'scale') res = scaleList.value.find((f) => f.value == data)
+  return get(res, 'label')
+}
+// 查看
+const toView = (item) => {
+  router.push({ path: `/company/detail`, query: { id: item.id || item._id } })
+}
+const getUrl = (item) => {
+  if (item && item.length > 0) return `${import.meta.env.VITE_APP_HOST}${item[0].uri}`
+}
 </script>
 <style scoped lang="scss">
 .main {
+  .one {
+    .image {
+      width: 100%;
+      height: 350px;
+    }
+  }
+  .two {
+    margin: 25px 0;
+    .Seacher {
+      display: flex;
+      justify-content: center;
+      align-items: stretch;
+      position: relative;
+      border: solid 1px #e5e5e5;
+      border-bottom: 0;
+      font-size: $global-font-size-18;
+      color: #666;
+      min-height: 60px;
+      overflow: hidden;
+      .Left {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        flex-shrink: 0;
+        width: 110px;
+        text-align: center;
+        color: #000;
+        font-weight: bold;
+        background-color: #fafafa;
+      }
+      .Right {
+        display: flex;
+        flex-wrap: wrap;
+        align-items: center;
+        padding: 12px;
+        flex: 1;
+        border-left: solid 1px #e5e5e5;
+        background-color: #fff;
+        .label {
+          color: #313131;
+          margin-bottom: 10px;
+          padding: 8px 10px;
+          border-radius: 3px;
+          background-color: #fff;
+          border: solid 1px transparent;
+          cursor: pointer;
+        }
+        .label:first-child {
+          color: #0a58c2;
+          border: solid 1px #006dd2;
+        }
+        .label:hover {
+          color: $global-color-107;
+        }
+      }
+      .button {
+        display: flex;
+        align-items: center;
+        margin: 0 5px 0 0;
+      }
+    }
+    .Seacher:last-child {
+      border: solid 1px #e5e5e5;
+      border-bottom: 1;
+    }
+  }
+  .thr {
+    padding: 25px 0 0 0;
+    display: flex;
+    flex-wrap: wrap;
+    .list {
+      float: left;
+      width: 390px;
+      padding: 15px;
+      margin: 0 0 25px 41px;
+      background: #f0f8ff;
+      color: #000;
+      .name {
+        height: 57px;
+        line-height: 57px;
+        overflow: hidden;
+        font-size: $global-font-size-18;
+        font-weight: bold;
+      }
+      .other {
+        display: flex;
+        .other_1 {
+          .image {
+            width: 95px;
+            height: 95px;
+            display: inline-block;
+          }
+        }
+        .other_2 {
+          display: flex;
+          flex-direction: column;
+          margin: 0 0 0 10px;
+          .text {
+            height: 25px;
+            display: block;
+            line-height: 24px;
+            overflow: hidden;
+            color: #666;
+            margin-bottom: 10px;
+            em {
+              border: 1px #ccc solid;
+              background: #fff;
+              border: 1px #ab94f8 solid;
+              padding: 1px 5px;
+              color: #4131bb;
+              margin-right: 6px;
+            }
+          }
+        }
+      }
+    }
+  }
+  .four {
+    display: flex;
+    justify-content: center;
+    margin: 20px 0;
+  }
 }
 </style>

+ 172 - 1
src/views/detail/companyDetail.vue

@@ -1,19 +1,190 @@
 <template>
   <custom-layout class="main">
-    <el-col :span="24" class="one">首页 </el-col>
+    <el-col :span="24" class="one">
+      <div class="w_1300">
+        <el-col :span="24" class="one_1"> </el-col>
+        <el-col :span="24" class="one_2">
+          <div class="oneLeft">
+            <el-image class="image" :src="getUrl(info.logo)" fit="fill">
+              <template v-slot:error>
+                <el-image class="image" :src="companyLogo" fit="fill" />
+              </template>
+            </el-image>
+          </div>
+          <div class="oneRight">
+            <div class="name">{{ info.name || '暂无' }}</div>
+            <p><span>企业类型: </span>{{ getDict(info.pattern, 'pattern') }}</p>
+            <p><span>企业规模: </span>{{ getDict(info.scale, 'scale') }}</p>
+            <p><span>企业所属行业: </span>{{ getDict(info.type, 'industry') }}</p>
+            <p><span>企业地址: </span>{{ info.address || '暂无' }}</p>
+          </div>
+        </el-col>
+        <el-col :span="24" class="one_3">
+          <div class="title">
+            <span class="tit-a">企业简介</span>
+            <span class="tit-b"></span><span class="tit-c"></span>
+          </div>
+        </el-col>
+      </div>
+    </el-col>
   </custom-layout>
 </template>
 
 <script setup>
+import companyLogo from '/images/companyLogo.jpg'
 import { UserStore } from '@/store/user'
 const userStore = UserStore()
 const user = computed(() => userStore.user)
+// API 引用
+import { getCity } from '@/utils/city'
+const $checkRes = inject('$checkRes')
+import { get } from 'lodash-es'
+// 接口
+import { CompanyStore } from '@/store/api/user/company'
+import { DictDataStore } from '@/store/api/system/dictData'
+const store = CompanyStore()
+const dictDataStore = DictDataStore()
 // 加载中
 const loading = ref(false)
 // 路由
 const router = useRouter()
+const info = ref({
+  id: 1,
+  created_time: '2024-06-02 13:46:41',
+  update_time: '2024-06-02 13:46:41',
+  data_owner: null,
+  __v: 1,
+  user: 3,
+  name: '长春市福瑞科技有限公司',
+  logo: [],
+  code: '1234567890',
+  pattern: '0',
+  scale: '0',
+  phone: '18843520013',
+  type: '3',
+  area: ['山西省', '阳泉市'],
+  representative: '张三',
+  email: 'email1233@.com',
+  person: 100,
+  register: '100',
+  create_time: '2024-04-09 00:00:00',
+  address: '吉林省长春市力旺广场',
+  brief: '简介',
+  is_show: '0',
+  companyStatus: '0',
+  status: '1'
+})
+// 字典表
+const fieldList = ref([])
+const statusList = ref([])
+const patternList = ref([])
+const scaleList = ref([])
+const IndustryList = ref([])
+const cityList = ref([])
+// 请求
+onMounted(async () => {
+  loading.value = true
+  await searchOther()
+  await search()
+  loading.value = false
+})
+const searchOther = async () => {
+  let result
+  // 技术领域
+  result = await dictDataStore.query({ code: 'field', is_use: '0' })
+  if ($checkRes(result)) fieldList.value = result.data
+  // 企业状态
+  result = await dictDataStore.query({ code: 'companyStatus', is_use: '0' })
+  if ($checkRes(result)) statusList.value = result.data
+  // 企业类型
+  result = await dictDataStore.query({ code: 'companyType', is_use: '0' })
+  if ($checkRes(result)) patternList.value = result.data
+  // 企业规模
+  result = await dictDataStore.query({ code: 'companyScale', is_use: '0' })
+  if ($checkRes(result)) scaleList.value = result.data
+  // 企业所属行业
+  result = await dictDataStore.query({ code: 'companyIndustry', is_use: '0' })
+  if ($checkRes(result)) IndustryList.value = result.data
+  // 城市
+  getCity().then((response) => (cityList.value = response.address))
+}
+const search = async () => {}
+// 字典数据转换
+const getDict = (data, model) => {
+  let res
+  if (model == 'industry') res = IndustryList.value.find((f) => f.value == data)
+  else if (model == 'status') res = statusList.value.find((f) => f.value == data)
+  else if (model == 'pattern') res = patternList.value.find((f) => f.value == data)
+  else if (model == 'scale') res = scaleList.value.find((f) => f.value == data)
+  return get(res, 'label')
+}
+const getUrl = (item) => {
+  if (item && item.length > 0) return `${import.meta.env.VITE_APP_HOST}${item[0].uri}`
+}
 </script>
 <style scoped lang="scss">
 .main {
+  background: url(/images/fws-det-bg.jpg) no-repeat left top;
+  .one {
+    .one_1 {
+      padding: 20px 0;
+    }
+    .one_2 {
+      display: flex;
+      .oneLeft {
+        .image {
+          width: 188px;
+          height: 188px;
+          line-height: 188px;
+          margin-right: 24px;
+          text-align: center;
+          background-color: $global-color-fff;
+          overflow: hidden;
+        }
+      }
+      .oneRight {
+        .name {
+          font-size: $global-font-size-26;
+          margin-bottom: 20px;
+          color: $global-color-fff;
+        }
+        p {
+          font-size: $global-font-size-16;
+          line-height: 20px;
+          color: $global-color-fff;
+          span {
+            color: #00baff;
+            margin-right: 15px;
+          }
+        }
+      }
+    }
+    .one_3 {
+      background-color: #fff;
+      box-shadow: 0 0 13px 0 rgba(14, 5, 10, 0.16);
+      padding: 27px 27px 0;
+      margin-bottom: 20px;
+      .title {
+        padding-left: 25px;
+        display: inline-block;
+        height: 55px;
+        line-height: 50px;
+        vertical-align: middle;
+        .tit-a {
+          width: 195px;
+          font-size: $global-font-size-24;
+          border-bottom: 3px #637d8d solid;
+        }
+        .tit-b {
+          width: 77%;
+          border-bottom: 1px #e5e5e5 solid;
+        }
+        .tit-c {
+          width: 32px;
+          border-bottom: 3px #637d8d solid;
+        }
+      }
+    }
+  }
 }
 </style>

+ 7 - 7
src/views/detail/studyDetail.vue

@@ -12,12 +12,12 @@
         </div>
         <div class="twoValue">
           <div class="value" v-for="(item, index) in list" :key="index">
-            <div class="table-colunm table-colunm1">{{ item.id || '暂无' }}</div>
-            <div class="table-colunm table-colunm3">{{ item.name || '暂无' }}</div>
-            <div class="table-colunm table-colunm1">{{ item.client || '暂无' }}</div>
-            <div class="table-colunm table-colunm1">{{ item.partner || '暂无' }}</div>
-            <div class="table-colunm table-colunm3">{{ item.brief || '暂无' }}</div>
-            <div class="table-colunm table-colunm1 button" @click="toView(item)">查看详情</div>
+            <div class="table-colunm table-colunm1 textOne">{{ item.id || '暂无' }}</div>
+            <div class="table-colunm table-colunm3 textOne">{{ item.name || '暂无' }}</div>
+            <div class="table-colunm table-colunm1 textOne">{{ item.client || '暂无' }}</div>
+            <div class="table-colunm table-colunm1 textOne">{{ item.partner || '暂无' }}</div>
+            <div class="table-colunm table-colunm3 textOne">{{ item.brief || '暂无' }}</div>
+            <div class="table-colunm button" @click="toView(item)">查看详情</div>
           </div>
         </div>
         <div class="twoTotal">
@@ -44,7 +44,7 @@ const column = ref([
   { name: '委托方', key: 'client', style: { width: '116px' } },
   { name: '合作方', key: 'partner', style: { width: '116px' } },
   { name: '研究主旨', key: 'brief', style: { width: '416px' } },
-  { name: '操作', key: 'operation', style: { width: '116px' } }
+  { name: '操作', key: 'operation', style: { width: '216px' } }
 ])
 const list = ref([
   {