diff --git a/.gitignore b/.gitignore index f79edbc..c798cef 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,6 @@ dist *.map *.rar +*.zip *.d.ts \ No newline at end of file diff --git a/public/imgs/login_logo.png b/public/imgs/login_logo.png index 7989cd6..a31f22a 100644 Binary files a/public/imgs/login_logo.png and b/public/imgs/login_logo.png differ diff --git a/src/api/perms/admin.ts b/src/api/perms/admin.ts index b387b42..45c3b0d 100644 --- a/src/api/perms/admin.ts +++ b/src/api/perms/admin.ts @@ -44,4 +44,9 @@ export function getLeaderList(type) { export function listByCurrentDept(query) { return request.get({ url: '/system/admin/listByCurrentDept', query}) +} + +// 重置密码 +export function resetPassword(params: any) { + return request.post({ url: '/system/resetPassword', params }) } \ No newline at end of file diff --git a/src/components/MailCategorySelect.vue b/src/components/MailCategorySelect.vue index 483a17e..55f4c0b 100644 --- a/src/components/MailCategorySelect.vue +++ b/src/components/MailCategorySelect.vue @@ -1,9 +1,8 @@ @@ -13,21 +12,6 @@ const mailStore = useMailStore(); // 信件分类 mailStore.getMailCategorys(); -const val = ref(''); - -const props = defineProps({ - value: { - type: String, - default: '' - } -}) - -const emit = defineEmits(['update:value', 'change']) - -const handleCategoryChange = (data, node) => { - emit('update:value', data.label) - emit('change', data, node) -} \ No newline at end of file diff --git a/src/layout/components/Header.vue b/src/layout/components/Header.vue index 01dad4e..36d5baf 100644 --- a/src/layout/components/Header.vue +++ b/src/layout/components/Header.vue @@ -4,37 +4,46 @@ - 长沙公安局长信箱即接即办系统 + 长沙市公安局局长信箱即接即办系统 -
- - {{ userStore.userInfo.fullName }} -
+
+
+ + {{ + userStore.userInfo.deptName + " " + userStore.userInfo.name + }} + +
+ + 退出 + + +
+ - - @@ -49,6 +58,7 @@ header { font-size: 3.89vh; font-weight: 700; letter-spacing: 4px; + a { text-decoration: none; color: inherit; @@ -58,28 +68,49 @@ header { } } } - .userinfo { - margin-right: 8px; - } + .gap{ + position: relative;/* 设置相对定位 */ + display: inline-block;/* 让元素具有块级元素和行内元素的特性,即将块级元素转化为内联元素 */ + + .dropdown-content { + border-radius: 20px 20px 20px 20px; + display: none; + position: absolute; + background-color: #f9f9f9; + z-index: 100; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + padding: 12px 16px; + a{ + display: inline-block; + z-index: 289; + color: black; + font-size: 2.4vh; + cursor:pointer; + } + } +} + +.gap:hover .dropdown-content { + display: block; +} + +.nav2 a { + color: black; + padding: 12px 16px; + display: block;/* 将a标签设置为块级标签 */ +} +.gap:hover .nav2 { + display: block; } -.userinfo-dropdown { - position: fixed; - right: 16px; - top: calc(var(--header-height) - 8px); - background: #FFFFFF; - box-shadow: 0px 9px 28px 8px rgba(0,0,0,0.05), 0px 6px 16px 0px rgba(0,0,0,0.08), 0px 3px 6px -4px rgba(0,0,0,0.12); - border-radius: 8px; - margin: 0; - padding: 12px 0; - z-index: 999; - overflow: hidden; - li { - padding: 12px 16px; - font-size: 16px; + .el-button { + --el-font-size-base: 18px; + --el-button-bg-color: #283aac; + --el-button-border-color: #586eff; + height: 36px; &:hover { - cursor: pointer; - font-weight: 700; - color: var(--primary-color); + --el-button-hover-bg-color: var(--el-button-bg-color); + --el-button-hover-border-color: #fff; } } } diff --git a/src/layout/components/edit.vue b/src/layout/components/edit.vue new file mode 100644 index 0000000..84caca5 --- /dev/null +++ b/src/layout/components/edit.vue @@ -0,0 +1,155 @@ + + diff --git a/src/views/permission/admin/edit.vue b/src/views/permission/admin/edit.vue index 7856bf9..fc39946 100644 --- a/src/views/permission/admin/edit.vue +++ b/src/views/permission/admin/edit.vue @@ -49,12 +49,13 @@ :data="optionsData.dept" :default-expanded-keys="getExpandedKeys()" clearable + check-strictly node-key="id" :props="{ value: 'id', label: 'name' }" - placeholder="请选择上级部门" + placeholder="请选择归属部门" filterable /> diff --git a/src/views/permission/admin/index.vue b/src/views/permission/admin/index.vue index a2e898c..2f2bf55 100644 --- a/src/views/permission/admin/index.vue +++ b/src/views/permission/admin/index.vue @@ -28,7 +28,7 @@ - + { - if (!value) { - callback(new Error("请输入姓名")); - } else if (value.length < 2) { - callback(new Error("姓名长度不能少于2位")); - } else if (!/^[a-zA-Z\u4e00-\u9fa5]+$/.test(value)) { - callback(new Error("请输入中文姓名")); - } else { - callback(); - } -}; + const rules = reactive>({ source: [{ required: true, message: "请选择途径来源" }], contactName: [ - { required: true, validator: validateName }, + { required: true, message: "请输入姓名" }, ], contactIdCard: [ { required: true, validator: validatorIdCard }, @@ -253,7 +243,7 @@ const rules = reactive>({ required: true, message: "请您尽量完整的描述您的信件内容,如发生事件、涉及单位、设计对象姓名、警号以及具体事项", - trigger: "blur", + trigger: "blur" }, ], }); diff --git a/src/views/work/components/ConfirmedCompletion.vue b/src/views/work/components/ConfirmedCompletion.vue index 815d893..66ed407 100644 --- a/src/views/work/components/ConfirmedCompletion.vue +++ b/src/views/work/components/ConfirmedCompletion.vue @@ -94,7 +94,7 @@ -

认定办结意见

+

认定办结意见*

@@ -39,7 +39,10 @@
@@ -74,13 +77,13 @@ label="下发单位" v-if="form.mailCategory === '感谢信'" > -
+
props.mailId, (val) => { - form = reactive({}); -}) +watch( + () => props.mailId, + (val) => { + formRef.value.resetFields(); + form.mailFirstCategory = null; + form.mailSecondCategory = null; + form.mailThreeCategory = null; + } +); const formRef = ref(); @@ -159,12 +168,9 @@ const rules = { ], }; - - const emits = defineEmits(["update:data"]); function handleCategoryChange(data, node) { - form.mailCategory = data.label; if (node.level === 1) { form.mailFirstCategory = data.label; form.mailSecondCategory = null; @@ -195,7 +201,7 @@ function getSecondDepts() { function getThreeDepts(secondDeptId) { listThree({ - secondDeptId + secondDeptId, }).then((data) => { threeDepts.value = data; }); @@ -203,7 +209,7 @@ function getThreeDepts(secondDeptId) { function handleChangeDept(val) { form.threeDeptId = null; - getThreeDepts(val) + getThreeDepts(val); } function validate() { @@ -211,6 +217,7 @@ function validate() { formRef.value.validate((valid) => { if (valid) { emits("update:data", form); + resolve(true); } else { reject();