CooperativeProject.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <a-layout class="management-container">
  3. <!-- 左侧单位树形结构 -->
  4. <!-- <a-layout-sider width="300" class="left-sider">-->
  5. <!-- <div class="decision-framework">-->
  6. <!-- <h3 class="section-title">决策框架构</h3>-->
  7. <!-- &lt;!&ndash; 业主单位 &ndash;&gt;-->
  8. <!-- <div class="company-section">-->
  9. <!-- <h4 class="company-title">业主单位</h4>-->
  10. <!-- <div class="group-section">-->
  11. <!-- <h5 class="group-title">集团公司名称信息展示位置</h5>-->
  12. <!-- <a-list :data-source="ownerSubsidiaries" :bordered="false" size="small">-->
  13. <!-- <template #renderItem="{ item }">-->
  14. <!-- <a-list-item class="subsidiary-item">{{ item }}</a-list-item>-->
  15. <!-- </template>-->
  16. <!-- </a-list>-->
  17. <!-- </div>-->
  18. <!-- </div>-->
  19. <!-- &lt;!&ndash; 总承包单位 &ndash;&gt;-->
  20. <!-- <div class="company-section">-->
  21. <!-- <h4 class="company-title">总承包单位</h4>-->
  22. <!-- <div class="group-section">-->
  23. <!-- <h5 class="group-title">集团公司名称信息展示位置</h5>-->
  24. <!-- <a-list :data-source="contractorSubsidiaries" :bordered="false" size="small">-->
  25. <!-- <template #renderItem="{ item }">-->
  26. <!-- <a-list-item class="subsidiary-item">{{ item }}</a-list-item>-->
  27. <!-- </template>-->
  28. <!-- </a-list>-->
  29. <!-- </div>-->
  30. <!-- </div>-->
  31. <!-- </div>-->
  32. <!-- </a-layout-sider>-->
  33. <!-- 右侧人员表格 -->
  34. <a-layout-content class="right-content">
  35. <div class="association-chain">
  36. <h3 class="section-title">关联链列表</h3>
  37. <bs-table v-bind="tableOptions">
  38. <template #toolbarLeft>
  39. <a-space>
  40. <span>累计留资客户 283人</span>
  41. </a-space>
  42. </template>
  43. </bs-table>
  44. <!-- <a-table-->
  45. <!-- :columns="columns"-->
  46. <!-- :data-source="dataSource"-->
  47. <!-- :pagination="false"-->
  48. <!-- size="middle"-->
  49. <!-- bordered-->
  50. <!-- >-->
  51. <!-- <template #bodyCell="{ column, record }">-->
  52. <!-- <template v-if="column.key === 'operation'">-->
  53. <!-- <a-space>-->
  54. <!-- <a-button type="link" size="small" @click="handleEdit(record)">编辑</a-button>-->
  55. <!-- <a-button type="link" size="small" danger @click="handleDelete(record)">删除</a-button>-->
  56. <!-- </a-space>-->
  57. <!-- </template>-->
  58. <!-- </template>-->
  59. <!-- </a-table>-->
  60. </div>
  61. </a-layout-content>
  62. </a-layout>
  63. </template>
  64. <script setup>
  65. import { ref } from 'vue';
  66. import {
  67. Layout,
  68. LayoutSider,
  69. LayoutContent,
  70. List,
  71. ListItem,
  72. Table,
  73. Button,
  74. Space,
  75. message
  76. } from 'ant-design-vue';
  77. import BsTable, {useBsTable} from "/@/components/BsUi/Table/index.js";
  78. const ownerSubsidiaries = [
  79. '下属公司名称信息展示',
  80. '下属公司名称信息展示位置',
  81. '下属公司名称信息展示位置',
  82. '下属公司名称信息展示位置',
  83. '下属公司名称信息展示位置',
  84. '下属公司名称信息展示位置',
  85. '下属公司名称信息展示位置',
  86. '下属公司名称信息展示位置'
  87. ];
  88. const contractorSubsidiaries = [
  89. '下属公司名称信息展示位置',
  90. '下属公司名称信息展示位置'
  91. ];
  92. const {
  93. tableOptions,
  94. setTablePropsValue: setValue,
  95. getTablePropsValue: getValue,
  96. } = useBsTable({
  97. tableOptions: {
  98. url: '',
  99. gridOptions: {
  100. loading: false,
  101. columns: [
  102. {
  103. field: 'knowRunyang',
  104. title: '姓名',
  105. },
  106. {
  107. field: 'knowRunyang',
  108. title: '性别',
  109. },
  110. {
  111. field: 'companyName',
  112. title: '年龄',
  113. },
  114. {
  115. field: 'address',
  116. title: '联系电话',
  117. },
  118. {
  119. field: 'contact',
  120. title: '类型',
  121. },
  122. {
  123. field: 'contactPhone',
  124. title: '职务',
  125. },
  126. {
  127. field: 'post',
  128. title: '邮箱',
  129. },
  130. {
  131. field: 'needDescription',
  132. title: '关系深度',
  133. },
  134. {
  135. field: 'communicativeProject',
  136. title: '爱好',
  137. },
  138. {
  139. field: 'projectDescription',
  140. title: '家庭情况',
  141. },
  142. {
  143. field: 'follow',
  144. title: '家庭住址',
  145. },
  146. {
  147. field: 'follow',
  148. title: '操作',
  149. },
  150. ],
  151. },
  152. pagerConfig: {
  153. enabled: true,
  154. pageSize: 10,
  155. pageNum: 1,
  156. total: 0,
  157. isFixed: false
  158. },
  159. toolbarConfig: {
  160. enable: false,
  161. },
  162. tableSearchBeforeBiz() {
  163. const searchParams = getValue('searchConfig.data');
  164. setValue('searchConfig.data', {...searchParams, id: id});
  165. },
  166. },
  167. });
  168. const handleEdit = (record) => {
  169. message.info(`编辑 ${record.name}`);
  170. // 这里添加实际的编辑逻辑
  171. };
  172. const handleDelete = (record) => {
  173. // dataSource.value = dataSource.value.filter(item => item.key !== record.key);
  174. // message.success(`已删除 ${record.name}`);
  175. };
  176. </script>
  177. <style scoped>
  178. .management-container {
  179. height: 100vh;
  180. background: #fff;
  181. }
  182. .left-sider {
  183. background: #fff;
  184. border-right: 1px solid #f0f0f0;
  185. padding: 16px;
  186. overflow-y: auto;
  187. }
  188. .right-content {
  189. padding: 16px;
  190. overflow-y: auto;
  191. }
  192. .section-title {
  193. font-size: 16px;
  194. font-weight: bold;
  195. margin-bottom: 16px;
  196. color: #333;
  197. }
  198. .company-section {
  199. margin-bottom: 24px;
  200. }
  201. .company-title {
  202. font-size: 15px;
  203. font-weight: bold;
  204. margin: 12px 0 8px 0;
  205. color: #333;
  206. }
  207. .group-title {
  208. font-size: 14px;
  209. font-weight: normal;
  210. margin: 8px 0;
  211. color: #666;
  212. padding-left: 8px;
  213. }
  214. .subsidiary-item {
  215. padding: 4px 0 4px 16px;
  216. font-size: 13px;
  217. color: #666;
  218. }
  219. /* 调整列表项样式 */
  220. :deep(.ant-list-item) {
  221. padding: 0 !important;
  222. border: none !important;
  223. }
  224. /* 表格样式调整 */
  225. :deep(.ant-table) {
  226. background: #fff;
  227. }
  228. :deep(.ant-table-thead > tr > th) {
  229. background: #fafafa;
  230. font-weight: bold;
  231. }
  232. </style>