detail.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <template>
  2. <div id="index">
  3. <el-row>
  4. <el-col :span="24" class="main animate__animated animate__backInRight" v-loading="loading">
  5. <cHead style="background-color: #2e3546; color: #f0f2f5"></cHead>
  6. <div class="w_1200">
  7. <el-col :span="24" class="one">
  8. <el-row :span="24" class="one_1">
  9. <el-col :span="20" class="title">{{ info.title || '暂无标题' }}</el-col>
  10. <el-col :span="4" class="file">
  11. <el-icon>
  12. <Download />
  13. </el-icon>
  14. 附件下载
  15. </el-col>
  16. </el-row>
  17. <el-row :span="24" class="one_2"> 普通许可 </el-row>
  18. </el-col>
  19. <el-col :span="24" class="two">
  20. <a-descriptions bordered title="简介">
  21. <a-descriptions-item label="行业领域">行业领域</a-descriptions-item>
  22. <a-descriptions-item label="需求紧急度">需求紧急度</a-descriptions-item>
  23. <a-descriptions-item label="合作方式">合作方式</a-descriptions-item>
  24. <a-descriptions-item label="有效期">有效期</a-descriptions-item>
  25. <a-descriptions-item label="地区">地区</a-descriptions-item>
  26. </a-descriptions>
  27. </el-col>
  28. <el-col :span="24" class="thr">
  29. <el-col :span="24" class="thr_1">单位信息</el-col>
  30. <el-row :span="24" class="thr_2">
  31. <el-col :span="17" class="left">
  32. <el-col :span="24" class="name">
  33. {{ info.unit || '暂无' }}
  34. </el-col>
  35. <el-col :span="24" class="other"> <span>联系人</span>{{ info.unit || '暂无' }} </el-col>
  36. </el-col>
  37. <el-col :span="4" class="right">
  38. <a-button type="primary">
  39. <template #icon>
  40. <MessageOutlined />
  41. </template>
  42. 点击在线洽谈
  43. </a-button>
  44. </el-col>
  45. </el-row>
  46. </el-col>
  47. <a-divider />
  48. <el-col :span="24" class="four">
  49. <a-tabs>
  50. <a-tab-pane tab="需求详情">{{ info.brief || '暂无' }}</a-tab-pane>
  51. </a-tabs>
  52. </el-col>
  53. </div>
  54. </el-col>
  55. </el-row>
  56. <cFoot class="foot"></cFoot>
  57. </div>
  58. </template>
  59. <script setup lang="ts">
  60. // 基础
  61. import type { Ref } from 'vue';
  62. import { onMounted, ref } from 'vue';
  63. import { useRoute } from 'vue-router';
  64. import { MessageOutlined } from '@ant-design/icons-vue';
  65. // 接口
  66. // import { ToolsStore } from '@/stores/tool';
  67. // import type { IQueryResult } from '@/util/types.util';
  68. // const toolsAxios = ToolsStore();
  69. // 路由
  70. const route = useRoute();
  71. // 加载中
  72. const loading: Ref<any> = ref(false);
  73. const info: Ref<any> = ref({
  74. unit: '舟山海韵机械制造有限公司',
  75. title: '异戊烯醇产品后续加工需要技术支持',
  76. brief: '异戊烯醇产品完成之后后续加工需要技术支持'
  77. });
  78. // 请求
  79. onMounted(async () => {
  80. loading.value = true;
  81. await searchOther();
  82. await search();
  83. loading.value = false;
  84. });
  85. const search = async () => {
  86. // let id = route.query.id;
  87. // if (id) {
  88. // let res: IQueryResult = await userCheckAxios.fetch(id);
  89. // if (res.errcode == '0') {
  90. // let info: any = res.data as {};
  91. // form.value = info;
  92. // dataChange({ value: info.work_status, model: 'work_status' });
  93. // }
  94. // }
  95. };
  96. // 查询其他信息
  97. const searchOther = async () => {
  98. // let res: IQueryResult;
  99. // // 性别
  100. // res = await dictAxios.query({ type: 'common_gender' });
  101. // if (res.errcode == '0') genderList.value = res.data;
  102. };
  103. </script>
  104. <style scoped lang="scss">
  105. .main {
  106. background: url(/src/assets/detail.png) right top no-repeat;
  107. background-size: 100%;
  108. .one {
  109. margin: 10px 0;
  110. .one_1 {
  111. margin: 20px 0 10px 0;
  112. .title {
  113. font-size: 18px;
  114. font-weight: 700;
  115. color: #383b40;
  116. }
  117. .file {
  118. display: flex;
  119. align-items: center;
  120. justify-content: end;
  121. font-family: PingFangSC-Regular;
  122. font-size: 14px;
  123. color: #2374ff;
  124. text-align: right;
  125. }
  126. }
  127. .one_2 {
  128. display: inline-block;
  129. font-size: 12px;
  130. background: rgba(18, 172, 117, .05);
  131. color: #12ac75;
  132. padding: 0 15px;
  133. height: 20px;
  134. line-height: 20px;
  135. border-radius: 10px;
  136. margin-bottom: 2px;
  137. }
  138. }
  139. .two {
  140. background: #f9fafb;
  141. border-radius: 2px;
  142. padding: 30px;
  143. margin: 34px 0 20px;
  144. font-family: PingFangSC-Medium;
  145. font-size: 14px;
  146. color: #383b40;
  147. line-height: 14px;
  148. }
  149. .thr {
  150. margin: 0 0 10px 0;
  151. .thr_1 {
  152. margin-bottom: 20px;
  153. font-size: 18px;
  154. font-weight: 700;
  155. color: #383b40;
  156. }
  157. .thr_2 {
  158. display: flex;
  159. justify-content: space-between;
  160. align-items: center;
  161. background: #fff;
  162. border: 1px solid #edeff2;
  163. box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .03);
  164. border-radius: 2px;
  165. padding: 30px 20px;
  166. .left {
  167. .name {
  168. height: 20px;
  169. font-family: PingFangSC-Semibold;
  170. font-size: 18px;
  171. color: #383b40;
  172. line-height: 20px;
  173. font-weight: 700;
  174. margin-bottom: 8px;
  175. }
  176. .other {
  177. height: 14px;
  178. font-family: PingFangSC-Medium;
  179. font-size: 14px;
  180. color: #383b40;
  181. line-height: 14px;
  182. font-weight: 700;
  183. span {
  184. height: 14px;
  185. font-family: PingFangSC-Regular;
  186. font-size: 14px;
  187. color: #7e8288;
  188. line-height: 14px;
  189. font-weight: 400;
  190. margin-right: 16px;
  191. }
  192. }
  193. }
  194. .right {
  195. display: flex;
  196. justify-content: space-between;
  197. }
  198. }
  199. }
  200. .four {
  201. margin: 0 0 10px 0;
  202. }
  203. }
  204. .foot {
  205. background-color: #2e3546;
  206. color: #f0f2f5;
  207. }
  208. </style>