|
|
@@ -1,20 +1,20 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
- <el-form-item label="付款标题" prop="paymentTitle">
|
|
|
- <el-input v-model="queryParams.paymentTitle" placeholder="请输入付款标题" clearable style="width: 250px"
|
|
|
+ <el-form-item label="客户名称" prop="customerName">
|
|
|
+ <el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable style="width: 250px"
|
|
|
@keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="付款编号" prop="paymentInfoUuid">
|
|
|
- <el-input v-model="queryParams.paymentInfoUuid" placeholder="请输入付款编号" clearable style="width: 250px"
|
|
|
+ <el-form-item label="行业" prop="trade">
|
|
|
+ <el-input v-model="queryParams.trade" placeholder="请输入行业" clearable style="width: 250px"
|
|
|
@keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="创建人" prop="creatorName">
|
|
|
- <el-input v-model="queryParams.creatorName" placeholder="创建人" clearable style="width: 250px"
|
|
|
+ <el-form-item label="添加人" prop="creatorName">
|
|
|
+ <el-input v-model="queryParams.creatorName" placeholder="添加人" clearable style="width: 250px"
|
|
|
@keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="付款日期" prop="paymentDate">
|
|
|
- <el-date-picker v-model="queryParams.paymentDate" style="width: 250px" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ <el-form-item label="成立时间" prop="registDate">
|
|
|
+ <el-date-picker v-model="queryParams.registDate" style="width: 250px" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
:default-time="['00:00:00', '23:59:59']" />
|
|
|
</el-form-item>
|
|
|
@@ -27,22 +27,25 @@
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
- v-hasPermi="['cash:payment-info:create']">新增</el-button>
|
|
|
+ v-hasPermi="['customer:info:create']">新增</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
|
|
- v-hasPermi="['cash:payment-info:export']">导出</el-button>
|
|
|
+ v-hasPermi="['customer:info:export']">导出</el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="dataList">
|
|
|
- <el-table-column label="付款标题" align="center" prop="paymentTitle" min-width="150" />
|
|
|
- <el-table-column label="付款编号" align="center" prop="paymentInfoUuid" min-width="250" />
|
|
|
- <el-table-column label="付款日期" align="center" prop="paymentDate" min-width="100" />
|
|
|
- <el-table-column label="付款金额" align="center" prop="paymentMoney" min-width="100" />
|
|
|
- <el-table-column label="创建人" align="center" prop="creatorName" min-width="80" />
|
|
|
- <el-table-column label="创建时间" align="center" prop="createTime" min-width="150">
|
|
|
+ <el-table-column label="客户名称" align="center" prop="customerName" min-width="100" />
|
|
|
+ <el-table-column label="行业" align="center" prop="trade" min-width="100" />
|
|
|
+ <el-table-column label="客户成立时间" align="center" prop="registDate" min-width="120" />
|
|
|
+ <el-table-column label="注册资本金(万元)" align="center" prop="capital" min-width="150" />
|
|
|
+ <el-table-column label="客户地址" align="center" prop="companyAddress" min-width="100" />
|
|
|
+ <el-table-column label="客户联系人" align="center" prop="customerPerson" min-width="100" />
|
|
|
+ <el-table-column label="客户联系手机号" align="center" prop="customerPersonPhone" min-width="150" />
|
|
|
+ <el-table-column label="添加人" align="center" prop="creatorName" min-width="80" />
|
|
|
+ <el-table-column label="添加时间" align="center" prop="createTime" min-width="150">
|
|
|
<template v-slot="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
@@ -50,9 +53,9 @@
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="150">
|
|
|
<template v-slot="scope">
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['cash:payment-info:update']">修改</el-button>
|
|
|
+ v-hasPermi="['customer:info:update']">修改</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['cash:payment-info:delete']">删除</el-button>
|
|
|
+ v-hasPermi="['customer:info:delete']">删除</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-detail" @click="handleDetail(scope.row)">详情</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -66,36 +69,69 @@
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="付款标题" prop="paymentTitle">
|
|
|
- <el-input maxlength="20" v-model="form.paymentTitle" placeholder='请输入付款标题'></el-input>
|
|
|
+ <el-form-item label="客户名称" prop="customerName">
|
|
|
+ <el-input maxlength="20" v-model="form.customerName" placeholder='请输入客户名称'></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="付款日期" prop="paymentDate">
|
|
|
- <el-date-picker value-format="yyyy-MM-dd" v-model="form.paymentDate" type="date" placeholder="选择日期"
|
|
|
+ <el-form-item label="成立时间" prop="registDate">
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd" v-model="form.registDate" type="date" placeholder="选择日期"
|
|
|
style="width: 100%;">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="付款金额" prop="paymentMoney">
|
|
|
- <el-input v-model="form.paymentMoney" placeholder='预估费用' oninput="value=value.match(/\d+\.?\d{0,2}/,'')"></el-input>
|
|
|
+ <el-form-item label="注册资金" prop="capital">
|
|
|
+ <el-input v-model="form.capital" placeholder='请输入注册资本金(万元)' oninput="value=value.match(/\d+\.?\d{0,2}/,'')"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="收款信息" prop="payee">
|
|
|
- <el-input maxlength="200" rows="4" show-word-limit type="textarea" v-model="form.payee"
|
|
|
- placeholder="请输入收款方信息" />
|
|
|
+ <el-form-item label="法人代表" prop="legalPerson">
|
|
|
+ <el-input v-model="form.legalPerson" placeholder='请输入法人代表'></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="付款事由" prop="reason">
|
|
|
- <el-input maxlength="50" rows="2" show-word-limit type="textarea" v-model="form.reason"
|
|
|
- placeholder="请输入付款事由" />
|
|
|
+ <el-form-item label="员工人数" prop="workforce">
|
|
|
+ <el-input v-model="form.workforce" placeholder='请输入员工人数'></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="附件">
|
|
|
+ <el-form-item label="行业" prop="trade">
|
|
|
+ <el-input v-model="form.trade" placeholder='请输入行业'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="企业性质" prop="customerNature">
|
|
|
+ <el-input v-model="form.customerNature" placeholder='请输入企业性质'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="客户地址" prop="companyAddress">
|
|
|
+ <el-input v-model="form.companyAddress" placeholder='请输入客户地址'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="联系人" prop="customerPerson">
|
|
|
+ <el-input v-model="form.customerPerson" placeholder='请输入客户联系人'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="手机号" prop="customerPersonPhone">
|
|
|
+ <el-input v-model="form.customerPersonPhone" placeholder='请输入客户联系手机号'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="办公地址" prop="companyPersonAddress">
|
|
|
+ <el-input v-model="form.companyPersonAddress" placeholder='请输入客户联系人办公地址'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="客户来源" prop="customerFrom">
|
|
|
+ <el-input v-model="form.customerFrom" placeholder='请输入客户来源'></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="营业执照">
|
|
|
<el-upload :action="fileUrl" :headers="headers" :file-list="files" :on-success="handleFileSuccessCite"
|
|
|
:before-upload="beforeUploadFile" :on-remove="handleRemove">
|
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
|
@@ -122,28 +158,28 @@
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
<span class="field-required">*</span>
|
|
|
- <div class="field-name">付款标题</div>
|
|
|
+ <div class="field-name">客户名称</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
- <span :title="form.paymentTitle">{{ form.paymentTitle }}</span>
|
|
|
+ <span :title="form.customerName">{{ form.customerName }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
<span class="field-required">*</span>
|
|
|
- <div class="field-name">付款日期</div>
|
|
|
+ <div class="field-name">成立时间</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
- <span :title="form.paymentDate">{{ form.paymentDate }}</span>
|
|
|
+ <span :title="form.registDate">{{ form.registDate }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
<span class="field-required">*</span>
|
|
|
- <div class="field-name">付款金额</div>
|
|
|
+ <div class="field-name">注册资金</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
- <span :title="form.paymentMoney">{{ form.paymentMoney }}</span>
|
|
|
+ <span :title="form.capital">{{ form.capital }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -151,25 +187,89 @@
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
<span class="field-required">*</span>
|
|
|
- <div class="field-name">收款方信息</div>
|
|
|
+ <div class="field-name">法人代表</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.legalPerson">{{ form.legalPerson }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">员工人数</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.workforce">{{ form.workforce }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">行业</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.trade">{{ form.trade }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">企业性质</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
- <span :title="form.payee">{{ form.payee }}</span>
|
|
|
+ <span :title="form.customerNature">{{ form.customerNature }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
<span class="field-required">*</span>
|
|
|
- <div class="field-name">付款事由</div>
|
|
|
+ <div class="field-name">客户地址</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
- <span :title="form.reason">{{ form.reason }}</span>
|
|
|
+ <span :title="form.companyAddress">{{ form.companyAddress }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">联系人</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.customerPerson">{{ form.customerPerson }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">手机号</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.customerPersonPhone">{{ form.customerPersonPhone }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">办公地址</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.companyPersonAddress">{{ form.companyPersonAddress }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fx-field x-grid-col-12">
|
|
|
+ <div class="field-label">
|
|
|
+ <span class="field-required">*</span>
|
|
|
+ <div class="field-name">客户来源</div>
|
|
|
+ </div>
|
|
|
+ <div class="field-component">
|
|
|
+ <span :title="form.customerFrom">{{ form.customerFrom }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="fx-field x-grid-col-12">
|
|
|
<div class="field-label">
|
|
|
- <div class="field-name">附件</div>
|
|
|
+ <div class="field-name">营业执照</div>
|
|
|
</div>
|
|
|
<div class="field-component">
|
|
|
<div v-for="(item, index) in form.fileList" :key="index">
|
|
|
@@ -193,17 +293,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listSimplePosts } from "@/api/system/post";
|
|
|
-import { listPaymentInfo, getPaymentInfo, delPaymentInfo, addPaymentInfo, updatePaymentInfo, exportPaymentInfo } from "@/api/finance/cash/paymentInfo";
|
|
|
-import Treeselect from "@riophae/vue-treeselect";
|
|
|
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
-import { listDept } from "@/api/system/dept";
|
|
|
+import { listCustomer, getCustomer, delCustomer, addCustomer, updateCustomer, exportCustomer } from "@/api/crm/customer";
|
|
|
import { getBaseHeader } from "@/utils/request";
|
|
|
export default {
|
|
|
- name: "SystemDictType",
|
|
|
- components: {
|
|
|
- Treeselect,
|
|
|
- },
|
|
|
data() {
|
|
|
return {
|
|
|
files: [],
|
|
|
@@ -230,22 +322,22 @@ export default {
|
|
|
queryParams: {
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
- paymentTitle: undefined,
|
|
|
- paymentInfoUuid: undefined,
|
|
|
+ customerName: undefined,
|
|
|
+ trade: undefined,
|
|
|
creatorName: undefined,
|
|
|
- paymentDate: [],
|
|
|
+ registDate: [],
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
- paymentTitle: [
|
|
|
- { required: true, message: '请输入付款标题', trigger: 'blur' },
|
|
|
+ customerName: [
|
|
|
+ { required: true, message: '请输入客户名称', trigger: 'blur' },
|
|
|
],
|
|
|
- paymentDate: [
|
|
|
- { required: true, message: '请选择付款日期', trigger: 'blur' }
|
|
|
+ registDate: [
|
|
|
+ { required: true, message: '请选择成立时间', trigger: 'blur' }
|
|
|
],
|
|
|
- paymentMoney: [
|
|
|
+ capital: [
|
|
|
{ required: true, message: '请输入金额', trigger: 'blur' },
|
|
|
{
|
|
|
pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
|
|
|
@@ -253,11 +345,11 @@ export default {
|
|
|
trigger: "blur"
|
|
|
}
|
|
|
],
|
|
|
- payee: [
|
|
|
- { required: true, message: '请输入收款方信息', trigger: 'blur' },
|
|
|
+ legalPerson: [
|
|
|
+ { required: true, message: '请输入法人代表', trigger: 'blur' },
|
|
|
],
|
|
|
- reason: [
|
|
|
- { required: true, message: '请输入付款事由', trigger: 'blur' },
|
|
|
+ workforce: [
|
|
|
+ { required: true, message: '请输入员工人数', trigger: 'blur' },
|
|
|
],
|
|
|
},
|
|
|
};
|
|
|
@@ -307,7 +399,7 @@ export default {
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
// 执行查询
|
|
|
- listPaymentInfo(this.queryParams).then(response => {
|
|
|
+ listCustomer(this.queryParams).then(response => {
|
|
|
this.dataList = response.data.list;
|
|
|
this.total = response.data.total;
|
|
|
this.loading = false;
|
|
|
@@ -321,14 +413,20 @@ export default {
|
|
|
// 表单重置
|
|
|
reset() {
|
|
|
this.form = {
|
|
|
- paymentTitle: undefined,
|
|
|
- customerId: undefined,
|
|
|
- contractId: undefined,
|
|
|
- contractCode: undefined,
|
|
|
- paymentDate: undefined,
|
|
|
- paymentMoney: undefined,
|
|
|
- refundCycle: undefined,
|
|
|
- overdueDay: undefined,
|
|
|
+ customerName: undefined,
|
|
|
+ registDate: undefined,
|
|
|
+ capital: undefined,
|
|
|
+ legalPerson: undefined,
|
|
|
+ workforce: undefined,
|
|
|
+ trade: undefined,
|
|
|
+ customerNature: undefined,
|
|
|
+ companyAddress: undefined,
|
|
|
+
|
|
|
+
|
|
|
+ customerPerson: undefined,
|
|
|
+ customerPersonPhone: undefined,
|
|
|
+ companyPersonAddress: undefined,
|
|
|
+ customerFrom: undefined,
|
|
|
fileIdList: undefined,
|
|
|
remarks: undefined,
|
|
|
};
|
|
|
@@ -355,7 +453,7 @@ export default {
|
|
|
handleDetail(row) {
|
|
|
this.reset();
|
|
|
const id = row.id;
|
|
|
- getPaymentInfo(id).then(response => {
|
|
|
+ getCustomer(id).then(response => {
|
|
|
this.form = response.data;
|
|
|
this.openDetail = true;
|
|
|
this.title = "详情";
|
|
|
@@ -365,7 +463,7 @@ export default {
|
|
|
handleUpdate(row) {
|
|
|
this.reset();
|
|
|
const id = row.id;
|
|
|
- getPaymentInfo(id).then(response => {
|
|
|
+ getCustomer(id).then(response => {
|
|
|
let files = response.data.fileList;
|
|
|
if (files) {
|
|
|
this.files = [];
|
|
|
@@ -391,13 +489,13 @@ export default {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
if (this.form.id !== undefined) {
|
|
|
- updatePaymentInfo(this.form).then(response => {
|
|
|
+ updateCustomer(this.form).then(response => {
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
this.open = false;
|
|
|
this.getList();
|
|
|
});
|
|
|
} else {
|
|
|
- addPaymentInfo(this.form).then(response => {
|
|
|
+ addCustomer(this.form).then(response => {
|
|
|
this.$modal.msgSuccess("新增成功");
|
|
|
this.open = false;
|
|
|
this.getList();
|
|
|
@@ -410,7 +508,7 @@ export default {
|
|
|
handleDelete(row) {
|
|
|
const ids = row.id || this.ids;
|
|
|
this.$modal.confirm('是否确认删除数据项?').then(function () {
|
|
|
- return delPaymentInfo(ids);
|
|
|
+ return delCustomer(ids);
|
|
|
}).then(() => {
|
|
|
this.getList();
|
|
|
this.$modal.msgSuccess("删除成功");
|
|
|
@@ -425,9 +523,9 @@ export default {
|
|
|
// 执行导出
|
|
|
this.$modal.confirm('是否确认导出所有数据项?').then(() => {
|
|
|
this.exportLoading = true;
|
|
|
- return exportPaymentInfo(params);
|
|
|
+ return exportCustomer(params);
|
|
|
}).then(response => {
|
|
|
- this.$download.excel(response, '付款信息.xls');
|
|
|
+ this.$download.excel(response, '客户信息.xls');
|
|
|
this.exportLoading = false;
|
|
|
}).catch(() => { });
|
|
|
}
|