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.
1 lines
11 KiB
1 lines
11 KiB
{"remainingRequest":"C:\\Users\\明允\\Desktop\\springboot\\vue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\明允\\Desktop\\springboot\\vue\\src\\views\\Leaverecords.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\明允\\Desktop\\springboot\\vue\\src\\views\\Leaverecords.vue","mtime":1714022112501},{"path":"C:\\Users\\明允\\Desktop\\springboot\\vue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1713785856543},{"path":"C:\\Users\\明允\\Desktop\\springboot\\vue\\node_modules\\babel-loader\\lib\\index.js","mtime":1713785857863},{"path":"C:\\Users\\明允\\Desktop\\springboot\\vue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1713785856543},{"path":"C:\\Users\\明允\\Desktop\\springboot\\vue\\node_modules\\vue-loader\\lib\\index.js","mtime":1713785858382}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJMZWF2ZXJlY29yZHMiLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICB0YWJsZURhdGE6IFtdLA0KICAgICAgdG90YWw6IDAsDQogICAgICBwYWdlTnVtOiAxLA0KICAgICAgcGFnZVNpemU6IDUsDQogICAgICBuYW1lOiAiIiwNCiAgICAgIGZvcm06IHt9LA0KICAgICAgLy8gZGlhbG9nRm9ybVZpc2libGU6IGZhbHNlLA0KICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLA0KICAgICAgaGVhZGVyQmc6ICJoZWFkZXJCZyIsDQogICAgICByb2xlczogW10sDQogICAgICB1c2VyOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidXNlciIpID8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidXNlciIpKSA6IHt9LA0KICAgIH0NCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmxvYWQoKQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgbG9hZDogZnVuY3Rpb24gKCkgew0KICAgICAgdGhpcy5yZXF1ZXN0LmdldCgiL2xlYXZlcmVjb3Jkcy9wYWdlIiwgew0KICAgICAgICBwYXJhbXM6IHsNCiAgICAgICAgICBwYWdlTnVtOiB0aGlzLnBhZ2VOdW0sDQogICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsDQogICAgICAgICAgbmFtZTogdGhpcy5uYW1lLA0KICAgICAgICB9DQogICAgICB9KS50aGVuKHJlcyA9PiB7DQogICAgICAgIHRoaXMudGFibGVEYXRhID0gcmVzLmRhdGEucmVjb3Jkcw0KICAgICAgICB0aGlzLnRvdGFsID0gcmVzLmRhdGEudG90YWwNCiAgICAgIH0pDQogICAgICB0aGlzLnJlcXVlc3QuZ2V0KCIvcm9sZSIpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5yb2xlcyA9IHJlcy5kYXRhDQogICAgICB9KQ0KICAgIH0sDQogICAgaG9tZSgpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvIikNCiAgICB9LA0KICAgIHNhdmUoKSB7DQogICAgICB0aGlzLnJlcXVlc3QucG9zdCgiL2xlYXZlcmVjb3JkcyIsIHRoaXMuZm9ybSkudGhlbihyZXMgPT4gew0KICAgICAgICBpZiAocmVzLmNvZGUgPT09ICcyMDAnKSB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLlrqHmoLjmiJDlip8iKQ0KICAgICAgICAgIHRoaXMuZGlhbG9nRm9ybVZpc2libGUgPSBmYWxzZQ0KICAgICAgICAgIHRoaXMubG9hZCgpDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcigi5L+d5a2Y5aSx6LSlIikNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGhhbmRsZUFkZCgpIHsNCiAgICAgIHRoaXMuZGlhbG9nRm9ybVZpc2libGUgPSB0cnVlDQogICAgICB0aGlzLmZvcm0gPSB7fQ0KICAgIH0sDQogICAgaGFuZGxlRWRpdChyb3cpIHsNCiAgICAgIHRoaXMuZm9ybSA9IHJvdw0KICAgICAgdGhpcy5kaWFsb2dGb3JtVmlzaWJsZSA9IHRydWUNCiAgICB9LA0KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZSh2YWwpIHsNCiAgICAgIGNvbnNvbGUubG9nKHZhbCkNCiAgICAgIHRoaXMubXVsdGlwbGVTZWxlY3Rpb24gPSB2YWw7DQogICAgfSwNCiAgICBkZWxCYXRjaCgpIHsNCiAgICAgIGxldCBpZHMgPSB0aGlzLm11bHRpcGxlU2VsZWN0aW9uLm1hcCh2ID0+IHYuaWQpICAvL1t7fSwge30sIHt9XSA9PiBbMSwyLDNdDQogICAgICB0aGlzLnJlcXVlc3QucG9zdCgiL2xlYXZlcmVjb3Jkcy9kZWwvYmF0Y2giLCBpZHMpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgaWYgKHJlcy5jb2RlID09PSAnMjAwJykgew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5Yig6Zmk5L+h5oGv5oiQ5YqfIikNCiAgICAgICAgICB0aGlzLmxvYWQoKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIuWIoOmZpOS/oeaBr+Wksei0pSIpDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCiAgICByZXNldCgpIHsNCiAgICAgIHRoaXMudXNlcm5hbWUgPSAiIg0KICAgICAgdGhpcy5sb2FkKCkNCiAgICB9LA0KICAgIGhhbmRsZVNpemVDaGFuZ2UocGFnZVNpemUpIHsNCiAgICAgIGNvbnNvbGUubG9nKHBhZ2VTaXplKQ0KICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplDQogICAgICB0aGlzLmxvYWQoKQ0KICAgIH0sDQogICAgaGFuZGxlQ3VycmVudENoYW5nZShwYWdlTnVtKSB7DQogICAgICBjb25zb2xlLmxvZyhwYWdlTnVtKQ0KICAgICAgdGhpcy5wYWdlTnVtID0gcGFnZU51bQ0KICAgICAgdGhpcy5sb2FkKCkNCiAgICB9LA0KICAgIGNoYW5nZVN0YXRlKHJvdywgc3RhdGUpIHsNCiAgICAgIHRoaXMuZm9ybSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocm93KSkNCiAgICAgIHRoaXMuZm9ybS5zdGF0ZSA9IHN0YXRlOw0KICAgICAgdGhpcy5zYXZlKCk7DQogICAgfSwNCiAgICAvLyBoYW5kbGVJbWdVcGxvYWRTdWNjZXNzKCkgew0KICAgIC8vICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLlm77niYfkuIrkvKDmiJDlip8iKQ0KICAgIC8vICAgdGhpcy5sb2FkKCkNCiAgICAvLyB9LA0KICB9DQp9DQo="},{"version":3,"sources":["Leaverecords.vue"],"names":[],"mappings":";AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Leaverecords.vue","sourceRoot":"src/views","sourcesContent":["<template>\r\n <div>\r\n <div style=\"margin: 10px 0\">\r\n <el-input style=\"width: 200px; margin-left: 10px\" placeholder=\"请输入用户名\" clearable suffix-icon=\"el-icon-user\" v-model=\"name\" ></el-input>\r\n <el-button class=\"ml-5\" type=\"primary\" @click=\"load\"><i class=\"el-icon-search\" />搜索</el-button>\r\n <el-button type=\"warning\" @click=\"reset\"><i class=\"el-icon-refresh\" />刷新</el-button>\r\n\r\n </div>\r\n <div style=\"margin: 10px 0\">\r\n <!-- <el-button type=\"primary\" @click=\"handleAdd\" class=\"ml-10\"><i class=\"el-icon-circle-plus-outline\" />新增</el-button>-->\r\n <el-popconfirm\r\n class=\"ml-5\"\r\n confirm-button-text='确认'\r\n cancel-button-text='取消'\r\n icon=\"el-icon-info\"\r\n icon-color=\"red\"\r\n title=\"确定批量删除这些信息吗?\"\r\n @confirm=\"delBatch\">\r\n <el-button type=\"danger\" slot=\"reference\" ><i class=\"el-icon-remove-outline\" />删除</el-button>\r\n </el-popconfirm>\r\n </div>\r\n <el-table :data=\"tableData\" border stripe :header-cell-class-name=\"headerBg\"\r\n @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"55\"></el-table-column>\r\n<!-- <el-table-column prop=\"id\" label=\"Id\" ></el-table-column>-->\r\n <el-table-column prop=\"name\" label=\"请假人用户名\" ></el-table-column>\r\n <el-table-column prop=\"content\" label=\"请假理由\" ></el-table-column>\r\n <el-table-column prop=\"createTime\" label=\"创建时间\" ></el-table-column>\r\n <el-table-column prop=\"startDate\" label=\"请假起始日期\" ></el-table-column>\r\n <el-table-column prop=\"endDate\" label=\"请假结束日期\" ></el-table-column>\r\n <el-table-column prop=\"img\" label=\"详情图片\" >\r\n <template slot-scope=\"scope\">\r\n <el-image style=\"width: 100px; height: 100px\" :src=\"scope.row.img\" :preview-src-list=\"[scope.row.img]\"></el-image>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"state\" label=\"进度\"></el-table-column>\r\n <el-table-column label=\"审核\" width=\"240\">\r\n <template v-slot=\"scope\">\r\n <el-button type=\"success\" @click=\"changeState(scope.row, '审核通过...允许休假')\" :disabled=\"scope.row.state !== '待审核'\">审核通过</el-button>\r\n <el-button type=\"danger\" @click=\"changeState(scope.row, '审核不通过...重新编辑请假信息')\" :disabled=\"scope.row.state !== '待审核'\">审核不通过</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div style=\"padding: 10px 0\">\r\n <el-pagination\r\n @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"pageNum\"\r\n :page-sizes=\"[ 5, 10, 15]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"total\">\r\n </el-pagination>\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"Leaverecords\",\r\n data() {\r\n return {\r\n tableData: [],\r\n total: 0,\r\n pageNum: 1,\r\n pageSize: 5,\r\n name: \"\",\r\n form: {},\r\n // dialogFormVisible: false,\r\n multipleSelection: [],\r\n headerBg: \"headerBg\",\r\n roles: [],\r\n user: localStorage.getItem(\"user\") ? JSON.parse(localStorage.getItem(\"user\")) : {},\r\n }\r\n },\r\n created() {\r\n this.load()\r\n },\r\n methods: {\r\n load: function () {\r\n this.request.get(\"/leaverecords/page\", {\r\n params: {\r\n pageNum: this.pageNum,\r\n pageSize: this.pageSize,\r\n name: this.name,\r\n }\r\n }).then(res => {\r\n this.tableData = res.data.records\r\n this.total = res.data.total\r\n })\r\n this.request.get(\"/role\").then(res => {\r\n this.roles = res.data\r\n })\r\n },\r\n home() {\r\n this.$router.push(\"/\")\r\n },\r\n save() {\r\n this.request.post(\"/leaverecords\", this.form).then(res => {\r\n if (res.code === '200') {\r\n this.$message.success(\"审核成功\")\r\n this.dialogFormVisible = false\r\n this.load()\r\n } else {\r\n this.$message.error(\"保存失败\")\r\n }\r\n })\r\n },\r\n handleAdd() {\r\n this.dialogFormVisible = true\r\n this.form = {}\r\n },\r\n handleEdit(row) {\r\n this.form = row\r\n this.dialogFormVisible = true\r\n },\r\n handleSelectionChange(val) {\r\n console.log(val)\r\n this.multipleSelection = val;\r\n },\r\n delBatch() {\r\n let ids = this.multipleSelection.map(v => v.id) //[{}, {}, {}] => [1,2,3]\r\n this.request.post(\"/leaverecords/del/batch\", ids).then(res => {\r\n if (res.code === '200') {\r\n this.$message.success(\"删除信息成功\")\r\n this.load()\r\n } else {\r\n this.$message.error(\"删除信息失败\")\r\n }\r\n })\r\n },\r\n reset() {\r\n this.username = \"\"\r\n this.load()\r\n },\r\n handleSizeChange(pageSize) {\r\n console.log(pageSize)\r\n this.pageSize = pageSize\r\n this.load()\r\n },\r\n handleCurrentChange(pageNum) {\r\n console.log(pageNum)\r\n this.pageNum = pageNum\r\n this.load()\r\n },\r\n changeState(row, state) {\r\n this.form = JSON.parse(JSON.stringify(row))\r\n this.form.state = state;\r\n this.save();\r\n },\r\n // handleImgUploadSuccess() {\r\n // this.$message.success(\"图片上传成功\")\r\n // this.load()\r\n // },\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n.headerBg {\r\n background: #eee!important;\r\n}\r\n</style>"]}]} |