From 9da73a221e3bc79c1f972a1f99d52915e42134dd Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期日, 08 十月 2023 20:59:01 +0800
Subject: [PATCH] feat: 任务弹窗生产准备倒计时和下发失败提示时不允许翻页
---
src/views/set.vue | 668 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 494 insertions(+), 174 deletions(-)
diff --git a/src/views/set.vue b/src/views/set.vue
index 2b8032b..3311d97 100644
--- a/src/views/set.vue
+++ b/src/views/set.vue
@@ -1,8 +1,14 @@
<template>
<div class="form-box">
+ <div class="form-box-t">
+ <el-button type="primary" @click="HomeClick()" class="background_blue">
+ <i class="el-icon-d-arrow-left" />
+ 杩斿洖鍒楄〃</el-button
+ >
+ </div>
<div class="form-content-box">
<div class="form-box-l">
- <div class="form-box-l-item">
+ <!-- <div class="form-box-l-item">
<el-button
type="primary"
@click="buttonClick(1)"
@@ -11,8 +17,8 @@
>
缃戠粶閰嶇疆</el-button
>
- </div>
- <div class="form-box-l-item">
+ </div> -->
+ <!-- <div class="form-box-l-item">
<el-button
type="primary"
@click="buttonClick(2)"
@@ -21,8 +27,8 @@
>
鍔犲叆闆嗙兢</el-button
>
- </div>
- <div class="form-box-l-item">
+ </div> -->
+ <!-- <div class="form-box-l-item">
<el-button
type="primary"
@click="buttonClick(3)"
@@ -31,31 +37,76 @@
>
PLC閰嶇疆</el-button
>
- </div>
+ </div> -->
</div>
<div class="form-box-r">
<el-form
ref="form"
+ :class="active == 3 ? 'height_100' : ''"
:rules="rules"
:model="form"
label-width="120px"
label-position="left"
>
- <div v-if="active == 1">
+ <div v-if="active == 1 && !isSetNet">
+ <div class="form-box-r-title">璇烽厤缃綉缁�</div>
+ <div
+ class="form-box-r-item"
+ v-for="(item, index) in networkCardList"
+ :key="index"
+ >
+ <el-input
+ :value="'缃戝崱锛�' + item.networkCard"
+ disabled
+ style="
+ width: calc(100% - 200px);
+ float: left;
+ margin-bottom: 20px;
+ margin-right: 10px;
+ "
+ placeholder="缃戝崱锛�"
+ ></el-input>
+ <el-switch
+ style="
+ float: left;
+ margin-bottom: 20px;
+ margin-right: 10px;
+ line-height: 40px;
+ display: inline-block;
+ "
+ :disabled="item.ip ? false : true"
+ @change="switchChange(item, index, item.status)"
+ v-model="item.status"
+ >
+ </el-switch>
+ <i
+ class="el-icon-setting margin_left_10px cursor_pointer"
+ style="
+ font-size: 22px;
+ color: #fff;
+ margin-bottom: 20px;
+ line-height: 40px;
+ display: inline-block;
+ "
+ @click="setNet(item)"
+ ></i>
+ </div>
+ </div>
+ <div v-if="active == 1 && isSetNet">
<el-form-item label="閰嶇疆鏂瑰紡" prop="isRequired">
<el-radio-group v-model="form.isRequired">
- <el-radio :label="true">鑷姩鍖归厤</el-radio>
- <el-radio :label="false">鎵嬪姩閰嶇疆</el-radio>
+ <!-- <el-radio :label="true">鑷姩鍖归厤</el-radio> -->
+ <el-radio label="false">鎵嬪姩閰嶇疆</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-if="!form.isRequired"
label="鏈満IP锛�"
- prop="id"
+ prop="ip"
class="form-item"
>
<el-input
- v-model="form.id"
+ v-model="form.ip"
clearable
placeholder="璇疯緭鍏�"
></el-input>
@@ -63,11 +114,11 @@
<el-form-item
label="瀛愮綉鎺╃爜锛�"
v-if="!form.isRequired"
- prop="projectName"
+ prop="mask"
class="form-item"
>
<el-input
- v-model="form.projectName"
+ v-model="form.mask"
clearable
placeholder="璇疯緭鍏�"
></el-input>
@@ -76,11 +127,11 @@
<el-form-item
v-if="!form.isRequired"
label="缃戝叧锛�"
- prop="type"
+ prop="gateway"
class="form-item"
>
<el-input
- v-model="form.type"
+ v-model="form.gateway"
clearable
placeholder="璇疯緭鍏�"
></el-input>
@@ -88,11 +139,11 @@
<el-form-item
v-if="!form.isRequired"
label="DNS锛�"
- prop="director"
+ prop="dns"
class="form-item"
>
<el-input
- v-model="form.director"
+ v-model="form.dns"
clearable
placeholder="璇疯緭鍏�"
></el-input>
@@ -184,26 +235,28 @@
>
</el-form-item>
</div>
- <div v-if="active == 3">
+ <div style="height: 100%" v-if="active == 3">
+ <div class="form-box-r-title" >PLC鍦板潃閰嶇疆</div>
<div
style="
overflow: auto;
- width: 100%;
- height: 100%;
- max-height: 450px;
+ width: 80%;
+ min-height: 200px;
padding-right: 10px;
+ margin:60px auto 0;
"
>
<el-form-item
label="PLC鍝佺墝"
prop="brand"
- class="form-item2 float_left"
+ class="form-item float_left"
>
+ <!-- style="width: calc(100% - 30px)" -->
<el-select
placeholder="璇烽�夋嫨PLC鍝佺墝"
v-model="form.brand"
clearable
- style="width: calc(100% - 30px);"
+ style="width: 100%"
>
<el-option
v-for="ele in plcBrandList"
@@ -212,33 +265,65 @@
:value="ele.name"
></el-option>
</el-select>
- <i
+ <!-- <i
class="el-icon-setting margin_left_10px cursor_pointer"
- style="font-size: 20px; color: gray"
+ style="font-size: 20px; color: #fff"
@click="handleShow"
- ></i>
+ ></i> -->
</el-form-item>
- <el-form-item label="鎺ュ彛鏂瑰紡" prop="method" class="form-item2">
- <el-input v-model="form.method" placeholder="璇疯緭鍏�"></el-input>
+ <el-form-item label="鎺ュ彛鏂瑰紡" prop="method" class="form-item">
+ <!-- <el-input v-model="form.method" placeholder="璇疯緭鍏�"></el-input> -->
+ <el-select
+ v-model="form.method"
+ placeholder="璇烽�夋嫨"
+ filterable
+ clearable
+ style="width: 100%"
+ >
+ <el-option label="modbusTCP" value="modbusTCP"></el-option>
+ <el-option label="serial" value="serial"></el-option>
+ </el-select>
</el-form-item>
<el-form-item
- label="PCL鍦板潃"
+ label="娉㈢壒鐜�"
+ prop="baudRate"
+ v-if="form.method == 'serial'"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.baudRate"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item
+ label="涓插彛鍚嶇О"
+ prop="serialName"
+ v-if="form.method == 'serial'"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.serialName"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item
+ label="PLC鍦板潃"
+ v-if="form.method == 'modbusTCP'"
prop="address"
- class="form-item2 float_right margin_left_10px"
+ class="form-item float_right"
>
<el-input
v-model="form.address"
placeholder="璇疯緭鍏�"
></el-input>
</el-form-item>
- <el-form-item label="绔彛鍚嶇О" prop="portName" class="form-item2">
+ <!-- <el-form-item label="绔彛鍚嶇О" prop="portName" class="form-item2">
<el-select
v-model="form.portName"
placeholder="鍏ㄩ儴"
filterable
style="width: 100%"
- :popper-append-to-body="false"
>
<el-option
v-for="item in portNameList"
@@ -247,133 +332,130 @@
:key="item.id"
></el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<el-form-item
label="绔彛鍙�"
prop="port"
- class="form-item2 float_right margin_left_10px"
+ v-if="form.method == 'modbusTCP'"
+ class="form-item float_right"
>
<el-input
v-model.number="form.port"
placeholder="璇疯緭鍏�"
></el-input>
</el-form-item>
-
</div>
+ <!-- <el-button
+ style="margin-bottom: 10px; float: right"
+ @click="addPreProduction"
+ type="primary"
+ icon="el-icon-plus"
+ >娣诲姞</el-button
+ >
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#f1f3f8',
+ color: '#000009',
+ }"
+ :data="pclList"
+ tooltip-effect="dark"
+ height="calc(100% - 230px)"
+ style="width: 100%; padding: 0"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="80"
+ ></el-table-column>
+ <el-table-column
+ prop="startAddress"
+ label="鏁伴噺璧峰鍦板潃"
+ width="180"
+ >
+ <template slot-scope="scope">
+ <el-input
+ v-if="scope.row.edit"
+ v-model.number="scope.row.startAddress"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ <span v-else>{{ scope.row.startAddress }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="length" label="鏁版嵁闀垮害" width="120">
+ <template slot-scope="scope">
+ <el-input
+ v-if="scope.row.edit"
+ v-model.number="scope.row.length"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ <span v-else>{{ scope.row.length }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="type" label="鏁版嵁绫诲瀷" width="120">
+ <template slot-scope="scope">
+ <el-select
+ v-if="scope.row.edit"
+ v-model="scope.row.type"
+ placeholder="璇烽�夋嫨"
+ filterable
+ >
+ <el-option
+ v-for="item in plcNumTypeList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ <span v-else>{{ scope.row.type }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="fieldName" label="瀵瑰簲绯荤粺瀛楁">
+ <template slot-scope="scope">
+ <el-select
+ v-if="scope.row.edit"
+ v-model="scope.row.fieldName"
+ placeholder="璇烽�夋嫨"
+ filterable
+ >
+ <el-option label="瀹屾垚閲�" :value="1"></el-option>
+ <el-option label="鎬婚噺" :value="2"></el-option>
+ </el-select>
+ <span v-else>{{ scope.row.fieldName==1?'瀹屾垚閲�':'鎬婚噺' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="120">
+ <template slot-scope="scope">
+ <span class="setColor" v-if="scope.row.edit">
+ <el-button
+ @click="saveClick(scope.row, scope)"
+ type="text"
+ size="small"
+ >淇濆瓨</el-button
+ >
+
+ <el-button type="text" size="small" @click="cancel(scope)"
+ >鍙栨秷</el-button
+ >
+ </span>
+ <span v-else>
+ <el-button @click="dellist(scope)" type="text" size="small"
+ >鍒犻櫎</el-button
+ >
+ </span>
+ </template>
+ </el-table-column>
+ </el-table> -->
</div>
</el-form>
+
<div class="project-info-footer">
- <el-button @click="shutdown" style="margin-right: 50px"
+ <!-- <el-button @click="shutdown" style="margin-right: 50px"
>鍙栨秷</el-button
- >
+ > -->
<el-button type="primary" @click="onSubmit(form)">淇濆瓨</el-button>
</div>
- <div class="form-bottom-box" v-if="active==3">
- <el-button
- style="margin-bottom: 10px; float: right"
- @click="addPreProduction"
- type="primary"
- icon="el-icon-plus"
- >娣诲姞</el-button
- >
- <el-table
- ref="multipleTable"
- :header-cell-style="{
- background: '#f1f3f8',
- color: '#000009',
- }"
- :data="pclList"
- tooltip-effect="dark"
- height="calc(100% - 50px)"
- style="width: 100%; padding: 0"
- >
- <el-table-column type="index" label="搴忓彿" width="80"></el-table-column>
- <el-table-column
- prop="startAddress"
- label="鏁伴噺璧峰鍦板潃"
- width="180"
- >
- <template slot-scope="scope">
- <el-input
- v-if="scope.row.edit"
- v-model.number="scope.row.startAddress"
- placeholder="璇疯緭鍏�"
- ></el-input>
- <span v-else>{{ scope.row.startAddress }}</span>
- </template>
- </el-table-column>
- <el-table-column prop="length" label="鏁版嵁闀垮害" width="120">
- <template slot-scope="scope">
- <el-input
- v-if="scope.row.edit"
- v-model.number="scope.row.length"
- placeholder="璇疯緭鍏�"
- ></el-input>
- <span v-else>{{ scope.row.length }}</span>
- </template>
- </el-table-column>
- <el-table-column prop="type" label="鏁版嵁绫诲瀷" width="120">
- <template slot-scope="scope">
- <!-- :popper-append-to-body="false" -->
- <el-select
- v-if="scope.row.edit"
- v-model="scope.row.type"
- placeholder="璇烽�夋嫨"
- filterable
- >
- <el-option
- v-for="item in plcNumTypeList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- <span v-else>{{ scope.row.type }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="fieldName"
- label="瀵瑰簲绯荤粺瀛楁"
- >
- <template slot-scope="scope">
- <el-input
- v-if="scope.row.edit"
- v-model="scope.row.fieldName"
- placeholder="璇疯緭鍏�"
- ></el-input>
- <span v-else>{{ scope.row.fieldName }}</span>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" width="120">
- <template slot-scope="scope">
- <span class="setColor" v-if="scope.row.edit">
- <el-button
- @click="saveClick(scope.row, scope)"
- type="text"
- size="small"
- >淇濆瓨</el-button
- >
-
- <el-button
- type="text"
- size="small"
- @click="cancel(scope)"
- >鍙栨秷</el-button
- >
- </span>
- <span v-else>
- <el-button
- @click="dellist(scope)"
- type="text"
- size="small"
- >鍒犻櫎</el-button
- >
- </span>
- </template>
- </el-table-column>
- </el-table>
- </div>
</div>
</div>
<BomDialog
@@ -387,12 +469,24 @@
</template>
<script>
+// import {
+// getProductLineDictList,
+// listProdDic,
+
+// saveMiniDict,
+// } from "@/api/basic/dictionary"; // 浜х嚎
+
import {
- getProductLineDictList,
- listProdDic,
+ NetworkCard,
+ setworkCard,
getMiniDictList,
- saveMiniDict,
-} from "@/api/basic/dictionary"; // 浜х嚎
+ addMiniDict,
+ deleteMiniDict,
+ updateMiniDict,
+ sendProcessParams,
+ getPlc,
+ setPlc,
+} from "@/api/home/index";
import BomDialog from "@/components/bomDialog";
export default {
components: {
@@ -401,30 +495,49 @@
props: {},
data() {
return {
- active: 1,
+ active: 3,
form: {
- isRequired: true,
- budget: null,
- director: "",
- explain: "",
+ isRequired: false,
+ dns: "",
+ gateway: "",
id: "",
- introduction: "",
- projectName: "",
+ ip: "",
+ mask: "",
+ networkCard: "",
+ status: 2,
- type: "",
+ brand: "",
+ method: "modbusTCP",
+ portName: "",
+ port: "",
+ address: "",
+ baudRate:'',
+ serialName:'',
},
rules: {
// 椤圭洰鍚嶇О
- projectName: [
+ ip: [
{
required: true,
message: "璇峰~鍐�",
trigger: "change",
},
],
- },
+ brand: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
+ method: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
+ port: [
+ {
+ required: false,
+ validator: this.validatorNum,
+ },
+ ],
+ portName: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
+ },
+ // 缃戝崱
+ isSetNet: false,
+ networkCardList: [],
pclList: [],
addPreObj: {
edit: true,
@@ -457,14 +570,98 @@
],
};
},
- mounted() {},
+ mounted() {
+ this.buttonClick(this.active)
+ },
watch: {},
methods: {
+ validatorNum(rule, value, callback) {
+ if (value) {
+ if (value == undefined || value == null) {
+ callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"));
+ } else {
+ var reg = /^\+?[0-9]\d*$/;
+ if (!reg.test(value)) {
+ callback(new Error("璇峰~鍐欐暣鏁�"));
+ } else {
+ callback();
+ }
+ }
+ } else {
+ callback();
+ }
+ },
+ getnetworkCardList() {
+ NetworkCard().then((res) => {
+ if (res.code == 200) {
+ this.networkCardList = res.data;
+ for (let i in this.networkCardList) {
+ this.networkCardList[i].status =
+ this.networkCardList[i].status == 1 ? true : false;
+ }
+ }
+ });
+ },
+ // 璁剧疆缃戠粶
+ setNet(item) {
+ this.$confirm(
+ item.ip
+ ? "鏄惁鐜板湪閰嶇疆缃戠粶淇℃伅锛�"
+ : "鎮ㄨ繕鏈厤缃綉缁滀俊鎭紝鏄惁鐜板湪閰嶇疆?",
+ "鎻愮ず",
+ {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ }
+ )
+ .then(() => {
+ this.isSetNet = true;
+ this.form = JSON.parse(JSON.stringify(item));
+ })
+ .catch(() => {});
+ },
+ switchChange(item, index, status) {
+ let arr = [];
+ for (let i in this.networkCardList) {
+ if (this.networkCardList[i].status) {
+ arr.push(i);
+ }
+ }
+ if (arr.length > 1) {
+ this.$message({
+ message: "鍙兘寮�鍚竴涓綉鍗★紒",
+ type: "warning",
+ });
+ this.networkCardList[index].status = !status;
+ return true;
+ }
+ this.form = JSON.parse(JSON.stringify(item));
+ this.saveOne();
+ },
+ HomeClick() {
+ this.$router.push({
+ path: "/",
+ });
+ },
buttonClick(val) {
this.active = val;
- if(this.active==3){
+ if (this.active == 1) {
+ (this.isSetNet = false), this.getnetworkCardList();
+ } else if (this.active == 3) {
this.handleGetBomKindDictList();
+ this.getPlcInfo();
}
+ },
+ getPlcInfo() {
+ getPlc().then((res) => {
+ if (res.code == 200) {
+ this.form = JSON.parse(JSON.stringify(res.data));
+ this.pclList = res.data.details
+ ? JSON.parse(JSON.stringify(res.data.details))
+ : [];
+ }
+ });
},
// PLC閰嶇疆璁剧疆
handleShow() {
@@ -473,8 +670,90 @@
},
// PLC閰嶇疆
handleGetBomKindDictList(val) {
- getMiniDictList({ type: 1 }).then((res) => {
- this.plcBrandList = res.data;
+ getMiniDictList().then((res) => {
+ this.plcBrandList = res.data.data;
+ this.plcBrandList = [
+ {
+ id: 1,
+ name: "涓夎彵",
+ },
+ {
+ id: 2,
+ name: "娆у榫�",
+ },
+ {
+ id: 3,
+ name: "瑗块棬瀛�",
+ },
+ {
+ id: 4,
+ name: "鍙拌揪",
+ },
+ {
+ id: 5,
+ name: "鍜屽埄鏃�",
+ },
+ {
+ id: 6,
+ name: "淇℃嵎",
+ },
+ {
+ id: 7,
+ name: "鍗楀ぇ鍌叉嫇",
+ },
+ {
+ id: 8,
+ name: "姹囧窛",
+ },
+ {
+ id: 9,
+ name: "姘稿畯",
+ },
+ {
+ id: 10,
+ name: "缃楀厠闊﹀皵",
+ },
+ {
+ id: 11,
+ name: "鏂借�愬痉",
+ },
+ {
+ id: 12,
+ name: "涓扮倻",
+ },
+ {
+ id: 13,
+ name: "榛勭煶绉戝▉",
+ },
+ {
+ id: 14,
+ name: "闇嶅凹闊﹀皵",
+ },
+ {
+ id: 15,
+ name: "鑹鹃粯鐢�",
+ },
+ {
+ id: 16,
+ name: "鑻卞▉鑵�",
+ },
+ {
+ id: 17,
+ name: "鍩烘仼澹�",
+ },
+ {
+ id: 18,
+ name: "涓帶",
+ },
+ {
+ id: 19,
+ name: "鍊嶇",
+ },
+ {
+ id: 20,
+ name: "璐濆姞鑾�",
+ },
+ ];
if (val) {
for (let i in this.plcBrandList) {
if (this.plcBrandList[i].isDefault) {
@@ -490,7 +769,8 @@
});
},
handleConfirmSave(data) {
- saveMiniDict({ list: data, type: 1 }).then((res) => {
+ // { list: data, type: 1 }
+ addMiniDict().then((res) => {
if (res.code == 200) {
this.$message({
message: "鎿嶄綔鎴愬姛锛�",
@@ -603,9 +883,35 @@
dellist(scope) {
this.pclList.splice(scope.$index, 1);
},
+ saveOne() {
+ let params = JSON.parse(JSON.stringify(this.form));
+ params.status = params.status == 1 ? 1 : 2;
+ setworkCard(params).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("缃戠粶閰嶇疆鎴愬姛锛�");
+ this.getnetworkCardList();
+ }
+ });
+ },
onSubmit() {
this.$refs.form.validate((valid) => {
if (valid) {
+ if (this.active == 1) {
+ this.saveOne();
+ } else if (this.active == 3) {
+ this.saveThree();
+ }
+ }
+ });
+ },
+
+ saveThree() {
+ let params = JSON.parse(JSON.stringify(this.form));
+ params.details = this.pclList;
+ setPlc(params).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("PLC閰嶇疆鎴愬姛锛�");
+ this.getPlcInfo();
}
});
},
@@ -635,16 +941,22 @@
.margin_left_10px {
margin-left: 10px;
}
-.form-bottom-box{
- height:calc(100% - 280px);
- min-height:200px;
- margin-top:100px;
+.form-bottom-box {
+ height: calc(100% - 280px);
+ min-height: 200px;
+ margin-top: 100px;
}
.form-box {
- background: rgb(2, 10, 38);
+ background: #12234a;
width: 100%;
height: 100%;
- overflow-y:hidden;
+ overflow-y: hidden;
+ .form-box-t {
+ margin: 30px 0 0 40px;
+ }
+ .height_100 {
+ height: calc(100% - 120px);
+ }
.el-form {
width: 100%;
color: #fff;
@@ -654,11 +966,11 @@
::v-deep .el-radio {
color: #fff !important;
}
- .form-item2{
- width:calc(50% - 20px);
- float:left;
- &:nth-of-type(odd){
- margin-right:20px;
+ .form-item2 {
+ width: calc(50% - 20px);
+ float: left;
+ &:nth-of-type(odd) {
+ margin-right: 20px;
}
}
}
@@ -666,7 +978,7 @@
padding: 110px 40px 30px;
color: #fff;
width: calc(100% - 80px);
- height: calc(100% - 140px);
+ height: calc(100% - 140px - 70px);
}
.form-box-l {
width: 200px;
@@ -683,6 +995,14 @@
width: calc(75% - 280px);
margin-left: 80px;
float: left;
+ .form-box-r-title {
+ width: 100%;
+ text-align: center;
+ color: #fff;
+ font-weight: 700;
+ font-size: 25px;
+ margin-bottom: 40px;
+ }
}
}
::v-deep .el-tabs__content {
@@ -694,7 +1014,7 @@
// position:absolute;
// left:10px;
// bottom:20px;
- margin-top: 40px;
+ margin-top: 0px;
float: right;
}
--
Gitblit v1.8.0