diff --git a/src/assets/imgs/btn_front_page.png b/src/assets/imgs/btn_front_page.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc7d3ec44878a30932e8009381aa99a2e8d1db01
Binary files /dev/null and b/src/assets/imgs/btn_front_page.png differ
diff --git a/src/assets/imgs/btn_front_page_dis.png b/src/assets/imgs/btn_front_page_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..15c01bd65b18e54c707adb4497a2eb4935fb5324
Binary files /dev/null and b/src/assets/imgs/btn_front_page_dis.png differ
diff --git a/src/assets/imgs/btn_last_page.png b/src/assets/imgs/btn_last_page.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8f9b2f4e9fac682ad304c683d97dbffe5cf4710
Binary files /dev/null and b/src/assets/imgs/btn_last_page.png differ
diff --git a/src/assets/imgs/btn_last_page_dis.png b/src/assets/imgs/btn_last_page_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b98237a831e13f902b6111ececa2f81a0e954b1
Binary files /dev/null and b/src/assets/imgs/btn_last_page_dis.png differ
diff --git a/src/assets/imgs/btn_next_page.png b/src/assets/imgs/btn_next_page.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e6e08a47a7d12e6f4de8574c3c24f32711f0186
Binary files /dev/null and b/src/assets/imgs/btn_next_page.png differ
diff --git a/src/assets/imgs/btn_next_page_dis.png b/src/assets/imgs/btn_next_page_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cd9916716a5e42a8e80f8886829f514d8daecdf
Binary files /dev/null and b/src/assets/imgs/btn_next_page_dis.png differ
diff --git a/src/assets/imgs/btn_previous_page.png b/src/assets/imgs/btn_previous_page.png
new file mode 100644
index 0000000000000000000000000000000000000000..236e52be9b9a1afc7fdc72dde53966203018a6c9
Binary files /dev/null and b/src/assets/imgs/btn_previous_page.png differ
diff --git a/src/assets/imgs/btn_previous_page_dis.png b/src/assets/imgs/btn_previous_page_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..06e021e9e414284d8354d306911acc19e989cacb
Binary files /dev/null and b/src/assets/imgs/btn_previous_page_dis.png differ
diff --git a/src/components/apass-dialog.vue b/src/components/apass-dialog.vue
index 58753b7df34ed78fd42a7e84b47a3d5dfedc190c..e891035379e4eb1fe3d70efbb1098cfc3ec188b5 100644
--- a/src/components/apass-dialog.vue
+++ b/src/components/apass-dialog.vue
@@ -72,7 +72,7 @@ export default {
default: () => false,
},
submit: {
- type: Function,
+ type: [Function,String],
default: () => null,
},
},
diff --git a/src/components/service-header.vue b/src/components/service-header.vue
index 3ea81b5b82752ad12c8a8a0ee18a6513d914f431..c70ae66c2f04f93caefff5c5bd2ba84cbca8da24 100644
--- a/src/components/service-header.vue
+++ b/src/components/service-header.vue
@@ -92,8 +92,7 @@ export default {
},
mounted() {},
methods: {
- subevent(val){
- debugger
+ subevent(val){
if(val == 0){
// this.$emit('deploy',this.data)
this.$router.push(`/yygl/${this.$route.params.level}/${this.$route.params.type}/deployment/${this.$route.params.id}`)
diff --git a/src/pages/workbench/fwgl/approval_service_detail.vue b/src/pages/workbench/fwgl/approval_service_detail.vue
index de5cc65a6ffd9d5440b253fca416408e8d5bb781..b6d868462e07084119c8e83cebc8acd502fa4dfa 100644
--- a/src/pages/workbench/fwgl/approval_service_detail.vue
+++ b/src/pages/workbench/fwgl/approval_service_detail.vue
@@ -352,7 +352,6 @@ export default {
this.$set(this.list_arr[5], "info", data.service_apply_info.business_url);
this.$set(this.list_arr[6], "info", data.service_apply_info.apply_file.split('/')[data.service_apply_info.apply_file.split('/').length - 1]);
this.$set(this.list_arr[6], "url", data.service_apply_info.apply_file);
- debugger
this.$set(this.list_arr[8], "info", data.service_apply_info.duration+(data.service_apply_info.duration_unit==1?'月':'年'));
this.$set(this.list_arr[9], "info", "访问次数:"+data.service_apply_info.request_spcs.pv+"/日 访问量:"+data.service_apply_info.request_spcs.count+"/日");
this.id = data.service_apply_info.id
diff --git a/src/pages/workbench/yygl/app_debugger.vue b/src/pages/workbench/yygl/app_debugger.vue
index 6d68922aa9ee5f3229466ffee3e916f60897a2a8..93364997d02af2ecaea887324e33f7bd8f1f9439 100644
--- a/src/pages/workbench/yygl/app_debugger.vue
+++ b/src/pages/workbench/yygl/app_debugger.vue
@@ -53,7 +53,8 @@
此操作相当于:kubectl apply -f {{'<'+'spec.yaml'+'>'}}
-
+
+
@@ -93,6 +94,7 @@ export default {
now_yaml:0,
pod_name:'',
code_arr:'',
+ yaml_arr:'',
area_arr:[],
app_arr:[],
tableData:[],
@@ -126,14 +128,12 @@ export default {
{
prop: "name",
label: "名称",
- minWidth: "40%",
align: "left",
type: "button"
},
{
prop: "tag",
label: "标签",
- minWidth: "60%",
align: "left",
type: "tag",
},
@@ -206,13 +206,6 @@ export default {
methods: {
changyaml(n){
this.now_yaml = n
- if(n==0){
- this.code_arr = yaml.stringify(this.code_arr)
- }else{
- console.log(json.load(this.code_arr));
- console.log(JSON.stringify(json.load(this.code_arr), null, 2));
- this.code_arr = JSON.stringify(json.load(this.code_arr), null, 2);
- }
},
get_namespace_list(){
this.$http
@@ -232,11 +225,20 @@ export default {
}
})
},
- gotopage(){
- this.$router.push(`/yygl/${this.$route.params.level}/${this.$route.params.type}/appdebuggerdetail/${this.$route.params.deploy_id}?content=0`)
+ gotopage(val){
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/_raw/pod/namespace/${val.namespace}/name/${val.name}`)
+ .then(response => {
+ this.$router.push(`/yygl/${this.$route.params.level}/${this.$route.params.type}/appdebuggerdetail/${this.$route.params.deploy_id}?content=0&namespace=${val.namespace}&name=${val.name}&container=${response.data.spec.containers[0].name}`)
+ })
},
- gotopage1(){
- this.$router.push(`/yygl/${this.$route.params.level}/${this.$route.params.type}/appdebuggerdetail/${this.$route.params.deploy_id}?content=1`)
+ gotopage1(val){
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/_raw/pod/namespace/${val.namespace}/name/${val.name}`)
+ .then(response => {
+ this.$router.push(`/yygl/${this.$route.params.level}/${this.$route.params.type}/appdebuggerdetail/${this.$route.params.deploy_id}?content=1&namespace=${val.namespace}&name=${val.name}&container=${response.data.spec.containers[0].name}`)
+ })
+
},
get_list_pod(){
this.$http
@@ -301,8 +303,8 @@ export default {
.get(`/awecloud/rest/kubernetes/api/v1/_raw/pod/namespace/${val.namespace}/name/${val.name}`)
.then(response => {
console.log(response.data);
- debugger
- this.code_arr = yaml.stringify(response.data)
+ this.yaml_arr = yaml.stringify(response.data)
+ this.code_arr = JSON.stringify(json.load(this.yaml_arr), null, 2);
this.$refs.actiondialog.show();
})
diff --git a/src/pages/workbench/yygl/app_debugger_detail.vue b/src/pages/workbench/yygl/app_debugger_detail.vue
index 7df90bab3026506e737dc9689673c8d8d00092f7..718943d8f01ba74c22d8b482510d0cc01f3c4d33 100644
--- a/src/pages/workbench/yygl/app_debugger_detail.vue
+++ b/src/pages/workbench/yygl/app_debugger_detail.vue
@@ -10,10 +10,10 @@
{{ $route.query.content == 1 ? "命令行" : "容器日志" }}
@@ -24,14 +24,14 @@
v-if="$route.query.content == 0"
>
- 在请问请问1212
+ 在 {{now_app}}
@@ -51,16 +51,18 @@
- 日志范围从 4/22/20 3:05 AM 到 4/22/20 3:05 AM UTC
+ 日志范围从 {{from_log}} 到 {{to_log}}
@@ -71,6 +73,7 @@
title="下载日志文件"
sunbmitText="保存"
:submitDisable="download_flag"
+ submit="file"
@submit="save_file"
>
@@ -91,6 +94,8 @@ import "xterm/css/xterm.css";
import { Terminal } from "xterm";
import { FitAddon } from 'xterm-addon-fit';
import apassDialog from '@/components/apass-dialog'
+import helper from '@/services/helper'
+import SockJS from "sockjs-client";
export default {
props: [],
components: {
@@ -99,151 +104,278 @@ export default {
data() {
return {
pod: "",
- image_arr: [],
- control_arr:[0,0,0],
- pod_arr: [
- {
- value: 1,
- label: "jakdsj",
- },
- {
- value: 2,
- label: "容器1",
- },
- {
- value: 3,
- label: "容器2",
- },
+ image_arr: [
+ [
+ require('../../../assets/imgs/btn_last_page.png'),
+ require('../../../assets/imgs/btn_last_page_dis.png')
+ ],
+ [
+ require('../../../assets/imgs/btn_next_page.png'),
+ require('../../../assets/imgs/btn_next_page_dis.png')
+ ],
+ [
+ require('../../../assets/imgs/btn_previous_page.png'),
+ require('../../../assets/imgs/btn_previous_page_dis.png')
+ ],
+ [
+ require('../../../assets/imgs/btn_front_page.png'),
+ require('../../../assets/imgs/btn_front_page_dis.png')
+ ],
],
+ control_arr:[0,0,0],
+ pod_arr: [],
pod_group: "",
+ from_log:'',
+ to_log:'',
process:0,
- pod_group_arr: [
- {
- value: 1,
- label: "jakdsj",
- },
- {
- value: 2,
- label: "容器1",
- },
- {
- value: 3,
- label: "容器2",
- },
- ],
+ pod_group_arr: [],
temp_time:'',
download_flag:true,
- data_arr: [
- "1231231233",
- "jhabshjdabshdbasjdhb",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsdiquhdiw",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- "iquhdiwqbdjkbaskjdbajsd",
- ],
+ data_arr: [],
+ logFilePosition:'',
+ referenceTimestamp:'',
+ offsetFrom:'',
+ offsetTo:'',
+ referenceLineNum:'',
+ filecontant:'',
+ now_app:'',
+ term:'',
+ conn_: null,
+ connected_: false,
+ connectSucceed_: false,
+ connectSucceedString_: "\u001b[",
+ connectionClosed_: false,
+ id: "",
+ token: ""
};
},
watch: {},
computed: {},
- created() {},
+ created() {
+ if (this.$route.query.content == 0) {
+ this.get_pod_list()
+ this.get_now_pod()
+ }else{
+ this.get_contain_list()
+ this.pod = this.$route.query.container
+ this.now_app = this.$route.query.name
+ }
+ },
mounted() {
if (this.$route.query.content == 1) {
- var _this = this
- var term = new Terminal();
+ this.initTerm()
+ this.setinit()
+ }
+ },
+ methods: {
+ setinit: function() {
+ var urlParams = {
+ namespace: this.$route.params.namespace,
+ name: this.$route.params.name,
+ containers: this.$route.params.containers
+ };
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/pod/${this.$route.query.namespace}/${this.$route.query.name}/shell/${this.$route.query.container}`)
+ .then((response) => {
+ this.id = response.data.id;
+ if (this.id != undefined && this.id.length > 0) {
+ // 建立连接
+ this.setupConnection();
+ }
+ this.token = response.data.id;
+ })
+ },
+ initTerm() {
+ this.term = new Terminal({
+ // cols: 40,
+ // rows: 30,
+ fontSize: 14,
+ fontFamily: 'Consolas, "Courier New", monospace',
+ bellStyle: "sound",
+ cursorBlink: true
+ });
const fitAddon = new FitAddon();
- term.loadAddon(fitAddon);
- term.open(document.getElementById("xterm_contain"));
+ this.term.loadAddon(fitAddon);
+ this.term.open(document.getElementById("xterm_contain"));
fitAddon.fit();
- var temp = ''
- function runFakeTerminal() {
- if (term._initialized) {
- return;
- }
+ window.addEventListener("resize", () => {
+ fitAddon.fit();
+ });
- term._initialized = true;
+ this.term.onData(this.onTerminalSendString.bind(this));
+ // this.term.write('\u001b[');
+ this.term.onResize(this.onTerminalResize.bind(this));
+ // this.term.fit();
+ },
+ onTerminalSendString: function(key) {
+ var _this = this;
+ if (this.connected_) {
+ this.conn_.send(
+ JSON.stringify({
+ Op: "stdin",
+ Data: key,
+ Cols: this.term.cols,
+ Rows: this.term.rows
+ })
+ );
+ }
+ },
+ onTerminalResize: function() {
+ if (this.connected_) {
+ this.conn_.send(
+ JSON.stringify({
+ Op: "resize",
+ Cols: this.term.cols,
+ Rows: this.term.rows
+ })
+ );
+ }
+ },
+ setupConnection: function() {
+ var self = this;
+ this.conn_ = new SockJS(`/awecloud/proxy/wss/api/sockjs?${self.id}`);
+ this.conn_.onopen = function() {
+ var startData = { Op: "bind", SessionID: self.id };
+ self.conn_.send(JSON.stringify(startData));
+ self.connected_ = true;
+ // Make sure the terminal is with correct display size.
+ self.onTerminalResize();
- term.prompt = () => {
- term.write("\r\n$ ");
- };
- prompt(term,false);
+ // Focus on connection
+ };
+ this.conn_.onmessage = function(event) {
+ const msg = JSON.parse(event.data);
+ self.handleConnectionMessage(msg);
- term.onKey((e) => {
- const printable =
- !e.domEvent.altKey &&
- !e.domEvent.altGraphKey &&
- !e.domEvent.ctrlKey &&
- !e.domEvent.metaKey;
+ // console.log(msg)
+ // self.term.write(msg.Data);
+ };
+ this.conn_.onclose = this.onConnectionClose.bind(this);
+ },
- if (e.domEvent.keyCode === 13) {
- //enter
- prompt(term);
- } else if (e.domEvent.keyCode === 8) {
- // Do not delete the prompt
- if (term._core.buffer.x > 2) {
- term.write("\b \b");
- }
- } else if (printable) {
- term.write(e.key);
- }
- });
+ handleConnectionMessage: function(msg) {
+ var self = this;
+ if (msg.Op === "stdout") {
+ self.term.write(msg.Data);
+ }
+ },
+ onConnectionClose: function(event) {
+ if (!this.connected_) {
+ return;
}
+ this.conn_.close();
+ this.connected_ = false;
+ this.connectionClosed_ = true;
+ console.log("断开连接", event);
+ },
+ get_contain_list(){
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/pod/${this.$route.query.namespace}/${this.$route.query.name}/container`)
+ .then((response) => {
+ this.pod_arr = response.data.containers;
+ })
+ },
+ page(index,flag) {
+ if(flag==1){
+ return
+ }
+ if (index == 0) {
+ // 上一页
+ this.logFilePosition = "beginning";
+ this.referenceTimestamp = "oldest";
+ this.referenceLineNum = 0;
+ this.offsetFrom = -2000000100;
+ this.offsetTo = -2000000000;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
+ console.log("0");
+ } else if (index == 1) {
+ // 上移
+
+ this.referenceLineNum = -1;
+ console.log(this.offsetFrom);
+ this.offsetFrom = this.offsetFrom - 100;
+ this.offsetTo = this.offsetTo - 100;
+ console.log(this.offsetFrom);;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
+ console.log("1");
+ } else if (index == 2) {
+ // 下移
- function prompt(term,val=true) {
- // term.write("\r\n$ ");
- if(val){
- term.write("\r\n");
- term.write(_this.getdata())
- }
- term.write("\r\n$ ");
+ // 现在
+ this.referenceLineNum = -1;
+ this.offsetFrom = this.offsetFrom + 100;
+ this.offsetTo = this.offsetTo + 100;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
+ console.log("2");
+ } else if (index == 3) {
+ // 下一页
+
+ this.logFilePosition = "end";
+ this.referenceTimestamp = "newest";
+ this.referenceLineNum = 0;
+ this.offsetFrom = 2000000000;
+ this.offsetTo = 2000000100;;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
+ console.log("3");
}
- runFakeTerminal();
- }
- },
- methods: {
+ },
+ get_pod_list(){
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/log/source/${this.$route.query.namespace}/${this.$route.query.name}/pod`)
+ .then((response) => {
+ console.log(response);
+ this.pod_arr = response.data.containerNames
+ this.pod_group_arr = response.data.podNames
+ })
+ },
+ get_now_pod(url){
+ var temp_url = `/awecloud/rest/kubernetes/api/v1/log/${this.$route.query.namespace}/${this.$route.query.name}/${this.$route.query.container}`
+
+ this.$http
+ .get(temp_url,{params:url})
+ .then((response) => {
+ console.log(response);
+ this.pod = response.data.info.containerName;
+ this.pod_group = response.data.info.podName;
+ this.from_log = helper.CreationDateDesc(response.data.info.fromDate);
+ this.to_log = helper.CreationDateDesc(response.data.info.toDate);
+ this.logFilePosition = response.data.selection.logFilePosition;
+ this.referenceTimestamp =
+ response.data.selection.referencePoint.timestamp;
+ this.offsetFrom = response.data.selection.offsetFrom;
+ this.offsetTo = response.data.selection.offsetTo;
+ this.data_arr = response.data.logs;
+ })
+ },
getdata(){
return '54555555'
},
@@ -257,48 +389,90 @@ export default {
if(n==1){
if(this.control_arr[n]==1){
this.temp_time=setInterval(()=>{
- this.data_arr = []
- this.data_arr.push(this.getrecode(!this.control_arr[2]==1))
- },1000)
+ this.logFilePosition = "end";
+ this.referenceTimestamp = "newest";
+ this.referenceLineNum = 0;
+ this.offsetFrom = 2000000000;
+ this.offsetTo = 2000000100;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
+ },10000)
}else{
- if(this.temp_time){
- clearInterval(this.temp_time)
- }
+ clearInterval(this.temp_time)
}
}
if(n==2){
- this.data_arr = []
if(this.control_arr[n]==1){
- this.data_arr.push(this.getrecode(false))
+ this.logFilePosition = "end";
+ this.referenceTimestamp = "newest";
+ this.referenceLineNum = 0;
+ this.offsetFrom = 2000000000;
+ this.offsetTo = 2000000100;
+
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
}else{
- this.data_arr.push(this.getrecode())
+ this.logFilePosition = "end";
+ this.referenceTimestamp = "newest";
+ this.referenceLineNum = 0;
+ this.offsetFrom = 2000000000;
+ this.offsetTo = 2000000100;
+ this.get_now_pod({
+ logFilePosition: this.logFilePosition,
+ referenceTimestamp: this.referenceTimestamp,
+ referenceLineNum: this.referenceLineNum,
+ offsetFrom: this.offsetFrom,
+ offsetTo: this.offsetTo,
+ previous: this.control_arr[2]==1
+ });
}
}
},
- getrecode(n=true){
- if(n){
- return '124123432423432324'
- }else{
- return '555555555555555'
- }
- },
download(){
var temp = setInterval(()=>{
- this.process=this.process+1
+ this.process=this.process+4
if(this.process>=99){
clearInterval(temp)
this.process = 100
this.download_flag = false
}
- },10)
+ },100)
this.$refs.actiondialog.show();
+ this.$http
+ .get(`/awecloud/rest/kubernetes/api/v1/log/file/${this.$route.query.namespace}/${this.$route.query.name}/${this.$route.query.container}?previous=${this.control_arr[2]==1}`)
+ .then((response) => {
+ if (response.status == 200) {
+ this.process = 100;
+ this.download_flag = false
+ clearInterval(temp)
+ this.filecontant = response.data;
+ }
+ })
},
format(n){
return ''
},
save_file(){
- console.log('1111');
+ var filename = "logs-form-" + this.pod + "-" + this.pod_group;
+ var a = document.createElement("a");
+ var blob = new Blob([this.filecontant]);
+ a.download = filename;
+ a.href = URL.createObjectURL(blob);
+ a.click();
+ URL.revokeObjectURL(blob);
}
@@ -411,6 +585,8 @@ background:khaki;
}
.code img {
float: right;
+ margin-right: 35px;
+ cursor: pointer;
}
.back {
width: 124px;
diff --git a/src/services/helper.js b/src/services/helper.js
index 19d291e7e8427962fa83b76c37a45090d9e70480..e006e37e9a02e4911706a517bbc8b0f0298b2bec 100644
--- a/src/services/helper.js
+++ b/src/services/helper.js
@@ -77,4 +77,11 @@ module.exports.numberFormat = function (num, decimals) {
} else {
return num;
}
+}
+
+module.exports.CreationDateDesc = function (timestamp) {
+ let date = new Date(timestamp);
+ return date.toLocaleDateString("zh-CN", {
+ timeZone: "Asia/Shanghai"
+ });
}
\ No newline at end of file