|
|
|
@ -1,18 +1,25 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="JNPF-common-layout">
|
|
|
|
|
|
|
|
|
|
<div class="JNPF-common-layout-center">
|
|
|
|
|
<el-row class="JNPF-common-search-box" :gutter="16">
|
|
|
|
|
<el-form @submit.native.prevent>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="单据编号">
|
|
|
|
|
<el-input v-model="query.documentNo" placeholder="请输入" clearable></el-input>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="query.documentNo"
|
|
|
|
|
placeholder="请输入"
|
|
|
|
|
clearable
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
|
|
|
|
|
<el-button icon="el-icon-refresh-right" @click="resetAll()">重置</el-button>
|
|
|
|
|
<el-button type="primary" icon="el-icon-search" @click="search()"
|
|
|
|
|
>查询</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button icon="el-icon-refresh-right" @click="resetAll()"
|
|
|
|
|
>重置</el-button
|
|
|
|
|
>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-form>
|
|
|
|
@ -26,347 +33,494 @@
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button type="text" icon="el-icon-download" @click="" v-has="'btn_edit1'">查看
|
|
|
|
|
</el-button> -->
|
|
|
|
|
<el-button type="text" icon="el-icon-download" @click="exportData()" v-has="'btn_download'">导出
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-download"
|
|
|
|
|
@click="exportData()"
|
|
|
|
|
v-has="'btn_download'"
|
|
|
|
|
>导出
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" v-has="'btn_batchRemove'">批量删除
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-delete"
|
|
|
|
|
@click="handleBatchRemoveDel()"
|
|
|
|
|
v-has="'btn_batchRemove'"
|
|
|
|
|
>批量删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="JNPF-common-head-right">
|
|
|
|
|
<el-tooltip effect="dark" content="刷新" placement="top">
|
|
|
|
|
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
|
|
|
|
|
@click="reset()"/>
|
|
|
|
|
<el-link
|
|
|
|
|
icon="icon-ym icon-ym-Refresh JNPF-common-head-icon"
|
|
|
|
|
:underline="false"
|
|
|
|
|
@click="reset()"
|
|
|
|
|
/>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
<screenfull isContainer/>
|
|
|
|
|
<screenfull isContainer />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c
|
|
|
|
|
@selection-change="handleSelectionChange" custom-column border>
|
|
|
|
|
<el-table-column prop="documentNo" label="单据编号" width="200" align="center"sortable />
|
|
|
|
|
<el-table-column prop="purchaseorderdocumentno" label="来源单号" width="200" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="contractName" label="合同名称" width="200" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="supplierName" label="供应商名称" width="200" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="refundAmount" label="退货金额" width="120" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="actualAmount" label="实退金额" width="120" align="center"sortable/>
|
|
|
|
|
<JNPF-table
|
|
|
|
|
v-loading="listLoading"
|
|
|
|
|
:data="list"
|
|
|
|
|
@sort-change="sortChange"
|
|
|
|
|
has-c
|
|
|
|
|
@selection-change="handleSelectionChange"
|
|
|
|
|
custom-column
|
|
|
|
|
border
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="documentNo"
|
|
|
|
|
label="单据编号"
|
|
|
|
|
width="200"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="purchaseorderdocumentno"
|
|
|
|
|
label="来源单号"
|
|
|
|
|
width="200"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="contractName"
|
|
|
|
|
label="合同名称"
|
|
|
|
|
width="200"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="supplierName"
|
|
|
|
|
label="供应商名称"
|
|
|
|
|
width="200"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="refundAmount"
|
|
|
|
|
label="退货金额"
|
|
|
|
|
width="120"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="actualAmount"
|
|
|
|
|
label="实退金额"
|
|
|
|
|
width="120"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<el-table-column label="币别" width="120" sortable prop="currency" align="center">
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="币别"
|
|
|
|
|
width="120"
|
|
|
|
|
sortable
|
|
|
|
|
prop="currency"
|
|
|
|
|
align="center"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
{{ scope.row.currency | dynamicText(currencyOptions) }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<!-- <el-table-column prop="refundNum" label="退货数量" width="120" align="center"sortable/>-->
|
|
|
|
|
<!-- <el-table-column label="单据状态" width="120" sortable prop="status" align="center">-->
|
|
|
|
|
<!-- <template slot-scope="scope">-->
|
|
|
|
|
<!-- {{ scope.row.status | dynamicText(statusOptions) }}-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<el-table-column prop="status" label="单据状态" sortable width="120" align="center">
|
|
|
|
|
<!-- <el-table-column prop="refundNum" label="退货数量" width="120" align="center"sortable/>-->
|
|
|
|
|
<!-- <el-table-column label="单据状态" width="120" sortable prop="status" align="center">-->
|
|
|
|
|
<!-- <template slot-scope="scope">-->
|
|
|
|
|
<!-- {{ scope.row.status | dynamicText(statusOptions) }}-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="status"
|
|
|
|
|
label="单据状态"
|
|
|
|
|
sortable
|
|
|
|
|
width="120"
|
|
|
|
|
align="center"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-tag type="success" v-if="scope.row.status==0">已保存</el-tag>
|
|
|
|
|
<el-tag type="info" v-else-if="scope.row.status==1">审批中</el-tag>
|
|
|
|
|
<el-tag type="warning" v-else-if="scope.row.status==2">已审批</el-tag>
|
|
|
|
|
<el-tag type="success" v-if="scope.row.status == 0"
|
|
|
|
|
>已保存</el-tag
|
|
|
|
|
>
|
|
|
|
|
<el-tag type="info" v-else-if="scope.row.status == 1"
|
|
|
|
|
>审批中</el-tag
|
|
|
|
|
>
|
|
|
|
|
<el-tag type="warning" v-else-if="scope.row.status == 2"
|
|
|
|
|
>已审批</el-tag
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="creatorTime" label="创建时间" width="120" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="creatorUserName" label="创建人" width="120" align="center"sortable/>
|
|
|
|
|
<el-table-column prop="remark" label="备注" width="0" align="center"sortable/>
|
|
|
|
|
<el-table-column label="操作" fixed="right" width="150">
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="creatorTime"
|
|
|
|
|
label="创建时间"
|
|
|
|
|
width="120"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="creatorUserName"
|
|
|
|
|
label="创建人"
|
|
|
|
|
width="120"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="remark"
|
|
|
|
|
label="备注"
|
|
|
|
|
width="0"
|
|
|
|
|
align="center"
|
|
|
|
|
sortable
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column label="操作" fixed="right" width="150">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button type="text" @click="addOrUpdateHandle(scope.row.id)" v-has="'btn_edit'">编辑
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
@click="addOrUpdateHandle(scope.row.id)"
|
|
|
|
|
v-has="'btn_edit'"
|
|
|
|
|
>编辑
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)" v-has="'btn_remove'">删除
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
class="JNPF-table-delBtn"
|
|
|
|
|
@click="handleDel(scope.row.id)"
|
|
|
|
|
v-has="'btn_remove'"
|
|
|
|
|
>删除
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button type="text" @click="goDetail(scope.row.id)" v-has="'btn_detail'">详情
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
@click="goDetail(scope.row.id)"
|
|
|
|
|
v-has="'btn_detail'"
|
|
|
|
|
>详情
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</JNPF-table>
|
|
|
|
|
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
|
|
|
|
|
@pagination="initData"/>
|
|
|
|
|
<pagination
|
|
|
|
|
:total="total"
|
|
|
|
|
:page.sync="listQuery.currentPage"
|
|
|
|
|
:limit.sync="listQuery.pageSize"
|
|
|
|
|
@pagination="initData"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
|
|
|
|
|
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
|
|
|
|
|
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
|
|
|
|
|
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh" />
|
|
|
|
|
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download" />
|
|
|
|
|
<Detail
|
|
|
|
|
v-if="detailVisible"
|
|
|
|
|
ref="Detail"
|
|
|
|
|
@refresh="detailVisible = false"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import request from '@/utils/request'
|
|
|
|
|
import {
|
|
|
|
|
getDictionaryDataSelector
|
|
|
|
|
} from '@/api/systemData/dictionary'
|
|
|
|
|
import JNPFForm from './Form'
|
|
|
|
|
import ExportBox from './ExportBox'
|
|
|
|
|
import {
|
|
|
|
|
getDataInterfaceRes
|
|
|
|
|
} from '@/api/systemData/dataInterface'
|
|
|
|
|
import Detail from './Detail'
|
|
|
|
|
import request from "@/utils/request";
|
|
|
|
|
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
|
|
|
|
|
import JNPFForm from "./Form";
|
|
|
|
|
import ExportBox from "./ExportBox";
|
|
|
|
|
import { getDataInterfaceRes } from "@/api/systemData/dataInterface";
|
|
|
|
|
import Detail from "./Detail";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
JNPFForm,
|
|
|
|
|
ExportBox,
|
|
|
|
|
Detail
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
detailVisible: false,
|
|
|
|
|
query: {
|
|
|
|
|
documentNo: undefined
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
JNPFForm,
|
|
|
|
|
ExportBox,
|
|
|
|
|
Detail,
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
detailVisible: false,
|
|
|
|
|
query: {
|
|
|
|
|
documentNo: undefined,
|
|
|
|
|
},
|
|
|
|
|
treeProps: {
|
|
|
|
|
children: "children",
|
|
|
|
|
label: "fullName",
|
|
|
|
|
value: "id",
|
|
|
|
|
},
|
|
|
|
|
list: [],
|
|
|
|
|
listLoading: true,
|
|
|
|
|
multipleSelection: [],
|
|
|
|
|
total: 0,
|
|
|
|
|
listQuery: {
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
pageSize: 20,
|
|
|
|
|
sort: "desc",
|
|
|
|
|
sidx: "",
|
|
|
|
|
},
|
|
|
|
|
formVisible: false,
|
|
|
|
|
exportBoxVisible: false,
|
|
|
|
|
columnList: [
|
|
|
|
|
{
|
|
|
|
|
prop: "documentNo",
|
|
|
|
|
label: "单据编号",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: "purchaseorderdocumentno",
|
|
|
|
|
label: "来源单号",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: "contractName",
|
|
|
|
|
label: "合同名称",
|
|
|
|
|
},
|
|
|
|
|
treeProps: {
|
|
|
|
|
children: 'children',
|
|
|
|
|
label: 'fullName',
|
|
|
|
|
value: 'id'
|
|
|
|
|
{
|
|
|
|
|
prop: "supplierName",
|
|
|
|
|
label: "供应商名称",
|
|
|
|
|
},
|
|
|
|
|
list: [],
|
|
|
|
|
listLoading: true,
|
|
|
|
|
multipleSelection: [],
|
|
|
|
|
total: 0,
|
|
|
|
|
listQuery: {
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
pageSize: 20,
|
|
|
|
|
sort: 'desc',
|
|
|
|
|
sidx: ''
|
|
|
|
|
{
|
|
|
|
|
prop: "refundAmount",
|
|
|
|
|
label: "退货金额",
|
|
|
|
|
},
|
|
|
|
|
formVisible: false,
|
|
|
|
|
exportBoxVisible: false,
|
|
|
|
|
columnList: [{
|
|
|
|
|
prop: 'documentNo',
|
|
|
|
|
label: '单据编号'
|
|
|
|
|
{
|
|
|
|
|
prop: "actualAmount",
|
|
|
|
|
label: "实退金额",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'purchaseorderdocumentno',
|
|
|
|
|
label: '来源单号'
|
|
|
|
|
prop: "currency",
|
|
|
|
|
label: "币别 ",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'contractName',
|
|
|
|
|
label: '合同名称'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'supplierName',
|
|
|
|
|
label: '供应商名称'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'refundAmount',
|
|
|
|
|
label: '退货金额'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'actualAmount',
|
|
|
|
|
label: '实退金额'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'currency',
|
|
|
|
|
label: '币别 '
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'refundNum',
|
|
|
|
|
label: '退货数量'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'status',
|
|
|
|
|
label: '单据状态 '
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'creatorTime',
|
|
|
|
|
label: '创建时间'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'creatorUserName',
|
|
|
|
|
label: '创建人'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'remark',
|
|
|
|
|
label: '备注'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
currencyOptions: [{
|
|
|
|
|
'fullName': '人民币',
|
|
|
|
|
'id': '0'
|
|
|
|
|
}, {
|
|
|
|
|
'fullName': '美元',
|
|
|
|
|
'id': '1'
|
|
|
|
|
}, {
|
|
|
|
|
'fullName': '英镑',
|
|
|
|
|
'id': '2'
|
|
|
|
|
}],
|
|
|
|
|
currencyProps: {
|
|
|
|
|
'label': 'fullName',
|
|
|
|
|
'value': 'id'
|
|
|
|
|
{
|
|
|
|
|
prop: "refundNum",
|
|
|
|
|
label: "退货数量",
|
|
|
|
|
},
|
|
|
|
|
statusOptions: [{
|
|
|
|
|
'fullName': '已保存',
|
|
|
|
|
'id': '0'
|
|
|
|
|
}, {
|
|
|
|
|
'fullName': '审批中',
|
|
|
|
|
'id': '1'
|
|
|
|
|
}, {
|
|
|
|
|
'fullName': '已审批',
|
|
|
|
|
'id': '2'
|
|
|
|
|
}],
|
|
|
|
|
statusProps: {
|
|
|
|
|
'label': 'fullName',
|
|
|
|
|
'value': 'id'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
prop: "status",
|
|
|
|
|
label: "单据状态 ",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: "creatorTime",
|
|
|
|
|
label: "创建时间",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: "creatorUserName",
|
|
|
|
|
label: "创建人",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: "remark",
|
|
|
|
|
label: "备注",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
currencyOptions: [
|
|
|
|
|
{
|
|
|
|
|
fullName: "人民币",
|
|
|
|
|
id: "0",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fullName: "美元",
|
|
|
|
|
id: "1",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fullName: "英镑",
|
|
|
|
|
id: "2",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
currencyProps: {
|
|
|
|
|
label: "fullName",
|
|
|
|
|
value: "id",
|
|
|
|
|
},
|
|
|
|
|
statusOptions: [
|
|
|
|
|
{
|
|
|
|
|
fullName: "已保存",
|
|
|
|
|
id: "0",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fullName: "审批中",
|
|
|
|
|
id: "1",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fullName: "已审批",
|
|
|
|
|
id: "2",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
statusProps: {
|
|
|
|
|
label: "fullName",
|
|
|
|
|
value: "id",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
menuId() {
|
|
|
|
|
return this.$route.meta.modelId || "";
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
menuId() {
|
|
|
|
|
return this.$route.meta.modelId || ''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
if (
|
|
|
|
|
sessionStorage.getItem("scm-basicInformation-purchaseback-pageSize") !==
|
|
|
|
|
null
|
|
|
|
|
) {
|
|
|
|
|
this.listQuery.pageSize = parseInt(
|
|
|
|
|
sessionStorage.getItem("scm-basicInformation-purchaseback-pageSize")
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
if (
|
|
|
|
|
sessionStorage.getItem("scm-basicInformation-purchaseback-query") !==
|
|
|
|
|
null
|
|
|
|
|
) {
|
|
|
|
|
let json_query = sessionStorage.getItem(
|
|
|
|
|
"scm-basicInformation-purchaseback-query"
|
|
|
|
|
);
|
|
|
|
|
let obj_query = JSON.parse(json_query);
|
|
|
|
|
this.query = obj_query;
|
|
|
|
|
}
|
|
|
|
|
this.initData();
|
|
|
|
|
},
|
|
|
|
|
beforeDestroy() {
|
|
|
|
|
sessionStorage.setItem(
|
|
|
|
|
"scm-basicInformation-purchaseback-pageSize",
|
|
|
|
|
this.listQuery.pageSize
|
|
|
|
|
);
|
|
|
|
|
let json_query = JSON.stringify(this.query);
|
|
|
|
|
sessionStorage.setItem(
|
|
|
|
|
"scm-basicInformation-purchaseback-query",
|
|
|
|
|
json_query
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
goDetail(id) {
|
|
|
|
|
this.detailVisible = true;
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.Detail.init(id);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.initData()
|
|
|
|
|
sortChange({ column, prop, order }) {
|
|
|
|
|
this.listQuery.sort = order == "ascending" ? "asc" : "desc";
|
|
|
|
|
this.listQuery.sidx = !order ? "" : prop;
|
|
|
|
|
this.initData();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
goDetail(id) {
|
|
|
|
|
this.detailVisible = true
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.Detail.init(id)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
sortChange({
|
|
|
|
|
column,
|
|
|
|
|
prop,
|
|
|
|
|
order
|
|
|
|
|
}) {
|
|
|
|
|
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
|
|
|
|
|
this.listQuery.sidx = !order ? '' : prop
|
|
|
|
|
this.initData()
|
|
|
|
|
},
|
|
|
|
|
initData() {
|
|
|
|
|
this.listLoading = true
|
|
|
|
|
let _query = {
|
|
|
|
|
...this.listQuery,
|
|
|
|
|
...this.query,
|
|
|
|
|
menuId: this.menuId
|
|
|
|
|
}
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/getList`,
|
|
|
|
|
method: 'post',
|
|
|
|
|
data: _query
|
|
|
|
|
}).then(res => {
|
|
|
|
|
var _list = []
|
|
|
|
|
for (let i = 0; i < res.data.list.length; i++) {
|
|
|
|
|
res.data.list[i].creatorTime = res.data.list[i].creatorTime ? res.data.list[i].creatorTime.substring(0,
|
|
|
|
|
10) : '';
|
|
|
|
|
initData() {
|
|
|
|
|
this.listLoading = true;
|
|
|
|
|
let _query = {
|
|
|
|
|
...this.listQuery,
|
|
|
|
|
...this.query,
|
|
|
|
|
menuId: this.menuId,
|
|
|
|
|
};
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/getList`,
|
|
|
|
|
method: "post",
|
|
|
|
|
data: _query,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
var _list = [];
|
|
|
|
|
for (let i = 0; i < res.data.list.length; i++) {
|
|
|
|
|
res.data.list[i].creatorTime = res.data.list[i].creatorTime
|
|
|
|
|
? res.data.list[i].creatorTime.substring(0, 10)
|
|
|
|
|
: "";
|
|
|
|
|
|
|
|
|
|
let _data = res.data.list[i]
|
|
|
|
|
_list.push(_data)
|
|
|
|
|
}
|
|
|
|
|
this.list = _list
|
|
|
|
|
this.total = res.data.pagination.total
|
|
|
|
|
let _data = res.data.list[i];
|
|
|
|
|
_list.push(_data);
|
|
|
|
|
}
|
|
|
|
|
this.list = _list;
|
|
|
|
|
this.total = res.data.pagination.total;
|
|
|
|
|
|
|
|
|
|
this.listLoading = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleDel(id) {
|
|
|
|
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
this.listLoading = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleDel(id) {
|
|
|
|
|
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
|
|
|
|
|
type: "warning",
|
|
|
|
|
})
|
|
|
|
|
.then(() => {
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/${id}`,
|
|
|
|
|
method: 'DELETE'
|
|
|
|
|
}).then(res => {
|
|
|
|
|
method: "DELETE",
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
type: "success",
|
|
|
|
|
message: res.msg,
|
|
|
|
|
onClose: () => {
|
|
|
|
|
this.initData()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.initData();
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleSelectionChange(val) {
|
|
|
|
|
const res = val.map(item => item.id)
|
|
|
|
|
this.multipleSelection = res
|
|
|
|
|
},
|
|
|
|
|
handleBatchRemoveDel() {
|
|
|
|
|
if (!this.multipleSelection.length) {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'error',
|
|
|
|
|
message: '请选择一条数据',
|
|
|
|
|
duration: 2500
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
const ids = this.multipleSelection.join()
|
|
|
|
|
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
.catch(() => {});
|
|
|
|
|
},
|
|
|
|
|
handleSelectionChange(val) {
|
|
|
|
|
const res = val.map((item) => item.id);
|
|
|
|
|
this.multipleSelection = res;
|
|
|
|
|
},
|
|
|
|
|
handleBatchRemoveDel() {
|
|
|
|
|
if (!this.multipleSelection.length) {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: "error",
|
|
|
|
|
message: "请选择一条数据",
|
|
|
|
|
duration: 2500,
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const ids = this.multipleSelection.join();
|
|
|
|
|
this.$confirm("您确定要删除这些数据吗, 是否继续?", "提示", {
|
|
|
|
|
type: "warning",
|
|
|
|
|
})
|
|
|
|
|
.then(() => {
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/batchRemove/${ids}`,
|
|
|
|
|
method: 'DELETE'
|
|
|
|
|
}).then(res => {
|
|
|
|
|
method: "DELETE",
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
type: "success",
|
|
|
|
|
message: res.msg,
|
|
|
|
|
onClose: () => {
|
|
|
|
|
this.initData()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
addOrUpdateHandle(id, isDetail) {
|
|
|
|
|
this.formVisible = true
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.JNPFForm.init(id, isDetail)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
exportData() {
|
|
|
|
|
this.exportBoxVisible = true
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.ExportBox.init(this.columnList)
|
|
|
|
|
this.initData();
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
download(data) {
|
|
|
|
|
let query = {
|
|
|
|
|
...data,
|
|
|
|
|
...this.listQuery,
|
|
|
|
|
...this.query,
|
|
|
|
|
menuId: this.menuId
|
|
|
|
|
}
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/Actions/Export`,
|
|
|
|
|
method: 'GET',
|
|
|
|
|
data: query
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (!res.data.url) return
|
|
|
|
|
this.jnpf.downloadFile(res.data.url)
|
|
|
|
|
this.$refs.ExportBox.visible = false
|
|
|
|
|
this.exportBoxVisible = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
search() {
|
|
|
|
|
this.listQuery = {
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
pageSize: 20,
|
|
|
|
|
sort: 'desc',
|
|
|
|
|
sidx: ''
|
|
|
|
|
}
|
|
|
|
|
this.initData()
|
|
|
|
|
},
|
|
|
|
|
refresh(isrRefresh) {
|
|
|
|
|
this.formVisible = false
|
|
|
|
|
if (isrRefresh) this.reset()
|
|
|
|
|
},
|
|
|
|
|
reset() {
|
|
|
|
|
// for (let key in this.query) {
|
|
|
|
|
// this.query[key] = undefined
|
|
|
|
|
// }
|
|
|
|
|
this.search()
|
|
|
|
|
},
|
|
|
|
|
resetAll() {
|
|
|
|
|
for (let key in this.query) {
|
|
|
|
|
this.query[key] = undefined
|
|
|
|
|
}
|
|
|
|
|
this.search()
|
|
|
|
|
.catch(() => {});
|
|
|
|
|
},
|
|
|
|
|
addOrUpdateHandle(id, isDetail) {
|
|
|
|
|
this.formVisible = true;
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.JNPFForm.init(id, isDetail);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
exportData() {
|
|
|
|
|
this.exportBoxVisible = true;
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.ExportBox.init(this.columnList);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
download(data) {
|
|
|
|
|
let query = {
|
|
|
|
|
...data,
|
|
|
|
|
...this.listQuery,
|
|
|
|
|
...this.query,
|
|
|
|
|
menuId: this.menuId,
|
|
|
|
|
};
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/purchaseback/Purchaseback/Actions/Export`,
|
|
|
|
|
method: "GET",
|
|
|
|
|
data: query,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
if (!res.data.url) return;
|
|
|
|
|
this.jnpf.downloadFile(res.data.url);
|
|
|
|
|
this.$refs.ExportBox.visible = false;
|
|
|
|
|
this.exportBoxVisible = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
search() {
|
|
|
|
|
this.listQuery.currentPage = 1;
|
|
|
|
|
// this.listQuery = {
|
|
|
|
|
// currentPage: 1,
|
|
|
|
|
// pageSize: 20,
|
|
|
|
|
// sort: 'desc',
|
|
|
|
|
// sidx: ''
|
|
|
|
|
// }
|
|
|
|
|
this.initData();
|
|
|
|
|
},
|
|
|
|
|
refresh(isrRefresh) {
|
|
|
|
|
this.formVisible = false;
|
|
|
|
|
if (isrRefresh) this.reset();
|
|
|
|
|
},
|
|
|
|
|
reset() {
|
|
|
|
|
// for (let key in this.query) {
|
|
|
|
|
// this.query[key] = undefined
|
|
|
|
|
// }
|
|
|
|
|
this.search();
|
|
|
|
|
},
|
|
|
|
|
resetAll() {
|
|
|
|
|
for (let key in this.query) {
|
|
|
|
|
this.query[key] = undefined;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.search();
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|