Commit 90ca3fbe authored by 沈良进's avatar 沈良进

save

parent 4439851e
...@@ -531,7 +531,7 @@ input[type="number"] { ...@@ -531,7 +531,7 @@ input[type="number"] {
<ul class="clearfix"> <ul class="clearfix">
<li> <li>
<span> <span>
<em>客户名称</em> <em style="margin-left: 12px">客户名称</em>
<el-input <el-input
placeholder="" placeholder=""
class="w150" class="w150"
...@@ -566,7 +566,7 @@ input[type="number"] { ...@@ -566,7 +566,7 @@ input[type="number"] {
<th>未结算申请数</th> <th>未结算申请数</th>
<th>总收客数</th> <th>总收客数</th>
<th>签约截止时间</th> <th>签约截止时间</th>
<th v-if="active == 2">操作</th> <th>操作</th>
</tr> </tr>
<tr v-for="(item, index) in DataList" :key="index"> <tr v-for="(item, index) in DataList" :key="index">
<td>{{ item.customerName }}</td> <td>{{ item.customerName }}</td>
...@@ -575,10 +575,10 @@ input[type="number"] { ...@@ -575,10 +575,10 @@ input[type="number"] {
<td>{{ item.tradeTotal }}</td> <td>{{ item.tradeTotal }}</td>
<td>{{ item.signingPrice }}</td> <td>{{ item.signingPrice }}</td>
<td>{{ item.signingUnsettledPrice }}</td> <td>{{ item.signingUnsettledPrice }}</td>
<td>{{ item.WaringAudit }}</td> <td>{{ item.waringAudit }}</td>
<td>{{ item.totalGuestNum }}</td> <td>{{ item.totalGuestNum }}</td>
<td>{{ item.signingEndTime }}</td> <td>{{ item.signingEndTime }}</td>
<td v-if="active == 2"><el-button size="mine" type="primary" @click="financeCheck(item)">审核</el-button></td> <td><el-button size="mini" type="primary" @click="lookDetail(item)">详情</el-button></td>
</tr> </tr>
<tr v-if="DataList.length == 0"> <tr v-if="DataList.length == 0">
<td colspan="12" style="text-align: center">暂无数据</td> <td colspan="12" style="text-align: center">暂无数据</td>
...@@ -704,7 +704,7 @@ export default { ...@@ -704,7 +704,7 @@ export default {
}, },
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 6, pageSize: 10,
}, },
getCompanyMsg: { getCompanyMsg: {
// 公司 // 公司
...@@ -885,6 +885,15 @@ export default { ...@@ -885,6 +885,15 @@ export default {
// this.czgetList(); // this.czgetList();
}, },
methods: { methods: {
lookDetail(item) {
console.log('item', item)
this.$router.push({
path: 'signedFinanceForAll',
query: {
id: item.customerId
}
})
},
financeCheck(item) { financeCheck(item) {
this.checkObj = item; this.checkObj = item;
this.showCheck = true this.showCheck = true
...@@ -895,7 +904,7 @@ export default { ...@@ -895,7 +904,7 @@ export default {
return; return;
} }
this.addMsg.ExamineVoucher = this.BusinessCardPhotos; this.addMsg.ExamineVoucher = this.BusinessCardPhotos;
this.addMsg.Id = this.checkObj.customerId; this.addMsg.Id = this.checkObj.customerAccountId;
this.apipost( this.apipost(
"customer_post_UpdateSigningSettlement", "customer_post_UpdateSigningSettlement",
this.addMsg, this.addMsg,
......
<style>
.page_MyCustomer ._mc_addbox {
height: 52px;
width: 100%;
margin-top: 20px;
}
.page_MyCustomer ._mc_addbox>li {
float: left;
width: 116px;
font-size: 14px;
height: 52px;
color: #666;
text-align: center;
line-height: 52px;
background: #E9E9E9;
cursor: pointer;
}
.page_MyCustomer ._mc_addbox>li.active {
background: #fff;
color: #333;
}
.page_MyCustomer ._mc_addbox .divActive {
margin: -3px auto;
width: 26px;
height: 3px;
background: #E95252;
}
.page_MyCustomer ._mc_edit {
overflow: auto;
display: none;
position: absolute;
z-index: 50;
bottom: 0;
left: 0;
border-top: 3px solid #38425d;
background-color: #f9f9f9;
padding: 10px;
width: 100%;
min-width: 1146px;
}
.page_MyCustomer .edHeightOne {
display: block !important;
height: 450px;
}
.MyCustomerDiv ._mc_list {
background: #fff;
padding-top: 20px;
box-sizing: border-box;
overflow: hidden !important;
}
.page_MyCustomer ._mc_list>ul>li {
padding: 20px 20px 0 20px;
width: 260px;
box-sizing: border-box;
height: 410px;
float: left;
border: 1px solid #F1F2F5;
background: #fff;
margin-right: 10px;
margin-bottom: 20px;
border-radius: 10px;
position: relative;
cursor: pointer;
}
.page_MyCustomer ._mc_list>ul>li:hover {
box-shadow: 0px 0px 10px rgba(191, 191, 191, 1);
transition: all linear 0.3s;
}
.page_MyCustomer ._mc_list>ul>li .iconDelete {
cursor: pointer;
display: none;
position: absolute;
top: -4px;
right: 0;
color: #E95252;
z-index: 5;
}
.page_MyCustomer ._mc_list>ul>li:hover .iconDelete {
display: block;
}
.page_MyCustomer ._mc_list>ul>li .iconDelete1 {
cursor: pointer;
display: none;
position: absolute;
top: -4px;
right: 16px;
color: #2CA4F0;
z-index: 5;
}
.page_MyCustomer ._mc_list>ul>li:hover .iconDelete1 {
display: block;
}
.page_MyCustomer ._mc_list>ul>li .iconDelete2 {
cursor: pointer;
display: none;
position: absolute;
top: -4px;
right: 32px;
color: #34BFA3;
z-index: 5;
}
.page_MyCustomer ._mc_list>ul>li:hover .iconDelete2 {
display: block;
}
.page_MyCustomer ._mc_list>ul>li>img {
position: absolute;
z-index: 5;
}
.page_MyCustomer ._head_info_box {
text-align: center;
font-size: 14px;
color: #333333
}
.page_MyCustomer ._head_info_box img {
height: 48px;
width: 48px;
border-radius: 50%;
margin-bottom: 5px
}
.page_MyCustomer ._head_info_box p {
margin-bottom: 8px;
}
.page_MyCustomer ._head_info_box .icon-img_dianhua {
color: #09D49D
}
.page_MyCustomer ._addr {
color: #666666
}
.page_MyCustomer ._record {
padding: 5px 10px 15px;
border-bottom: 1px solid #F5F5F5;
min-height: 120px
}
.page_MyCustomer ._record p {
margin-bottom: 10px;
text-align: center;
font-size: 14px;
border-radius: 4px;
padding: 2px;
color: white;
background-color: #257BF1;
}
.page_MyCustomer ._record p._other_n {
color: #666666;
background-color: #F5F5F5;
}
.page_MyCustomer ._record p._fist_n {
color: #09D49D;
background-color: #E9F7F1;
}
.page_MyCustomer ._record p._other {
color: #257BF1;
background-color: #E4EFFF;
}
.page_MyCustomer ._bt {
font-size: 14px;
margin-top: 15px;
text-align: center;
color: #666;
}
.page_MyCustomer ._bt span {
color: #FF9000
}
.page_MyCustomer ._edHeight {
height: 340px;
}
.page_MyCustomer ._scrollbar::-webkit-scrollbar {
width: 4px;
height: 8px;
}
.page_MyCustomer ._scrollbar::-webkit-scrollbar-thumb {
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.page_MyCustomer ._scrollbar::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius: 4px;
background: #EDEDED;
}
.page_MyCustomer ._mc_edit ._tit {
padding-left: 10px;
border-left: 3px solid #E95252;
font-size: 16px;
font-family: 'PingFangSc-Fine';
color: #000000
}
.page_MyCustomer ._mc_edit ._info_box ul._form li {
float: left;
}
.page_MyCustomer ._check_list {
padding-left: 120px;
margin-bottom: 20px;
}
.page_MyCustomer ._check_box .el-form-item {
margin-bottom: 0
}
.page_MyCustomer ._info_box .el-form-item__label {
font-size: 12px;
color: #666;
}
._remark textarea {
resize: none;
width: 646px;
height: 100px
}
.page_MyCustomer .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.page_MyCustomer .avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.page_MyCustomer .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 148px;
height: 148px;
line-height: 148px;
text-align: center;
}
.page_MyCustomer .avatar {
width: 148px;
height: 148px;
display: block;
}
.page_MyCustomerSearch {
width: 100%;
min-height: auto;
overflow: hidden;
padding: 0 0 20px 0;
}
.page_MyCustomerSearch li {
float: left;
font-size: 12px;
color: #666;
margin: 20px 0 0px 0;
}
.page_MyCustomerSearch li>span {
display: inline-block;
}
.page_MyCustomerSearch li span>em {
display: inline-block;
min-width: 60px;
text-align: right;
font-style: normal;
margin: 0 12px 0 0;
}
.page_MyCustomerSearch li:last-child {
float: right;
}
.page_MyCustomerSearch ._class_b {
color: #257BF1 !important
}
.page_MyCustomer .upload-demo {
text-align: center;
}
.leaderPayTable {
width: 100%;
margin: 10px auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
.leaderPayTable th {
background: #e6e6e6;
padding: 8px 0;
color: #333;
border: 1px solid #d1d1d1;
font-weight: bold;
}
.leaderPayTable tr td {
background-color: #fff;
padding: 8px 0;
height: 32px;
border: 1px solid #d1d1d1;
text-align: center;
}
.leaderPayTable2 tr td {
border: 1px solid #ccc;
line-height: 17px;
height: 25px;
font-size: 12px;
background: #fff;
text-align: center;
padding: 0;
margin: 0;
}
</style>
<template>
<div class="page_MyCustomer MyCustomerDiv">
<div class="page_MyCustomerSearch">
<li>
<span>
<em>客户名称:</em>
<el-input style="width:220px" v-model="msg.CustomerName"
placeholder=''></el-input>
</span>
</li>
<li>
<button class="hollowFixedBtn" @click="getList(),getTotalData()">{{$t('pub.searchBtn')}}</button>
</li>
</div>
<div class="_mc_addbox">
<li :class="{active:type==0}" @click="type=0;clickGetList(0)">
待审核
<div class="divActive" v-show="type==0"></div>
</li>
<li :class="{active:type==1}" @click="type=1;clickGetList(1)">
通过
<div class="divActive" v-show="type==1"></div>
</li>
<li :class="{active:type==2}" @click="type=2;clickGetList(2)">
作废
<div class="divActive" v-show="type==2"></div>
</li>
</div>
<div class="_mc_list _scrollbar" :class="addShow==true?'_edHeight':''"><table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<tr>
<th>单号</th>
<th>公司</th>
<th>费用类型</th>
<th>金额</th>
<th>状态</th>
<th>付款对象</th>
<th>操作</th>
</tr>
<tr v-for="(item,index) in czList" :key="index">
<td>{{item.FrID}}</td>
<td>{{item.BranchName}}</td>
<td>{{item.TypeName}}</td>
<td>{{item.Money}}</td>
<td>{{item.StatusStr}}</td>
<td>
<el-tooltip class="item" effect="dark" :content="item.ClientTypeName+':'+item.RemitterName+'('+item.AccountNumber+')'" placement="top-start">
<div style="width:250px;overflow:hidden">{{item.RemitterName}}</div>
</el-tooltip>
</td>
<td>
</td>
</tr>
<tr v-if="czList.length==0">
<td colspan="13">暂无数据</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="this.msg.pageSize" :total="total">
</el-pagination>
<el-dialog custom-class='addCompany' title="结算" width="400px" :visible.sync="showCheck" center>
<el-form label-width="100px">
<el-form-item label="凭证" prop="SigningFile">
<!-- <el-upload v-if="!saveMsg || !saveMsg.length" class="upload-demo"
style="display:inline-block;position:relative;top:-1px;left:3px;" :http-request="uploadFileBtn"
:show-file-list="false" action="">
<el-button size="small" type="primary">凭证</el-button>
</el-upload>
<template v-if="saveMsg&& saveMsg.length>0">
<template v-for="(subItem,subIndex) in saveMsg">
<a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex"
@click="downloadFile(subItem.Path,subItem.FileName)">{{subItem.FileName}}</a>
<a :key="subIndex+1000" style="margin-left:20px;color:blue;cursor:pointer;"
@click="DeleteFile(subIndex)">删除</a>
</template>
</template> -->
<el-upload class="avatar-uploader" action="" :http-request="uploadImg"
accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false">
<img v-if="BusinessCardPhotos" :src="BusinessCardPhotos" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_remark')">
<el-input type="textarea" v-model="addMsg.Notes" class="w216"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="checkSubmit">{{$t('pub.saveBtn')}}</button>
<button class="hollowFixedBtn" @click="showCheck=false">{{$t('pub.cancelBtn')}}</button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
export default {
data() {
return {
totalData: {},
allCheck: false,
addMsg: {},
showCheck: false,
saveMsg: [],
headers: {
'Content-Type': 'application/octet-stream'
},
yfcheckList: [],
czList: [],
saveMsg: [],
addLayer1: false,
allowAdd: true,
BusinessCardPhotos: '',
HousePhotos: '',
Images: '',
isOldPerson: false,
type: 2,
msg: {
pageIndex: 1,
pageSize: 12,
CustomerStatus: 0,
SigningCustomerId: '',
CustomerName: ''
},
dataList: [],
checkedCities: [],
checkAll: false,
addShow: false,
noData: false,
loading: true,
isIndeterminate: true,
total: 0,
currentPage: 1,
provinceList: [],
cityList: [],
regionList: [],
zw: [], //职务
khly: [], //客户来源
outerVisible: false,
cityList: [],
regionList: [],
id: '',
ImagesNew: '',
BusinessCardPhotosNew: '',
HousePhotosNew: '',
CustomerException: [],
JYExceptionList: [],
isShow: false
}
},
methods: {
changeSelect() {
console.log("changeSelect");
this.czList.forEach((element) => {
element.check = this.allCheck;
});
},
changeSelectItem() {
const listTmp = JSON.parse(JSON.stringify(this.czList));
this.czList = [];
this.$nextTick(() => {
this.czList = listTmp;
});
},
getSelcetedIds() {
return this.czList
.filter((item) => item.check)
.map((item) => item.FrID)
.join(",");
},
checkSubmit() {
if(!this.BusinessCardPhotos) {
this.$message.error('请上传凭证')
return
}
this.addMsg.Voucher = this.BusinessCardPhotos;
this.apipost('customer_post_GetSigningFinance', this.addMsg, res => {
if (res.data.resultCode == 1) {
this.showCheck = false
} else {
this.$message.error(res.data.message || '发生异常,请重试')
}
}, err => {})
},
uploadImg(file) {
//上传
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.UploadSelfFileT(path, newArr, x => {
this.BusinessCardPhotos = this.domainManager().ViittoFileUrl + x.data.FilePath
});
},
uploadFileBtn(file) { //上传
if (file.file.size > 1024 * 1024 * 100) {
this.$message.warning('文件大小不能超过100M!')
return
}
let that = this
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size < 1024 ? file.file.size : (file.file.size / 1024).toFixed(0);
this.saveMsg = []
this.saveMsg.push({
Path: x.data.FilePath,
FileName: file.file.name,
MD5Sign: file.file.uid,
FileSize: fileSize,
FolderId: this.msg.ParentId
})
});
},
//删除文件
DeleteFile(subIndex) {
this.saveMsg.splice(subIndex, 1);
},
//下载文件
downloadFile(fileUrl, fileName) {
const link = document.createElement('a');
link.href = fileUrl;
link.download = fileName;
document.body.appendChild(link);
link.click();
},
ZhiDanChongDi() {
this.yfcdState = true;
this.yfcheckList = [];
},
clickGetList(type) {
this.msg.pageIndex = 1
this.currentPage = 1
this.msg.CustomerStatus = type
this.getList()
},
getList() { // 获取列表数据
this.czList = []
this.apipost('customer_post_GetSettlementCustomerPage', this.msg, res => {
if (res.data.resultCode == 0) {
this.loading = false;
this.czList = []
} else {
this.czList = res.data.data.pageData;
this.total = res.data.data.count;
this.loading = false;
}
}, err => {})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
},
mounted() {
this.msg.SigningCustomerId = this.$route.query.id
this.getList()
}
}
</script>
...@@ -3212,10 +3212,18 @@ export default { ...@@ -3212,10 +3212,18 @@ export default {
title: '财务单据' title: '财务单据'
}, },
}, },
{ // 月结签约客户 财务单据 { // 月结签约客户 客户列表
path: '/signedFinanceAll', path: '/signedFinanceAll',
name: 'signedFinanceAll', name: 'signedFinanceAll',
component: resolve => require(['@/components/SalesModule/signedFinanceAll'], resolve), component: resolve => require(['@/components/SalesModule/signedFinanceAll'], resolve),
meta: {
title: '客户列表'
},
},
{ // 月结签约客户 财务单据
path: '/signedFinanceForAll',
name: 'signedFinanceForAll',
component: resolve => require(['@/components/SalesModule/signedFinanceForAll'], resolve),
meta: { meta: {
title: '财务单据列表' title: '财务单据列表'
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment