This commit is contained in:
2026-06-05 10:59:52 +08:00
parent d66e811b5a
commit bb32d92557
@@ -43,12 +43,12 @@ layout("/layouts/platform.html"){
<div class="search-item-label">年度:</div> <div class="search-item-label">年度:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-date-picker <el-date-picker
:clearable="true" :clearable="true"
@change="yearChange" @change="yearChange"
placeholder="选择年" placeholder="选择年"
type="year" type="year"
v-model="pageForm.year" v-model="pageForm.year"
value-format="yyyy" value-format="yyyy"
></el-date-picker> ></el-date-picker>
</div> </div>
</div> </div>
@@ -57,7 +57,8 @@ layout("/layouts/platform.html"){
<div class="search-item-label">福利项目:</div> <div class="search-item-label">福利项目:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select @change="doSearch()" v-model="pageForm.projectId"> <el-select @change="doSearch()" v-model="pageForm.projectId">
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in projectSelectOptions"></el-option> <el-option :key="item.value" :label="item.label" :value="item.value"
v-for="item in projectSelectOptions"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@@ -79,11 +80,11 @@ layout("/layouts/platform.html"){
<div class="search-item-label">职工信息:</div> <div class="search-item-label">职工信息:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-input <el-input
@keyup.enter.native="doSearch" @keyup.enter.native="doSearch"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
style="width: 100%" style="width: 100%"
v-model="pageForm.searchKeyword" v-model="pageForm.searchKeyword"
> >
<el-select slot="prepend" style="width: 80px" v-model="pageForm.searchName"> <el-select slot="prepend" style="width: 80px" v-model="pageForm.searchName">
<el-option label="姓名" value="username"></el-option> <el-option label="姓名" value="username"></el-option>
@@ -96,18 +97,18 @@ layout("/layouts/platform.html"){
<div class="search-item-label">{{welfare.welfareUnitModeName}}:</div> <div class="search-item-label">{{welfare.welfareUnitModeName}}:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select <el-select
@change="changeWelfareUnit" @change="changeWelfareUnit"
clearable clearable
filterable filterable
placeholder="请选择" placeholder="请选择"
style="width: 100%" style="width: 100%"
v-model="pageForm.welfareUnit" v-model="pageForm.welfareUnit"
> >
<el-option <el-option
:key="item.welfareUnitId" :key="item.welfareUnitId"
:label="item.welfareUnitName" :label="item.welfareUnitName"
:value="item.welfareUnitId" :value="item.welfareUnitId"
v-for="item in welfareUnits" v-for="item in welfareUnits"
></el-option> ></el-option>
</el-select> </el-select>
</div> </div>
@@ -117,15 +118,16 @@ layout("/layouts/platform.html"){
<div class="search-item-label">组成单位:</div> <div class="search-item-label">组成单位:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select <el-select
@change="getThreeUnits();doSearch()" @change="getThreeUnits();doSearch()"
clearable clearable
filterable filterable
multiple multiple
placeholder="请选择" placeholder="请选择"
style="width: 100%" style="width: 100%"
v-model="pageForm.units" v-model="pageForm.units"
> >
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in units"></el-option> <el-option :key="item.id" :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@@ -135,14 +137,15 @@ layout("/layouts/platform.html"){
<div class="search-item-label">工会小组:</div> <div class="search-item-label">工会小组:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select <el-select
@change="getThreeUnits" @change="getThreeUnits"
clearable clearable
filterable filterable
placeholder="请选择" placeholder="请选择"
style="width: 100%" style="width: 100%"
v-model="pageForm.unionGroupId" v-model="pageForm.unionGroupId"
> >
<el-option :key="item.id" :label="item.groupName" :value="item.id" v-for="item in unionGroups"></el-option> <el-option :key="item.id" :label="item.groupName" :value="item.id"
v-for="item in unionGroups"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@@ -150,8 +153,10 @@ layout("/layouts/platform.html"){
<div class="search-item"> <div class="search-item">
<div class="search-item-label">组成科室:</div> <div class="search-item-label">组成科室:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select clearable filterable placeholder="请选择" style="width: 100%" v-model="pageForm.threeUnitId"> <el-select clearable filterable placeholder="请选择" style="width: 100%"
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in threeUnits"></el-option> v-model="pageForm.threeUnitId">
<el-option :key="item.id" :label="item.name" :value="item.id"
v-for="item in threeUnits"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@@ -170,13 +175,13 @@ layout("/layouts/platform.html"){
<div class="search-item-label">人员类型:</div> <div class="search-item-label">人员类型:</div>
<div class="search-item-option"> <div class="search-item-option">
<dict-select <dict-select
@change="doSearch" @change="doSearch"
clearable clearable
code="UserType" code="UserType"
multiple multiple
placeholder="人员类型" placeholder="人员类型"
style="width: 100%" style="width: 100%"
v-model="pageForm.personTypes" v-model="pageForm.personTypes"
></dict-select> ></dict-select>
</div> </div>
</div> </div>
@@ -184,21 +189,23 @@ layout("/layouts/platform.html"){
<div class="search-item-label">在职状态:</div> <div class="search-item-label">在职状态:</div>
<div class="search-item-option"> <div class="search-item-option">
<dict-select <dict-select
@change="doSearch" @change="doSearch"
clearable clearable
code="userState" code="userState"
multiple multiple
placeholder="在职状态" placeholder="在职状态"
style="width: 100%" style="width: 100%"
v-model="pageForm.userStates" v-model="pageForm.userStates"
></dict-select> ></dict-select>
</div> </div>
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="search-item-label">所选福利:</div> <div class="search-item-label">所选福利:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-select clearable placeholder="请选择所选福利" style="width: 100%" v-model="pageForm.optionId"> <el-select clearable placeholder="请选择所选福利" style="width: 100%"
<el-option :label="item.optionName" :value="item.id" v-for="item in welfareOptions"></el-option> v-model="pageForm.optionId">
<el-option :label="item.optionName" :value="item.id"
v-for="item in welfareOptions"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@@ -206,7 +213,8 @@ layout("/layouts/platform.html"){
<div class="search-item"> <div class="search-item">
<div class="search-item-label">快递单号:</div> <div class="search-item-label">快递单号:</div>
<div class="search-item-option"> <div class="search-item-option">
<el-input clearable placeholder="请输入快递单号" v-model="pageForm.courierNumber"></el-input> <el-input clearable placeholder="请输入快递单号"
v-model="pageForm.courierNumber"></el-input>
</div> </div>
</div> </div>
</template> </template>
@@ -226,13 +234,15 @@ layout("/layouts/platform.html"){
<el-radio-button :label="2">未选择</el-radio-button> <el-radio-button :label="2">未选择</el-radio-button>
</el-radio-group> </el-radio-group>
<el-button @click="openAddWelfareList" v-if="${@shiro.hasRole('sysadmin')}" size="small" type="primary">添加人员</el-button> <el-button @click="openAddWelfareList" v-if="${@shiro.hasRole('sysadmin')}" size="small"
type="primary">添加人员
</el-button>
<el-button <el-button
:disabled="!pageForm.projectId" :disabled="!pageForm.projectId"
@click="doExportWelfareReceive(pageForm.projectId,pageForm.welfareUnit,pageForm.units,pageForm.personTypes,pageForm.userStates)" @click="doExportWelfareReceive(pageForm.projectId,pageForm.welfareUnit,pageForm.units,pageForm.personTypes,pageForm.userStates)"
size="small" size="small"
type="primary" type="primary"
> >
导出名单 导出名单
</el-button> </el-button>
@@ -250,51 +260,51 @@ layout("/layouts/platform.html"){
批量领取 批量领取
</el-button>--> </el-button>-->
<el-button <el-button
v-if="pageFormProjectType==3" v-if="pageFormProjectType==3"
@click="doExcelByOptionId" @click="doExcelByOptionId"
icon="el-icon-printer" icon="el-icon-printer"
size="small" size="small"
type="primary" type="primary"
v-if="judgmentAuthority" v-if="judgmentAuthority"
> >
导出报销表 导出报销表
</el-button> </el-button>
<!-- :disabled="pageFormProjectType!==3" --> <!-- :disabled="pageFormProjectType!==3" -->
<el-button <el-button
v-if="pageFormProjectType==3" v-if="pageFormProjectType==3"
@click="openImportExpressExcel" @click="openImportExpressExcel"
icon="el-icon-printer" icon="el-icon-printer"
size="small" size="small"
type="primary" type="primary"
v-if="judgmentAuthority" v-if="judgmentAuthority"
> >
导入快递单号 导入快递单号
</el-button> </el-button>
<el-button <el-button
:disabled="!pageForm.projectId" :disabled="!pageForm.projectId"
@click="doOneKeyReceive(pageForm.projectId)" @click="doOneKeyReceive(pageForm.projectId)"
icon="el-icon-download" icon="el-icon-download"
size="small" size="small"
type="primary" type="primary"
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('H05')}&&pageFormProjectType===1" v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('H05')}&&pageFormProjectType===1"
> >
一键全部领取 一键全部领取
</el-button> </el-button>
<el-button <el-button
:disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()" :disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()"
type="primary" type="primary"
size="small" size="small"
@click="doAudit(true)" @click="doAudit(true)"
> >
提交核对 提交核对
</el-button> </el-button>
<!-- 取消确认 --> <!-- 取消确认 -->
<el-button <el-button
:disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()" :disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()"
type="danger" type="danger"
size="small" size="small"
@click="doAudit(false)" @click="doAudit(false)"
> >
取消核对 取消核对
</el-button> </el-button>
@@ -321,54 +331,56 @@ layout("/layouts/platform.html"){
</table-tool> </table-tool>
<el-table <el-table
:data="tableData" :data="tableData"
:size="tableSize" :size="tableSize"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@sort-change="pageOrder" @sort-change="pageOrder"
class="vi-table" class="vi-table"
ref="table" ref="table"
row-key="id" row-key="id"
style="width: 100%" style="width: 100%"
v-loading="tableLoading" v-loading="tableLoading"
> >
<el-table-column <el-table-column
:reserve-selection="true" :reserve-selection="true"
:selectable="(row)=>{return !row.isReceive}" :selectable="(row)=>{return !row.isReceive}"
type="selection" type="selection"
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('H05')}" v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('H05')}"
width="55px" width="55px"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
:index="indexMethod" :index="indexMethod"
align="center" align="center"
header-align="center" header-align="center"
label="序号" label="序号"
type="index" type="index"
width="80px" width="80px"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
:key="column.prop" :key="column.prop"
:label="column.label" :label="column.label"
:prop="column.prop" :prop="column.prop"
:sortable="column.sortable" :sortable="column.sortable"
:width="column.width" :width="column.width"
align="center" align="center"
header-align="center" header-align="center"
show-overflow-tooltip show-overflow-tooltip
v-for="column in tableColumns" v-for="column in tableColumns"
> >
<template scope="{row}" v-if="column.prop=='isChoose'"> <template scope="{row}" v-if="column.prop=='isChoose'">
<span class="text-primary" v-if="row.isChoose">已选择</span> <span class="text-primary" v-if="row.isChoose">已选择</span>
<span class="text-danger" v-else>未选择</span> <span class="text-danger" v-else>未选择</span>
</template> </template>
<template scope="{row}" v-else-if="column.prop=='gist_list'">{{row.gist_list?row.gist_list:'暂无'}}</template> <template scope="{row}" v-else-if="column.prop=='gist_list'">
{{row.gist_list?row.gist_list:'暂无'}}
</template>
<template scope="{row}" v-else-if="column.prop=='userSign'"> <template scope="{row}" v-else-if="column.prop=='userSign'">
<el-image <el-image
:src="'/signature/getSignData?path=' +row.userSign" :src="'/signature/getSignData?path=' +row.userSign"
fit="cover" fit="cover"
style="height: 60px" style="height: 60px"
v-if="row.userSign" v-if="row.userSign"
></el-image> ></el-image>
<el-tag type="warning" v-else>暂无</el-tag> <el-tag type="warning" v-else>暂无</el-tag>
</template> </template>
@@ -377,12 +389,15 @@ layout("/layouts/platform.html"){
<el-tag type="info" v-else>未核对</el-tag> <el-tag type="info" v-else>未核对</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="快递单号" prop="courierNumber" show-overflow-tooltip v-if="pageFormProjectType===3"> <el-table-column label="快递单号" prop="courierNumber" show-overflow-tooltip
v-if="pageFormProjectType===3">
<template scope="{row}"> <template scope="{row}">
<span @click="viewCourierNumber(row)" class="text-primary" style="cursor: pointer">点击查看</span> <span @click="viewCourierNumber(row)" class="text-primary"
style="cursor: pointer">点击查看</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="收货地址" prop="receiveAddress" show-overflow-tooltip v-if="pageFormProjectType===3"></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="200px"> <el-table-column align="center" fixed="right" header-align="center" label="操作" width="200px">
<template scope="{row}"> <template scope="{row}">
<!-- <el-button @click="doReceive(row)" plain size="mini" type="primary"--> <!-- <el-button @click="doReceive(row)" plain size="mini" type="primary"-->
@@ -390,14 +405,15 @@ layout("/layouts/platform.html"){
<!-- 领取--> <!-- 领取-->
<!-- </el-button>--> <!-- </el-button>-->
<el-button <el-button
@click="openEditWelfare(row)" @click="openEditWelfare(row)"
size="mini" size="mini"
type="primary" type="primary"
:disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()" :disabled="moment(projectInfo.checkEndTime).valueOf()<moment().valueOf()"
> >
编辑 编辑
</el-button> </el-button>
<el-button @click="doDelete(row)" size="mini" type="danger" v-if="judgmentAuthority">删除</el-button> <el-button @click="doDelete(row)" size="mini" type="danger" v-if="judgmentAuthority">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -432,26 +448,26 @@ layout("/layouts/platform.html"){
</el-col> </el-col>
<el-col span="8"> <el-col span="8">
<el-input-number <el-input-number
:max="item.maxNum" :max="item.maxNum"
:min="0" :min="0"
@change="numChange(item.selectNum,item,oidx)" @change="numChange(item.selectNum,item,oidx)"
style="width: 50%" style="width: 50%"
v-model="item.selectNum" v-model="item.selectNum"
></el-input-number> ></el-input-number>
</el-col> </el-col>
<el-col :span="12" class="mt10" v-if="item.shoppingId"> <el-col :span="12" class="mt10" v-if="item.shoppingId">
<el-select <el-select
@change="receiveAddressChange(item.receiveAddress,oidx)" @change="receiveAddressChange(item.receiveAddress,oidx)"
filterable filterable
placeholder="请选择门店地址" placeholder="请选择门店地址"
style="width: 100%" style="width: 100%"
v-model="item.receiveAddress" v-model="item.receiveAddress"
> >
<el-option <el-option
:key="index" :key="index"
:label="data.address" :label="data.address"
:value="data.address" :value="data.address"
v-for="(data,index) in item.offlineStores" v-for="(data,index) in item.offlineStores"
></el-option> ></el-option>
</el-select> </el-select>
</el-col> </el-col>
@@ -460,12 +476,13 @@ layout("/layouts/platform.html"){
<el-form-item label="选择地址" style="color: red" v-if="ifReceiveAddress"> <el-form-item label="选择地址" style="color: red" v-if="ifReceiveAddress">
<div style="display: flex; justify-content: space-between; column-gap: 20px"> <div style="display: flex; justify-content: space-between; column-gap: 20px">
<div style="width: calc(100% - 126px)"> <div style="width: calc(100% - 126px)">
<el-select @change="addressChange" filterable placeholder="请选择收货地址" style="width: 100%" v-model="formData.addressId"> <el-select @change="addressChange" filterable placeholder="请选择收货地址" style="width: 100%"
v-model="formData.addressId">
<el-option <el-option
:key="item.id" :key="item.id"
:label="item.name+' '+item.defaultName" :label="item.name+' '+item.defaultName"
:value="item.id" :value="item.id"
v-for="item in addressOptions" v-for="item in addressOptions"
></el-option> ></el-option>
</el-select> </el-select>
</div> </div>
@@ -477,12 +494,13 @@ layout("/layouts/platform.html"){
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:rules="[{required:true,message:'选择收货地址后自动读取',trigger:['change','blur']}]" :rules="[{required:true,message:'选择收货地址后自动读取',trigger:['change','blur']}]"
label="收货地址" label="收货地址"
prop="receiveAddress" prop="receiveAddress"
v-if="ifReceiveAddress" v-if="ifReceiveAddress"
> >
<el-input :rows="2" disabled placeholder="选择收货地址后自动读取" type="textarea" v-model="editWelfareData.receiveAddress"></el-input> <el-input :rows="2" disabled placeholder="选择收货地址后自动读取" type="textarea"
v-model="editWelfareData.receiveAddress"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row justify="end" type="flex"> <el-row justify="end" type="flex">
@@ -494,9 +512,11 @@ layout("/layouts/platform.html"){
<!--导入快递单号--> <!--导入快递单号-->
<el-dialog :visible.sync="importExpressExcelDialog" title="导入快递单号" width="65%"> <el-dialog :visible.sync="importExpressExcelDialog" title="导入快递单号" width="65%">
<el-timeline> <el-timeline>
<el-timeline-item placement="top" timestamp="下载选择数据(提供给各供货商),如已下载可直接进行下一步选择导入。"> <el-timeline-item placement="top"
timestamp="下载选择数据(提供给各供货商),如已下载可直接进行下一步选择导入。">
<el-card shadow="never"> <el-card shadow="never">
<el-button @click="exportSelectData" icon="el-icon-download" size="medium" type="">下载选择数据</el-button> <el-button @click="exportSelectData" icon="el-icon-download" size="medium" type="">下载选择数据
</el-button>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item placement="top" timestamp="选择套餐供货商"> <el-timeline-item placement="top" timestamp="选择套餐供货商">
@@ -506,17 +526,17 @@ layout("/layouts/platform.html"){
</el-timeline-item> </el-timeline-item>
<el-timeline-item placement="top" timestamp="导入供货商发货快递单号"> <el-timeline-item placement="top" timestamp="导入供货商发货快递单号">
<el-upload <el-upload
:action="loc()+'/importCourierNumber'" :action="loc()+'/importCourierNumber'"
:auto-upload="false" :auto-upload="false"
:data="{ :data="{
projectId:pageForm.projectId, projectId:pageForm.projectId,
optionId:importWelfareOptionId optionId:importWelfareOptionId
}" }"
:file-list="importExpressExcelFile" :file-list="importExpressExcelFile"
:limit="1" :limit="1"
:on-success="expressExcelHandleSuccess" :on-success="expressExcelHandleSuccess"
drag drag
ref="expressExcelUpload" ref="expressExcelUpload"
> >
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
@@ -538,38 +558,43 @@ layout("/layouts/platform.html"){
<el-form :model="formData" label-position="right" label-suffix=":" label-width="120px" ref="addForm"> <el-form :model="formData" label-position="right" label-suffix=":" label-width="120px" ref="addForm">
<el-row :gutter="60"> <el-row :gutter="60">
<el-col :span="24"> <el-col :span="24">
<el-form-item :rules="{required:true,message: '请选择地址信息', trigger: 'blur'}" label="地址信息" prop="addressList"> <el-form-item :rules="{required:true,message: '请选择地址信息', trigger: 'blur'}" label="地址信息"
prop="addressList">
<el-cascader <el-cascader
:options="dzOptions" :options="dzOptions"
:props="{ expandTrigger: 'hover' }" :props="{ expandTrigger: 'hover' }"
@change="handleChange" @change="handleChange"
clearable clearable
placeholder="请选择地址信息" placeholder="请选择地址信息"
style="width: 100%" style="width: 100%"
v-model="formData.addressList" v-model="formData.addressList"
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :rules="{required:true,message: '请填写您的详细地址', trigger: 'blur'}" label="详细地址" prop="addressDetail"> <el-form-item :rules="{required:true,message: '请填写您的详细地址', trigger: 'blur'}"
label="详细地址" prop="addressDetail">
<el-input <el-input
maxlength="100" maxlength="100"
placeholder="请输入详细地址信息,如道路、门牌号、小区、楼栋号、单元等信息" placeholder="请输入详细地址信息,如道路、门牌号、小区、楼栋号、单元等信息"
rows="3" rows="3"
show-word-limit show-word-limit
type="textarea" type="textarea"
v-model="formData.addressDetail" v-model="formData.addressDetail"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :rules="{required:true,message: '请填写收货人姓名', trigger: 'blur'}" label="收货人姓名" prop="userName"> <el-form-item :rules="{required:true,message: '请填写收货人姓名', trigger: 'blur'}"
label="收货人姓名" prop="userName">
<el-input maxlength="11" placeholder="请填写收货人姓名" v-model="formData.userName"></el-input> <el-input maxlength="11" placeholder="请填写收货人姓名" v-model="formData.userName"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :rules="{required:true,message: '请填写手机号码', trigger: 'blur'}" label="手机号码" prop="tel"> <el-form-item :rules="{required:true,message: '请填写手机号码', trigger: 'blur'}" label="手机号码"
<el-input maxlength="11" placeholder="请填写手机号码" type="tel" v-model="formData.tel"></el-input> prop="tel">
<el-input maxlength="11" placeholder="请填写手机号码" type="tel"
v-model="formData.tel"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -591,23 +616,23 @@ layout("/layouts/platform.html"){
</el-form-item> </el-form-item>
<el-form-item label="添加人员"> <el-form-item label="添加人员">
<el-select <el-select
v-model="addWelfareListData.userIds" v-model="addWelfareListData.userIds"
value-key="id" value-key="id"
filterable filterable
remote remote
style="width: 100%" style="width: 100%"
multiple multiple
reserve-keyword reserve-keyword
@change="$refs.userSelect.$children[1].clear()" @change="$refs.userSelect.$children[1].clear()"
ref="userSelect" ref="userSelect"
placeholder="请输入工号或者姓名查询" placeholder="请输入工号或者姓名查询"
:remote-method="queryNotWelfareListUsers" :remote-method="queryNotWelfareListUsers"
> >
<el-option <el-option
v-for="item in notWelfareListUsers" v-for="item in notWelfareListUsers"
:key="item.id" :key="item.id"
:label="item.username+'-'+item.loginname+'-'+item.unitname" :label="item.username+'-'+item.loginname+'-'+item.unitname"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -694,12 +719,12 @@ layout("/layouts/platform.html"){
isChoose: 0 isChoose: 0
}, },
tableColumns: commonColumns.concat([ tableColumns: commonColumns.concat([
{ prop: "isChoose", label: "是否选择", width: "100px", sortable: true }, {prop: "isChoose", label: "是否选择", width: "100px", sortable: true},
{ prop: "gist_list", label: "所选福利"}, {prop: "gist_list", label: "所选福利"},
// { prop: "receiveAddress", label: "取货门店"}, // { prop: "receiveAddress", label: "取货门店"},
{ prop: "userSign", label: "签字", width: "100px", checked: 0 }, {prop: "userSign", label: "签字", width: "100px", checked: 0},
{ prop: "isAudit", label: "是否核对" }, {prop: "isAudit", label: "是否核对"},
{ prop: "auditTime", label: "核对时间", checked: 0 } {prop: "auditTime", label: "核对时间", checked: 0}
]), ]),
formRules: {}, formRules: {},
welfare, welfare,
@@ -808,7 +833,7 @@ layout("/layouts/platform.html"){
return return
} }
const msg = flag ? "您确定名单都已核实,准确无误,提交后无法撤回,是否确认提交?" : "您是否要取消核对名单?" const msg = flag ? "您确定名单都已核实,准确无误,提交后无法撤回,是否确认提交?" : "您是否要取消核对名单?"
const confirm = await this.$confirm(msg , "提示", { const confirm = await this.$confirm(msg, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
@@ -923,7 +948,7 @@ layout("/layouts/platform.html"){
if (this.$refs["addForm"]) this.$refs["addForm"].resetFields() if (this.$refs["addForm"]) this.$refs["addForm"].resetFields()
}, },
async selectUserAddress() { async selectUserAddress() {
const resp = await $.get("/platform/welfare/addressManage/selectUserAddress", { userId: this.editWelfareData.userId }) const resp = await $.get("/platform/welfare/addressManage/selectUserAddress", {userId: this.editWelfareData.userId})
resp.data.map((r) => { resp.data.map((r) => {
let defaultName = r.isDefault ? "默认地址" : "" let defaultName = r.isDefault ? "默认地址" : ""
r.defaultName = defaultName r.defaultName = defaultName
@@ -975,7 +1000,7 @@ layout("/layouts/platform.html"){
}) })
}, },
handlePlusButtonClick(value, option, optionIndex) { handlePlusButtonClick(value, option, optionIndex) {
const { isCheckBox, multiSelectNum, singleOptionSupportMultipleSelection } = this.projectInfo const {isCheckBox, multiSelectNum, singleOptionSupportMultipleSelection} = this.projectInfo
if (isCheckBox === "checkBox") { if (isCheckBox === "checkBox") {
//判断是否支持单个多选 //判断是否支持单个多选
if (!singleOptionSupportMultipleSelection && value > 1) { if (!singleOptionSupportMultipleSelection && value > 1) {
@@ -994,7 +1019,8 @@ layout("/layouts/platform.html"){
} }
}, },
async openEditWelfare(row) { async openEditWelfare(row) {
await this.getUserSelection(row.id) const rowData = clone(row)
await this.getUserSelection(rowData.id)
this.welfareOptions.forEach((option) => { this.welfareOptions.forEach((option) => {
if (option.shoppingId) { if (option.shoppingId) {
const shopping = this.shoppingTypeOptions.find((s) => s.id === option.shoppingId) const shopping = this.shoppingTypeOptions.find((s) => s.id === option.shoppingId)
@@ -1009,17 +1035,18 @@ layout("/layouts/platform.html"){
}) })
this.exportWelfareListDialog = true this.exportWelfareListDialog = true
const data = await searchUser(row.loginname, null, null, null, null) const data = await searchUser(rowData.loginname, null, null, null, null)
this.editWelfareData = { this.editWelfareData = {
mobile: data.length !== 0 ? data[0].mobile : "", mobile: data.length !== 0 ? data[0].mobile : "",
username: row.username, username: rowData.username,
loginname: row.loginname, loginname: rowData.loginname,
receiveAddress: row.receiveAddress, receiveAddress: rowData.receiveAddress,
projectId: this.pageForm.projectId, projectId: this.pageForm.projectId,
userId: row.id userId: rowData.id
} }
this.$set(this.formData, "addressId", null)
const { v } = this.projectSelectOptions.find((p) => p.value === this.pageForm.projectId) const {v} = this.projectSelectOptions.find((p) => p.value === this.pageForm.projectId)
this.projectInfo = v this.projectInfo = v
await this.selectUserAddress() await this.selectUserAddress()
this.optionIdsChange() this.optionIdsChange()
@@ -1150,7 +1177,7 @@ layout("/layouts/platform.html"){
doExportWelfare, doExportWelfare,
doExportWelfareReceive, doExportWelfareReceive,
async doEditWelfareUnit(row) { async doEditWelfareUnit(row) {
const { listId, modifiedWelfareUnitId } = row const {listId, modifiedWelfareUnitId} = row
this.$set(row, "editWelfareUnitLoading", true) this.$set(row, "editWelfareUnitLoading", true)
const resp = await $.post(loc() + "/editWelfareUnit", { const resp = await $.post(loc() + "/editWelfareUnit", {
listId, listId,
@@ -1200,7 +1227,7 @@ layout("/layouts/platform.html"){
callback: async (a, b) => { callback: async (a, b) => {
if ("confirm" == a) { if ("confirm" == a) {
//确认后再执行 //确认后再执行
const resp = await $.post(loc() + "/delete", { id: JSON.stringify([row.listId]) }) const resp = await $.post(loc() + "/delete", {id: JSON.stringify([row.listId])})
if (resp.code === 0) { if (resp.code === 0) {
this.pageData() this.pageData()
} else { } else {
@@ -1211,7 +1238,7 @@ layout("/layouts/platform.html"){
}) })
}, },
dropdownCommand(command) { dropdownCommand(command) {
const { type, data } = command const {type, data} = command
if (type == "view") { if (type == "view") {
this.openView(data) this.openView(data)
} else if (type == "edit") { } else if (type == "edit") {
@@ -1223,11 +1250,11 @@ layout("/layouts/platform.html"){
this.$set(data, "editWelfareUnit", true) this.$set(data, "editWelfareUnit", true)
} }
}, },
openEdit({ id }) { openEdit({id}) {
this.userId = id this.userId = id
this.$refs.guava.edit() this.$refs.guava.edit()
}, },
openView({ id }) { openView({id}) {
this.userId = id this.userId = id
this.$refs.guava.view() this.$refs.guava.view()
}, },
@@ -1258,7 +1285,7 @@ layout("/layouts/platform.html"){
this.userSelection = resp.data this.userSelection = resp.data
}, },
async getWelfareOptions() { async getWelfareOptions() {
const resp = await $.post(loc() + "/welfareOptions", { projectId: this.pageForm.projectId }) const resp = await $.post(loc() + "/welfareOptions", {projectId: this.pageForm.projectId})
resp.data.map((v) => { resp.data.map((v) => {
const selection = this.userSelection.find((u) => u.selectOptionId === v.id) const selection = this.userSelection.find((u) => u.selectOptionId === v.id)
if (selection && selection.selectNum) { if (selection && selection.selectNum) {