首页功能完善,修改一些样式

This commit is contained in:
Lu67 2024-03-14 20:44:42 +08:00
parent 3ed6badb76
commit a8b691a652
11 changed files with 133 additions and 39 deletions

View File

@ -1,6 +1,8 @@
package com.ruoyi.crm.controller;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.crm.domain.CrmReceipt;
@ -78,6 +80,7 @@ public class CrmReceiptController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody CrmReceipt crmReceipt)
{
crmReceipt.setReceiptCode("HK_"+ UUID.randomUUID().toString().replace("-","").substring(0,6));
return toAjax(crmReceiptService.insertCrmReceipt(crmReceipt));
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.crm.controller;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.crm.domain.CrmOrder;
@ -80,6 +81,7 @@ public class CrmReceiveController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody CrmReceive crmReceive)
{
crmReceive.setReceiveCode("YS_"+UUID.randomUUID().toString().replace("-","").substring(0,6));
return toAjax(crmReceiveService.insertCrmReceive(crmReceive));
}

View File

@ -8,7 +8,7 @@
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
/>
<link rel="icon" href="<%= BASE_URL %>favicon.jpg" />
<link rel="icon" href="<%= BASE_URL %>logo.png" />
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11
]><script>

BIN
ruoyi-ui/public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -11,8 +11,8 @@
<el-form-item label="联系电话" prop="phone">
<el-input v-model="queryParams.phone" placeholder="请输入联系电话" clearable size="small" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户级别" prop="customerRank">
<el-select v-model="queryParams.customerRank" placeholder="请选择客户级别" clearable size="small">
<el-form-item label="客户标签" prop="customerRank">
<el-select v-model="queryParams.customerRank" placeholder="请选择客户标签" clearable size="small">
<el-option v-for="dict in dict.type.customer_rank" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -52,7 +52,7 @@
<el-table-column label="地区" align="center" prop="region" :show-overflow-tooltip="true" />
<el-table-column label="联系人" align="center" prop="linkman" :show-overflow-tooltip="true" />
<el-table-column label="联系电话" align="center" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="客户级别" align="center" prop="customerRank" :show-overflow-tooltip="true" />
<el-table-column label="客户标签" align="center" prop="customerRank" :show-overflow-tooltip="true" />
<el-table-column label="客户行业" align="center" prop="customerIndustry" :show-overflow-tooltip="true" />
<el-table-column label="成交状态" align="center" prop="dealStatus">
<template slot-scope="scope">
@ -123,8 +123,8 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="客户级别" prop="customerRank">
<el-select v-model="form.customerRank" placeholder="请选择客户级别">
<el-form-item label="客户标签" prop="customerRank">
<el-select v-model="form.customerRank" placeholder="请选择客户标签">
<el-option v-for="dict in dict.type.customer_rank" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>

View File

@ -11,8 +11,8 @@
<el-form-item label="联系电话" prop="phone">
<el-input v-model="queryParams.phone" placeholder="请输入联系电话" clearable size="small" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户级别" prop="customerRank">
<el-select v-model="queryParams.customerRank" placeholder="请选择客户级别" clearable size="small">
<el-form-item label="客户标签" prop="customerRank">
<el-select v-model="queryParams.customerRank" placeholder="请选择客户标签" clearable size="small">
<el-option v-for="dict in dict.type.customer_rank" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -52,7 +52,7 @@
<el-table-column label="地区" align="center" prop="region" :show-overflow-tooltip="true" />
<el-table-column label="联系人" align="center" prop="linkman" :show-overflow-tooltip="true" />
<el-table-column label="联系电话" align="center" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="客户级别" align="center" prop="customerRank" :show-overflow-tooltip="true" />
<el-table-column label="客户标签" align="center" prop="customerRank" :show-overflow-tooltip="true" />
<el-table-column label="客户行业" align="center" prop="customerIndustry" :show-overflow-tooltip="true" />
<el-table-column label="成交状态" align="center" prop="dealStatus">
<template slot-scope="scope">
@ -123,8 +123,8 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="客户级别" prop="customerRank">
<el-select v-model="form.customerRank" placeholder="请选择客户级别">
<el-form-item label="客户标签" prop="customerRank">
<el-select v-model="form.customerRank" placeholder="请选择客户标签">
<el-option v-for="dict in dict.type.customer_rank" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>

View File

@ -108,7 +108,7 @@
/>
</el-form-item>
<el-form-item label="回款状态" prop="receiptState">
<el-select v-model="queryParams.receiptState" placeholder="请选择回款状态(0已回款1未回款)" clearable>
<el-select v-model="queryParams.receiptState" placeholder="请选择回款状态" clearable>
<el-option
v-for="dict in dict.type.receive_type"
:key="dict.value"
@ -345,7 +345,7 @@
<!-- <el-input v-model="form.receiptCode" placeholder="请输入回款单编号" />-->
<!-- </el-form-item>-->
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio-group v-model="form.receiptState">
<el-radio
v-for="dict in dict.type.receive_type"
:key="dict.value"

View File

@ -163,24 +163,24 @@
<el-table v-loading="loading" :data="receiveList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="应收款ID" align="center" prop="id" />
<!-- <el-table-column label="应收款ID" align="center" prop="id" />-->
<el-table-column label="应收款标题" align="center" prop="receiveTitle" />
<el-table-column label="客户名称" align="center" prop="customerName" />
<!-- <el-table-column label="客户编号" align="center" prop="customerCode" />-->
<el-table-column label="订单编号" align="center" prop="orderCode" />
<el-table-column label="负责人" align="center" prop="owner" />
<el-table-column label="计划回款金额" align="center" prop="receiveAmount" />
<el-table-column label="计划回款日期" align="center" prop="receiveDate" width="180">
<el-table-column label="回款金额" align="center" prop="receiveAmount" />
<el-table-column label="回款日期" align="center" prop="receiveDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.receiveDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="计划回款方式" align="center" prop="receiveType">
<el-table-column label="回款方式" align="center" prop="receiveType">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_type" :value="scope.row.receiveType"/>
</template>
</el-table-column>
<el-table-column label="应收计划编号" align="center" prop="receiveCode" />
<el-table-column label="编号" align="center" prop="receiveCode" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.receive_type" :value="scope.row.status"/>
@ -261,9 +261,9 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="应收计划编号" prop="receiveCode">
<el-input v-model="form.receiveCode" placeholder="请输入应收计划编号" />
</el-form-item>
<!-- <el-form-item label="应收计划编号" prop="receiveCode">-->
<!-- <el-input v-model="form.receiveCode" placeholder="请输入应收计划编号" />-->
<!-- </el-form-item>-->
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio

View File

@ -234,21 +234,71 @@
</el-row>
</div>
<!-- 添加或修改应收款对话框 -->
<!-- &lt;!&ndash; 添加或修改应收款对话框 &ndash;&gt;-->
<!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>-->
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
<!-- <el-form-item label="客户名称" prop="customerName">-->
<!-- <el-select v-model="form.customerId" placeholder="请选择客户" @change="getPersonOrderList">-->
<!-- <el-option v-for="customer in customerList" :key="customer.id" :label="customer.name" :value="customer.id"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="跟进内容" prop="content">-->
<!-- <el-input v-model="form.content" placeholder="请输入跟进内容" />-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm"> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
<!-- 添加或修改跟进记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户名称" prop="customerName">
<el-select v-model="form.customerId" placeholder="请选择客户" @change="getPersonOrderList">
<el-option v-for="customer in customerList" :key="customer.id" :label="customer.name" :value="customer.id"></el-option>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="跟进记录" prop="followUpRecord">
<el-input v-model="form.followUpRecord" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="客户姓名" prop="customerNum">
<el-select v-model="form.customerId" placeholder="请选择客户" @change="doChangeCustomerNumber" >
<el-option
v-for="item in customerList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="跟进内容" prop="content">
<el-input v-model="form.content" placeholder="请输入跟进内容" />
<el-form-item label="客户编号" prop="customerNumber">
<el-input v-model="form.customerNumber" placeholder="请输入客户编号" :disabled="true" />
</el-form-item>
<el-form-item label="跟进方式" prop="followUpType">
<el-select v-model="form.followUpType" placeholder="请选择跟进方式">
<el-option
v-for="dict in dict.type.follow_up_type"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="跟进内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="下次跟进" prop="followUpTime">
<el-date-picker clearable
v-model="form.followUpTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择跟进时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -256,7 +306,6 @@
</div>
</el-dialog>
</div>
@ -273,26 +322,32 @@ import 'echarts/lib/chart/map';
// js
import "echarts/map/js/china.js";
import {indexData, infoDate, infoTop, infoTotalTop} from "../api/crm";
// import {customerList} from "@/api/crm/order";
import {customerList} from "@/api/crm/order";
import {getCustomer, listPersonCustomers} from "../api/crm/customer";
import {addPlan, updatePlan} from "../api/crm/plan";
import {addRecord, updateRecord} from "../api/crm/record";
export default {
dicts: ['follow_up_type'],
components: {
PanelGroup,
// WeekCalendar
ElCard: Card,
ElCalendar: Calendar,
},
data() {
return {
customerList:[],
//
form: {},
//
open: false,
customerData: {},
followupData: {},
todayFollowupList: [],
todayFollowupList: [
],
todayUpdates: [],
topPeople: [],
totalAmount: '',
@ -306,9 +361,24 @@ export default {
this.initData();
this.initTop();
this.totalTop();
this.getPersonCustomerList();
// this.initMap();
},
methods: {
//
doChangeCustomerNumber(){
getCustomer(this.form.customerId).then(response => {
this.form.customerNumber = response.data.code
});
},
/** 查询客户列表 */
getPersonCustomerList () {
this.loading = true
listPersonCustomers().then((response) => {
this.customerList = response.data;
this.loading = false
})
},
/** 查询订单的客户列表 */
getPersonOrderList () {
this.loading = true
@ -347,7 +417,26 @@ export default {
this.todayUpdates = response.data.today_updates;
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateRecord(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addRecord(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
// initMap() {
// let myChart = ECharts.init(this.$refs.echarts1);
// let option = {
@ -502,7 +591,7 @@ export default {
indexData().then((response) => {
this.customerData = response.data.customer_info;
this.followupData = response.data.followup_info;
this.todayFollowupList = response.data.today_followup_list;
// this.todayFollowupList = response.data.today_followup_list;
// this.todayUpdates = response.data.today_updates;
})
},

View File

@ -2,7 +2,7 @@
<div class="app-container">
<el-row :gutter="20">
<!--部门数据-->
<el-col :span="4" :xs="24">
<el-col :span="3" :xs="20">
<div class="head-container">
<el-input
v-model="deptName"