Browse Source

增加字段映射

master
parent
commit
1113d7bb2e
  1. 2
      SuperAPI/wwwroot/rezero/default_ui/css/page_table_list.css
  2. 180
      SuperAPI/wwwroot/rezero/default_ui/std_entity_config.html
  3. 208
      SuperAPI/wwwroot/rezero/default_ui/std_filed_map.html
  4. 243
      SuperAPI/wwwroot/rezero/default_ui/std_filed_map_old.html
  5. 10
      SuperAPI/wwwroot/rezero/default_ui/std_method_config.html
  6. 2
      SuperAPI/wwwroot/rezero/default_ui/sys_dict.html
  7. 2
      SuperAPI/wwwroot/rezero/default_ui/sys_dict_data.html
  8. 477
      SuperAPI/wwwroot/rezero/default_ui/template/master_page.html

2
SuperAPI/wwwroot/rezero/default_ui/css/page_table_list.css

@ -10,7 +10,7 @@
}
.table_opt button {
max-width: 80px;
flex: 1;
}
.table_opt2 {

180
SuperAPI/wwwroot/rezero/default_ui/std_entity_config.html

@ -160,15 +160,25 @@
<label
for="message-text"
class="control-label"
>实体表名:</label
>
<input
type="text"
class="form-control"
v-model="formData.MAPPING_TABLE"
name="MAPPING_TABLE"
id="message-text"
/>
>实体表名:
</label>
<div class="input-group">
<input
v-model="formData.MAPPING_TABLE"
type="text"
name="MAPPING_TABLE"
class="form-control"
/>
<span class="input-group-btn">
<button
@click="openImportEntity(item)"
class="btn btn-default"
type="button"
>
选择表
</button>
</span>
</div>
</div>
<div class="form-group">
<label
@ -264,6 +274,109 @@
</div>
</div>
</div>
<div
id="divImportEntity"
class="modal fade bs-example-modal-lg"
tabindex="-1"
role="dialog"
aria-labelledby="myLargeModalLabel"
style="display: none"
>
<button
id="btnImportEntity"
type="button"
class="btn btn-primary hidden"
data-toggle="modal"
data-target="#divImportEntity"
></button>
<div
class="modal-dialog modal-lg border3CCC"
role="document"
>
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">×</span>
</button>
<h4
class="modal-title"
id="myLargeModalLabel"
>
选择表
</h4>
</div>
<div class="modal-body">
<div class="input-group width250 m-b-10">
<input
id="txtTableName"
type="text"
class="form-control"
/>
<span class="input-group-btn">
<button
type="button"
@click="bindImportTables()"
class="btn btn-default"
>
<i class="mdi mdi-magnify"></i>搜索
</button>
<button
type="button"
onclick="txtTableName.value=''"
class="btn btn-default"
>
<i class="mdi mdi-refresh"></i>清空
</button>
</span>
</div>
<div class="master-table-container">
<table class="table table-bordered">
<thead>
<tr>
<th>表名</th>
<th>描述</th>
</tr>
</thead>
<tbody v-if="tables.length>0">
<tr
v-for="item in tables"
@click="selectTable(item)"
:style="{
'background-color':item.Id ==isSelectTable.Id? '#f5f5f5': ''
}"
>
<td>{{ item.Name }}</td>
<td>{{ item.Description }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button
type="button"
id="btnImportEntityClose"
class="btn btn-default"
data-dismiss="modal"
>
关闭
</button>
<button
type="button"
@click="importEntitySubmit()"
class="btn btn-primary"
>
确定
</button>
</div>
</div>
</div>
</div>
</div>
<script>
var vueObj = new Vue({
@ -276,6 +389,10 @@
title: '',
formData: {},
methodId: '',
databaseId: 1,
database: [],
tables: [],
isSelectTable: {},
},
mounted() {
var url = window.location.href
@ -335,8 +452,8 @@
},
openEditDiv: function (item) {
console.log(item)
var urlById = '/std_method/get?METHOD_ID=' + item.METHOD_ID
if (item.METHOD_ID) {
var urlById = '/std_entity/get?id=' + item.ID
if (item.ID) {
this.title = this.editTitle
axios
.get(urlById, jwHeader)
@ -352,23 +469,21 @@
openAddDiv: function (item) {
this.title = this.addTitle
this.formData = {
SAVE_INPUT: 0,
SAVE_OUTPUT: 0,
OBJECT_TYPE: 0,
PARAMETR_TYPE: 0,
ASSEMBLY_TYPE: 0,
METHOD_REF: this.methodId,
MAPPING_TABLE: '',
}
},
addOrUpdate: function () {
var th = this
var frmId = 'frmEdit'
var json = this.formData
var url = json.METHOD_ID ? '/std_method/update' : '/std_method/create'
var url = json.METHOD_ID ? '/std_entity/update' : '/std_entity/create'
this.addOrUpdateSubmit(url, json)
},
addOrUpdateSubmit: function (url, json) {
if (url == '/std_method/create') {
// 生成uuid
const uuid = crypto.randomUUID().replace(/-/g, '')
json.METHOD_ID = uuid
}
var th = this
axios
.post(url, json, jwHeader)
@ -387,6 +502,33 @@
this.data = null
})
},
openImportEntity: function () {
btnImportEntity.click()
this.bindImportTables()
},
bindImportTables: function () {
var url =
'/PrivateReZeroRoute/100004/GetAllTables?databaseId=' +
this.databaseId +
'&tableName=' +
txtTableName.value
axios
.get(url, jwHeader)
.then(response => {
this.tables = response.data
this.error = null
})
.catch(error => {
this.error = error.message
})
},
selectTable(item) {
this.isSelectTable = item
},
importEntitySubmit: function () {
this.formData.MAPPING_TABLE = this.isSelectTable.Name
btnImportEntityClose.click()
},
},
})
</script>

208
SuperAPI/wwwroot/rezero/default_ui/std_filed_map.html

@ -16,20 +16,13 @@
>
<div class="form-group">
<div class="row">
<div class="col-md-1">
<label
class="form-control"
t
>名称:</label
>
</div>
<div class="col-md-3">
<div class="col-md-2">
<input
class="form-control"
type="text"
id="txtSearch"
id="systemTable"
name="example-text-input"
placeholder="分类名称"
placeholder="本地表名"
/>
</div>
<div class="col-md-3">
@ -146,35 +139,133 @@
<form id="frmEdit">
<input
type="hidden"
v-model="formData.Id"
name="Id"
v-model="formData.ID"
name="ID"
/>
<div class="form-group">
<div
class="form-group"
style="display: flex; flex-flow: column nowrap; gap: 5px"
>
<label
for="recipient-name"
class="control-label"
>名称:</label
for=""
style="text-align: left"
>
本地</label
>
<input
type="text"
v-model="formData.Name"
name="Name"
placeholder="表名"
name="SYSTEM_TABLE_NAME"
class="form-control"
v-model="formData.SYSTEM_TABLE_NAME"
/>
<input
type="text"
placeholder="表注释"
v-model="formData.SYSTEM_TABLE_CNNAME"
name="SYSTEM_TABLE_CNNAME"
class="form-control"
/>
<input
type="text"
placeholder="字段名"
v-model="formData.SYSTEM_FIELD"
name="SYSTEM_FIELD"
class="form-control"
/>
<input
type="text"
placeholder="字段注释"
required
v-model="formData.SYSTEM_NAME"
name="SYSTEM_TABLE_NAME"
class="form-control"
/>
<select
style="width: 100%"
v-model="formData.SYSTEM_FIELD_TYPE"
name="SYSTEM_FIELD_TYPE"
class="form-control"
>
<option
v-for="(item,index) in dict.filedType"
:key="index"
:value="item.VALUE"
>
{{item.LABEL}}
</option>
</select>
<input
v-if="formData.SYSTEM_FIELD_TYPE == 'dict'"
type="text"
placeholder="字典名称"
v-model="formData.SYSTEM_DICT_NAME"
name="SYSTEM_DICT_NAME"
class="form-control"
id="recipient-name"
/>
</div>
<div class="form-group">
<div
class="form-group"
style="display: flex; flex-flow: column nowrap; gap: 5px"
>
<label
for="message-text"
class="control-label"
>内容:</label
for=""
style="text-align: left"
>
<textarea
三方
</label>
<input
type="text"
placeholder="表名"
v-model="formData.OBJECT_TABLE_NAME"
name="OBJECT_TABLE_NAME"
class="form-control"
v-model="formData.Description"
name="Description"
id="message-text"
></textarea>
/>
<input
type="text"
placeholder="表注释"
v-model="formData.OBJECT_TABLE_CNNAME"
name="OBJECT_TABLE_CNNAME"
class="form-control"
/>
<input
type="text"
placeholder="字段名"
v-model="formData.INTERFACE_FIELD"
name="INTERFACE_FIELD"
class="form-control"
/>
<input
type="text"
placeholder="字段注释"
required
v-model="formData.INTERFACE_NAME"
name="INTERFACE_NAME"
class="form-control"
/>
<select
style="width: 100%"
title="字段类型"
v-model="formData.OBJECT_FIELD_TYPE"
name="OBJECT_FIELD_TYPE"
class="form-control"
>
<option
v-for="(item,index) in dict.filedType"
:key="index"
:value="item.VALUE"
>
{{item.LABEL}}
</option>
</select>
<input
v-if="formData.OBJECT_FIELD_TYPE == 'dict'"
type="text"
placeholder="字典名称"
v-model="formData.OBJECT_DICT_NAME"
name="OBJECT_DICT_NAME"
class="form-control"
/>
</div>
</form>
</div>
@ -208,16 +299,42 @@
addTitle: '添加动态接口分类',
editTitle: '修改态接口分类',
title: '',
formData: {},
formData: {
ID: '',
SYSTEM_NAME: '',
SYSTEM_FIELD: '',
INTERFACE_NAME: '',
INTERFACE_FIELD: '',
OBJECT_TABLE_NAME: '',
OBJECT_TABLE_CNNAME: '',
SYSTEM_TABLE_CNNAME: '',
SYSTEM_TABLE_NAME: '',
SYSTEM_FIELD_TYPE: 'value',
SYSTEM_DICT_NAME: '',
OBJECT_FIELD_TYPE: 'value',
OBJECT_DICT_NAME: '',
},
methodId: '',
databaseId: 1,
database: [],
tables: [],
isSelectTable: {},
dict: {
filedType: [],
},
},
created() {
this.getDictOption()
},
mounted() {
var url = window.location.href
var methodId = url.substring(url.lastIndexOf('?') + 1)
this.methodId = methodId
this.fetchData('')
},
methods: {
fetchData(append) {
var url =
'/PrivateReZeroRoute/100003/GetDynamicInterfaceCategoryPageList?ParentId=200' +
append
var url = `/std_filed/list` + append
axios
.get(url, jwHeader)
.then(response => {
@ -229,11 +346,18 @@
this.data = null
})
},
getDictOption() {
axios
.get('/dict_data/simpleList?type=std_filed_type', jwHeader)
.then(res => {
this.dict.filedType = res.data
})
},
onSearch: function (page) {
var urlParameters =
'&' +
tools.objectToQueryString({
Name: txtSearch.value,
systemTable: systemTable.value,
__pageNumber: page,
__pageSize: tools.getValue('selPageSize'),
})
@ -266,10 +390,8 @@
}
},
openEditDiv: function (item) {
var urlById =
'/PrivateReZeroRoute/100003/GetDynamicInterfaceCategoryById?id=' +
item.Id
if (item.Id) {
var urlById = '/std_filed/get?id=' + item.ID
if (item.ID) {
this.title = this.editTitle
axios
.get(urlById, jwHeader)
@ -284,15 +406,19 @@
},
openAddDiv: function (item) {
this.title = this.addTitle
this.formData = {}
this.formData = {
OBJECT_TYPE: 0,
PARAMETR_TYPE: 0,
ASSEMBLY_TYPE: 0,
METHOD_REF: this.methodId,
MAPPING_TABLE: '',
}
},
addOrUpdate: function () {
var th = this
var frmId = 'frmEdit'
var json = this.formData
var url = json.Id
? '/PrivateReZeroRoute/100003/UpdateDynamicInterfaceCategory'
: '/PrivateReZeroRoute/100003/AddDynamicInterfaceCategory'
var url = json.ID ? '/std_filed/update' : '/std_filed/create'
this.addOrUpdateSubmit(url, json)
},
addOrUpdateSubmit: function (url, json) {

243
SuperAPI/wwwroot/rezero/default_ui/std_filed_map_old.html

@ -0,0 +1,243 @@
@@master_page.html
<div id="app">
<section class="app-container">
<form
id="frmSubmit"
class="form"
>
<section
class="row"
style="grid-area: a"
>
<label for="">本地</label>
<input
type="text"
placeholder="表名"
v-model="formData.SYSTEM_TABLE_NAME"
/>
<input
type="text"
placeholder="表注释"
v-model="formData.SYSTEM_TABLE_CNNAME"
/>
<input
type="text"
placeholder="字段名"
v-model="formData.SYSTEM_FIELD"
/>
<input
type="text"
placeholder="字段注释"
required
v-model="formData.SYSTEM_NAME"
/>
<select
style="width: 100px"
v-model="formData.SYSTEM_FIELD_TYPE"
>
<option
v-for="(item,index) in dict.filedType"
:key="index"
:value="item.VALUE"
>
{{item.LABEL}}
</option>
</select>
<input
v-if="formData.SYSTEM_FIELD_TYPE == 'dict'"
type="text"
placeholder="字典名称"
v-model="formData.SYSTEM_DICT_NAME"
/>
</section>
<section
class="row"
style="grid-area: b"
>
<label for="">三方</label>
<input
type="text"
placeholder="表名"
v-model="formData.OBJECT_TABLE_NAME"
/>
<input
type="text"
placeholder="表注释"
v-model="formData.OBJECT_TABLE_CNNAME"
/>
<input
type="text"
placeholder="字段名"
v-model="formData.INTERFACE_FIELD"
/>
<input
type="text"
placeholder="字段注释"
required
v-model="formData.INTERFACE_NAME"
/>
<select
style="width: 100px"
title="字段类型"
v-model="formData.OBJECT_FIELD_TYPE"
>
<option
v-for="(item,index) in dict.filedType"
:key="index"
:value="item.VALUE"
>
{{item.LABEL}}
</option>
</select>
<input
v-if="formData.OBJECT_FIELD_TYPE == 'dict'"
type="text"
placeholder="字典名称"
v-model="formData.OBJECT_DICT_NAME"
/>
</section>
<section
class="domain"
style="grid-area: c"
>
<button
type="button"
@click="save"
>
保存
</button>
<button>清空</button>
</section>
</form>
<section class="list">
<section
v-for="item in data.Data"
:key="item.id"
>
{{item.ID}}
</section>
</section>
@@page_control.html
</section>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
count: 1,
data: null,
error: null,
dict: {
filedType: [],
},
formData: {
ID: '',
SYSTEM_NAME: '',
SYSTEM_FIELD: '',
INTERFACE_NAME: '',
INTERFACE_FIELD: '',
OBJECT_TABLE_NAME: '',
OBJECT_TABLE_CNNAME: '',
SYSTEM_TABLE_CNNAME: '',
SYSTEM_TABLE_NAME: '',
SYSTEM_FIELD_TYPE: 'value',
SYSTEM_DICT_NAME: '',
OBJECT_FIELD_TYPE: 'value',
OBJECT_DICT_NAME: '',
},
}
},
created() {
this.getDictOption()
this.fetchData('')
},
mounted() {},
methods: {
getDictOption() {
axios
.get('/dict_data/simpleList?type=std_filed_type', jwHeader)
.then(res => {
this.dict.filedType = res.data
})
},
fetchData(append) {
var url = '/std_filed/list?' + append
axios
.get(url, jwHeader)
.then(response => {
this.data = response.data
this.error = null
})
.catch(error => {
this.error = error.message
this.data = null
})
},
save() {
const data = this.formData
const url = data.ID ? '/std_filed/update' : '/std_filed/create'
axios
.post(url, data, jwHeader)
.then(response => {
console.log(response.data)
this.fetchData('')
})
.catch(error => {})
},
},
})
</script>
<style>
.app-container {
box-sizing: border-box;
padding: 10px;
background-color: #fff;
}
.form {
padding: 10px;
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: auto auto;
grid-template-areas: 'a c' 'b c';
gap: 5px;
}
.form .row {
display: flex;
flex-flow: row nowrap;
gap: 5px;
align-items: center;
}
.form .domain {
display: flex;
flex-flow: row nowrap;
align-items: end;
gap: 10px;
}
.domain button {
border: 0;
padding: 5px 10px;
background-color: #0029be;
border-radius: 4px;
color: #fff;
}
.row label {
margin-bottom: 0;
font-weight: normal;
}
.row input,
.row select {
outline: none;
border: 0;
padding: 5px 10px;
background-color: #cccccc88;
border-radius: 4px;
color: #000;
}
</style>

10
SuperAPI/wwwroot/rezero/default_ui/std_method_config.html

@ -114,6 +114,13 @@
>
<i class="mdi mdi-lead-pencil"></i> 配置对象
</button>
<button
@click="appendFiled(item)"
class="btn btn-link"
type="button"
>
<i class="mdi mdi-folder-google-drive"></i> 配置字段
</button>
</td>
</tr>
</tbody>
@ -392,6 +399,9 @@
append(item) {
window.location.href = `./std_entity_config.html?${item.METHOD_ID}`
},
appendFiled(item) {
window.location.href = `./std_filed_map.html?type=${item.PARAMETR_TYPE}&table=${item.MAPPING_TABLE}`
},
},
})
</script>

2
SuperAPI/wwwroot/rezero/default_ui/sys_dict.html

@ -312,7 +312,7 @@
.then(response => {
this.error = null
this.onSearch()
if (response.data == true) {
if (response.data) {
frmEdit.reset()
btnCloseEdit.click()
} else {

2
SuperAPI/wwwroot/rezero/default_ui/sys_dict_data.html

@ -324,7 +324,7 @@
.then(response => {
this.error = null
this.onSearch()
if (response.data == true) {
if (response.data) {
frmEdit.reset()
btnCloseEdit.click()
} else {

477
SuperAPI/wwwroot/rezero/default_ui/template/master_page.html

@ -1,167 +1,330 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>从零开始后台管理系统 @@version</title>
<link rel="icon" href="favicon.ico" type="image/ico">
<meta name="keywords" content="从零开始后台管理系统 @@version">
<meta name="description" content="从零开始后台管理系统 @@version">
<meta name="author" content="yinqi">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/materialdesignicons.min.css" rel="stylesheet">
<link href="css/style.min.css" rel="stylesheet">
<link href="css/master.css?v=@@version" rel="stylesheet" />
<link href="css/master-dark.css?v=@@version" rel="stylesheet" />
<script src="js/vue.js"></script>
<script src="js/axios.min.js"></script>
<script src="js/tools.js?v=@@version"></script>
<script>
var jwHeader =
{
headers: {
"Authorization": 'Bearer ' + localStorage.getItem('@@authorizationLocalStorageName')
}
}
tools.checkAuthorization();
</script>
</head>
<body data-theme="default">
<div class="lyear-layout-web">
<div class="lyear-layout-container">
<!--左侧导航-->
<aside class="lyear-layout-sidebar">
<!-- logo -->
<div id="logo" class="sidebar-header">
<a href="index.html"><img src="images/logo-sidebar.png" title="LightYear" alt="LightYear" /></a>
</div>
<div class="lyear-layout-sidebar-scroll">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
/>
<title>从零开始后台管理系统 @@version</title>
<link
rel="icon"
href="favicon.ico"
type="image/ico"
/>
<meta
name="keywords"
content="从零开始后台管理系统 @@version"
/>
<meta
name="description"
content="从零开始后台管理系统 @@version"
/>
<meta
name="author"
content="yinqi"
/>
<link
href="css/bootstrap.min.css"
rel="stylesheet"
/>
<link
href="css/materialdesignicons.min.css"
rel="stylesheet"
/>
<link
href="css/style.min.css"
rel="stylesheet"
/>
<link
href="css/master.css?v=@@version"
rel="stylesheet"
/>
<link
href="css/master-dark.css?v=@@version"
rel="stylesheet"
/>
<script src="js/vue.js"></script>
<script src="js/axios.min.js"></script>
<script src="js/tools.js?v=@@version"></script>
<script>
var jwHeader = {
headers: {
Authorization:
'Bearer ' + localStorage.getItem('@@authorizationLocalStorageName'),
},
}
tools.checkAuthorization()
</script>
</head>
<body data-theme="default">
<div class="lyear-layout-web">
<div class="lyear-layout-container">
<!--左侧导航-->
<aside class="lyear-layout-sidebar">
<!-- logo -->
<div
id="logo"
class="sidebar-header"
>
<a href="index.html"
><img
src="images/logo-sidebar.png"
title="LightYear"
alt="LightYear"
/></a>
</div>
<div class="lyear-layout-sidebar-scroll">
<nav class="sidebar-main">
<ul class="nav nav-drawer">
@@left-menu
</ul>
</nav>
</div>
</aside>
<!--End 左侧导航-->
<!--头部信息-->
<header class="lyear-layout-header">
<nav class="navbar navbar-default">
<div class="topbar">
<div class="topbar-left">
<div class="lyear-aside-toggler">
<span class="lyear-toggler-bar"></span>
<span class="lyear-toggler-bar"></span>
<span class="lyear-toggler-bar"></span>
</div>
<span class="navbar-page-title"> @@nav-title </span>
</div>
<nav class="sidebar-main">
<ul class="nav nav-drawer">
@@left-menu
</ul>
</nav>
</div>
</aside>
<!--End 左侧导航-->
<!--头部信息-->
<header class="lyear-layout-header">
<nav class="navbar navbar-default">
<div class="topbar">
<div class="topbar-left">
<div class="lyear-aside-toggler">
<span class="lyear-toggler-bar"></span>
<span class="lyear-toggler-bar"></span>
<span class="lyear-toggler-bar"></span>
</div>
<span class="navbar-page-title"> @@nav-title </span>
</div>
<ul class="topbar-right">
<li id="liUser" class="dropdown dropdown-profile">
<a href="javascript:void(0)" data-toggle="dropdown">
<img class="img-avatar img-avatar-48 m-r-10" :src="userInfo.Avatar" onerror="this.src='images/users/avatar.jpg';" :alt="userInfo.UserName" />
<span> {{userInfo.UserName}} </span>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li> <a href="/rezero/my_user.html"><i class="mdi mdi-lock-outline"></i> 修改密码</a> </li>
<li class="divider"></li>
<li> <a onclick="localStorage['@@authorizationLocalStorageName'] = null; window.location.href = '/rezero/login.html';"><i class="mdi mdi-logout-variant"></i> 退出登录</a> </li>
</ul>
</li>
<li class="dropdown dropdown-skin open">
<span data-toggle="dropdown" class="icon-palette" aria-expanded="true"><i class="mdi mdi-palette"></i></span>
<ul class="dropdown-menu dropdown-menu-right" data-stoppropagation="true">
<li class="drop-title"><p>主题</p></li>
<li class="drop-skin-li clearfix">
<span class="inverse">
<input onclick="localStorage.BgColorType = 0;" type="radio" name="site_theme" value="default" id="site_theme_1" checked="">
<label onclick="localStorage.BgColorType = 0;" for="site_theme_1"></label>
</span>
<span>
<input onclick="localStorage.BgColorType = 1;" type="radio" name="site_theme" value="dark" id="site_theme_2">
<label onclick="localStorage.BgColorType = 1;" for="site_theme_2"></label>
</span>
<!--<span>
<ul class="topbar-right">
<li
id="liUser"
class="dropdown dropdown-profile"
>
<a
href="javascript:void(0)"
data-toggle="dropdown"
>
<img
class="img-avatar img-avatar-48 m-r-10"
:src="userInfo.Avatar"
onerror="this.src='images/users/avatar.jpg';"
:alt="userInfo.UserName"
/>
<span> {{userInfo.UserName}} </span>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a href="/rezero/my_user.html"
><i class="mdi mdi-lock-outline"></i> 修改密码</a
>
</li>
<li class="divider"></li>
<li>
<a
onclick="localStorage['@@authorizationLocalStorageName'] = null; window.location.href = '/rezero/login.html';"
><i class="mdi mdi-logout-variant"></i> 退出登录</a
>
</li>
</ul>
</li>
<li class="dropdown dropdown-skin open">
<span
data-toggle="dropdown"
class="icon-palette"
aria-expanded="true"
><i class="mdi mdi-palette"></i
></span>
<ul
class="dropdown-menu dropdown-menu-right"
data-stoppropagation="true"
>
<li class="drop-title"><p>主题</p></li>
<li class="drop-skin-li clearfix">
<span class="inverse">
<input
onclick="localStorage.BgColorType = 0;"
type="radio"
name="site_theme"
value="default"
id="site_theme_1"
checked=""
/>
<label
onclick="localStorage.BgColorType = 0;"
for="site_theme_1"
></label>
</span>
<span>
<input
onclick="localStorage.BgColorType = 1;"
type="radio"
name="site_theme"
value="dark"
id="site_theme_2"
/>
<label
onclick="localStorage.BgColorType = 1;"
for="site_theme_2"
></label>
</span>
<!--<span>
<input type="radio" name="site_theme" value="translucent" id="site_theme_3">
<label for="site_theme_3"></label>
</span>-->
</li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<!--End 头部信息-->
<!--页面主要内容-->
<main class="lyear-layout-content">
<div class="container-fluid">
</li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<!--End 头部信息-->
<!--页面主要内容-->
<main class="lyear-layout-content">
<div class="container-fluid">@@lyear-layout-content</div>
</main>
<!--End 页面主要内容-->
</div>
</div>
@@lyear-layout-content
<script
type="text/javascript"
src="js/jquery.min.js"
></script>
<script
type="text/javascript"
src="js/bootstrap.min.js"
></script>
<script
type="text/javascript"
src="js/perfect-scrollbar.min.js"
></script>
<script
type="text/javascript"
src="js/main.min.js"
></script>
</div>
</main>
<!--End 页面主要内容-->
</div>
</div>
<!--删除提醒-->
<div
class="modal fade bs-example-modal-sm"
tabindex="-1"
role="dialog"
aria-labelledby="mySmallModalLabel"
id="divDelBox"
style="display: none"
>
<div
class="modal-dialog modal-sm"
role="document"
>
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">×</span>
</button>
<h4
class="modal-title"
id="myLargeModalLabel"
>
警告
</h4>
</div>
<div class="modal-body">是否删除该记录?</div>
<div class="modal-footer">
<button
type="button"
id="btnDelClose"
class="btn btn-default"
data-dismiss="modal"
>
关闭
</button>
<button
type="button"
onclick="vueObj.deleteAndConfirm(null)"
class="btn btn-primary"
>
确定
</button>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/perfect-scrollbar.min.js"></script>
<script type="text/javascript" src="js/main.min.js"></script>
<!--删除提醒-->
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" id="divDelBox" style="display: none;">
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myLargeModalLabel">警告</h4>
</div>
<div class="modal-body">
是否删除该记录?
</div>
<div class="modal-footer">
<button type="button" id="btnDelClose" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" onclick="vueObj.deleteAndConfirm(null)" class="btn btn-primary">确定</button>
</div>
</div>
</div>
</div>
<!--alert弹出框-->
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" id="divAlertRoot" style="display: none;">
<button id="btnAlert" type="button" style="display:none" class="btn btn-primary" data-toggle="modal" data-target="#divAlertRoot"></button>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myLargeModalLabel">提示</h4>
</div>
<div id="divAlertBody" class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">确定</button>
</div>
</div>
</div>
</div>
<div id="loadingOverlay">
<div id="loadingMessage">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
<script src="js/init.js?v=@@version"></script>
</body>
<!--alert弹出框-->
<div
class="modal fade bs-example-modal-sm"
tabindex="-1"
role="dialog"
aria-labelledby="mySmallModalLabel"
id="divAlertRoot"
style="display: none"
>
<button
id="btnAlert"
type="button"
style="display: none"
class="btn btn-primary"
data-toggle="modal"
data-target="#divAlertRoot"
></button>
<div
class="modal-dialog modal-sm"
role="document"
>
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">×</span>
</button>
<h4
class="modal-title"
id="myLargeModalLabel"
>
提示
</h4>
</div>
<div
id="divAlertBody"
class="modal-body"
></div>
<div class="modal-footer">
<button
type="button"
class="btn btn-default"
data-dismiss="modal"
>
关闭
</button>
<button
type="button"
class="btn btn-primary"
data-dismiss="modal"
>
确定
</button>
</div>
</div>
</div>
</div>
<div id="loadingOverlay">
<div id="loadingMessage">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
<script src="js/init.js?v=@@version"></script>
</body>
</html>

Loading…
Cancel
Save