detali.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <template>
  2. <div id="policyrightcont">
  3. <el-row>
  4. <el-col :span="24" class="info">
  5. <el-col :span="24" class="infoTop">
  6. <span>详情页面</span>
  7. </el-col>
  8. <el-col :span="24" class="infoMiddle">
  9. <el-col :span="8" class="infoImage">
  10. <el-carousel trigger="click" height="400px">
  11. <template v-if="policyInfo.image && policyInfo.image.length > 0">
  12. <el-carousel-item v-for="(item, index) in policyInfo.image" :key="index">
  13. <el-image :src="item.url"> </el-image>
  14. </el-carousel-item>
  15. </template>
  16. <template v-if="policyInfo.image && policyInfo.image.length == 0"><h1 style="text-align:center;line-height:370px;">暂无图片</h1></template>
  17. </el-carousel>
  18. </el-col>
  19. <el-col :span="14" class="infoRight">
  20. <p>{{ policyInfo.name }}</p>
  21. <p class="infoType">
  22. <span>总分类:</span
  23. ><span>{{ policyInfo.totaltype === '0' ? '技术' : policyInfo.totaltype === '1' ? '产品' : policyInfo.totaltype === '2' ? '服务' : '暂无' }}</span>
  24. <span>类型名称:</span>
  25. <span>{{ policyInfo.product_type_name }}</span>
  26. </p>
  27. <p class="infoPrice">
  28. <span>收费标准:</span><span>{{ policyInfo.price }}元/</span><span>{{ policyInfo.priceunit }}</span>
  29. </p>
  30. <p class="infoStatus">
  31. <span>交易方式:</span
  32. ><span>{{ policyInfo.business === '0' ? '公用' : policyInfo.business === '1' ? '转让' : policyInfo.business === '2' ? '竞价' : '暂无' }}</span
  33. ><span>状态:</span
  34. ><span>{{
  35. policyInfo.status === '0' ? '待审核' : policyInfo.status === '1' ? '通过审核' : policyInfo.status === '2' ? '审核拒绝' : '暂无'
  36. }}</span>
  37. </p>
  38. <p class="infoStatus">
  39. <span>研发阶段:</span><span>{{ policyInfo.phase === '0' ? '阶段成果' : policyInfo.phase === '1' ? '最终成果' : '暂无' }}</span
  40. ><span>供/需:</span
  41. ><span>{{ policyInfo.business === '0' ? '公用' : policyInfo.business === '1' ? '供' : policyInfo.business === '2' ? '需' : '暂无' }}</span>
  42. </p>
  43. <p class="infoType">
  44. <span>联系人:</span><span>{{ policyInfo.contact_user }}</span
  45. ><span>联系电话:</span><span>{{ policyInfo.contact_tel }}</span>
  46. </p>
  47. </el-col>
  48. </el-col>
  49. <el-col :span="24" class="infoDown">
  50. <el-form label-width="150px">
  51. <el-form-item label="应用领域:">
  52. <span>{{ policyInfo.field }}</span>
  53. </el-form-item>
  54. <el-form-item label="市场前景:">
  55. <span>{{ policyInfo.prospect }}</span>
  56. </el-form-item>
  57. <el-form-item label="电子合同:">
  58. <span>{{ policyInfo.contract }}</span>
  59. </el-form-item>
  60. <el-form-item label="服务范围:">
  61. <span>{{ policyInfo.scope }}</span>
  62. </el-form-item>
  63. <el-form-item label="描述:">
  64. <span>{{ policyInfo.description }}</span>
  65. </el-form-item>
  66. <el-form-item label="知识产权:">
  67. <span>{{ policyInfo.property }}</span>
  68. </el-form-item>
  69. <el-form-item label="简介:">
  70. <span>{{ policyInfo.introduction }}</span>
  71. </el-form-item>
  72. <el-form-item label="产品参数:">
  73. <el-table :data="policyInfo.product_args" border style="width: 800px">
  74. <el-table-column prop="arg_name" label="参数名称"> </el-table-column>
  75. <el-table-column prop="memo" label="参数内容"> </el-table-column>
  76. </el-table>
  77. </el-form-item>
  78. </el-form>
  79. </el-col>
  80. <el-col :span="4" class="infoButton"> <el-button @click="onSubmit">立即创建</el-button></el-col>
  81. </el-col>
  82. </el-row>
  83. </div>
  84. </template>
  85. <script>
  86. export default {
  87. name: 'policyrightcont',
  88. props: { policyInfo: { type: Object, required: true, default: () => {} } },
  89. components: {},
  90. data: () => ({}),
  91. created() {},
  92. computed: {},
  93. methods: {
  94. onSubmit() {
  95. console.log(this.policyInfo);
  96. this.$emit('onSubmit', this.policyInfo);
  97. },
  98. },
  99. };
  100. </script>
  101. <style lang="less" scoped>
  102. p {
  103. padding: 0;
  104. margin: 0;
  105. }
  106. .infoTop {
  107. height: 60px;
  108. border-bottom: 1px solid #22529a;
  109. }
  110. .infoTop span:only-child {
  111. width: 15%;
  112. height: 60px;
  113. background-color: #22529a;
  114. color: #fff;
  115. text-align: center;
  116. line-height: 60px;
  117. font-size: 20px;
  118. display: block;
  119. }
  120. .infoMiddle {
  121. margin: 20px;
  122. padding-bottom: 20px;
  123. border-bottom: 1px dashed #ccc;
  124. }
  125. .infoImage {
  126. width: 40%;
  127. }
  128. .infoImage .el-image {
  129. width: 100%;
  130. height: 100%;
  131. }
  132. .infoRight {
  133. float: right;
  134. font-family: 微软雅黑;
  135. color: rgba(1, 1, 1, 0.7);
  136. }
  137. .infoRight p:first-child {
  138. font-size: 25px;
  139. margin: 20px 0 30px 0;
  140. }
  141. .infoType {
  142. font-size: 20px;
  143. }
  144. .infoType span:first-child {
  145. font-weight: bolder;
  146. }
  147. .infoType span:nth-child(2) {
  148. display: inline-block;
  149. width: 35%;
  150. }
  151. .infoType span:nth-child(3) {
  152. font-weight: bolder;
  153. }
  154. .infoPrice {
  155. background-color: rgba(1, 1, 1, 0.1);
  156. line-height: 60px;
  157. margin: 30px 0 30px 0;
  158. width: 600px;
  159. padding: 0 30px;
  160. font-size: 28px;
  161. color: #fe0000;
  162. }
  163. .infoPrice span:first-child {
  164. color: rgba(1, 1, 1, 0.7);
  165. font-size: 18px;
  166. }
  167. .infoStatus {
  168. margin: 30px 0 30px 0;
  169. }
  170. .infoStatus span:nth-child(2) {
  171. display: inline-block;
  172. width: 35%;
  173. }
  174. .infoDown {
  175. margin: 10px 20px;
  176. }
  177. /deep/.el-form-item__label {
  178. color: rgba(1, 1, 1, 0.7);
  179. font-size: 18px;
  180. }
  181. /deep/.el-form-item__content {
  182. color: rgba(1, 1, 1, 0.7);
  183. font-size: 18px;
  184. }
  185. /deep/.el-table th {
  186. background-color: #f3f3f3;
  187. color: rgba(1, 1, 1, 0.5);
  188. font-size: 18px;
  189. text-align: center;
  190. }
  191. /deep/.el-table td {
  192. color: rgba(1, 1, 1, 0.7);
  193. font-size: 18px;
  194. text-align: center;
  195. }
  196. .infoButton {
  197. margin: 20px auto;
  198. float: none;
  199. }
  200. /deep/.el-button {
  201. width: 100px;
  202. background-color: #22529a;
  203. border-radius: 0;
  204. color: white;
  205. }
  206. </style>