| | |
| | | .basic-container { |
| | | padding: 0 10px; |
| | | box-sizing: border-box; |
| | | height: 100%; |
| | | // height: 100%; |
| | | |
| | | .basic-container__card{ |
| | | height: 100% !important; |
| | |
| | | width="70%" |
| | | class="flow-design-dialog" |
| | | > |
| | | <nf-design-base ref="bpmn" style="height: 60vh" :options="option"></nf-design-base> |
| | | <nf-design-base ref="bpmn" class="bpmn" :options="option"></nf-design-base> |
| | | </el-dialog> |
| | | <div v-else> |
| | | <nf-design-base |
| | | v-if="visible" |
| | | ref="bpmn" |
| | | style="height: 60vh" |
| | | class="bpmn" |
| | | :options="option" |
| | | ></nf-design-base> |
| | | </div> |
| | |
| | | |
| | | <style lang="scss"> |
| | | .flow-design-dialog { |
| | | .bpmn { |
| | | height: 60vh |
| | | } |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin: 0 !important; |
| | |
| | | <div class="item" @click="openApp(item)"> |
| | | <i :style="{ backgroundColor: item.iconBgColor, color: item.iconColor }" class="iconfont" |
| | | :class="item[iconKey]"></i> |
| | | <small style="margin-top: 5px; font-size: 10px">{{ item[labelKey] }}</small> |
| | | <small class="smallkey" >{{ item[labelKey] }}</small> |
| | | </div> |
| | | </template> |
| | | </div> |
| | |
| | | height: 100% !important; |
| | | } |
| | | </style> |
| | | <style scoped> |
| | | <style scoped lang="scss"> |
| | | .desktop { |
| | | .smallkey { |
| | | margin-top: 5px; font-size: 10px |
| | | } |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: absolute; |
| | |
| | | </div> |
| | | <div class="message">{{ userInfo.username }}</div> |
| | | <div class="form"> |
| | | <div class="item" style="width: 320px" :class="passwdError ? 'error' : ''"> |
| | | <div class="item" :class="passwdError ? 'error' : ''"> |
| | | <input class="password" placeholder="password here..." v-model="passwd" type="password" /> |
| | | <i class="iconfont el-icon-unlock" @click="handleLogin"></i> |
| | | <i class="iconfont icon-tuichu" @click="handleLogout"></i> |
| | |
| | | </script> |
| | | <style scoped> |
| | | @import url('./login.css'); |
| | | .item { |
| | | width: 320px |
| | | } |
| | | </style> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #avue-view{ |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | :deep(.basic-container){ |
| | | height: none !important;} |
| | | // #avue-view{ |
| | | // :deep(){ |
| | | // .avue-crud__body{ |
| | | // .el-form{ |
| | | // height: 745px; |
| | | // overflow: auto; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | </style> |
| | |
| | | </transition> |
| | | <transition-group name="fade"> |
| | | <template v-if="getScreen(!isCollapse)"> |
| | | <div style="display: flex; align-items: left; gap: 5px; margin: 8px 8px 10px 20px;"> |
| | | <div class="fadeStyle"> |
| | | <img class="img" src="/img/bg/mainLogo.png" alt="" width="50%" height="50%" /> |
| | | <!-- <span style="font-size: 20px;" key="1"> |
| | | {{ this.parentDeptInfo.sysName }} |
| | |
| | | methods: {}, |
| | | }; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .fadeStyle { |
| | | display: flex; align-items: left; gap: 5px; margin: 8px 8px 10px 20px; |
| | | } |
| | | </style> |
| | |
| | | <el-menu class="top-menu" :default-active="activeIndex" mode="horizontal" text-color="#333"> |
| | | <el-menu-item index="0" @click="openHome(itemHome)"> |
| | | <template #title> |
| | | <i :class="itemHome.source" style="padding-right: 5px"></i> |
| | | <i :class="itemHome.source" class="itemTitle" ></i> |
| | | <span>{{ itemHome.name }}</span> |
| | | </template> |
| | | </el-menu-item> |
| | |
| | | <template v-for="(item, index) in items" :key="index"> |
| | | <el-menu-item :index="item.id + ''" @click="openMenu(item)"> |
| | | <template #title> |
| | | <i :class="item.source" style="padding-right: 5px"></i> |
| | | <i :class="item.source" class="itemTitle"></i> |
| | | <span>{{ item.name }}</span> |
| | | </template> |
| | | </el-menu-item> |
| | |
| | | }, |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .itemTitle { |
| | | padding-right: 5px |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | |
| | | <style scoped lang="scss"> |
| | | .namei { |
| | | margin-right: 5px; |
| | | } |
| | | </style> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | |
| | | <style scoped lang="scss"> |
| | | .namei { |
| | | margin-right: 5px; |
| | | } |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | .firmware_status { |
| | | background-color: aqua; |
| | | border-radius: 4px; |
| | |
| | | <el-tag>{{ row.dept_name }}</el-tag> |
| | | </template> |
| | | <template #status="{ row }"> |
| | | <div |
| | | v-if="row.status == true" |
| | | class="onlineStatus" |
| | | |
| | | > |
| | | <div |
| | | class="onlineStatus-dot" |
| | | |
| | | ></div> |
| | | <span style="margin-left: 5px">在线</span> |
| | | <div v-if="row.status == true" class="onlineStatus"> |
| | | <div class="onlineStatus-dot"></div> |
| | | <span class="online">在线</span> |
| | | </div> |
| | | <div |
| | | v-if="row.status == false" |
| | | class="onlineStatus" |
| | | > |
| | | <div |
| | | class="onlineStatus-dot1" |
| | | |
| | | ></div> |
| | | <span style="margin-left: 5px">离线</span> |
| | | <div v-if="row.status == false" class="onlineStatus"> |
| | | <div class="onlineStatus-dot1"></div> |
| | | <span class="online">离线</span> |
| | | </div> |
| | | </template> |
| | | <template #firmware_status="{ row }"> |
| | | <div |
| | | v-if="row.firmware_status == 1" |
| | | class="onlineStatus1" |
| | | |
| | | > |
| | | <div v-if="row.firmware_status == 1" class="onlineStatus1"> |
| | | <el-tag type="info">无需升级</el-tag> |
| | | <el-tag type="primary" effect="dark" class="active-element" @click="rollFirmware(row)" |
| | | >版本管理</el-tag |
| | | > |
| | | <!-- <div style="background-color: #f1f1f1; border-radius: 4px">无需升级</div> --> |
| | | </div> |
| | | <div |
| | | v-if="row.firmware_status == 2" |
| | | class="onlineStatus1" |
| | | > |
| | | <div v-if="row.firmware_status == 2" class="onlineStatus1"> |
| | | <!-- <el-tag type="success" effect="dark" class="active-element" @click="updateFirmware(row)" |
| | | >升级固件</el-tag |
| | | > --> |
| | |
| | | > |
| | | <!-- <div @click="updateFirmware(row)" class="firmware_status">升级固件</div> --> |
| | | </div> |
| | | <div |
| | | v-if="row.firmware_status == 3" |
| | | class="onlineStatus " |
| | | > |
| | | <div v-if="row.firmware_status == 3" class="onlineStatus"> |
| | | <el-tag type="success" effect="dark" class="active-element" @click="updateFirmware(row)" |
| | | >一致性升级</el-tag |
| | | > |
| | | <!-- <div @click="updateFirmware(row)" class="firmware_status">一致性升级</div> --> |
| | | </div> |
| | | <div |
| | | v-if="row.firmware_status == 4" |
| | | class="onlineStatus " |
| | | > |
| | | <div v-if="row.firmware_status == 4" class="onlineStatus"> |
| | | <el-tag effect="dark" class="active-element" @click="updateFirmware(row)">升级中</el-tag> |
| | | <el-progress |
| | | v-if="row.firmware_progress > 0 && row.firmware_progress < 100" |
| | |
| | | :value="item.id" |
| | | > |
| | | <span style="float: left">{{ item.name + ': ' + item.endpoint }}</span> |
| | | <span v-if="item.status == 1" style="float: right; color: #8492a6; font-size: 13px">{{ |
| | | item.categoryName |
| | | }}</span> |
| | | <span v-if="item.status == 2" style="float: right; color: #40cb8b; font-size: 13px">{{ |
| | | item.categoryName |
| | | }}</span> |
| | | <span v-if="item.status == 1" class="status1">{{ item.categoryName }}</span> |
| | | <span v-if="item.status == 2" class="status2">{{ item.categoryName }}</span> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | this.ossEnd = row.oss_id; |
| | | // 查询下拉列表 |
| | | const param = { |
| | | categoryKeys: "1,3,6" |
| | | } |
| | | getOssList(1, 50,param).then(res => { |
| | | categoryKeys: '1,3,6', |
| | | }; |
| | | getOssList(1, 50, param).then(res => { |
| | | const data = res.data.data; |
| | | that.ossList = data.records; |
| | | }); |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .status2 { |
| | | float: right; |
| | | color: #40cb8b; |
| | | font-size: 13px; |
| | | } |
| | | .status1 { |
| | | float: right; |
| | | color: #8492a6; |
| | | font-size: 13px; |
| | | } |
| | | .online { |
| | | margin-left: 5px; |
| | | } |
| | | .onlineStatus1 { |
| | | display: flex; flex-direction: column; align-items: center |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | .onlineStatus { |
| | | display: flex; flex-direction: row; align-items: center |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | } |
| | | .onlineStatus-dot { |
| | | width: 15px; height: 15px; background-color: #40cb8b; border-radius: 50% |
| | | width: 15px; |
| | | height: 15px; |
| | | background-color: #40cb8b; |
| | | border-radius: 50%; |
| | | } |
| | | .onlineStatus-dot1 { |
| | | width: 15px; height: 15px; background-color: #de5e5e; border-radius: 50% |
| | | width: 15px; |
| | | height: 15px; |
| | | background-color: #de5e5e; |
| | | border-radius: 50%; |
| | | } |
| | | .firmware_status { |
| | | background-color: aqua; |
| | |
| | | /* color: aqua; */ |
| | | } |
| | | </style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | /* color: aqua; */ |
| | | } |
| | | </style> |
| | | <style scoped lang="scss"> |
| | | |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud |
| | | id="device" |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | |
| | | <el-tag>{{ row.dept_name }}</el-tag> |
| | | </template> |
| | | <template #status="{ row }"> |
| | | <div |
| | | v-if="row.status == true" |
| | | class="onlineStatus" |
| | | |
| | | > |
| | | <div |
| | | class="onlineStatus-dot" |
| | | ></div> |
| | | <span style="margin-left: 5px">在线</span> |
| | | <div v-if="row.status == true" class="onlineStatus"> |
| | | <div class="onlineStatus-dot"></div> |
| | | <span class="online" >在线</span> |
| | | </div> |
| | | <div |
| | | v-if="row.status == false" |
| | | class="onlineStatus" |
| | | > |
| | | <div |
| | | class="onlineStatus-dot1" |
| | | ></div> |
| | | <span style="margin-left: 5px">离线</span> |
| | | <div v-if="row.status == false" class="onlineStatus"> |
| | | <div class="onlineStatus-dot1"></div> |
| | | <span class="online">离线</span> |
| | | </div> |
| | | </template> |
| | | <template #menu="scope"> |
| | |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="操控密码设置" append-to-body v-model="operatePasswordSetBox" width="455px"> |
| | | <el-form :model="passwordForm" ref="passwordForm" label-width="80px" :rules="rules" v-loading="loadingForm"> |
| | | <el-form |
| | | :model="passwordForm" |
| | | ref="passwordForm" |
| | | label-width="80px" |
| | | :rules="rules" |
| | | v-loading="loadingForm" |
| | | > |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input type="password" v-model="passwordForm.password" placeholder="请输入密码" show-password></el-input> |
| | | <el-input |
| | | type="password" |
| | | v-model="passwordForm.password" |
| | | placeholder="请输入密码" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="确认密码" prop="password2"> |
| | | <el-input type="password" v-model="passwordForm.password2" placeholder="请输入确认密码" show-password></el-input> |
| | | <el-input |
| | | type="password" |
| | | v-model="passwordForm.password2" |
| | | placeholder="请输入确认密码" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, remove, update, add, getDetail,getOperatePassword,operatePasswordUpdate } from '@/api/device/device'; |
| | | import { |
| | | getList, |
| | | remove, |
| | | update, |
| | | add, |
| | | getDetail, |
| | | getOperatePassword, |
| | | operatePasswordUpdate, |
| | | } from '@/api/device/device'; |
| | | import { mapGetters } from 'vuex'; |
| | | |
| | | export default { |
| | |
| | | } |
| | | }; |
| | | return { |
| | | loadingForm:false, |
| | | loadingForm: false, |
| | | rules: { |
| | | password: [{ required: true, validator: validatePass, trigger: 'blur' }], |
| | | password2: [{ required: true, validator: validatePass2, trigger: 'blur' }], |
| | | }, |
| | | passwordForm:{ |
| | | id:'', |
| | | password:'', |
| | | password2:'', |
| | | passwordForm: { |
| | | id: '', |
| | | password: '', |
| | | password2: '', |
| | | }, |
| | | operatePasswordSetBox: false, |
| | | operatePasswordViewBox: false, |
| | |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: '460', |
| | | calcHeight: 32, |
| | | dialogWidth: 950, |
| | | // height: '460', |
| | | // calcHeight: 32, |
| | | // dialogWidth: 950, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | |
| | | if (valid) { |
| | | this.loadingForm = true; |
| | | const data = { |
| | | id:this.passwordForm.id, |
| | | operate_password: this.passwordForm.password |
| | | } |
| | | id: this.passwordForm.id, |
| | | operate_password: this.passwordForm.password, |
| | | }; |
| | | // 提交 |
| | | operatePasswordUpdate(data).then(res => { |
| | | this.loadingForm = false; |
| | | this.operatePasswordSetBox = false; |
| | | that.passwordForm = {} |
| | | that.passwordForm = {}; |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: 'success', |
| | |
| | | // 操作密码设置 |
| | | handleOperatePassword(row) { |
| | | this.operatePasswordSetBox = true; |
| | | this.passwordForm.id = row.id |
| | | this.passwordForm.id = row.id; |
| | | }, |
| | | viewOperatePassword(row){ |
| | | viewOperatePassword(row) { |
| | | this.operatePasswordViewBox = true; |
| | | // 查询密码 |
| | | getOperatePassword(row.id).then(res=>{ |
| | | this.operate_password = res.data.data; |
| | | }) |
| | | getOperatePassword(row.id).then(res => { |
| | | this.operate_password = res.data.data; |
| | | }); |
| | | }, |
| | | init() { |
| | | this.page= { |
| | | (this.page = { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | this.onLoad(this.page); |
| | | }), |
| | | this.onLoad(this.page); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then( |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | :deep(#device .el-card__body .avue-crud__body .el-form) { |
| | | height: 655px !important; |
| | | overflow: auto; |
| | | } |
| | | .online { |
| | | margin-left: 5px; |
| | | } |
| | | .onlineStatus1 { |
| | | display: flex; flex-direction: column; align-items: center |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | .onlineStatus { |
| | | display: flex; flex-direction: row; align-items: center |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | } |
| | | .onlineStatus-dot { |
| | | width: 15px; height: 15px; background-color: #40cb8b; border-radius: 50% |
| | | width: 15px; |
| | | height: 15px; |
| | | background-color: #40cb8b; |
| | | border-radius: 50%; |
| | | } |
| | | .onlineStatus-dot1 { |
| | | width: 15px; height: 15px; background-color: #de5e5e; border-radius: 50% |
| | | width: 15px; |
| | | height: 15px; |
| | | background-color: #de5e5e; |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | <style scoped lang="scss"> |
| | | .avue-crud .el-table { |
| | | max-height: none !important; |
| | | } |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | <style scoped lang="scss"> |
| | | .namei { |
| | | margin-right: 5px; |
| | | } |
| | | </style> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | |
| | | <style scoped lang="scss"> |
| | | .rowStyle { |
| | | padding: 6px 18px |
| | | } |
| | | |
| | | |
| | | </style> |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped lang="scss"> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 745px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 625px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | :deep(.el-pagination .el-select ){ |
| | | width: 128px !important; |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | :deep(){ |
| | | .avue-crud__body{ |
| | | .el-form{ |
| | | height: 655px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | .uploadImg { |
| | | margin-bottom: 32px |
| | | } |
| | |
| | | <avue-affix id="avue-view" :offset-top="150"> |
| | | <span class="affix-affix">固定在距离顶部 150px 的位置</span> |
| | | </avue-affix> |
| | | <div style="height: 2000px"> |
| | | <div style="padding: 15px 20px; font-size: 18px">往下拉就会出现图钉</div> |
| | | <div class="tudingBox" > |
| | | <div class="tuding" >往下拉就会出现图钉</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .tudingBox { |
| | | height: 2000px |
| | | } |
| | | .tuding { |
| | | padding: 15px 20px; font-size: 18px |
| | | } |
| | | .affix { |
| | | position: relative; |
| | | background-color: #fff; |
| | |
| | | <br /> |
| | | <el-input v-model="value" placeholder="input here" /> |
| | | |
| | | <div style="height: 1000px"></div> |
| | | <div class="blocks" ></div> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .blocks { |
| | | height: 1000px |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div> |
| | | <div style="height: 2000px; background-color: #fff"> |
| | | <div style="padding: 15px 20px; font-size: 18px">往下拉就会出现返回菜单</div> |
| | | <div class="menus" > |
| | | <div class="menusItem">往下拉就会出现返回菜单</div> |
| | | </div> |
| | | <avue-back-top id="avue-view"></avue-back-top> |
| | | <avue-back-top id="avue-view" :height="100" :bottom="200"> |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .menus{ |
| | | height: 2000px; background-color: #fff |
| | | } |
| | | .menusItem { |
| | | padding: 15px 20px; font-size: 18px |
| | | } |
| | | .top { |
| | | padding: 10px; |
| | | font-size: 14px; |