客户跟踪界面新增功能

This commit is contained in:
JIAL 2024-01-25 13:25:57 +08:00
parent 1a33a7f7e2
commit 768a7959b6
22 changed files with 16264 additions and 375 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -74,12 +74,16 @@ public class BizController {
String latestOrderDate = StringUtils.getDefaultIfNull(bizService.queryLatestOrderDate(kunnr, yearAgoFormat), "0");
String latestQuotationDate = StringUtils.getDefaultIfNull(bizService.queryLatestQuotationDate(name), "0");
String salespersonCount = StringUtils.getDefaultIfNull(bizService.querySalespersonCount(kunnr, yearAgoFormat), "0");
String latestContractDate = StringUtils.getDefaultIfNull(bizService.queryLatestContractDate(kunnr, yearAgoFormat), "0");
String latestBidDate = StringUtils.getDefaultIfNull(bizService.queryLatestBidDate(kunnr), "0");
Map<String, String> resultMap = new HashMap<>();
resultMap.put("latestShippingDate", "0".equals(latestShippingDate) ? latestShippingDate : StringUtils.formatDateString(latestShippingDate, "yyyy-MM-dd"));
resultMap.put("latestOrderDate", "0".equals(latestOrderDate) ? latestOrderDate : StringUtils.formatDateString(latestOrderDate, "yyyy-MM-dd"));
resultMap.put("latestQuotationDate", "0".equals(latestQuotationDate) ? latestQuotationDate : StringUtils.formatDateString(latestQuotationDate, "yyyy-MM-dd"));
resultMap.put("salespersonCount", salespersonCount );
resultMap.put("latestContractDate", "0".equals(latestContractDate) ? latestContractDate : StringUtils.formatDateString(latestContractDate, "yyyy-MM-dd"));
resultMap.put("latestBidDate", "0".equals(latestBidDate) ? latestBidDate : StringUtils.formatDateString(latestBidDate, "yyyy-MM-dd"));
log.info("开始记录日志信息: {}", "工号为:" + employeeId + "的用户查询的客户名称为:" + name);
return R.success(resultMap);

View File

@ -23,7 +23,7 @@ public interface BizMapper {
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.likp where kunnr = ''${kunnr}'' and erdat >= ''${time}''')")
String queryLatestShippingDate(String kunnr, String time);
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.vbak where kunnr = ''${kunnr}'' and erdat >= ''${time}''')")
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.vbak where kunnr = ''${kunnr}'' and erdat >= ''${time}'' and VBTYP = ''C''')")
String queryLatestOrderDate(String kunnr, String time);
@Select("select * from \n" +
@ -34,4 +34,14 @@ public interface BizMapper {
@Select("select max(create_time_0) from [JNERP].[jn_erp].[dbo].[CRM_MESSAGE] where client_name_0 = '${name}'")
String queryLatestQuotationDate(String name);
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.vbak where kunnr = ''${kunnr}'' and erdat >= ''${time}'' and VBTYP = ''G''')")
String queryLatestContractDate(String kunnr, String time);
@Select("SELECT TOP 1 A.createdon\n" +
"FROM [CRM].[JNCRM_MSCRM].[dbo].[new_bid_informationBase] A\n" +
"LEFT JOIN [CRM].[JNCRM_MSCRM].[dbo].AccountBase B on B.AccountId = A.new_accountid\n" +
"where A.statecode = 0 and B.Name is not null and A.new_examinetenderoffice <> 10\n" +
"and B.new_sapcustomer_code = '${kunnr}' \n" +
"ORDER BY A.createdon DESC")
String queryLatestBidDate(String kunnr);
}

View File

@ -22,4 +22,8 @@ public interface BizService {
String querySalespersonCount(String kunnr, String time);
String queryLatestQuotationDate(String name);
String queryLatestContractDate(String kunnr, String time);
String queryLatestBidDate(String kunnr);
}

View File

@ -88,4 +88,31 @@ public class BizServiceImpl implements BizService {
return bizMapper.queryLatestQuotationDate(name);
}
/**
* @title queryLatestContractDate
* @description 根据客户编号和时间获取最近合同日期
* @author JIAL
* @param: kunnr
* @param: time
* @updateTime 2024/1/25 10:40
* @return: java.lang.String
*/
@Override
public String queryLatestContractDate(String kunnr, String time) {
return bizMapper.queryLatestContractDate(kunnr, time);
}
/**
* @title queryLatestBidDate
* @description 根据客户编号查询最近投标日期
* @author JIAL
* @param: kunnr
* @updateTime 2024/1/25 12:51
* @return: java.lang.String
*/
@Override
public String queryLatestBidDate(String kunnr) {
return bizMapper.queryLatestBidDate(kunnr);
}
}

View File

@ -1,9 +1,9 @@
server:
port: 8080
port: 3333
spring:
application:
#应用的名称,可选
name: JIALDev
name: JNDemo
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -1,9 +1,9 @@
server:
port: 8080
port: 3333
spring:
application:
#应用的名称,可选
name: JIALDev
name: JNDemo
datasource:
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master

View File

@ -15,13 +15,18 @@
.table-box {
margin: 30px 20px 60px 20px;
margin: 10px 0px 15px 0px;
padding: 15px 0px 5px 0px;
background-color: #f0f0f0; /* 浅灰色背景 */
border-radius: 10px; /* 可以根据需要调整边框圆角 */
backdrop-filter: blur(10px); /* 调整模糊度 */
-webkit-backdrop-filter: blur(10px); /* 兼容性处理适用于一些WebKit浏览器 */
}
.table-box .el-input {
margin-right: 30px;
width: 220px;
margin-right: 80px;
width: 320px;
}
.el-table {

View File

@ -13,11 +13,13 @@
<link rel="stylesheet" href="/static/bizquery/css/index.css">
</head>
<body>
<div class="container" id="index-app">
<div class="center-container">
<div class="container" id="index-app">
<div class="center-container">
<div class="table-box">
<span th:text="${employeeId}" style="display: none" ref="employeeIdSpan"></span>
<div>正在访问客户跟踪查询界面,登入的用户为: <span th:text="${employeeName}"></span></div>
<el-form class="table-box">
<h3>该页面可以根据客户名称查询该客户与公司发生业务的相关信息,方便各位判断是否可以作为新客户进行开发。</h3>
<el-form >
<el-form-item>
<el-input v-model="var1" placeholder="请输入客户名称" maxlength="20" type="text" auto-complete="off" clearable>
</el-input>
@ -32,157 +34,165 @@
<el-button type="primary" @click="queryList">点击查询</el-button>
</el-form-item>
</el-form>
<el-table
:data="tableData"
border
row-height="30px">
<el-table-column
prop="kunnr"
label="客户编号">
</el-table-column>
<el-table-column
prop="name1"
label="客户名称">
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
<template>
<el-descriptions :column="1" :label-style="LS" border>
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
<el-descriptions-item label="目前在跟踪的业务员数量" >{{detail.salespersonCount}}</el-descriptions-item>
<el-descriptions-item label="参保人数" >{{detail.insuredCount}}</el-descriptions-item>
</el-descriptions>
</template>
</el-dialog>
<el-table
:data="tableData"
border
:row-style="{height: '0px'}"
:cell-style="{padding: '2px 0px 1px 0px', 'text-align': 'left'}"
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'left' }">
<el-table-column
prop="kunnr"
label="客户编号">
</el-table-column>
<el-table-column
prop="name1"
label="客户名称">
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
<template>
<el-descriptions :column="1" :label-style="LS" border>
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
<el-descriptions-item label="最近合同日期" >{{detail.latestContractDate}}</el-descriptions-item>
<el-descriptions-item label="最近投标日期" >{{detail.latestBidDate}}</el-descriptions-item>
<el-descriptions-item label="目前在跟踪的业务员数量" >{{detail.salespersonCount}}</el-descriptions-item>
<el-descriptions-item label="参保人数" >{{detail.insuredCount}}</el-descriptions-item>
</el-descriptions>
</template>
</el-dialog>
</div>
<script src="/plugins/vue/vue.js"></script>
<script src="/plugins/element-ui/index.js"></script>
<script src="/plugins/calendar/calendar.js"></script>
<script src="/plugins/axios/axios.min.js"></script>
<script src="/plugins/axios/request.js"></script>
<!-- import Script -->
<script src="/static/bizquery/js/index.js"></script>
<script src="/plugins/vue/vue.js"></script>
<script src="/plugins/element-ui/index.js"></script>
<script src="/plugins/calendar/calendar.js"></script>
<script src="/plugins/axios/axios.min.js"></script>
<script src="/plugins/axios/request.js"></script>
<script src="/static/bizquery/js/index.js"></script>
<script>
new Vue({
el: '#index-app',
data() {
return {
var1 : "",
options: [
{value: '1', label: '一年以内'},
{value: '2', label: '两年以内'},
{value: '3', label: '三年以内'},
],
timeValue: '1',
tableData: null,
gridData: "",
dialogTableVisible: false,
LS: {
'color': '#000',
'text-align': 'left',
'font-weight': '600',
'height': '40px',
'background-color': '#d6dbe1',
'min-width' : '50px',
'width': '150px',
'word-break': 'keep-all',
'whiteSpace': 'pre-wrap'
},
detail: {
latestOrderDate: '',
latestShippingDate: '',
salespersonCount: '',
latestQuotationDate: '',
insuredCount: ''
},
employeeId: /*[[${employeeId}]]*/ ''
}
},
computed: {
},
created() {
},
mounted() {
},
methods: {
async init () {
<script>
new Vue({
el: '#index-app',
data() {
return {
var1 : "",
options: [
{value: '1', label: '一年以内'},
{value: '2', label: '两年以内'},
{value: '3', label: '三年以内'},
],
timeValue: '1',
tableData: null,
gridData: "",
dialogTableVisible: false,
LS: {
'color': '#000',
'text-align': 'left',
'font-weight': '600',
'height': '40px',
'background-color': '#d6dbe1',
'min-width' : '50px',
'width': '150px',
'word-break': 'keep-all',
'whiteSpace': 'pre-wrap'
},
detail: {
latestOrderDate: '',
latestShippingDate: '',
salespersonCount: '',
latestQuotationDate: '',
insuredCount: '',
latestContractDate: '',
latestBidDate: ''
},
handleClick(row) {
console.log(row.kunnr)
console.log(row.name1)
const employeeId = this.$refs.employeeIdSpan.innerText;
const params = {
employeeId: employeeId,
name : row.name1,
kunnr : row.kunnr,
time : this.timeValue
employeeId: /*[[${employeeId}]]*/ ''
}
},
computed: {
},
created() {
},
mounted() {
},
methods: {
async init () {
},
handleClick(row) {
console.log(row.kunnr)
console.log(row.name1)
const employeeId = this.$refs.employeeIdSpan.innerText;
const params = {
employeeId: employeeId,
name : row.name1,
kunnr : row.kunnr,
time : this.timeValue
}
console.log(params)
queryDetailByParams(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
this.detail.latestContractDate = res.data.latestContractDate !== '0' ? res.data.latestContractDate : '无数据';
this.detail.latestBidDate = res.data.latestBidDate !== '0' ? res.data.latestBidDate : '无数据';
}
console.log(params)
queryDetailByParams(params).then(res => {
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
queryInsuredCountByName(params).then(res => {
if (String(res.code) === '1') {
this.detail.insuredCount = res.data.insuredCount !== '' ? res.data.insuredCount : '无数据';
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
this.dialogTableVisible = true
},
queryList() {
console.log("开始调用查询")
const name = this.var1
console.log("名称+" + name)
const params = {
name : name
}
console.log(params)
if(this.var1 !== "") {
queryListByName(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
this.tableData = res.data || []
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
queryInsuredCountByName(params).then(res => {
if (String(res.code) === '1') {
this.detail.insuredCount = res.data.insuredCount !== '' ? res.data.insuredCount : '无数据';
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
this.dialogTableVisible = true
},
queryList() {
console.log("开始调用查询")
const name = this.var1
console.log("名称+" + name)
const params = {
name : name
}
console.log(params)
if(this.var1 !== "") {
queryListByName(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.tableData = res.data || []
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
}else {
this.$message('请输入客户名称进行查询');
this.tableData = ""
}
}else {
this.$message('请输入客户名称进行查询');
this.tableData = ""
}
}
})
</script>
}
})
</script>
</body>
</html>

View File

@ -225,7 +225,6 @@
{ kunnr1: '101', kunnr2: '102', kunnr3: '103', kunnr4: '104', kunnr5: '105', kunnr6: '106', kunnr7: '107', kunnr8: '108' },
// Add more rows as needed
],
}
},
computed: {

View File

@ -1,9 +1,9 @@
server:
port: 8080
port: 3333
spring:
application:
#应用的名称,可选
name: JIALDev
name: JNDemo
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -1,9 +1,9 @@
server:
port: 8080
port: 3333
spring:
application:
#应用的名称,可选
name: JIALDev
name: JNDemo
datasource:
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master

View File

@ -15,13 +15,18 @@
.table-box {
margin: 30px 20px 60px 20px;
margin: 10px 0px 15px 0px;
padding: 15px 0px 5px 0px;
background-color: #f0f0f0; /* 浅灰色背景 */
border-radius: 10px; /* 可以根据需要调整边框圆角 */
backdrop-filter: blur(10px); /* 调整模糊度 */
-webkit-backdrop-filter: blur(10px); /* 兼容性处理适用于一些WebKit浏览器 */
}
.table-box .el-input {
margin-right: 30px;
width: 220px;
margin-right: 80px;
width: 320px;
}
.el-table {

View File

@ -1,23 +1,26 @@
.container {
display: flex;
position: absolute;
width: 100vw; /* 设置页面宽度为视口宽度的100% */
}
.center-container {
text-align: center;
margin: auto;
width: 95%;
padding: 35px;
padding: 10px;
}
.el-input {
height: 20px;
}
.el-input__inner {
height: 30px;
font-family: Roboto, serif;
font-style: normal;
font-weight: normal;
/*font-family: Roboto, serif;*/
font-size: 12px;
line-height: 14px;
}
@ -33,5 +36,60 @@
line-height: inherit;
}
.el-input__suffix-inner {
display: inline-block;
margin-top: 10px;
}
.el-form-item__label {
text-align: justify;
font-size: 12px;
}
.el-input-group{
margin-top: 6px;
}
.el-form-item__label::after {
content: "";
display: inline-block;
width: 100%;
}
.el-form-item {
margin: 0px 15px 0px 15px;
}
.el-row {
}
.el-col {
height: 42px;
}
.button-box .el-button {
margin: 10px 80px 10px 0px;
}
.form-box {
background-color: #f0f0f0; /* 浅灰色背景 */
border-radius: 10px; /* 可以根据需要调整边框圆角 */
backdrop-filter: blur(10px); /* 调整模糊度 */
-webkit-backdrop-filter: blur(10px); /* 兼容性处理适用于一些WebKit浏览器 */
}
.button-box {
margin: 10px 0px 10px 0px;
background-color: #f0f0f0; /* 浅灰色背景 */
border-radius: 10px; /* 可以根据需要调整边框圆角 */
backdrop-filter: blur(10px); /* 调整模糊度 */
-webkit-backdrop-filter: blur(10px); /* 兼容性处理适用于一些WebKit浏览器 */
}
.table-box {
}

View File

@ -12,4 +12,4 @@
<body>
<h1>您无权限查看此界面,请联系管理员解决问题!</h1>
</body>
</html>
</html>

View File

@ -13,11 +13,13 @@
<link rel="stylesheet" href="/static/bizquery/css/index.css">
</head>
<body>
<div class="container" id="index-app">
<div class="center-container">
<div class="container" id="index-app">
<div class="center-container">
<div class="table-box">
<span th:text="${employeeId}" style="display: none" ref="employeeIdSpan"></span>
<div>正在访问客户跟踪查询界面,登入的用户为: <span th:text="${employeeName}"></span></div>
<el-form class="table-box">
<h3>该页面可以根据客户名称查询该客户与公司发生业务的相关信息,方便各位判断是否可以作为新客户进行开发。</h3>
<el-form >
<el-form-item>
<el-input v-model="var1" placeholder="请输入客户名称" maxlength="20" type="text" auto-complete="off" clearable>
</el-input>
@ -32,157 +34,165 @@
<el-button type="primary" @click="queryList">点击查询</el-button>
</el-form-item>
</el-form>
<el-table
:data="tableData"
border
row-height="30px">
<el-table-column
prop="kunnr"
label="客户编号">
</el-table-column>
<el-table-column
prop="name1"
label="客户名称">
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
<template>
<el-descriptions :column="1" :label-style="LS" border>
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
<el-descriptions-item label="目前在跟踪的业务员数量" >{{detail.salespersonCount}}</el-descriptions-item>
<el-descriptions-item label="参保人数" >{{detail.insuredCount}}</el-descriptions-item>
</el-descriptions>
</template>
</el-dialog>
<el-table
:data="tableData"
border
:row-style="{height: '0px'}"
:cell-style="{padding: '2px 0px 1px 0px', 'text-align': 'left'}"
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'left' }">
<el-table-column
prop="kunnr"
label="客户编号">
</el-table-column>
<el-table-column
prop="name1"
label="客户名称">
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
<template>
<el-descriptions :column="1" :label-style="LS" border>
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
<el-descriptions-item label="最近合同日期" >{{detail.latestContractDate}}</el-descriptions-item>
<el-descriptions-item label="最近投标日期" >{{detail.latestBidDate}}</el-descriptions-item>
<el-descriptions-item label="目前在跟踪的业务员数量" >{{detail.salespersonCount}}</el-descriptions-item>
<el-descriptions-item label="参保人数" >{{detail.insuredCount}}</el-descriptions-item>
</el-descriptions>
</template>
</el-dialog>
</div>
<script src="/plugins/vue/vue.js"></script>
<script src="/plugins/element-ui/index.js"></script>
<script src="/plugins/calendar/calendar.js"></script>
<script src="/plugins/axios/axios.min.js"></script>
<script src="/plugins/axios/request.js"></script>
<!-- import Script -->
<script src="/static/bizquery/js/index.js"></script>
<script src="/plugins/vue/vue.js"></script>
<script src="/plugins/element-ui/index.js"></script>
<script src="/plugins/calendar/calendar.js"></script>
<script src="/plugins/axios/axios.min.js"></script>
<script src="/plugins/axios/request.js"></script>
<script src="/static/bizquery/js/index.js"></script>
<script>
new Vue({
el: '#index-app',
data() {
return {
var1 : "",
options: [
{value: '1', label: '一年以内'},
{value: '2', label: '两年以内'},
{value: '3', label: '三年以内'},
],
timeValue: '1',
tableData: null,
gridData: "",
dialogTableVisible: false,
LS: {
'color': '#000',
'text-align': 'left',
'font-weight': '600',
'height': '40px',
'background-color': '#d6dbe1',
'min-width' : '50px',
'width': '150px',
'word-break': 'keep-all',
'whiteSpace': 'pre-wrap'
},
detail: {
latestOrderDate: '',
latestShippingDate: '',
salespersonCount: '',
latestQuotationDate: '',
insuredCount: ''
},
employeeId: /*[[${employeeId}]]*/ ''
}
},
computed: {
},
created() {
},
mounted() {
},
methods: {
async init () {
<script>
new Vue({
el: '#index-app',
data() {
return {
var1 : "",
options: [
{value: '1', label: '一年以内'},
{value: '2', label: '两年以内'},
{value: '3', label: '三年以内'},
],
timeValue: '1',
tableData: null,
gridData: "",
dialogTableVisible: false,
LS: {
'color': '#000',
'text-align': 'left',
'font-weight': '600',
'height': '40px',
'background-color': '#d6dbe1',
'min-width' : '50px',
'width': '150px',
'word-break': 'keep-all',
'whiteSpace': 'pre-wrap'
},
detail: {
latestOrderDate: '',
latestShippingDate: '',
salespersonCount: '',
latestQuotationDate: '',
insuredCount: '',
latestContractDate: '',
latestBidDate: ''
},
handleClick(row) {
console.log(row.kunnr)
console.log(row.name1)
const employeeId = this.$refs.employeeIdSpan.innerText;
const params = {
employeeId: employeeId,
name : row.name1,
kunnr : row.kunnr,
time : this.timeValue
employeeId: /*[[${employeeId}]]*/ ''
}
},
computed: {
},
created() {
},
mounted() {
},
methods: {
async init () {
},
handleClick(row) {
console.log(row.kunnr)
console.log(row.name1)
const employeeId = this.$refs.employeeIdSpan.innerText;
const params = {
employeeId: employeeId,
name : row.name1,
kunnr : row.kunnr,
time : this.timeValue
}
console.log(params)
queryDetailByParams(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
this.detail.latestContractDate = res.data.latestContractDate !== '0' ? res.data.latestContractDate : '无数据';
this.detail.latestBidDate = res.data.latestBidDate !== '0' ? res.data.latestBidDate : '无数据';
}
console.log(params)
queryDetailByParams(params).then(res => {
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
queryInsuredCountByName(params).then(res => {
if (String(res.code) === '1') {
this.detail.insuredCount = res.data.insuredCount !== '' ? res.data.insuredCount : '无数据';
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
this.dialogTableVisible = true
},
queryList() {
console.log("开始调用查询")
const name = this.var1
console.log("名称+" + name)
const params = {
name : name
}
console.log(params)
if(this.var1 !== "") {
queryListByName(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
this.tableData = res.data || []
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
queryInsuredCountByName(params).then(res => {
if (String(res.code) === '1') {
this.detail.insuredCount = res.data.insuredCount !== '' ? res.data.insuredCount : '无数据';
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
this.dialogTableVisible = true
},
queryList() {
console.log("开始调用查询")
const name = this.var1
console.log("名称+" + name)
const params = {
name : name
}
console.log(params)
if(this.var1 !== "") {
queryListByName(params).then(res => {
if (String(res.code) === '1') {
console.log(res.data)
this.tableData = res.data || []
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
}else {
this.$message('请输入客户名称进行查询');
this.tableData = ""
}
}else {
this.$message('请输入客户名称进行查询');
this.tableData = ""
}
}
})
</script>
}
})
</script>
</body>
</html>

View File

@ -16,56 +16,133 @@
<div class="container" id="index-app">
<div class="center-container">
<div class="form-box">
<el-form :label-position="labelPosition" label-width="35%" :model="formLabelAlign">
<el-form label-width="45%" :model="formLabelAlign">
<el-row>
<el-col :span="5">
<el-form-item label="名称">
<el-input v-model="formLabelAlign.name"></el-input>
<el-col :span="6">
<el-form-item label="加工费" title="蒸汽费/钢丝铠装材料及加工费">
<el-input v-model="formLabelAlign.name" placeholder="蒸汽费/钢丝铠装材料及加工费">
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col >
<el-col :span="5">
<el-form-item label="活动区域">
<el-input v-model="formLabelAlign.region"></el-input>
<el-col :span="6">
<el-form-item label="生产财务成本" title="生产财务成本">
<el-input v-model="formLabelAlign.region" placeholder="生产财务成本">
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="活动形式">
<el-input v-model="formLabelAlign.type"></el-input>
<el-col :span="6">
<el-form-item label="账期" title="账期">
<el-input v-model="formLabelAlign.type" placeholder="账期"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="活动形式">
<el-input v-model="formLabelAlign.type"></el-input>
<el-col :span="6">
<el-form-item label="承兑" title="承兑">
<el-input v-model="formLabelAlign.type" placeholder="承兑"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item >
<el-input v-model="formLabelAlign.type"></el-input>
<el-col :span="6">
<el-form-item label="公司管理成本" title="公司管理成本">
<el-input v-model="formLabelAlign.name" placeholder="公司管理成本"></el-input>
</el-form-item>
</el-col >
<el-col :span="6">
<el-form-item label="中标服务费" title="中标服务费">
<el-input v-model="formLabelAlign.region" placeholder="中标服务费">
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item >
<el-input v-model="formLabelAlign.type"></el-input>
<el-col :span="6">
<el-form-item label="公司净利润" title="公司净利润">
<el-input v-model="formLabelAlign.type" placeholder="公司净利润"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item >
<el-input v-model="formLabelAlign.type"></el-input>
<el-col :span="6">
<el-form-item label="业务费">
<el-input v-model="formLabelAlign.type" placeholder="业务费"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="省">
<el-input :disabled="true" v-model="formLabelAlign.type" placeholder="省"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="市">
<el-input :disabled="true" v-model="formLabelAlign.type" placeholder="市"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="区">
<el-input :disabled="true" v-model="formLabelAlign.type" placeholder="区"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" >
<el-form-item label="运费">
<el-input v-model="formLabelAlign.type" placeholder="运费"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="成本累计">
<el-input v-model="formLabelAlign.name" placeholder="成本累计"></el-input>
</el-form-item>
</el-col >
<el-col :span="6">
<el-form-item label="底价">
<el-input v-model="formLabelAlign.region" placeholder="底价"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="可下浮">
<el-input v-model="formLabelAlign.type" placeholder="可下浮"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实际材料成本厂价比例">
<el-input v-model="formLabelAlign.type" placeholder="实际材料成本占厂价比例"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="厂家金额">
<el-input v-model="formLabelAlign.name" placeholder="厂家金额"></el-input>
</el-form-item>
</el-col >
<el-col :span="6">
<el-form-item label="人工费">
<el-input v-model="formLabelAlign.region" placeholder="人工费"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="盘具">
<el-input v-model="formLabelAlign.type" placeholder="盘具"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="button-box">
<el-button type="text">选择地区</el-button>
<el-button type="text">添加物料</el-button>
<el-button type="text">刷新界面</el-button>
</div>
<div class="table-box">
<el-table
:data="tableData"
border
row-height="20px"
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
:row-style="{height: '0px'}"
:cell-style="{padding: '2px'}"
:header-cell-style="{ background: '#eef1f6', color: '#606266' }">
<el-table-column
fixed
width="180"
@ -148,7 +225,6 @@
{ kunnr1: '101', kunnr2: '102', kunnr3: '103', kunnr4: '104', kunnr5: '105', kunnr6: '106', kunnr7: '107', kunnr8: '108' },
// Add more rows as needed
],
}
},
computed: {
@ -158,7 +234,7 @@
},
mounted() {
this.getChinaData();
},
methods: {
async init () {