|
@@ -1,185 +1,186 @@
|
|
|
<template>
|
|
|
- <a-card size="small" :bordered="false" class="expenseReimbursementDetailList-wrap">
|
|
|
- <a-spin :spinning="spinning" tip="Loading...">
|
|
|
- <!-- 搜索条件 -->
|
|
|
- <div ref="tableSearch" class="table-page-search-wrapper">
|
|
|
- <a-form layout="inline" ref="ruleForm">
|
|
|
- <a-row :gutter="15">
|
|
|
+ <div>
|
|
|
+ <a-card size="small" :bordered="false" class="searchBoxNormal">
|
|
|
+ <!-- 搜索条件 -->
|
|
|
+ <div ref="tableSearch" class="table-page-search-wrapper">
|
|
|
+ <a-form layout="inline" ref="ruleForm">
|
|
|
+ <a-row :gutter="15">
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="审核时间">
|
|
|
+ <rangeDate ref="rangeDate" :value="time" @change="dateChange" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="费用单号" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <a-input id="expenseReimbursementDetailList-expenseAccountNo" v-model.trim="queryParam.expenseAccountNo" allowClear placeholder="请输入销售单号"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="申请人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <employee style="width: 100%;" id="expenseReimbursementDetailList-applyPersonSn" @change="employeeChange" v-model="queryParam.applyPersonSn"></employee>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <template v-if="advanced">
|
|
|
<a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="审核时间">
|
|
|
- <rangeDate ref="rangeDate" :value="time" @change="dateChange" />
|
|
|
+ <a-form-item label="申请部门" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <department style="width: 100%;" id="expenseReimbursementDetailList-applyDepartmentSn" @change="applyDepartmentChange" v-model="queryParam.applyDepartmentSn"></department>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="费用单号" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <a-input id="expenseReimbursementDetailList-expenseAccountNo" v-model.trim="queryParam.expenseAccountNo" allowClear placeholder="请输入销售单号"/>
|
|
|
+ <a-form-item label="费用类型">
|
|
|
+ <expenseType
|
|
|
+ id="expenseReimbursementDetailList-expenseType"
|
|
|
+ v-model="expenseTypes"
|
|
|
+ :changeOnSelect="true"
|
|
|
+ @change="expenseChange"
|
|
|
+ placeholder="请选择费用类型"
|
|
|
+ ></expenseType>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="申请人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <employee style="width: 100%;" id="expenseReimbursementDetailList-applyPersonSn" @change="employeeChange" v-model="queryParam.applyPersonSn"></employee>
|
|
|
+ <a-form-item label="费用发生月份">
|
|
|
+ <a-month-picker
|
|
|
+ placeholder="请选择月份"
|
|
|
+ v-model="queryParam.expenseDate"
|
|
|
+ @change="onChange"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ style="width: 100%;"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- <template v-if="advanced">
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="申请部门" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <department style="width: 100%;" id="expenseReimbursementDetailList-applyDepartmentSn" @change="applyDepartmentChange" v-model="queryParam.applyDepartmentSn"></department>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="费用类型">
|
|
|
- <expenseType
|
|
|
- id="expenseReimbursementDetailList-expenseType"
|
|
|
- v-model="expenseTypes"
|
|
|
- :changeOnSelect="true"
|
|
|
- @change="expenseChange"
|
|
|
- placeholder="请选择费用类型"
|
|
|
- ></expenseType>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="费用发生月份">
|
|
|
- <a-month-picker
|
|
|
- placeholder="请选择月份"
|
|
|
- v-model="queryParam.expenseDate"
|
|
|
- @change="onChange"
|
|
|
- :disabled-date="disabledDate"
|
|
|
- style="width: 100%;"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="记账类型">
|
|
|
- <v-select
|
|
|
- v-model="queryParam.accountType"
|
|
|
- ref="accountType"
|
|
|
- id="expenseReimbursementDetailList-accountType"
|
|
|
- code="EXPENSE_ACCOUNT_TYPE"
|
|
|
- placeholder="请选择状态"
|
|
|
- allowClear></v-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="记账名称">
|
|
|
- <!-- 部门 -->
|
|
|
- <department v-show="queryParam.accountType=='INNER_ACCOUNT'" @change="accountNameSnChange" v-model="queryParam.accountNameSn" placeholder="请选择记账名称(输入名称搜索)"></department>
|
|
|
- <!-- 经销商 -->
|
|
|
- <custList v-show="queryParam.accountType=='CUSTOMER'" ref="custList" @change="accountNameSnChange" placeholder="请选择记账名称(输入名称搜索)"></custList>
|
|
|
- <!-- 供应商 -->
|
|
|
- <supplier v-show="queryParam.accountType=='OUT_ACCOUNT'" @change="accountNameSnChange" v-model="queryParam.accountNameSn" placeholder="请选择记账名称(输入名称搜索)"></supplier>
|
|
|
- <a-select style="width: 100%" v-if="!queryParam.accountType" placeholder="请选择">
|
|
|
- <a-select-option value="" :disabled="true">
|
|
|
- 请先选择记账类型
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="所属区域">
|
|
|
- <a-input id="expenseReimbursementDetailList-subarea" v-model.trim="queryParam.subareaArea.subareaName" allowClear placeholder="请输入所属区域"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="所属分区">
|
|
|
- <a-input id="expenseReimbursementDetailList-subareaArea" v-model.trim="queryParam.subareaArea.subareaAreaName" allowClear placeholder="请输入所属分区"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-model-item label="所属省份">
|
|
|
- <Area id="expenseReimbursementDetailList-area" placeholder="请选择所属省份" v-model="queryParam.provinceSn"></Area>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-model-item label="所属城市">
|
|
|
- <Area id="expenseReimbursementDetailList-area" placeholder="请选择所属城市" leve="city" :parentId="queryParam.provinceSn" v-model="queryParam.citySn"></Area>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="费用承担方类型" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <v-select
|
|
|
- code="EXPENSE_ACCOUNT_DETAIL_SPLIT_OBJ_TYPE"
|
|
|
- allowClear
|
|
|
- style="width: 100%;"
|
|
|
- v-model="queryParam.splitObjType"
|
|
|
- @change="splitObjTypeChange"
|
|
|
- placeholder="请选择承担方类型"
|
|
|
- ></v-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="费用承担方" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <!-- 部门 -->
|
|
|
- <department v-show="queryParam.splitObjType=='DEPARTMENT'" style="width: 100%;" placeholder="请选择承担方" v-model="queryParam.splitObjSn"></department>
|
|
|
- <!-- 经销商 -->
|
|
|
- <custList v-show="queryParam.splitObjType=='CUSTOMER'" ref="custList" @change="custChange" placeholder="请选择(输入名称搜索)"></custList>
|
|
|
- <a-select style="width: 100%" v-if="!queryParam.splitObjType" placeholder="请选择">
|
|
|
- <a-select-option value="" :disabled="true">
|
|
|
- 请先选择承担方类型
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24" v-show="queryParam.splitObjType=='DEPARTMENT'">
|
|
|
- <a-form-item label="费用承担人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <employee style="width: 100%;" placeholder="请选择承担人员" v-model="queryParam.childSplitObjSn"></employee>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24" v-show="queryParam.splitObjType==undefined">
|
|
|
- <a-form-item label="费用承担人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
- <a-select style="width: 100%" placeholder="请选择">
|
|
|
- <a-select-option value="" :disabled="true">
|
|
|
- 请先选择承担方类型
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </template>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
- <span class="table-page-search-submitButtons">
|
|
|
- <a-button type="primary" :disabled="disabled" @click="$refs.table.refresh(true)">查询</a-button>
|
|
|
- <a-button style="margin-left: 8px" :disabled="disabled" @click="resetSearchForm()">重置</a-button>
|
|
|
- <a-button
|
|
|
- style="margin-left: 10px"
|
|
|
- type="primary"
|
|
|
- class="button-warning"
|
|
|
- @click="handleExport"
|
|
|
- :disabled="disabled"
|
|
|
- :loading="exportLoading"
|
|
|
- v-if="$hasPermissions('B_expenseAcctDetailReport')"
|
|
|
- id="expenseAcctDetail-export">导出</a-button>
|
|
|
- <a @click="advanced=!advanced" style="margin-left: 8px">
|
|
|
- {{ advanced ? '收起' : '展开' }}
|
|
|
- <a-icon :type="advanced ? 'up' : 'down'"/>
|
|
|
- </a>
|
|
|
- </span>
|
|
|
+ <a-form-item label="记账类型">
|
|
|
+ <v-select
|
|
|
+ v-model="queryParam.accountType"
|
|
|
+ ref="accountType"
|
|
|
+ id="expenseReimbursementDetailList-accountType"
|
|
|
+ code="EXPENSE_ACCOUNT_TYPE"
|
|
|
+ placeholder="请选择状态"
|
|
|
+ allowClear></v-select>
|
|
|
+ </a-form-item>
|
|
|
</a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </div>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="记账名称">
|
|
|
+ <!-- 部门 -->
|
|
|
+ <department v-show="queryParam.accountType=='INNER_ACCOUNT'" @change="accountNameSnChange" v-model="queryParam.accountNameSn" placeholder="请选择记账名称(输入名称搜索)"></department>
|
|
|
+ <!-- 经销商 -->
|
|
|
+ <custList v-show="queryParam.accountType=='CUSTOMER'" ref="custList" @change="accountNameSnChange" placeholder="请选择记账名称(输入名称搜索)"></custList>
|
|
|
+ <!-- 供应商 -->
|
|
|
+ <supplier v-show="queryParam.accountType=='OUT_ACCOUNT'" @change="accountNameSnChange" v-model="queryParam.accountNameSn" placeholder="请选择记账名称(输入名称搜索)"></supplier>
|
|
|
+ <a-select style="width: 100%" v-if="!queryParam.accountType" placeholder="请选择">
|
|
|
+ <a-select-option value="" :disabled="true">
|
|
|
+ 请先选择记账类型
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="所属区域">
|
|
|
+ <a-input id="expenseReimbursementDetailList-subarea" v-model.trim="queryParam.subareaArea.subareaName" allowClear placeholder="请输入所属区域"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="所属分区">
|
|
|
+ <a-input id="expenseReimbursementDetailList-subareaArea" v-model.trim="queryParam.subareaArea.subareaAreaName" allowClear placeholder="请输入所属分区"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-model-item label="所属省份">
|
|
|
+ <Area id="expenseReimbursementDetailList-area" placeholder="请选择所属省份" v-model="queryParam.provinceSn"></Area>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-model-item label="所属城市">
|
|
|
+ <Area id="expenseReimbursementDetailList-area" placeholder="请选择所属城市" leve="city" :parentId="queryParam.provinceSn" v-model="queryParam.citySn"></Area>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="费用承担方类型" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <v-select
|
|
|
+ code="EXPENSE_ACCOUNT_DETAIL_SPLIT_OBJ_TYPE"
|
|
|
+ allowClear
|
|
|
+ style="width: 100%;"
|
|
|
+ v-model="queryParam.splitObjType"
|
|
|
+ @change="splitObjTypeChange"
|
|
|
+ placeholder="请选择承担方类型"
|
|
|
+ ></v-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="费用承担方" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <!-- 部门 -->
|
|
|
+ <department v-show="queryParam.splitObjType=='DEPARTMENT'" style="width: 100%;" placeholder="请选择承担方" v-model="queryParam.splitObjSn"></department>
|
|
|
+ <!-- 经销商 -->
|
|
|
+ <custList v-show="queryParam.splitObjType=='CUSTOMER'" ref="custList" @change="custChange" placeholder="请选择(输入名称搜索)"></custList>
|
|
|
+ <a-select style="width: 100%" v-if="!queryParam.splitObjType" placeholder="请选择">
|
|
|
+ <a-select-option value="" :disabled="true">
|
|
|
+ 请先选择承担方类型
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24" v-show="queryParam.splitObjType=='DEPARTMENT'">
|
|
|
+ <a-form-item label="费用承担人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <employee style="width: 100%;" placeholder="请选择承担人员" v-model="queryParam.childSplitObjSn"></employee>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24" v-show="queryParam.splitObjType==undefined">
|
|
|
+ <a-form-item label="费用承担人" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
|
|
|
+ <a-select style="width: 100%" placeholder="请选择">
|
|
|
+ <a-select-option value="" :disabled="true">
|
|
|
+ 请先选择承担方类型
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </template>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <span class="table-page-search-submitButtons">
|
|
|
+ <a-button type="primary" :disabled="disabled" @click="$refs.table.refresh(true)">查询</a-button>
|
|
|
+ <a-button style="margin-left: 8px" :disabled="disabled" @click="resetSearchForm()">重置</a-button>
|
|
|
+ <a-button
|
|
|
+ style="margin-left: 10px"
|
|
|
+ type="primary"
|
|
|
+ class="button-warning"
|
|
|
+ @click="handleExport"
|
|
|
+ :disabled="disabled"
|
|
|
+ :loading="exportLoading"
|
|
|
+ v-if="$hasPermissions('B_expenseAcctDetailReport')"
|
|
|
+ id="expenseAcctDetail-export">导出</a-button>
|
|
|
+ <a @click="advanced=!advanced" style="margin-left: 8px">
|
|
|
+ {{ advanced ? '收起' : '展开' }}
|
|
|
+ <a-icon :type="advanced ? 'up' : 'down'"/>
|
|
|
+ </a>
|
|
|
+ </span>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </div>
|
|
|
+ </a-card>
|
|
|
+ <a-card size="small" :bordered="false" class="expenseReimbursementDetailList-wrap">
|
|
|
+ <a-spin :spinning="spinning" tip="Loading...">
|
|
|
<!-- alert -->
|
|
|
- <a-alert type="info" v-if="countData" style="margin-bottom:10px">
|
|
|
- <div slot="message">
|
|
|
- <div>
|
|
|
- 总单数:<strong>{{ countData&&(countData.detailNum || countData.detailNum==0) ? countData.detailNum : '--' }}</strong>;
|
|
|
- 总费用金额:<strong>{{ countData&&(countData.expense || countData.expense==0) ? toThousands(countData.expense) : '--' }}</strong>;
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </a-alert>
|
|
|
+ <div>
|
|
|
+ 总单数:<strong>{{ countData&&(countData.detailNum || countData.detailNum==0) ? countData.detailNum : '--' }}</strong>;
|
|
|
+ 总费用金额:<strong>{{ countData&&(countData.expense || countData.expense==0) ? toThousands(countData.expense) : '--' }}</strong>;
|
|
|
+ </div>
|
|
|
<!-- 列表 -->
|
|
|
<s-table
|
|
|
class="sTable fixPagination"
|
|
|
ref="table"
|
|
|
- :style="{ height: tableHeight+70+'px' }"
|
|
|
+ :style="{ height: tableHeight+80+'px' }"
|
|
|
size="small"
|
|
|
rowKeyName="no"
|
|
|
:rowKey="(record) => record.no"
|
|
|
:columns="columns"
|
|
|
:data="loadData"
|
|
|
+ :pageSize="30"
|
|
|
:scroll="{ y: tableHeight,x:2250 }"
|
|
|
:defaultLoadData="false"
|
|
|
bordered>
|
|
|
</s-table>
|
|
|
</a-spin>
|
|
|
</a-card>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -393,7 +394,7 @@ export default {
|
|
|
},
|
|
|
setTableH () {
|
|
|
const tableSearchH = this.$refs.tableSearch.offsetHeight
|
|
|
- this.tableHeight = window.innerHeight - tableSearchH - 226
|
|
|
+ this.tableHeight = window.innerHeight - tableSearchH - 235
|
|
|
}
|
|
|
},
|
|
|
watch: {
|