【前端】智能库房综合管理系统前端项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
6.5 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <template>
  2. <div class="app-container" style="background-color: #031435;">
  3. <div>
  4. <el-row :gutter="20">
  5. <el-col :xs="24" :sm="24" :lg="8">
  6. <div class="top-row container-wrap" style="height:calc(25vh - 40px)">
  7. <span class="right-top-line" />
  8. <span class="left-bottom-line" />
  9. <h3 class="table-title">
  10. <p class="title-arrow">档案借阅</p>
  11. </h3>
  12. <div class="chart-wrapper" style="height: calc(100% - 40px);">
  13. <lend-across :lend-data="lendData" />
  14. </div>
  15. </div>
  16. </el-col>
  17. <el-col :xs="24" :sm="24" :lg="8">
  18. <div class="top-row container-wrap" style="height:calc(25vh - 40px)">
  19. <span class="right-top-line" />
  20. <span class="left-bottom-line" />
  21. <h3 class="table-title">
  22. <p class="title-arrow">档案类别</p>
  23. </h3>
  24. <el-date-picker
  25. v-model="cateDate"
  26. type="year"
  27. placeholder="请选择"
  28. value-format="yyyy"
  29. :picker-options="pickerOptions"
  30. @change="handleCateDate"
  31. />
  32. <div class="chart-wrapper" style="height: calc(100% - 40px);">
  33. <cate-pie :cate-data="cateData" />
  34. </div>
  35. </div>
  36. </el-col>
  37. <el-col :xs="24" :sm="24" :lg="8">
  38. <div class="top-row container-wrap" style="height:calc(25vh - 40px)">
  39. <span class="right-top-line" />
  40. <span class="left-bottom-line" />
  41. <h3 class="table-title">
  42. <p class="title-arrow">档案类型</p>
  43. </h3>
  44. <el-date-picker
  45. v-model="typeDate"
  46. type="month"
  47. placeholder="请选择"
  48. value-format="yyyy-MM"
  49. @change="handleTypeDate"
  50. />
  51. <div v-if="typeData.length !== 0" class="chart-wrapper" style="height: calc(100% - 40px);">
  52. <type-pie :type-data="typeData" />
  53. </div>
  54. <div v-else class="empty-main">
  55. <svg-icon icon-class="empty" class-name="empty-img" />
  56. <p>暂无数据</p>
  57. </div>
  58. </div>
  59. </el-col>
  60. </el-row>
  61. <!-- 中间 -->
  62. <el-row class="center-box">
  63. <el-col class="center-chart" style="margin-right:20px">
  64. <div class="container-wrap" style="height:calc(25vh - 40px)">
  65. <span class="right-top-line" />
  66. <span class="left-bottom-line" />
  67. <h3 class="table-title">
  68. <p class="title-arrow">出入库管理情况</p>
  69. </h3>
  70. <el-date-picker
  71. v-model="inOutStorageDate"
  72. class="storageInput"
  73. type="year"
  74. placeholder="请选择"
  75. value-format="yyyy"
  76. :picker-options="pickerOptions"
  77. @change="handleStorageDate"
  78. />
  79. <div class="chart-wrapper" style="height: calc(100% - 40px);">
  80. <BarEcharts :storage-data="storageData" />
  81. </div>
  82. </div>
  83. </el-col>
  84. <el-col class="center-chart">
  85. <div class=" container-wrap" style="height:calc(25vh - 40px)">
  86. <span class="right-top-line" />
  87. <span class="left-bottom-line" />
  88. <h3 class="table-title">
  89. <p class="title-arrow">档案检索排名</p>
  90. </h3>
  91. <el-date-picker
  92. v-model="arcSearchDate"
  93. type="month"
  94. placeholder="请选择"
  95. value-format="yyyy-MM"
  96. @change="handleSearchDate"
  97. />
  98. <div v-if="searchAcrivesData.searchName.length !==0 && searchAcrivesData.searchName.searchValue !==0" class="chart-wrapper" style="height: calc(100% - 40px);">
  99. <AcrossBar ref="searchCharts" :search-acrives-data="searchAcrivesData" />
  100. </div>
  101. <div v-else class="empty-main">
  102. <svg-icon icon-class="empty" class-name="empty-img" />
  103. <p>暂无数据</p>
  104. </div>
  105. </div>
  106. </el-col>
  107. </el-row>
  108. <!-- 底部 -->
  109. <el-row :gutter="20">
  110. <el-col :xs="24" :sm="24" :lg="25">
  111. <div class="container-wrap" style="height:calc(25vh - 40px)">
  112. <span class="right-top-line" />
  113. <span class="left-bottom-line" />
  114. <h3 class="table-title">
  115. <p class="title-arrow">档案实际情况</p>
  116. </h3>
  117. <el-date-picker
  118. v-model="arcAddDate"
  119. type="year"
  120. placeholder="请选择"
  121. value-format="yyyy"
  122. :picker-options="pickerOptions"
  123. @change="handleArcAddSta"
  124. />
  125. <div class="chart-wrapper" style="height: calc(100% - 40px);">
  126. <LineEchart :add-arcives-data="addArcivesData" />
  127. </div>
  128. </div>
  129. </el-col>
  130. </el-row>
  131. </div>
  132. </div>
  133. </template>
  134. <script>
  135. import lendAcross from '@/views/components/echarts/lendAcross.vue'
  136. import catePie from '@/views/components/echarts/catePie.vue'
  137. import typePie from '@/views/components/echarts/typePie.vue'
  138. import BarEcharts from './module/barEcharts.vue'
  139. import AcrossBar from './module/acrossBar.vue'
  140. import LineEchart from './module/lineEchart.vue'
  141. import { statisticsCrud } from './mixins/statistics'
  142. export default {
  143. components: { lendAcross, catePie, typePie, BarEcharts, AcrossBar, LineEchart },
  144. mixins: [statisticsCrud],
  145. data() {
  146. return {
  147. }
  148. },
  149. mounted() {
  150. },
  151. methods: {
  152. }
  153. }
  154. </script>
  155. <style lang="scss" scoped>
  156. @import '~@/assets/styles/lend-manage.scss';
  157. .container-wrap{
  158. position: relative;
  159. min-height:calc(100vh - 636px) ;
  160. }
  161. ::v-deep .el-date-editor{
  162. position: absolute;
  163. right: 20px;
  164. top: 10px;
  165. width: 100px;
  166. z-index: 99;
  167. .el-input__inner{
  168. width: 100px;
  169. height: 30px;
  170. padding-left: 28px;
  171. padding-right: 10px;
  172. border: 1px solid #339cff;
  173. background-color: #021941;
  174. line-height: 30px;
  175. color: #fff;
  176. }
  177. .el-input__prefix{
  178. left: 3px;
  179. }
  180. .el-input__suffix{
  181. right: -2px;
  182. }
  183. }
  184. .center-box{
  185. margin:20px 0;
  186. display: flex;
  187. justify-content: space-between;
  188. .center-chart{
  189. padding:0;
  190. height:100%;
  191. flex: 1;
  192. }
  193. }
  194. </style>