From 70c99f641570099251ed86ca78fa91b3b4622429 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 05 六月 2024 14:09:48 +0800
Subject: [PATCH] 1
---
src/views/console/soam/oss-system.vue | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 272 insertions(+), 7 deletions(-)
diff --git a/src/views/console/soam/oss-system.vue b/src/views/console/soam/oss-system.vue
index f193439..efb9007 100644
--- a/src/views/console/soam/oss-system.vue
+++ b/src/views/console/soam/oss-system.vue
@@ -2,7 +2,7 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-03-26 10:28:33
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-05-06 16:26:56
+ * @LastEditTime: 2024-05-08 16:28:34
* @FilePath: /smart-web/src/views/master/person/main/index.vue
* @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@@ -146,9 +146,25 @@
<div class="title">
<img src="./logo.png" />
<span>浼佷笟寰俊</span>
+ <span class="taginfo" v-if="outerData[0].status == 1">宸插叧鑱�</span>
<div class="desc">CPS涓庝紒涓氬井淇″叧鑱旓紝鍗忎綔涓庢矡閫氭洿鍔犻珮鏁堛�傜粦瀹氬悗灏嗗悓姝ヤ紒涓氬井淇$殑浜哄憳鍚嶅崟鍜岀粍缁囨灦鏋勶紝骞跺厑璁告垚鍛樹娇鐢ㄤ紒涓氬井淇¤处鍙风櫥褰�</div>
</div>
- <el-button class="btn" @click="addOss(1)">鍏宠仈</el-button>
+ <el-button class="btn" @click="addOss(1)" v-if="outerData[0].status == 0" :disabled="outerData[1].status == 1">鍏宠仈</el-button>
+ <el-button class="btn" @click="relieve(1)" v-if="outerData[0].status == 1" type="danger" plain>瑙g粦</el-button>
+ </div>
+ <div class="bottom" v-if="outerData[0].status == 1">
+ <div class="info">
+ <div class="img">
+ <el-icon><Monitor /></el-icon>
+ </div>
+ <div class="info-right">
+ <div class="tag">
+ <div> 缁勭粐鏋舵瀯鍚屾</div>
+ <span @click="updataOss(1)">绔嬪嵆鍚屾</span>
+ </div>
+ <div class="time">涓婃鍚屾鏃堕棿锛歿{licenseDetail.lastSyncTime || '-'}}</div>
+ </div>
+ </div>
</div>
</div>
<div class="card">
@@ -156,14 +172,100 @@
<div class="title">
<img src="./logo.png"/>
<span >閽夐拤</span>
+ <span class="taginfo" v-if="outerData[1].status == 1">宸插叧鑱�</span>
<div class="desc">CPS涓庨拤閽夊叧鑱旓紝鍗忎綔涓庢矡閫氭洿鍔犻珮鏁堛�傜粦瀹氬悗灏嗗悓姝ラ拤閽夌殑浜哄憳鍚嶅崟鍜岀粍缁囨灦鏋勶紝骞跺厑璁告垚鍛樹娇鐢ㄩ拤閽夎处鍙风櫥褰�</div>
</div>
- <el-button class="btn" @click="addOss(2)">鍏宠仈</el-button>
+ <el-button class="btn" @click="addOss(2)" v-if="outerData[1].status == 0" :disabled="outerData[0].status == 1">鍏宠仈</el-button>
+ <el-button class="btn" @click="relieve(2)" type="danger" plain v-if="outerData[1].status == 1">瑙g粦</el-button>
</div>
+ <div class="bottom" v-if="outerData[1].status == 1">
+ <div class="info">
+ <div class="img">
+ <el-icon><Monitor /></el-icon>
+ </div>
+ <div class="info-right">
+ <div class="tag">
+ <div> 缁勭粐鏋舵瀯鍚屾</div>
+ <span @click="updataOss(2)">绔嬪嵆鍚屾</span>
+ </div>
+ <div class="time">涓婃鍚屾鏃堕棿锛歿{licenseDetail.lastSyncTime || '-'}}</div>
+ </div>
+ </div>
+ </div>
</div>
+ </el-tab-pane>
+ <el-tab-pane label="DMP鏃ュ織">
+ <div class="tabTitle">DMP鏃ュ織</div>
+ <el-form :inline="true" :model="DMPsearchData" label-width="80px">
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="璁惧">
+ <el-select v-model="DMPsearchData.machineCode" style="width: 100%" @change="DMPsearchChange">
+ <el-option v-for="item in machineCodeList" :key="item.id" :label="item.machineName" :value="item.id"/>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="閲囬泦椤�">
+ <el-select v-model="DMPsearchData.affectedVariable" style="width: 100%" @change="DMPsearchChange">
+ <el-option v-for="item in affectedVariableList" :key="item.code" :label="item.code" :value="item.code"/>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="閲囬泦鍊�">
+ <el-input v-model="DMPsearchData.variableValue" placeholder="閲囬泦鍊�" clearable style="width: 100%" @change="DMPsearchChange"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏃堕棿鑼冨洿">
+ <el-date-picker v-model="DMPsearchData.selectDate" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" align="right" value-format="YYYY-MM-DD HH:mm:ss" @change="dateChange" style="vertical-align: middle;width: 100%;"></el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div>
+ <div class="dict-table">
+ <el-table ref="multipleTableRef" :data="DMPtableData" border style="width: 100%" class="multipleTableRef">
+ <el-table-column prop="test" label="璁惧鍚嶇О"></el-table-column>
+ <el-table-column prop="test" label="璁惧缂栧彿"></el-table-column>
+ <el-table-column prop="test" label="閲囬泦椤�"></el-table-column>
+ <el-table-column prop="test" label="閲囬泦鍊�"></el-table-column>
+ <el-table-column prop="test" label="閲囬泦鐘舵��"></el-table-column>
+ <el-table-column prop="test" label="閲囬泦鏃堕棿"></el-table-column>
+ <el-table-column prop="test" label="绫诲瀷"></el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔">
+ <template #default="scope">
+ <!-- <el-button text type="primary" size="small" @click="showDrawer(scope.row, scope.$index)">锛燂紵</el-button> -->
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <el-pagination
+ style="margin-top: 12px;"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :page-sizes="[15, 50, 100]"
+ :page-size="15"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="DMPsearchData.total">
+ </el-pagination>
</el-tab-pane>
</el-tabs>
<save-dialog v-if="dialog.save" ref="saveDialog" @success="addOssSuccess" @closed="dialog.save=false"></save-dialog>
+ <!-- 瑙g粦 -->
+ <el-dialog v-model="relieveModel" :width="500">
+ <el-icon class="relieveModelIcon"><Warning /></el-icon>
+ <div class="relieveModelTip">
+ <p>瑙i櫎缁戝畾鍚庯紝鎮ㄥ皢涓嶈兘閫氳繃閽夐拤缁存姢鏁版嵁銆�</p>
+ <p>濡傛灉纭畾瑙g粦璇风偣鍑烩�滅珛鍗宠В缁戔�濓紝鍚﹀垯璇风偣鍑烩�滃彇娑堚�濄��</p>
+ </div>
+ <template #footer>
+ <el-button @click="relieveModel=false" >鍙栨秷</el-button>
+ <el-button :loading="relieveModelSaveing" type="danger" plain @click="relieveModelSave">绔嬪嵆瑙g粦</el-button>
+ </template>
+ </el-dialog>
</div>
</template>
@@ -178,6 +280,11 @@
name: "oss-main",
data(){
return {
+ DMPtableData: [],
+ relieveType: "",
+ outerData: [{status: 0},{status: 0}], //鏈嶅姟闆嗘垚
+ relieveModelSaveing: false,
+ relieveModel: false,
dialog: {
save: false
},
@@ -191,6 +298,19 @@
CPS: ""
}
},
+ DMPsearchData: {
+ machineCode: "",
+ affectedVariable: "",
+ variableValue: "",
+ startTime: "",
+ endTime: "",
+ current: 1,
+ size: 15,
+ total: 0,
+ selectDate: []
+ },
+ machineCodeList: [],
+ affectedVariableList: [],
uploadData: {},
logoType: "0",
authorization: {Authorization: "Basic c2FiZXI6c2FiZXJfc2VjcmV0"},
@@ -228,16 +348,84 @@
this.setting(); //搴旂敤璁剧疆
this.getFile(); //浼佷笟logo
this.license(); //鎺堟潈
+ this.outer(); //鏈嶅姟闆嗘垚
+ this.getlog(); //DMP鏃ュ織
+ this.getMachineCodeList(); //DMP鏃ュ織
},
methods: {
+ getMachineCodeList() {
+ this.$HTTP.get(`/api/blade-cps/machine/list`).then(res=> {
+ if(res.code == 200) {
+ this.machineCodeList = res.data;
+ this.outer(); //鏈嶅姟闆嗘垚
+ }
+ })
+ },
+ dateChange(val) {
+ this.DMPsearchData.startTime = val[0];
+ this.DMPsearchData.endTime = val[1];
+ this.getlog();
+ },
+ DMPsearchChange() {
+ this.getlog();
+ },
+ getlog() {
+ var obj = Object.assign({},this.DMPsearchData);
+ this.$HTTP.post(`/api/blade-dmp-log/log/page?current=${this.DMPsearchData.current}&size=${this.DMPsearchData.size}`,obj).then(res=> {
+ if(res.code == 200) {
+ this.DMPtableData = res.data.records;
+ this.DMPsearchData.total = res.data.total;
+ }
+ })
+ },
+ relieveModelSave(type) { //瑙g粦
+ this.$HTTP.get(`/api/blade-sync/outer-app-config/unbind/${this.relieveType}`).then(res=> {
+ if(res.code == 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.relieveModel = false;
+ this.outer(); //鏈嶅姟闆嗘垚
+ }
+ })
+ },
+ relieve(type) { //瑙g粦
+ this.relieveModel = true;
+ this.relieveType = type;
+ },
+ updataOss(type) {
+ if(type == 1) {
+ var url = "/api/blade-sync/wechat/sync";
+ var methods = "post";
+ }
+ if(type == 2) {
+ var url = "/api/blade-sync/ding-sync/sync-immediately";
+ var methods = "get";
+ }
+ this.$HTTP[methods](url).then(res=> {
+ if(res.code == 200) {
+ this.dialog.save = true
+ this.$nextTick(() => {
+ this.$refs.saveDialog.open(type,res.data,'updata');
+ })
+ }
+ })
+ },
+ outer() {
+ this.$HTTP.get("/api/blade-sync/outer-app-config/list").then(res=> {
+ if(res.code == 200) {
+ res.data.forEach(item=> {
+ this.outerData[item.appType - 1] = item;
+ })
+ }
+ })
+ },
addOss(type) {
this.dialog.save = true
this.$nextTick(() => {
- this.$refs.saveDialog.open();
+ this.$refs.saveDialog.open(type,this.outerData,'add');
})
},
addOssSuccess() {
-
+ this.outer(); //鏈嶅姟闆嗘垚
},
licenseCopy() {
// 澶嶅埗鍒板壀璐存澘
@@ -403,7 +591,18 @@
this.ossForm = res.data;
}
})
- }
+ },
+ handleSizeChange(val) {
+ console.log(`姣忛〉 ${val} 鏉);
+ this.DMPsearchData.current = "1";
+ this.DMPsearchData.size = val;
+ this.getlog();
+ },
+ handleCurrentChange(val) {
+ console.log(`褰撳墠椤�: ${val}`);
+ this.DMPsearchData.current = val;
+ this.getlog();
+ }
}
}
</script>
@@ -448,7 +647,7 @@
top: 18px;
right: 16px;
font-size: 14px;
- color: #3b8e8e;
+ color: #409eff;
}
.show-list li .logo {
width: 66px;
@@ -586,4 +785,70 @@
right: 30px;
top: 20px;
}
+.card .top .title .taginfo {
+ color: #409eff;
+ border: 1px solid #409eff;
+ border-radius: 4px;
+ font-size: 14px;
+ margin-left: 10px;
+ padding: 2px 8px;
+}
+.card .bottom {
+ padding-top: 20px;
+ border-top: 1px solid #ebebeb;
+}
+.card .bottom .info {
+ border: 1px solid #ebebeb;
+ width: 378px;
+ display: flex;
+ padding: 20px;
+}
+.card .bottom .info .img {
+ background-color: #409eff;
+ border-radius: 6px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.card .bottom .info .img, .card .bottom .info img {
+ width: 46px;
+ height: 46px;
+}
+.card .bottom .info .img i {
+ font-size: 28px;
+ color: #fff;
+}
+.card .bottom .info .info-right {
+ flex: 1;
+ display: inline-block;
+ margin-left: 20px;
+}
+.card .bottom .info .info-right .tag {
+ display: flex;
+}
+.card .bottom .info .info-right .tag div {
+ flex: 1;
+ font-size: 14px;
+}
+.card .bottom .info .info-right .tag span{
+ color: #409eff;
+ cursor: pointer;
+ padding: 0 !important;
+ min-height: 14px !important;
+}
+.card .bottom .info .info-right .time {
+ margin-top: 10px;
+ color: #bbb;
+ font-size: 14px;
+}
+.relieveModelIcon {
+ color: red;
+ font-size: 16px;
+ margin-right: 8px;
+ vertical-align: -3px;
+ vertical-align: top;
+}
+.relieveModelTip {
+ display: inline-block;
+}
</style>
--
Gitblit v1.9.3