|
@@ -1,6 +1,24 @@
|
|
|
<template>
|
|
|
<div class="manage">
|
|
|
<!-- <TitleBar propTitle="收入管理" /> -->
|
|
|
+ <div class="searchBtn">
|
|
|
+ <el-form :model="form" ref="searchForm" class="marginTop">
|
|
|
+ <el-form-item label="发生日期范围" :label-width="formLabelWidth">
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-date-picker placeholder="起始时间" style="width:100%" v-model="searchForm.startTime"></el-date-picker>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-date-picker placeholder="结束时间" style="width:100%" v-model="searchForm.endTime"></el-date-picker>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="position: absolute; width:23%; left:300px;">
|
|
|
+ <el-button type="primary" @click="onSearch">检索</el-button>
|
|
|
+ <el-button type="info" @click="onReset">清空条件</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
<div class="add-container">
|
|
|
<el-button type="primary" @click="append('INCOME')">增加收入</el-button>
|
|
|
</div>
|
|
@@ -13,31 +31,31 @@
|
|
|
max-height="750"
|
|
|
>
|
|
|
<el-table-column
|
|
|
- width="120px"
|
|
|
+ width="105px"
|
|
|
align="right"
|
|
|
label="发生日期"
|
|
|
:formatter="dateFormat"
|
|
|
prop="happenTime"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
- width="130px"
|
|
|
+ width="105px"
|
|
|
align="right"
|
|
|
label="金额"
|
|
|
:formatter="moneyFormat"
|
|
|
prop="amount"
|
|
|
></el-table-column>
|
|
|
- <el-table-column width="120px" align="right" label="收入状态">
|
|
|
+ <el-table-column width="95px" align="right" label="收入状态">
|
|
|
<template slot-scope="props">
|
|
|
<span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="160px" align="right" label="产品" prop="product.name"></el-table-column>
|
|
|
- <el-table-column width="235px" align="right" label="归属项目" prop="project.name"></el-table-column>
|
|
|
+ <el-table-column width="130px" align="right" label="产品" prop="product.name"></el-table-column>
|
|
|
+ <el-table-column width="165px" align="right" label="归属项目" prop="project.name"></el-table-column>
|
|
|
<el-table-column width="230px" align="right" label="归属部门" prop="department.name"></el-table-column>
|
|
|
- <el-table-column label="接收项目" width="235px" align="right" prop="toProject.name"></el-table-column>
|
|
|
+ <!-- <el-table-column label="接收项目" width="235px" align="right" prop="toProject.name"></el-table-column> -->
|
|
|
|
|
|
<!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
|
|
|
- <el-table-column label="来源部门" width="300px" align="right" prop="toDepartment.name"></el-table-column>
|
|
|
+ <el-table-column label="客户" width="300px" align="right" prop="toDepartment.name"></el-table-column>
|
|
|
|
|
|
<el-table-column align="right" label="备注" min-width="300px" prop="remark">
|
|
|
<!-- <template slot="header" slot-scope="scope">
|
|
@@ -77,7 +95,7 @@
|
|
|
layout="prev, pager, next"
|
|
|
:total="totalNumber"
|
|
|
></el-pagination>
|
|
|
-
|
|
|
+
|
|
|
<el-dialog :title="type == 'INCOME' ? '收入' : '成本'" :visible.sync="dialogFormVisible">
|
|
|
<el-form :model="form" ref="form">
|
|
|
<el-form-item
|
|
@@ -142,18 +160,18 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="来源部门" prop="toDeptId" :label-width="formLabelWidth">
|
|
|
+ <el-form-item label="客户" prop="toDeptId" :label-width="formLabelWidth">
|
|
|
<el-select v-model="form.toDeptId" placeholder="请选择部门">
|
|
|
<el-option key label="无" value></el-option>
|
|
|
<el-option
|
|
|
- v-for="item in teamSelectData"
|
|
|
+ v-for="item in costTeamSelectData"
|
|
|
:key="item.id"
|
|
|
:label="item.code +'--'+ item.name"
|
|
|
:value="item.id"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="来源项目" prop="toProjectId" :label-width="formLabelWidth">
|
|
|
+ <!-- <el-form-item label="来源项目" prop="toProjectId" :label-width="formLabelWidth">
|
|
|
<el-select v-model="form.toProjectId" placeholder="请选择项目">
|
|
|
<el-option key label="无" value></el-option>
|
|
|
<el-option
|
|
@@ -163,7 +181,7 @@
|
|
|
:value="item.id"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
|
|
|
<el-form-item label="归属部门" prop="deptId" :label-width="formLabelWidth">
|
|
|
<el-select v-model="form.deptId" placeholder="请选择部门" ref="select" @change="getName">
|
|
@@ -176,8 +194,14 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="添加备注" prop="remark" :label-width="formLabelWidth">
|
|
|
- <el-input type="textarea" style="width: 250px; display: block" :rows="2" v-model="form.remark" autocomplete="off"></el-input>
|
|
|
+ <el-form-item label="添加备注" prop="remark" :label-width="formLabelWidth">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ style="width: 250px; display: block"
|
|
|
+ :rows="2"
|
|
|
+ v-model="form.remark"
|
|
|
+ autocomplete="off"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -212,6 +236,7 @@ export default {
|
|
|
addFlag: false,
|
|
|
id: "",
|
|
|
search: "",
|
|
|
+ searchFlag: false,
|
|
|
form: {
|
|
|
deptId: "",
|
|
|
projectId: "",
|
|
@@ -231,6 +256,24 @@ export default {
|
|
|
status: "NORMAL",
|
|
|
sort: ""
|
|
|
},
|
|
|
+ searchForm: {
|
|
|
+ type: "INCOME",
|
|
|
+ productId: [],
|
|
|
+ projectId: [],
|
|
|
+ toDeptId: "",
|
|
|
+ toProjectId: "",
|
|
|
+ deptId: [],
|
|
|
+ incomeStatus: [],
|
|
|
+ status: "NORMAL",
|
|
|
+ costTypeId: [],
|
|
|
+ startTime: null,
|
|
|
+ endTime: null,
|
|
|
+ minAmount: "",
|
|
|
+ maxAmount: "",
|
|
|
+ isEntry: true,
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 50
|
|
|
+ },
|
|
|
pageNo: 1,
|
|
|
pageSize: 50,
|
|
|
totalNumber: 0,
|
|
@@ -246,7 +289,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
// 获取部门下拉框
|
|
|
- getTeamSelect().then(res => {
|
|
|
+ getTeamSelect('COMPANY').then(res => {
|
|
|
this.teamSelectData = res.data;
|
|
|
this.form.deptId = res.data[0].id;
|
|
|
});
|
|
@@ -269,14 +312,14 @@ export default {
|
|
|
this.manageData = res.data.content;
|
|
|
this.totalNumber = parseInt(res.data.totalElements);
|
|
|
});
|
|
|
- //获取单位下拉
|
|
|
- getCostTeamSelect().then(res => {
|
|
|
+ //获取客户下拉
|
|
|
+ getTeamSelect('PARTNER').then(res => {
|
|
|
this.costTeamSelectData = res.data;
|
|
|
});
|
|
|
//获取成本类型下拉
|
|
|
- getCostTypeSelect().then(res => {
|
|
|
- this.costTypeSelectData = res.data;
|
|
|
- });
|
|
|
+ // getCostTypeSelect().then(res => {
|
|
|
+ // this.costTypeSelectData = res.data;
|
|
|
+ // });
|
|
|
},
|
|
|
methods: {
|
|
|
// 金额格式化
|
|
@@ -308,7 +351,6 @@ export default {
|
|
|
return "";
|
|
|
},
|
|
|
isDel({ row, rowIndex }) {
|
|
|
- console.log("进入class判断");
|
|
|
if (row.status === "DEL") {
|
|
|
return "isDel";
|
|
|
}
|
|
@@ -382,9 +424,16 @@ export default {
|
|
|
setManage(this.form).then(res => {
|
|
|
//获取经营列表
|
|
|
getManageList({
|
|
|
- type: "INCOME"
|
|
|
+ type: "INCOME",
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 50,
|
|
|
+ startTime: this.searchFlag ? this.searchForm.startTime : null,
|
|
|
+ endTime: this.searchFlag ? this.searchForm.endTime : null,
|
|
|
+ isEntry: true
|
|
|
}).then(res => {
|
|
|
- this.manageData = res.data;
|
|
|
+ console.log(res)
|
|
|
+ this.manageData = res.data.content;
|
|
|
+ this.totalSize = res.data.totalPages;
|
|
|
});
|
|
|
this.$refs[formName].resetFields();
|
|
|
this.$message({
|
|
@@ -433,6 +482,34 @@ export default {
|
|
|
},
|
|
|
recordTimeFormat(row) {
|
|
|
return formatTime(row.gmtModified);
|
|
|
+ },
|
|
|
+ // 按时间检索
|
|
|
+ onSearch() {
|
|
|
+ this.$post("manageBase/manage/search", this.searchForm).then(response => {
|
|
|
+ if (response.data && response.data.length == 0) {
|
|
|
+ this.totalSum = 0;
|
|
|
+ this.$message("未找到相应数据");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.searchFlag = true;
|
|
|
+ this.manageData = response.data.content;
|
|
|
+ this.totalNumber = parseInt(response.data.totalElements);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 清空检索条件
|
|
|
+ onReset() {
|
|
|
+ this.searchFlag = false;
|
|
|
+ this.searchForm.startTime = null;
|
|
|
+ this.searchForm.endTime = null;
|
|
|
+ getManageList({
|
|
|
+ type: "INCOME",
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 50,
|
|
|
+ isEntry: true
|
|
|
+ }).then(res => {
|
|
|
+ this.manageData = res.data.content;
|
|
|
+ this.totalNumber = parseInt(res.data.totalElements);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|