dialog.ts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. import { IncidentItem } from '@/api/incident';
  2. import { ResourceItemDetail } from '@/api/resource';
  3. import { useCommonStore } from '@/store';
  4. export const GET_INCIDENT_DIALOG_HTML = (
  5. item: IncidentItem,
  6. callback = () => {},
  7. ) => {
  8. const commonStore = useCommonStore();
  9. const el = document.createElement('div');
  10. el.innerHTML = `
  11. <div>
  12. <div class="title">事件信息</div>
  13. <div class="content">
  14. <div><span>标题:</span><span>${item?.name ?? '-'}</span></div>
  15. <div><span>来源:</span><span>${
  16. commonStore.globalDict['zhdd_incident_type']?.find(
  17. (i) => i.dictValue.toString() === `${item?.source}`,
  18. )?.dictLabel ?? '-'
  19. }</span></div>
  20. <div><span>类型:</span><span>${
  21. commonStore.globalDict['zhdd_incident_type']?.find(
  22. (i) => i.dictValue.toString() === `${item?.type}`,
  23. )?.dictLabel ?? '-'
  24. }</span></div>
  25. <div><span>时间:</span><span>${item?.createTime ?? '-'}</span></div>
  26. <div><span>地点:</span><span>${item?.addr ?? '-'}</span></div>
  27. <div><span>描述:</span><span>${item?.des ?? '-'}</span></div>
  28. </div>
  29. </div>
  30. `;
  31. const action = document.createElement('div');
  32. action.className = 'action';
  33. const button = document.createElement('button');
  34. button.className = 'el-button el-button--primary el-button--small';
  35. button.innerHTML = '详情';
  36. action.appendChild(button);
  37. button.addEventListener('click', callback);
  38. el.appendChild(action);
  39. return el;
  40. };
  41. // • 视频打开后显示数据:
  42. // a.视频点位编号
  43. // b.视频点位地点
  44. // c.按钮可以打开一个窗口,然后窗口中显示摄像头拍摄内容 (目前还无该项目数据,暂定为该内容)
  45. export const GET_VIDEO_DIALOG_HTML = ({
  46. name,
  47. addr,
  48. link,
  49. }: {
  50. name?: string;
  51. addr?: string;
  52. link?: string;
  53. }) => {
  54. const el = document.createElement('div');
  55. el.innerHTML = `
  56. <div>
  57. <div class="title">视频监控信息</div>
  58. <div class="content">
  59. <div><span>编号:</span><span>${name ?? '-'}</span></div>
  60. <div><span>地点:</span><span>${addr ?? '-'}</span></div>
  61. </div>
  62. <div class="action">
  63. <button class="el-button el-button--primary el-button--small" type="button">
  64. <span>查看</span>
  65. </button>
  66. </div>
  67. </div>
  68. `;
  69. return el;
  70. };
  71. // • 应急仓库
  72. // a.应急仓库名称
  73. // b.应急仓库地点
  74. // c.应急仓库管理单位
  75. // d.联系人
  76. // e.联系电话
  77. // f.按钮(方式一:跳转应急仓库详情查看物资情况,方式二:在按钮旁边打开一个列表,该列表显示应急仓库的物资情况:物资名称、型号、数量)
  78. export const GET_WAREHOUSE_DIALOG_HTML = (
  79. item: ResourceItemDetail,
  80. callback = () => {},
  81. ) => {
  82. const el = document.createElement('div');
  83. el.innerHTML = `
  84. <div>
  85. <div class="title">应急仓库信息</div>
  86. <div class="content">
  87. <div><span>名称:</span><span>${item.name ?? '-'}</span></div>
  88. <div><span>地点:</span><span>${item.address ?? '-'}</span></div>
  89. <div><span>管理单位:</span><span>${item.manageUnit ?? '-'}</span></div>
  90. <div><span>联系人:</span><span>${item.contactName ?? '-'}</span></div>
  91. <div><span>联系方式:</span><span>${item.contactPhone ?? '-'}</span></div>
  92. </div>
  93. </div>
  94. `;
  95. const action = document.createElement('div');
  96. action.className = 'action';
  97. const button = document.createElement('button');
  98. button.className = 'el-button el-button--primary el-button--small';
  99. button.innerHTML = '查看物资情况';
  100. action.appendChild(button);
  101. button.addEventListener('click', callback);
  102. el.appendChild(action);
  103. return el;
  104. };
  105. // • 应急车辆
  106. // a.车牌号
  107. // b.归属单位
  108. // c.车辆类型 (应急车辆为实时位置,目前暂无具体数据)
  109. export const GET_VEHICLES_DIALOG_HTML = (item: {
  110. name?: string;
  111. manageUnit?: string;
  112. carType?: string;
  113. }) => {
  114. const commonStore = useCommonStore();
  115. const el = document.createElement('div');
  116. el.innerHTML = `
  117. <div>
  118. <div class="title">应急车辆信息</div>
  119. <div class="content">
  120. <div><span>车牌号:</span><span>${item.name ?? '-'}</span></div>
  121. <div><span>管理单位:</span><span>${item.manageUnit ?? '-'}</span></div>
  122. <div><span>车辆类型:</span><span>${
  123. commonStore.globalDict['zhdd_car_type']?.find(
  124. (i) => i.dictValue.toString() === `${item?.carType}`,
  125. )?.dictLabel ?? '-'
  126. }</span></div>
  127. </div>
  128. </div>
  129. `;
  130. return el;
  131. };
  132. // • 应急队伍
  133. // a.队伍名称
  134. // b.管理单位
  135. // c.携带物资
  136. // d.人数
  137. // e. 联系人
  138. // f.联系电话
  139. export const GET_TEAM_DIALOG_HTML = (item: ResourceItemDetail) => {
  140. const el = document.createElement('div');
  141. el.innerHTML = `
  142. <div>
  143. <div class="title">应急队伍信息</div>
  144. <div class="content">
  145. <div><span>队伍名称:</span><span>${item.name ?? '-'}</span></div>
  146. <div><span>管理单位:</span><span>${item.manageUnit ?? '-'}</span></div>
  147. <div><span>携带物资:</span><span>${item.carryGoods ?? '-'}</span></div>
  148. <div><span>人数:</span><span>${item.num ?? '-'}</span></div>
  149. <div><span>联系人:</span><span>${item.contactName ?? '-'}</span></div>
  150. <div><span>联系方式:</span><span>${item.contactPhone ?? '-'}</span></div>
  151. </div>
  152. </div>
  153. `;
  154. return el;
  155. };
  156. export const renderElement = (image: any) => {
  157. var el = document.createElement('div');
  158. el.id = 'marker';
  159. el.style.backgroundImage = `url(${image})`;
  160. el.style.backgroundSize = 'cover';
  161. el.style.width = '24px';
  162. el.style.height = '25px';
  163. // el.innerHTML = '<div>123</div>';
  164. // el.style.borderRadius = '50%';
  165. return el;
  166. };