feat: support ins pause and enable

This commit is contained in:
engigu
2024-01-14 17:05:35 +08:00
parent c935182412
commit 6349c1e1b7
8 changed files with 115 additions and 26 deletions
+7 -17
View File
@@ -45,14 +45,13 @@ request.interceptors.response.use(
return response;
},
(error) => {
if (error.response && error.response.status === 401) {
if (error.response && error.response.status == 401) {
logout();
} else if (20000 <= error.response.status <= 29999) {
} else if (20000 <= error.response.status && error.response.status <= 29999) {
logout();
} else {
handleException(error);
}
handleException(error);
// return Promise.reject(error);
}
);
@@ -60,20 +59,11 @@ request.interceptors.response.use(
const handleException = (error) => {
if (error.code == ERR_NETWORK) {
ElMessage({ message: `网络错误!`, type: 'error' })
} else if (error.response && error.response.data.code != 200) {
ElMessage({ message: error.response.data.msg, type: 'error' })
} else {
let msg = `未知错误:${error.response.status}, ${error.response.data.msg}`;
ElMessage({ message: msg, type: 'error' })
};
// if (error.response) {
// // 服务器返回错误状态码
// console.error('Server Error:', error.response.status, error.response.data);
// } else if (error.request) {
// // 请求发送成功,但没有收到响应
// console.error('No response received:', error.request);
// } else {
// // 其他错误
// console.error('Error:', error.message);
// }
};
// 登出系统
@@ -2,6 +2,16 @@
<el-dialog v-model="isShow" width="58%" :close-on-press-escape="false" :before-close="() => { }" :show-close="false">
<template #header="">
<el-text class="mx-1">编辑发信任务</el-text>
<el-tooltip placement="top">
<template #content>
实例可以实时暂停或者删除意味着可以实时控制发送的渠道
<br />
** 暂停或者删除都将不会往该实例发送
</template>
<el-icon>
<QuestionFilled />
</el-icon>
</el-tooltip>
</template>
<div class="add-top">
@@ -62,9 +72,18 @@
{{ formatExtraInfo(scope) }}
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="60px">
<el-table-column label="状态" prop="status" width="60px">
<template #default="scope">
<el-tag v-if="scope.row.enable != 1" type="danger">暂停</el-tag>
<el-tag v-if="scope.row.enable == 1" type="success">开启</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="100px">
<template #default="scope">
<tableDeleteButton @customHandleDelete="handleDelete(scope.$index, scope.row)" />
<el-button link size="small" style="" type="primary" @click="updateInsEnableStatus(scope.row)">
{{ scope.row.enable == 1 ? '暂停' : '开启' }}
</el-button>
</template>
</el-table-column>
</el-table>
@@ -82,7 +101,7 @@
<script>
import { defineComponent, onMounted, watch, reactive, toRefs } from 'vue';
import { _ } from 'lodash';
import { _, intersection } from 'lodash';
import { QuestionFilled } from '@element-plus/icons-vue'
import { v4 as uuidv4 } from 'uuid';
import { usePageState } from '@/store/page_sate.js';
@@ -194,7 +213,6 @@ export default defineComponent({
return postData
}
const handleAddSubmit = async () => {
let postData = getFinalData();
const rsp = await request.post('/sendtasks/ins/addone', postData);
@@ -203,6 +221,15 @@ export default defineComponent({
}
}
const updateInsEnableStatus = async (row) => {
let status = Number(!row.enable);
let postData = { ins_id: row.id, status: status };
const rsp = await request.post('/sendtasks/ins/update_enable', postData);
if (await rsp.data.code == 200) {
row.enable = status;
}
}
const handleEditTask = async () => {
let postData = { id: state.currTaskInput.taskId, name: state.currTaskInput.taskName };
const rsp = await request.post('/sendtasks/edit', postData);
@@ -212,8 +239,8 @@ export default defineComponent({
}
return {
...toRefs(state), handleCancer, handleAddSubmit, handleEditTask,CONSTANT,
searchID, handleDelete, insRowStyle, formatExtraInfo
...toRefs(state), handleCancer, handleAddSubmit, handleEditTask, CONSTANT,
searchID, handleDelete, insRowStyle, formatExtraInfo, updateInsEnableStatus
};
},
});