Commit 395a7a302ab1897ab6647ea994e204c9eba9a59f
1 parent
f74c9820
feat: 排班规则和班次管理删除解锁。
Showing
5 changed files
with
82 additions
and
39 deletions
src/utils/request.js
| 1 | -import axios from 'axios' | |
| 2 | -import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus' | |
| 1 | +import cache from '@/plugins/cache' | |
| 2 | +import useUserStore from '@/store/modules/user' | |
| 3 | 3 | import { getToken } from '@/utils/auth' |
| 4 | 4 | import errorCode from '@/utils/errorCode' |
| 5 | -import { tansParams, blobValidate } from '@/utils/ruoyi' | |
| 6 | -import cache from '@/plugins/cache' | |
| 5 | +import { blobValidate, tansParams } from '@/utils/ruoyi' | |
| 6 | +import axios from 'axios' | |
| 7 | +import { ElLoading, ElMessage, ElMessageBox, ElNotification } from 'element-plus' | |
| 7 | 8 | import { saveAs } from 'file-saver' |
| 8 | -import useUserStore from '@/store/modules/user' | |
| 9 | 9 | |
| 10 | 10 | let downloadLoadingInstance; |
| 11 | 11 | // 是否显示重新登录 |
| ... | ... | @@ -117,7 +117,8 @@ service.interceptors.response.use(res => { |
| 117 | 117 | ) |
| 118 | 118 | |
| 119 | 119 | // 通用下载方法 |
| 120 | -export function download(url, params, filename, config) { | |
| 120 | +export function download(url, params, filename, config = { timeout: 1000 * 30 }) { | |
| 121 | + | |
| 121 | 122 | downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", }) |
| 122 | 123 | return service.post(url, params, { |
| 123 | 124 | transformRequest: [(params) => { return tansParams(params) }], | ... | ... |
src/views/main/manager/index.vue
src/views/num/num/index.vue
| ... | ... | @@ -183,7 +183,7 @@ function resetQuery() { |
| 183 | 183 | function handleSelectionChange(selection) { |
| 184 | 184 | ids.value = selection.map(item => item.id); |
| 185 | 185 | single.value = selection.length != 1; |
| 186 | - multiple.value = !selection.length; | |
| 186 | + multiple.value = selection.length != 1; | |
| 187 | 187 | } |
| 188 | 188 | |
| 189 | 189 | /** 新增按钮操作 */ |
| ... | ... | @@ -230,18 +230,16 @@ function submitForm() { |
| 230 | 230 | /** 删除按钮操作 */ |
| 231 | 231 | function handleDelete(row) { |
| 232 | 232 | |
| 233 | - proxy.$modal.msgSuccess("班型删除功能暂时禁用"); | |
| 234 | - let result = false; | |
| 235 | - if (result) { | |
| 236 | - const _ids = row.id || ids.value; | |
| 237 | - proxy.$modal.confirm('是否确认删除班次管理编号为"' + _ids + '"的数据项?').then(function () { | |
| 238 | - return delNum(_ids); | |
| 239 | - }).then(() => { | |
| 240 | - getList(); | |
| 241 | - proxy.$modal.msgSuccess("删除成功"); | |
| 242 | - }).catch(() => { }); | |
| 243 | - } | |
| 244 | - | |
| 233 | + // proxy.$modal.msgSuccess("班型删除功能暂时禁用"); | |
| 234 | + // console.log(row); | |
| 235 | + const _ids = row.id || ids.value; | |
| 236 | + const deletePrompt = row.ruleDictName ? "是否确认删除班次名称为" + row.ruleDictName + "的数据项?" : "是否确认删除该班次?"; | |
| 237 | + proxy.$modal.confirm(deletePrompt).then(function () { | |
| 238 | + return delNum(_ids); | |
| 239 | + }).then(() => { | |
| 240 | + getList(); | |
| 241 | + proxy.$modal.msgSuccess("删除成功"); | |
| 242 | + }).catch(() => { }); | |
| 245 | 243 | } |
| 246 | 244 | |
| 247 | 245 | /** 导出按钮操作 */ | ... | ... |
src/views/report/sign/index.vue
| ... | ... | @@ -30,6 +30,7 @@ |
| 30 | 30 | <el-form-item> |
| 31 | 31 | <el-button type="primary" @click="onExportDateType('date')">按天导出</el-button> |
| 32 | 32 | <el-button type="primary" @click="onExportDateType('month')">按月导出</el-button> |
| 33 | + <el-button type="primary" @click="onExportDateBySplit">按照时间段导出</el-button> | |
| 33 | 34 | </el-form-item> |
| 34 | 35 | |
| 35 | 36 | <el-form-item> |
| ... | ... | @@ -114,16 +115,33 @@ |
| 114 | 115 | <el-table-column label="原因" align="center" fixed="right" prop="remark" width="300" /> |
| 115 | 116 | </el-table> |
| 116 | 117 | </el-dialog> |
| 118 | + | |
| 119 | + | |
| 117 | 120 | <el-dialog title="请选择导出日期" v-model="openDateFlag" width="1080px" append-to-body> |
| 118 | 121 | <el-form> |
| 119 | 122 | <el-form-item label="日期"> |
| 120 | 123 | <el-date-picker v-model="exportDate" :format="exportFormat == 'month' ? 'YYYY-MM' : 'YYYY-MM-DD'" |
| 121 | 124 | :value-format="exportFormat == 'month' ? 'YYYY-MM' : 'YYYY-MM-DD'" :type="exportFormat" |
| 122 | - placeholder="选择重新生成月份" /> | |
| 125 | + placeholder="选择导出日期" /> | |
| 123 | 126 | </el-form-item> |
| 124 | 127 | </el-form> |
| 125 | 128 | <el-button type="primary" @click="onExport()">导出</el-button> |
| 126 | 129 | </el-dialog> |
| 130 | + | |
| 131 | + <el-dialog title="选择导出时间段" v-model="openDateSplitFlag" width="1080px" append-to-body> | |
| 132 | + <el-form :model="exportDatePrams"> | |
| 133 | + <el-form-item label="日期"> | |
| 134 | + <el-date-picker v-model="exportDatePrams.startDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD" type="date" | |
| 135 | + placeholder="选择开始日期" /> | |
| 136 | + </el-form-item> | |
| 137 | + <el-form-item label="日期"> | |
| 138 | + <el-date-picker v-model="exportDatePrams.endDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD" type="date" | |
| 139 | + placeholder="选择结束日期" /> | |
| 140 | + </el-form-item> | |
| 141 | + </el-form> | |
| 142 | + <el-button type="primary" | |
| 143 | + @click="exportByTimePeriod(exportDatePrams.startDate, exportDatePrams.endDate)">导出</el-button> | |
| 144 | + </el-dialog> | |
| 127 | 145 | </div> |
| 128 | 146 | </template> |
| 129 | 147 | |
| ... | ... | @@ -149,7 +167,12 @@ const tableData = ref([]) // 表格数据 |
| 149 | 167 | const currentPage = ref(1) // 当前页 |
| 150 | 168 | const exportDate = ref() |
| 151 | 169 | const exportFormat = ref("date") |
| 170 | +const exportDatePrams = ref({ | |
| 171 | + startDate: "", | |
| 172 | + endDate: "" | |
| 173 | +}) | |
| 152 | 174 | const openDateFlag = ref(false) |
| 175 | +const openDateSplitFlag = ref(false) | |
| 153 | 176 | |
| 154 | 177 | const rules = ref({ |
| 155 | 178 | date: [ |
| ... | ... | @@ -260,16 +283,40 @@ const onExport = () => { |
| 260 | 283 | let namePre = exportFormat.value === 'date' ? exportDate.value : exportDate.value + '-01'; |
| 261 | 284 | console.log(namePre); |
| 262 | 285 | proxy.download('report/export', { |
| 263 | - ids: ids.value, | |
| 264 | 286 | date: namePre, |
| 265 | 287 | exportFlag: exportFormat.value === 'date' ? 1 : 2 |
| 266 | 288 | }, `${exportDate.value}签到报表.xlsx`) |
| 267 | - .then(res => { | |
| 268 | - proxy.$message({ | |
| 269 | - message: '导出成功', | |
| 270 | - type: 'success' | |
| 271 | - }) | |
| 289 | + | |
| 290 | +} | |
| 291 | + | |
| 292 | +/** | |
| 293 | + * 按照时间段导出 | |
| 294 | + * @param {string} startDate | |
| 295 | + * @param {string} endDate | |
| 296 | + */ | |
| 297 | +const exportByTimePeriod = (startDate, endDate) => { | |
| 298 | + // 校验日期 | |
| 299 | + if (!startDate || !endDate) { | |
| 300 | + proxy.$message({ | |
| 301 | + message: '请选择日期', | |
| 302 | + type: 'warning' | |
| 272 | 303 | }) |
| 304 | + return | |
| 305 | + } | |
| 306 | + proxy.download('report/export', { | |
| 307 | + startDate, | |
| 308 | + endDate, | |
| 309 | + exportFlag: 3 | |
| 310 | + }, `${startDate}到${endDate}的签到报表.xlsx`, { | |
| 311 | + timeout: 300000 | |
| 312 | + }) | |
| 313 | + | |
| 314 | +} | |
| 315 | + | |
| 316 | +const onExportDateBySplit = () => { | |
| 317 | + openDateSplitFlag.value = true | |
| 318 | + exportDatePrams.value.startDate = '' | |
| 319 | + exportDatePrams.value.endDate = '' | |
| 273 | 320 | } |
| 274 | 321 | |
| 275 | 322 | const onExportDateType = (val) => { | ... | ... |
src/views/scheduling/scheduling/index.vue
| ... | ... | @@ -390,17 +390,16 @@ function submitForm() { |
| 390 | 390 | /** 删除按钮操作 */ |
| 391 | 391 | function handleDelete(row) { |
| 392 | 392 | |
| 393 | - proxy.$modal.msgSuccess("规则删除暂时停用防止误操作"); | |
| 394 | - let result = false; | |
| 395 | - if (result) { | |
| 396 | - const _ids = row.id || ids.value; | |
| 397 | - proxy.$modal.confirm('是否确认删除排班规则编号为"' + _ids + '"的数据项?').then(function () { | |
| 398 | - return delScheduling(_ids); | |
| 399 | - }).then(() => { | |
| 400 | - getList(); | |
| 401 | - proxy.$modal.msgSuccess("删除成功"); | |
| 402 | - }).catch(() => { }); | |
| 403 | - } | |
| 393 | + // proxy.$modal.msgSuccess("规则删除暂时停用防止误操作"); | |
| 394 | + console.log(row); | |
| 395 | + const deletePrompt = row.ruleName ? "是否确认删除规则名称为" + row.ruleName + "的数据项?" : "是否确认该规则?"; | |
| 396 | + const _ids = row.id || ids.value; | |
| 397 | + proxy.$modal.confirm(deletePrompt).then(function () { | |
| 398 | + return delScheduling(_ids); | |
| 399 | + }).then(() => { | |
| 400 | + getList(); | |
| 401 | + proxy.$modal.msgSuccess("删除成功"); | |
| 402 | + }).catch(() => { }); | |
| 404 | 403 | |
| 405 | 404 | } |
| 406 | 405 | ... | ... |