9.9
This commit is contained in:
parent
4ebc8f1102
commit
e86e145535
@ -170,8 +170,8 @@
|
|||||||
</lay-container>
|
</lay-container>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { layer } from '@layui/layui-vue'
|
import { layer } from '@layui/layui-vue';
|
||||||
import {
|
import {
|
||||||
authGroupData,
|
authGroupData,
|
||||||
userData,
|
userData,
|
||||||
@ -181,11 +181,10 @@ import {
|
|||||||
partyGroupData,
|
partyGroupData,
|
||||||
userGroupData
|
userGroupData
|
||||||
} from "@/api/module/home";
|
} from "@/api/module/home";
|
||||||
|
import { useUserStore } from "@/store/user";
|
||||||
|
|
||||||
const cutUrl = ref("");
|
const cutUrl = ref("");
|
||||||
const uploadRef = ref(null)
|
const uploadRef = ref(null)
|
||||||
import { useRouter } from 'vue-router'
|
|
||||||
import { useUserStore } from "@/store/user";
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const replaceFields = {
|
const replaceFields = {
|
||||||
@ -252,9 +251,9 @@ const getLeftList = () => {
|
|||||||
console.log(res)
|
console.log(res)
|
||||||
if (res.code == 1) {
|
if (res.code == 1) {
|
||||||
data.value = res.data;
|
data.value = res.data;
|
||||||
if (userStore.userInfo.level == 1) {
|
// if (userStore.userInfo.level == 1) {
|
||||||
data.value.unshift({ id: 0, name: '全部', children: [] })
|
// data.value.unshift({ id: 0, name: '全部', children: [] })
|
||||||
}
|
// }
|
||||||
leftId.value = res.data[0].id;
|
leftId.value = res.data[0].id;
|
||||||
getUserList();
|
getUserList();
|
||||||
} else {
|
} else {
|
||||||
@ -267,7 +266,8 @@ const getAuthList = () => {
|
|||||||
authGroupData({}).then((res) => {
|
authGroupData({}).then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if (res.code == 1) {
|
if (res.code == 1) {
|
||||||
authList.value = res.data;
|
//去除数组第一个值
|
||||||
|
authList.value = res.data.slice(1);
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, { icon: 2 })
|
layer.msg(res.msg, { icon: 2 })
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
<lay-col :md="6">
|
<lay-col :md="6">
|
||||||
<lay-form-item label="考评对象" label-width="80px">
|
<lay-form-item label="考评对象" label-width="80px">
|
||||||
<lay-select v-model="userId" :show-search="true" placeholder="请选择" :allowClear="true">
|
<lay-select v-model="userId" :show-search="true" placeholder="请选择" :allowClear="true">
|
||||||
<lay-select-option v-for="item in dataSerSource" :value="item.id" :label="item.nickname"></lay-select-option>
|
<lay-select-option v-for="item in dataSerSource" :value="item.id"
|
||||||
|
:label="item.nickname"></lay-select-option>
|
||||||
</lay-select>
|
</lay-select>
|
||||||
</lay-form-item>
|
</lay-form-item>
|
||||||
</lay-col>
|
</lay-col>
|
||||||
@ -63,13 +64,17 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-slot:operator="{ row }">
|
<template v-slot:operator="{ row }">
|
||||||
<lay-space>
|
<lay-space>
|
||||||
|
<span style="color: #00A394;cursor: pointer"
|
||||||
|
v-if="row.scoringrecord_status == 6 && userStore.userInfo.level == 3"
|
||||||
|
@click="getInfo(row, 5)">医院评分</span>
|
||||||
<span style="color: #00A394;cursor: pointer"
|
<span style="color: #00A394;cursor: pointer"
|
||||||
v-if="row.scoringrecord_status == 5 && userStore.userInfo.level == 5"
|
v-if="row.scoringrecord_status == 5 && userStore.userInfo.level == 5"
|
||||||
@click="getInfo(row, 4)">总党支评分</span>
|
@click="getInfo(row, 4)">总党支评分</span>
|
||||||
<span style="color: #00A394;cursor: pointer"
|
<span style="color: #00A394;cursor: pointer"
|
||||||
v-if="row.scoringrecord_status == 3 && userStore.userInfo.level == 4"
|
v-if="row.scoringrecord_status == 3 && userStore.userInfo.level == 4"
|
||||||
@click="getInfo(row, 3)">支部评分</span>
|
@click="getInfo(row, 3)">支部评分</span>
|
||||||
<span style="color: #00A394;cursor: pointer" v-if="row.scoringrecord_status == 1 && userStore.userInfo.level == 1"
|
<span style="color: #00A394;cursor: pointer"
|
||||||
|
v-if="row.scoringrecord_status == 1 && userStore.userInfo.level == 1"
|
||||||
@click="getInfo(row, 2)">科室评分</span>
|
@click="getInfo(row, 2)">科室评分</span>
|
||||||
<span style="color: #00A394;cursor: pointer" v-if="row.scoringrecord_status != 2"
|
<span style="color: #00A394;cursor: pointer" v-if="row.scoringrecord_status != 2"
|
||||||
@click="getInfo(row, 1)">考评详情</span>
|
@click="getInfo(row, 1)">考评详情</span>
|
||||||
@ -79,7 +84,7 @@
|
|||||||
</lay-table>
|
</lay-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<lay-layer @close="layerEnd" v-model="infoShow" title="自评详情" :type="4" :shade="true" :area="['950px', '100%']"
|
<lay-layer @close="layerEnd" v-model="infoShow" title="自评详情" :type="4" :shade="true" :area="['70%', '100%']"
|
||||||
:btn="addIsInfo != 1 ? addButton : ''">
|
:btn="addIsInfo != 1 ? addButton : ''">
|
||||||
<lay-container fluid="true" style="padding: 20px">
|
<lay-container fluid="true" style="padding: 20px">
|
||||||
<lay-table :default-expand-all="true" ref="tableRef6" children-column-name="children" :columns="columns6"
|
<lay-table :default-expand-all="true" ref="tableRef6" children-column-name="children" :columns="columns6"
|
||||||
@ -97,19 +102,37 @@
|
|||||||
<!-- 科室评分 -->
|
<!-- 科室评分 -->
|
||||||
<template v-slot:department_score="{ row }">
|
<template v-slot:department_score="{ row }">
|
||||||
<div v-if="row.pid == 0">已评分:{{ row.department_score ? row.department_score : 0 }}</div>
|
<div v-if="row.pid == 0">已评分:{{ row.department_score ? row.department_score : 0 }}</div>
|
||||||
<lay-input-number :disabled="addIsInfo==1 || thisInfo.scoringrecord_status != 3" @change="inputKsChange(row)" v-if="row.pid != 0" :min="0" :max="row.base_score" v-model="row.department_score"
|
<lay-input-number v-if="addIsInfo == 1 && row.pid != 0" :disabled="true" :min="0" :max="row.base_score"
|
||||||
|
v-model="row.department_score" position="right"></lay-input-number>
|
||||||
|
<lay-input-number v-if="addIsInfo != 1 && userStore.userInfo.level == 1 && row.pid != 0"
|
||||||
|
@change="inputKsChange(row)" :min="0" :max="row.base_score" v-model="row.department_score"
|
||||||
position="right"></lay-input-number>
|
position="right"></lay-input-number>
|
||||||
</template>
|
</template>
|
||||||
<!-- 支部评分 -->
|
<!-- 支部评分 -->
|
||||||
<template v-slot:party_branch_score="{ row }">
|
<template v-slot:party_branch_score="{ row }">
|
||||||
<div v-if="row.pid == 0">已评分:{{ row.party_branch_score ? row.party_branch_score : 0 }}</div>
|
<div v-if="row.pid == 0">已评分:{{ row.party_branch_score ? row.party_branch_score : 0 }}</div>
|
||||||
<lay-input-number :disabled="addIsInfo==1 || thisInfo.scoringrecord_status != 4" @change="inputZbChange(row)" v-if="row.pid != 0" :min="0" :max="row.base_score" v-model="row.party_branch_score"
|
<lay-input-number v-if="addIsInfo == 1 && row.pid != 0" :disabled="true" :min="0" :max="row.base_score"
|
||||||
|
v-model="row.party_branch_score" position="right"></lay-input-number>
|
||||||
|
<lay-input-number v-if="addIsInfo != 1 && userStore.userInfo.level == 4 && row.pid != 0"
|
||||||
|
@change="inputZbChange(row)" :min="0" :max="row.base_score" v-model="row.party_branch_score"
|
||||||
position="right"></lay-input-number>
|
position="right"></lay-input-number>
|
||||||
</template>
|
</template>
|
||||||
<!-- 党总支评分 -->
|
<!-- 党总支评分 -->
|
||||||
<template v-slot:overall_party_score="{ row }">
|
<template v-slot:overall_party_score="{ row }">
|
||||||
<div v-if="row.pid == 0">已评分:{{ row.overall_party_score ? row.overall_party_score : 0 }}</div>
|
<div v-if="row.pid == 0">已评分:{{ row.overall_party_score ? row.overall_party_score : 0 }}</div>
|
||||||
<lay-input-number :disabled="addIsInfo==1 || thisInfo.scoringrecord_status != 5" @change="inputZdzChange(row)" v-if="row.pid != 0" :min="0" :max="row.base_score" v-model="row.overall_party_score"
|
<lay-input-number v-if="addIsInfo == 1 && row.pid != 0" :disabled="true" :min="0" :max="row.base_score"
|
||||||
|
v-model="row.overall_party_score" position="right"></lay-input-number>
|
||||||
|
<lay-input-number v-if="addIsInfo != 1 && userStore.userInfo.level == 5 && row.pid != 0"
|
||||||
|
@change="inputZdzChange(row)" :min="0" :max="row.base_score" v-model="row.overall_party_score"
|
||||||
|
position="right"></lay-input-number>
|
||||||
|
</template>
|
||||||
|
<!-- 医院评分 -->
|
||||||
|
<template v-slot:hospital_score="{ row }">
|
||||||
|
<div v-if="row.pid == 0">已评分:{{ row.hospital_score ? row.hospital_score : 0 }}</div>
|
||||||
|
<lay-input-number v-if="addIsInfo == 1 && row.pid != 0" :disabled="true" :min="0" :max="row.base_score"
|
||||||
|
v-model="row.hospital_score" position="right"></lay-input-number>
|
||||||
|
<lay-input-number v-if="addIsInfo != 1 && userStore.userInfo.level == 3 && row.pid != 0"
|
||||||
|
@change="inputKsChange(row)" :min="0" :max="row.base_score" v-model="row.hospital_score"
|
||||||
position="right"></lay-input-number>
|
position="right"></lay-input-number>
|
||||||
</template>
|
</template>
|
||||||
</lay-table>
|
</lay-table>
|
||||||
@ -185,6 +208,29 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
getLeftList();
|
getLeftList();
|
||||||
})
|
})
|
||||||
|
const columns6 = ref([
|
||||||
|
{
|
||||||
|
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 inputChange = (row) => {
|
const inputChange = (row) => {
|
||||||
//计算出dataSource6里分数在children下所有的已评总分
|
//计算出dataSource6里分数在children下所有的已评总分
|
||||||
let total = 0;
|
let total = 0;
|
||||||
@ -227,6 +273,26 @@ const inputListZbShow = () => {
|
|||||||
dataSource6.value[index].party_branch_score = total;
|
dataSource6.value[index].party_branch_score = total;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//医院评分总分
|
||||||
|
const inputYyChange = (row) => {
|
||||||
|
//计算出dataSource6里分数在children下所有的已评总分
|
||||||
|
let total = 0;
|
||||||
|
const index = dataSource6.value.findIndex(item => item.id === row.pid);
|
||||||
|
dataSource6.value[index].children.forEach(item => {
|
||||||
|
total += parseInt(item.hospital_score);
|
||||||
|
});
|
||||||
|
dataSource6.value[index].hospital_score = total;
|
||||||
|
}
|
||||||
|
//总党支评分总分
|
||||||
|
const inputListYyShow = () => {
|
||||||
|
dataSource6.value.forEach((item, index) => {
|
||||||
|
let total = 0;
|
||||||
|
item.children.forEach(item2 => {
|
||||||
|
total += parseInt(item2.hospital_score);
|
||||||
|
});
|
||||||
|
dataSource6.value[index].hospital_score = total;
|
||||||
|
});
|
||||||
|
}
|
||||||
//总党支评分总分
|
//总党支评分总分
|
||||||
const inputZdzChange = (row) => {
|
const inputZdzChange = (row) => {
|
||||||
//计算出dataSource6里分数在children下所有的已评总分
|
//计算出dataSource6里分数在children下所有的已评总分
|
||||||
@ -377,20 +443,72 @@ const thisInfo = ref();
|
|||||||
const getInfo = (row, type) => {
|
const getInfo = (row, type) => {
|
||||||
infoShow.value = true;
|
infoShow.value = true;
|
||||||
addIsInfo.value = type;
|
addIsInfo.value = type;
|
||||||
console.log(row);
|
|
||||||
thisInfo.value = row;
|
thisInfo.value = row;
|
||||||
getInfoMode(row);
|
getInfoMode(row);
|
||||||
if (row.scoringrecord_status == 3 && userStore.userInfo.level ==4 ) {
|
if (type == 1) {
|
||||||
columns6.value.push({
|
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: "100px",
|
||||||
|
align: 'center',
|
||||||
|
customSlot: 'department_score',
|
||||||
|
key: "department_score",
|
||||||
|
totalRow: true
|
||||||
|
}, {
|
||||||
title: "支部评分",
|
title: "支部评分",
|
||||||
width: "100px",
|
width: "100px",
|
||||||
align: 'center',
|
align: 'center',
|
||||||
customSlot: 'party_branch_score',
|
customSlot: 'party_branch_score',
|
||||||
key: "party_branch_score",
|
key: "party_branch_score",
|
||||||
totalRow: true
|
totalRow: true
|
||||||
});
|
}, {
|
||||||
|
title: "总党支评分",
|
||||||
|
width: "100px",
|
||||||
|
align: 'center',
|
||||||
|
customSlot: 'overall_party_score',
|
||||||
|
key: "overall_party_score",
|
||||||
|
totalRow: true
|
||||||
|
}, {
|
||||||
|
title: "医院评分",
|
||||||
|
width: "100px",
|
||||||
|
align: 'center',
|
||||||
|
customSlot: 'hospital_score',
|
||||||
|
key: "hospital_score",
|
||||||
|
totalRow: true
|
||||||
}
|
}
|
||||||
if (row.scoringrecord_status == 5 && userStore.userInfo.level ==5 ) {
|
];
|
||||||
|
}
|
||||||
|
//科室评分
|
||||||
|
else if (type == 2) {
|
||||||
|
columns6.value.push({
|
||||||
|
title: "科室评分",
|
||||||
|
width: "100px",
|
||||||
|
align: 'center',
|
||||||
|
customSlot: 'department_score',
|
||||||
|
key: "department_score",
|
||||||
|
totalRow: true
|
||||||
|
})
|
||||||
|
} else if (type == 3) {
|
||||||
columns6.value.push({
|
columns6.value.push({
|
||||||
title: "支部评分",
|
title: "支部评分",
|
||||||
width: "100px",
|
width: "100px",
|
||||||
@ -398,7 +516,8 @@ const getInfo = (row, type) => {
|
|||||||
customSlot: 'party_branch_score',
|
customSlot: 'party_branch_score',
|
||||||
key: "party_branch_score",
|
key: "party_branch_score",
|
||||||
totalRow: true
|
totalRow: true
|
||||||
});
|
})
|
||||||
|
} else if (type == 4) {
|
||||||
columns6.value.push({
|
columns6.value.push({
|
||||||
title: "总党支评分",
|
title: "总党支评分",
|
||||||
width: "100px",
|
width: "100px",
|
||||||
@ -406,25 +525,16 @@ const getInfo = (row, type) => {
|
|||||||
customSlot: 'overall_party_score',
|
customSlot: 'overall_party_score',
|
||||||
key: "overall_party_score",
|
key: "overall_party_score",
|
||||||
totalRow: true
|
totalRow: true
|
||||||
});
|
})
|
||||||
}
|
} else {
|
||||||
if (row.scoringrecord_status == 6 ) {
|
|
||||||
columns6.value.push({
|
columns6.value.push({
|
||||||
title: "支部评分",
|
title: "医院评分",
|
||||||
width: "100px",
|
width: "100px",
|
||||||
align: 'center',
|
align: 'center',
|
||||||
customSlot: 'party_branch_score',
|
customSlot: 'hospital_score',
|
||||||
key: "party_branch_score",
|
key: "hospital_score",
|
||||||
totalRow: true
|
totalRow: true
|
||||||
});
|
})
|
||||||
columns6.value.push({
|
|
||||||
title: "总党支评分",
|
|
||||||
width: "100px",
|
|
||||||
align: 'center',
|
|
||||||
customSlot: 'overall_party_score',
|
|
||||||
key: "overall_party_score",
|
|
||||||
totalRow: true
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const getInfoMode = (row) => {
|
const getInfoMode = (row) => {
|
||||||
@ -440,6 +550,7 @@ const getInfoMode = (row) => {
|
|||||||
inputListKsShow();
|
inputListKsShow();
|
||||||
inputListZbShow();
|
inputListZbShow();
|
||||||
inputListZdzShow();
|
inputListZdzShow();
|
||||||
|
inputListYyShow();
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, { icon: 2 })
|
layer.msg(res.msg, { icon: 2 })
|
||||||
}
|
}
|
||||||
@ -556,50 +667,8 @@ const addButton = ref([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
const columns6 = ref([
|
|
||||||
{
|
|
||||||
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: "100px",
|
|
||||||
align: 'center',
|
|
||||||
customSlot: 'department_score',
|
|
||||||
key: "department_score",
|
|
||||||
totalRow: true
|
|
||||||
}
|
|
||||||
])
|
|
||||||
// 根据用户级别动态添加医院评分列
|
|
||||||
// if (userStore.userInfo.level == 4) {
|
|
||||||
// columns6.push({
|
|
||||||
// title: "医院评分",
|
|
||||||
// width: "100px",
|
|
||||||
// align: 'center',
|
|
||||||
// customSlot: 'yyinput',
|
|
||||||
// key: "yyinput"
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
const dataSource6 = ref([])
|
|
||||||
const layerEnd = () => {
|
const layerEnd = () => {
|
||||||
console.log('layerEnd')
|
|
||||||
columns6.value = [
|
columns6.value = [
|
||||||
{
|
{
|
||||||
title: "考评项目",
|
title: "考评项目",
|
||||||
@ -621,17 +690,11 @@ const layerEnd = () => {
|
|||||||
customSlot: 'content_score',
|
customSlot: 'content_score',
|
||||||
key: "content_score",
|
key: "content_score",
|
||||||
totalRow: true
|
totalRow: true
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "科室评分",
|
|
||||||
width: "100px",
|
|
||||||
align: 'center',
|
|
||||||
customSlot: 'department_score',
|
|
||||||
key: "department_score",
|
|
||||||
totalRow: true
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
const dataSource6 = ref([])
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -690,6 +753,7 @@ const layerEnd = () => {
|
|||||||
background-color: #e8f1ff;
|
background-color: #e8f1ff;
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-tab-content {
|
.layui-tab-content {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user