This commit is contained in:
=
2026-04-16 16:03:29 +08:00
parent 3b372a2425
commit 423cb1fd61
12 changed files with 148 additions and 48 deletions
@@ -74,6 +74,7 @@ layout("/layouts/platform.html"){
<el-table-column prop="userState" label="在职状态" sortable width="120"></el-table-column>
<el-table-column prop="preparedBy" label="编制类别" sortable width="120"></el-table-column>
<el-table-column prop="personType" label="教职工类别" sortable width="120"></el-table-column>
<el-table-column prop="employmentType" label="用人方式" sortable width="120"></el-table-column>
<el-table-column prop="arrivalAtSchoolDate" label="来校年月" sortable width="120"></el-table-column>
<el-table-column prop="technicalTitle" label="技术职称" sortable width="120"></el-table-column>
<el-table-column prop="position" label="职务" sortable width="120" show-overflow-tooltip></el-table-column>
@@ -45,6 +45,10 @@ const COMMON_QUERY = {
<dict-select v-model="pageForm.preparedBys" placeholder="请选择编制类别" @change="doSearch"
code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
</search-item>
<search-item label="用人方式">
<dict-select v-model="pageForm.employmentTypes" placeholder="请选择编制类别" @change="doSearch"
code="USER_EMPLOYMENT_TYPE" multiple collapse-tags></dict-select>
</search-item>
</search>
`,
store,
@@ -68,6 +72,7 @@ const COMMON_QUERY = {
userStates: [],
personTypes: [],
preparedBys: [],
employmentTypes: [],
}
}
},
@@ -82,6 +87,7 @@ const COMMON_QUERY = {
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
this.$emit('search', pageForm)
},
async initData(){
@@ -127,6 +127,7 @@ layout("/layouts/platform.html"){
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
{ prop: "employmentType", label: "用人方式", width: 120, sortable: true },
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
@@ -173,7 +174,8 @@ layout("/layouts/platform.html"){
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
const data = this.tableColumns.filter(item => this.checkedFields.includes(item.prop)).map(item => {
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
const data = this.tableColumns.filter(item => this.checkedFields.includes(item.prop)).map(item => {
return {prop: item.prop, label: item.label}
})
pageForm.columns = JSON.stringify(data)
@@ -200,6 +202,7 @@ layout("/layouts/platform.html"){
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
this.$axios.post(loc() + "/pageData", pageForm)
.then((data) => {
if (data.code === 0) {
@@ -159,6 +159,7 @@ layout("/layouts/platform.html"){
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
{ prop: "employmentType", label: "用人方式", width: 120, sortable: true },
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
@@ -223,6 +224,7 @@ layout("/layouts/platform.html"){
pageForm.unitId = JSON.stringify(this.pageForm.unitId)
pageForm.sexTypes = JSON.stringify(this.pageForm.sexTypes)
pageForm.memberTypes = JSON.stringify(this.pageForm.memberTypes)
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
pageForm.memberStatus = JSON.stringify(this.pageForm.memberStatus)
@@ -86,6 +86,31 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
</el-link>
</el-col>
</el-row>
<el-row type="flex" align="middle" class="query-row query-row-tag">
<el-col class="query-row-title">用人方式:</el-col>
<el-col class="query-row-content query-row-content-tag">
<el-tag
style="margin-right: 10px;cursor: pointer"
v-for="item in employmentTypeOptions"
:key="item.code"
:type="item.name"
:effect="pageForm.employmentTypes.includes(item.name)?'dark':'plain'"
@click="tagClick('employmentTypes',item.name)">
{{ item.name }}
</el-tag>
<el-link type="danger"
v-if="employmentTypeOptions.length&&pageForm.employmentTypes.length"
:underline="false"
@click="pageForm.employmentTypes=[];doSearch()">清空
</el-link>
<el-link :underline="false"
@click="pageForm.employmentTypes=employmentTypeOptions.map(p=>p.code);doSearch()"
type="success">全部
</el-link>
</el-col>
</el-row>
<el-row type="flex" align="middle" class="query-row query-row-tag">
<el-col class="query-row-title">编制类别:</el-col>
@@ -208,6 +233,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
searchName: "username",
personTypes: [],
preparedBys: [],
employmentTypes: [],
userStates: [],
memberStatus: [],
year: moment().format("YYYY"),
@@ -224,6 +250,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
},
personTypeOptions: [],
preparedByOptions: [],
employmentTypeOptions: [],
userStateOptions: [],
memberStatusOptions: [],
unions: [],
@@ -315,6 +342,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
this.pageForm.sexTypes = []
this.pageForm.personTypes = []
this.pageForm.preparedBys = []
this.pageForm.employmentTypes = []
this.pageForm.memberStatus = []
this.pageForm.userStates = []
this.pageForm.unionId = []
@@ -355,6 +383,10 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
this.$businessTool.getDictOptions("USER_STATE").then((data) => {
this.userStateOptions = data
})
this.$businessTool.getDictOptions("USER_EMPLOYMENT_TYPE").then((data) => {
this.employmentTypeOptions = data
console.log(data)
})
},
flushUnits() {
this.$set(this.pageForm, "unitId", null)