From f841f45e41dee0ecd167e23f260e33005bfe1e77 Mon Sep 17 00:00:00 2001 From: liufan9527 <937359084@qq.com> Date: 星期三, 27 十一月 2024 09:39:42 +0800 Subject: [PATCH] 页面搭建 --- se-index/src/assets/img/interactive/left_btn_height.png | 0 se-index/src/assets/img/interactive/left_btn.png | 0 se-index/src/components/home.vue | 2 se-index/src/components/door.vue | 4 se-index/src/assets/img/interactive/refresh_icon.png | 0 se-index/src/assets/img/interactive/yes.png | 0 se-index/src/assets/img/interactive/left_bg.png | 0 se-index/src/components/interactive.vue | 570 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ se-index/src/assets/img/interactive/details.png | 0 se-index/src/assets/img/interactive/call_icon.png | 0 10 files changed, 571 insertions(+), 5 deletions(-) diff --git a/se-index/src/assets/img/interactive/call_icon.png b/se-index/src/assets/img/interactive/call_icon.png new file mode 100644 index 0000000..c71d187 --- /dev/null +++ b/se-index/src/assets/img/interactive/call_icon.png Binary files differ diff --git a/se-index/src/assets/img/interactive/details.png b/se-index/src/assets/img/interactive/details.png new file mode 100644 index 0000000..ea49bc3 --- /dev/null +++ b/se-index/src/assets/img/interactive/details.png Binary files differ diff --git a/se-index/src/assets/img/interactive/left_bg.png b/se-index/src/assets/img/interactive/left_bg.png new file mode 100644 index 0000000..afc4552 --- /dev/null +++ b/se-index/src/assets/img/interactive/left_bg.png Binary files differ diff --git a/se-index/src/assets/img/interactive/left_btn.png b/se-index/src/assets/img/interactive/left_btn.png new file mode 100644 index 0000000..00a5515 --- /dev/null +++ b/se-index/src/assets/img/interactive/left_btn.png Binary files differ diff --git a/se-index/src/assets/img/interactive/left_btn_height.png b/se-index/src/assets/img/interactive/left_btn_height.png new file mode 100644 index 0000000..95ee440 --- /dev/null +++ b/se-index/src/assets/img/interactive/left_btn_height.png Binary files differ diff --git a/se-index/src/assets/img/interactive/refresh_icon.png b/se-index/src/assets/img/interactive/refresh_icon.png new file mode 100644 index 0000000..e6979a3 --- /dev/null +++ b/se-index/src/assets/img/interactive/refresh_icon.png Binary files differ diff --git a/se-index/src/assets/img/interactive/yes.png b/se-index/src/assets/img/interactive/yes.png new file mode 100644 index 0000000..942cd7f --- /dev/null +++ b/se-index/src/assets/img/interactive/yes.png Binary files differ diff --git a/se-index/src/components/door.vue b/se-index/src/components/door.vue index 85265bc..78d11e6 100644 --- a/se-index/src/components/door.vue +++ b/se-index/src/components/door.vue @@ -90,10 +90,12 @@ padding: 0 60px; display: flex; justify-content: space-between; + height: 100%; .item { width: 554px; - height: 830px; + height: 90%; background: url("../assets/img/home/door_bg.png"); + background-size: 100% 100%; .title { position: relative; font-family: Source Han Sans SC; diff --git a/se-index/src/components/home.vue b/se-index/src/components/home.vue index 99650e9..16e864d 100644 --- a/se-index/src/components/home.vue +++ b/se-index/src/components/home.vue @@ -117,7 +117,7 @@ } .content { width: 100%; - height:calc(100vh - 183px); + height:calc(100vh - 147px); margin-top: 60px; } } diff --git a/se-index/src/components/interactive.vue b/se-index/src/components/interactive.vue index b56d03a..f79aaa0 100644 --- a/se-index/src/components/interactive.vue +++ b/se-index/src/components/interactive.vue @@ -1,11 +1,575 @@ <template> <div class="interactive"> - <h1>1111111111</h1> + <div class="left"> + <div + :class="leftBtnName == item ? 'btn-height' : 'btn'" + v-for="(item, index) in leftBtnList" + :key="index" + @click="leftBtnClick(item, index)" + > + {{ item }} + </div> + </div> + <div class="right"> + <div class="select"> + <div class="log"> + <div class="name">閫氶亾寮傚父鏃ュ織</div> + <div class="sum">1</div> + </div> + <div class="from"> + <el-form style="margin-bottom: 20px" label-width="120px"> + <el-row style="height: 50px"> + <el-form-item style="float: left" label="淇℃簮锛�"> + <el-select + :popper-append-to-body="false" + v-model="source.value" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in source.options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item style="float: left" label="淇″锛�"> + <el-select + :popper-append-to-body="false" + v-model="destination.value" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in destination.options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item style="float: left" label="浼犺緭鏂瑰紡锛�"> + <el-select + :popper-append-to-body="false" + v-model="transmission.value" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in transmission.options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + </el-row> + </el-form> + </div> + <div class="refresh"> + <img src="../assets/img/interactive/refresh_icon.png" alt="" /> + <div class="name">鍒锋柊</div> + </div> + <div class="call"> + <img src="../assets/img/interactive/call_icon.png" alt="" /> + <div class="name">鍏ㄩ儴鎶ヨ</div> + </div> + </div> + <el-table :data="table.data" height="85%"> + <el-table-column label="淇℃簮" width="150px"> + <template slot-scope="scope"> + <div> + {{ scope.row.source }} + </div> + </template> + </el-table-column> + <el-table-column label="淇″"> + <template slot-scope="scope"> + <div> + {{ scope.row.destination }} + </div> + </template> + </el-table-column> + <el-table-column label="浼犺緭鏂瑰紡"> + <template slot-scope="scope"> + <div> + {{ scope.row.transmission }} + </div> + </template> + </el-table-column> + <el-table-column label="鐘舵��"> + <template> + <img src="../assets/img/interactive/yes.png" alt="" /> + </template> + </el-table-column> + <el-table-column label="鎻忚堪"> + <template slot-scope="scope"> + <div> + {{ scope.row.describe }} + </div> + </template> + </el-table-column> + <el-table-column label="浼犺緭鏁版嵁"> + <template slot-scope="scope"> + <div> + {{ scope.row.transfer }} + </div> + </template> + </el-table-column> + <el-table-column label="鏁呴殰鎶ヨ"> + <template slot-scope="scope"> + <el-switch v-model="scope.row.call"> </el-switch> + </template> + </el-table-column> + <el-table-column label="寮傚父澶勭悊"> + <template slot-scope="scope"> + <div> + {{ scope.row.abnormal }} + </div> + </template> + </el-table-column> + <el-table-column label="鏇存柊鏃堕棿"> + <template slot-scope="scope"> + <div> + {{ scope.row.time }} + </div> + </template> + </el-table-column> + <el-table-column label="鍋ュ悍"> + <template> + <img src="../assets/img/interactive/yes.png" alt="" /> + </template> + </el-table-column> + <el-table-column label="鍙敤"> + <template> + <img src="../assets/img/interactive/yes.png" alt="" /> + </template> + </el-table-column> + <el-table-column label="璇︽儏"> + <template> + <img + src="../assets/img/interactive/details.png" + alt="" + @click="detailsClick" + /> + </template> + </el-table-column> + </el-table> + <div class="block"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="currentPage" + :page-sizes="[10, 20, 30, 40]" + :page-size="10" + layout="total, sizes, prev, pager, next, jumper" + :total="40" + > + </el-pagination> + </div> + </div> </div> </template> <script> -export default {}; +export default { + data() { + return { + leftBtnList: ["浜や簰閫氶亾绠$悊", "浜や簰杩囩▼鐩戞帶"], + leftBtnName: "浜や簰閫氶亾绠$悊", + source: { + options: [ + { + value: "qx102stect1", + label: "qx102stect1" + }, + { + value: "qx102stect2", + label: "qx102stect2" + } + ], + value: "" + }, + destination: { + options: [ + { + value: "qx102stect1", + label: "qx102stect1" + }, + { + value: "qx102stect2", + label: "qx102stect2" + } + ], + value: "" + }, + transmission: { + options: [ + { + value: "qx102stect1", + label: "qx102stect1" + }, + { + value: "qx102stect2", + label: "qx102stect2" + } + ], + value: "" + }, + table: { + data: [ + { + source: "鏁版嵁绠$悊鍒嗙郴缁�", + destination: "鍒嗙郴缁�", + transmission: "娑堟伅涓棿浠�", + state: "", + describe: "绯荤粺绠$悊鏈嶅姟鏁拌>", + transfer: "", + call: "", + abnormal: "閫氶亾鏂紑", + time: "2024-11-05 09:51:34", + healthy: "鏄�", + available: "鏄�", + details: "" + }, + { + source: "鏁版嵁绠$悊鍒嗙郴缁�", + destination: "鍒嗙郴缁�", + transmission: "娑堟伅涓棿浠�", + state: "鏄�", + describe: "缃戝叧鏈嶅姟", + transfer: "", + call: "", + abnormal: "浼犺緭瓒呮椂", + time: "2024-11-05 18:20:04", + healthy: "鏄�", + available: "鏄�", + details: "" + } + ], + tableTh: [ + { + label: "淇℃簮", + prop: "source" + }, + { + label: "淇″", + prop: "destination" + }, + { + label: "浼犺緭鏂瑰紡", + prop: "transmission" + }, + { + label: "鐘舵��", + prop: "state" + }, + { + label: "鎻忚堪", + prop: "describe" + }, + { + label: "浼犺緭鏁版嵁", + prop: "transfer" + }, + { + label: "鏁呴殰鎶ヨ", + prop: "call" + }, + { + label: "寮傚父澶勭悊", + prop: "abnormal" + }, + { + label: "鏇存柊鏃堕棿", + prop: "time" + }, + { + label: "鍋ュ悍", + prop: "healthy" + }, + { + label: "鍙敤", + prop: "available" + }, + { + label: "璇︽儏", + prop: "details" + } + ] + }, + currentPage: 4 + }; + }, + methods: { + leftBtnClick(item, index) { + this.leftBtnName = item; + }, + detailsClick() {}, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + } + } +}; </script> -<style lang="less" scope></style> +<style lang="less" scoped> +.interactive { + padding: 20px 30px; + display: flex; + height: 100%; + .left { + padding-top: 20px; + width: 320px; + height: 90%; + background: url("../assets/img/interactive/left_bg.png") no-repeat; + background-size: 100% 100%; + font-family: Source Han Sans SC; + font-weight: 400; + font-size: 18px; + color: #ffffff; + .btn { + margin: 20px auto; + width: 268px; + height: 43px; + line-height: 43px; + text-align: center; + background: url("../assets/img/interactive/left_btn.png"); + } + .btn-height { + margin: 20px auto; + width: 268px; + height: 43px; + line-height: 43px; + text-align: center; + background: url("../assets/img/interactive/left_btn_height.png"); + } + } + .right { + position: relative; + margin-left: 30px; + padding-top: 20px; + height: 90%; + .select { + display: flex; + .log { + position: relative; + width: 128px; + height: 48px; + background: radial-gradient(circle, #00c0fa 0%, #015eea 100%); + border-radius: 6px; + .name { + width: 100%; + height: 100%; + text-align: center; + line-height: 48px; + font-family: Source Han Sans SC; + font-weight: 400; + font-size: 18px; + color: #ffffff; + } + .sum { + position: absolute; + right: -10px; + top: -10px; + width: 25px; + height: 25px; + text-align: center; + line-height: 25px; + background: #10ad40; + border-radius: 50%; + border: 1px solid #ffffff; + font-size: 14px; + color: #ffffff; + } + } + .from { + margin-left: 300px; + } + .refresh { + margin-left: 10px; + display: flex; + align-items: center; + width: 76px; + height: 50px; + line-height: 50px; + background: #015eea; + border-radius: 6px; + font-size: 18px; + color: #ffffff; + img { + margin-left: 5px; + width: 23px; + height: 23px; + } + .name { + margin-left: 5px; + } + } + .call { + margin-left: 10px; + display: flex; + align-items: center; + width: 115px; + height: 49px; + line-height: 49px; + background: #083d62; + border-radius: 6px; + border: 1px solid #4b96dd; + font-size: 18px; + color: #ffffff; + img { + margin-left: 5px; + width: 23px; + height: 23px; + } + .name { + margin-left: 5px; + } + } + } + .block { + position: absolute; + left: 50%; + transform: translateX(-50%); + /deep/.el-pagination__total { + margin-top: 8px; + font-size: 18px; + color: #ffffff; + } + /deep/.el-input__inner { + width: 110px; + height: 40px; + font-size: 18px; + } + /deep/.btn-prev { + margin-top: 6px; + color: #fff; + background: rgba(0, 0, 0, 0); + } + /deep/.btn-next { + margin-top: 6px; + color: #fff; + background: rgba(0, 0, 0, 0); + } + /deep/.el-pager { + margin-top: 6px; + .number { + background: rgba(0, 0, 0, 0); + font-size: 18px; + color: #fff; + } + .active { + color: #0cb8ff; + } + } + /deep/.el-icon { + font-size: 16px; + } + /deep/.el-pagination__jump { + font-size: 18px; + color: #fff; + } + /deep/.el-pagination__editor { + width: 100px; + margin-left: 10px; + .el-input__inner { + width: 60px; + background: rgba(0, 0, 0, 0); + border: 1px solid #409eff; + color: #fff; + font-size: 18px; + } + } + } + } +} +/deep/ .el-form-item__label { + margin-top: 5px; + color: #fff; + font-size: 16px; +} +/deep/ .el-select { + input { + border: 1px solid #4b96dd; + background-color: rgba(0, 0, 0, 0); + color: #ddd; + height: 50px; + width: 160px; + font-size: 16px; + } +} +/deep/ .el-select-dropdown { + border: 1px solid #4b96dd; + background-color: #091631; + .el-select-dropdown__item.hover, + .el-select-dropdown__item:hover { + background-color: #2d4c9e; + color: #fff; + } + .el-select-dropdown__item { + color: #bbb; + } +} + +/deep/ .el-table { + background-color: rgba(0, 0, 0, 0); + + thead { + tr { + + th { + background-color: #2d4c9e; + border-bottom: 0px; + .cell { + font-weight: 400; + font-size: 20px; + color: #fff; + text-shadow: 0px 0px 2px #00fbff; + } + } + } + } + tbody { + font-size: 16px; + color: #fff; + tr { + background-color: rgba(0, 0, 0, 0); + td { + background-color: rgba(0, 0, 0, 0); + border-bottom: 0px; + } + } + tr:hover { + border: 2px solid #4b96dd; + td { + background-color: #2d4c9e; + } + } + } +} +/deep/ .el-table::before { + height: 0px; +} +</style> + +<style> +.el-select-dropdown { + border: 1px solid #4b96dd; + background-color: #091631; +} +.el-select-dropdown__item.hover, +.el-select-dropdown__item:hover { + background-color: #2d4c9e; + color: #fff; +} +.el-select-dropdown__item { + color: #bbb; +} + + +</style> -- Gitblit v1.9.3