소스 검색

商机信息

sunlupeng 1 년 전
부모
커밋
7f86ae5c25
5개의 변경된 파일342개의 추가작업 그리고 183개의 파일을 삭제
  1. 6 6
      src/api/crm/business.js
  2. 6 6
      src/api/crm/customer.js
  3. 137 92
      src/views/crm/business/index.vue
  4. 16 0
      src/views/crm/business/status/index.vue
  5. 177 79
      src/views/crm/customer/index.vue

+ 6 - 6
src/api/crm/business.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
 
 // 查询列表
-export function listPaymentInfo(query) {
+export function listBusiness(query) {
   return request({
     url: '/finance/cash/payment-info/page',
     method: 'get',
@@ -10,7 +10,7 @@ export function listPaymentInfo(query) {
 }
 
 // 查询详细
-export function getPaymentInfo(dictId) {
+export function getBusiness(dictId) {
   return request({
     url: '/finance/cash/payment-info/get?id=' + dictId,
     method: 'get'
@@ -18,7 +18,7 @@ export function getPaymentInfo(dictId) {
 }
 
 // 新增
-export function addPaymentInfo(data) {
+export function addBusiness(data) {
   return request({
     url: '/finance/cash/payment-info/create',
     method: 'post',
@@ -27,7 +27,7 @@ export function addPaymentInfo(data) {
 }
 
 // 修改
-export function updatePaymentInfo(data) {
+export function updateBusiness(data) {
   return request({
     url: '/finance/cash/payment-info/update',
     method: 'put',
@@ -36,7 +36,7 @@ export function updatePaymentInfo(data) {
 }
 
 // 删除
-export function delPaymentInfo(dictId) {
+export function delBusiness(dictId) {
   return request({
     url: '/finance/cash/payment-info/delete?id=' + dictId,
     method: 'delete'
@@ -44,7 +44,7 @@ export function delPaymentInfo(dictId) {
 }
 
 // 导出
-export function exportPaymentInfo(query) {
+export function exportBusiness(query) {
   return request({
     url: '/finance/cash/payment-info/export-excel',
     method: 'get',

+ 6 - 6
src/api/crm/customer.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
 
 // 查询列表
-export function listPaymentInfo(query) {
+export function listCustomer(query) {
   return request({
     url: '/finance/cash/payment-info/page',
     method: 'get',
@@ -10,7 +10,7 @@ export function listPaymentInfo(query) {
 }
 
 // 查询详细
-export function getPaymentInfo(dictId) {
+export function getCustomer(dictId) {
   return request({
     url: '/finance/cash/payment-info/get?id=' + dictId,
     method: 'get'
@@ -18,7 +18,7 @@ export function getPaymentInfo(dictId) {
 }
 
 // 新增
-export function addPaymentInfo(data) {
+export function addCustomer(data) {
   return request({
     url: '/finance/cash/payment-info/create',
     method: 'post',
@@ -27,7 +27,7 @@ export function addPaymentInfo(data) {
 }
 
 // 修改
-export function updatePaymentInfo(data) {
+export function updateCustomer(data) {
   return request({
     url: '/finance/cash/payment-info/update',
     method: 'put',
@@ -36,7 +36,7 @@ export function updatePaymentInfo(data) {
 }
 
 // 删除
-export function delPaymentInfo(dictId) {
+export function delCustomer(dictId) {
   return request({
     url: '/finance/cash/payment-info/delete?id=' + dictId,
     method: 'delete'
@@ -44,7 +44,7 @@ export function delPaymentInfo(dictId) {
 }
 
 // 导出
-export function exportPaymentInfo(query) {
+export function exportCustomer(query) {
   return request({
     url: '/finance/cash/payment-info/export-excel',
     method: 'get',

+ 137 - 92
src/views/crm/business/index.vue

@@ -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="opportunityName">
+        <el-input v-model="queryParams.opportunityName" 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="projectType">
+        <el-input v-model="queryParams.projectType" 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="estimatedDealTime">
+        <el-date-picker v-model="queryParams.estimatedDealTime" 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,32 +27,36 @@
     <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="opportunityName" min-width="100" />
+      <el-table-column label="项目类型" align="center" prop="projectType" min-width="100" />
+      <el-table-column label="客户名称" align="center" prop="customerName" min-width="120" />
+      <el-table-column label="申请人" align="center" prop="creatorEmployeeName" min-width="150" />
+      <el-table-column label="部门" align="center" prop="deptName" min-width="100" />
+      <el-table-column label="预计合同金额" align="center" prop="estimatedContractAmount" min-width="100" />
+      <el-table-column label="预计项目毛利" align="center" prop="estimatedProjectMargin" min-width="150" />
+      <el-table-column label="预计项目成功率" align="center" prop="estimatedSuccessRate" min-width="150" />
+      <el-table-column label="预计进单时间" align="center" prop="estimatedDealTime" min-width="150">
         <template v-slot="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="商机等级" align="center" prop="opportunityLevel" min-width="80" />
       <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,40 +70,55 @@
       <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="opportunityName">
+              <el-input maxlength="20" v-model="form.opportunityName" 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="选择日期"
-                style="width: 100%;">
-              </el-date-picker>
+            <el-form-item label="项目类型" prop="projectType">
+              <el-input v-model="form.projectType" placeholder='请输入项目类型'></el-input>
             </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="customerId">
+              <el-input v-model="form.customerId" placeholder='请输入客户名称'></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="申请人" prop="creatorEmployeeName">
+              <el-input v-model="form.creatorEmployeeName" placeholder='请输入申请人'></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="部门" prop="deptName">
+              <el-input v-model="form.deptName" placeholder='请输入部门'></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+              <el-form-item label="合同金额" prop="estimatedContractAmount">
+                  <el-input v-model="form.estimatedContractAmount" 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="estimatedProjectMargin">
+              <el-input v-model="form.estimatedProjectMargin" placeholder='请输入客户地址'></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="成功率" prop="estimatedSuccessRate">
+              <el-input v-model="form.estimatedSuccessRate" 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="estimatedDealTime">
+              <el-date-picker value-format="yyyy-MM-dd" v-model="form.estimatedDealTime" type="date" placeholder="选择日期"
+                style="width: 100%;">
+              </el-date-picker>
             </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>
-              </el-upload>
+            <el-form-item label="商机等级" prop="opportunityLevel">
+              <el-input v-model="form.opportunityLevel" placeholder='请输入客户联系手机号'></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -122,61 +141,92 @@
       <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.opportunityName">{{ form.opportunityName }}</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.projectType">{{ form.projectType }}</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.customerId">{{ form.customerId }}</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.payee">{{ form.payee }}</span>
+          <span :title="form.creatorEmployeeName">{{ form.creatorEmployeeName }}</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.deptName">{{ form.deptName }}</span>
         </div>
       </div>
-
       <div class="fx-field x-grid-col-12">
         <div class="field-label">
-          <div class="field-name">附件</div>
+          <span class="field-required">*</span>
+          <div class="field-name">合同金额</div>
         </div>
         <div class="field-component">
-          <div v-for="(item, index) in form.fileList" :key="index">
-            <a :href="item.url" target="_blank" :title="item.name" style="color: #5094d5;">{{ item.name }}</a>
-          </div>
+          <span :title="form.estimatedContractAmount">{{ form.estimatedContractAmount }}</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.estimatedProjectMargin">{{ form.estimatedProjectMargin }}</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.estimatedSuccessRate">{{ form.estimatedSuccessRate }}</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.estimatedDealTime">{{ form.estimatedDealTime }}</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.opportunityLevel">{{ form.opportunityLevel }}</span>
         </div>
-       
       </div>
       <div class="fx-field x-grid-col-12">
         <div class="field-label">
@@ -193,17 +243,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 { listBusiness, getBusiness, delBusiness, addBusiness, updateBusiness, exportBusiness } from "@/api/crm/business";
 import { getBaseHeader } from "@/utils/request";
 export default {
-  name: "SystemDictType",
-  components: {
-    Treeselect,
-  },
   data() {
     return {
       files: [],
@@ -230,22 +272,22 @@ export default {
       queryParams: {
         pageNo: 1,
         pageSize: 10,
-        paymentTitle: undefined,
-        paymentInfoUuid: undefined,
+        opportunityName: undefined,
+        projectType: undefined,
         creatorName: undefined,
-        paymentDate: [],
+        estimatedDealTime: [],
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
-        paymentTitle: [
-          { required: true, message: '请输入付款标题', trigger: 'blur' },
+        opportunityName: [
+          { required: true, message: '请输入商机名称', trigger: 'blur' },
         ],
-        paymentDate: [
-          { required: true, message: '请选择付款日期', trigger: 'blur' }
+        estimatedDealTime: [
+          { required: true, message: '请选择成立时间', trigger: 'blur' }
         ],
-        paymentMoney: [
+        estimatedContractAmount: [
           { required: true, message: '请输入金额', trigger: 'blur' },
           {
               pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
@@ -253,11 +295,11 @@ export default {
               trigger: "blur"
           }
         ],
-        payee: [
-          { required: true, message: '请输入收款方信息', trigger: 'blur' },
+        projectType: [
+          { required: true, message: '请输入项目类型', trigger: 'blur' },
         ],
-        reason: [
-          { required: true, message: '请输入付款事由', trigger: 'blur' },
+        customerId: [
+          { required: true, message: '请输入客户名称', trigger: 'blur' },
         ],
       },
     };
@@ -307,7 +349,7 @@ export default {
     getList() {
       this.loading = true;
       // 执行查询
-      listPaymentInfo(this.queryParams).then(response => {
+      listBusiness(this.queryParams).then(response => {
         this.dataList = response.data.list;
         this.total = response.data.total;
         this.loading = false;
@@ -321,15 +363,18 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        paymentTitle: undefined,
+        opportunityName: undefined,
+        projectType: undefined,
         customerId: undefined,
-        contractId: undefined,
-        contractCode: undefined,
-        paymentDate: undefined,
-        paymentMoney: undefined,
-        refundCycle: undefined,
-        overdueDay: undefined,
-        fileIdList: undefined,
+        creatorEmployeeName: undefined,
+        deptName: undefined,
+        estimatedContractAmount: undefined,
+        estimatedProjectMargin: undefined,
+        estimatedSuccessRate: undefined,
+
+
+        estimatedDealTime: undefined,
+        opportunityLevel: undefined,
         remarks: undefined,
       };
       this.resetForm("form");
@@ -355,7 +400,7 @@ export default {
     handleDetail(row) {
       this.reset();
       const id = row.id;
-      getPaymentInfo(id).then(response => {
+      getBusiness(id).then(response => {
         this.form = response.data;
         this.openDetail = true;
         this.title = "详情";
@@ -365,7 +410,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id;
-      getPaymentInfo(id).then(response => {
+      getBusiness(id).then(response => {
         let files = response.data.fileList;
         if (files) {
           this.files = [];
@@ -391,13 +436,13 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.form.id !== undefined) {
-            updatePaymentInfo(this.form).then(response => {
+            updateBusiness(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addPaymentInfo(this.form).then(response => {
+            addBusiness(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -410,7 +455,7 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$modal.confirm('是否确认删除数据项?').then(function () {
-        return delPaymentInfo(ids);
+        return delBusiness(ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
@@ -425,9 +470,9 @@ export default {
       // 执行导出
       this.$modal.confirm('是否确认导出所有数据项?').then(() => {
         this.exportLoading = true;
-        return exportPaymentInfo(params);
+        return exportBusiness(params);
       }).then(response => {
-        this.$download.excel(response, '付款信息.xls');
+        this.$download.excel(response, '客户信息.xls');
         this.exportLoading = false;
       }).catch(() => { });
     }

+ 16 - 0
src/views/crm/business/status/index.vue

@@ -0,0 +1,16 @@
+<template>
+  <div class="app-container">
+    <doc-alert title="【商机】商机管理、商机状态" url="https://doc.iocoder.cn/crm/business/" />
+    <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
+
+    <el-link type="danger" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
+      该功能支持 Vue3 + element-plus 版本!
+    </el-link>
+    <br />
+    <el-text>
+      可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/business/status/index.vue 代码,pull request 贡献给我们!
+    </el-text>
+  </div>
+</template>
+<script>
+</script>

+ 177 - 79
src/views/crm/customer/index.vue

@@ -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(() => { });
     }