This commit is contained in:
duanxiaohai 2024-09-11 17:00:09 +08:00
parent b1bae385b4
commit ed00ccef11
5 changed files with 174 additions and 86 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

View File

@ -47,27 +47,17 @@
<div><span>标签</span>{{ data.character.titleName }}</div> <div><span>标签</span>{{ data.character.titleName }}</div>
<div class="status"> <div class="status">
<span>状态</span> <span>状态</span>
<el-popconfirm <img :src="lampImages[data.character.zt]" @click="escalation" />
title="确定要上报吗?" <div class="lampBox" v-if="clicked">
hide-icon="true" <div class="lampTitle">确定要上报吗?</div>
@cancel="onCancel" <div class="lampBtn">
> <div class="confirm" @click="confirmEvent()">上报</div>
<template #reference> <div class="cancel" @click="cancelEvent()">取消</div>
<img :src="lampImages[data.character.zt]" /> </div>
</template> </div>
<template #actions="{ confirm, cancel }">
<el-button size="small" @click="cancel">取消11</el-button>
<el-button
type="danger"
size="small"
@click="confirm"
>
上报
</el-button>
</template>
</el-popconfirm>
</div> </div>
</div> </div>
<el-table <el-table
:data="data.tableData" :data="data.tableData"
height="100%" height="100%"
@ -87,14 +77,16 @@
<template #default="scope"> <template #default="scope">
<!-- 状态 --> <!-- 状态 -->
<div v-if="item.property == 'zt'"> <div v-if="item.property == 'zt'">
<div v-for="index in 3" :key="index"> <div v-if="scope.row.zt == 1" class="progressGreen"></div>
<div v-if="scope.row.zt == 2" class="progressYellow"></div>
<!-- <div v-for="index in 3" :key="index">
<img <img
style="width: 30px; height: 30px" style="width: 30px; height: 30px"
v-if="scope.row.zt == index" v-if="scope.row.zt == index"
:src="lampImages[index]" :src="lampImages[index]"
alt="状态" alt="状态"
/> />
</div> </div> -->
</div> </div>
<!-- <slot <!-- <slot
:name="item.property" :name="item.property"
@ -136,7 +128,7 @@ import {
onMounted, onMounted,
reactive, reactive,
ref, ref,
onBeforeMount, onBeforeUnmount,
defineProps, defineProps,
watch, watch,
nextTick, nextTick,
@ -152,6 +144,7 @@ import lamp6 from "../../assets/sy-table/yellow1.gif";
import lamp7 from "../../assets/sy-table/lampGreen3.png"; import lamp7 from "../../assets/sy-table/lampGreen3.png";
import lamp8 from "../../assets/sy-table/lampRed3.png"; import lamp8 from "../../assets/sy-table/lampRed3.png";
import lamp9 from "../../assets/sy-table/lampYellow3.png"; import lamp9 from "../../assets/sy-table/lampYellow3.png";
import { ElMessage } from "element-plus";
const router = useRouter(); const router = useRouter();
const routers = useRoute(); const routers = useRoute();
@ -190,7 +183,7 @@ const props = defineProps({
required: true, required: true,
}, },
}); });
const emit = defineEmits(["close", "handle", "loadTables", "openMessage"]); const emit = defineEmits(["close", "handle", "openMessage"]);
const handleRowClick = (row, column, event) => { const handleRowClick = (row, column, event) => {
if (props.dj) { if (props.dj) {
@ -200,19 +193,28 @@ const handleRowClick = (row, column, event) => {
// query: { identNo: row.identNo, type: "detail" }, // query: { identNo: row.identNo, type: "detail" },
// }); // });
// row // row
emit("openMessage", { identNo: row.identNo }); // emit("openMessage", { identNo: row.identNo });
} }
}; };
// //
const clicked = ref(false) const clicked = ref(false);
const onCancel = () =>{ const lampBox = ref(null);
clicked.value = true const escalation = () => {
} if (data.character.zt !== 1) {
clicked.value = true;
}
console.log(clicked.value);
};
const confirmEvent = () => { const confirmEvent = () => {
console.log("confirm!"); console.log("confirm!");
ElMessage.success({
message: `上报成功`,
offset: 100, //
});
clicked.value = false;
}; };
const cancel = () => { const cancelEvent = () => {
console.log("cancel!"); clicked.value = false;
}; };
// //
@ -269,13 +271,13 @@ onMounted(() => {
data.title = props.title; data.title = props.title;
data.tableData = props.tableData; data.tableData = props.tableData;
console.log("状态", data); console.log("状态", data);
// const paginationTotal = document.querySelector(".el-pagination__total");
const paginationTotal = document.querySelector(".el-pagination__total");
// paginationTotal.innerText = ` ${props.pagination.total} `; // paginationTotal.innerText = ` ${props.pagination.total} `;
}); });
const closeDialog = () => { const closeDialog = () => {
dialogShow.value = false; dialogShow.value = false;
clicked.value = false;
emit("close"); emit("close");
}; };
// //
@ -283,6 +285,7 @@ const handle = (current) => {
emit("handle", current); emit("handle", current);
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.el-dialog) { :deep(.el-dialog) {
--el-dialog-bg-color: none; --el-dialog-bg-color: none;
@ -295,7 +298,7 @@ const handle = (current) => {
} }
.tabelPart { .tabelPart {
padding: 16px; padding: 16px 32px;
background: linear-gradient( background: linear-gradient(
270deg, 270deg,
rgba(0, 77, 131, 0.69) 0%, rgba(0, 77, 131, 0.69) 0%,
@ -320,6 +323,7 @@ const handle = (current) => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: 10px;
img { img {
width: 36px; width: 36px;
height: 36px; height: 36px;
@ -332,8 +336,56 @@ const handle = (current) => {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
position: relative;
.lampBox {
width: 270px;
height: 146px;
position: absolute;
top: 40px;
right: -6px;
background-image: url(@/assets/sy-table/popk.png);
background-repeat: no-repeat;
background-size: 100% 100%;
z-index: 999;
.lampTitle {
text-align: center;
// padding-top: 33px;
margin: 33px 0 30px 0;
font-size: 16px;
font-weight: 500;
font-family: PingFangSC, PingFang SC;
color: #ffffff;
line-height: 22px;
letter-spacing: 1px;
}
.lampBtn {
display: flex;
align-items: center;
justify-content: center;
.confirm {
width: 82.5px;
height: 30.5px;
line-height: 30.5px;
text-align: center;
background-image: url(@/assets/sy-table/btn1.png);
background-repeat: no-repeat;
background-size: 100% 100%;
margin-right: 9px;
}
.cancel {
width: 82.5px;
height: 30.5px;
line-height: 30.5px;
text-align: center;
background-image: url(@/assets/sy-table/btn2.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
}
}
} }
} }
:deep(.el-table) { :deep(.el-table) {
--el-table-bg-color: none; --el-table-bg-color: none;
--el-table-tr-bg-color: none; --el-table-tr-bg-color: none;
@ -372,6 +424,27 @@ const handle = (current) => {
} }
} }
.progressGreen {
width: 106px;
height: 8px;
background: linear-gradient(358deg, #21eda8 0%, #8bffcd 100%);
border-radius: 8px;
margin: 0 auto;
}
.progressYellow {
width: 106px;
height: 8px;
border-radius: 8px;
border: 1px solid;
margin: 0 auto;
border-image: linear-gradient(
270deg,
rgba(255, 197, 117, 1),
rgba(255, 226, 151, 1)
)
1 1;
}
.bo { .bo {
width: 100%; width: 100%;
display: flex; display: flex;

View File

@ -11,7 +11,7 @@
</div> </div>
</div> </div>
</div> </div>
<div style="width: 97.5%; position: relative"> <div style="width: 97.5%; position: relative" class="ta">
<div class="backgroundVirtual"></div> <div class="backgroundVirtual"></div>
<el-table <el-table
border border
@ -69,7 +69,7 @@
</div> </div>
</div> </div>
</div> </div>
<div style="width: 97.5%; position: relative"> <div style="width: 97.5%; position: relative" class="ta">
<div class="backgroundVirtual"></div> <div class="backgroundVirtual"></div>
<el-table <el-table
border border
@ -191,7 +191,7 @@
<!-- <div v-else class="text_1">未享受对象</div> --> <!-- <div v-else class="text_1">未享受对象</div> -->
</div> </div>
</div> </div>
<div style="width: 97.5%; position: relative"> <div style="width: 97.5%; position: relative" class="ta">
<div class="backgroundVirtual"></div> <div class="backgroundVirtual"></div>
<el-table <el-table
border border
@ -390,12 +390,12 @@ const formData = reactive({
{ {
label: "服务内容", label: "服务内容",
property: "fwnr", property: "fwnr",
align: "left", align: "center",
}, },
{ {
label: "结果", label: "结果",
property: "zt", property: "zt",
width: "200", width: "260",
align: "center", align: "center",
type: "slot", type: "slot",
}, },
@ -656,6 +656,22 @@ const formData = reactive({
PopulationLabel: "收入型低保", PopulationLabel: "收入型低保",
sfzhm: "281889", sfzhm: "281889",
}, },
{
fullName: "伍*凤",
zt: 2,
address: "衢州市龙游县模******居民委员会",
age: "46",
PopulationLabel: "收入型低保",
sfzhm: "281889",
},
{
fullName: "伍*凤",
zt: 3,
address: "衢州市龙游县模******居民委员会",
age: "46",
PopulationLabel: "收入型低保",
sfzhm: "281889",
},
{ {
fullName: "吴*琴", fullName: "吴*琴",
zt: 1, zt: 1,
@ -747,7 +763,7 @@ const formData = reactive({
}, },
{ {
fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。", fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。",
zt: 3, zt: 1,
identNo: "309601", identNo: "309601",
}, },
{ {
@ -845,7 +861,7 @@ const formData = reactive({
{ {
label: "结果", label: "结果",
property: "zt", property: "zt",
width: "200", width: "260",
align: "center", align: "center",
type: "slot", type: "slot",
}, },
@ -1341,7 +1357,7 @@ const formData = reactive({
}, },
{ {
fwnr: "经济困难老年人发放养老护理补贴每月125", fwnr: "经济困难老年人发放养老护理补贴每月125",
zt: 3, zt: 1,
identNo: "309601", identNo: "309601",
}, },
], ],
@ -1438,7 +1454,7 @@ const formData = reactive({
{ {
label: "结果", label: "结果",
property: "zt", property: "zt",
width: "200", width: "260",
align: "center", align: "center",
type: "slot", type: "slot",
}, },
@ -1548,7 +1564,7 @@ const formData = reactive({
}, },
{ {
fwnr: "经济困难老年人发放养老护理补贴每月125", fwnr: "经济困难老年人发放养老护理补贴每月125",
zt: 3, zt: 1,
identNo: "309601", identNo: "309601",
}, },
], ],
@ -1634,7 +1650,7 @@ const formData = reactive({
{ {
label: "结果", label: "结果",
property: "zt", property: "zt",
width: "200", width: "260",
align: "center", align: "center",
type: "slot", type: "slot",
}, },
@ -1777,7 +1793,7 @@ const formData = reactive({
zt: 1, zt: 1,
xx: "寺后小学", xx: "寺后小学",
bzlx: "原外地建档", bzlx: "原外地建档",
identNo:'369167', identNo: "369167",
}, },
{ {
xm: "何*媱", xm: "何*媱",
@ -1877,7 +1893,7 @@ const formData = reactive({
}, },
{ {
fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。", fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。",
zt: 3, zt: 2,
identNo: "309601", identNo: "309601",
}, },
{ {
@ -1964,7 +1980,7 @@ const formData = reactive({
{ {
label: "结果", label: "结果",
property: "zt", property: "zt",
width: "200", width: "260",
align: "center", align: "center",
type: "slot", type: "slot",
}, },
@ -2102,12 +2118,12 @@ const formData = reactive({
}, },
], ],
tableData2: [ tableData2: [
{ {
xm: "何*媱", xm: "何*媱",
zt: 1, zt: 1,
xx: "寺后小学", xx: "寺后小学",
bzlx: "原外地建档", bzlx: "原外地建档",
identNo:'369167', identNo: "369167",
}, },
{ {
xm: "何*媱", xm: "何*媱",
@ -2207,7 +2223,7 @@ const formData = reactive({
}, },
{ {
fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。", fwnr: "80周岁以上老年人每年80周岁以下老年人每两年可申请免费评估一次。",
zt: 3, zt: 1,
identNo: "309601", identNo: "309601",
}, },
{ {
@ -2522,7 +2538,6 @@ const statusDetails = (val) => {
titleName: formData.name, titleName: formData.name,
}; };
dialogShow.value = true; dialogShow.value = true;
} }
break; break;
case "义务教育学生营养改善计划": case "义务教育学生营养改善计划":
@ -2541,7 +2556,6 @@ const statusDetails = (val) => {
titleName: formData.name, titleName: formData.name,
}; };
dialogShow.value = true; dialogShow.value = true;
} }
break; break;
default: default:
@ -2661,7 +2675,6 @@ const handleRowClick = (row) => {
path: `/home/index/person`, path: `/home/index/person`,
query: { identNo: data.identNo, type: "detail" }, query: { identNo: data.identNo, type: "detail" },
}); });
} }
break; break;
case "义务教育学生营养改善计划": case "义务教育学生营养改善计划":
@ -2956,7 +2969,7 @@ onMounted(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
// //
:deep(.el-table) { :deep(.el-table) {
background: rgba(32, 64, 115, 1) ; background: rgba(32, 64, 115, 1);
color: #ffffff; color: #ffffff;
--el-table-tr-bg-color: none; --el-table-tr-bg-color: none;
--el-table-header-bg-color: none; --el-table-header-bg-color: none;
@ -3264,37 +3277,39 @@ onMounted(() => {
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
// //
:deep(.el-pagination > .is-last) { .ta {
color: #fff !important ; :deep(.el-pagination > .is-last) {
} color: #fff !important ;
:deep(.el-pagination.is-background .el-pager li) { }
color: #fff; :deep(.el-pagination.is-background .el-pager li) {
background: rgba(255, 255, 255, 0.14); color: #fff;
border: 1px solid #6bade1; background: rgba(255, 255, 255, 0.14);
margin: 0; border: 1px solid #6bade1;
} margin: 0;
:deep(.el-pagination.is-background .el-pager li.is-active) { }
background: rgba(0, 144, 255, 0.49); :deep(.el-pagination.is-background .el-pager li.is-active) {
border: 1px solid #6bade1; background: rgba(0, 144, 255, 0.49);
} border: 1px solid #6bade1;
:deep(.el-pagination.is-background .btn-prev:disabled) { }
color: #fff; :deep(.el-pagination.is-background .btn-prev:disabled) {
background: rgba(255, 255, 255, 0.14); color: #fff;
border: 1px solid #6bade1; background: rgba(255, 255, 255, 0.14);
} border: 1px solid #6bade1;
:deep(.el-pagination.is-background .btn-next:disabled) { }
color: #fff; :deep(.el-pagination.is-background .btn-next:disabled) {
background: rgba(255, 255, 255, 0.14); color: #fff;
border: 1px solid #6bade1; background: rgba(255, 255, 255, 0.14);
} border: 1px solid #6bade1;
:deep(.el-pagination.is-background .btn-prev) { }
color: #fff; :deep(.el-pagination.is-background .btn-prev) {
background: rgba(255, 255, 255, 0.14); color: #fff;
border: 1px solid #6bade1; background: rgba(255, 255, 255, 0.14);
} border: 1px solid #6bade1;
:deep(.el-pagination.is-background .btn-next) { }
color: #fff; :deep(.el-pagination.is-background .btn-next) {
background: rgba(255, 255, 255, 0.14); color: #fff;
border: 1px solid #6bade1; background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
} }
</style> </style>