Commit cd9bdd96 authored by 耿迪迪's avatar 耿迪迪

项目交易中心查询

parent 7641c029
<template>
<div class="app-container">
<el-form
:model="queryParams"
size="mini"
ref="queryForm"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="交易细项名称" prop="transactionDetailName">
<el-input
v-model="queryParams.transactionDetailName"
placeholder="请输入交易细项名称"
clearable
size="small"
@keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="项目状态" prop="tradeStatus">
<el-select
v-model="queryParams.tradeStatus"
placeholder="请选择项目状态"
clearable
size="small">
<el-option
v-for="item in transactionProjectStatus"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"/>
</el-select>
</el-form-item>
<el-form-item label="卖方部门" prop="queryApplyDeptId">
<div style="width: 160px">
<treeselect
v-model="queryParams.queryApplyDeptId"
:options="deptOptions"
:show-count="true"
placeholder="请选择卖方部门"/>
</div>
</el-form-item>
<el-form-item label="买方部门" prop="queryTradeDeptId">
<div style="width: 160px">
<treeselect
v-model="queryParams.queryTradeDeptId"
:options="deptOptions"
:show-count="true"
placeholder="请选择买方部门"/>
</div>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="projectList">
<el-table-column
label="交易项目"
align="center"
prop="relationTransactionProjectId"
:formatter="transactionProjectName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="交易细项名称"
align="center"
prop="transactionDetailName"
:show-overflow-tooltip="true"
width="100"
>
<template slot-scope="scope">
<span v-if="scope.row.transactionDetailName">{{scope.row.transactionDetailName}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column
label="交易状态"
align="center"
prop="tradeStatus"
:formatter="getTradeStatus"
:show-overflow-tooltip="true"
/>
<el-table-column
label="卖方"
align="center"
prop="applyDeptName"
:show-overflow-tooltip="true"
/>
<el-table-column label="申请人" align="center" prop="applyName" />
<el-table-column label="申请时间" align="center" prop="createTime" width="150px"/>
<el-table-column label="申报总价" align="center" prop="tradeTotal" />
<el-table-column
label="买方"
align="center"
prop="tradeDeptName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="买方经办人"
align="center"
prop="tradeTransactorName"
:show-overflow-tooltip="true"
/>
<el-table-column label="交易评分" align="center" prop="tradeScore" />
<el-table-column label="交易成交价" align="center" prop="dealPrice" />
<el-table-column label="尾款" align="center" prop="pendingPayment" width="80"/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<OperatorButton
operatorName="tradeDetail"
:tradeInfo="scope.row"
@getList="getList"
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import OperatorButton from "../components/OperatorButton";
import { getTransactionProjectList } from "@/api/transaction/project.js";
import { listProject } from "@/api/transaction/tradeProject.js";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { treeselect } from "@/api/system/dept";
export default {
name: "tradeQuery",
components: {
OperatorButton,
Treeselect
},
data(){
return{
loading: false,
projectList: [],
transactionProjectStatus: [],
transactionProjects: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
relationTransactionProjectId: null,
transactionDetailName: null,
applyDeptId: null,
tradeType: null,
tradeDeptId: null,
tradeStatus: null,
createTime: null,
queryApplyDeptId: null,
queryTradeDeptId: null
},
// 总条数
total: 0,
deptOptions: [],
// 显示搜索条件
showSearch: true,
}
},
created(){
this.getList();
this.getTreeselect();
this.getTransactionProjects();
this.getDicts("t_transaction_project_status").then((response) => {
this.transactionProjectStatus = response.data;
});
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 查询交易项目列表 */
getList() {
this.loading = true;
listProject({...this.queryParams}).then((response) => {
this.projectList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//获取项目列表
getTransactionProjects(query) {
getTransactionProjectList(query).then((res) => {
if (res.code == 200) {
this.transactionProjects = res.data;
}
});
},
//获取项目名称
transactionProjectName(row) {
let project = this.transactionProjects.find(
(item) => item.transactionProjectId == row.relationTransactionProjectId
);
if (project) {
return project.transactionProjectName;
}
return "-";
},
//获取交易状态
getTradeStatus(row) {
return this.selectDictLabel(
this.transactionProjectStatus,
row.tradeStatus
);
},
/** 查询部门下拉树结构 */
getTreeselect() {
treeselect().then((response) => {
this.deptOptions = response.data;
});
},
}
}
</script>
<style scoped>
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment