Browse Source

添加配置管理

master
许孟阳 1 year ago
parent
commit
0f0600f031
  1. 2
      package.json
  2. 79
      packages/echarts/line/smoothed.vue
  3. 71
      packages/manage/views/config.vue
  4. 88
      plugs/api/base.ts
  5. 46
      plugs/api/buffer.ts
  6. 9
      plugs/api/config.ts
  7. 50
      plugs/api/dictionary.ts
  8. 1
      plugs/api/index.ts
  9. 19
      plugs/api/log.ts
  10. 77
      plugs/api/permission.ts
  11. 77
      plugs/api/role.ts
  12. 91
      plugs/api/user.ts
  13. 6
      plugs/i18n/en.ts
  14. 5
      plugs/i18n/zh.ts

2
package.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "noob-mengyxu",
"version": "0.3.1",
"version": "0.3.2",
"main": "index.ts",
"module": "index.ts",
"keywords": [

79
packages/echarts/line/smoothed.vue

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
<template></template>
<script lang="ts" setup>
import { useStore } from "vuex";
import { get, post, put, delate } from "@/config/axios";
import { reactive, onMounted, ref } from "vue";
const { state, commit, dispatch } = useStore();
const prop = defineProps({
title: {
type: String,
default: 'Smoothed Line'
},
name: {
type: String
},
xAxis: {
type: Array,
default: []
},
data: {
type: Array,
default: []
},
markLine: {
type: String
},
unit: {
type: String
}
})
const options = {
title: {
text: "",//
left: "center"
},
tooltip: {
trigger: "axis",
formatter: '{b}' + '<br>' +
'<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#5470c6"></span>'
+ '<span style="float:right;margin-left:10px;font-size:14px;color:#666;font-weight:900"/>' + '{c}' + '次'
},
xAxis: {
type: "category",
data: []
},
yAxis: {
type: "value"
},
series: [
{
data: [],
type: "line",
smooth: true,
markLine: {
symbol: 'none', //['none']线['arrow', 'none']线['none','arrow']线
label: {
position: "end" //start,"middle","end"
},
data: [{
silent: false, // truefalse
lineStyle: { //线
type: "solid", // solid'dotted'
color: "#FA3934"
},
yAxis: 22 // 线yAxis,线 {type : 'average', name: ''}type max min average
}]
}
},
],
};
onMounted(() => { });
</script>
<style lang="scss" scoped>
//@import url(); css
</style>

71
packages/manage/views/config.vue

@ -1,14 +1,79 @@ @@ -1,14 +1,79 @@
<template>
<SearchRow :title="t('config.title')" :del="false" :add="false" @query="query"></SearchRow>
<ListTable @query="query" :props="props" :example="example" :page="true" :data="result">
<template #action="{ row }">
<TableAction @modify="modify(row)" :del="false">
</TableAction>
</template>
</ListTable>
<el-dialog :title="t('base.modify') + t('config.name')" v-model="flag.modify" :close-on-click-modal="false"
top="15vh" width="40%" @keydown.enter.native="confirm">
<ModifyForm ref="form" :param="config" :rules="rules" :items="items" @confirm="confirm" :width="100"
@cancel="flag.modify = false">
</ModifyForm>
</el-dialog>
</template>
<script lang="ts" setup>
import { useStore } from "vuex";
import { reactive, onMounted, ref } from "vue";
import { Api, ListTable, SearchRow, NoobInput, TableAction, NoobSelect, NoobButton, ModifyForm, Element, PageResult, PageExample } from "noob-mengyxu";
import { useI18n } from "vue3-i18n";
const { t } = useI18n();
const { state, commit, dispatch } = useStore();
const { list, set } = Api.config;
const { SimpleRequired } = Element;
const result = ref(new PageResult());
const example = reactive<any>(new PageExample());
const flag = reactive({
modify: false,
})
const form = ref();
const config = ref<any>();
const props = [
{ i18n: 'config.prop.0', code: 'cfgKey', width: 120 },
{ i18n: 'config.prop.1', code: 'cfgName', width: 120 },
{ i18n: 'config.prop.2', code: 'cfgValue', width: 120 },
{ i18n: 'config.prop.3', code: 'cfgType', width: 120 },
{ i18n: 'config.prop.4', code: 'cfgDesc', width: 180 },
{ i18n: 'config.prop.5', code: 'cfgStatus', width: 180, dict: 'active_status' },
{ i18n: 'config.prop.6', code: 'updateTime', width: 180 },
{ i18n: 'config.prop.7', code: 'updateUser', width: 180, },
{ i18n: 'config.prop.8', code: 'action', slot: true, width: 120, fixed: 'right' }
]
const rules = {
cfgValue: [new SimpleRequired('config.prop.2')]
}
const items = [
{ i18n: 'config.prop.2', code: 'cfgValue' },
];
const query = () => {
flag.modify = false;
list(example).then((rsp: any) => result.value = rsp)
}
const modify = row => {
config.value = JSON.parse(JSON.stringify(row))
form.value?.clearValidate();
flag.modify = true;
}
const confirm = () => {
set(config.value).then(query)
}
onMounted(() => {});
onMounted(() => {
query();
dispatch("getDictMap", ['active_status'])
});
</script>
<style lang="scss" scoped>
//@import url(); css
</style>
//@import url(); css</style>

88
plugs/api/base.ts

@ -0,0 +1,88 @@ @@ -0,0 +1,88 @@
import { get, post, put, delate } from '../http/axios';
import { PageResult } from '../constant';
const pageResult = new PageResult();
export const queryPage = (url, example) => {
return new Promise((resolve, reject) => {
get(url, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(pageResult);
}
},
(err) => {
resolve(pageResult);
}
);
});
};
export const queryList = (url, example?) => {
return new Promise((resolve, reject) => {
get(url, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
};
export const save = (url, role) => {
return new Promise((resolve, reject) => {
post(url, role).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
};
export const update = (url, role) => {
return new Promise((resolve, reject) => {
put(url, role).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
};
export const deleteById = (url, id) => {
return new Promise((resolve, reject) => {
delate(url + '/' + id).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
};

46
plugs/api/buffer.ts

@ -1,21 +1,9 @@ @@ -1,21 +1,9 @@
import { get, post, put, delate } from '../http/axios';
const root = 'memory/buffer';
import { delate } from '../http/axios';
import { queryList, update, deleteById } from './base';
const root = 'buffer';
export const list = () => {
return new Promise((resolve, reject) => {
get(root).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(root);
};
export const clean = () => {
@ -36,31 +24,9 @@ export const clean = () => { @@ -36,31 +24,9 @@ export const clean = () => {
};
export const set = (buffer) => {
return new Promise((resolve, reject) => {
put(root, buffer).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
}
},
(err) => {}
);
});
return update(root, buffer);
};
export const del = (buffer) => {
return new Promise((resolve, reject) => {
delate(root + '/' + buffer.key).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return deleteById(root, buffer.key);
};

9
plugs/api/config.ts

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
import { queryPage, update } from './base';
const root = 'config';
export const list = (example) => {
return queryPage(root, example);
};
export const set = (config) => {
return update(root, config);
};

50
plugs/api/dictionary.ts

@ -1,57 +1,17 @@ @@ -1,57 +1,17 @@
import { get, post, put, delate } from '../http/axios';
import { PageResult } from '../constant';
const pageResult = new PageResult();
import { delate } from '../http/axios';
import { queryPage, save, update } from './base';
const root = 'dict';
export const list = (example) => {
return new Promise((resolve, reject) => {
get(root, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(pageResult);
}
},
(err) => {
resolve(pageResult);
}
);
});
return queryPage(root, example);
};
export const add = (dictionary) => {
return new Promise((resolve, reject) => {
post(root, dictionary).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return save(root, dictionary);
};
export const set = (dictionary) => {
return new Promise((resolve, reject) => {
put(root, dictionary).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(root, dictionary);
};
export const del = (dictionary) => {

1
plugs/api/index.ts

@ -4,4 +4,5 @@ export * as permission from './permission'; @@ -4,4 +4,5 @@ export * as permission from './permission';
export * as role from './role';
export * as user from './user';
export * as buffer from './buffer';
export * as config from './config';
export * as pub from './public';

19
plugs/api/log.ts

@ -1,20 +1,5 @@ @@ -1,20 +1,5 @@
import { get } from '../http/axios';
import { PageResult } from '../constant';
const pageResult = new PageResult();
import { queryPage } from './base';
const root = 'log/action';
export const list = (example) => {
return new Promise((resolve, reject) => {
get(root, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(pageResult);
}
},
(err) => {
resolve(pageResult);
}
);
});
return queryPage(root, example);
};

77
plugs/api/permission.ts

@ -1,88 +1,23 @@ @@ -1,88 +1,23 @@
import { get, post, put, delate } from '../http/axios';
import { queryList, save, update, deleteById } from './base';
const root = 'permission';
const publik = 'public/permission';
export const list = (example) => {
return new Promise((resolve, reject) => {
get(root, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(root, example);
};
export const add = (permission) => {
return new Promise((resolve, reject) => {
post(root, permission).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return save(root, permission);
};
export const set = (permission) => {
return new Promise((resolve, reject) => {
put(root, permission).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(root, permission);
};
export const del = (permission) => {
return new Promise((resolve, reject) => {
delate(root + '/' + permission.id).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return deleteById(root, permission.id);
};
export const tree = () => {
return new Promise((resolve, reject) => {
get(publik).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(publik);
};

77
plugs/api/role.ts

@ -1,88 +1,23 @@ @@ -1,88 +1,23 @@
import { get, post, put, delate } from '../http/axios';
import { queryList, save, update, deleteById } from './base';
const root = 'role';
const publik = 'public/roles';
export const list = (example) => {
return new Promise((resolve, reject) => {
get(root, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(root, example);
};
export const mapping = () => {
return new Promise((resolve, reject) => {
get(publik).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(publik);
};
export const add = (role) => {
return new Promise((resolve, reject) => {
post(root, role).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return save(root, role);
};
export const set = (role) => {
return new Promise((resolve, reject) => {
put(root, role).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(root, role);
};
export const del = (role) => {
return new Promise((resolve, reject) => {
delate(root + '/' + role.roleCode).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return deleteById(root, role.roleCode);
};

91
plugs/api/user.ts

@ -1,105 +1,28 @@ @@ -1,105 +1,28 @@
import { get, post, put, delate } from '../http/axios';
import { queryList, save, update, deleteById } from './base';
const root = 'user';
const pwdUrl = 'user/password';
export const list = (example) => {
return new Promise((resolve, reject) => {
get(root, example).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve([]);
}
},
(err) => {
resolve([]);
}
);
});
return queryList(root, example);
};
export const add = (user) => {
return new Promise((resolve, reject) => {
post(root, user).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return save(root, user);
};
export const updatePwd = (pwd) => {
return new Promise((resolve, reject) => {
put(pwdUrl, pwd).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(pwdUrl, pwd);
};
export const set = (user) => {
return new Promise((resolve, reject) => {
put(root, user).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(root, user);
};
export const del = (user) => {
return new Promise((resolve, reject) => {
delate(root + '/' + user.userId).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return deleteById(root, user.userId);
};
export const reset = (user) => {
return new Promise((resolve, reject) => {
put(root + '/' + user.userId).then(
(rsp: any) => {
if (rsp) {
resolve(rsp);
} else {
resolve(false);
}
},
(err) => {
resolve(false);
}
);
});
return update(root + '/' + user.userId, {});
};

6
plugs/i18n/en.ts

@ -142,4 +142,10 @@ export default class English { @@ -142,4 +142,10 @@ export default class English {
delete: ['Are you sure you want to delete this cache?', 'Tips'],
delay: ['Please enter an expiration time(yyyy-MM-dd HH:mm:ss)', 'Modify'],
};
config = {
title: 'Config manage',
name: 'config',
prop: ['Key', 'Name', 'Value', 'Type', 'Descript', 'Status', 'Last Time', 'Last User', 'Action'],
};
}

5
plugs/i18n/zh.ts

@ -138,4 +138,9 @@ export default class Zh { @@ -138,4 +138,9 @@ export default class Zh {
delete: ['确定要删除此条缓存吗?', '提示'],
delay: ['请输入失效时间(yyyy-MM-dd HH:mm:ss)', '修改'],
};
config = {
title: '配置管理',
name: '配置',
prop: ['配置编码', '配置名称', '配置值', '配置类型', '配置描述', '配置状态', '最后修改时间', '最后修改用户', '操作'],
};
}

Loading…
Cancel
Save