FileData copy.vue 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <template>
  2. <div style="background-color: #f0f2f5" class="dark:bg-dark-900">
  3. <div class="datacenter-right">
  4. <div class="resource_list" id="map_list">
  5. <div v-for="(i, n) in list" v-if="list.length" :key="n" data-permission="true" class="resource_item"
  6. data-checking="false" data-searching="1" data-ispub="1">
  7. <div class="mapItem-top-box">
  8. <div class="item-top">
  9. <div class="img_container" data-num="1">
  10. <img class="tab-list-icon-img-MR00001936 img_mr MR00001936"
  11. :src="i.info && i.info.length && i.info[0].thumbnail" alt="">
  12. </div>
  13. </div>
  14. <div class="item-title">
  15. <span class="r_name">{{ i.SERVICENAME }}</span>
  16. <span class="r-number" data-num="1" title="编目1次">1</span>
  17. </div>
  18. <div class="item-msg">
  19. <div class="item-msg-val" style="font-weight:bold;font-size:12px;color: #000;">坐标系:{{ i.CRS }}</div>
  20. <div class="item-msg-val">适用流程:国家秘密和工作秘密数据成果申请,</div>
  21. <div class="item-msg-val">关键字:测试数据</div>
  22. <div class="item-msg-val">服务类型:{{ i.TYPENAME }}</div>
  23. </div>
  24. </div>
  25. <div class="operation-box">
  26. <div class="operation-item browse-item-btn browse-item-MR00001936">
  27. <a target="_blank" :href="`../../mapview.html?/iserver/services/map-16/rest/maps/LZS16envi1%4016.ijs`"
  28. style="border-right: 1px #ccc solid;">
  29. <span>浏览</span>
  30. </a>
  31. </div>
  32. <div class="operation-item alone-apply-btn alone-apply-btn-MR00001936">
  33. <span style="border-right: 1px #ccc solid;" onclick="cardApplyItem('mr')">
  34. <span>申请</span>
  35. </span>
  36. </div>
  37. <!-- <div class="user-apply-btn user-apply-btn-MR00001936"
  38. onclick="addApplyBank(this,'MR00001936','行政区域','1','测试数据','mr','2000坐标系4490')">
  39. <span>加入申请库</span>
  40. </div>
  41. <div class="dis-apply-btn dis-apply-btn-MR00001936">
  42. <span>已加入申请库</span>
  43. </div> -->
  44. <div class="operation-item" @click="handleQuery(i)">
  45. <a href="javascript:void(0)" class="">
  46. <span>详细</span>
  47. </a>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. <!-- <BasicTable @register="registerTable" class="dark:bg-dark-900">
  54. <template #toolbar>
  55. <Authority value="api:yt:smsLog:delete">
  56. <Popconfirm title="您确定要批量删除数据" ok-text="确定" cancel-text="取消" @confirm="handleDeleteOrBatchDelete(null)">
  57. <a-button type="primary" color="error" :disabled="hasBatchDelete"> 批量删除 </a-button>
  58. </Popconfirm>
  59. </Authority>
  60. </template>
  61. <template #remark="{ record }">
  62. <Tooltip :title="record.remark">
  63. <div class="truncate w-full">{{ record.remark }}</div>
  64. </Tooltip>
  65. </template>
  66. <template #action="{ record }">
  67. <TableAction :actions="[
  68. {
  69. label: '查看',
  70. auth: 'api:yt:smsLog:get',
  71. icon: 'ant-design:fund-view-outlined',
  72. onClick: handleQuery.bind(null, record),
  73. },
  74. {
  75. label: '删除',
  76. auth: 'api:yt:smsLog:delete',
  77. icon: 'ant-design:delete-outlined',
  78. color: 'error',
  79. popConfirm: {
  80. title: '是否确认删除',
  81. confirm: handleDeleteOrBatchDelete.bind(null, record),
  82. },
  83. },
  84. ]" />
  85. </template>
  86. </BasicTable> -->
  87. <!-- 弹出框 -->
  88. <MapDrawer @register="registerModal" />
  89. </div>
  90. </template>
  91. <script lang="ts">
  92. import { defineComponent, nextTick, onMounted, ref, defineProps, watch } from 'vue';
  93. import { BasicTable, useTable, TableAction } from '/@/components/Table';
  94. import { columns, searchFormSchema } from './sms.data';
  95. import { Popconfirm, Tooltip } from 'ant-design-vue';
  96. import { Authority } from '/@/components/Authority';
  97. import { platList, img } from '/@/api/resource/plat';
  98. // 加载自定义侧边弹出框 组件
  99. import { useDrawer } from '/@/components/Drawer';
  100. // 导入子页面【新增、修改】
  101. import MapDrawer from './MapDrawer.vue';
  102. export default defineComponent({
  103. name: 'SmsLog',
  104. components: { BasicTable, TableAction, Authority, Popconfirm, Tooltip, MapDrawer },
  105. setup() {
  106. const [registerModal, { openDrawer }] = useDrawer(); //使用右侧弹出框
  107. const list = ref([]);
  108. const props = defineProps({
  109. listData: {
  110. type: Array,
  111. default: () => [],
  112. }
  113. })
  114. // setInterval(() => {
  115. // console.log(props)
  116. // }, 2000)
  117. onMounted(() => {
  118. platList().then((r) => {
  119. if (r) {
  120. var o = r.find(i => i.type == 'DR')
  121. if (o && o.items && o.items.length) {
  122. o.items.map(async (i) => i.info = await img(i.SERVICEID))
  123. console.log(o);
  124. list.value = o.items;
  125. }
  126. }
  127. });
  128. });
  129. function handleQuery(record: Recordable) {
  130. console.log("11111:", record)
  131. openDrawer(true, {
  132. record,
  133. });
  134. }
  135. return {
  136. registerModal,
  137. list,
  138. handleQuery,
  139. };
  140. },
  141. });
  142. </script>
  143. <style scoped>
  144. .datacenter-right .resource_list .item-title .r_name {
  145. color: #5e5d5e;
  146. display: inline-block;
  147. width: 190px;
  148. overflow: hidden;
  149. text-overflow: ellipsis;
  150. white-space: nowrap;
  151. }
  152. .datacenter-right .resource_list {
  153. box-sizing: border-box;
  154. width: 100%;
  155. float: left;
  156. clear: both;
  157. display: flex;
  158. flex-wrap: wrap;
  159. align-items: center;
  160. }
  161. .datacenter-right .resource_list>div:not(:nth-of-type(4n + 4)) {
  162. margin-right: 7px;
  163. }
  164. .resource_item {
  165. height: 318px;
  166. width: 224px;
  167. margin-bottom: 14px;
  168. border: 2px dashed transparent;
  169. }
  170. .mapItem-top-box {
  171. height: 278px;
  172. border: 1px solid #dfdfdf;
  173. border-bottom: none;
  174. }
  175. .datacenter-right .resource_list .operation-box {
  176. height: 42px;
  177. border: 1px solid #dfdfdf;
  178. display: flex;
  179. margin-bottom: 10px;
  180. }
  181. .datacenter-right .resource_list .item-top {
  182. padding: 13px;
  183. }
  184. .datacenter-right .resource_list .item-top img {
  185. width: 198px;
  186. height: 124px;
  187. }
  188. .datacenter-right .resource_list .item-title {
  189. font-size: 14px;
  190. font-family: PingFang SC;
  191. font-weight: bold;
  192. color: #5e5d5e;
  193. line-height: 16px;
  194. padding: 0 0 0 14px;
  195. overflow: hidden;
  196. text-overflow: ellipsis;
  197. white-space: nowrap;
  198. }
  199. .datacenter-right .resource_list .item-msg {
  200. padding: 0 13px 13px;
  201. }
  202. .img_container {
  203. text-align: center;
  204. }
  205. .img_container {
  206. width: 100%;
  207. height: 100%;
  208. background: #b7bed3;
  209. border-radius: 4px;
  210. }
  211. .datacenter-right .resource_list .item-msg-val {
  212. font-size: 12px;
  213. font-family: PingFang SC;
  214. font-weight: bold;
  215. color: #5e5d5e;
  216. line-height: 22px;
  217. opacity: 0.5;
  218. overflow: hidden;
  219. text-overflow: ellipsis;
  220. white-space: nowrap;
  221. }
  222. .datacenter-right .resource_list .operation-item {
  223. width: 50%;
  224. display: flex;
  225. align-items: center;
  226. justify-content: center;
  227. }
  228. .datacenter-right .resource_list .operation-item.alone-apply-btn {
  229. display: none;
  230. }
  231. .datacenter-right .resource_list .operation-item {
  232. width: 50%;
  233. display: flex;
  234. align-items: center;
  235. justify-content: center;
  236. }
  237. .datacenter-right .resource_list .operation-item {
  238. width: 50%;
  239. display: flex;
  240. align-items: center;
  241. justify-content: center;
  242. }
  243. .datacenter-right .resource_list .operation-item a {
  244. font-size: 12px;
  245. width: 100%;
  246. text-align: center;
  247. color: #5e5d5e;
  248. background-color: #ffffff;
  249. }
  250. </style>