This commit is contained in:
Paidax
2025-09-11 09:22:37 +08:00
parent d52504f438
commit af765b180f
17 changed files with 324 additions and 428 deletions
@@ -37,32 +37,35 @@
<el-descriptions-item label="福利会员状态">{{ viewData.welfareMember ? '福利会员' : '非福利会员' }}</el-descriptions-item>
<el-descriptions-item></el-descriptions-item>
<el-descriptions-item label="家庭主要成员" :span="3">
<el-table v-if="viewData.families&&viewData.families.length"
:data="viewData.families" size="mini" border
:header-cell-style="{background:'#eff3f6'}"
style="width: 100%">
<el-table-column prop="relation" label="与本人关系" align="center" header-align="center">
</el-table-column>
<el-table-column prop="name" label="姓名" align="center" header-align="center">
</el-table-column>
<el-table-column prop="unit" label="单位" align="center" header-align="center">
</el-table-column>
<el-table-column prop="remark" label="备注" align="center" header-align="center">
</el-table-column>
</el-table>
<el-empty v-else :image-size="50" description="暂无家庭成员信息"></el-empty>
</el-descriptions-item>
<el-descriptions-item label="个人简况" :span="3">
<template slot="label">个人简况</template>
<div v-if="viewData.personalData" class="text-left" v-html="viewData.personalData"></div>
<span v-else>无数据</span>
</el-descriptions-item>
<template v-if="viewData.loginname === $store.state.user.loginname">
<el-descriptions-item label="家庭主要成员" :span="3">
<el-table v-if="viewData.families && viewData.families.length"
:data="viewData.families" size="mini" border
:header-cell-style="{background:'#eff3f6'}"
style="width: 100%">
<el-table-column prop="relation" label="与本人关系" align="center" header-align="center">
</el-table-column>
<el-table-column prop="name" label="姓名" align="center" header-align="center">
</el-table-column>
<el-table-column prop="unit" label="单位" align="center" header-align="center">
</el-table-column>
<el-table-column prop="remark" label="备注" align="center" header-align="center">
</el-table-column>
</el-table>
<el-empty v-else :image-size="50" description="暂无家庭成员信息"></el-empty>
</el-descriptions-item>
<el-descriptions-item label="个人简况" :span="3">
<template slot="label">个人简况</template>
<div v-if="viewData.personalData" class="text-left" v-html="viewData.personalData"></div>
<span v-else>无数据</span>
</el-descriptions-item>
</template>
</el-descriptions>
</div>
`,
store,
data() {
return {
viewData: {}
@@ -57,7 +57,6 @@ layout("/layouts/platform.html"){
</el-card>
<el-card shadow="never" class="mt10">
<table-tool label="变更记录(默认查询当天变更记录,如需查询更多变更记录,请选择上方【变更日期】后点击搜索)">
<span v-if="tableData && tableData.length > 0" style="color: indianred">点击工号可显示人员信息;点击变更类型可显示当前记录的变更</span>
</table-tool>
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id" style="width: 100%">
<el-table-column :index="indexMethod"
@@ -97,55 +96,51 @@ layout("/layouts/platform.html"){
<template #view>
<member-info ref="memberInfoRef"></member-info>
</template>
<template #edit>
<member-change-info ref="memberChangeInfoRef"></member-change-info>
</template>
<template #public>
<member-audit-change-info ref="memberAuditChangeInfoRef"></member-audit-change-info>
</template>
</guava>
</div>
<script>
<!--#include("../../member/common/audit/memberAuditChangeInfo.js"){}#-->
<!--#include("../../member/common/change/memberChangeInfo.js"){}#-->
<!--#include("../../member/common/info/memberInfo.js"){}#-->
<!--#include("../../member/change/common/memberAllChangeInfo.js"){}#-->
new Vue({
el: "#app",
mixins: [initTableMixins],
store,
data() {
return{
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
picker.$emit("pick", [start, end])
}
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
picker.$emit("pick", [start, end])
}
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
picker.$emit("pick", [start, end])
}
}
]
},
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
picker.$emit("pick", [start, end])
}
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
picker.$emit("pick", [start, end])
}
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
picker.$emit("pick", [start, end])
}
}
]
},
pageForm: {
searchKeyword: "",
unionId: "",
@@ -153,7 +148,7 @@ layout("/layouts/platform.html"){
userState: "",
preparedBy: "",
personType: "",
changeDateRange: [moment().format("YYYY-MM-DD"), moment().format("YYYY-MM-DD")]
changeDateRange: []
},
tableColumns: [
{ prop: "loginname", label: "工号", sortable: true },
@@ -175,11 +170,29 @@ layout("/layouts/platform.html"){
}
},
components: {
'member-audit-change-info': MEMBER_AUDIT_CHANGE_INFO,
'member-change-info': MEMBER_CHANGE_INFO,
'member-info': MEMBER_INFO
'member-info': MEMBER_INFO,
'member-all-change-info': MEMBER_ALL_CHANGE_INFO,
},
methods: {
setDefaultDateRange() {
const end = new Date(); // 当前时间
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); // 当前时间往前推90天
this.$set(this.pageForm, "changeDateRange", [start, end])
this.pageForm.changeDateBefore = start
this.pageForm.changeDateEnd = end
this.doSearch()
},
changeDateRangeChange(val){
if (val && val.length > 0) {
this.pageForm.changeDateBefore = val[0]
this.pageForm.changeDateEnd = val[1]
} else {
this.pageForm.changeDateBefore = null
this.pageForm.changeDateEnd = null
}
this.doSearch()
},
// 查看当前人员信息
openView(row) {
this.$refs.guava.view(() => {
@@ -199,15 +212,16 @@ layout("/layouts/platform.html"){
})
},
getChangeTypes(changeTypes) {
if (changeTypes) {
const c = JSON.parse(changeTypes)
return c
.map((v) => {
return this.changeTypeData.find((item) => item.code === v).name
})
.join(",")
}
return null
const changeTypesList = JSON.parse(changeTypes)
if (changeTypesList) {
if (!changeTypesList || changeTypesList.length === 0 || !this.changeTypeData || this.changeTypeData.length === 0) return null
return changeTypesList
.map((v) => {
return this.changeTypeData.find((item) => item.name === v).changeTypeName
})
.join(",")
}
return null
},
getChangeOrigin(changeOrigin) {
if (changeOrigin) {
@@ -215,16 +229,6 @@ layout("/layouts/platform.html"){
}
return null
},
changeDateRangeChange(val) {
if (val && val.length > 0) {
this.pageForm.changeDateBefore = val[0]
this.pageForm.changeDateEnd = val[1]
} else {
this.pageForm.changeDateBefore = null
this.pageForm.changeDateEnd = null
}
this.doSearch()
},
flushUnits() {
this.$set(this.pageForm, "unitId", null)
this.units = []
@@ -234,12 +238,6 @@ layout("/layouts/platform.html"){
})
}
},
async getEnumOptions() {
const resp = await this.$axios.post("/open/common/dictEnumOptions", { name: "MemberChangeOrigin" })
if (resp.code === 0) {
this.changeOriginData = resp.data
}
},
async initData() {
if (this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN"])) {
this.unions = await this.$businessTool.listUnion(this.pageForm.unionId)
@@ -248,13 +246,13 @@ layout("/layouts/platform.html"){
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
}
this.changeTypeData = await this.$businessTool.getAllDictOptions("MEMBER_CHANGE_TYPE")
await this.getEnumOptions()
this.doSearch()
this.changeTypeData = await this.$businessTool.getEnumOptions("MemberChangeType")
this.changeOriginData = await this.$businessTool.getEnumOptions("MemberChangeOrigin")
},
},
created() {
this.initData()
async created() {
await this.initData()
await this.setDefaultDateRange()
},
});
</script>