【前端】智能库房综合管理系统前端项目
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.

201 lines
6.4 KiB

  1. <template>
  2. <div class="app-container container-wrap">
  3. <span class="right-top-line" />
  4. <span class="left-bottom-line" />
  5. <div class="head-container">
  6. <el-button size="mini" @click="handleAdd">
  7. <svg-icon icon-class="xinzengpandian-fanbai" class-name="svg-style" />新增盘点</el-button>
  8. <el-button
  9. icon="el-icon-delete"
  10. size="mini"
  11. style="margin:0 7px 0 7px"
  12. :disabled="selections.length ? false : true "
  13. @click="deleteVisible = true"
  14. >删除</el-button>
  15. <el-input
  16. v-model="keyWord"
  17. size="small"
  18. clearable
  19. placeholder="请输入关键词"
  20. style="width: 300px;margin-right:10px"
  21. class="input-prepend filter-item"
  22. @keyup.enter.native="crud.toQuery"
  23. >
  24. <el-select slot="prepend" v-model="cateSearch" style="width: 80px">
  25. <el-option
  26. v-for="item in cateSearchOptions"
  27. :key="item.value"
  28. :label="item.label"
  29. :value="item.value"
  30. />
  31. </el-select>
  32. </el-input>
  33. <rrOperation />
  34. <!-- <crudOperation :permission="permission" /> -->
  35. </div>
  36. <!--表格渲染-->
  37. <el-table
  38. ref="table"
  39. :data="tableData"
  40. :cell-class-name="cell"
  41. style="min-width: 100%"
  42. height="calc(100vh - 315px)"
  43. @selection-change="selectionChangeHandler"
  44. @row-click="clickRowHandler"
  45. @row-dblclick="handleDbClick"
  46. >
  47. <el-table-column type="selection" width="55" />
  48. <el-table-column type="index" align="center" label="序号" width="55" />
  49. <el-table-column prop="checkNum" align="center" label="盘点单号" min-width="100" />
  50. <el-table-column prop="containPath" align="center" label="包含位置" min-width="140" />
  51. <el-table-column prop="checkState" align="center" label="盘点状态" min-width="60">
  52. <template slot-scope="scope">
  53. <!-- 已执行 / 待执行/执行中 -->
  54. <span class="clear">{{ scope.row.checkState }}</span>
  55. </template>
  56. </el-table-column>
  57. <el-table-column prop="storeNum" align="center" label="在库档案" min-width="60" />
  58. <el-table-column prop="CheckedNum" align="center" label="已盘档案" min-width="60" />
  59. <el-table-column prop="noCheckNum" align="center" label="未盘档案" min-width="60" />
  60. <el-table-column prop="haveLendNum" align="center" label="已借档案" min-width="60" />
  61. <el-table-column prop="misplaceNum" align="center" label="错位档案" min-width="60" />
  62. <el-table-column prop="CreateTime" align="center" label="创建时间" min-width="100" />
  63. </el-table>
  64. <!-- 删除模态框 -->
  65. <el-dialog title="确认删除" :visible.sync="deleteVisible" :before-close="handleClose">
  66. <span class="dialog-right-top" />
  67. <span class="dialog-left-bottom" />
  68. <div class="setting-dialog">
  69. <div class="dialog-delt">
  70. <p><span>确定删除当前盘点任务</span></p>
  71. <p class="delt-tip"><span>提示确定删除后,该数据将无法找回!</span></p>
  72. </div>
  73. <div slot="footer" class="dialog-footer">
  74. <el-button type="primary" @click.native="handleConfirm">确定</el-button>
  75. </div>
  76. </div>
  77. </el-dialog>
  78. <!-- 新增模态框 -->
  79. <addCheck ref="addCheckDom" />
  80. <!-- 盘点详情 -->
  81. <checkDetail ref="checkDetailDom" />
  82. <!--分页组件-->
  83. <pagination />
  84. </div>
  85. </template>
  86. <script>
  87. import rrOperation from '@crud/RR.operation'
  88. import CRUD, { presenter } from '@crud/crud'
  89. // import crudJob from '@/api/system/job'
  90. // import crudOperation from '@crud/CRUD.operation'
  91. import pagination from '@crud/Pagination'
  92. import data1 from './data1.json'
  93. import addCheck from './module/addCheck.vue'
  94. import checkDetail from './module/checkDetail.vue'
  95. export default {
  96. name: 'ArchivesCheck',
  97. components: { pagination, rrOperation, addCheck, checkDetail },
  98. mixins: [presenter()],
  99. cruds() {
  100. return CRUD({
  101. url: 'api/case/initCaseList',
  102. // crudMethod: caseCrudMethod,
  103. title: '档案盒',
  104. optShow: {
  105. add: false,
  106. edit: false,
  107. del: false,
  108. download: false,
  109. group: false
  110. }
  111. })
  112. },
  113. // dicts: ['job_status'],
  114. data() {
  115. return {
  116. tableData: [],
  117. selections: [],
  118. keyWord: '',
  119. cateSearch: '区域',
  120. cateSearchOptions: [
  121. { value: '选项1', label: '区域' }
  122. ],
  123. deleteVisible: false
  124. }
  125. },
  126. created() {
  127. this.getData()
  128. },
  129. methods: {
  130. getData() {
  131. this.tableData = data1.rows
  132. },
  133. handleConfirm() {
  134. this.deleteVisible = false
  135. },
  136. handleAdd() {
  137. this.$refs.addCheckDom.addFormVisible = true
  138. },
  139. handleClose() {
  140. this.deleteVisible = false
  141. },
  142. cell({ row, columnIndex }) {
  143. if (row.checkState === '已执行' && columnIndex === 4) {
  144. return 'have-clear'
  145. } else if (row.checkState === '待执行' && columnIndex === 4) {
  146. return 'fail-clear'
  147. } else if (row.checkState === '执行中' && columnIndex === 4) {
  148. return 'no-clear'
  149. }
  150. },
  151. selectionChangeHandler(val) {
  152. this.selections = val
  153. },
  154. clickRowHandler(row) {
  155. this.$refs.table.toggleRowSelection(row)
  156. },
  157. handleDbClick(row) {
  158. // this.$refs.table.clearSelection()
  159. const checkDetailDom = this.$refs.checkDetailDom
  160. checkDetailDom.detailVisible = true
  161. checkDetailDom.rowData = row
  162. const arr = data1.rows.filter(item => item.checkNum === row.checkNum)
  163. checkDetailDom.tableData = arr
  164. // 状态类名
  165. if (row.checkState === '已执行') {
  166. checkDetailDom.classLend = 'have-clear'
  167. } else if (row.checkState === '待执行') {
  168. checkDetailDom.classLend = 'fail-clear'
  169. } else if (row.checkState === '执行中') {
  170. checkDetailDom.classLend = 'no-clear'
  171. }
  172. }
  173. }
  174. }
  175. </script>
  176. <style lang="scss" scoped>
  177. @import '~@/assets/styles/lend-manage.scss';
  178. @import "~@/assets/styles/archives-manage.scss";
  179. .head-container {
  180. color: #fff;
  181. }
  182. ::v-deep .el-dialog__footer {
  183. background-color: #031435;
  184. }
  185. .el-dialog .dialog-footer {
  186. padding: 0;
  187. margin: 0;
  188. }
  189. .svg-style{
  190. margin-right: 5px;
  191. }
  192. </style>