Commit 8b2729de authored by liqiuyu's avatar liqiuyu

feat(*):我的待办开发

parent b56243fa
......@@ -13,6 +13,7 @@
"echarts": "^5.6.0",
"element-plus": "^2.9.10",
"js-cookie": "^3.0.5",
"moment": "^2.30.1",
"nprogress": "^0.2.0",
"path": "^0.12.7",
"pinia": "^3.0.2",
......@@ -1893,6 +1894,15 @@
"resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz",
"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
},
"node_modules/moment": {
"version": "2.30.1",
"resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz",
......@@ -1928,11 +1938,6 @@
"resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
"integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
},
"node_modules/nprogress": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz",
"integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA=="
},
"node_modules/nprogress": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
......
......@@ -8,7 +8,7 @@ import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
import { createPinia } from "pinia";
import moment from 'moment';
const app = createApp(App);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component);
......@@ -16,5 +16,6 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app
.use(router)
.use(ElementPlus, { locale: zhCustom })
.use(moment)
.use(createPinia())
.mount("#app");
<template>
<el-dialog
:model-value="showDialog"
:title="title"
:width="width"
@close="closeDialog"
>
<div>
<slot name="content"></slot>
<slot></slot>
</div>
<template #footer>
<div class="dialog-footer" v-if="btnGroup.length">
<div v-for="item in btnGroup" class="real-btn" :key="item.attrKey" @click="handleBtn(item.attrKey)">
{{ item.label }}
</div>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { defineProps, defineEmits, ref, reactive,watch,onMounted } from 'vue';
const props = defineProps({
showDialog: {
type: Boolean,
default: false
},
title: {
type: String,
default: '弹框标题'
},
width: {
type: String,
default: '40%'
},
btnGroup: {
type: Array,
default: () => ([])
}
});
const emit = defineEmits(['close:showDialog', 'handleBtn']);
/**
* @Description: 弹框关闭回调
* @author liqiuyu
* @date 2025/5/21
*/
const closeDialog = () => {
emit('close:showDialog', false);
};
/**
* @Description: 弹框底部按钮方法回调
* @author liqiuyu
* @date 2025/5/21
*/
const handleBtn = (key) => {
emit('handleBtn', key);
};
</script>
<style scoped lang="scss">
:deep(.el-dialog) {
background: rgb(34, 43, 69);
.el-dialog__title {
color: #f5f6f9;
}
.table {
height: calc(100vh - 420px) !important;
}
.el-dialog__body {
padding: 16px;
}
.el-dialog__footer {
padding: 0;
}
}
.dialog-footer {
display: flex;
justify-content:center;
width: 100%;
.real-btn {
width: auto;
height: 28px;
background: rgb(64, 158, 255);
border: 1px solid rgb(64, 158, 255);
border-radius: 4px;
box-shadow: 0 1px 9px 0 rgba(12, 123, 255, 0.3) inset;
text-align: center;
padding: 0 16px;
line-height: 28px;
color: rgba(255, 255, 255, 0.85);
margin-right: 16px;
cursor: pointer;
}
}
</style>
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment