diff --git a/.gitignore b/.gitignore index f4f9f43..b111b32 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ dist dist-ssr *.local .idea +.cursorrules \ No newline at end of file diff --git a/components.d.ts b/components.d.ts index d4ee5e1..db17e3f 100644 --- a/components.d.ts +++ b/components.d.ts @@ -41,6 +41,7 @@ declare module 'vue' { LayMenuItem: typeof import('@layui/layui-vue')['LayMenuItem'] LayPopconfirm: typeof import('@layui/layui-vue')['LayPopconfirm'] LayQrcode: typeof import('@layui/layui-vue')['LayQrcode'] + LayQuote: typeof import('@layui/layui-vue')['LayQuote'] LayRadio: typeof import('@layui/layui-vue')['LayRadio'] LayRadioGroup: typeof import('@layui/layui-vue')['LayRadioGroup'] LayRow: typeof import('@layui/layui-vue')['LayRow'] diff --git a/src/api/module/home.ts b/src/api/module/home.ts index 4d16853..dbd305c 100644 --- a/src/api/module/home.ts +++ b/src/api/module/home.ts @@ -490,6 +490,24 @@ export function getSolicitopinionsIndex(data: any) { return Http.post('/api/backend/Solicitopinions/index', data) } +// 加减分批量审核 +export function getSolicitopinionsPlexamine(data: any) { + return Http.post('/api/backend/addition_and_subtraction_records/plexamine', data) +} +// 站内信列表 +export function getMailDataList(data: any) { + return Http.post('/api/backend/mail/getMailData', data) +} +// 站内信列表 +export function getMailUpdateMail(data: any) { + return Http.post('/api/backend/mail/updateMail', data) +} +// 统计 +export function getYearEvaluationSummary(data: any) { + return Http.post('/api/backend/year/data', data) +} + + diff --git a/src/views/complaint/index.vue b/src/views/complaint/index.vue index 9b0befe..aa4a5f9 100644 --- a/src/views/complaint/index.vue +++ b/src/views/complaint/index.vue @@ -40,8 +40,10 @@ @@ -54,60 +56,82 @@
{{ info.politics_content }}
- +
+ + + + + -
-
-
-
姓名:
-
{{ detailInfo.user_name }}
-
-
-
科室:
-
{{ detailInfo.user_group_name }}
-
-
-
投诉时间:
-
{{ detailInfo.createtime }}
-
-
-
处理状态:
-
- 待处理 - 已回复 -
-
-
-
投诉内容:
-
{{ detailInfo.politics_content }}
-
-
-
投诉图片:
-
- - - -
-
-
-
处理结果:
-
{{ detailInfo.acceptance_content }}
-
-
-
处理时间:
-
{{ detailInfo.acceptance_time }}
+
+
+
+
姓名:
+
{{ detailInfo.user_name }}
+
+
+
科室:
+
{{ detailInfo.user_group_name }}
+
+
+
投诉时间:
+
{{ detailInfo.createtime }}
+
+
+
处理状态:
+
+ 待处理 + 已回复
+
+
投诉内容:
+
{{ detailInfo.politics_content }}
+
+
+
投诉图片:
+
+ + + +
+
+
+
处理结果:
+
{{ detailInfo.acceptance_content }}
+
+ +
+
处理时间:
+
{{ detailInfo.acceptance_time }}
+
+
@@ -115,15 +139,21 @@ diff --git a/src/views/month_evaluation/index.vue b/src/views/month_evaluation/index.vue index c84f491..5b240f1 100644 --- a/src/views/month_evaluation/index.vue +++ b/src/views/month_evaluation/index.vue @@ -237,14 +237,14 @@ const columns = [ key: 'self_score', align: 'center', customSlot: ({row})=>{ - return row.self_score==''||row.self_score==0?'未评分':row.self_score; + return row.self_score==''?'未评分':row.self_score; }, }, { title: '科室评分', key: 'department_score', align: 'center', customSlot: ({row})=>{ - return row.department_score==''||row.department_score==0?'未评分':row.department_score; + return row.department_score==''?'未评分':row.department_score; }, }, // { diff --git a/src/views/system/message.vue b/src/views/system/message.vue index f20b671..0306dd8 100644 --- a/src/views/system/message.vue +++ b/src/views/system/message.vue @@ -1,87 +1,143 @@ - - - \ No newline at end of file +] + +// 添加查看消息的方法 +const viewMessage = async (data: any) => { + currentMessage.value = data + visible.value = true + + // 如果消息未读,则调用更新接口将其标记为已读 + await getMailUpdateMail({ id: data.id }) + getMailData() +} + + \ No newline at end of file diff --git a/src/views/year_evaluation_summary/examine.vue b/src/views/year_evaluation_summary/examine.vue index 3b4ce78..787b1a5 100644 --- a/src/views/year_evaluation_summary/examine.vue +++ b/src/views/year_evaluation_summary/examine.vue @@ -56,6 +56,21 @@ + +
+ 年度:{{ yearmonth }} + 科室:{{ group_name }} + 总人数:{{ yearData.total }} + 已考评人数:{{ yearData.evaluated }} + 未考评人数:{{ yearData.unevaluated }} + 优秀人数:{{ yearData.excellent }} + 优秀率:{{ yearData.excellent_rate }} + 合格人数:{{ yearData.qualified }} + 合格率:{{ yearData.qualified_rate }} + 不合格人数:{{ yearData.unqualified }} + 不合格率:{{ yearData.unqualified_rate }} +
+
@@ -181,7 +196,7 @@ import { getGroupYear, getYearUserList, getYearListFind, getYearListUpdate, - getAnnualFindData + getAnnualFindData, getYearEvaluationSummary } from "@/api/module/home"; import dayjs from "dayjs"; import { useUserStore } from '@/store/user'; @@ -190,11 +205,12 @@ const route = useRoute() const userStore = useUserStore() const userId = ref(); onMounted(() => { - if (route.params.id) { - userId.value = parseInt(route.params.id); - } + // if (route.params.id) { + // userId.value = parseInt(route.params.id); + // } getLeftList(); }) + const columns6 = ref([ { title: "考评项目", @@ -328,21 +344,31 @@ const userShow = ref(false); const userColumns = ref([ { title: '年度', width: '80px', key: 'year', align: 'center' }, { title: '考评对象', width: '100px', key: 'user', align: 'center' }, - { title: '参评时间', width: '100px', key: 'createtime', align: 'center', customSlot: ({row})=>{ - return row.createtime==''||row.createtime==null?'未参评':row.createtime; - } }, - { title: '自评总分', width: '100px', key: 'self_score', align: 'center', customSlot: ({row})=>{ - return row.self_score==''||row.self_score==0?'未评分':row.self_score; - } }, - { title: '科室评分', width: '100px', key: 'department_score', align: 'center', customSlot: ({row})=>{ - return row.department_score==''||row.department_score==0?'未评分':row.department_score; - } }, - { title: '医院评分', width: '100px', key: 'hospital_score', align: 'center', customSlot: ({row})=>{ - return row.hospital_score==''||row.hospital_score==0?'未评分':row.hospital_score; - } }, - { title: '总得分', width: '100px', key: 'total_score', align: 'center', customSlot: ({row})=>{ - return row.total_score==''||row.total_score==0?'未评分':row.total_score; - } }, + { + title: '参评时间', width: '100px', key: 'createtime', align: 'center', customSlot: ({ row }) => { + return row.createtime == '' || row.createtime == null ? '未参评' : row.createtime; + } + }, + { + title: '自评总分', width: '100px', key: 'self_score', align: 'center', customSlot: ({ row }) => { + return row.self_score == '' || row.self_score == 0 ? '未评分' : row.self_score; + } + }, + { + title: '科室评分', width: '100px', key: 'department_score', align: 'center', customSlot: ({ row }) => { + return row.department_score == '' || row.department_score == 0 ? '未评分' : row.department_score; + } + }, + { + title: '医院评分', width: '100px', key: 'hospital_score', align: 'center', customSlot: ({ row }) => { + return row.hospital_score == '' || row.hospital_score == 0 ? '未评分' : row.hospital_score; + } + }, + { + title: '总得分', width: '100px', key: 'total_score', align: 'center', customSlot: ({ row }) => { + return row.total_score == '' || row.total_score == 0 ? '未评分' : row.total_score; + } + }, { title: '状态', width: '100px', key: 'scoringrecord_status', customSlot: 'scoringrecord_status', align: 'center' }, { title: '操作', width: '100px', key: 'operator', customSlot: 'operator', align: 'center' }, ]) @@ -493,7 +519,7 @@ const change = (d) => { } const addIsInfo = ref(1); const infoShow = ref(false); -const yearmonth = ref(dayjs().year()); +const yearmonth = ref(dayjs().year()); const getList = () => { getYearUserList({ 'scoringrecord_status': scoringrecord_status.value, @@ -624,20 +650,30 @@ const getTabList = () => { } }) } -const group_id = ref(1); +const group_id = ref(0); +const group_name = ref(''); const getLeftList = () => { getUserGroupNew({}).then((res) => { console.log(res) if (res.code == 1) { data.value = res.data; group_id.value = res.data[0].id; + group_name.value = res.data[0].name; getTabList(); getSerList(); + getYearEvaluationSummaryData(); } else { layer.msg(res.msg, { icon: 2 }) } }) } +const yearData = ref({}); +const getYearEvaluationSummaryData = () => { + getYearEvaluationSummary({ group_id: group_id.value, time: yearmonth.value }).then((res) => { + console.log(res) + yearData.value = res.data; + }) +} const data = ref([]) const isFold = ref(false) function toReset() { @@ -650,14 +686,19 @@ function toReset() { function handleClick(node: any) { // selectedNode.value = JSON.parse(JSON.stringify(node)) + console.log(node) + group_id.value = node.id; + group_name.value = node.name; page.current = 1; getList(); + getYearEvaluationSummaryData(); // change(page) } function toSearch() { page.current = 1; getList(); + getYearEvaluationSummaryData(); } const loading = ref(false) @@ -667,24 +708,36 @@ const columns = ref([ { title: '考评对象', width: '100px', key: 'nickname', customSlot: 'nickname', align: 'center' }, { title: '工号', width: '100px', key: 'code', align: 'center' }, { title: '部门', width: '120px', key: 'group_name', align: 'center' }, - { title: '自评总分', width: '100px', key: 'user_scoringrecord', align: 'center', customSlot: ({row})=>{ - return row.user_scoringrecord==''||row.user_scoringrecord==0?'未评分':row.user_scoringrecord; - } }, - { title: '科室评分', width: '100px', key: 'department_score_scoringrecord', align: 'center', customSlot: ({row})=>{ - return row.department_score_scoringrecord==''||row.department_score_scoringrecord==0?'未评分':row.department_score_scoringrecord; - } }, - { title: '党支部评分', width: '100px', key: 'party_score_scoringrecord', align: 'center', customSlot: ({row})=>{ - return row.party_score_scoringrecord==''||row.party_score_scoringrecord==0?'未评分':row.party_score_scoringrecord; - } }, - { title: '党总支评分', width: '100px', key: 'overall_score_scoringrecord', align: 'center', customSlot: ({row})=>{ - return row.overall_score_scoringrecord==''||row.overall_score_scoringrecord==0?'未评分':row.overall_score_scoringrecord; - } }, - { title: '医院评分', width: '100px', key: 'hospital_score_scoringrecord', align: 'center', customSlot: ({row})=>{ - return row.hospital_score_scoringrecord==''||row.hospital_score_scoringrecord==0?'未评分':row.hospital_score_scoringrecord; - } }, - { title: '总得分', width: '100px', key: 'total_score', align: 'center', customSlot: ({row})=>{ - return row.total_score==''||row.total_score==0?'未评分':row.total_score; - } }, + { + title: '自评总分', width: '100px', key: 'user_scoringrecord', align: 'center', customSlot: ({ row }) => { + return row.user_scoringrecord == '' || row.user_scoringrecord == 0 ? '未评分' : row.user_scoringrecord; + } + }, + { + title: '科室评分', width: '100px', key: 'department_score_scoringrecord', align: 'center', customSlot: ({ row }) => { + return row.department_score_scoringrecord == '' || row.department_score_scoringrecord == 0 ? '未评分' : row.department_score_scoringrecord; + } + }, + { + title: '党支部评分', width: '100px', key: 'party_score_scoringrecord', align: 'center', customSlot: ({ row }) => { + return row.party_score_scoringrecord == '' || row.party_score_scoringrecord == 0 ? '未评分' : row.party_score_scoringrecord; + } + }, + { + title: '党总支评分', width: '100px', key: 'overall_score_scoringrecord', align: 'center', customSlot: ({ row }) => { + return row.overall_score_scoringrecord == '' || row.overall_score_scoringrecord == 0 ? '未评分' : row.overall_score_scoringrecord; + } + }, + { + title: '医院评分', width: '100px', key: 'hospital_score_scoringrecord', align: 'center', customSlot: ({ row }) => { + return row.hospital_score_scoringrecord == '' || row.hospital_score_scoringrecord == 0 ? '未评分' : row.hospital_score_scoringrecord; + } + }, + { + title: '总得分', width: '100px', key: 'total_score', align: 'center', customSlot: ({ row }) => { + return row.total_score == '' || row.total_score == 0 ? '未评分' : row.total_score; + } + }, { title: '自评状态', width: '100px', key: 'scoringrecord_status', customSlot: 'scoringrecord_status', align: 'center' }, { title: '操作', @@ -728,28 +781,28 @@ const addButton = ref([ const layerEnd = () => { columns6.value = [ - { - title: "考评项目", - width: "300px", - key: "project_name" - }, - { - title: "分值", - width: "80px", - align: 'center', - key: "base_score", - customSlot: 'base_score', - totalRow: true - }, - { - title: "自评分", - width: "100px", - align: 'center', - customSlot: 'content_score', - key: "content_score", - totalRow: true - } -]; + { + title: "考评项目", + width: "300px", + key: "project_name" + }, + { + title: "分值", + width: "80px", + align: 'center', + key: "base_score", + customSlot: 'base_score', + totalRow: true + }, + { + title: "自评分", + width: "100px", + align: 'center', + customSlot: 'content_score', + key: "content_score", + totalRow: true + } + ]; } const dataSource6 = ref([]) @@ -815,4 +868,10 @@ const dataSource6 = ref([]) .layui-tab-content { padding: 0; } +.year-evaluation-summary { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +}