<template>
|
<div class="box-content">
|
<div class="fl-fw mr-t-15 mr-b-10">
|
<div class="fl-coc fw-bold fz-9 mr-r-30">
|
<span>待处理</span>
|
<span class="mr-t-10">{{ staticData.pending || "0" }}</span>
|
</div>
|
<div class="fl-coc fw-bold fz-9 mr-r-30">
|
<span>待领取</span>
|
<span class="mr-t-10">{{ staticData.unclaimed || "0" }}</span>
|
</div>
|
<div class="fl-coc fw-bold fz-9 mr-r-30">
|
<span>已领取</span>
|
<span class="mr-t-10">{{ staticData.received || "0" }}</span>
|
</div>
|
<div class="fl-coc fw-bold fz-9 mr-r-30">
|
<span>已取消</span>
|
<span class="mr-t-10">{{ staticData.cancelled || "0" }}</span>
|
</div>
|
<div class="fl-coc fw-bold fz-9 mr-r-30">
|
<span>已驳回</span>
|
<span class="mr-t-10">{{ staticData.rejected || "0" }}</span>
|
</div>
|
</div>
|
<v-header :title="null" search :bar="bar" @on-search="onSearch"></v-header>
|
<div class="add fl-al">
|
<el-button size="small" @click.stop="clickHandle('export')"
|
>导出</el-button
|
>
|
</div>
|
<div class="tab">
|
<el-table :data="tableList" :border="true" size="mini">
|
<el-table-column label="序号" align="center" width="50" type="index">
|
</el-table-column>
|
<el-table-column label="申领人" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.applyName || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="联系电话" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.applyPhone || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="申领物品" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.item || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="领用物品捐赠人" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.donateName || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="捐赠人电话" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.donatePhone || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="物品图片" align="center">
|
<template slot-scope="scope">
|
<div class="fl-cen" v-if="scope.row.image">
|
<el-image
|
style="width: 30px; height: 30px"
|
:src="scope.row.image"
|
:preview-src-list="[scope.row.image]"
|
fit="cover"
|
></el-image>
|
</div>
|
<el-image
|
v-else
|
style="width: 30px; height: 30px"
|
src="/static/image/default-img.png"
|
></el-image>
|
</template>
|
</el-table-column>
|
<el-table-column label="申领数量" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.goodsNum || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="预约领用时间" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.reserveTime || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="实际领用时间" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.actualTime || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="主要困难" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.reason || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="申领流水" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.id || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="领用图片" align="center">
|
<template slot-scope="scope">
|
<div class="fl-cen" v-if="scope.row.receiveUrl">
|
<el-image
|
v-if="scope.row.receiveUrl"
|
style="width: 30px; height: 30px"
|
:src="scope.row.receiveUrl"
|
:preview-src-list="[scope.row.receiveUrl]"
|
fit="cover"
|
></el-image>
|
<el-image
|
v-else
|
style="width: 30px; height: 30px"
|
src="/static/image/default-img.png"
|
></el-image>
|
</div>
|
<span v-else>-</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="核销人员" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.writeOffUserName || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="提交时间" align="center">
|
<template slot-scope="scope">
|
{{ scope.row.createTime || "-" }}
|
</template>
|
</el-table-column>
|
<el-table-column label="状态" align="center">
|
<template slot-scope="scope">
|
<span v-if="scope.row.status === 0">待处理</span>
|
<span v-if="scope.row.status === 1">待领取</span>
|
<span v-if="scope.row.status === 2">已拒绝</span>
|
<span v-if="scope.row.status === 3">已领取</span>
|
<span v-if="scope.row.status === -1">已取消</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center" fixed="right" width="130">
|
<template slot-scope="scope">
|
<el-button
|
v-if="scope.row.status !== 0"
|
size="small"
|
type="text"
|
style="padding: 0"
|
@click="clickHandle('details', scope.row)"
|
>查看</el-button
|
>
|
<el-button
|
@click="clickHandle('use', scope.row)"
|
v-if="scope.row.status === 0"
|
size="small"
|
type="text"
|
style="padding: 0"
|
>去处理</el-button
|
>
|
<el-button
|
size="small"
|
v-if="scope.row.status === 1"
|
@click="clickHandle('cancel', scope.row)"
|
type="text"
|
style="padding: 0"
|
>核销</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<v-tool-page :item="paged" @on-page="onPage"></v-tool-page>
|
<!-- 新增弹框 -->
|
<el-dialog
|
:title="dialogTitle"
|
:visible.sync="dialogVisible"
|
width="50%"
|
:before-close="handleCloseData"
|
append-to-body
|
>
|
<div v-if="dialogTitle === '物品领用处理'">
|
<el-form
|
:model="form"
|
:rules="rules"
|
label-position="right"
|
ref="ruleForm"
|
label-width="150px"
|
class="demo-ruleForm"
|
>
|
<el-form-item label="申领人">
|
<span>{{ detailsInfo.applyName }}</span>
|
</el-form-item>
|
<el-form-item label="联系电话">
|
<span>{{ detailsInfo.applyPhone }}</span>
|
</el-form-item>
|
<el-form-item label="申领物品">
|
<span>{{ detailsInfo.item }}</span>
|
</el-form-item>
|
<el-form-item label="申领数量">
|
<el-input-number
|
v-model="form.goodsNum"
|
:min="1"
|
:max="detailsInfo.surplusQuantity"
|
label="描述文字"
|
></el-input-number>
|
</el-form-item>
|
<el-form-item label="物品图片">
|
<el-image
|
v-if="detailsInfo.image"
|
class="goods-img"
|
:src="detailsInfo.image"
|
:preview-src-list="[detailsInfo.image]"
|
fit="cover"
|
>
|
</el-image>
|
<el-image
|
v-else
|
class="goods-img"
|
src="/static/image/default-img.png"
|
></el-image>
|
</el-form-item>
|
<el-form-item label="领用物品捐赠人">
|
<span>{{ detailsInfo.donateName }}</span>
|
</el-form-item>
|
<el-form-item label="捐赠人联系电话">
|
<span>{{ detailsInfo.donatePhone }}</span>
|
</el-form-item>
|
<el-form-item label="ta遇到的困难" prop="reason">
|
<el-input
|
type="textarea"
|
class="textarea-width"
|
:rows="5"
|
resize="none"
|
placeholder="请输入遇到的困难"
|
maxlength="100"
|
v-model="form.reason"
|
>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="预约领用时间" prop="reserveTime">
|
<el-date-picker
|
v-model="form.reserveTime"
|
class="input-width"
|
type="datetime"
|
format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="请选择预约领用时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="提交时间">
|
<span>{{ detailsInfo.createTime }}</span>
|
</el-form-item>
|
<el-form-item label="处理结果">
|
<el-radio v-model="form.status" :label="1" border
|
>同意领取</el-radio
|
>
|
<el-radio v-model="form.status" :label="2" border
|
>拒绝领取</el-radio
|
>
|
</el-form-item>
|
<el-form-item label="社区备注">
|
<el-input
|
type="textarea"
|
class="textarea-width"
|
:rows="5"
|
resize="none"
|
placeholder="请输入备注信息告知用户"
|
maxlength="100"
|
v-model="form.solveContent"
|
>
|
</el-input>
|
</el-form-item>
|
</el-form>
|
<div class="fl-cen">
|
<el-button size="small" @click="closeExamine">关 闭</el-button>
|
<el-button
|
size="small"
|
@click="changeData(data_index)"
|
:disabled="lastType"
|
>上一个</el-button
|
>
|
<el-button
|
size="small"
|
@click="changeData2(data_index)"
|
:disabled="nextType"
|
>下一个</el-button
|
>
|
<el-button size="small" @click="submitHandle(-1)">取消处理</el-button>
|
<el-button
|
size="small"
|
type="primary"
|
:loading="btnloading"
|
@click="submitHandle"
|
>确认处理</el-button
|
>
|
</div>
|
</div>
|
<div v-if="dialogTitle === '查看'">
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领人:</div>
|
<div class="content-text">{{ detailsInfo.applyName || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">联系电话:</div>
|
<div class="content-text">{{ detailsInfo.applyPhone || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领物品:</div>
|
<div class="content-text">{{ detailsInfo.item || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领数量:</div>
|
<div class="content-text">{{ detailsInfo.goodsNum || "0" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">物品图片:</div>
|
<div class="content-text">
|
<el-image
|
v-if="detailsInfo.image"
|
style="width: 100px; height: 100px"
|
:src="detailsInfo.image"
|
:preview-src-list="[detailsInfo.image]"
|
fit="cover"
|
></el-image>
|
<el-image
|
v-else
|
style="width: 100px; height: 100px"
|
src="/static/image/default-img.png"
|
></el-image>
|
</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">领用物品捐赠人:</div>
|
<div class="content-text">{{ detailsInfo.donateName || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">捐赠人联系电话:</div>
|
<div class="content-text">{{ detailsInfo.donatePhone || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">ta遇到的困难:</div>
|
<div class="content-text l-15">{{ detailsInfo.reason || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">提交时间:</div>
|
<div class="content-text">{{ detailsInfo.createTime || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">状态:</div>
|
<div class="content-text fc-170" v-if="detailsInfo.status === 0">
|
待处理
|
</div>
|
<div class="content-text fc-170" v-if="detailsInfo.status === 1">
|
待领取
|
</div>
|
<div class="content-text fc-170" v-if="detailsInfo.status === 2">
|
已拒绝
|
</div>
|
<div class="content-text fc-170" v-if="detailsInfo.status === 3">
|
已领取
|
</div>
|
<div class="content-text fc-170" v-if="detailsInfo.status === -1">
|
已取消
|
</div>
|
</div>
|
<!-- 待领取 -->
|
<div v-if="detailsInfo.status === 1">
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领流水:</div>
|
<div class="content-text">{{ detailsInfo.id }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批时间:</div>
|
<div class="content-text">{{ detailsInfo.solveTime || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批人:</div>
|
<div class="content-text">{{ detailsInfo.solveName || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">社区备注:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveContent || "-" }}
|
</div>
|
</div>
|
</div>
|
<!-- 已领取 -->
|
<div v-if="detailsInfo.status === 3">
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领流水:</div>
|
<div class="content-text">{{ detailsInfo.id }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批时间:</div>
|
<div class="content-text">{{ detailsInfo.solveTime || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批人:</div>
|
<div class="content-text">{{ detailsInfo.solveName || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">社区备注:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveContent || "-" }}
|
</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">核销人员:</div>
|
<div class="content-text">
|
{{ detailsInfo.writeOffUserName || "-" }}
|
</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">实际领用时间:</div>
|
<div class="content-text">{{ detailsInfo.actualTime || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">领取图片:</div>
|
<div class="content-text">
|
<el-image
|
v-if="detailsInfo.receiveUrl"
|
style="width: 100px; height: 100px"
|
:src="detailsInfo.receiveUrl"
|
:preview-src-list="[detailsInfo.receiveUrl]"
|
fit="cover"
|
></el-image>
|
<el-image
|
v-else
|
style="width: 100px; height: 100px"
|
src="/static/image/default-img.png"
|
></el-image>
|
</div>
|
</div>
|
</div>
|
<!-- 已拒绝 -->
|
<div v-if="detailsInfo.status === 2">
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领流水:</div>
|
<div class="content-text">{{ detailsInfo.id }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批时间:</div>
|
<div class="content-text">{{ detailsInfo.solveTime || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">审批人:</div>
|
<div class="content-text">{{ detailsInfo.solveName || "-" }}</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">社区备注:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveContent || "-" }}
|
</div>
|
</div>
|
</div>
|
<!-- 审核已取消 -->
|
<div v-if="detailsInfo.status === -1">
|
<div class="fl-f mr-b-10">
|
<div class="label-text">申领流水:</div>
|
<div class="content-text">{{ detailsInfo.id }}</div>
|
</div>
|
<div class="fl-f mr-b-10" v-if="detailsInfo.solveTime">
|
<div class="label-text">审批时间:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveTime || "-" }}
|
</div>
|
</div>
|
<div class="fl-f mr-b-10" v-if="detailsInfo.solveName">
|
<div class="label-text">审批人:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveName || "-" }}
|
</div>
|
</div>
|
<div class="fl-f mr-b-10" v-if="detailsInfo.solveContent">
|
<div class="label-text">社区备注:</div>
|
<div class="content-text">
|
{{ detailsInfo.solveContent || "-" }}
|
</div>
|
</div>
|
<div class="fl-f mr-b-10">
|
<div class="label-text">取消时间:</div>
|
<div class="content-text">{{ detailsInfo.cancelTime || "-" }}</div>
|
</div>
|
</div>
|
<div class="fl-cen mr-t-10">
|
<el-button @click="dialogVisible = false">关闭</el-button>
|
</div>
|
</div>
|
<div v-if="dialogTitle === '物品核销'">
|
<el-form
|
:model="collectForm"
|
:rules="rules"
|
label-position="right"
|
ref="ruleForm"
|
label-width="150px"
|
class="demo-ruleForm"
|
>
|
<el-form-item label="申领人">
|
<span>{{ detailsInfo.applyName }}</span>
|
</el-form-item>
|
<el-form-item label="联系电话">
|
<span>{{ detailsInfo.applyPhone }}</span>
|
</el-form-item>
|
<el-form-item label="申领物品">
|
<span>{{ detailsInfo.item }}</span>
|
</el-form-item>
|
<el-form-item label="物品图片">
|
<el-image
|
v-if="detailsInfo.image"
|
class="goods-img"
|
:src="detailsInfo.image"
|
:preview-src-list="[detailsInfo.image]"
|
fit="cover"
|
>
|
</el-image>
|
<el-image
|
v-else
|
class="goods-img"
|
src="/static/image/default-img.png"
|
></el-image>
|
</el-form-item>
|
<el-form-item label="领用物品捐赠人">
|
<span>{{ detailsInfo.donateName }}</span>
|
</el-form-item>
|
<el-form-item label="捐赠人联系电话">
|
<span>{{ detailsInfo.donatePhone }}</span>
|
</el-form-item>
|
<el-form-item label="申领数量">
|
<el-input-number
|
v-model="collectForm.goodsNum"
|
:min="1"
|
:max="detailsInfo.surplusQuantity"
|
label="描述文字"
|
></el-input-number>
|
</el-form-item>
|
<el-form-item label="预约领用时间" prop="reserveTime">
|
<el-date-picker
|
v-model="collectForm.reserveTime"
|
class="input-width"
|
type="datetime"
|
format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="请选择预约领用时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="ta遇到的困难">
|
<el-input
|
type="textarea"
|
class="textarea-width"
|
:rows="5"
|
resize="none"
|
placeholder="请输入留言信息"
|
maxlength="100"
|
v-model="collectForm.reason"
|
>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="领用图片">
|
<div class="app_images">
|
<div
|
class="avatar"
|
v-for="(i, j) in imgList"
|
:key="j + '-ta-img'"
|
>
|
<span
|
class="close el-icon-close"
|
@click.stop="onDelImage(i)"
|
></span>
|
<img :src="i" alt="" @click.stop="appShowImage(i, imgList)" />
|
</div>
|
<v-upload
|
slots
|
class="avatar"
|
@path="onImageSave"
|
v-if="imgList.length < 6"
|
>
|
<div class="uopload-text fl-coc">
|
<i class="el-icon-plus"></i>
|
<b>上传</b>
|
</div>
|
</v-upload>
|
</div>
|
</el-form-item>
|
</el-form>
|
<div class="fl-cen">
|
<el-button size="small" @click="closeDestroy">关 闭</el-button>
|
<el-button size="small" @click="submitHandle(-1)">取消核销</el-button>
|
<el-button
|
size="small"
|
type="primary"
|
:loading="btnloading"
|
@click="submitHandle"
|
>确定核销</el-button
|
>
|
</div>
|
</div>
|
</el-dialog>
|
<!-- 查看详情 -->
|
</div>
|
</template>
|
|
<script>
|
import { mapState } from "vuex";
|
import vUpload from "com/upload/upload1";
|
import { objCopyPro, dateTime } from "../../utils/common";
|
export default {
|
inject: ["appShowImage"],
|
components: {
|
vUpload,
|
},
|
data() {
|
return {
|
dialogVisible: false,
|
dialogTitle: "",
|
bar: [
|
{ title: "申领人/联系电话/申领物品/申领流水", name: "keyword" },
|
{
|
title: "状态",
|
name: "status",
|
type: "select",
|
list: [
|
{ value: null, label: "全部" },
|
{
|
value: 0,
|
label: "待处理",
|
},
|
{
|
value: 1,
|
label: "待领取",
|
},
|
{
|
value: 2,
|
label: "已拒绝",
|
},
|
{
|
value: 3,
|
label: "已领取",
|
},
|
{
|
value: -1,
|
label: "已取消",
|
},
|
],
|
},
|
],
|
tableList: [],
|
paged: { page: 0, total: 0, r: 0, limit: 10 },
|
search: {},
|
btnloading: false,
|
form: {
|
goodsNum: 1,
|
reason: "",
|
reserveTime: "",
|
solveContent: "",
|
status: 0,
|
goodsId: "",
|
}, // 表单
|
collectForm: {
|
goodsNum: 1,
|
reason: "",
|
reserveTime: "",
|
receiveUrl: "",
|
}, // 核销表单
|
rules: {
|
reason: [
|
{
|
required: true,
|
message: "请输入遇到的困难",
|
trigger: "blur",
|
},
|
],
|
reserveTime: [
|
{
|
required: true,
|
message: "请选择预约领用时间",
|
trigger: "change",
|
},
|
],
|
}, // 表单验证
|
imgList: [],
|
staticData: {},
|
detailsInfo: {},
|
data_index: 0,
|
lastType: false,
|
nextType: false,
|
};
|
},
|
computed: {
|
...mapState({ vuex_page: "pageReset" }),
|
},
|
watch: {
|
vuex_page: {
|
handler(n) {
|
if (n.page === this.$route.path) {
|
this.paged.page = 1;
|
this.getTable();
|
}
|
},
|
deep: true,
|
},
|
},
|
methods: {
|
submitHandle(val) {
|
this.$refs["ruleForm"].validate((valid) => {
|
if (valid) {
|
if (this.dialogTitle === "物品领用处理") {
|
if (val === -1) {
|
this.form.status = -1;
|
this.form.cancelTime = dateTime(new Date());
|
}
|
this.$api.post("comActWarehouseApply/update", this.form, (e) => {
|
val === -1 ? demo.toast("取消成功") : demo.toast("处理成功");
|
this.getTable();
|
this.closeExamine();
|
});
|
} else {
|
this.collectForm.receiveUrl = this.imgList.join(",");
|
this.collectForm.status = 3;
|
if (val === -1) {
|
this.collectForm.status = -1;
|
this.collectForm.cancelTime = dateTime(new Date());
|
}
|
this.$api.post(
|
"comActWarehouseApply/update",
|
this.collectForm,
|
(e) => {
|
if (e.code === 500) {
|
demo.toast(e.msg);
|
} else {
|
val === -1 ? demo.toast("取消成功") : demo.toast("核销成功");
|
this.getTable();
|
this.closeDestroy();
|
}
|
}
|
);
|
}
|
}
|
});
|
},
|
closeExamine() {
|
this.form = {
|
goodsNum: 1,
|
reason: "",
|
reserveTime: "",
|
solveContent: "",
|
status: 0,
|
};
|
this.$refs["ruleForm"].resetFields(); // 重置表单
|
this.dialogVisible = false;
|
},
|
closeDestroy() {
|
this.collectForm = {
|
goodsNum: 1,
|
reason: "",
|
reserveTime: "",
|
receiveUrl: "",
|
};
|
this.$refs["ruleForm"].resetFields(); // 重置表单
|
this.dialogVisible = false;
|
},
|
onSearch(v) {
|
if (v.time && v.time.length && v.time[1]) {
|
v.beginAt = v.time[0];
|
v.endAt = v.time[1];
|
} else {
|
v.beginAt = "";
|
v.endAt = "";
|
}
|
this.search = demo.copy(v);
|
delete this.search.time;
|
this.paged.page = 1;
|
this.getTable();
|
},
|
// 分页点击
|
onPage(v) {
|
if (v.page === this.paged.page && v.page && !v.reset) {
|
return 0;
|
}
|
this.paged.page = v.page;
|
this.paged.limit = v.limit;
|
this.getTable();
|
},
|
// 获取数据
|
getTable() {
|
let v = demo.copy(
|
Object.assign(this.search, {
|
page: this.paged.page,
|
size: this.paged.limit,
|
})
|
);
|
this.$api.post("comActWarehouseApply/queryAll", v, (e) => {
|
this.paged.total = e.total;
|
this.paged.r++;
|
this.tableList = e.records || [];
|
});
|
this.$api.get("comActWarehouseApply/selectStatics", {}, (e) => {
|
this.staticData = e;
|
});
|
},
|
changeData(i) {
|
let n = i;
|
const timer = setInterval(() => {
|
n--;
|
if (this.tableList[n].status === 0) {
|
clearInterval(timer);
|
this.$api.get(
|
`comActWarehouseApply/${this.tableList[n].id}`,
|
{},
|
(e) => {
|
this.detailsInfo = e;
|
this.form = objCopyPro(this.form, e);
|
this.form.status = 1;
|
this.dialogTitle = "物品领用处理";
|
this.lastHandle(n);
|
this.nextHandle(n);
|
this.data_index = n;
|
}
|
);
|
}
|
});
|
},
|
changeData2(i) {
|
let n = i;
|
const timer = setInterval(() => {
|
n++;
|
if (this.tableList[n].status === 0) {
|
clearInterval(timer);
|
this.$api.get(
|
`comActWarehouseApply/${this.tableList[n].id}`,
|
{},
|
(e) => {
|
this.detailsInfo = e;
|
this.form = objCopyPro(this.form, e);
|
this.form.status = 1;
|
this.dialogTitle = "物品领用处理";
|
this.lastHandle(n);
|
this.nextHandle(n);
|
this.data_index = n;
|
}
|
);
|
}
|
});
|
},
|
lastHandle(i) {
|
let num = i;
|
this.lastType = true;
|
if (i === 0) {
|
this.nextType = true;
|
} else {
|
const timer = setInterval(() => {
|
if (num === 0) {
|
this.lastType = true;
|
clearInterval(timer);
|
}
|
num--;
|
if (this.tableList[num].status === 0) {
|
this.lastType = false;
|
clearInterval(timer);
|
}
|
});
|
}
|
},
|
nextHandle(i) {
|
let num = i;
|
this.nextType = true;
|
if (i === this.tableList.length - 1) {
|
this.nextType = true;
|
} else {
|
const timer = setInterval(() => {
|
if (num === this.tableList.length - 1) {
|
clearInterval(timer);
|
this.nextType = true;
|
}
|
num++;
|
if (this.tableList[num].status === 0) {
|
this.nextType = false;
|
clearInterval(timer);
|
}
|
});
|
}
|
},
|
clickHandle(type, row) {
|
switch (type) {
|
case "details": {
|
this.$api.get(`comActWarehouseApply/${row.id}`, {}, (e) => {
|
this.detailsInfo = e;
|
this.dialogTitle = "查看";
|
this.dialogVisible = true;
|
});
|
break;
|
}
|
case "use": {
|
this.tableList.forEach((item, index) => {
|
if (item.id === row.id) {
|
this.data_index = index;
|
}
|
});
|
this.$api.get(`comActWarehouseApply/${row.id}`, {}, (e) => {
|
this.detailsInfo = e;
|
this.form = objCopyPro(this.form, e);
|
this.form.status = 1;
|
this.dialogTitle = "物品领用处理";
|
this.dialogVisible = true;
|
this.lastHandle(this.data_index);
|
this.nextHandle(this.data_index);
|
});
|
break;
|
}
|
case "cancel": {
|
this.$api.get(`comActWarehouseApply/${row.id}`, {}, (e) => {
|
this.detailsInfo = e;
|
this.collectForm = objCopyPro(this.collectForm, e);
|
this.dialogTitle = "物品核销";
|
this.dialogVisible = true;
|
});
|
break;
|
}
|
case "export": {
|
this.$api.post("comActWarehouseApply/export", {
|
keyword:this.search.keyword,
|
status:this.search.status
|
}, (e) => {
|
window.location.href = e;
|
});
|
break;
|
}
|
default: {
|
break;
|
}
|
}
|
},
|
handleCloseData() {
|
this.dialogVisible = false;
|
},
|
onImageSave(v) {
|
this.imgList.push(v);
|
},
|
onDelImage(v) {
|
this.imgList = this.imgList.filter((r) => {
|
return r !== v;
|
});
|
},
|
},
|
};
|
</script>
|
<style>
|
.el-table .cell {
|
font-size: 14px;
|
color: #444;
|
}
|
</style>
|
<style lang='less' scoped>
|
.box-content {
|
overflow-y: auto;
|
.tab,
|
.add {
|
margin-bottom: 10px;
|
}
|
}
|
.input-width {
|
width: 250px;
|
}
|
.textarea-width {
|
width: 350px;
|
}
|
.uopload-text {
|
width: 100px;
|
height: 100px;
|
border: 1px dashed #999;
|
}
|
.label-text {
|
width: 120px;
|
text-align: right;
|
color: #999;
|
}
|
.content-text {
|
width: 400px;
|
}
|
.l-15 {
|
line-height: 1.5;
|
}
|
.goods-img {
|
width: 90px;
|
height: 90px;
|
}
|
</style>
|