..
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
const news = {
|
||||
template: /*language=HTML*/ `
|
||||
<div class="home-news">
|
||||
<!-- <el-tabs v-model="activeName">-->
|
||||
<!-- <el-tab-pane v-for="(item,index) in newsData" :key="index" :label="item.label" :name="item.label" v-if="item.value.length > 0">-->
|
||||
<!-- <div v-for="(n,i) in item.value" :key="i" @click="openUrl(n.href)">-->
|
||||
<!-- <span v-if="n.time" class="news_time">{{ n.time }}</span>-->
|
||||
<!-- <span class="news_text">{{ n.text }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-tab-pane>-->
|
||||
<!-- </el-tabs>-->
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane v-for="(item,index) in newsData" :key="index" :label="item.label" :name="item.label" v-if="item.value.length > 0">
|
||||
<div v-for="(n,i) in item.value" :key="i" @click="openUrl(n.href)">
|
||||
<span v-if="n.time" class="news_time">{{ n.time }}</span>
|
||||
<span class="news_text">{{ n.text }}</span>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
|
||||
@@ -6,7 +6,7 @@ const quickEntry = {
|
||||
<div class="quickEntries">
|
||||
<div v-for="item in quickEntries" :key="item.id" @click="$store.dispatch('pjaxRoute',item.href)" class="quickEntryItem">
|
||||
<svg-icon :name="item.icon" :size="40" style="color: var(--color-primary)"></svg-icon>
|
||||
<span>{{item.name}}</span>
|
||||
<span style="white-space: nowrap">{{item.name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
+80
-102
@@ -1,109 +1,87 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.reverseCheckBox {
|
||||
margin: 0 10px 0 0 !important;
|
||||
}
|
||||
|
||||
.query-row {
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.query-row:not(:last-child) {
|
||||
border-bottom: 1px dashed rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.query-row-title {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.query-row > .query-title {
|
||||
width: 100px;
|
||||
max-width: 100px;
|
||||
min-width: 100px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.query-row > .query-content {
|
||||
min-width: 200px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.query-row > .query-content > .el-tag {
|
||||
margin-bottom: 5px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.query-row:nth-child(4) .query-content .el-col:not(:last-child) {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.query-title {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style></style>
|
||||
<div id="app">
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<query-form @query="assignmentTableData" ref="queryFormRef"></query-form>
|
||||
<el-card shadow="never">
|
||||
<table-tool label="会员列表">
|
||||
|
||||
<el-select v-model="pageForm.searchType" placeholder="是否会员" clearable
|
||||
style="width: 120px" @change="pageData" class="mr10" size="small">
|
||||
<el-select
|
||||
v-model="pageForm.searchType"
|
||||
placeholder="是否会员"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
@change="pageData"
|
||||
class="mr10"
|
||||
size="small"
|
||||
>
|
||||
<el-option label="全部教工" value="all"></el-option>
|
||||
<el-option label="会员" value="member"></el-option>
|
||||
<el-option label="非会员" value="unMember"></el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select v-model="pageForm.isUnit" placeholder="是否有单位" clearable
|
||||
style="width: 120px" @change="pageData" class="mr10" size="small">
|
||||
<el-select
|
||||
v-model="pageForm.isUnit"
|
||||
placeholder="是否有单位"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
@change="pageData"
|
||||
class="mr10"
|
||||
size="small"
|
||||
>
|
||||
<el-option label="有单位" value="true"></el-option>
|
||||
<el-option label="无单位" value="false"></el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select v-model="pageForm.isUnion" placeholder="是否有工会" clearable
|
||||
style="width: 120px" @change="pageData" class="mr10" size="small">
|
||||
<el-select
|
||||
v-model="pageForm.isUnion"
|
||||
placeholder="是否有工会"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
@change="pageData"
|
||||
class="mr10"
|
||||
size="small"
|
||||
>
|
||||
<el-option label="有工会" value="true"></el-option>
|
||||
<el-option label="无工会" value="false"></el-option>
|
||||
</el-select>
|
||||
|
||||
<el-button icon="el-icon-printer" class="m10" type="primary"
|
||||
style="float: right"
|
||||
size="small" @click="doExport">导出
|
||||
</el-button>
|
||||
<el-button icon="el-icon-printer" class="m10" type="primary" style="float: right" size="small" @click="doExport">导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" style="width: 100%" stripe border
|
||||
:header-cell-style="{background:'#FAFAFA'}" row-key="id"
|
||||
@sort-change="pageOrder">
|
||||
<el-table-column align="center" header-align="center" type="index"
|
||||
:index="indexMethod" label="序号"
|
||||
width="80px"></el-table-column>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
stripe
|
||||
border
|
||||
:header-cell-style="{background:'#FAFAFA'}"
|
||||
row-key="id"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:width="column.width"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
type="index"
|
||||
:index="indexMethod"
|
||||
label="序号"
|
||||
width="80px"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:width="column.width"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template v-if="column.prop==='memberJoinTime'" scope="{row}">
|
||||
{{$moment(row.memberJoinTime).format('YYYY-MM-DD')}}
|
||||
</template>
|
||||
<template v-if="column.prop==='memberJoinTime'" scope="{row}">{{$moment(row.memberJoinTime).format('YYYY-MM-DD')}}</template>
|
||||
|
||||
<template v-else-if="column.prop==='birthday'" scope="{row}">
|
||||
{{row.birthday ? $moment(row.birthday).format('YYYY-MM-DD') : null}}
|
||||
{{row.birthday ? $moment(row.birthday).format('YYYY-MM-DD') : null}}
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="操作" width="100px">
|
||||
@@ -125,38 +103,38 @@ layout("/layouts/platform.html"){
|
||||
<!--#include("queryForm.js"){}#-->
|
||||
<!--#include("../../common/info/memberInfo.js"){}#-->
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
store,
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchType: "member",
|
||||
searchType: "member"
|
||||
},
|
||||
unions: [],
|
||||
units: [],
|
||||
childrenData: {},
|
||||
tableColumns: [
|
||||
{prop: 'loginname', label: '工号'},
|
||||
{prop: 'username', label: '姓名'},
|
||||
{prop: 'sex', label: '性别'},
|
||||
{prop: 'birthday', label: '出生年月', sortable: true},
|
||||
{prop: 'mobile', label: '联系电话'},
|
||||
{prop: 'idCardType', label: '证件类型'},
|
||||
{prop: 'idCard', label: '证件号码', width: 180},
|
||||
{prop: 'userState', label: '在职状态', sortable: true},
|
||||
{prop: 'personType', label: '教职工类别', sortable: true},
|
||||
{prop: 'preparedBy', label: '聘用方式', sortable: true},
|
||||
{prop: 'identityType', label: '身份类型', sortable: true},
|
||||
{prop: 'unionName', label: '所属工会', sortable: true},
|
||||
{prop: 'unitName', label: '所属单位', sortable: true},
|
||||
{prop: 'arrivalAtSchoolDate', label: '来校年月', sortable: true},
|
||||
],
|
||||
{ prop: "loginname", label: "工号", fixed: "left" },
|
||||
{ prop: "username", label: "姓名", fixed: "left" },
|
||||
{ prop: "sex", label: "性别" },
|
||||
{ prop: "birthday", label: "出生年月", width: 120, sortable: true },
|
||||
{ prop: "mobile", label: "联系电话" },
|
||||
{ prop: "idCardType", label: "证件类型" },
|
||||
{ prop: "idCard", label: "证件号码", width: 180 },
|
||||
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
|
||||
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
|
||||
{ prop: "preparedBy", label: "聘用方式", width: 120, sortable: true },
|
||||
{ prop: "identityType", label: "身份类型", width: 120, sortable: true },
|
||||
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
|
||||
{ prop: "unitName", label: "所属单位", width: 120, sortable: true },
|
||||
{ prop: "arrivalAtSchoolDate", label: "来校年月", width: 120, sortable: true }
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'query-form': MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM,
|
||||
'member-info': MEMBER_INFO
|
||||
"query-form": MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM,
|
||||
"member-info": MEMBER_INFO
|
||||
},
|
||||
methods: {
|
||||
openView(id) {
|
||||
@@ -175,15 +153,15 @@ layout("/layouts/platform.html"){
|
||||
this.$downLoad("/platform/member/statistics/comprehensive/doExport", pageForm)
|
||||
},
|
||||
assignmentTableData(data) {
|
||||
this.tableData = data.list;
|
||||
this.tableData = data.list
|
||||
this.pageForm = this.$refs.queryFormRef.pageForm
|
||||
this.pageForm.totalCount = data.totalCount;
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
},
|
||||
pageData() {
|
||||
this.$refs.queryFormRef.pageForm = this.pageForm
|
||||
this.$refs.queryFormRef.pageData();
|
||||
},
|
||||
},
|
||||
this.$refs.queryFormRef.pageData()
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
+123
-193
@@ -1,201 +1,131 @@
|
||||
const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
||||
template: `
|
||||
template: /*language=HTML*/ `
|
||||
<el-card shadow="never">
|
||||
<el-row type="flex" align="middle" class="query-row">
|
||||
<el-col class="query-row-title">年  度:</el-col>
|
||||
<el-col class="query-row-content" :span="12">
|
||||
<el-row style="margin-left: 3px">
|
||||
<el-date-picker @change="doSearch()"
|
||||
style="width: 85%"
|
||||
:picker-options="pickerOptions"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年" :clearable="false">
|
||||
</el-date-picker>
|
||||
<el-link type="primary" style="margin-left: 10px"
|
||||
:underline="false"
|
||||
@click="setNowYear();doSearch()">
|
||||
本年
|
||||
</el-link>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col class="query-row-title">姓名/工号:</el-col>
|
||||
<el-col class="query-row-content" :span="12">
|
||||
<el-row style="width: 92%">
|
||||
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"></el-input>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" align="middle" class="query-row">
|
||||
<el-col class="query-row-content">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<span>所属工会:</span>
|
||||
<el-select placeholder="所属工会" v-model="pageForm.unionId"
|
||||
clearable multiple style="margin-left: 33px;width: 80%"
|
||||
@change="flushUnits();doSearch()"
|
||||
@clear="flushUnits();doSearch()"
|
||||
filterable>
|
||||
<el-option v-for="item in unions" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<span>所属单位:</span>
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unitId"
|
||||
clearable multiple style="margin-left: 33px;width: 80%" filterable>
|
||||
<el-option v-for="item in units" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row">
|
||||
<el-col class="query-row-title">性别:</el-col>
|
||||
<el-col class="query-row-content">
|
||||
<el-tag
|
||||
:effect="pageForm.sexTypes.includes(item.name)?'dark':'plain'"
|
||||
:key="item.code"
|
||||
:type="item.name"
|
||||
@click="tagClick('sexTypes',item.name)"
|
||||
style="cursor: pointer"
|
||||
v-for="item in sexTypeOptions">
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" align="middle" class="query-row" style="height: unset;padding: 10px 0">
|
||||
<el-col class="query-row-title">在职状态:</el-col>
|
||||
<el-col class="query-row-content" style="display: flex;flex-wrap: wrap;gap: 5px">
|
||||
<el-tag
|
||||
style="margin:0;cursor: pointer"
|
||||
v-for="item in userStateOptions"
|
||||
:key="item.code"
|
||||
:type="item.name"
|
||||
:effect="pageForm.userStates.includes(item.name)?'dark':'plain'"
|
||||
@click="tagClick('userStates',item.name)">
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<el-link type="danger"
|
||||
v-if="userStateOptions.length&&pageForm.userStates.length"
|
||||
:underline="false"
|
||||
@click="pageForm.userStates=[];doSearch()">清空
|
||||
</el-link>
|
||||
<el-link :underline="false"
|
||||
@click="pageForm.userStates=userStateOptions.map(p=>p.code);doSearch()"
|
||||
type="success">全部
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" align="middle" class="query-row" style="height: unset;padding: 10px 0">
|
||||
<el-col class="query-row-title">教职工类别:</el-col>
|
||||
<el-col class="query-row-content" style="display: flex;flex-wrap: wrap;gap: 5px">
|
||||
<el-tag
|
||||
style="margin:0;cursor: pointer"
|
||||
v-for="item in personTypeOptions"
|
||||
:key="item.code"
|
||||
:type="item.name"
|
||||
:effect="pageForm.personTypes.includes(item.name)?'dark':'plain'"
|
||||
@click="tagClick('personTypes',item.name)">
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<el-link type="danger"
|
||||
v-if="personTypeOptions.length&&pageForm.personTypes.length"
|
||||
:underline="false"
|
||||
@click="pageForm.personTypes=[];doSearch()">清空
|
||||
</el-link>
|
||||
<el-link :underline="false"
|
||||
@click="pageForm.personTypes=personTypeOptions.map(p=>p.code);doSearch()"
|
||||
type="success">全部
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" align="middle" class="query-row" style="height: unset;padding: 10px 0">
|
||||
<el-col class="query-row-title">聘用方式:</el-col>
|
||||
<el-col class="query-row-content" style="display: flex;flex-wrap: wrap;gap: 5px">
|
||||
<el-tag
|
||||
style="margin:0;cursor: pointer"
|
||||
v-for="item in preparedByOptions"
|
||||
:key="item.code"
|
||||
:type="item.name"
|
||||
:effect="pageForm.preparedBys.includes(item.name)?'dark':'plain'"
|
||||
@click="tagClick('preparedBys',item.name)">
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<el-link type="danger"
|
||||
v-if="preparedByOptions.length&&pageForm.preparedBys.length"
|
||||
:underline="false"
|
||||
@click="pageForm.preparedBys=[];doSearch()">清空
|
||||
</el-link>
|
||||
<el-link :underline="false"
|
||||
@click="pageForm.preparedBys=preparedByOptions.map(p=>p.code);doSearch()"
|
||||
type="success">全部
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row" type="flex" align="middle" style="height: unset;padding: 10px 0">
|
||||
<el-col class="query-row-title">出生日期:</el-col>
|
||||
<el-col class="query-row-content">
|
||||
<el-date-picker
|
||||
v-model="pageForm.startDate"
|
||||
type="date"
|
||||
@change="determineStartDate"
|
||||
placeholder="选择开始日期">
|
||||
<search @search="doSearch">
|
||||
<search-item label="年度">
|
||||
<el-date-picker @change="doSearch"
|
||||
:picker-options="pickerOptions"
|
||||
style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年" :clearable="false">
|
||||
</el-date-picker>
|
||||
</search-item>
|
||||
<search-item label="姓名工号">
|
||||
<el-input placeholder="请输入姓名或者工号" clearable v-model="pageForm.searchKeyword"></el-input>
|
||||
</search-item>
|
||||
<search-item label="所属工会">
|
||||
<el-select placeholder="所属工会"
|
||||
v-model="pageForm.unionId"
|
||||
clearable
|
||||
multiple
|
||||
@change="flushUnits();doSearch()"
|
||||
@clear="flushUnits();doSearch()"
|
||||
filterable>
|
||||
<el-option v-for="item in unions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属工会">
|
||||
<el-select placeholder="所属单位"
|
||||
v-model="pageForm.unitId"
|
||||
clearable
|
||||
multiple
|
||||
filterable>
|
||||
<el-option v-for="item in units"
|
||||
:label="item.name"
|
||||
:key="item.id"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="性别">
|
||||
<el-select v-model="pageForm.sexTypes" clearable multiple placeholder="性别">
|
||||
<el-option label="男" value="男"></el-option>
|
||||
<el-option label="女" value="女"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="人员类型">
|
||||
<dict-select
|
||||
clearable
|
||||
code="USER_PERSON_TYPE"
|
||||
multiple
|
||||
collapse-tags
|
||||
placeholder="请选择人员类型"
|
||||
v-model="pageForm.personTypes"
|
||||
></dict-select>
|
||||
</search-item>
|
||||
<search-item label="聘用方式">
|
||||
<dict-select clearable
|
||||
code="USER_PREPARED_BY_TYPE"
|
||||
multiple
|
||||
collapse-tags
|
||||
placeholder="请选择聘用方式"
|
||||
v-model="pageForm.preparedBys"></dict-select>
|
||||
</search-item>
|
||||
<search-item label="在职状态">
|
||||
<dict-select
|
||||
clearable
|
||||
code="USER_STATE"
|
||||
multiple
|
||||
collapse-tags
|
||||
placeholder="请选择人员状态"
|
||||
v-model="pageForm.userStates"
|
||||
></dict-select>
|
||||
</search-item>
|
||||
<search-item label="出生日期">
|
||||
<el-date-picker
|
||||
v-model="pageForm.endDate"
|
||||
type="date"
|
||||
@change="determineEndDate"
|
||||
placeholder="选择结束日期">
|
||||
v-model="pageForm.startDate"
|
||||
type="date"
|
||||
@change="determineStartDate"
|
||||
style="width: 100%"
|
||||
placeholder="选择开始出生日期">
|
||||
</el-date-picker>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row" type="flex" align="middle">
|
||||
<el-col class="query-row-title">年龄范围:</el-col>
|
||||
<el-col class="query-row-content">
|
||||
<el-row type="flex" style="align-items: center">
|
||||
<el-col :span="15">
|
||||
<el-slider
|
||||
v-model="pageForm.age"
|
||||
range
|
||||
show-stops
|
||||
:max="100">
|
||||
</el-slider>
|
||||
</el-col>
|
||||
<el-col :span="9" class="pl20">
|
||||
当前范围:{{ pageForm.age }}
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" align="middle" class="query-row">
|
||||
<el-col class="query-row-title">模糊查询:</el-col>
|
||||
<el-col class="query-row-content">
|
||||
<member-cnd @cnd="(v)=>pageForm={...pageForm,...v}"></member-cnd>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row" style="justify-content: end">
|
||||
<el-checkbox v-model="pageForm.reverseSelection" label="是否反选" border
|
||||
@change="doSearch"
|
||||
class="reverseCheckBox"></el-checkbox>
|
||||
<el-button type="danger" icon="el-icon-circle-close" @click="doReset">重置
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch">搜索</el-button>
|
||||
</el-row>
|
||||
</search-item>
|
||||
<search-item label="出生日期">
|
||||
<el-date-picker
|
||||
v-model="pageForm.endDate"
|
||||
type="date"
|
||||
@change="determineEndDate"
|
||||
style="width: 100%"
|
||||
placeholder="选择结束出生日期">
|
||||
</el-date-picker>
|
||||
</search-item>
|
||||
<search-item label="年龄区间">
|
||||
<div style="display: flex;align-items: center">
|
||||
<el-slider
|
||||
v-model="pageForm.age"
|
||||
range
|
||||
show-stops
|
||||
:max="100"
|
||||
style="flex: 1;padding: 0 12px"
|
||||
>
|
||||
</el-slider>
|
||||
<div style="width: 70px;flex-shrink: 0;text-align: right">
|
||||
{{ pageForm.age ? pageForm.age.join('-') : '' }}
|
||||
</div>
|
||||
</div>
|
||||
</search-item>
|
||||
</search>
|
||||
|
||||
|
||||
<!-- <el-row type="flex" align="middle" class="query-row">-->
|
||||
<!-- <el-col class="query-row-title">模糊查询:</el-col>-->
|
||||
<!-- <el-col class="query-row-content">-->
|
||||
<!-- <member-cnd @cnd="(v)=>pageForm={...pageForm,...v}"></member-cnd>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
|
||||
<!-- <el-row class="query-row" style="justify-content: end">-->
|
||||
<!-- <el-checkbox v-model="pageForm.reverseSelection" label="是否反选" border-->
|
||||
<!-- @change="doSearch"-->
|
||||
<!-- class="reverseCheckBox"></el-checkbox>-->
|
||||
<!-- <el-button type="danger" icon="el-icon-circle-close" @click="doReset">重置-->
|
||||
<!-- </el-button>-->
|
||||
<!-- <el-button type="primary" icon="el-icon-search" @click="doSearch">搜索</el-button>-->
|
||||
<!-- </el-row>-->
|
||||
</el-card>
|
||||
`,
|
||||
mixins: [initTableMixins],
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="所属年份">
|
||||
<el-date-picker
|
||||
:clearable="false"
|
||||
placeholder="所属年份"
|
||||
style="width: 100%"
|
||||
type="year"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy"
|
||||
@change="getWelfareList"
|
||||
></el-date-picker>
|
||||
</search-item>
|
||||
|
||||
<search-item label="福利项目">
|
||||
<el-select :clearable="false" filterable placeholder="请选择福利项目" style="width: 100%" v-model="pageForm.projectId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in projectSelectOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
|
||||
<search-item label="姓名">
|
||||
<el-input
|
||||
@keyup.enter.native="doSearch"
|
||||
clearable
|
||||
placeholder="请输入姓名"
|
||||
style="width: 100%"
|
||||
v-model="pageForm.userName"
|
||||
></el-input>
|
||||
</search-item>
|
||||
|
||||
<search-item label="工号">
|
||||
<el-input
|
||||
@keyup.enter.native="doSearch"
|
||||
clearable
|
||||
placeholder="请输入工号"
|
||||
style="width: 100%"
|
||||
v-model="pageForm.loginName"
|
||||
></el-input>
|
||||
</search-item>
|
||||
|
||||
<search-item label="所属工会">
|
||||
<el-select clearable filterable placeholder="请选择工会" style="width: 100%" v-model="pageForm.unionId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in unionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
|
||||
<search-item label="所属单位">
|
||||
<el-select clearable filterable multiple collapse-tags placeholder="请选择单位" style="width: 100%" v-model="pageForm.unitIds">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in unitOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<table-tool :app="this" label="选择情况">
|
||||
<el-radio-group v-model="pageForm.isSelect" size="small" @change="doSearch">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="true">已选择</el-radio-button>
|
||||
<el-radio-button :label="false">未选择</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
<el-button type="primary" size="small" icon="el-icon-download" style="margin-left: 10px" @click="exportXlsx">
|
||||
导出选择情况表
|
||||
</el-button>
|
||||
</table-tool>
|
||||
|
||||
<el-table
|
||||
:data="tableData"
|
||||
:size="tableSize"
|
||||
@sort-change="pageOrder"
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
style="width: 100%"
|
||||
v-loading="tableLoading"
|
||||
>
|
||||
<el-table-column :index="indexMethod" label="序号" type="index" width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
:key="column.prop"
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:width="column.width"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
></el-table-column>
|
||||
<el-table-column align="center" fixed="right" header-align="center" label="操作" width="100px"></el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "username",
|
||||
year: new Date().getFullYear().toString(),
|
||||
isSelect: null
|
||||
},
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
projectSelectOptions: [],
|
||||
tableColumns: [
|
||||
{ prop: "loginName", label: "工号" },
|
||||
{ prop: "userName", label: "姓名" },
|
||||
{ prop: "sex", label: "性别", sortable: true, checked: 0 },
|
||||
{ prop: "welfareUnionName", label: "所属工会", sortable: true },
|
||||
{ prop: "welfareUnitName", label: "所属单位", sortable: true },
|
||||
{ prop: "selectedOptions", label: "所选福利", sortable: true },
|
||||
{ prop: "mobile", label: "联系电话", sortable: true }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getWelfareList() {
|
||||
this.$axios.post("/platform/welfare/common/list", { year: this.pageForm.year }).then((res) => {
|
||||
this.projectSelectOptions = res.data
|
||||
if (res.data && res.data.length > 0) {
|
||||
this.$set(this.pageForm, "projectId", res.data[0].id)
|
||||
} else {
|
||||
this.$set(this.pageForm, "projectId", null)
|
||||
}
|
||||
this.doSearch()
|
||||
})
|
||||
},
|
||||
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
this.$axios
|
||||
.post("/platform/welfare/selection/situation/pageData", { pageForm: JSON.stringify(this.pageForm) })
|
||||
.then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.tableLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
exportXlsx() {
|
||||
this.$downLoad("/platform/welfare/selection/situation/exportXlsx", { pageForm: JSON.stringify(this.pageForm) })
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.getWelfareList()
|
||||
this.unionOptions = await this.$businessTool.listUnion()
|
||||
this.unitOptions = await this.$businessTool.listUnit()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -34,14 +34,10 @@ layout("/layouts/platform.html"){
|
||||
<el-card class="mt10" shadow="never" v-loading="tableLoading">
|
||||
<table-tool label="工会列表">
|
||||
<el-button @click="exportByWelfareOptions" icon="el-icon-printer" size="small" type="primary">按福利选项导出</el-button>
|
||||
<template
|
||||
v-if="$auth.hasRoleOr(['SYSADMIN','SCHOOL_UNION_ADMIN',
|
||||
'SCHOOL_UNION_WELFARE_ADMIN'])"
|
||||
>
|
||||
<template v-if="$auth.hasRoleOr(['SYSADMIN','SCHOOL_UNION_ADMIN','SCHOOL_UNION_WELFARE_ADMIN'])">
|
||||
<el-button :disabled="!pageForm.projectId" @click="exportSummary" icon="el-icon-printer" size="small" type="primary">
|
||||
导出分工会/福利套餐汇总表
|
||||
导出汇总表
|
||||
</el-button>
|
||||
<el-button @click="selectOptionByAdmin" icon="el-icon-printer" size="small" type="primary">管理员代选择</el-button>
|
||||
</template>
|
||||
</table-tool>
|
||||
<el-table
|
||||
@@ -141,17 +137,12 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 导出汇总表
|
||||
exportSummary() {
|
||||
this.$downLoad("/platform/welfare/statistics/exportSummary", {
|
||||
projectId: this.pageForm.projectId
|
||||
})
|
||||
},
|
||||
exportSelectData() {
|
||||
this.$downLoad("/platform/welfare/statistics/exportSelectData", {
|
||||
projectId: this.pageForm.projectId,
|
||||
unionId: this.pageForm.unionId
|
||||
})
|
||||
},
|
||||
// 查看已选择的人员
|
||||
openSelected(row) {
|
||||
this.$refs.selectedUserRef.onOpen(this.pageForm.projectId, row)
|
||||
@@ -174,13 +165,7 @@ layout("/layouts/platform.html"){
|
||||
this.tableLoading = true
|
||||
const resp = await this.$axios.post("/platform/welfare/statistics/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableColumns = [
|
||||
{
|
||||
prop: "name",
|
||||
label: "分工会",
|
||||
width: "300"
|
||||
}
|
||||
].concat(resp.data.tableColumn)
|
||||
this.tableColumns = resp.data.tableColumn
|
||||
this.tableData = resp.data.tableList
|
||||
}
|
||||
this.tableLoading = false
|
||||
|
||||
@@ -163,14 +163,9 @@ layout("/layouts/platform.html"){
|
||||
<el-tag type="warning" v-else>暂无</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="快递单号" prop="courierNumber" show-overflow-tooltip v-if="pageFormProjectType===3">
|
||||
<template scope="{row}">
|
||||
<span @click="viewCourierNumber(row)" class="text-primary" style="cursor: pointer">点击查看</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收货地址" prop="receiveAddress" show-overflow-tooltip v-if="pageFormProjectType===3"></el-table-column>
|
||||
<el-table-column align="center" fixed="right" header-align="center" label="操作" width="100px">
|
||||
<el-table-column align="center" fixed="right" header-align="center" label="操作" width="200px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="$refs.updateRemarkRef.onOpen(row)" size="mini" type="primary">备注</el-button>
|
||||
<el-button @click="doDelete(row)" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -194,37 +189,20 @@ layout("/layouts/platform.html"){
|
||||
<add_welfare_list_by_select ref="addWelfareListUser" @search="doSearch"></add_welfare_list_by_select>
|
||||
|
||||
<add-user ref="addUserRef" @refresh="doSearch"></add-user>
|
||||
|
||||
<update-remark ref="updateRemarkRef" @refresh="doSearch"></update-remark>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include("importCourierNumberDialog.js"){}#-->
|
||||
<!--#include("addWelfareListBySelect.js"){}#-->
|
||||
<!--#include("addUser.js"){}#-->
|
||||
<!--#include("updateRemark.js"){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
mixins: [initTableMixins],
|
||||
computed: {
|
||||
pageFormProjectType() {
|
||||
if (this.pageForm.projectId) {
|
||||
const projectInfo = this.projectSelectOptions.find((v) => v.id === this.pageForm.projectId)
|
||||
if (projectInfo) {
|
||||
return projectInfo.provideMode
|
||||
}
|
||||
return null
|
||||
}
|
||||
return null
|
||||
},
|
||||
pageFormSignMode() {
|
||||
if (this.pageForm.projectId) {
|
||||
const projectInfo = this.projectSelectOptions.find((v) => v.id === this.pageForm.projectId)
|
||||
if (projectInfo) {
|
||||
return projectInfo.signMode
|
||||
}
|
||||
return null
|
||||
}
|
||||
return null
|
||||
},
|
||||
pageFormProject() {
|
||||
if (this.pageForm.projectId) {
|
||||
const projectInfo = this.projectSelectOptions.find((v) => v.id === this.pageForm.projectId)
|
||||
@@ -239,7 +217,8 @@ layout("/layouts/platform.html"){
|
||||
components: {
|
||||
add_welfare_list_by_select: ADD_WELFARE_LIST_BY_SELECT,
|
||||
"file-import": httpVueLoader("/components/plugins/sysImport/index.vue?v=" + new Date().getTime()),
|
||||
"add-user": addUser
|
||||
"add-user": addUser,
|
||||
"update-remark": updateRemark
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -260,7 +239,8 @@ layout("/layouts/platform.html"){
|
||||
{ prop: "preparedBy", label: "聘用方式", sortable: true },
|
||||
{ prop: "userState", label: "在职状态", sortable: true },
|
||||
{ prop: "welfareUnionName", label: "所属工会", sortable: true },
|
||||
{ prop: "welfareUnitName", label: "所属单位", sortable: true }
|
||||
{ prop: "welfareUnitName", label: "所属单位", sortable: true },
|
||||
{ prop: "remark", label: "备注", sortable: true }
|
||||
],
|
||||
|
||||
importData: { fileList: [], isfg: 1 },
|
||||
@@ -286,32 +266,6 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
this.importDialog = true
|
||||
},
|
||||
do_search() {
|
||||
this.doSearch()
|
||||
},
|
||||
viewCourierNumber(row) {
|
||||
this.$refs.courierNumberInfo.openView(row.projectId, row.id)
|
||||
},
|
||||
openImportExpressExcel() {
|
||||
this.$refs.importCourierNumber.openImportExpressExcel(this.pageForm.projectId, this.pageFormProject)
|
||||
},
|
||||
doExcelByOptionId() {
|
||||
if (!this.pageForm.optionId) {
|
||||
this.$message.warning("请选择要导出的套餐")
|
||||
return
|
||||
}
|
||||
if (!this.pageForm.projectId) {
|
||||
this.$message.warning("请选择要导出的福利")
|
||||
return
|
||||
}
|
||||
this.$downLoad("/platform/welfare/list/mange/doExcelByOptionId", {
|
||||
projectId: this.pageForm.projectId,
|
||||
optionId: this.pageForm.optionId
|
||||
})
|
||||
},
|
||||
openEditWelfare(row) {
|
||||
this.$refs.editWelfare.openEditWelfare(row, this.projectSelectOptions)
|
||||
},
|
||||
doDelete(row) {
|
||||
this.$confirm("您确定要删除吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
const updateRemark = {
|
||||
template: /*language=HTML*/ `
|
||||
<el-dialog title="修改备注" :visible.sync="visible">
|
||||
<el-form :model="formData" label-width="80px">
|
||||
<el-form-item label="姓名">
|
||||
<el-input :value="formData.username" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="工号">
|
||||
<el-input :value="formData.loginname" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="单位">
|
||||
<el-input :value="formData.welfareUnitName" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分工会">
|
||||
<el-input :value="formData.welfareUnionName" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" placeholder="请填写备注" :maxlength="100" type="textarea" maxlength="100" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onSubmit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
this.visible = true
|
||||
this.formData = { ...row }
|
||||
},
|
||||
onSubmit() {
|
||||
this.$confirm("您确定修改吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$axios
|
||||
.post("/platform/welfare/list/mange/updateRemark", {
|
||||
id: this.formData.id,
|
||||
remark: this.formData.remark
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.$emit("refresh")
|
||||
this.visible = false
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -600,7 +600,7 @@ layout("/layouts/platform_h5.html"){
|
||||
:key="option.id"
|
||||
class="welfare-option"
|
||||
:class="{ selected: projectInfo.isCheckBox === 'radio' ? selectedRadioId === option.id : option.selectNum > 0 }"
|
||||
@click="projectInfo.isCheckBox === 'radio' ? selectRadioOption(option.id) : null"
|
||||
@click="projectInfo.isCheckBox === 'radio' && !isDeadlinePassed ? selectRadioOption(option.id) : null"
|
||||
>
|
||||
<div class="welfare-option-image">
|
||||
<van-image :src="option.imgUrl" fit="cover" width="100%" height="100%" radius="4px"></van-image>
|
||||
@@ -620,7 +620,12 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<!-- 单选模式使用单选按钮 -->
|
||||
<div class="welfare-option-radio" v-if="projectInfo.isCheckBox === 'radio'">
|
||||
<van-radio :name="option.id" v-model="selectedRadioId" @click="selectRadioOption(option.id)"></van-radio>
|
||||
<van-radio
|
||||
:name="option.id"
|
||||
v-model="selectedRadioId"
|
||||
@click.stop="isDeadlinePassed ? $toast.fail('已过选择截止时间,无法修改') : selectRadioOption(option.id)"
|
||||
:disabled="isDeadlinePassed"
|
||||
></van-radio>
|
||||
</div>
|
||||
|
||||
<!-- 多选模式使用步进器 -->
|
||||
@@ -631,7 +636,7 @@ layout("/layouts/platform_h5.html"){
|
||||
disable-input
|
||||
:default-value="0"
|
||||
:min="0"
|
||||
:disabled="false"
|
||||
:disabled="isDeadlinePassed"
|
||||
input-width="40px"
|
||||
button-size="22px"
|
||||
theme="round"
|
||||
@@ -644,10 +649,16 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<!-- 底部提交按钮 -->
|
||||
<div class="welfare-footer" v-if="projectInfo.id">
|
||||
<van-button type="primary" class="welfare-submit-btn" :disabled="!hasSelection" @click="submitSelection" round>确认选择</van-button>
|
||||
<van-button
|
||||
type="primary"
|
||||
class="welfare-submit-btn"
|
||||
:disabled="submitButtonDisabled"
|
||||
@click="submitSelection"
|
||||
round
|
||||
>{{ isDeadlinePassed ? '已截止' : '确认选择' }}</van-button>
|
||||
</div>
|
||||
|
||||
<!-- 确认弹窗 (ActionSheet) -->
|
||||
<!-- 确认弹窗 -->
|
||||
<van-action-sheet v-model="showConfirmDialog" :close-on-click-overlay="false">
|
||||
<div class="confirm-action-sheet">
|
||||
<div class="confirm-sheet-title">确认选择</div>
|
||||
@@ -682,7 +693,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</div>
|
||||
|
||||
<!-- 提示信息 -->
|
||||
<div class="confirm-section" v-if="deadlineText || hasSubmittedBefore">
|
||||
<div class="confirm-section" v-if="deadlineText || hasSubmittedBefore || isDeadlinePassed">
|
||||
<div class="confirm-section-title">注意事项</div>
|
||||
|
||||
<div class="confirm-notice-item" v-if="hasSubmittedBefore">
|
||||
@@ -690,10 +701,15 @@ layout("/layouts/platform_h5.html"){
|
||||
<span>{{ confirmMessage }}</span>
|
||||
</div>
|
||||
|
||||
<div class="confirm-notice-item deadline" v-if="deadlineText">
|
||||
<div class="confirm-notice-item deadline" v-if="deadlineText && !isDeadlinePassed">
|
||||
<van-icon name="clock-o" />
|
||||
<span>{{ deadlineText }}</span>
|
||||
</div>
|
||||
|
||||
<div class="confirm-notice-item" style="color: var(--danger-color)" v-if="isDeadlinePassed">
|
||||
<van-icon name="warning-o" />
|
||||
<span>选择截止时间已过,无法修改</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="action-sheet-buttons">
|
||||
@@ -746,6 +762,17 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
},
|
||||
|
||||
isDeadlinePassed() {
|
||||
if (!this.projectInfo.choiceTimeEnd) return false
|
||||
const now = new Date()
|
||||
const deadline = new Date(this.projectInfo.choiceTimeEnd)
|
||||
return now > deadline
|
||||
},
|
||||
|
||||
submitButtonDisabled() {
|
||||
return !this.hasSelection || this.isDeadlinePassed
|
||||
},
|
||||
|
||||
selectedOptions() {
|
||||
if (this.projectInfo.isCheckBox === "radio") {
|
||||
if (!this.selectedRadioId || !this.projectInfo.options) return []
|
||||
@@ -863,6 +890,15 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
// 执行提交
|
||||
doSubmit() {
|
||||
// 再次检查截止时间
|
||||
const now = new Date()
|
||||
const deadline = new Date(this.projectInfo.choiceTimeEnd)
|
||||
if (now > deadline) {
|
||||
this.$toast.fail("已过选择截止时间,无法修改")
|
||||
this.showConfirmDialog = false
|
||||
return
|
||||
}
|
||||
|
||||
// 验证手机号
|
||||
if (!this.validateMobile()) {
|
||||
return
|
||||
@@ -978,6 +1014,14 @@ layout("/layouts/platform_h5.html"){
|
||||
return
|
||||
}
|
||||
|
||||
// 检查是否已过截止时间
|
||||
const now = new Date()
|
||||
const deadline = new Date(this.projectInfo.choiceTimeEnd)
|
||||
if (now > deadline) {
|
||||
this.$toast.fail("已过选择截止时间,无法修改")
|
||||
return
|
||||
}
|
||||
|
||||
this.showConfirmDialog = true
|
||||
},
|
||||
|
||||
@@ -987,6 +1031,10 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
// 单选选项选择
|
||||
selectRadioOption(optionId) {
|
||||
if (this.isDeadlinePassed) {
|
||||
this.$toast.fail("已过选择截止时间,无法修改")
|
||||
return
|
||||
}
|
||||
this.selectedRadioId = optionId
|
||||
|
||||
// 重置所有选项的selectNum
|
||||
@@ -1055,6 +1103,7 @@ layout("/layouts/platform_h5.html"){
|
||||
deep: true,
|
||||
handler(options) {
|
||||
if (!options) return
|
||||
if (this.isDeadlinePassed) return // 如果已过期,不处理数量变化
|
||||
|
||||
const maxSelect = this.projectInfo.multiSelectNum || options.length
|
||||
const totalCount = options.reduce((sum, option) => sum + (option.selectNum || 0), 0)
|
||||
|
||||
Reference in New Issue
Block a user