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

294 lines
9.5 KiB

  1. <template>
  2. <div class="to-lend">
  3. <head-slot>
  4. <!-- <crudOperation :permission="permission" /> -->
  5. <el-button icon="el-icon-plus" size="mini" @click="addFormVisible = true">新增</el-button>
  6. <el-button icon="el-icon-edit" size="mini" :disabled="selections.length===1 ? false : true " @click="handelEdit">修改</el-button>
  7. <el-button icon="el-icon-delete" size="mini" :disabled="selections.length ? false : true " @click="deleteVisible = true">删除</el-button>
  8. <!-- 搜索 -->
  9. <el-input
  10. v-model="query.name"
  11. clearable
  12. size="small"
  13. placeholder="请输入关键词"
  14. prefix-icon="el-icon-search"
  15. style="width: 200px; margin-left: 10px"
  16. class="filter-item"
  17. @keyup.enter.native="crud.toQuery"
  18. />
  19. <rrOperation />
  20. </head-slot>
  21. <!--表格渲染-->
  22. <el-table
  23. ref="table"
  24. :data="tableData"
  25. style="min-width: 100%"
  26. height="calc(100vh - 355px)"
  27. @selection-change="selectionChangeHandler"
  28. @row-click="clickRowHandler"
  29. >
  30. <el-table-column type="selection" align="center" width="55" />
  31. <el-table-column type="index" align="center" label="序号" width="100" />
  32. <el-table-column prop="borrowerName" align="center" label="借阅人" min-width="85" />
  33. <el-table-column prop="borrowerDepartment" align="center" label="所属部门" min-width="85" />
  34. <el-table-column prop="borrowerIdType" align="center" label="证件类型" min-width="85" />
  35. <el-table-column prop="borrowerIdNum" align="center" label="证件号码" min-width="140" />
  36. <el-table-column prop="borrowerTel" align="center" label="电话号码" min-width="120" />
  37. <el-table-column prop="operationTime" align="center" label="操作时间" min-width="140" />
  38. </el-table>
  39. <!-- 借阅者增加模态框 -->
  40. <el-dialog
  41. append-to-body
  42. :close-on-click-modal="false"
  43. :visible.sync="addFormVisible"
  44. title="借阅人信息"
  45. >
  46. <span class="dialog-right-top" />
  47. <span class="dialog-left-bottom" />
  48. <div class="setting-dialog">
  49. <el-form
  50. ref="borrowerFormDom"
  51. :model="borrowerForm"
  52. :rules="rules"
  53. size="small"
  54. label-width="80px"
  55. >
  56. <el-form-item label="借阅人" prop="addName">
  57. <el-input
  58. v-model="borrowerForm.borrowerName"
  59. style="width: 420px"
  60. />
  61. </el-form-item>
  62. <el-form-item label="电话号码" prop="addTel">
  63. <el-input v-model="borrowerForm.tel" style="width: 420px" />
  64. </el-form-item>
  65. <el-form-item label="所属部门" prop="department" class="down-select">
  66. <el-select
  67. v-model="borrowerForm.departmentDatas"
  68. style="width: 420px"
  69. multiple
  70. placeholder="请选择"
  71. >
  72. <el-option
  73. v-for="item in borrowerForm.departmentDatas"
  74. :key="item.name"
  75. :disabled="level !== 1 && item.level <= level"
  76. :label="item.name"
  77. :value="item.id"
  78. />
  79. </el-select>
  80. </el-form-item>
  81. <el-form-item label="证件类型" prop="idType" class="down-select">
  82. <el-select
  83. v-model="borrowerForm.idType"
  84. style="width: 420px"
  85. multiple
  86. placeholder="请选择"
  87. >
  88. <el-option
  89. v-for="item in borrowerForm.idType"
  90. :key="item.name"
  91. :disabled="level !== 1 && item.level <= level"
  92. :label="item.name"
  93. :value="item.id"
  94. />
  95. </el-select>
  96. </el-form-item>
  97. <el-form-item label="证件号码" prop="idNumber">
  98. <el-input v-model="borrowerForm.idNumber" style="width: 420px" />
  99. </el-form-item>
  100. <!-- <el-form-item label="借阅时间" prop="lendDate">
  101. <date-range-picker style="width: 420px" />
  102. </el-form-item> -->
  103. </el-form>
  104. <div slot="footer" class="dialog-footer">
  105. <el-button
  106. type="primary"
  107. @click="handleAddConfirm"
  108. >确认</el-button>
  109. </div>
  110. </div>
  111. </el-dialog>
  112. <!-- 修改模态框 -->
  113. <el-dialog
  114. append-to-body
  115. :close-on-click-modal="false"
  116. :visible.sync="editFormVisible"
  117. title="修改借阅人"
  118. >
  119. <span class="dialog-right-top" />
  120. <span class="dialog-left-bottom" />
  121. <div class="setting-dialog">
  122. <el-form
  123. ref="form"
  124. :model="borrowerForm"
  125. :rules="rules"
  126. size="small"
  127. label-width="80px"
  128. >
  129. <el-form-item label="借阅人" prop="borrowerName">
  130. <el-input
  131. v-model="borrowerForm.borrowerName"
  132. style="width: 420px"
  133. />
  134. </el-form-item>
  135. <el-form-item label="电话号码" prop="tel">
  136. <el-input v-model="borrowerForm.borrowerTel" style="width: 420px" />
  137. </el-form-item>
  138. <el-form-item label="所属部门" prop="borrowerDepartment" class="down-select">
  139. <el-select
  140. v-model="borrowerForm.departmentDatas"
  141. style="width: 420px"
  142. multiple
  143. placeholder="请选择"
  144. >
  145. <el-option
  146. v-for="item in borrowerForm.departmentDatas"
  147. :key="item.name"
  148. :disabled="level !== 1 && item.level <= level"
  149. :label="item.name"
  150. :value="item.id"
  151. />
  152. </el-select>
  153. </el-form-item>
  154. <el-form-item label="证件类型" prop="borrowerIdType" class="down-select">
  155. <el-select
  156. v-model="borrowerForm.idType"
  157. style="width: 420px"
  158. multiple
  159. placeholder="请选择"
  160. >
  161. <el-option
  162. v-for="item in borrowerForm.idType"
  163. :key="item.name"
  164. :disabled="level !== 1 && item.level <= level"
  165. :label="item.name"
  166. :value="item.id"
  167. />
  168. </el-select>
  169. </el-form-item>
  170. <el-form-item label="证件号码" prop="borrowerIdNum">
  171. <el-input v-model="borrowerForm.borrowerIdNum" style="width: 420px" />
  172. </el-form-item>
  173. <!-- <el-form-item label="借阅时间" prop="lendDate">
  174. <date-range-picker style="width: 420px" />
  175. </el-form-item> -->
  176. </el-form>
  177. <div slot="footer" class="dialog-footer">
  178. <el-button @click="editFormVisible = false">取消</el-button>
  179. <el-button
  180. type="primary"
  181. @click="editFormVisible = false"
  182. >确认</el-button>
  183. </div>
  184. </div>
  185. </el-dialog>
  186. <!-- 删除模态框 -->
  187. <el-dialog title="确认删除" :visible.sync="deleteVisible" :before-close="handleClose">
  188. <span class="dialog-right-top" />
  189. <span class="dialog-left-bottom" />
  190. <div class="setting-dialog">
  191. <p><span style="color:#fff;">您确定要删除当前借阅人信息吗</span></p>
  192. <div slot="footer" class="dialog-footer">
  193. <el-button type="primary" @click.native="handleDelConfirm">确定</el-button>
  194. </div>
  195. </div>
  196. </el-dialog>
  197. <!-- 分页 -->
  198. <pagination />
  199. </div>
  200. </template>
  201. <script>
  202. import headSlot from '../components/headSlot.vue'
  203. import pagination from '@crud/Pagination'
  204. import CRUD, { presenter, header } from '@crud/crud'
  205. import rrOperation from '@crud/RR.operation'
  206. // import crudOperation from '@crud/CRUD.operation'
  207. import data1 from '../data1.json'
  208. export default {
  209. components: { headSlot, pagination, rrOperation },
  210. mixins: [presenter(), header()],
  211. cruds() {
  212. return CRUD({
  213. // title: '岗位',
  214. // url: 'api/job',
  215. // crudMethod: { ...crudJob },
  216. optShow: {
  217. add: true,
  218. edit: true,
  219. del: true,
  220. download: false,
  221. group: false
  222. }
  223. })
  224. },
  225. data() {
  226. return {
  227. tableData: [],
  228. selections: [],
  229. addFormVisible: false,
  230. editFormVisible: false,
  231. deleteVisible: false,
  232. borrowerForm: {},
  233. // permission: {
  234. // add: ['admin', 'lend:add'],
  235. // edit: ['admin', 'lend:edit'],
  236. // del: ['admin', 'lend:del']
  237. // },
  238. rules: {
  239. addName: [
  240. { required: true, message: '请输入姓名', trigger: 'blur' }
  241. ],
  242. addTel: [
  243. { required: true, message: '请输入电话号码', trigger: 'blur' }
  244. ]
  245. }
  246. }
  247. },
  248. mounted() {
  249. this.getData()
  250. },
  251. methods: {
  252. getData() {
  253. this.tableData = data1.rows
  254. },
  255. selectionChangeHandler(val) {
  256. this.selections = val
  257. },
  258. clickRowHandler(row) {
  259. this.$refs.table.toggleRowSelection(row)
  260. },
  261. handleAdd() {
  262. this.addFormVisible = true
  263. },
  264. handleDelConfirm() {
  265. this.deleteVisible = false
  266. },
  267. handelEdit() {
  268. this.borrowerForm = this.selections[0]
  269. this.editFormVisible = true
  270. },
  271. handleAddConfirm() {
  272. this.$refs.borrowerFormDom.validate((valid) => {
  273. if (valid) {
  274. this.$message({
  275. message: '新增成功!',
  276. type: 'success'
  277. })
  278. this.addFormVisible = false
  279. } else {
  280. this.$message.error('新增失败!')
  281. return false
  282. }
  283. })
  284. }
  285. }
  286. }
  287. </script>
  288. <style lang="scss" scoped>
  289. </style>