This commit is contained in:
duanxiaohai 2024-11-07 08:59:58 +08:00
parent a6580ea28a
commit abbe7f41e2
3 changed files with 23 additions and 892 deletions

BIN
dist.zip

Binary file not shown.

View File

@ -202,6 +202,16 @@
<div v-if="scope.row.bzlx == '1'">高龄津贴</div> <div v-if="scope.row.bzlx == '1'">高龄津贴</div>
<div v-else>老年人综合能力评估</div> <div v-else>老年人综合能力评估</div>
</div> </div>
<!-- 完成途径 -->
<div v-if="item.property == 'operatesDeng'">
<div v-if="scope.row.operatesDeng">系统推送</div>
<div v-else>其他</div>
</div>
<!-- 推送次数 -->
<div v-if="item.property == 'pushSendTotal'">
<div>{{ scope.row.pushSendTotal }}</div>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -366,6 +376,16 @@ const data = reactive({
property: "bq", property: "bq",
type: "slot", type: "slot",
}, },
{
label: "完成途径",
property: "operatesDeng",
type: "slot",
},
{
label: "推送次数",
property: "pushSendTotal",
type: "slot",
},
], ],
tableData: [], tableData: [],
tableData1: [], tableData1: [],
@ -712,6 +732,7 @@ const listAssignment = () => {
pagination1.url = ""; pagination1.url = "";
pagination2.url = ""; pagination2.url = "";
if (data.name == "食品安全监管" || data.name == "药品安全监管") { if (data.name == "食品安全监管" || data.name == "药品安全监管") {
data.name = "许可证编号";
pagination.url = "/api/ggfwyth/pg/spypqy"; pagination.url = "/api/ggfwyth/pg/spypqy";
pagination1.url = "/api/ggfwyth/pg/fwnrqd"; pagination1.url = "/api/ggfwyth/pg/fwnrqd";
pagination2.url = "/api/ggfwyth/pg/spypqy"; pagination2.url = "/api/ggfwyth/pg/spypqy";
@ -765,13 +786,14 @@ onMounted(() => {
if (data.name == "食品安全监管" || data.name == "药品安全监管") { if (data.name == "食品安全监管" || data.name == "药品安全监管") {
data.columns = []; data.columns = [];
data.column_2 = []; data.column_2 = [];
data.columns = [ data.columns = [
{ {
label: "对象名称", label: "对象名称",
property: "dxmc", property: "dxmc",
}, },
{ {
label: "统一社会信用代码", label: "许可证编号",
property: "dxbm", property: "dxbm",
}, },
{ {

View File

@ -1,891 +0,0 @@
<template>
<div class="module"></div>
</template>
<script setup>
import { ref, reactive, onMounted } from "vue";
import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus";
import http from "@/utils/request.js";
import DialogLamp from "./dialog/dialogRW.vue";
import DialogSf from "./dialog/dialogSf.vue";
import DialogPush from "./dialog/dialogPush.vue";
const router = useRouter();
const routers = useRoute();
const data = reactive({
name: "",
identNo: "", //ID
first: 1, //访&
tabelshow: true, //
pagedData: [], //()
columns: [
{
label: "姓名",
property: "xm",
width: "90",
},
{
label: "地址",
property: "dz",
},
{
label: "年龄",
property: "nl",
width: "80",
},
{
label: "人口标签",
property: "bq",
type: "slot",
},
],
column_1: [
{
label: "序号",
property: "id",
width: "50",
},
{
label: "服务类型",
property: "bzlx",
width: "100",
},
{
label: "服务对象或条件",
property: "bzdx",
},
{
label: "服务标准或内容",
property: "bzbz",
},
{
label: "办理方式或时间",
property: "blfs",
},
],
column_2: [
{
label: "姓名",
property: "xm",
width: "90",
type: "slot",
},
{
label: "状态",
property: "deng",
width: "90",
align: "center",
type: "slot",
},
{
label: "地址",
property: "dz",
},
{
label: "年龄",
property: "nl",
width: "80",
},
{
label: "人口标签",
property: "bq",
type: "slot",
},
],
tableData: [],
tableData1: [],
tableData2: [],
});
// 123
const pagination = reactive({
id: "1",
url: "",
total: 10,
pageSize: 20,
currentPage: 1,
});
const pagination1 = reactive({
id: "2",
url: "",
total: 10,
pageSize: 10,
currentPage: 1,
});
const pagination2 = reactive({
id: "3",
url: "",
total: 10,
pageSize: 20,
currentPage: 1,
});
const pagination3 = reactive({
url: "",
total: 10,
pageSize: 20,
currentPage: 1,
});
//
const handlePagination = (current) => {
pagination.currentPage = current;
getTable(pagination);
};
const handlePagination1 = (current) => {
pagination1.currentPage = current;
getTable(pagination1);
};
const handlePagination2 = (current) => {
pagination2.currentPage = current;
getTable(pagination2);
};
/**
* 服务结果清单 状态筛选
* @param {*} selectedLamp - 人物状态1表示绿2表示红3表示黄
*/
const selectedLamp = ref(0);
// const selectedLamp1 = reactive({
// green: false,
// red: false,
// yellow: false,
// });
const lampScreen = (val) => {
if (selectedLamp.value === val) {
return; //
}
selectedLamp.value = val;
getTable(pagination2);
// console.log("", val);
};
//----------------
/**
* 表格弹框
* @param {*} dialogShow -弹框状态false表示关闭true表示开启
* @param {*} dialogShowSf -算法弹框状态false表示关闭true表示开启
*/
const dialogShow = ref(false);
const dialogShowSf = ref(false);
const dialogShowPush = ref(false);
const push = reactive({
title: "推送记录",
data: [],
columns: [
{
label: "序号",
property: "index",
width: "90",
},
{
label: "应用",
property: "app",
},
{
label: "事项",
property: "content",
},
{
label: "接收人",
property: "adminName",
},
{
label: "推送时间",
property: "sendTime",
},
],
});
const sfType = reactive({
url: ``,
title: "服务事项名称",
data: {
gkmx: "备注内容",
sr: "xxxxxxxxxx输入内容xxxxxxxxxx输入内容xxxxxxxxxx输入内容",
dblj: "对比逻辑",
sc: "输出",
},
});
const tableType = reactive({
url: `/api/ggfwyth/pg/fwjgqdxq`,
title: "服务详情",
typeId: "",
data: [],
columns: [
{
label: "序号",
property: "index",
width: "60",
align: "center",
},
{
label: "服务内容",
property: "bzlx",
},
{
label: "牵头单位",
property: "qtbm",
},
{
label: "业务科室",
property: "zrks",
},
{
label: "负责人/联系人",
property: "ywfzr",
},
{
label: "联系电话",
// property: "fgldsj",
property: "ywfzrsj",
},
{
label: "结果",
property: "deng",
width: "290",
align: "center",
type: "slot",
},
// {
// label: "",
// property: "dz",
// },
// {
// label: "",
// property: "nl",
// width: "60",
// },
// {
// label: "",
// property: "bq",
// type: "slot",
// },
// {
// label: "",
// property: "fwnr",
// align: "center",
// },
// {
// label: "",
// property: "deng",
// width: "260",
// align: "center",
// type: "slot",
// },
],
// character: [],
});
//
const statusDetails = (val) => {
data.identNo = val.sfzhm;
if (data.identNo == null) {
ElMessage.warning({
message: `${val.xm}无id!`,
offset: 100, //
});
} else {
getTable1(tableType);
}
};
//
const closeJj = () => {
dialogShow.value = false;
dialogShowSf.value = false;
tableType.data = [];
pagination3.currentPage = 1;
};
//
const showList = (val) => {
http
.get(`/api/ggfwyth/pg/pushSendRecord?xh=${val.xh}&bm=${val.bm}`)
.then((res) => {
if (res.code == 200) {
push.data = res.data;
if (res.data.length == 0) {
ElMessage.warning({
message: `该服务内容暂无推送记录!`,
});
} else {
push.data = push.data.map((item, index1) => {
return {
...item,
index: index1 + 1,
};
});
dialogShowPush.value = true;
}
}
});
};
//
const closePush = () => {
dialogShowPush.value = false;
};
//
const openSf = () => {
http.get(`/api/ggfwyth/pg/sfljqd?xh=${routers.query.xh}`).then((res) => {
if (res.code == 200) {
sfType.title = routers.query.name;
sfType.data = res.data;
dialogShowSf.value = true;
}
});
};
const getTable = (pagination) => {
http
.get(
`${pagination.url}?page=${pagination.currentPage}&size=${pagination.pageSize}&xh=${routers.query.xh}&deng=${selectedLamp.value}`
)
.then((res) => {
if (res.code == 200) {
switch (pagination.id) {
case "1":
data.tableData = res.data;
pagination.total = res.count;
break;
case "2":
data.tableData1 = res.data;
pagination1.total = res.count;
console.log(pagination.id, data.tableData1);
break;
case "3":
data.tableData2 = res.data;
pagination2.total = res.count;
break;
default:
break;
}
// data.tableData2 = res.data;
// data.tableData2 = res.data.map((item) => {
// return {
// ...item,
// zt: 1,
// };
// });
// pagination2.total = res.count - 6;
}
});
};
const getTable1 = (pagination) => {
http
.get(`${pagination.url}?sfzhm=${data.identNo}&xh=${routers.query.xh}`)
.then((res) => {
if (res.code == 200) {
tableType.data = res.data;
tableType.typeId = routers.query.id;
dialogShow.value = true;
} else {
ElMessage.warning({
message: res.message,
});
}
});
};
/**
* 服务清单
* @param {*} pagination - 分页对象包含当前页码和每页显示的条数和请求的URL地址
* @param {number} sfxs - 是否享受1表示是0表示否
*/
const getServiceList = async (pagination, sfxs) => {
await http
.get(
`${pagination.url}?page=${pagination.currentPage}&size=${pagination.pageSize}&sfxs=${sfxs}`
)
.then((res) => {
if (res.code == 200) {
if (sfxs) {
data.tableData = res.data;
pagination.total = res.count;
console.log(data.tableData2);
} else {
data.tableData2 = res.data;
pagination2.total = res.count;
}
}
});
};
//
const handleRowClick = (row) => {
console.log(row); // row
data.identNo = row.sfzhm;
if (data.identNo == null) {
ElMessage.warning({
message: `${row.xm}无id!`,
offset: 100, //
});
} else {
router.push({
path: `/home/index/person`,
query: { identNo: data.identNo, type: "detail" },
});
}
};
const handleRowClickGO = (row) => {
// router.push({
// path: `/person/rwTable`,
// query: { xh: row.xh, bm: row.bm },
// });
};
//
const listAssignment = () => {
data.tableData = [];
data.tableData1 = [];
data.tableData2 = [];
pagination.url = "";
pagination1.url = "";
pagination2.url = "";
if (data.name == "食品安全监管" || data.name == "药品安全监管") {
pagination.url = "/api/ggfwyth/pg/spypqy";
pagination1.url = "/api/ggfwyth/pg/fwnrqd";
pagination2.url = "/api/ggfwyth/pg/spypqy";
} else {
pagination.url = "/api/ggfwyth/pg/fwdxqd";
pagination1.url = "/api/ggfwyth/pg/fwnrqd";
pagination2.url = "/api/ggfwyth/pg/fwjgqd";
}
getTable(pagination);
getTable(pagination1);
getTable(pagination2);
};
//
const tableHeaderColor = (arg) => {
return {
// paddingLeft: "10px",
letterSpacing: "1px",
fontSize: "20px",
height: "79px",
backgroundColor: "rgba(23, 62, 115)",
color: "#fff",
border: "none",
textAlign: "center",
fontFamily: "PingFangSC, PingFang SC",
// boxShadow: " inset 0px 0px 56px 0px rgba(173,221,255,0.5)",
};
};
const rowState = (row) => {
if (row.rowIndex % 2 == 0) {
return {
letterSpacing: "1px",
fontSize: "19px",
height: "36px",
backgroundColor: "rgba(31, 63, 113, 1)",
color: "#fff",
};
} else if (row.rowIndex % 2 !== 0) {
return {
letterSpacing: "1px",
fontSize: "19px",
height: "36px",
backgroundColor: "rgba(43, 74, 121, 1)",
color: "#fff",
};
}
};
onMounted(() => {
if (routers.query.name) {
data.name = routers.query.name;
if (data.name == "食品安全监管" || data.name == "药品安全监管") {
data.columns = [];
data.column_2 = [];
data.columns = [
{
label: "对象名称",
property: "dxmc",
},
{
label: "统一社会信用代码",
property: "dxbm",
},
{
label: "地址",
property: "dz",
},
];
data.column_2 = [
{
label: "对象名称",
property: "dxmc",
},
{
label: "许可证编号",
property: "dxbm",
},
{
label: "地址",
property: "dz",
},
];
}
// listAssignment();
}
});
</script>
<style lang="scss" scoped>
.module {
width: 100%;
height: 943px;
margin-top: 125px;
display: flex;
justify-content: space-between;
padding: 10px 45px;
box-sizing: border-box;
}
</style>
<style lang="scss" scoped>
//
:deep(.el-table) {
background: rgba(32, 64, 115, 1);
color: #ffffff;
--el-table-tr-bg-color: none;
--el-table-header-bg-color: none;
--el-table-header-text-color: none;
// border: 1px solid #7aceff;
}
:deep(.el-table .cell) {
line-height: 30px;
}
// .table {
// :deep(.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf) {
// border: none !important;
// padding-left: 10px !important;
// text-align: center;
// }
// }
// :deep(.el-table td.el-table__cell) {
// padding: 13px 0px;
// }
:deep(.el-table--enable-row-hover .el-table__body tr:hover > td) {
background-color: #2f4b74;
}
:deep(.el-table__empty-block) {
background-color: #122560;
}
:deep(.el-table .el-table__row) {
border-bottom: none;
}
//
.pagePart {
height: 40px;
display: flex;
align-items: center;
justify-content: center;
:deep(.el-pagination) {
--el-pagination-button-disabled-bg-color: none;
--el-pagination-bg-color: none;
--el-pagination-button-bg-color: none;
--el-pagination-button-color: #fff;
color: #fff;
}
// :deep(.el-pagination button:disabled) {
// background-color: rgba(0, 116, 255, 0) !important;
// }
// :deep(.el-pagination > .is-last) {
// color: #ffffff;
// }
}
:deep(.el-pagination.is-background .btn-prev) {
margin: 0;
}
:deep(.el-pagination.is-background .btn-next) {
margin: 0;
}
:deep(.el-pagination) {
justify-content: center;
}
.yd_title {
box-sizing: border-box;
width: 98%;
height: 31px;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: space-between;
span {
font-size: 28px;
font-weight: 500;
font-family: titleNore;
margin-left: 20px;
color: #fff;
position: relative;
z-index: 1;
width: 500px;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
white-space: nowrap;
}
/* 利用伪元素和两个i元素产生4条线 */
.animate-border {
position: absolute;
top: 0px;
width: 100%;
height: 100%;
&::before,
&::after {
content: "";
position: absolute;
width: 100%;
height: 2px;
}
i {
position: absolute;
display: inline-block;
height: 100%;
width: 2px;
}
&::before {
top: 0;
left: -100%;
background-image: linear-gradient(
90deg,
transparent,
#03e9f4,
transparent
);
animation: one 4s linear infinite;
}
i:nth-child(1) {
top: -100%;
right: 0;
background-image: linear-gradient(
180deg,
transparent,
#03e9f4,
transparent
);
/* 动画名称 动画持续时间 动画渲染函数 动画延迟时间 动画执行次数 */
animation: two 4s linear 1s infinite;
}
&::after {
bottom: 0;
right: -100%;
background-image: linear-gradient(
-90deg,
transparent,
#03e9f4,
transparent
);
animation: three 4s linear 2s infinite;
}
i:nth-child(2) {
bottom: -100%;
left: 0;
background-image: linear-gradient(
360deg,
transparent,
#03e9f4,
transparent
);
animation: four 4s linear 3s infinite;
}
}
.mxbRecord {
display: flex;
.text_0 {
font-size: 20px;
font-weight: 500;
color: #ffffff;
font-family: titleNore;
// margin-right: 20px;
padding: 0 10px;
width: 90px;
z-index: 2;
cursor: pointer;
background: radial-gradient(
circle,
rgba(37, 127, 173, 1) 0%,
rgba(37, 127, 173, 0) 100%
);
}
.text_2 {
font-size: 20px;
font-weight: 500;
color: #4787a8;
font-family: titleNore;
// margin-right: 20px;
padding: 0 10px;
width: 90px;
z-index: 2;
cursor: pointer;
}
}
.text {
display: flex;
position: absolute;
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
right: 5px;
top: 1px;
align-items: center;
}
.text_1 {
font-size: 20px;
font-weight: 500;
color: #4787a8;
font-family: titleNore;
margin-right: 20px;
}
.gTitle {
position: absolute;
color: #acd1f1;
height: 100%;
display: flex;
align-items: center;
left: 156px;
}
.c {
width: 130px;
height: 33px;
cursor: pointer;
}
}
.lampState {
position: absolute;
top: 0px;
right: 0;
z-index: 6;
img {
width: 30px;
height: 30px;
margin-left: 10px;
cursor: pointer;
// &:nth-child(3n) {
// margin-right: 20px;
// }
}
// .selected {
// border-radius: 50%;
// background-color: rgba(255, 255, 255, 0.3);
// box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
// }
}
.yd_title::before {
content: "";
width: 4px;
height: 4px;
background-color: rgba(0, 229, 255, 1);
border-radius: 50%;
position: absolute;
left: 0;
margin-left: 3px;
z-index: 2;
}
.yd_title::after {
content: "";
width: 90%;
height: 1px;
background: linear-gradient(to right, #257fad, rgba(37, 127, 173, 0));
position: absolute;
bottom: 0;
left: 0;
z-index: 0;
}
.semi-circle-shadow {
position: absolute;
bottom: -5px;
left: -24px;
width: 30%;
height: 20px;
background: radial-gradient(
circle,
rgba(37, 127, 173, 1) 0%,
rgba(37, 127, 173, 0) 70%
);
border-radius: 50%;
z-index: 0;
}
@keyframes one {
0% {
left: -100%;
}
50%,
100% {
left: 100%;
}
}
@keyframes two {
0% {
top: -100%;
}
50%,
100% {
top: 100%;
}
}
@keyframes three {
0% {
right: -100%;
}
50%,
100% {
right: 100%;
}
}
@keyframes four {
0% {
bottom: -100%;
}
50%,
100% {
bottom: 100%;
}
}
</style>
<style lang="scss" scoped>
//
:deep(.el-pagination > .is-last) {
color: #fff !important ;
}
:deep(.el-pagination.is-background .el-pager li) {
color: #fff;
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
margin: 0;
}
:deep(.el-pagination.is-background .el-pager li.is-active) {
background: rgba(0, 144, 255, 0.49);
border: 1px solid #6bade1;
}
:deep(.el-pagination.is-background .btn-prev:disabled) {
color: #fff;
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
:deep(.el-pagination.is-background .btn-next:disabled) {
color: #fff;
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
:deep(.el-pagination.is-background .btn-prev) {
color: #fff;
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
:deep(.el-pagination.is-background .btn-next) {
color: #fff;
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
</style>