Commit 69f41d0c authored by Kerwin_Cui's avatar Kerwin_Cui

123

parent 3efa0905
This diff is collapsed.
...@@ -285,6 +285,14 @@ class Error_alarm(models.Model): ...@@ -285,6 +285,14 @@ class Error_alarm(models.Model):
auto_sysname = models.CharField(null=True, max_length=100, verbose_name="自动化系统") auto_sysname = models.CharField(null=True, max_length=100, verbose_name="自动化系统")
auto_name = models.CharField(null=True, max_length=100, verbose_name="自动化名称") auto_name = models.CharField(null=True, max_length=100, verbose_name="自动化名称")
other_autoname = models.TextField(null=True, verbose_name="其他自动化信息") other_autoname = models.TextField(null=True, verbose_name="其他自动化信息")
monitor_name = models.CharField(null=True, max_length=100, verbose_name="监控名称名称") monitor_name = models.CharField(null=True, max_length=100, verbose_name="监控名称")
if_icube = models.CharField(null=True, max_length=100, verbose_name="是否来自一体化平台")
user = models.CharField(null=True, max_length=100, verbose_name="处理人")
def toDic(self):
return dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]])
class Meta:
db_table = "tb_error_alarm"
verbose_name = '预警信息'
verbose_name_plural = verbose_name
\ No newline at end of file
...@@ -31,4 +31,7 @@ urlpatterns = [ ...@@ -31,4 +31,7 @@ urlpatterns = [
url(r'^searchHostByModule/$', search_host_by_module), url(r'^searchHostByModule/$', search_host_by_module),
url(r'^alarm_edit/$', alarm_edit), url(r'^alarm_edit/$', alarm_edit),
url(r'^alarm_count/$', alarm_count), url(r'^alarm_count/$', alarm_count),
url(r'^create_alarm/$', create_alarm),
url(r'^edit_alarm/$', edit_alarm),
url(r'^search_alarm/$', search_alarm),
] ]
...@@ -44,9 +44,9 @@ def condition_search(request): ...@@ -44,9 +44,9 @@ def condition_search(request):
eventList = EventInfo.objects.all().order_by('-event_happened_time') eventList = EventInfo.objects.all().order_by('-event_happened_time')
# 用户组 # 用户组
gruop_data = requests.get('http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100') # gruop_data = requests.get('http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100')
gruop_data = gruop_data.text # gruop_data = gruop_data.text
gruop_data = eval(gruop_data) # gruop_data = eval(gruop_data)
# 按事件编号查询 # 按事件编号查询
...@@ -1895,6 +1895,7 @@ def get_cc_module_tree(request): ...@@ -1895,6 +1895,7 @@ def get_cc_module_tree(request):
"data": {} "data": {}
}) })
def search_host_by_module(request): def search_host_by_module(request):
""" """
通过所属模块查询对应的主机 通过所属模块查询对应的主机
...@@ -2138,6 +2139,148 @@ def del_label(request): ...@@ -2138,6 +2139,148 @@ def del_label(request):
} }
) )
def serch_user_group(request):
try:
gruop_data = requests.get('http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100')
gruop_data = gruop_data.text
gruop_data = eval(gruop_data)
except Exception as e:
return render_json(
{
"result": False,
"code": 1,
"message": u"未知错误:%s" % e,
"data": {}
}
)
def create_alarm(request):
try:
data = request.body
data = eval(data)
alarm_type = data['alarm_type']
alarm_system = data['alarm_system']
alarm_time = data['alarm_time']
recover_time = data['recover_time']
alarm_summary = data['alarm_summary']
if_interpose = data['if_interpose']
solve_process = data['solve_process']
if_workday = data['if_workday']
if_auto = data['if_auto']
auto_sysname = data['auto_sysname']
auto_name = data['auto_name']
other_autoname = data['other_autoname']
monitor_name = data['monitor_name']
if_icube = data['if_icube']
time = alarm_time.replace('T', ' ')
time = time[0:-5]
time = datetime.datetime.strptime(time, "%Y-%m-%d %H:%M:%S")
time = (time + datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M:%S")
time = time.replace('-', '')
time = time.replace(' ', '')
time = time.replace(':', '')
alarm_number = 'alarm_' + time
alarm_time = alarm_time.replace('T', ' ')
alarm_time = alarm_time[0:-5]
alarm_time = datetime.datetime.strptime(alarm_time, "%Y-%m-%d %H:%M:%S")
alarm_time = (alarm_time + datetime.timedelta(hours=8))
recover_time = recover_time.replace('T', ' ')
recover_time = recover_time[0:-5]
recover_time = datetime.datetime.strptime(recover_time, "%Y-%m-%d %H:%M:%S")
recover_time = (recover_time + datetime.timedelta(hours=8))
client = get_client_by_request(request)
bk_token = request.COOKIES.get('bk_token')
client.set_bk_api_ver('v2')
parse = {'bk_token': bk_token, 'bk_app_code': APP_ID, 'bk_app_secret': APP_TOKEN}
result = client.bk_login.get_user(parse)
login_person = result['data']['chname']
error_alarm = Error_alarm.objects.create(
alarm_number = alarm_number,
alarm_summary = alarm_summary,
alarm_level = alarm_type,
alarm_system = alarm_system,
alarm_happen_time = alarm_time,
alarm_recover_time = recover_time,
if_interpose = if_interpose,
solve_process = solve_process,
if_workday = if_workday,
if_auto = if_auto,
auto_sysname = auto_sysname,
auto_name = auto_name,
other_autoname = other_autoname,
monitor_name = monitor_name,
if_icube = if_icube,
user = login_person
)
error_alarm.save()
return render_json(
{
"result": True,
"code": 0,
"message": u"预警新建成功!",
"data": ''
}
)
except Exception as e:
return render_json(
{
"result": False,
"code": 1,
"message": u"未知错误:%s" % e,
"data": {}
}
)
def edit_alarm(request):
pass
def search_alarm(request):
try:
req = json.loads(request.body)
alarm_list = Error_alarm.objects.all().order_by('-alarm_happen_time')
if request.body == "":
current_page = 1
page_size = 10
else:
req = json.loads(request.body)
current_page = req.get("currentPage", 1)
page_size = req.get("pageSize", 10)
event_page = Paginator(alarm_list, page_size)
event_list = event_page.page(current_page).object_list
result_list = []
for i in alarm_list:
data = {
"alarm_number": i.alarm_number,
'alarm_summary': i.alarm_summary,
'alarm_level': i.alarm_level,
'alarm_system': i.alarm_level,
'user': i.user
}
result_list.append(data)
return render_json(
{
"result": True,
"message": u"查询数据成功",
"code": 0,
"results": {'results': result_list, 'count': event_page.count, 'currentPage': current_page},
}
)
except Exception as e:
return render_json(
{
"result": False,
"code": 1,
"message": u"未知错误:%s" % e,
"data": {}
}
)
# 同步事件 # 同步事件
def sync(request): def sync(request):
now_time = int(time.time()) now_time = int(time.time())
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
选择用户组: 选择用户组:
<el-select style="width:300px;" clearable <el-select style="width:300px;" clearable
v-model="userGroup"> v-model="userGroup">
<el-option v-for="item in priorityOp" <el-option v-for="item in userGroupOp"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.label"> :value="item.label">
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</div> </div>
</div> </div>
<div style="height:100%;min-height: 500px;padding:0 15px;"> <div style="height:100%;min-height: 500px;padding:0 15px;">
<el-table :data="taskData" border <el-table :data="AlarmCountData" border
style="width: 100%" v-loading="loading" style="width: 100%" v-loading="loading"
element-loading-text="拼命加载中" element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading" element-loading-spinner="el-icon-loading"
...@@ -68,9 +68,18 @@ ...@@ -68,9 +68,18 @@
el: "#alarmCount", el: "#alarmCount",
data() { data() {
return { return {
userGroup: [], userGroupOp: [
{
label: '网络',
value: '3',
},
],
userGroup:'',
keyword: "", keyword: "",
taskData: [] AlarmCountData: [],
loading: false,
currentPage: 1,
pageSize: 10,
} }
}, },
mounted() { mounted() {
...@@ -78,7 +87,23 @@ ...@@ -78,7 +87,23 @@
}, },
methods: {}, methods: {
getUserGroup(){
axios.get('${SITE_URL}search_user_group/').then(res => {
res = res.data;
this.systemList = res
})
},
handleCurrentChange(val) {
console.log("当前页" + val);
if (this.currentPage != val) {
this.currentPage = val
this.getTaskList(() => {
this.handleCurPageChange()
})
}
},
},
}) })
......
This diff is collapsed.
This diff is collapsed.
...@@ -358,8 +358,8 @@ ...@@ -358,8 +358,8 @@
} }
}, },
mounted() { mounted() {
this.setmainuser() this.setmainuser();
this.getTaskList() this.getTaskList();
this.getLabel() this.getLabel()
}, },
...@@ -374,7 +374,7 @@ ...@@ -374,7 +374,7 @@
//获取任务列表 //获取任务列表
getTaskList(fn) { getTaskList(fn) {
this.loading = true this.loading = true;
let vm = this; let vm = this;
let newdata = { let newdata = {
currentPage: vm.currentPage, currentPage: vm.currentPage,
...@@ -382,15 +382,15 @@ ...@@ -382,15 +382,15 @@
data: vm.formLine data: vm.formLine
}; };
axios.post('${SITE_URL}condition_search/', newdata).then(res => { axios.post('${SITE_URL}condition_search/', newdata).then(res => {
vm.total = res.results.count vm.total = res.results.count;
vm.taskData = res.results.results vm.taskData = res.results.results;
vm.loading = false vm.loading = false;
if (!!fn) { if (!!fn) {
fn() fn()
} }
}, err => { }, err => {
vm.loading = false vm.loading = false;
vm.$message( vm.$message(
{ {
type: 'error', type: 'error',
...@@ -435,7 +435,7 @@ ...@@ -435,7 +435,7 @@
}, },
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.selectData[this.currentPage] = [] this.selectData[this.currentPage] = [];
selection.map((item, index) => { selection.map((item, index) => {
this.selectData[this.currentPage].push(item.event_number) this.selectData[this.currentPage].push(item.event_number)
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment