From c252e08d6ab2556d8577b64782a27a1781e53c4b Mon Sep 17 00:00:00 2001 From: Sliverber <2622874537@qq.com> Date: Sun, 17 Mar 2024 14:11:15 +0800 Subject: [PATCH] 111 --- .env.development | 4 +- .env.production | 4 +- src/api/marketing.js | 2 +- src/views/channel/creatChannel.vue | 4 +- src/views/channel/index.vue | 39 +- src/views/examine/index.vue | 2095 ++++++++++------------- src/views/financial/repayment/index.vue | 1163 +++++-------- src/views/order/index.vue | 1498 ++++++---------- src/views/user/list/index.vue | 1654 +++++++----------- 9 files changed, 2538 insertions(+), 3925 deletions(-) diff --git a/.env.development b/.env.development index 2a5e48a..275d6fc 100644 --- a/.env.development +++ b/.env.development @@ -4,8 +4,8 @@ ENV = 'development' # base api # VUE_APP_BASE_API = '/dev-api' # VUE_APP_BASE_API = 'http://106.75.49.247:20400' -VUE_APP_BASE_API = 'https://yruibao.com/admin' -# VUE_APP_BASE_API = 'http://192.168.2.26:20401' +# VUE_APP_BASE_API = 'https://yruibao.com/admin' +VUE_APP_BASE_API = 'http://192.168.2.26:20401' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, diff --git a/.env.production b/.env.production index 7119b75..4cfe70a 100644 --- a/.env.production +++ b/.env.production @@ -4,5 +4,5 @@ ENV = 'production' # base api # VUE_APP_BASE_API = '/prod-api' # VUE_APP_BASE_API = 'http://106.75.49.247:20400' -VUE_APP_BASE_API = 'https://yruibao.com/admin' -# VUE_APP_BASE_API = 'http://192.168.2.26:20401' +# VUE_APP_BASE_API = 'https://yruibao.com/admin' +VUE_APP_BASE_API = 'http://192.168.2.26:20401' diff --git a/src/api/marketing.js b/src/api/marketing.js index 7bc639f..44ddecb 100644 --- a/src/api/marketing.js +++ b/src/api/marketing.js @@ -79,7 +79,7 @@ export function userUpdateApi(params, data) { */ export function changeRepaymentStatus(params,data) { return request({ - url: `admin/user/installmentBill/update/?id=${params}`, + url: `admin/user/installmentBill/offlineRepayment/?id=${params}`, method: 'post', // params, data, diff --git a/src/views/channel/creatChannel.vue b/src/views/channel/creatChannel.vue index 789b186..154ccfd 100644 --- a/src/views/channel/creatChannel.vue +++ b/src/views/channel/creatChannel.vue @@ -37,8 +37,8 @@ v-model="channelInfo.storeHide" active-text="展示" inactive-text="隐藏" - :active-value="true" - :inactive-value="false" + :active-value="false" + :inactive-value="true" /> </el-form-item> <el-form-item label="备注:" prop="remark"> diff --git a/src/views/channel/index.vue b/src/views/channel/index.vue index 9696d39..868e450 100644 --- a/src/views/channel/index.vue +++ b/src/views/channel/index.vue @@ -78,12 +78,19 @@ <div class="tj" v-show="titindex==0"> <div class="mintit">基础信息</div> <div class="infobox"> - <div class="img_box"> + <div class="img_box" style="right: 100px;"> <!-- <canvas ref="qrcodeCanvas"></canvas> --> <!-- <div id="payQrcode"></div> --> <div id="qrcode" ref="qrcode" style="margin-bottom: 20px;"></div> - <el-button type="primary" @click="downloadimg()" style="margin-left: 30px;" >下载图片</el-button> + <el-button type="primary" @click="downloadimg()" style="margin-left: 0px;" >下载图片</el-button> + </div> + <div class="img_box" style="right: -10px;"> + <!-- <canvas ref="qrcodeCanvas"></canvas> --> + <!-- <div id="payQrcode"></div> --> + + <img :src="chooselist.qrCodeUrlCircleBlue" alt="" style="margin-bottom: 20px;"> + <el-button type="primary" @click="downloadImage(chooselist.qrCodeUrlCircleBlue)" style="margin-left: 0px;" >下载图片</el-button> </div> <div class="infoli"> <div class="li">渠道名称:{{ chooselist.name }} </div> @@ -254,6 +261,22 @@ export default { render: qRender, }); }, + async downloadImage(imageUrl) { + try { + const response = await fetch(imageUrl); + const blob = await response.blob(); + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'image.jpg'; // 可以根据需要修改文件名 + document.body.appendChild(a); + a.click(); + window.URL.revokeObjectURL(url); + document.body.removeChild(a); + } catch (error) { + console.error('下载图片出错:', error); + } + }, downloadimg() { // 获取生成二维码的canvas元素 const canvas = document.querySelector("#qrcode canvas"); @@ -355,7 +378,7 @@ export default { // await this.generateQRCode(row.url) if (this.$refs.qrcode) this.$refs.qrcode.innerHTML = ""; this.$nextTick(function () { - this.qrcode(150, 150, row.url, "canvas"); + this.qrcode(100, 100, row.url, "canvas"); console.log(QRCode.CorrectLevel.L); }); @@ -506,12 +529,12 @@ export default { .img_box{ right: 70px; position: absolute; - width: 100px; - height: 100px; + width: 80px; + height: 80px; img{ - width: 150px; - height: 150px; - background-color: red; + width: 100px; + height: 100px; + // background-color: red; } } .infoli { diff --git a/src/views/examine/index.vue b/src/views/examine/index.vue index d0e9711..76d91cf 100644 --- a/src/views/examine/index.vue +++ b/src/views/examine/index.vue @@ -3,26 +3,18 @@ <el-card class="box-card"> <div class="clearfix"> <div class="container"> - <el-form size="small" - label-width="100px"> - <el-form-item label="订单类型:" - v-if="false"> - <el-radio-group v-model="tableFrom.type" - type="button" - class="mr20" - size="small" - @change="seachList"> - <el-radio-button v-for="(item, i) in options" - :key="i" - :label="item.value">{{ - item.label - }}</el-radio-button> + <el-form size="small" label-width="100px"> + <el-form-item label="订单类型:" v-if="false"> + <el-radio-group v-model="tableFrom.type" type="button" class="mr20" size="small" + @change="seachList"> + <el-radio-button v-for="(item, i) in options" :key="i" :label="item.value">{{ + item.label + }}</el-radio-button> </el-radio-group> </el-form-item> <div style="display: flex;padding-left: 20px;margin-bottom: 20px;"> - <div class="tit" - style="font-size: 22px;">剩余待领取订单数量:<span style="color: red;">{{ - allOrderNum }}</span></div> + <div class="tit" style="font-size: 22px;">剩余待领取订单数量:<span style="color: red;">{{ + allOrderNum }}</span></div> </div> <el-form-item label="订单领取:"> <el-radio-group v-model="orderNum"> @@ -31,144 +23,100 @@ <el-radio-button label="30"></el-radio-button> <el-radio-button label="40"></el-radio-button> </el-radio-group> - <el-input v-model="orderNum" - placeholder="请输入要领取的订单数量" - style="width: 80px;" - size="small"> + <el-input v-model="orderNum" placeholder="请输入要领取的订单数量" style="width: 80px;" size="small"> </el-input> - <el-button type="primary" - @click="getOrder()">确认领取</el-button> + <el-button type="primary" @click="getOrder()">确认领取</el-button> </el-form-item> - <el-form-item label="订单状态:" - v-if="checkPermi(['admin:order:status:num'])"> - <el-radio-group v-model="tableFrom.status" - type="button" - @change="seachList"> - <el-radio-button label="all">全部 {{ '(' + orderChartType.all ? orderChartType.all : 0 + ')' - }}</el-radio-button> - <el-radio-button label="unPaid" - v-if="false">未支付 {{ '(' + orderChartType.unPaid ? - orderChartType.unPaid : 0 + ')' - }}</el-radio-button> - <el-radio-button label="audit">待审核 {{ '(' + orderChartType.audit ? orderChartType.audit : 0 - + ')' - }}</el-radio-button> + <el-form-item label="订单状态:" v-if="checkPermi(['admin:order:status:num'])"> + <el-radio-group v-model="tableFrom.status" type="button" @change="seachList"> + <el-radio-button label="all">全部 {{ '(' + orderChartType.all ? orderChartType.all : 0 + + ')' + }}</el-radio-button> + <el-radio-button label="unPaid" v-if="false">未支付 {{ '(' + orderChartType.unPaid ? + orderChartType.unPaid : 0 + ')' + }}</el-radio-button> + <el-radio-button label="audit">待审核 {{ '(' + orderChartType.audit ? orderChartType.audit + : 0 + + ')' + }}</el-radio-button> <el-radio-button label="awaitSign">待签约 {{ '(' + orderChartType.awaitSign ? - orderChartType.awaitSign : 0 + - ')' }}</el-radio-button> + orderChartType.awaitSign : 0 + + ')' }}</el-radio-button> <el-radio-button label="notShipped">未发货 {{ '(' + orderChartType.notShipped ? - orderChartType.notShipped : 0 - + ')' }}</el-radio-button> + orderChartType.notShipped : 0 + + ')' }}</el-radio-button> <!-- <el-radio-button label="spike"--> <!-- >待收货 {{ '(' + orderChartType.spike ? orderChartType.spike : 0 + ')' }}</el-radio-button--> <!-- >--> <el-radio-button label="inUse">使用中 {{ '(' + orderChartType.inUse ? - orderChartType.inUse : 0 + ')' - }}</el-radio-button> + orderChartType.inUse : 0 + ')' + }}</el-radio-button> <el-radio-button label="bargain">待评价 {{ '(' + orderChartType.bargain ? - orderChartType.bargain : 0 + ')' - }}</el-radio-button> + orderChartType.bargain : 0 + ')' + }}</el-radio-button> <el-radio-button label="complete">交易完成 {{ '(' + orderChartType.complete ? - orderChartType.complete : 0 + - ')' }}</el-radio-button> - <el-radio-button label="toBeWrittenOff" - v-if="false">待核销 + orderChartType.complete : 0 + + ')' }}</el-radio-button> + <el-radio-button label="toBeWrittenOff" v-if="false">待核销 {{ '(' + orderChartType.toBeWrittenOff ? orderChartType.toBeWrittenOff : 0 + ')' }}</el-radio-button> - <el-radio-button label="refunding" - v-if="false">退款中 {{ '(' + orderChartType.refunding ? - orderChartType.refunding : 0 + - ')' }}</el-radio-button> - <el-radio-button label="refunded" - v-if="false">已退款 {{ '(' + orderChartType.refunded ? - orderChartType.refunded : 0 + ')' - }}</el-radio-button> + <el-radio-button label="refunding" v-if="false">退款中 {{ '(' + orderChartType.refunding ? + orderChartType.refunding : 0 + + ')' }}</el-radio-button> + <el-radio-button label="refunded" v-if="false">已退款 {{ '(' + orderChartType.refunded ? + orderChartType.refunded : 0 + ')' + }}</el-radio-button> <el-radio-button label="auditReject">已驳回 {{ '(' + orderChartType.auditReject ? - orderChartType.auditReject - : 0 + ')' }}</el-radio-button> - <el-radio-button label="deleted" - v-if="false">已删除 {{ '(' + orderChartType.deleted ? - orderChartType.deleted : 0 + ')' - }}</el-radio-button> - <el-radio-button label="audited" - v-if="false">已审核 {{ '(' + orderChartType.deleted ? - orderChartType.deleted : 0 + ')' - }}</el-radio-button> + orderChartType.auditReject + : 0 + ')' }}</el-radio-button> + <el-radio-button label="deleted" v-if="false">已删除 {{ '(' + orderChartType.deleted ? + orderChartType.deleted : 0 + ')' + }}</el-radio-button> + <el-radio-button label="audited" v-if="false">已审核 {{ '(' + orderChartType.deleted ? + orderChartType.deleted : 0 + ')' + }}</el-radio-button> </el-radio-group> </el-form-item> - <el-form-item label="时间选择:" - class="width100" - v-if="false"> - <el-radio-group v-model="tableFrom.dateLimit" - type="button" - class="mr20" - size="small" - @change="selectChange(tableFrom.dateLimit)"> - <el-radio-button v-for="(item, i) in fromList.fromTxt" - :key="i" - :label="item.val">{{ - item.text - }}</el-radio-button> + <el-form-item label="时间选择:" class="width100" v-if="false"> + <el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small" + @change="selectChange(tableFrom.dateLimit)"> + <el-radio-button v-for="(item, i) in fromList.fromTxt" :key="i" :label="item.val">{{ + item.text + }}</el-radio-button> </el-radio-group> - <el-date-picker v-model="timeVal" - value-format="yyyy-MM-dd" - format="yyyy-MM-dd" - size="small" - type="daterange" - placement="bottom-end" - placeholder="自定义时间" - style="width: 220px" - @change="onchangeTime" /> + <el-date-picker v-model="timeVal" value-format="yyyy-MM-dd" format="yyyy-MM-dd" size="small" + type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 220px" + @change="onchangeTime" /> </el-form-item> - <div class="smallbox" - style="display: flex;flex-wrap: wrap;"> + <div class="smallbox" style="display: flex;flex-wrap: wrap;"> <el-form-item label="订单号:"> - <el-input v-model="tableFrom.orderNo" - placeholder="请输入订单号" - class="selWidth" - size="small" - clearable> - <el-button slot="append" - icon="el-icon-search" - size="small" - @click="seachList" /> + <el-input v-model="tableFrom.orderNo" placeholder="请输入订单号" class="selWidth" size="small" + clearable> + <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> </el-input> </el-form-item> <el-form-item label="用户姓名:"> - <el-input v-model="tableFrom.userName" - placeholder="请输入用户姓名" - class="selWidth" - size="small" - clearable> - <el-button slot="append" - icon="el-icon-search" - size="small" - @click="seachList" /> + <el-input v-model="tableFrom.userName" placeholder="请输入用户姓名" class="selWidth" + size="small" clearable> + <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> </el-input> </el-form-item> </div> <el-form-item class="width100"> - <el-button size="small" - @click="exports" - v-hasPermi="['admin:export:excel:order']">导出</el-button> + <el-button size="small" @click="exports" + v-hasPermi="['admin:export:excel:order']">导出</el-button> </el-form-item> </el-form> </div> </div> </el-card> <el-card class="box-card"> - <el-table v-loading="listLoading" - border - :data="tableData.data" - size="mini" - class="table" - highlight-current-row - :header-cell-style="{ fontWeight: 'bold' }" - :row-key="(row) => { - return row.orderId; - } - "> + <el-table v-loading="listLoading" border :data="tableData.data" size="mini" class="table" + highlight-current-row :header-cell-style="{ fontWeight: 'bold' }" :row-key="(row) => { + return row.orderId; + } + "> <!-- @selection-change="handleSelectionChange" --> <!-- <el-table-column type="selection" @@ -180,16 +128,14 @@ <span style="display: block" v-text="scope.row.orderId" /> <span v-show="scope.row.isDel" style="color: #ed4014; display: block">用户已删除</span> </template> - </el-table-column> --> - <el-table-column label="ID" - min-width="50"> +</el-table-column> --> + <el-table-column label="ID" min-width="50"> <template slot-scope="scope"> <span v-text="scope.row.id"></span> </template> </el-table-column> - <el-table-column label="订单信息" - min-width="265"> + <el-table-column label="订单信息" min-width="265"> <template slot-scope="scope"> <div class="list"> <div class="li">订单编号: <span v-text="scope.row.orderId"></span></div> @@ -228,46 +174,37 @@ </el-table-column> --> <!-- <el-table-column prop="orderType" label="订单类型" min-width="110" v-if="checkedCities.includes('订单类型')" /> --> <!-- <el-table-column prop="realName" label="收货人" min-width="100" v-if="checkedCities.includes('收货人')" /> --> - <el-table-column label="商品信息" - min-width="200" - v-if="checkedCities.includes('商品信息')"> + <el-table-column label="商品信息" min-width="200" v-if="checkedCities.includes('商品信息')"> <template slot-scope="scope"> - <el-popover trigger="hover" - placement="right" - :open-delay="800"> - <div v-if="scope.row.productList && scope.row.productList.length" - slot="reference"> - <div v-for="(val, i) in scope.row.productList" - :key="i" - class="tabBox acea-row row-middle" - style="flex-wrap: inherit"> + <el-popover trigger="hover" placement="right" :open-delay="800"> + <div v-if="scope.row.productList && scope.row.productList.length" slot="reference"> + <div v-for="(val, i) in scope.row.productList" :key="i" + class="tabBox acea-row row-middle" style="flex-wrap: inherit"> <div class="demo-image__preview mr10"> - <el-image :src="val.info.image" - :preview-src-list="[val.info.image]" /> + <el-image :src="val.info.image" :preview-src-list="[val.info.image]" /> </div> <div class="text_overflow"> - <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku ? - val.info.sku : '-' - }}</span> + <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku + ? + val.info.sku : '-' + }}</span> <span class="tabBox_pice">{{ - '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' - }}</span> + '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' + }}</span> </div> </div> </div> - <div class="pup_card" - v-if="scope.row.productList && scope.row.productList.length"> - <div v-for="(val, i) in scope.row.productList" - :key="i" - class="tabBox acea-row row-middle" - style="flex-wrap: inherit"> + <div class="pup_card" v-if="scope.row.productList && scope.row.productList.length"> + <div v-for="(val, i) in scope.row.productList" :key="i" + class="tabBox acea-row row-middle" style="flex-wrap: inherit"> <div class=""> - <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku ? - val.info.sku : '-' - }}</span> + <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku + ? + val.info.sku : '-' + }}</span> <span class="tabBox_pice">{{ - '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' - }}</span> + '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' + }}</span> </div> </div> </div> @@ -280,20 +217,14 @@ <span>{{ scope.row.payTypeStr }}</span> </template> </el-table-column> --> - <el-table-column label="订单状态" - min-width="150" - v-if="checkedCities.includes('订单状态')"> + <el-table-column label="订单状态" min-width="150" v-if="checkedCities.includes('订单状态')"> <template slot-scope="scope"> <div> - <div v-if="scope.row.refundStatus === 1 || scope.row.refundStatus === 2" - class="refunding"> + <div v-if="scope.row.refundStatus === 1 || scope.row.refundStatus === 2" class="refunding"> <template> - <el-popover trigger="hover" - placement="left" - :open-delay="500"> - <b style="color: #f124c7; cursor: pointer" - slot="reference">{{ - scope.row.statusStr.value }}</b> + <el-popover trigger="hover" placement="left" :open-delay="500"> + <b style="color: #f124c7; cursor: pointer" slot="reference">{{ + scope.row.statusStr.value }}</b> <div class="pup_card flex-column"> <span>退款原因:{{ scope.row.refundReasonWap }}</span> <span>备注说明:{{ scope.row.refundReasonWapExplain }}</span> @@ -302,24 +233,21 @@ 退款凭证: <template v-if="scope.row.refundReasonWapImg"> <div v-for="(item, index) in scope.row.refundReasonWapImg.split(',')" - :key="index" - class="demo-image__preview" - style="width: 35px; height: auto; display: inline-block"> - <el-image :src="item" - :preview-src-list="[item]" /> + :key="index" class="demo-image__preview" + style="width: 35px; height: auto; display: inline-block"> + <el-image :src="item" :preview-src-list="[item]" /> </div> </template> - <span v-else - style="display: inline-block">无</span> + <span v-else style="display: inline-block">无</span> </span> </div> </el-popover> </template> </div> <div v-if="scope.row.statusStr.value === '待审核'">当前状态:<span style="color: green;">{{ - scope.row.statusStr.value }}</span></div> + scope.row.statusStr.value }}</span></div> <div v-if="scope.row.statusStr.value === '审核失败'">当前状态:<span style="color: red;">{{ - scope.row.statusStr.value }}</span></div> + scope.row.statusStr.value }}</span></div> <div v-else>当前状态:<span>{{ scope.row.statusStr.value }}</span></div> <div>渠道名称: <span>{{ scope.row.channel }}</span></div> <div>审核人员:{{ scope.row.auditor }}</div> @@ -329,35 +257,23 @@ </template> </el-table-column> <!-- <el-table-column prop="createTime" label="下单时间" min-width="150" v-if="checkedCities.includes('下单时间')" /> --> - <el-table-column label="用户信息" - min-width="150" - max-width="150"> + <el-table-column label="用户信息" min-width="150" max-width="150"> <template slot-scope="scope"> - <div class="list1" - style="width: 150px;"> + <div class="list1" style="width: 150px;"> - <div class="info" - style="width: 150px;"> + <div class="info" style="width: 150px;"> - <div class="li" - style="width: 100%;">姓名: <span v-text="scope.row.realName"></span></div> - <div class="li" - style="margin-right: 10px;">性别: <span>{{ scope.row.sex }}</span></div> + <div class="li" style="width: 100%;">姓名: <span v-text="scope.row.realName"></span></div> + <div class="li" style="margin-right: 10px;">性别: <span>{{ scope.row.sex }}</span></div> <div class="li">年龄: <span>{{ scope.row.age }}</span></div> - <div class="li" - v-if="scope.row.systemLoginLog">浏览器: <span>{{ - scope.row.systemLoginLog.browserName }}</span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">定位: <span></span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">手机型号: <span>{{ - scope.row.systemLoginLog.deviceModel }}</span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">下单IP: <span>{{ - scope.row.systemLoginLog.ipaddr }}</span></div> + <div class="li" v-if="scope.row.systemLoginLog">浏览器: <span>{{ + scope.row.systemLoginLog.browserName }}</span></div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">定位: <span></span> + </div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">手机型号: <span>{{ + scope.row.systemLoginLog.deviceModel }}</span></div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">下单IP: <span>{{ + scope.row.systemLoginLog.ipaddr }}</span></div> </div> @@ -366,39 +282,25 @@ </template> </el-table-column> - <el-table-column label="操作" - min-width="250" - fixed="right" - align="center" - :render-header="renderHeader"> + <el-table-column label="操作" min-width="250" fixed="right" align="center" :render-header="renderHeader"> <template slot-scope="scope"> - <el-button size="small" - @click.native="onOrderDetails(scope.row.orderId)">订单详情</el-button> + <el-button size="small" @click.native="onOrderDetails(scope.row.orderId)">订单详情</el-button> <!-- scope.row.uid --> - <el-button size="small" - @click.native="getuserinfo(scope.row.uid)">用户信息</el-button> - <el-button size="small" - style="margin-top: 10px;" - v-if="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key === 'audit' && checkPermi(['admin:order:audit'])" - @click="onAudit(scope.row)">审核订单</el-button> - <el-button size="small" - @click="sendOrder(scope.row)" - v-if="scope.row.statusStr.key === 'notShipped' && - scope.row.refundStatus === 0 && - checkPermi(['admin:order:send']) - ">发货</el-button> - <el-button size="small" - style="margin-top: 10px;" - @click="showht(scope.row.contractUrl)" - v-if="scope.row.contractUrl">查看合同</el-button> - <el-button size="small" - style="margin-top: 10px;" - @click="showremake(scope.row.uid)">备注</el-button> + <el-button size="small" @click.native="getuserinfo(scope.row.uid)">用户信息</el-button> + <el-button size="small" style="margin-top: 10px;" + v-if="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key === 'audit' && checkPermi(['admin:order:audit'])" + @click="onAudit(scope.row)">审核订单</el-button> + <el-button size="small" @click="sendOrder(scope.row)" v-if="scope.row.statusStr.key === 'notShipped' && + scope.row.refundStatus === 0 && + checkPermi(['admin:order:send']) + ">发货</el-button> + <el-button size="small" style="margin-top: 10px;" @click="showht(scope.row.contractUrl)" + v-if="scope.row.contractUrl">查看合同</el-button> + <el-button size="small" style="margin-top: 10px;" + @click="showremake(scope.row.uid)">备注</el-button> - <el-button size="small" - style="margin-top: 10px;" - v-if="scope.row.statusStr.key != 'inUse'" - @click.native="handleDelete(scope.row, scope.$index)">取消订单</el-button> + <el-button size="small" style="margin-top: 10px;" v-if="scope.row.statusStr.key != 'inUse'" + @click.native="handleDelete(scope.row, scope.$index)">取消订单</el-button> <!-- <el-button v-if="scope.row.paid === false && !scope.row.isAlterPrice && checkPermi(['admin:order:update:price'])" type="text" @@ -461,231 +363,162 @@ @click="onWriteOff(scope.row)" >立即核销</el-button > --> - <el-dropdown trigger="click" - v-show="false"> + <el-dropdown trigger="click" v-show="false"> <span class="el-dropdown-link"> 更多<i class="el-icon-arrow-down el-icon--right" /> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item @click.native="onOrderDetails(scope.row.orderId)" - v-if="checkPermi(['admin:order:info'])">订单详情</el-dropdown-item> + v-if="checkPermi(['admin:order:info'])">订单详情</el-dropdown-item> <el-dropdown-item @click.native="onInstallmentBills(scope.row.id)" - v-if="checkPermi(['admin:order:info'])" - v-show="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key != 'audit' && scope.row.statusStr.key != 'auditReject'">查看账单</el-dropdown-item> + v-if="checkPermi(['admin:order:info'])" + v-show="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key != 'audit' && scope.row.statusStr.key != 'auditReject'">查看账单</el-dropdown-item> <el-dropdown-item @click.native="onOrderLog(scope.row.orderId)" - v-if="checkPermi(['admin:order:status:list'])">订单记录</el-dropdown-item> + v-if="checkPermi(['admin:order:status:list'])">订单记录</el-dropdown-item> <el-dropdown-item @click.native="onOrderMark(scope.row)" - v-if="checkPermi(['admin:order:mark'])">订单备注</el-dropdown-item> - <el-dropdown-item v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund:refuse'])" - @click.native="onOrderRefuse(scope.row)">拒绝退款</el-dropdown-item> + v-if="checkPermi(['admin:order:mark'])">订单备注</el-dropdown-item> + <el-dropdown-item + v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund:refuse'])" + @click.native="onOrderRefuse(scope.row)">拒绝退款</el-dropdown-item> <!--v-show="((scope.row.statusStr.key !== 'refunded' && scope.row.statusStr.key !== 'unPaid') && (parseFloat(scope.row.payPrice) >= parseFloat(scope.row.refundPrice))) || (scope.row.payPrice == 0 && [0,1].indexOf(scope.row.refundStatus) !== -1)"--> - <el-dropdown-item v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund'])" - @click.native="onOrderRefund(scope.row)">立即退款</el-dropdown-item> - <el-dropdown-item v-if="scope.row.statusStr.key === 'deleted' && checkPermi(['admin:order:delete'])" - @click.native="handleDelete(scope.row, scope.$index)">删除订单</el-dropdown-item> + <el-dropdown-item + v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund'])" + @click.native="onOrderRefund(scope.row)">立即退款</el-dropdown-item> + <el-dropdown-item + v-if="scope.row.statusStr.key === 'deleted' && checkPermi(['admin:order:delete'])" + @click.native="handleDelete(scope.row, scope.$index)">删除订单</el-dropdown-item> <el-dropdown-item v-if="scope.row.statusStr.key !== 'unPaid'" - @click.native="onOrderPrint(scope.row)">打印小票</el-dropdown-item> + @click.native="onOrderPrint(scope.row)">打印小票</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </template> </el-table-column> </el-table> <div class="block"> - <el-pagination :page-sizes="[20, 40, 60, 80]" - :page-size="tableFrom.limit" - :current-page="tableFrom.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableData.total" - @size-change="handleSizeChange" - @current-change="pageChange" /> + <el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" + :current-page="tableFrom.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableData.total" @size-change="handleSizeChange" @current-change="pageChange" /> </div> </el-card> - <div class="card_abs" - v-show="card_select_show"> + <div class="card_abs" v-show="card_select_show"> <template> <div class="cell_ht"> - <el-checkbox :indeterminate="isIndeterminate" - v-model="checkAll" - @change="handleCheckAllChange">全选</el-checkbox> - <el-button type="text" - @click="checkSave()">保存</el-button> + <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" + @change="handleCheckAllChange">全选</el-checkbox> + <el-button type="text" @click="checkSave()">保存</el-button> </div> - <el-checkbox-group v-model="checkedCities" - @change="handleCheckedCitiesChange"> - <el-checkbox v-for="item in columnData" - :label="item" - :key="item" - class="check_cell">{{ item - }}</el-checkbox> + <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> + <el-checkbox v-for="item in columnData" :label="item" :key="item" class="check_cell">{{ item + }}</el-checkbox> </el-checkbox-group> </template> </div> <!--编辑--> - <el-dialog title="编辑订单" - :visible.sync="dialogVisible" - width="500px" - :before-close="handleClose"> - <zb-parser v-if="dialogVisible" - :form-id="104" - :is-create="isCreate" - :edit-data="editData" - @submit="handlerSubmit" - @resetForm="resetForm" /> + <el-dialog title="编辑订单" :visible.sync="dialogVisible" width="500px" :before-close="handleClose"> + <zb-parser v-if="dialogVisible" :form-id="104" :is-create="isCreate" :edit-data="editData" + @submit="handlerSubmit" @resetForm="resetForm" /> </el-dialog> <!--记录--> - <el-dialog title="操作记录" - :visible.sync="dialogVisibleJI" - width="700px"> - <el-table v-loading="LogLoading" - border - :data="tableDataLog.data" - style="width: 100%"> - <el-table-column prop="oid" - align="center" - label="ID" - min-width="80" /> - <el-table-column prop="changeMessage" - label="操作记录" - align="center" - min-width="280" /> - <el-table-column prop="createTime" - label="操作时间" - align="center" - min-width="280" /> + <el-dialog title="操作记录" :visible.sync="dialogVisibleJI" width="700px"> + <el-table v-loading="LogLoading" border :data="tableDataLog.data" style="width: 100%"> + <el-table-column prop="oid" align="center" label="ID" min-width="80" /> + <el-table-column prop="changeMessage" label="操作记录" align="center" min-width="280" /> + <el-table-column prop="createTime" label="操作时间" align="center" min-width="280" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[10, 20, 30, 40]" - :page-size="tableFromLog.limit" - :current-page="tableFromLog.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDataLog.total" - @size-change="handleSizeChangeLog" - @current-change="pageChangeLog" /> + <el-pagination :page-sizes="[10, 20, 30, 40]" :page-size="tableFromLog.limit" + :current-page="tableFromLog.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDataLog.total" @size-change="handleSizeChangeLog" @current-change="pageChangeLog" /> </div> </el-dialog> <!--账单记录--> - <el-dialog title="账单记录" - :visible.sync="dialogVisibleInstallment" - width="1200px"> - <el-table v-loading="InstallmentLoading" - border - :data="tableDataInstallment.data" - style="width: 100%"> - <el-table-column prop="id" - align="center" - label="ID" - min-width="80" /> - <el-table-column prop="uid" - align="center" - label="客户" - min-width="80" /> - <el-table-column prop="repaymentAmount" - align="center" - label="还款金额" - min-width="80" /> - <el-table-column prop="installmentNumber" - align="center" - label="第几期" - min-width="80" /> - <el-table-column prop="repaymentDeadline" - align="center" - label="还款时间" - min-width="280" /> - <el-table-column prop="repaymentStatus" - align="center" - label="还款状态" - min-width="80" /> - <el-table-column prop="paymentMethod" - align="center" - label="还款方式" - min-width="80" /> - <el-table-column prop="createTime" - label="创建时间" - align="center" - min-width="280" /> + <el-dialog title="账单记录" :visible.sync="dialogVisibleInstallment" width="1200px"> + <el-table v-loading="InstallmentLoading" border :data="tableDataInstallment.data" style="width: 100%"> + <el-table-column prop="id" align="center" label="ID" min-width="80" /> + <el-table-column prop="uid" align="center" label="客户" min-width="80" /> + <el-table-column prop="repaymentAmount" align="center" label="还款金额" min-width="80" /> + <el-table-column prop="installmentNumber" align="center" label="第几期" min-width="80" /> + <el-table-column prop="repaymentDeadline" align="center" label="还款时间" min-width="280" /> + <el-table-column prop="repaymentStatus" align="center" label="还款状态" min-width="80" /> + <el-table-column prop="paymentMethod" align="center" label="还款方式" min-width="80" /> + <el-table-column prop="createTime" label="创建时间" align="center" min-width="280" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[10, 20, 30, 40]" - :page-size="tableFromInstall.limit" - :current-page="tableFromInstall.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDataInstallment.total" - @size-change="handleSizeChangeLog" - @current-change="pageChangeLog" /> + <el-pagination :page-sizes="[10, 20, 30, 40]" :page-size="tableFromInstall.limit" + :current-page="tableFromInstall.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDataInstallment.total" @size-change="handleSizeChangeLog" + @current-change="pageChangeLog" /> </div> </el-dialog> <!--详情--> - <details-from ref="orderDetail" - :orderId="orderId" /> + <details-from ref="orderDetail" :orderId="orderId" /> <!--审核--> - <el-dialog title="审核" - v-if="AuditVisible" - :visible.sync="AuditVisible" - width="500px" - :before-close="AudithandleClose"> - <zb-parser :form-id="145" - :is-create="1" - :edit-data="AuditData" - @submit="AudithandlerSubmit" - @resetForm="resetFormAudithand" /> + <el-dialog title="审核" v-if="AuditVisible" :visible.sync="AuditVisible" width="500px" + :before-close="AudithandleClose"> + <zb-parser :form-id="145" :is-create="1" :edit-data="AuditData" @submit="AudithandlerSubmit" + @resetForm="resetFormAudithand" /> </el-dialog> - <el-dialog title="合同详情" - :visible.sync="htVisible" - width="1000px" - :before-close="htClose"> + <el-dialog title="合同详情" :visible.sync="htVisible" width="1000px" :before-close="htClose"> <div class="pdfCom"> - <iframe :src="pdfUrl" - width="100%" - height="600px" - frameborder="0" - sandbox="allow-same-origin allow-scripts allow-forms"></iframe> + <iframe :src="pdfUrl" width="100%" height="600px" frameborder="0" + sandbox="allow-same-origin allow-scripts allow-forms"></iframe> <!-- <canvas :id="'canvas'+item" v-for="item in pdfHTML" :key="item" /> --> </div> </el-dialog> - <el-dialog title="" - :visible.sync="dialogVisibles" - width="1388px" - :before-close="handleClose"> - <div class="detailbox" - v-if="dialogVisibles"> + <el-dialog title="" :visible.sync="dialogVisibles" width="1388px" :before-close="handleClose"> + <div class="detailbox" v-if="dialogVisibles"> <div class="titbox"> - <div class="tit" - v-for="(item, index) in detaillist" - :key="index" - v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" - :class="detailindex == index ? 'act' : ''" - @click="changeindex(index)">{{ item.tit }}</div> + <div class="tit" v-for="(item, index) in detaillist" :key="index" + v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" + :class="detailindex == index ? 'act' : ''" @click="changeindex(index)">{{ item.tit }}</div> </div> - <div class="info_box" - v-show="detailindex == 0"> + <div class="info_box" v-show="detailindex == 0"> <div class="info"> <div class="infoli">用户姓名:{{ userinfo.detailinfo.realName }}</div> <div class="infoli">手机号:{{ userinfo.detailinfo.phoneNumber }}</div> <div class="infoli">邮箱:{{ userinfo.detailinfo.email }}</div> - <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + </div> - <div class="tit" - v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="info"> + + <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + <div class="infoli">身份证有效期:{{ userinfo.detailinfo.timelimit || '未录入' }}</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation">是否实名:已实名</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation == false">是否实名:未实名</div> + + </div> + <div class="info"> + <div class="infoli">公司:{{ userinfo.detailinfo.company || '未录入' }}</div> + <div class="infoli">五险一金:{{ userinfo.detailinfo.insurance || '未录入' }}</div> + + <div class="infoli">名族:{{ userinfo.detailinfo.nation || '未录入' }}</div> + + </div> + <div class="info"> + <div class="infoli" style="font-size: 14px;">身份证住址:{{ userinfo.detailinfo.address || '未录入' }} + </div> + <div class="infoli">身份证颁发机关:{{ userinfo.detailinfo.authority || '未录入' }}</div> + + <div class="infoli">月薪:{{ userinfo.detailinfo.salary || '未录入' }}</div> + + </div> + <div class="tit" v-if="userinfo.detailinfo.userEmergencyContactsList"> 紧急联系人: </div> - <div class="addbox" - v-if="userinfo.detailinfo.userEmergencyContactsList"> - <div class="addli" - style="width: 100%;" - v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" - :key="index"> + <div class="addbox" v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="addli" style="width: 100%;" + v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" :key="index"> <div class="addtxt"> 姓名:{{ item.contactName }} </div> <div class="addtxt"> 手机号:{{ item.phoneNumber }} </div> - <div class="addtxt" - v-show="item.relationship != null"> + <div class="addtxt" v-show="item.relationship != null"> 关系:{{ getRelationship(item.relationship) }} </div> </div> @@ -707,8 +540,7 @@ </div> <div class="info"> - <div class="infoimg" - style="justify-content: start;"> + <div class="infoimg" style="justify-content: start;"> <!-- <div class="infoimg_box"> <div class="noimg">手持身份证照片</div> <img src="" @@ -716,54 +548,57 @@ v-show="false"> <div class="text">手持身份证照片</div> </div> --> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> - <img :src="userinfo.detailinfo.idCardFrontPhoto" - alt="" - v-show="userinfo.detailinfo.idCardFrontPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" + v-show="userinfo.detailinfo.idCardFrontPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> <div class="text">身份证正面</div> </div> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> - <img :src="userinfo.detailinfo.idCardBackPhoto" - alt="" - v-show="userinfo.detailinfo.idCardBackPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" + v-show="userinfo.detailinfo.idCardBackPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> <div class="text">身份证反面</div> </div> <div class="infoimg_box"> - <div class="noimg" - v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> - <img :src="userinfo.detailinfo.handIdCard" - alt="" - v-show="userinfo.detailinfo.handIdCard != null" - @click="openImage(userinfo.detailinfo.handIdCard)"> + <div class="noimg" v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> + <img :src="userinfo.detailinfo.handIdCard" alt="" + v-show="userinfo.detailinfo.handIdCard != null" + @click="openImage(userinfo.detailinfo.handIdCard)"> <div class="text">手持身份证正面</div> </div> </div> + <div class="infoimg" style="justify-content: start;"> + <!-- <div class="infoimg_box"> + <div class="noimg">手持身份证照片</div> + <img src="" + alt="" + v-show="false"> + <div class="text">手持身份证照片</div> + </div> --> + + <div class="infoimg_box"> + <div class="noimg" v-show="userinfo.detailinfo.faceUrl == null">实名拍摄画面</div> + <img :src="userinfo.detailinfo.faceUrl" alt="" + v-show="userinfo.detailinfo.faceUrl != null" + @click="openImage(userinfo.detailinfo.faceUrl)"> + <div class="text">实名拍摄画面</div> + </div> + </div> </div> - <div v-if="isImageOpen" - class="overlay" - @click="closeImage"> + <div v-if="isImageOpen" class="overlay" @click="closeImage"> <div class="image-container"> - <img :src="openedImage" - alt="" - class="enlarged-image"> + <img :src="openedImage" alt="" class="enlarged-image"> </div> </div> <div class="tit"> 收货地址: </div> <div class="addbox"> - <div class="addli" - v-for="(item, index) in userinfo.detailinfo.addresses" - :key="index"> + <div class="addli" v-for="(item, index) in userinfo.detailinfo.addresses" :key="index"> <div class="addtxt"> 姓名:{{ item.realName }} </div> @@ -779,15 +614,12 @@ <div class="tit"> IP记录 </div> - <div class="info" - v-for="(item, index) in userinfo.detailinfo.ips" - :key="index"> + <div class="info" v-for="(item, index) in userinfo.detailinfo.ips" :key="index"> <div class="infoli">{{ item.loginTime }}</div> <div class="infoli">{{ item.ipaddr }}</div> <!-- <div class="infoli">福建省 福鼎市</div> --> - <div class="infoli" - style="color: red;">{{ item.loginLocation }}</div> + <div class="infoli" style="color: red;">{{ item.loginLocation }}</div> </div> <!-- <div class="tit"> @@ -795,42 +627,30 @@ </div> <div ref="map" style="width: 100%; height: 400px;"></div> --> </div> - <div class="fkbox" - v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> - <div class="titbox" - style="margin-top: 10px;"> - <div class="tit" - :class="fkxindex == 0 ? 'act' : ''" - @click="fkxindex = 0"> + <div class="fkbox" v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> + <div class="titbox" style="margin-top: 10px;"> + <div class="tit" :class="fkxindex == 0 ? 'act' : ''" @click="fkxindex = 0"> 天狼星报告 </div> - <div class="tit" - :class="fkxindex == 1 ? 'act' : ''" - @click="fkxindex = 1"> + <div class="tit" :class="fkxindex == 1 ? 'act' : ''" @click="fkxindex = 1"> 紫微星报告 </div> - <div class="tit" - :class="fkxindex == 2 ? 'act' : ''" - @click="fkxindex = 2"> + <div class="tit" :class="fkxindex == 2 ? 'act' : ''" @click="fkxindex = 2"> 综合报告 </div> </div> <div v-show="fkxindex == 2"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zhinfo.isCache == false" - @click="getSynthesizeReport()">获取报告 + <div class="btn" v-show="userinfo.zhinfo.isCache == false" @click="getSynthesizeReport()"> + 获取报告 </div> - <div class="btn" - v-show="userinfo.zhinfo.isCache != false" - @click="getSynthesizeReport()">重新获取报告 + <div class="btn" v-show="userinfo.zhinfo.isCache != false" @click="getSynthesizeReport()"> + 重新获取报告 </div> - <div class="tip" - v-show="userinfo.zhinfo.isCache == false">暂无报告</div> + <div class="tip" v-show="userinfo.zhinfo.isCache == false">暂无报告</div> </div> - <div class="newReport" - v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> + <div class="newReport" v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> <div class="name_info"> <div class="name">{{ userinfo.zhinfo.userIdentityInfo.realName }}</div> @@ -842,35 +662,34 @@ <div class="line"></div> <div class="text">手机号</div> <div class="input">{{ userinfo.zhinfo.userIdentityInfo.commonPhoneNumber }}</div> - <div class="stause" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> - <div class="stause" - style="background: #e83535;" - v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> + <div class="stause" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常 + </div> + <div class="stause" style="background: #e83535;" + v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> </div> <div class="card_info_bot"> <div class="card_info_bot_li"> <div class="tit">手机号在网时间</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" - style="color: #e83535;">0-3个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" - style="color: #e83535;">3-6个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" - style="color: #e83535;">6-12个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" - style="color: #e83535;">12-24个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" + style="color: #e83535;"> + 0-3个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" + style="color: #e83535;"> + 3-6个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" + style="color: #e83535;"> + 6-12个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" + style="color: #e83535;"> + 12-24个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'"> + 24个月及以上 </div> </div> <!-- <div class="card_info_bot_li"> - <div class="tit">手机号归属地</div> - <div class="text">广东 广州 [中国移动]</div> - </div> --> + <div class="tit">手机号归属地</div> + <div class="text">广东 广州 [中国移动]</div> + </div> --> </div> </div> @@ -882,28 +701,26 @@ <div class="stause">正常</div> </div> <!-- <div class="card_info_bot"> - <div class="card_info_bot_li"> - <div class="tit">身份证始发地</div> - <div class="text">24个月及以上</div> - </div> - <div class="card_info_bot_li"> - <div class="tit">身份证检测结果</div> - <div class="text">公安联网审核通过</div> - </div> - </div> --> + <div class="card_info_bot_li"> + <div class="tit">身份证始发地</div> + <div class="text">24个月及以上</div> + </div> + <div class="card_info_bot_li"> + <div class="tit">身份证检测结果</div> + <div class="text">公安联网审核通过</div> + </div> + </div> --> </div> - <div class="tit" - style="margin-top: 20px;"> + <div class="tit" style="margin-top: 20px;"> <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + alt=""> <div class="text"> 授信报告 </div> </div> <div class="sxbox"> - <div class="sxinfo" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxinfo" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="textbox"> <div class="text"> 网贷授信额度 @@ -938,8 +755,7 @@ </div> </div> </div> - <div class="sxtable" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxtable" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="table_li"> <div class="li"></div> <div class="li">机构数</div> @@ -952,26 +768,34 @@ <div class="table_li"> <div class="li">网络贷款数</div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180003 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180003 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180004 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180004 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180005 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180005 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180006 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180006 }} + </div> </div> <div class="table_li"> <div class="li">消费金融数</div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180007 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180007 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180008 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180008 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180009 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180009 }} + </div> <div class="li"> - {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180010 }}</div> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180010 }} + </div> </div> @@ -987,10 +811,9 @@ 本系统授信额度是根据用户借贷行为大数据分析预估得出,不代表金融机构的真实授信额度;置信度分值在50-100之间,分值越高,授信额度可信度越高;数据仅供参考, 不代表任何操作建议,请谨慎使用</div> </div> - <div class="tit" - style="margin-top: 20px;"> + <div class="tit" style="margin-top: 20px;"> <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + alt=""> <div class="text"> 申请、放款报告 </div> @@ -1340,10 +1163,9 @@ </div> </div> </div> - <div class="tit" - style="margin-top: 20px;"> + <div class="tit" style="margin-top: 20px;"> <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + alt=""> <div class="text"> 逾期、履约报告 </div> @@ -1356,8 +1178,7 @@ 查询成功 </div> </div> - <div class="lybox" - > + <div class="lybox"> <div class="cxbox"> <div class="cxli"> <div class="cxcont"> @@ -1369,13 +1190,12 @@ </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最近逾期时间 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time }} + <div class="cxbot" style="color: #E83535;"> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time || '--' + }} </div> </div> <div class="cxcont"> @@ -1389,33 +1209,30 @@ </div> <div class="cxli"> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 当前逾期机构数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最大逾期金额 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最长逾期天数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days || '--' }} </div> </div> </div> @@ -1425,7 +1242,9 @@ 当前履约机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance || '--' + }} </div> </div> <div class="cxcont"> @@ -1433,7 +1252,9 @@ 最大履约金额 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt || '--' + }} </div> </div> <div class="cxcont"> @@ -1441,7 +1262,10 @@ 最近履约时间 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time || + '--' }} + </div> </div> </div> @@ -1451,7 +1275,9 @@ 异常还款机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc || '--' }} + </div> </div> <div class="cxcont"> @@ -1459,7 +1285,9 @@ 睡眠机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep || '--' }} + </div> </div> <div class="cxcont"> @@ -1557,17 +1385,17 @@ 最近一次履约距今天数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170050 }} + {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170050 + }} </div> </div> - <div class="cxcont" - style="width: 220px;"> - <div class="cxtop" - style="width: 220px;"> + <div class="cxcont" style="width: 220px;"> + <div class="cxtop" style="width: 220px;"> 当前履约贷款已结清订单数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170052 }} + {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170052 + }} </div> </div> <div class="cxcont"> @@ -1575,7 +1403,8 @@ 信用贷款时长 </div> <div class="cxbot"> - {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170053 }} + {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170053 + }} </div> </div> </div> @@ -1585,7 +1414,8 @@ 最近一次贷款放贷时间 </div> <div class="cxbot"> - {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170054 }} + {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170054 + }} </div> </div> <div class="cxcont"> @@ -1606,8 +1436,7 @@ </div> </div> </div> - <div class="fkuanbox" - style=" width: 100%;"> + <div class="fkuanbox" style=" width: 100%;"> <div class="fkuanbox_li"> <div class="fkuanbox_cont act1"> @@ -1634,8 +1463,7 @@ <div class="fkuanbox_cont act1"> 履约次数 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170045 }} </div> <div class="fkuanbox_cont act1"> @@ -1656,8 +1484,7 @@ <div class="fkuanbox_cont act1"> 履约总金额 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170040 }} </div> <div class="fkuanbox_cont act1"> @@ -1698,31 +1525,128 @@ </div> </div> - <div class="tit" - style="margin-top: 20px;" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="tit" style="margin-top: 20px;" + v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + alt=""> <div class="text"> 逾期、履约报告 </div> </div> + <div class="tit" style="margin-top: 20px;"> + <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 逾期详情 + </div> + </div> + <div class="table_box"> + <div class="texts"> + 注:具体一笔逾期订单的逾期时间越长,按[账期类型(S/M)+账龄(0/1/...)]形式输出,S代表7/14/21天等超短期现金贷账期、M代表30/30+天等多期借贷账期(例如:假如账期是30天,M0对应0-30天,M1对应31-60天,以此类推:假如账期是7天,S1对应8-14天,以此类推:S/M的具体周期是根据不同平台和产品而定,具体的规则需根据实际情况而定) + </div> + <div class="table_li" style="margin-top: 20px;"> + <div class="back">逾期机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.memberCount }} + </div> + <div class="back">逾期订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.orderCount }} + </div> + </div> + <div class="table_li"> + <div class="back">近1月共债机构数</div> + <div class="normal">{{ + userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount }} + </div> + <div class="back">近1月共债订单数</div> + <div class="normal">{{ + userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount }} + </div> + </div> + <div class="table_li"> + <div class="back">近1月共债订单已还款金额</div> + <div class="normal">{{ + userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt }} + </div> + <div class="back">近1月共债订单金额</div> + <div class="normal">{{ + userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt }} + </div> + </div> + + <div class="table_li"> + <div class="back">逾期总金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount }} + </div> + + </div> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.debtDetail " + :key="index"> + <div class="table_li"> + <div class="back">逾期时间</div> + <div class="normal">{{ item.endDay }}</div> + <div class="back">逾期账期数</div> + <div class="normal">{{ item.billType }}</div> + + </div> + <div class="table_li"> + <div class="back">逾期金额</div> + <div class="normal">{{ item.endMoney }}</div> + <div class="back">是否结清</div> + <div class="normal" v-if="item.endFlag == 'N'">未结清</div> + <div class="normal" v-if="item.endFlag == 'Y'">已结清</div> + </div> + </div> + </div> + <div class="tit" style="margin-top: 20px;" + v-if="userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail.length > 0"> + <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 历史共债 + </div> + </div> + <div class="table_box"> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail" + :key="index"> + <div class="table_li"> + <div class="back">共债统计时间范围</div> + <div class="normal">{{ item.totaldebtDate }}</div> + <div class="back">共债机构数</div> + <div class="normal">{{ item.totaldebtOrgCount }}</div> + + </div> + <div class="table_li"> + <div class="back">共债订单数</div> + <div class="normal">{{ item.totaldebtOrderCount }}</div> + <div class="back">疑似借新还日</div> + <div class="normal" v-if="item.newOrOld == 'N'">不存在</div> + <div class="normal" v-if="item.newOrOld == 'Y'">存在</div> + </div> + <div class="table_li"> + <div class="back">共债订单已还款金额</div> + <div class="normal">{{ item.totaldebtOrderAmt }}</div> + <div class="back">共债订单金额</div> + <div class="normal">{{ item.totaldebtOrderLendAmt }}</div> + + </div> + </div> + </div> + <div class="speedbox"> <div class="speed_left"> 当前失信执行人探查结果 </div> - <div class="speed_right" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> 查询成功 </div> - <div class="speed_right" - style="color: #000;" - v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" style="color: #000;" + v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> 未查询到信息 </div> </div> - <div class="shixbox" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="shixbox" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> <div class="fkuanbox"> <div class="fkuanbox_li"> <div class="fkuanbox_cont"> @@ -1744,8 +1668,8 @@ </div> </div> <div class="fkuanbox_li" - v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" - :key="index"> + v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" + :key="index"> <div class="fkuanbox_cont"> {{ item.casecode }} </div> @@ -1769,141 +1693,72 @@ </div> </div> - </div> <div v-show="fkxindex == 0"> <div class="noreport"> - <div class="btn" - v-show="userinfo.tlxinfo.url == null" - @click="tlxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.tlxinfo.url != null" - @click="tlxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.tlxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url == null" @click="tlxReport()">获取报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url != null" @click="tlxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.tlxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.tlxinfo.url" - alt="" - v-show="userinfo.tlxinfo.url != null"> + <img :src="userinfo.tlxinfo.url" alt="" v-show="userinfo.tlxinfo.url != null"> </div> <div v-show="fkxindex == 1"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zwxinfo.url == null" - @click="zwxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zwxinfo.url != null" - @click="zwxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zwxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url == null" @click="zwxReport()">获取报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url != null" @click="zwxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.zwxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.zwxinfo.url" - alt="" - v-show="userinfo.zwxinfo.url != null"> + <img :src="userinfo.zwxinfo.url" alt="" v-show="userinfo.zwxinfo.url != null"> </div> </div> - <div class="zdbox" - v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" - style="width: 1500px;"> + <div class="zdbox" v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" + style="width: 1500px;"> <el-col :span="20"> - <el-table :data="tableDatas.data" - style="width: 1200px;" - v-loading="loading" - max-height="700"> - <el-table-column :prop="item.key" - :label="item.title" - width="item.minWidth" - :show-overflow-tooltip="true" - v-for="(item, index) in columns" - :key="index" /> + <el-table :data="tableDatas.data" style="width: 1200px;" v-loading="loading" max-height="700"> + <el-table-column :prop="item.key" :label="item.title" width="item.minWidth" + :show-overflow-tooltip="true" v-for="(item, index) in columns" :key="index" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[6, 12, 18, 24]" - :page-size="tableFroms.limit" - :current-page="tableFroms.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDatas.total" - @size-change="handleSizeChanges" - @current-change="pageChanges" /> + <el-pagination :page-sizes="[6, 12, 18, 24]" :page-size="tableFroms.limit" + :current-page="tableFroms.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDatas.total" @size-change="handleSizeChanges" + @current-change="pageChanges" /> </div> </el-col> </div> - <div class="remake" - v-if="detailindex == 9"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <div class="remake" v-if="detailindex == 9"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" + @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" + @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> @@ -1918,80 +1773,33 @@ </div> </el-dialog> - <el-dialog title="备注" - :visible.sync="bzVisible" - width="1000px" - :before-close="bzClose"> - <div class="remake" - style="min-height: 500px;"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <el-dialog title="备注" :visible.sync="bzVisible" width="1000px" :before-close="bzClose"> + <div class="remake" style="min-height: 500px;"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" + @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> <!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开" @@ -2004,46 +1812,27 @@ </div> </el-dialog> <!-- 发送货 --> - <order-send ref="send" - :orderId="orderId" - @submitFail="getList" - :expressListNormal="expressListNormal" - :expressListElec="expressListElec" - :orderDetail="orderDetail"></order-send> + <order-send ref="send" :orderId="orderId" @submitFail="getList" :expressListNormal="expressListNormal" + :expressListElec="expressListElec" :orderDetail="orderDetail"></order-send> <!-- 发送货视频号商品 --> - <order-video-send ref="videoSend" - :orderId="orderId" - @submitFail="getList"></order-video-send> + <order-video-send ref="videoSend" :orderId="orderId" @submitFail="getList"></order-video-send> <!--拒绝退款--> - <el-dialog title="拒绝退款原因" - v-if="RefuseVisible" - :visible.sync="RefuseVisible" - width="500px" - :before-close="RefusehandleClose"> - <zb-parser :form-id="106" - :is-create="1" - :edit-data="RefuseData" - @submit="RefusehandlerSubmit" - @resetForm="resetFormRefusehand" /> + <el-dialog title="拒绝退款原因" v-if="RefuseVisible" :visible.sync="RefuseVisible" width="500px" + :before-close="RefusehandleClose"> + <zb-parser :form-id="106" :is-create="1" :edit-data="RefuseData" @submit="RefusehandlerSubmit" + @resetForm="resetFormRefusehand" /> </el-dialog> <!--立即退款--> - <el-dialog title="退款处理" - :visible.sync="refundVisible" - width="500px" - :before-close="refundhandleClose"> - <zb-parser :form-id="107" - :is-create="1" - :edit-data="refundData" - @submit="refundhandlerSubmit" - v-if="refundVisible" - @resetForm="resetFormRefundhandler" /> + <el-dialog title="退款处理" :visible.sync="refundVisible" width="500px" :before-close="refundhandleClose"> + <zb-parser :form-id="107" :is-create="1" :edit-data="refundData" @submit="refundhandlerSubmit" + v-if="refundVisible" @resetForm="resetFormRefundhandler" /> </el-dialog> </div> </template> - + <script> // const PDFJS = require("pdfjs-dist"); // PDFJS.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/build/pdf.worker.min"); @@ -2260,232 +2049,11 @@ export default { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); this.userinfo.zhinfo = res - loading.close(); - - if (res.code == 500) { - this.$message.error(res.msg); - } - if (!this.userinfo.zhinfo.radarRes) { - // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes = { - "resultDetail": { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--" - }, - "applyReportDetail": { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }, - "behaviorReportDetail": { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - } - } - }; - } else { - // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 - if (!this.userinfo.zhinfo.radarRes.resultDetail) { - // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes.resultDetail = { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--", - - - - } - }; - } - // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" - if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }; - } - if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - }; - } - } - if (!this.userinfo.zhinfo.probeCRes) { - this.userinfo.zhinfo.probeCRes = { - 'result_detail': { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - }else{ - if(!this.userinfo.zhinfo.probeCRes.result_detail){ - this.userinfo.zhinfo.probeCRes.result_detail={ - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } + this.checkfk() + loading.close(); + if (res.code == 500) { + this.$message.error(res.msg); + } this.$forceUpdate() }); @@ -2728,233 +2296,284 @@ export default { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); this.userinfo.zhinfo = res - if (!this.userinfo.zhinfo.radarRes) { - // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes = { - "resultDetail": { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--" - }, - "applyReportDetail": { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }, - "behaviorReportDetail": { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - } - } - }; - } else { - // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 - if (!this.userinfo.zhinfo.radarRes.resultDetail) { - // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes.resultDetail = { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--", - - - - } - }; - } - // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" - if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }; - } - if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - }; - } - } - if (!this.userinfo.zhinfo.probeCRes) { - this.userinfo.zhinfo.probeCRes = { - 'result_detail': { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - }else{ - if(!this.userinfo.zhinfo.probeCRes.result_detail){ - this.userinfo.zhinfo.probeCRes.result_detail={ - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } - + this.checkfk() }); console.log(this.userinfo, 'detailinfodetailinfodetailinfo'); }, + checkfk(){ + if(!this.userinfo.zhinfo.panoramicArchives){ + this.userinfo.zhinfo.panoramicArchives={ + "resultDetail":{ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + }else if(!this.userinfo.zhinfo.panoramicArchives.resultDetail){ + this.userinfo.zhinfo.panoramicArchives.resultDetail={ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount='--' + } + if (!this.userinfo.zhinfo.radarRes) { + // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" + this.userinfo.zhinfo.radarRes = { + "resultDetail": { + "currentReportDetail": { + "c22180006": "--", + "c22180009": "--", + "c22180010": "--", + "c22180002": "--", + "c22180011": "--", + "c22180012": "--", + "c22180004": "--", + "c22180007": "--", + "c22180005": "--", + "c22180003": "--", + "c22180008": "--", + "c22180001": "--" + }, + "applyReportDetail": { + "a22160004": "--", + "a22160001": "--", + "a22160002": "--", + "a22160003": "--", + "a22160006": "--", + "a22160007": "--", + "a22160008": "--", + "a22160005": "--", + "a22160009": "--", + "a22160010": "--" + }, + "behaviorReportDetail": { + "b22170013": "--", + "b22170001": "--", + "b22170002": "--", + "b22170003": "--", + "b22170004": "--", + "b22170005": "--", + "b22170006": "--", + "b22170007": "--", + "b22170008": "--", + "b22170009": "--", + "b22170010": "--", + "b22170011": "--", + "b22170012": "--", + "b22170017": "--", + "b22170018": "--", + "b22170015": "--", + "b22170016": "--", + "b22170014": "--", + "b22170052": "--", + "b22170030": "--", + "b22170026": "--", + "b22170051": "--", + "b22170041": "--", + "b22170031": "--", + "b22170032": "--", + "b22170033": "--", + "b22170028": "--", + "b22170045": "--", + "b22170027": "--", + "b22170029": "--", + "b22170046": "--", + "b22170019": "--", + "b22170020": "--", + "b22170022": "--", + "b22170047": "--", + "b22170049": "--", + "b22170023": "--", + "b22170025": "--", + "b22170038": "--", + "b22170040": "--", + "b22170044": "--", + "b22170035": "--", + "b22170039": "--", + "b22170048": "--", + "b22170050": "--", + "b22170054": "--", + "b22170037": "--", + "b22170036": "--", + "b22170043": "--", + "b22170024": "--", + "b22170042": "--", + "b22170021": "--", + "b22170034": "--", + "b22170053": "--" + // Add other fields here with "--" values + } + } + }; + } else { + // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 + if (!this.userinfo.zhinfo.radarRes.resultDetail) { + // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" + this.userinfo.zhinfo.radarRes.resultDetail = { + "currentReportDetail": { + "c22180006": "--", + "c22180009": "--", + "c22180010": "--", + "c22180002": "--", + "c22180011": "--", + "c22180012": "--", + "c22180004": "--", + "c22180007": "--", + "c22180005": "--", + "c22180003": "--", + "c22180008": "--", + "c22180001": "--", + + + + } + }; + } + // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" + if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { + this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { + "a22160004": "--", + "a22160001": "--", + "a22160002": "--", + "a22160003": "--", + "a22160006": "--", + "a22160007": "--", + "a22160008": "--", + "a22160005": "--", + "a22160009": "--", + "a22160010": "--" + }; + } + if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { + this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { + "b22170013": "--", + "b22170001": "--", + "b22170002": "--", + "b22170003": "--", + "b22170004": "--", + "b22170005": "--", + "b22170006": "--", + "b22170007": "--", + "b22170008": "--", + "b22170009": "--", + "b22170010": "--", + "b22170011": "--", + "b22170012": "--", + "b22170017": "--", + "b22170018": "--", + "b22170015": "--", + "b22170016": "--", + "b22170014": "--", + "b22170052": "--", + "b22170030": "--", + "b22170026": "--", + "b22170051": "--", + "b22170041": "--", + "b22170031": "--", + "b22170032": "--", + "b22170033": "--", + "b22170028": "--", + "b22170045": "--", + "b22170027": "--", + "b22170029": "--", + "b22170046": "--", + "b22170019": "--", + "b22170020": "--", + "b22170022": "--", + "b22170047": "--", + "b22170049": "--", + "b22170023": "--", + "b22170025": "--", + "b22170038": "--", + "b22170040": "--", + "b22170044": "--", + "b22170035": "--", + "b22170039": "--", + "b22170048": "--", + "b22170050": "--", + "b22170054": "--", + "b22170037": "--", + "b22170036": "--", + "b22170043": "--", + "b22170024": "--", + "b22170042": "--", + "b22170021": "--", + "b22170034": "--", + "b22170053": "--" + // Add other fields here with "--" values + }; + } + } + if (!this.userinfo.zhinfo.probeCRes) { + this.userinfo.zhinfo.probeCRes = { + 'result_detail': { + "max_performance_amt": "--", + "count_performance": "--", + "currently_overdue": "--", + "max_overdue_amt": "--", + "acc_sleep": "--", + "currently_performance": "--", + "result_code": "--", + "latest_performance_time": "--", + "max_overdue_days": "--", + "latest_overdue_time": "--", + "acc_exc": '--' + } + } + } else { + if (!this.userinfo.zhinfo.probeCRes.result_detail) { + this.userinfo.zhinfo.probeCRes.result_detail = { + "max_performance_amt": "--", + "count_performance": "--", + "currently_overdue": "--", + "max_overdue_amt": "--", + "acc_sleep": "--", + "currently_performance": "--", + "result_code": "--", + "latest_performance_time": "--", + "max_overdue_days": "--", + "latest_overdue_time": "--", + "acc_exc": '--' + } + } + } + this.$forceUpdate() + }, changeindex(index) { console.log(index, 'indexindexindex'); this.detailindex = index @@ -4218,6 +3837,47 @@ export default { } } + .table_box { + margin-top: 20px; + width: 100%; + display: flex; + flex-wrap: wrap; + padding: 0 20px; + + .table_li { + + width: 100%; + display: flex; + flex-wrap: nowrap; + + .back { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + background: #F0F6FF; + font-size: 14px; + color: #000; + border-bottom: 1px solid #fff; + border-left: 1px solid #fff; + } + + .normal { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + font-size: 14px; + color: #000; + border-bottom: 1px solid #D8D8D8; + border-left: 1px solid #D8D8D8; + } + } + + } + .speedbox { display: flex; flex-wrap: nowrap; @@ -4540,5 +4200,4 @@ export default { .el-form-item__content { float: right; } -</style> - \ No newline at end of file +</style> \ No newline at end of file diff --git a/src/views/financial/repayment/index.vue b/src/views/financial/repayment/index.vue index 4fccb56..1d81efd 100644 --- a/src/views/financial/repayment/index.vue +++ b/src/views/financial/repayment/index.vue @@ -1,25 +1,17 @@ <template> <div class="divBox"> - <el-tabs v-model="activeName" - @tab-click="handleClick"> - <el-tab-pane label="全部还款列表" - name="1"></el-tab-pane> - <el-tab-pane label="今日还款列表" - name="first"></el-tab-pane> - <el-tab-pane label="昨日日还款列表" - name="second"></el-tab-pane> - <el-tab-pane label="明日还款列表" - name="third"></el-tab-pane> + <el-tabs v-model="activeName" @tab-click="handleClick"> + <el-tab-pane label="全部还款列表" name="1"></el-tab-pane> + <el-tab-pane label="今日还款列表" name="first"></el-tab-pane> + <el-tab-pane label="昨日日还款列表" name="second"></el-tab-pane> + <el-tab-pane label="明日还款列表" name="third"></el-tab-pane> </el-tabs> <el-card class="box-card"> - <div class="box" - style="margin-bottom: 20px;display: flex;align-items: center;flex-wrap: nowrap;"> - <div class="text" - style="font-size: 25px;margin-right: 20px;">状态:</div> - <el-radio-group v-model="tableFrom.repaymentStatus" - @change="getlist()"> + <div class="box" style="margin-bottom: 20px;display: flex;align-items: center;flex-wrap: nowrap;"> + <div class="text" style="font-size: 25px;margin-right: 20px;">状态:</div> + <el-radio-group v-model="tableFrom.repaymentStatus" @change="getlist()"> <el-radio-button label="">全部</el-radio-button> <el-radio-button label="Pending">待还款</el-radio-button> <el-radio-button label="Paid">已还款</el-radio-button> @@ -28,60 +20,27 @@ </el-radio-group> </div> - <el-table v-loading="listLoading" - :data="tableDatass.data" - style="width: 100%" - size="mini"> + <el-table v-loading="listLoading" :data="tableDatass.data" style="width: 100%" size="mini"> <!-- <el-table-column prop="id" label="账单id" min-width="50" align="center"/> --> - <el-table-column prop="realName" - label="用户姓名" - min-width="50" - align="center" /> - <el-table-column prop="orderId" - label="订单号" - min-width="50" - align="center" /> - <el-table-column prop="installmentNumber" - label="期数" - min-width="50" - align="center" /> - <el-table-column prop="createTime" - label="订单创建时间" - min-width="50" - align="center" /> - <el-table-column prop="repaymentDeadlineStr" - label="还款时间" - min-width="50" - align="center" /> - <el-table-column prop="repaymentTime" - label="支付时间" - min-width="50" - align="center" /> - <el-table-column prop="signTime" - label="签约时间" - min-width="50" - align="center" /> - <el-table-column prop="paymentMethod" - label="还款方法" - min-width="30" - align="center" /> + <el-table-column prop="realName" label="用户姓名" min-width="50" align="center" /> + <el-table-column prop="orderId" label="订单号" min-width="50" align="center" /> + <el-table-column prop="installmentNumber" label="期数" min-width="50" align="center" /> + <el-table-column prop="createTime" label="订单创建时间" min-width="50" align="center" /> + <el-table-column prop="repaymentDeadlineStr" label="还款时间" min-width="50" align="center" /> + <el-table-column prop="repaymentTime" label="支付时间" min-width="50" align="center" /> + <el-table-column prop="signTime" label="签约时间" min-width="50" align="center" /> + <el-table-column prop="paymentMethod" label="还款方法" min-width="30" align="center" /> <!-- <el-table-column prop="totalOrderNum" label="总订单(金额/数量)" min-width="120" /> --> - <el-table-column prop="repaymentAmount" - label="还款金额" - min-width="50" - align="center"> + <el-table-column prop="repaymentAmount" label="还款金额" min-width="50" align="center"> <!-- <template slot-scope="scope" > <div class="cont" style="width: 100px;"> {{scope.row. repaymentAmount}} 元 </div> - </template> --> + </template> --> </el-table-column> - <el-table-column prop="repaymentStatus" - label="状态" - min-width="50" - align="center" /> + <el-table-column prop="repaymentStatus" label="状态" min-width="50" align="center" /> @@ -89,78 +48,72 @@ <!-- <el-table-column prop="remarks" label="备注 " min-width="50" /> --> <!-- <el-table-column prop="price" label="单价(元)" min-width="100" /> --> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="changehk(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">还款操作</el-button> + <el-button type="text" size="small" @click="changehk(scope.row)" class="mr10" + v-if="scope.row.repaymentStatus == '待还款'" v-hasPermi="['admin:channel:update']">确认还款</el-button> - <el-button type="text" - size="small" - @click="getuserinfo(scope.row.uid)" - class="mr10" - v-hasPermi="['admin:channel:update']">查看用户信息</el-button> - <el-button size="text" - class="mr10" - @click="showremake(scope.row.uid)">备注</el-button> + <el-button type="text" size="small" @click="getuserinfo(scope.row.uid)" class="mr10" + v-hasPermi="['admin:channel:update']">查看用户信息</el-button> + <el-button size="text" class="mr10" @click="showremake(scope.row.uid)">备注</el-button> <!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开" inactive-text="关闭" @change="onchangeIsShow(scope.row)" /> --> </template> </el-table-column> </el-table> <div class="block mb20"> - <el-pagination :current-page="listPram.page" - :page-sizes="constants.page.limit" - :layout="constants.page.layout" - :total="tableDatass.total" - @size-change="handleSizeChange" - @current-change="handleCurrentChange" /> + <el-pagination :current-page="listPram.page" :page-sizes="constants.page.limit" :layout="constants.page.layout" + :total="tableDatass.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> </div> - <el-dialog title="" - :visible.sync="dialogVisibles" - width="1388px" - :before-close="handleClose"> - <div class="detailbox" - v-if="dialogVisibles"> + <el-dialog title="" :visible.sync="dialogVisibles" width="1388px" :before-close="handleClose"> + <div class="detailbox" v-if="dialogVisibles"> <div class="titbox"> - <div class="tit" - v-for="(item, index) in detaillist" - :key="index" - v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" - :class="detailindex == index ? 'act' : ''" - @click="changeindex(index)">{{ item.tit }}</div> + <div class="tit" v-for="(item, index) in detaillist" :key="index" + v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" + :class="detailindex == index ? 'act' : ''" @click="changeindex(index)">{{ item.tit }}</div> </div> - <div class="info_box" - v-show="detailindex == 0"> + <div class="info_box" v-show="detailindex == 0"> <div class="info"> <div class="infoli">用户姓名:{{ userinfo.detailinfo.realName }}</div> <div class="infoli">手机号:{{ userinfo.detailinfo.phoneNumber }}</div> <div class="infoli">邮箱:{{ userinfo.detailinfo.email }}</div> - <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + </div> - <div class="tit" - v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="info"> + + <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + <div class="infoli">身份证有效期:{{ userinfo.detailinfo.timelimit || '未录入' }}</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation">是否实名:已实名</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation == false">是否实名:未实名</div> + + </div> + <div class="info"> + <div class="infoli">公司:{{ userinfo.detailinfo.company || '未录入' }}</div> + <div class="infoli">五险一金:{{ userinfo.detailinfo.insurance || '未录入' }}</div> + + <div class="infoli">名族:{{ userinfo.detailinfo.nation || '未录入' }}</div> + + </div> + <div class="info"> + <div class="infoli" style="font-size: 14px;">身份证住址:{{ userinfo.detailinfo.address || '未录入' }}</div> + <div class="infoli">身份证颁发机关:{{ userinfo.detailinfo.authority || '未录入' }}</div> + + <div class="infoli">月薪:{{ userinfo.detailinfo.salary || '未录入' }}</div> + + </div> + <div class="tit" v-if="userinfo.detailinfo.userEmergencyContactsList"> 紧急联系人: </div> - <div class="addbox" - v-if="userinfo.detailinfo.userEmergencyContactsList"> - <div class="addli" - style="width: 100%;" - v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" - :key="index"> + <div class="addbox" v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="addli" style="width: 100%;" + v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" :key="index"> <div class="addtxt"> 姓名:{{ item.contactName }} </div> <div class="addtxt"> 手机号:{{ item.phoneNumber }} </div> - <div class="addtxt" - v-show="item.relationship != null"> + <div class="addtxt" v-show="item.relationship != null"> 关系:{{ getRelationship(item.relationship) }} </div> </div> @@ -182,8 +135,7 @@ </div> <div class="info"> - <div class="infoimg" - style="justify-content: start;"> + <div class="infoimg" style="justify-content: start;"> <!-- <div class="infoimg_box"> <div class="noimg">手持身份证照片</div> <img src="" @@ -191,54 +143,55 @@ v-show="false"> <div class="text">手持身份证照片</div> </div> --> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> - <img :src="userinfo.detailinfo.idCardFrontPhoto" - alt="" - v-show="userinfo.detailinfo.idCardFrontPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" + v-show="userinfo.detailinfo.idCardFrontPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> <div class="text">身份证正面</div> </div> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> - <img :src="userinfo.detailinfo.idCardBackPhoto" - alt="" - v-show="userinfo.detailinfo.idCardBackPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" + v-show="userinfo.detailinfo.idCardBackPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> <div class="text">身份证反面</div> </div> <div class="infoimg_box"> - <div class="noimg" - v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> - <img :src="userinfo.detailinfo.handIdCard" - alt="" - v-show="userinfo.detailinfo.handIdCard != null" - @click="openImage(userinfo.detailinfo.handIdCard)"> + <div class="noimg" v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> + <img :src="userinfo.detailinfo.handIdCard" alt="" v-show="userinfo.detailinfo.handIdCard != null" + @click="openImage(userinfo.detailinfo.handIdCard)"> <div class="text">手持身份证正面</div> </div> </div> - </div> - <div v-if="isImageOpen" - class="overlay" - @click="closeImage"> - <div class="image-container"> - <img :src="openedImage" + <div class="infoimg" style="justify-content: start;"> + <!-- <div class="infoimg_box"> + <div class="noimg">手持身份证照片</div> + <img src="" alt="" - class="enlarged-image"> + v-show="false"> + <div class="text">手持身份证照片</div> + </div> --> + + <div class="infoimg_box"> + <div class="noimg" v-show="userinfo.detailinfo.faceUrl == null">实名拍摄画面</div> + <img :src="userinfo.detailinfo.faceUrl" alt="" v-show="userinfo.detailinfo.faceUrl != null" + @click="openImage(userinfo.detailinfo.faceUrl)"> + <div class="text">实名拍摄画面</div> + </div> + </div> + </div> + <div v-if="isImageOpen" class="overlay" @click="closeImage"> + <div class="image-container"> + <img :src="openedImage" alt="" class="enlarged-image"> </div> </div> <div class="tit"> 收货地址: </div> <div class="addbox"> - <div class="addli" - v-for="(item, index) in userinfo.detailinfo.addresses" - :key="index"> + <div class="addli" v-for="(item, index) in userinfo.detailinfo.addresses" :key="index"> <div class="addtxt"> 姓名:{{ item.realName }} </div> @@ -254,15 +207,12 @@ <div class="tit"> IP记录 </div> - <div class="info" - v-for="(item, index) in userinfo.detailinfo.ips" - :key="index"> + <div class="info" v-for="(item, index) in userinfo.detailinfo.ips" :key="index"> <div class="infoli">{{ item.loginTime }}</div> <div class="infoli">{{ item.ipaddr }}</div> <!-- <div class="infoli">福建省 福鼎市</div> --> - <div class="infoli" - style="color: red;">{{ item.loginLocation }}</div> + <div class="infoli" style="color: red;">{{ item.loginLocation }}</div> </div> <!-- <div class="tit"> @@ -270,40 +220,28 @@ </div> <div ref="map" style="width: 100%; height: 400px;"></div> --> </div> - <div class="fkbox" - v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> - <div class="titbox" - style="margin-top: 10px;"> - <div class="tit" - :class="fkxindex == 0 ? 'act' : ''" - @click="fkxindex = 0"> + <div class="fkbox" v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> + <div class="titbox" style="margin-top: 10px;"> + <div class="tit" :class="fkxindex == 0 ? 'act' : ''" @click="fkxindex = 0"> 天狼星报告 </div> - <div class="tit" - :class="fkxindex == 1 ? 'act' : ''" - @click="fkxindex = 1"> + <div class="tit" :class="fkxindex == 1 ? 'act' : ''" @click="fkxindex = 1"> 紫微星报告 </div> - <div class="tit" - :class="fkxindex == 2 ? 'act' : ''" - @click="fkxindex = 2"> + <div class="tit" :class="fkxindex == 2 ? 'act' : ''" @click="fkxindex = 2"> 综合报告 </div> </div> <div v-show="fkxindex == 2"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zhinfo.isCache == false" - @click="getSynthesizeReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zhinfo.isCache != false" - @click="getSynthesizeReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zhinfo.isCache == false">暂无报告</div> + <div class="btn" v-show="userinfo.zhinfo.isCache == false" @click="getSynthesizeReport()">获取报告 + </div> + <div class="btn" v-show="userinfo.zhinfo.isCache != false" @click="getSynthesizeReport()">重新获取报告 + </div> + <div class="tip" v-show="userinfo.zhinfo.isCache == false">暂无报告</div> </div> - <div class="newReport" - v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> + <div class="newReport" v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> <div class="name_info"> <div class="name">{{ userinfo.zhinfo.userIdentityInfo.realName }}</div> @@ -315,35 +253,32 @@ <div class="line"></div> <div class="text">手机号</div> <div class="input">{{ userinfo.zhinfo.userIdentityInfo.commonPhoneNumber }}</div> - <div class="stause" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> - <div class="stause" - style="background: #e83535;" - v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> + <div class="stause" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> + <div class="stause" style="background: #e83535;" + v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> </div> <div class="card_info_bot"> <div class="card_info_bot_li"> <div class="tit">手机号在网时间</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" - style="color: #e83535;">0-3个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" - style="color: #e83535;">3-6个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" - style="color: #e83535;">6-12个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" - style="color: #e83535;">12-24个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" + style="color: #e83535;"> + 0-3个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" + style="color: #e83535;"> + 3-6个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" + style="color: #e83535;"> + 6-12个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" + style="color: #e83535;"> + 12-24个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 </div> </div> <!-- <div class="card_info_bot_li"> - <div class="tit">手机号归属地</div> - <div class="text">广东 广州 [中国移动]</div> - </div> --> + <div class="tit">手机号归属地</div> + <div class="text">广东 广州 [中国移动]</div> + </div> --> </div> </div> @@ -355,28 +290,27 @@ <div class="stause">正常</div> </div> <!-- <div class="card_info_bot"> - <div class="card_info_bot_li"> - <div class="tit">身份证始发地</div> - <div class="text">24个月及以上</div> - </div> - <div class="card_info_bot_li"> - <div class="tit">身份证检测结果</div> - <div class="text">公安联网审核通过</div> - </div> - </div> --> + <div class="card_info_bot_li"> + <div class="tit">身份证始发地</div> + <div class="text">24个月及以上</div> + </div> + <div class="card_info_bot_li"> + <div class="tit">身份证检测结果</div> + <div class="text">公安联网审核通过</div> + </div> + </div> --> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 授信报告 </div> </div> <div class="sxbox"> - <div class="sxinfo" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxinfo" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="textbox"> <div class="text"> 网贷授信额度 @@ -411,8 +345,7 @@ </div> </div> </div> - <div class="sxtable" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxtable" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="table_li"> <div class="li"></div> <div class="li">机构数</div> @@ -460,10 +393,10 @@ 本系统授信额度是根据用户借贷行为大数据分析预估得出,不代表金融机构的真实授信额度;置信度分值在50-100之间,分值越高,授信额度可信度越高;数据仅供参考, 不代表任何操作建议,请谨慎使用</div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 申请、放款报告 </div> @@ -813,10 +746,10 @@ </div> </div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> @@ -841,13 +774,11 @@ </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最近逾期时间 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time }} + <div class="cxbot" style="color: #E83535;"> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time || '--' }} </div> </div> <div class="cxcont"> @@ -861,33 +792,30 @@ </div> <div class="cxli"> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 当前逾期机构数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最大逾期金额 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最长逾期天数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days || '--' }} </div> </div> </div> @@ -897,7 +825,8 @@ 当前履约机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance || '--' }} </div> </div> <div class="cxcont"> @@ -905,7 +834,8 @@ 最大履约金额 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt || '--' }} </div> </div> <div class="cxcont"> @@ -913,7 +843,9 @@ 最近履约时间 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time || '--' }} + </div> </div> </div> @@ -923,7 +855,9 @@ 异常还款机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc || '--' }} + </div> </div> <div class="cxcont"> @@ -931,7 +865,9 @@ 睡眠机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep || '--' }} + </div> </div> <div class="cxcont"> @@ -1032,10 +968,8 @@ {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170050 }} </div> </div> - <div class="cxcont" - style="width: 220px;"> - <div class="cxtop" - style="width: 220px;"> + <div class="cxcont" style="width: 220px;"> + <div class="cxtop" style="width: 220px;"> 当前履约贷款已结清订单数 </div> <div class="cxbot"> @@ -1078,8 +1012,7 @@ </div> </div> </div> - <div class="fkuanbox" - style=" width: 100%;"> + <div class="fkuanbox" style=" width: 100%;"> <div class="fkuanbox_li"> <div class="fkuanbox_cont act1"> @@ -1106,8 +1039,7 @@ <div class="fkuanbox_cont act1"> 履约次数 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170045 }} </div> <div class="fkuanbox_cont act1"> @@ -1128,8 +1060,7 @@ <div class="fkuanbox_cont act1"> 履约总金额 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170040 }} </div> <div class="fkuanbox_cont act1"> @@ -1170,31 +1101,117 @@ </div> </div> - <div class="tit" - style="margin-top: 20px;" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> </div> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 逾期详情 + </div> + </div> + <div class="table_box"> + <div class="texts"> + 注:具体一笔逾期订单的逾期时间越长,按[账期类型(S/M)+账龄(0/1/...)]形式输出,S代表7/14/21天等超短期现金贷账期、M代表30/30+天等多期借贷账期(例如:假如账期是30天,M0对应0-30天,M1对应31-60天,以此类推:假如账期是7天,S1对应8-14天,以此类推:S/M的具体周期是根据不同平台和产品而定,具体的规则需根据实际情况而定) + </div> + <div class="table_li" style="margin-top: 20px;"> + <div class="back">逾期机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.memberCount }}</div> + <div class="back">逾期订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.orderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount }}</div> + <div class="back">近1月共债订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债订单已还款金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt }}</div> + <div class="back">近1月共债订单金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt }}</div> + </div> + + <div class="table_li"> + <div class="back">逾期总金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount }}</div> + + </div> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.debtDetail " :key="index"> + <div class="table_li"> + <div class="back">逾期时间</div> + <div class="normal">{{ item.endDay }}</div> + <div class="back">逾期账期数</div> + <div class="normal">{{ item.billType }}</div> + + </div> + <div class="table_li"> + <div class="back">逾期金额</div> + <div class="normal">{{ item.endMoney }}</div> + <div class="back">是否结清</div> + <div class="normal" v-if="item.endFlag == 'N'">未结清</div> + <div class="normal" v-if="item.endFlag == 'Y'">已结清</div> + </div> + </div> + </div> + <div class="tit" style="margin-top: 20px;" + v-if="userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail.length > 0"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 历史共债 + </div> + </div> + <div class="table_box"> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail" + :key="index"> + <div class="table_li"> + <div class="back">共债统计时间范围</div> + <div class="normal">{{ item.totaldebtDate }}</div> + <div class="back">共债机构数</div> + <div class="normal">{{ item.totaldebtOrgCount }}</div> + + </div> + <div class="table_li"> + <div class="back">共债订单数</div> + <div class="normal">{{ item.totaldebtOrderCount }}</div> + <div class="back">疑似借新还日</div> + <div class="normal" v-if="item.newOrOld == 'N'">不存在</div> + <div class="normal" v-if="item.newOrOld == 'Y'">存在</div> + </div> + <div class="table_li"> + <div class="back">共债订单已还款金额</div> + <div class="normal">{{ item.totaldebtOrderAmt }}</div> + <div class="back">共债订单金额</div> + <div class="normal">{{ item.totaldebtOrderLendAmt }}</div> + + </div> + </div> + </div> + <div class="speedbox"> <div class="speed_left"> 当前失信执行人探查结果 </div> - <div class="speed_right" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> 查询成功 </div> - <div class="speed_right" - style="color: #000;" - v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" style="color: #000;" v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> 未查询到信息 </div> </div> - <div class="shixbox" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="shixbox" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> <div class="fkuanbox"> <div class="fkuanbox_li"> <div class="fkuanbox_cont"> @@ -1215,9 +1232,8 @@ 发布时间 </div> </div> - <div class="fkuanbox_li" - v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" - :key="index"> + <div class="fkuanbox_li" v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" + :key="index"> <div class="fkuanbox_cont"> {{ item.casecode }} </div> @@ -1245,137 +1261,66 @@ </div> <div v-show="fkxindex == 0"> <div class="noreport"> - <div class="btn" - v-show="userinfo.tlxinfo.url == null" - @click="tlxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.tlxinfo.url != null" - @click="tlxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.tlxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url == null" @click="tlxReport()">获取报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url != null" @click="tlxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.tlxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.tlxinfo.url" - alt="" - v-show="userinfo.tlxinfo.url != null"> + <img :src="userinfo.tlxinfo.url" alt="" v-show="userinfo.tlxinfo.url != null"> </div> <div v-show="fkxindex == 1"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zwxinfo.url == null" - @click="zwxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zwxinfo.url != null" - @click="zwxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zwxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url == null" @click="zwxReport()">获取报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url != null" @click="zwxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.zwxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.zwxinfo.url" - alt="" - v-show="userinfo.zwxinfo.url != null"> + <img :src="userinfo.zwxinfo.url" alt="" v-show="userinfo.zwxinfo.url != null"> </div> </div> - <div class="zdbox" - v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" - style="width: 1500px;"> + <div class="zdbox" v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" + style="width: 1500px;"> <el-col :span="20"> - <el-table :data="tableDatas.data" - style="width: 1200px;" - v-loading="loading" - max-height="700"> - <el-table-column :prop="item.key" - :label="item.title" - width="item.minWidth" - :show-overflow-tooltip="true" - v-for="(item, index) in columns" - :key="index" /> + <el-table :data="tableDatas.data" style="width: 1200px;" v-loading="loading" max-height="700"> + <el-table-column :prop="item.key" :label="item.title" width="item.minWidth" + :show-overflow-tooltip="true" v-for="(item, index) in columns" :key="index" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[6, 12, 18, 24]" - :page-size="tableFroms.limit" - :current-page="tableFroms.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDatas.total" - @size-change="handleSizeChanges" - @current-change="pageChanges" /> + <el-pagination :page-sizes="[6, 12, 18, 24]" :page-size="tableFroms.limit" + :current-page="tableFroms.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDatas.total" @size-change="handleSizeChanges" @current-change="pageChanges" /> </div> </el-col> </div> - <div class="remake" - v-if="detailindex == 9"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <div class="remake" v-if="detailindex == 9"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> @@ -1390,80 +1335,31 @@ </div> </el-dialog> - <el-dialog title="备注" - :visible.sync="bzVisible" - width="1000px" - :before-close="bzClose"> - <div class="remake" - style="min-height: 500px;"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <el-dialog title="备注" :visible.sync="bzVisible" width="1000px" :before-close="bzClose"> + <div class="remake" style="min-height: 500px;"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> <!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开" @@ -1475,27 +1371,19 @@ </el-table> </div> </el-dialog> - <el-dialog title="还款处理" - :visible.sync="refundVisible" - width="500px" - :before-close="refundhandleClose"> + <el-dialog title="还款处理" :visible.sync="refundVisible" width="500px" :before-close="refundhandleClose"> - <el-radio v-model="ishk" - label="待还款">待还款</el-radio> - <el-radio v-model="ishk" - label="已还款">已还款</el-radio> + <el-radio v-model="ishk" label="待还款">待还款</el-radio> + <el-radio v-model="ishk" label="已还款">已还款</el-radio> <div style="width: 100%;margin-top: 20px;"> - <el-button size="small" - @click="subhk()" - class="mr10" - v-hasPermi="['admin:channel:update']">确定</el-button> + <el-button size="small" @click="subhk()" class="mr10" v-hasPermi="['admin:channel:update']">确定</el-button> </div> </el-dialog> </el-card> </div> </template> - + <script> import { infobyconditionApiList, getIdentityInfos, getZwxReportCache, getTlxReportCache, infobyconditionApi, getZwxReport, getTlxReport, remarkList, remarkUpdata, addRemark, delRemark, getSynthesizeReport, getSynthesizeCache @@ -1620,13 +1508,63 @@ export default { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); this.userinfo.zhinfo = res - loading.close(); - + this.checkfk() + loading.close(); if (res.code == 500) { this.$message.error(res.msg); } - if (res.code == 500) { - this.$message.error(res.msg); + + this.$forceUpdate() + }); + }, + checkfk(){ + if(!this.userinfo.zhinfo.panoramicArchives){ + this.userinfo.zhinfo.panoramicArchives={ + "resultDetail":{ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + }else if(!this.userinfo.zhinfo.panoramicArchives.resultDetail){ + this.userinfo.zhinfo.panoramicArchives.resultDetail={ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount='--' } if (!this.userinfo.zhinfo.radarRes) { // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" @@ -1849,10 +1787,8 @@ export default { } } } - this.$forceUpdate() - }); - }, + }, bzClose() { this.bzVisible = false }, @@ -1910,13 +1846,29 @@ export default { }, changehk(row) { this.jkid = row.id - if (row.repaymentStatus == '待还款') { - this.ishk = '待还款' - } else if (row.repaymentStatus == '已还款') { - this.ishk = '已还款' - } - console.log(row, 'rowrow'); - this.refundVisible = true + // if (row.repaymentStatus == '待还款') { + // this.ishk = '待还款' + // } else if (row.repaymentStatus == '已还款') { + // this.ishk = '已还款' + // } + // console.log(row, 'rowrow'); + // this.refundVisible = true + this.$confirm('确认还款后将无法恢复, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + // this.$message({ + // type: 'success', + // message: '删除成功!' + // }); + this.subhk() + }).catch(() => { + this.$message({ + type: 'info', + message: '已取消删除' + }); + }); }, subhk() { let data = { @@ -2058,231 +2010,8 @@ export default { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); this.userinfo.zhinfo = res - if (res.code == 500) { - this.$message.error(res.msg); - } - if (!this.userinfo.zhinfo.radarRes) { - // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes = { - "resultDetail": { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--" - }, - "applyReportDetail": { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }, - "behaviorReportDetail": { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - } - } - }; - } else { - // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 - if (!this.userinfo.zhinfo.radarRes.resultDetail) { - // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes.resultDetail = { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--", - - - - } - }; - } - // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" - if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }; - } - if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - }; - } - } - if (!this.userinfo.zhinfo.probeCRes) { - this.userinfo.zhinfo.probeCRes = { - 'result_detail': { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } else { - if (!this.userinfo.zhinfo.probeCRes.result_detail) { - this.userinfo.zhinfo.probeCRes.result_detail = { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } - + + this.checkfk() @@ -2578,7 +2307,7 @@ export default { }; </script> - + <style scoped lang="scss"> .detailbox::-webkit-scrollbar { width: 10px; @@ -3131,6 +2860,47 @@ export default { } } + .table_box { + margin-top: 20px; + width: 100%; + display: flex; + flex-wrap: wrap; + padding: 0 20px; + + .table_li { + + width: 100%; + display: flex; + flex-wrap: nowrap; + + .back { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + background: #F0F6FF; + font-size: 14px; + color: #000; + border-bottom: 1px solid #fff; + border-left: 1px solid #fff; + } + + .normal { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + font-size: 14px; + color: #000; + border-bottom: 1px solid #D8D8D8; + border-left: 1px solid #D8D8D8; + } + } + + } + .speedbox { display: flex; flex-wrap: nowrap; @@ -3390,5 +3160,4 @@ export default { .color_green { color: #7abe5c; } -</style> - \ No newline at end of file +</style> \ No newline at end of file diff --git a/src/views/order/index.vue b/src/views/order/index.vue index b29c750..2b5939b 100644 --- a/src/views/order/index.vue +++ b/src/views/order/index.vue @@ -3,130 +3,89 @@ <el-card class="box-card"> <div class="clearfix"> <div class="container"> - <el-form size="small" - label-width="100px"> - <el-form-item label="订单类型:" - v-show="false"> - <el-radio-group v-model="tableFrom.type" - type="button" - class="mr20" - size="small" - @change="seachList"> - <el-radio-button v-for="(item, i) in options" - :key="i" - :label="item.value">{{ - item.label - }}</el-radio-button> + <el-form size="small" label-width="100px"> + <el-form-item label="订单类型:" v-show="false"> + <el-radio-group v-model="tableFrom.type" type="button" class="mr20" size="small" @change="seachList"> + <el-radio-button v-for="(item, i) in options" :key="i" :label="item.value">{{ + item.label + }}</el-radio-button> </el-radio-group> </el-form-item> - <el-form-item label="订单状态:" - v-if="checkPermi(['admin:order:status:num'])"> - <el-radio-group v-model="tableFrom.status" - type="button" - @change="seachList"> + <el-form-item label="订单状态:" v-if="checkPermi(['admin:order:status:num'])"> + <el-radio-group v-model="tableFrom.status" type="button" @change="seachList"> <el-radio-button label="all">全部 {{ '(' + orderChartType.all ? orderChartType.all : 0 + ')' - }}</el-radio-button> + }}</el-radio-button> <el-radio-button label="unPaid">未支付 {{ '(' + orderChartType.unPaid ? orderChartType.unPaid : 0 + ')' - }}</el-radio-button> + }}</el-radio-button> <el-radio-button label="audit">待审核 {{ '(' + orderChartType.audit ? orderChartType.audit : 0 + ')' - }}</el-radio-button> - <el-radio-button label="awaitSign">待签约 {{ '(' + orderChartType.awaitSign ? orderChartType.awaitSign : 0 + - ')' }}</el-radio-button> - <el-radio-button label="notShipped">未发货 {{ '(' + orderChartType.notShipped ? orderChartType.notShipped : 0 - + ')' }}</el-radio-button> + }}</el-radio-button> + <el-radio-button label="awaitSign">待签约 {{ '(' + orderChartType.awaitSign ? orderChartType.awaitSign : 0 + + + ')' }}</el-radio-button> + <el-radio-button label="notShipped">未发货 {{ '(' + orderChartType.notShipped ? orderChartType.notShipped : + 0 + + ')' }}</el-radio-button> <!-- <el-radio-button label="spike"--> <!-- >待收货 {{ '(' + orderChartType.spike ? orderChartType.spike : 0 + ')' }}</el-radio-button--> <!-- >--> <el-radio-button label="inUse">待还款 {{ '(' + orderChartType.inUse ? orderChartType.inUse : 0 + ')' - }}</el-radio-button> + }}</el-radio-button> <!-- <el-radio-button label="bargain">待评价 {{ '(' + orderChartType.bargain ? orderChartType.bargain : 0 + ')' }}</el-radio-button> --> <el-radio-button label="complete">交易完成 {{ '(' + orderChartType.complete ? orderChartType.complete : 0 + - ')' }}</el-radio-button> + ')' }}</el-radio-button> <el-radio-button label="toBeWrittenOff">待核销 {{ '(' + orderChartType.toBeWrittenOff ? orderChartType.toBeWrittenOff : 0 + ')' }}</el-radio-button> - <el-radio-button label="refunding">退款中 {{ '(' + orderChartType.refunding ? orderChartType.refunding : 0 + - ')' }}</el-radio-button> - <el-radio-button label="refunded">已退款 {{ '(' + orderChartType.refunded ? orderChartType.refunded : 0 + ')' - }}</el-radio-button> - <el-radio-button label="auditReject">已驳回 {{ '(' + orderChartType.auditReject ? orderChartType.auditReject - : 0 + ')' }}</el-radio-button> + <el-radio-button label="refunding">退款中 {{ '(' + orderChartType.refunding ? orderChartType.refunding : 0 + + + ')' }}</el-radio-button> + <el-radio-button label="refunded">已退款 {{ '(' + orderChartType.refunded ? orderChartType.refunded : 0 + + ')' + }}</el-radio-button> + <el-radio-button label="auditReject">已驳回 {{ '(' + orderChartType.auditReject ? + orderChartType.auditReject + : 0 + ')' }}</el-radio-button> <el-radio-button label="deleted">已删除 {{ '(' + orderChartType.deleted ? orderChartType.deleted : 0 + ')' - }}</el-radio-button> + }}</el-radio-button> </el-radio-group> </el-form-item> - <el-form-item label="时间选择:" - class="width100"> - <el-radio-group v-model="tableFrom.dateLimit" - type="button" - class="mr20" - size="small" - @change="selectChange(tableFrom.dateLimit)"> - <el-radio-button v-for="(item, i) in fromList.fromTxt" - :key="i" - :label="item.val">{{ - item.text - }}</el-radio-button> + <el-form-item label="时间选择:" class="width100"> + <el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small" + @change="selectChange(tableFrom.dateLimit)"> + <el-radio-button v-for="(item, i) in fromList.fromTxt" :key="i" :label="item.val">{{ + item.text + }}</el-radio-button> </el-radio-group> - <el-date-picker v-model="timeVal" - value-format="yyyy-MM-dd" - format="yyyy-MM-dd" - size="small" - type="daterange" - placement="bottom-end" - placeholder="自定义时间" - style="width: 220px" - @change="onchangeTime" /> + <el-date-picker v-model="timeVal" value-format="yyyy-MM-dd" format="yyyy-MM-dd" size="small" + type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 220px" + @change="onchangeTime" /> </el-form-item> - <div class="smallbox" - style="display: flex;flex-wrap: wrap;"> + <div class="smallbox" style="display: flex;flex-wrap: wrap;"> <el-form-item label="订单号:"> - <el-input v-model="tableFrom.orderNo" - placeholder="请输入订单号" - class="selWidth" - size="small" - clearable> - <el-button slot="append" - icon="el-icon-search" - size="small" - @click="seachList" /> + <el-input v-model="tableFrom.orderNo" placeholder="请输入订单号" class="selWidth" size="small" clearable> + <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> </el-input> </el-form-item> <el-form-item label="用户姓名:"> - <el-input v-model="tableFrom.userName" - placeholder="请输入用户姓名" - class="selWidth" - size="small" - clearable> - <el-button slot="append" - icon="el-icon-search" - size="small" - @click="seachList" /> + <el-input v-model="tableFrom.userName" placeholder="请输入用户姓名" class="selWidth" size="small" clearable> + <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> </el-input> </el-form-item> </div> <el-form-item class="width100"> - <el-button size="small" - @click="exports" - v-hasPermi="['admin:export:excel:order']">导出</el-button> + <el-button size="small" @click="exports" v-hasPermi="['admin:export:excel:order']">导出</el-button> </el-form-item> </el-form> </div> </div> </el-card> <el-card class="box-card"> - <el-table v-loading="listLoading" - border - :data="tableData.data" - size="mini" - class="table" - highlight-current-row - :header-cell-style="{ fontWeight: 'bold' }" - :row-key="(row) => { - return row.orderId; - } - "> + <el-table v-loading="listLoading" border :data="tableData.data" size="mini" class="table" highlight-current-row + :header-cell-style="{ fontWeight: 'bold' }" :row-key="(row) => { + return row.orderId; + } + "> <!-- @selection-change="handleSelectionChange" --> <!-- <el-table-column type="selection" @@ -138,16 +97,14 @@ <span style="display: block" v-text="scope.row.orderId" /> <span v-show="scope.row.isDel" style="color: #ed4014; display: block">用户已删除</span> </template> - </el-table-column> --> - <el-table-column label="ID" - min-width="50"> +</el-table-column> --> + <el-table-column label="ID" min-width="50"> <template slot-scope="scope"> <span v-text="scope.row.id"></span> </template> </el-table-column> - <el-table-column label="订单信息" - min-width="265"> + <el-table-column label="订单信息" min-width="265"> <template slot-scope="scope"> <div class="list"> <div class="li">订单编号: <span v-text="scope.row.orderId"></span></div> @@ -186,44 +143,33 @@ </el-table-column> --> <!-- <el-table-column prop="orderType" label="订单类型" min-width="110" v-if="checkedCities.includes('订单类型')" /> --> <!-- <el-table-column prop="realName" label="收货人" min-width="100" v-if="checkedCities.includes('收货人')" /> --> - <el-table-column label="商品信息" - min-width="200" - v-if="checkedCities.includes('商品信息')"> + <el-table-column label="商品信息" min-width="200" v-if="checkedCities.includes('商品信息')"> <template slot-scope="scope"> - <el-popover trigger="hover" - placement="right" - :open-delay="800"> - <div v-if="scope.row.productList && scope.row.productList.length" - slot="reference"> - <div v-for="(val, i) in scope.row.productList" - :key="i" - class="tabBox acea-row row-middle" - style="flex-wrap: inherit"> + <el-popover trigger="hover" placement="right" :open-delay="800"> + <div v-if="scope.row.productList && scope.row.productList.length" slot="reference"> + <div v-for="(val, i) in scope.row.productList" :key="i" class="tabBox acea-row row-middle" + style="flex-wrap: inherit"> <div class="demo-image__preview mr10"> - <el-image :src="val.info.image" - :preview-src-list="[val.info.image]" /> + <el-image :src="val.info.image" :preview-src-list="[val.info.image]" /> </div> <div class="text_overflow"> <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku ? val.info.sku : '-' - }}</span> + }}</span> <span class="tabBox_pice">{{ - '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' - }}</span> + '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' + }}</span> </div> </div> </div> - <div class="pup_card" - v-if="scope.row.productList && scope.row.productList.length"> - <div v-for="(val, i) in scope.row.productList" - :key="i" - class="tabBox acea-row row-middle" - style="flex-wrap: inherit"> + <div class="pup_card" v-if="scope.row.productList && scope.row.productList.length"> + <div v-for="(val, i) in scope.row.productList" :key="i" class="tabBox acea-row row-middle" + style="flex-wrap: inherit"> <div class=""> <span class="tabBox_tit mr10">{{ val.info.productName + ' | ' }}{{ val.info.sku ? val.info.sku : '-' - }}</span> + }}</span> <span class="tabBox_pice">{{ - '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' - }}</span> + '¥' + val.info.price ? val.info.price + ' x ' + val.info.payNum : '-' + }}</span> </div> </div> </div> @@ -236,19 +182,13 @@ <span>{{ scope.row.payTypeStr }}</span> </template> </el-table-column> --> - <el-table-column label="订单状态" - min-width="150" - v-if="checkedCities.includes('订单状态')"> + <el-table-column label="订单状态" min-width="150" v-if="checkedCities.includes('订单状态')"> <template slot-scope="scope"> <div> - <div v-if="scope.row.refundStatus === 1 || scope.row.refundStatus === 2" - class="refunding"> + <div v-if="scope.row.refundStatus === 1 || scope.row.refundStatus === 2" class="refunding"> <template> - <el-popover trigger="hover" - placement="left" - :open-delay="500"> - <b style="color: #f124c7; cursor: pointer" - slot="reference">{{ scope.row.statusStr.value }}</b> + <el-popover trigger="hover" placement="left" :open-delay="500"> + <b style="color: #f124c7; cursor: pointer" slot="reference">{{ scope.row.statusStr.value }}</b> <div class="pup_card flex-column"> <span>退款原因:{{ scope.row.refundReasonWap }}</span> <span>备注说明:{{ scope.row.refundReasonWapExplain }}</span> @@ -256,25 +196,22 @@ <span class="acea-row"> 退款凭证: <template v-if="scope.row.refundReasonWapImg"> - <div v-for="(item, index) in scope.row.refundReasonWapImg.split(',')" - :key="index" - class="demo-image__preview" - style="width: 35px; height: auto; display: inline-block"> - <el-image :src="item" - :preview-src-list="[item]" /> + <div v-for="(item, index) in scope.row.refundReasonWapImg.split(',')" :key="index" + class="demo-image__preview" style="width: 35px; height: auto; display: inline-block"> + <el-image :src="item" :preview-src-list="[item]" /> </div> </template> - <span v-else - style="display: inline-block">无</span> + <span v-else style="display: inline-block">无</span> </span> </div> </el-popover> </template> </div> <div v-if="scope.row.statusStr.value === '待审核'">当前状态:<span style="color: green;">{{ - scope.row.statusStr.value }}</span></div> - <div v-if="scope.row.statusStr.value === '审核失败'">当前状态:<span style="color: red;">{{ scope.row.statusStr.value - }}</span></div> + scope.row.statusStr.value }}</span></div> + <div v-if="scope.row.statusStr.value === '审核失败'">当前状态:<span style="color: red;">{{ + scope.row.statusStr.value + }}</span></div> <div v-else>当前状态:<span>{{ scope.row.statusStr.value }}</span></div> <div>渠道名称: <span>{{ scope.row.channel }}</span></div> <div>审核人员:{{ scope.row.auditor }}</div> @@ -284,35 +221,26 @@ </template> </el-table-column> <!-- <el-table-column prop="createTime" label="下单时间" min-width="150" v-if="checkedCities.includes('下单时间')" /> --> - <el-table-column label="用户信息" - min-width="150" - max-width="150"> + <el-table-column label="用户信息" min-width="150" max-width="150"> <template slot-scope="scope"> - <div class="list1" - style="width: 150px;"> + <div class="list1" style="width: 150px;"> - <div class="info" - style="width: 150px;"> + <div class="info" style="width: 150px;"> - <div class="li" - style="width: 100%;">姓名: <span v-text="scope.row.realName"></span></div> - <div class="li" - style="margin-right: 10px;">性别: <span>{{ scope.row.sex }}</span></div> + <div class="li" style="width: 100%;">姓名: <span v-text="scope.row.realName"></span></div> + <div class="li" style="margin-right: 10px;">性别: <span>{{ scope.row.sex }}</span></div> <div class="li">年龄: <span>{{ scope.row.age }}</span></div> - <div class="li" - v-if="scope.row.systemLoginLog">浏览器: <span>{{ scope.row.systemLoginLog.browserName - }}</span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">定位: <span></span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">手机型号: <span>{{ - scope.row.systemLoginLog.deviceModel }}</span></div> - <div class="li" - style="width: 100%;" - v-if="scope.row.systemLoginLog">下单IP: <span>{{ - scope.row.systemLoginLog.ipaddr }}</span></div> + <div class="li" style="width: 100%;" v-if="scope.row.faceAttestation == true">是否实名: <span>已实名</span> + </div> + <div class="li" style="width: 100%;" v-if="scope.row.faceAttestation == false">是否实名: <span>未实名</span> + </div> + <div class="li" v-if="scope.row.systemLoginLog">浏览器: <span>{{ scope.row.systemLoginLog.browserName + }}</span></div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">定位: <span></span></div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">手机型号: <span>{{ + scope.row.systemLoginLog.deviceModel }}</span></div> + <div class="li" style="width: 100%;" v-if="scope.row.systemLoginLog">下单IP: <span>{{ + scope.row.systemLoginLog.ipaddr }}</span></div> </div> @@ -321,38 +249,23 @@ </template> </el-table-column> - <el-table-column label="操作" - min-width="250" - fixed="right" - align="center" - :render-header="renderHeader"> + <el-table-column label="操作" min-width="250" fixed="right" align="center" :render-header="renderHeader"> <template slot-scope="scope"> - <el-button size="small" - @click.native="onOrderDetails(scope.row.orderId)">订单详情</el-button> + <el-button size="small" @click.native="onOrderDetails(scope.row.orderId)">订单详情</el-button> <!-- scope.row.uid --> - <el-button size="small" - @click.native="getuserinfo(scope.row.uid)">用户信息</el-button> - <el-button size="small" - style="margin-top: 10px;" - v-if="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key === 'audit' && checkPermi(['admin:order:audit'])" - @click="onAudit(scope.row)">审核订单</el-button> - <el-button size="small" - @click="sendOrder(scope.row)" - v-if="scope.row.statusStr.key === 'notShipped' && - scope.row.refundStatus === 0 && - checkPermi(['admin:order:send']) - ">发货</el-button> - <el-button size="small" - style="margin-top: 10px;" - @click="showht(scope.row.contractUrl)" - v-if="scope.row.contractUrl">查看合同</el-button> - <el-button size="small" - style="margin-top: 10px;" - v-if="scope.row.statusStr.key != 'inUse'" - @click.native="handleDelete(scope.row, scope.$index)">取消订单</el-button> - <el-button size="small" - style="margin-top: 10px;" - @click="showremake(scope.row.uid)">备注</el-button> + <el-button size="small" @click.native="getuserinfo(scope.row.uid)">用户信息</el-button> + <el-button size="small" style="margin-top: 10px;" + v-if="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key === 'audit' && checkPermi(['admin:order:audit'])" + @click="onAudit(scope.row)">审核订单</el-button> + <el-button size="small" @click="sendOrder(scope.row)" v-if="scope.row.statusStr.key === 'notShipped' && + scope.row.refundStatus === 0 && + checkPermi(['admin:order:send']) + ">发货</el-button> + <el-button size="small" style="margin-top: 10px;" @click="showht(scope.row.contractUrl)" + v-if="scope.row.contractUrl">查看合同</el-button> + <el-button size="small" style="margin-top: 10px;" v-if="scope.row.statusStr.key != 'inUse'" + @click.native="handleDelete(scope.row, scope.$index)">取消订单</el-button> + <el-button size="small" style="margin-top: 10px;" @click="showremake(scope.row.uid)">备注</el-button> <!-- <el-button size="small" style="margin-top: 10px;" v-if=" checkPermi(['admin:order:delete'])" @click.native="handleDelete(scope.row, scope.$index)">删除订单</el-button> --> <!-- <el-button @@ -417,28 +330,27 @@ @click="onWriteOff(scope.row)" >立即核销</el-button > --> - <el-dropdown trigger="click" - v-show="false"> + <el-dropdown trigger="click" v-show="false"> <span class="el-dropdown-link"> 更多<i class="el-icon-arrow-down el-icon--right" /> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item @click.native="onOrderDetails(scope.row.orderId)" - v-if="checkPermi(['admin:order:info'])">订单详情</el-dropdown-item> + v-if="checkPermi(['admin:order:info'])">订单详情</el-dropdown-item> <el-dropdown-item @click.native="onInstallmentBills(scope.row.id)" - v-if="checkPermi(['admin:order:info'])" - v-show="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key != 'audit' && scope.row.statusStr.key != 'auditReject'">查看账单</el-dropdown-item> + v-if="checkPermi(['admin:order:info'])" + v-show="scope.row.orderType == '[分期订单]' && scope.row.statusStr.key != 'audit' && scope.row.statusStr.key != 'auditReject'">查看账单</el-dropdown-item> <el-dropdown-item @click.native="onOrderLog(scope.row.orderId)" - v-if="checkPermi(['admin:order:status:list'])">订单记录</el-dropdown-item> + v-if="checkPermi(['admin:order:status:list'])">订单记录</el-dropdown-item> <el-dropdown-item @click.native="onOrderMark(scope.row)" - v-if="checkPermi(['admin:order:mark'])">订单备注</el-dropdown-item> + v-if="checkPermi(['admin:order:mark'])">订单备注</el-dropdown-item> <el-dropdown-item v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund:refuse'])" - @click.native="onOrderRefuse(scope.row)">拒绝退款</el-dropdown-item> + @click.native="onOrderRefuse(scope.row)">拒绝退款</el-dropdown-item> <!--v-show="((scope.row.statusStr.key !== 'refunded' && scope.row.statusStr.key !== 'unPaid') && (parseFloat(scope.row.payPrice) >= parseFloat(scope.row.refundPrice))) || (scope.row.payPrice == 0 && [0,1].indexOf(scope.row.refundStatus) !== -1)"--> <el-dropdown-item v-if="scope.row.refundStatus === 1 && checkPermi(['admin:order:refund'])" - @click.native="onOrderRefund(scope.row)">立即退款</el-dropdown-item> + @click.native="onOrderRefund(scope.row)">立即退款</el-dropdown-item> <el-dropdown-item v-if="scope.row.statusStr.key === 'deleted' && checkPermi(['admin:order:delete'])" - @click.native="handleDelete(scope.row, scope.$index)">删除订单</el-dropdown-item> + @click.native="handleDelete(scope.row, scope.$index)">删除订单</el-dropdown-item> <el-dropdown-item v-if="scope.row.statusStr.key !== 'unPaid'" - @click.native="onOrderPrint(scope.row)">打印小票</el-dropdown-item> + @click.native="onOrderPrint(scope.row)">打印小票</el-dropdown-item> </el-dropdown-menu> </el-dropdown> @@ -446,201 +358,128 @@ </el-table-column> </el-table> <div class="block"> - <el-pagination :page-sizes="[20, 40, 60, 80]" - :page-size="tableFrom.limit" - :current-page="tableFrom.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableData.total" - @size-change="handleSizeChange" - @current-change="pageChange" /> + <el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" :current-page="tableFrom.page" + layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" + @current-change="pageChange" /> </div> </el-card> - <div class="card_abs" - v-show="card_select_show"> + <div class="card_abs" v-show="card_select_show"> <template> <div class="cell_ht"> - <el-checkbox :indeterminate="isIndeterminate" - v-model="checkAll" - @change="handleCheckAllChange">全选</el-checkbox> - <el-button type="text" - @click="checkSave()">保存</el-button> + <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" + @change="handleCheckAllChange">全选</el-checkbox> + <el-button type="text" @click="checkSave()">保存</el-button> </div> - <el-checkbox-group v-model="checkedCities" - @change="handleCheckedCitiesChange"> - <el-checkbox v-for="item in columnData" - :label="item" - :key="item" - class="check_cell">{{ item }}</el-checkbox> + <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> + <el-checkbox v-for="item in columnData" :label="item" :key="item" class="check_cell">{{ item }}</el-checkbox> </el-checkbox-group> </template> </div> <!--编辑--> - <el-dialog title="编辑订单" - :visible.sync="dialogVisible" - width="500px" - :before-close="handleClose"> - <zb-parser v-if="dialogVisible" - :form-id="104" - :is-create="isCreate" - :edit-data="editData" - @submit="handlerSubmit" - @resetForm="resetForm" /> + <el-dialog title="编辑订单" :visible.sync="dialogVisible" width="500px" :before-close="handleClose"> + <zb-parser v-if="dialogVisible" :form-id="104" :is-create="isCreate" :edit-data="editData" @submit="handlerSubmit" + @resetForm="resetForm" /> </el-dialog> <!--记录--> - <el-dialog title="操作记录" - :visible.sync="dialogVisibleJI" - width="700px"> - <el-table v-loading="LogLoading" - border - :data="tableDataLog.data" - style="width: 100%"> - <el-table-column prop="oid" - align="center" - label="ID" - min-width="80" /> - <el-table-column prop="changeMessage" - label="操作记录" - align="center" - min-width="280" /> - <el-table-column prop="createTime" - label="操作时间" - align="center" - min-width="280" /> + <el-dialog title="操作记录" :visible.sync="dialogVisibleJI" width="700px"> + <el-table v-loading="LogLoading" border :data="tableDataLog.data" style="width: 100%"> + <el-table-column prop="oid" align="center" label="ID" min-width="80" /> + <el-table-column prop="changeMessage" label="操作记录" align="center" min-width="280" /> + <el-table-column prop="createTime" label="操作时间" align="center" min-width="280" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[10, 20, 30, 40]" - :page-size="tableFromLog.limit" - :current-page="tableFromLog.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDataLog.total" - @size-change="handleSizeChangeLog" - @current-change="pageChangeLog" /> + <el-pagination :page-sizes="[10, 20, 30, 40]" :page-size="tableFromLog.limit" :current-page="tableFromLog.page" + layout="total, sizes, prev, pager, next, jumper" :total="tableDataLog.total" + @size-change="handleSizeChangeLog" @current-change="pageChangeLog" /> </div> </el-dialog> <!--账单记录--> - <el-dialog title="账单记录" - :visible.sync="dialogVisibleInstallment" - width="1200px"> - <el-table v-loading="InstallmentLoading" - border - :data="tableDataInstallment.data" - style="width: 100%"> - <el-table-column prop="id" - align="center" - label="ID" - min-width="80" /> - <el-table-column prop="uid" - align="center" - label="客户" - min-width="80" /> - <el-table-column prop="repaymentAmount" - align="center" - label="还款金额" - min-width="80" /> - <el-table-column prop="installmentNumber" - align="center" - label="第几期" - min-width="80" /> - <el-table-column prop="repaymentDeadline" - align="center" - label="还款时间" - min-width="280" /> - <el-table-column prop="repaymentStatus" - align="center" - label="还款状态" - min-width="80" /> - <el-table-column prop="paymentMethod" - align="center" - label="还款方式" - min-width="80" /> - <el-table-column prop="createTime" - label="创建时间" - align="center" - min-width="280" /> + <el-dialog title="账单记录" :visible.sync="dialogVisibleInstallment" width="1200px"> + <el-table v-loading="InstallmentLoading" border :data="tableDataInstallment.data" style="width: 100%"> + <el-table-column prop="id" align="center" label="ID" min-width="80" /> + <el-table-column prop="uid" align="center" label="客户" min-width="80" /> + <el-table-column prop="repaymentAmount" align="center" label="还款金额" min-width="80" /> + <el-table-column prop="installmentNumber" align="center" label="第几期" min-width="80" /> + <el-table-column prop="repaymentDeadline" align="center" label="还款时间" min-width="280" /> + <el-table-column prop="repaymentStatus" align="center" label="还款状态" min-width="80" /> + <el-table-column prop="paymentMethod" align="center" label="还款方式" min-width="80" /> + <el-table-column prop="createTime" label="创建时间" align="center" min-width="280" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[10, 20, 30, 40]" - :page-size="tableFromInstall.limit" - :current-page="tableFromInstall.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDataInstallment.total" - @size-change="handleSizeChangeLog" - @current-change="pageChangeLog" /> + <el-pagination :page-sizes="[10, 20, 30, 40]" :page-size="tableFromInstall.limit" + :current-page="tableFromInstall.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDataInstallment.total" @size-change="handleSizeChangeLog" @current-change="pageChangeLog" /> </div> </el-dialog> <!--详情--> - <details-from ref="orderDetail" - :orderId="orderId" /> + <details-from ref="orderDetail" :orderId="orderId" /> <!--审核--> - <el-dialog title="审核" - v-if="AuditVisible" - :visible.sync="AuditVisible" - width="500px" - :before-close="AudithandleClose"> - <zb-parser :form-id="145" - :is-create="1" - :edit-data="AuditData" - @submit="AudithandlerSubmit" - @resetForm="resetFormAudithand" /> + <el-dialog title="审核" v-if="AuditVisible" :visible.sync="AuditVisible" width="500px" + :before-close="AudithandleClose"> + <zb-parser :form-id="145" :is-create="1" :edit-data="AuditData" @submit="AudithandlerSubmit" + @resetForm="resetFormAudithand" /> </el-dialog> - <el-dialog title="合同详情" - :visible.sync="htVisible" - width="1000px" - :before-close="htClose"> + <el-dialog title="合同详情" :visible.sync="htVisible" width="1000px" :before-close="htClose"> <div class="pdfCom"> - <iframe :src="pdfUrl" - width="100%" - height="600px" - frameborder="0"></iframe> + <iframe :src="pdfUrl" width="100%" height="600px" frameborder="0"></iframe> <!-- <canvas :id="'canvas'+item" v-for="item in pdfHTML" :key="item" /> --> </div> </el-dialog> - <el-dialog title="" - :visible.sync="dialogVisibles" - width="1388px" - :before-close="handleClose"> - <div class="detailbox" - v-if="dialogVisibles"> + <el-dialog title="" :visible.sync="dialogVisibles" width="1388px" :before-close="handleClose"> + <div class="detailbox" v-if="dialogVisibles"> <div class="titbox"> - <div class="tit" - v-for="(item, index) in detaillist" - :key="index" - v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" - :class="detailindex == index ? 'act' : ''" - @click="changeindex(index)">{{ item.tit }}</div> + <div class="tit" v-for="(item, index) in detaillist" :key="index" + v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" + :class="detailindex == index ? 'act' : ''" @click="changeindex(index)">{{ item.tit }}</div> </div> - <div class="info_box" - v-show="detailindex == 0"> + <div class="info_box" v-show="detailindex == 0"> <div class="info"> <div class="infoli">用户姓名:{{ userinfo.detailinfo.realName }}</div> <div class="infoli">手机号:{{ userinfo.detailinfo.phoneNumber }}</div> <div class="infoli">邮箱:{{ userinfo.detailinfo.email }}</div> - <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + </div> - <div class="tit" - v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="info"> + + <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + <div class="infoli">身份证有效期:{{ userinfo.detailinfo.timelimit || '未录入' }}</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation">是否实名:已实名</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation == false">是否实名:未实名</div> + + </div> + <div class="info"> + <div class="infoli">公司:{{ userinfo.detailinfo.company || '未录入' }}</div> + <div class="infoli">五险一金:{{ userinfo.detailinfo.insurance || '未录入' }}</div> + + <div class="infoli">名族:{{ userinfo.detailinfo.nation || '未录入' }}</div> + + </div> + <div class="info"> + <div class="infoli" style="font-size: 14px;">身份证住址:{{ userinfo.detailinfo.address || '未录入' }}</div> + <div class="infoli">身份证颁发机关:{{ userinfo.detailinfo.authority || '未录入' }}</div> + + <div class="infoli">月薪:{{ userinfo.detailinfo.salary || '未录入' }}</div> + + </div> + <div class="tit" v-if="userinfo.detailinfo.userEmergencyContactsList"> 紧急联系人: </div> - <div class="addbox" - v-if="userinfo.detailinfo.userEmergencyContactsList"> - <div class="addli" - style="width: 100%;" - v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" - :key="index"> + <div class="addbox" v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="addli" style="width: 100%;" + v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" :key="index"> <div class="addtxt"> 姓名:{{ item.contactName }} </div> <div class="addtxt"> 手机号:{{ item.phoneNumber }} </div> - <div class="addtxt" - v-show="item.relationship != null"> + <div class="addtxt" v-show="item.relationship != null"> 关系:{{ getRelationship(item.relationship) }} </div> </div> @@ -662,8 +501,7 @@ </div> <div class="info"> - <div class="infoimg" - style="justify-content: start;"> + <div class="infoimg" style="justify-content: start;"> <!-- <div class="infoimg_box"> <div class="noimg">手持身份证照片</div> <img src="" @@ -671,54 +509,55 @@ v-show="false"> <div class="text">手持身份证照片</div> </div> --> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> - <img :src="userinfo.detailinfo.idCardFrontPhoto" - alt="" - v-show="userinfo.detailinfo.idCardFrontPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" + v-show="userinfo.detailinfo.idCardFrontPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> <div class="text">身份证正面</div> </div> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> - <img :src="userinfo.detailinfo.idCardBackPhoto" - alt="" - v-show="userinfo.detailinfo.idCardBackPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" + v-show="userinfo.detailinfo.idCardBackPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> <div class="text">身份证反面</div> </div> <div class="infoimg_box"> - <div class="noimg" - v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> - <img :src="userinfo.detailinfo.handIdCard" - alt="" - v-show="userinfo.detailinfo.handIdCard != null" - @click="openImage(userinfo.detailinfo.handIdCard)"> + <div class="noimg" v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> + <img :src="userinfo.detailinfo.handIdCard" alt="" v-show="userinfo.detailinfo.handIdCard != null" + @click="openImage(userinfo.detailinfo.handIdCard)"> <div class="text">手持身份证正面</div> </div> </div> + <div class="infoimg" style="justify-content: start;"> + <!-- <div class="infoimg_box"> + <div class="noimg">手持身份证照片</div> + <img src="" + alt="" + v-show="false"> + <div class="text">手持身份证照片</div> + </div> --> + + <div class="infoimg_box"> + <div class="noimg" v-show="userinfo.detailinfo.faceUrl == null">实名拍摄画面</div> + <img :src="userinfo.detailinfo.faceUrl" alt="" v-show="userinfo.detailinfo.faceUrl != null" + @click="openImage(userinfo.detailinfo.faceUrl)"> + <div class="text">实名拍摄画面</div> + </div> + </div> </div> - <div v-if="isImageOpen" - class="overlay" - @click="closeImage"> + <div v-if="isImageOpen" class="overlay" @click="closeImage"> <div class="image-container"> - <img :src="openedImage" - alt="" - class="enlarged-image"> + <img :src="openedImage" alt="" class="enlarged-image"> </div> </div> <div class="tit"> 收货地址: </div> <div class="addbox"> - <div class="addli" - v-for="(item, index) in userinfo.detailinfo.addresses" - :key="index"> + <div class="addli" v-for="(item, index) in userinfo.detailinfo.addresses" :key="index"> <div class="addtxt"> 姓名:{{ item.realName }} </div> @@ -734,15 +573,12 @@ <div class="tit"> IP记录 </div> - <div class="info" - v-for="(item, index) in userinfo.detailinfo.ips" - :key="index"> + <div class="info" v-for="(item, index) in userinfo.detailinfo.ips" :key="index"> <div class="infoli">{{ item.loginTime }}</div> <div class="infoli">{{ item.ipaddr }}</div> <!-- <div class="infoli">福建省 福鼎市</div> --> - <div class="infoli" - style="color: red;">{{ item.loginLocation }}</div> + <div class="infoli" style="color: red;">{{ item.loginLocation }}</div> </div> <!-- <div class="tit"> @@ -750,42 +586,28 @@ </div> <div ref="map" style="width: 100%; height: 400px;"></div> --> </div> - <div class="fkbox" - v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> - <div class="titbox" - style="margin-top: 10px;"> - <div class="tit" - :class="fkxindex == 0 ? 'act' : ''" - @click="fkxindex = 0"> + <div class="fkbox" v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> + <div class="titbox" style="margin-top: 10px;"> + <div class="tit" :class="fkxindex == 0 ? 'act' : ''" @click="fkxindex = 0"> 天狼星报告 </div> - <div class="tit" - :class="fkxindex == 1 ? 'act' : ''" - @click="fkxindex = 1"> + <div class="tit" :class="fkxindex == 1 ? 'act' : ''" @click="fkxindex = 1"> 紫微星报告 </div> - <div class="tit" - :class="fkxindex == 2 ? 'act' : ''" - @click="fkxindex = 2"> + <div class="tit" :class="fkxindex == 2 ? 'act' : ''" @click="fkxindex = 2"> 综合报告 </div> </div> <div v-show="fkxindex == 2"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zhinfo.isCache == false" - @click="getSynthesizeReport()">获取报告 + <div class="btn" v-show="userinfo.zhinfo.isCache == false" @click="getSynthesizeReport()">获取报告 </div> - <div class="btn" - v-show="userinfo.zhinfo.isCache != false" - @click="getSynthesizeReport()">重新获取报告 + <div class="btn" v-show="userinfo.zhinfo.isCache != false" @click="getSynthesizeReport()">重新获取报告 </div> - <div class="tip" - v-show="userinfo.zhinfo.isCache == false">暂无报告</div> + <div class="tip" v-show="userinfo.zhinfo.isCache == false">暂无报告</div> </div> - <div class="newReport" - v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> + <div class="newReport" v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> <div class="name_info"> <div class="name">{{ userinfo.zhinfo.userIdentityInfo.realName }}</div> @@ -797,29 +619,24 @@ <div class="line"></div> <div class="text">手机号</div> <div class="input">{{ userinfo.zhinfo.userIdentityInfo.commonPhoneNumber }}</div> - <div class="stause" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> - <div class="stause" - style="background: #e83535;" - v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> + <div class="stause" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> + <div class="stause" style="background: #e83535;" + v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> </div> <div class="card_info_bot"> <div class="card_info_bot_li"> <div class="tit">手机号在网时间</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" - style="color: #e83535;">0-3个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" - style="color: #e83535;">3-6个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" - style="color: #e83535;">6-12个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" - style="color: #e83535;">12-24个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" style="color: #e83535;"> + 0-3个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" style="color: #e83535;"> + 3-6个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" + style="color: #e83535;"> + 6-12个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" + style="color: #e83535;"> + 12-24个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 </div> </div> <!-- <div class="card_info_bot_li"> @@ -848,17 +665,16 @@ </div> --> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 授信报告 </div> </div> <div class="sxbox"> - <div class="sxinfo" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxinfo" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="textbox"> <div class="text"> 网贷授信额度 @@ -893,8 +709,7 @@ </div> </div> </div> - <div class="sxtable" - v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> + <div class="sxtable" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="table_li"> <div class="li"></div> <div class="li">机构数</div> @@ -942,10 +757,10 @@ 本系统授信额度是根据用户借贷行为大数据分析预估得出,不代表金融机构的真实授信额度;置信度分值在50-100之间,分值越高,授信额度可信度越高;数据仅供参考, 不代表任何操作建议,请谨慎使用</div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 申请、放款报告 </div> @@ -1295,10 +1110,10 @@ </div> </div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> @@ -1323,13 +1138,11 @@ </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最近逾期时间 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time||'--' }} + <div class="cxbot" style="color: #E83535;"> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time || '--' }} </div> </div> <div class="cxcont"> @@ -1343,36 +1156,30 @@ </div> <div class="cxli"> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 当前逾期机构数 </div> - <div class="cxbot" - style="color: #E83535;"> + <div class="cxbot" style="color: #E83535;"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最大逾期金额 </div> - <div class="cxbot" - style="color: #E83535;"> + <div class="cxbot" style="color: #E83535;"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最长逾期天数 </div> - <div class="cxbot" - style="color: #E83535;"> + <div class="cxbot" style="color: #E83535;"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days || '--' }} </div> </div> </div> @@ -1383,7 +1190,7 @@ </div> <div class="cxbot"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance || '--' }} </div> </div> <div class="cxcont"> @@ -1392,7 +1199,7 @@ </div> <div class="cxbot"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt || '--' }} </div> </div> <div class="cxcont"> @@ -1401,7 +1208,7 @@ </div> <div class="cxbot"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time || '--' }} </div> </div> @@ -1413,7 +1220,7 @@ </div> <div class="cxbot"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc||'--' }} + {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc || '--' }} </div> </div> @@ -1423,8 +1230,8 @@ </div> <div class="cxbot"> <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} --> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep||'--' }} - + {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep || '--' }} + </div> </div> <div class="cxcont"> @@ -1525,10 +1332,8 @@ {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170050 }} </div> </div> - <div class="cxcont" - style="width: 220px;"> - <div class="cxtop" - style="width: 220px;"> + <div class="cxcont" style="width: 220px;"> + <div class="cxtop" style="width: 220px;"> 当前履约贷款已结清订单数 </div> <div class="cxbot"> @@ -1571,8 +1376,7 @@ </div> </div> </div> - <div class="fkuanbox" - style=" width: 100%;"> + <div class="fkuanbox" style=" width: 100%;"> <div class="fkuanbox_li"> <div class="fkuanbox_cont act1"> @@ -1599,8 +1403,7 @@ <div class="fkuanbox_cont act1"> 履约次数 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170045 }} </div> <div class="fkuanbox_cont act1"> @@ -1621,8 +1424,7 @@ <div class="fkuanbox_cont act1"> 履约总金额 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170040 }} </div> <div class="fkuanbox_cont act1"> @@ -1663,31 +1465,115 @@ </div> </div> - <div class="tit" - style="margin-top: 20px;" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> </div> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 逾期详情 + </div> + </div> + <div class="table_box"> + <div class="texts"> + 注:具体一笔逾期订单的逾期时间越长,按[账期类型(S/M)+账龄(0/1/...)]形式输出,S代表7/14/21天等超短期现金贷账期、M代表30/30+天等多期借贷账期(例如:假如账期是30天,M0对应0-30天,M1对应31-60天,以此类推:假如账期是7天,S1对应8-14天,以此类推:S/M的具体周期是根据不同平台和产品而定,具体的规则需根据实际情况而定) + </div> + <div class="table_li" style="margin-top: 20px;"> + <div class="back">逾期机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.memberCount }}</div> + <div class="back">逾期订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.orderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount }}</div> + <div class="back">近1月共债订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债订单已还款金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt }}</div> + <div class="back">近1月共债订单金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt }}</div> + </div> + + <div class="table_li"> + <div class="back">逾期总金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount }}</div> + + </div> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.debtDetail " :key="index"> + <div class="table_li"> + <div class="back">逾期时间</div> + <div class="normal">{{ item.endDay }}</div> + <div class="back">逾期账期数</div> + <div class="normal">{{ item.billType }}</div> + + </div> + <div class="table_li"> + <div class="back">逾期金额</div> + <div class="normal">{{ item.endMoney }}</div> + <div class="back">是否结清</div> + <div class="normal" v-if="item.endFlag == 'N'">未结清</div> + <div class="normal" v-if="item.endFlag == 'Y'">已结清</div> + </div> + </div> + </div> + <div class="tit" style="margin-top: 20px;" v-if="userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail.length>0"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 历史共债 + </div> + </div> + <div class="table_box"> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail" :key="index"> + <div class="table_li"> + <div class="back">共债统计时间范围</div> + <div class="normal">{{ item.totaldebtDate }}</div> + <div class="back">共债机构数</div> + <div class="normal">{{ item.totaldebtOrgCount }}</div> + + </div> + <div class="table_li"> + <div class="back">共债订单数</div> + <div class="normal">{{ item.totaldebtOrderCount }}</div> + <div class="back">疑似借新还日</div> + <div class="normal" v-if="item.newOrOld == 'N'">不存在</div> + <div class="normal" v-if="item.newOrOld == 'Y'">存在</div> + </div> + <div class="table_li"> + <div class="back">共债订单已还款金额</div> + <div class="normal">{{ item.totaldebtOrderAmt }}</div> + <div class="back">共债订单金额</div> + <div class="normal">{{ item.totaldebtOrderLendAmt }}</div> + + </div> + </div> + </div> + <div class="speedbox"> <div class="speed_left"> 当前失信执行人探查结果 </div> - <div class="speed_right" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> 查询成功 </div> - <div class="speed_right" - style="color: #000;" - v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" style="color: #000;" v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> 未查询到信息 </div> </div> - <div class="shixbox" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="shixbox" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> <div class="fkuanbox"> <div class="fkuanbox_li"> <div class="fkuanbox_cont"> @@ -1708,9 +1594,8 @@ 发布时间 </div> </div> - <div class="fkuanbox_li" - v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" - :key="index"> + <div class="fkuanbox_li" v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" + :key="index"> <div class="fkuanbox_cont"> {{ item.casecode }} </div> @@ -1738,137 +1623,65 @@ </div> <div v-show="fkxindex == 0"> <div class="noreport"> - <div class="btn" - v-show="userinfo.tlxinfo.url == null" - @click="tlxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.tlxinfo.url != null" - @click="tlxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.tlxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url == null" @click="tlxReport()">获取报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url != null" @click="tlxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.tlxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.tlxinfo.url" - alt="" - v-show="userinfo.tlxinfo.url != null"> + <img :src="userinfo.tlxinfo.url" alt="" v-show="userinfo.tlxinfo.url != null"> </div> <div v-show="fkxindex == 1"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zwxinfo.url == null" - @click="zwxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zwxinfo.url != null" - @click="zwxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zwxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url == null" @click="zwxReport()">获取报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url != null" @click="zwxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.zwxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.zwxinfo.url" - alt="" - v-show="userinfo.zwxinfo.url != null"> + <img :src="userinfo.zwxinfo.url" alt="" v-show="userinfo.zwxinfo.url != null"> </div> </div> - <div class="zdbox" - v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" - style="width: 1500px;"> + <div class="zdbox" v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" + style="width: 1500px;"> <el-col :span="20"> - <el-table :data="tableDatas.data" - style="width: 1200px;" - v-loading="loading" - max-height="700"> - <el-table-column :prop="item.key" - :label="item.title" - width="item.minWidth" - :show-overflow-tooltip="true" - v-for="(item, index) in columns" - :key="index" /> + <el-table :data="tableDatas.data" style="width: 1200px;" v-loading="loading" max-height="700"> + <el-table-column :prop="item.key" :label="item.title" width="item.minWidth" :show-overflow-tooltip="true" + v-for="(item, index) in columns" :key="index" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[6, 12, 18, 24]" - :page-size="tableFroms.limit" - :current-page="tableFroms.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDatas.total" - @size-change="handleSizeChanges" - @current-change="pageChanges" /> + <el-pagination :page-sizes="[6, 12, 18, 24]" :page-size="tableFroms.limit" :current-page="tableFroms.page" + layout="total, sizes, prev, pager, next, jumper" :total="tableDatas.total" + @size-change="handleSizeChanges" @current-change="pageChanges" /> </div> </el-col> </div> - <div class="remake" - v-if="detailindex == 9"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <div class="remake" v-if="detailindex == 9"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> @@ -1883,80 +1696,31 @@ </div> </el-dialog> - <el-dialog title="备注" - :visible.sync="bzVisible" - width="1000px" - :before-close="bzClose"> - <div class="remake" - style="min-height: 500px;"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <el-dialog title="备注" :visible.sync="bzVisible" width="1000px" :before-close="bzClose"> + <div class="remake" style="min-height: 500px;"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> <!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开" @@ -1969,42 +1733,23 @@ </div> </el-dialog> <!-- 发送货 --> - <order-send ref="send" - :orderId="orderId" - @submitFail="getList" - :expressListNormal="expressListNormal" - :expressListElec="expressListElec" - :orderDetail="orderDetail"></order-send> + <order-send ref="send" :orderId="orderId" @submitFail="getList" :expressListNormal="expressListNormal" + :expressListElec="expressListElec" :orderDetail="orderDetail"></order-send> <!-- 发送货视频号商品 --> - <order-video-send ref="videoSend" - :orderId="orderId" - @submitFail="getList"></order-video-send> + <order-video-send ref="videoSend" :orderId="orderId" @submitFail="getList"></order-video-send> <!--拒绝退款--> - <el-dialog title="拒绝退款原因" - v-if="RefuseVisible" - :visible.sync="RefuseVisible" - width="500px" - :before-close="RefusehandleClose"> - <zb-parser :form-id="106" - :is-create="1" - :edit-data="RefuseData" - @submit="RefusehandlerSubmit" - @resetForm="resetFormRefusehand" /> + <el-dialog title="拒绝退款原因" v-if="RefuseVisible" :visible.sync="RefuseVisible" width="500px" + :before-close="RefusehandleClose"> + <zb-parser :form-id="106" :is-create="1" :edit-data="RefuseData" @submit="RefusehandlerSubmit" + @resetForm="resetFormRefusehand" /> </el-dialog> <!--立即退款--> - <el-dialog title="退款处理" - :visible.sync="refundVisible" - width="500px" - :before-close="refundhandleClose"> - <zb-parser :form-id="107" - :is-create="1" - :edit-data="refundData" - @submit="refundhandlerSubmit" - v-if="refundVisible" - @resetForm="resetFormRefundhandler" /> + <el-dialog title="退款处理" :visible.sync="refundVisible" width="500px" :before-close="refundhandleClose"> + <zb-parser :form-id="107" :is-create="1" :edit-data="refundData" @submit="refundhandlerSubmit" + v-if="refundVisible" @resetForm="resetFormRefundhandler" /> </el-dialog> </div> </template> @@ -2242,238 +1987,18 @@ export default { getSynthesizeReport(this.uid).then((res) => { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); + + this.userinfo.zhinfo = res - loading.close(); - + this.checkfk() + loading.close(); if (res.code == 500) { this.$message.error(res.msg); } - if (res.code == 500) { - this.$message.error(res.msg); - } - if (!this.userinfo.zhinfo.radarRes) { - // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes = { - "resultDetail": { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--" - }, - "applyReportDetail": { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }, - "behaviorReportDetail": { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - } - } - }; - } else { - // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 - if (!this.userinfo.zhinfo.radarRes.resultDetail) { - // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes.resultDetail = { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--", + + - - - } - }; - } - // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" - if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }; - } - if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - }; - } - } - if (!this.userinfo.zhinfo.probeCRes) { - this.userinfo.zhinfo.probeCRes = { - 'result_detail': { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } else { - if (!this.userinfo.zhinfo.probeCRes.result_detail) { - this.userinfo.zhinfo.probeCRes.result_detail = { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } - - this.$forceUpdate() + }); }, bzClose() { @@ -2694,11 +2219,66 @@ export default { }); getSynthesizeCache(id).then((res) => { + this.userinfo.zhinfo={} // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); this.userinfo.zhinfo = res - if (res.code == 500) { - this.$message.error(res.msg); + + + this.checkfk() + + + }); + console.log(this.userinfo, 'this.userinfothis.userinfothis.userinfo'); + }, + checkfk(){ + if(!this.userinfo.zhinfo.panoramicArchives){ + this.userinfo.zhinfo.panoramicArchives={ + "resultDetail":{ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + }else if(!this.userinfo.zhinfo.panoramicArchives.resultDetail){ + this.userinfo.zhinfo.panoramicArchives.resultDetail={ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount='--' } if (!this.userinfo.zhinfo.radarRes) { // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" @@ -2921,13 +2501,8 @@ export default { } } } - - - - - }); - console.log(this.userinfo, 'this.userinfothis.userinfothis.userinfo'); - }, + this.$forceUpdate() + }, changeindex(index) { this.detailindex = index @@ -4197,6 +3772,47 @@ export default { } } + .table_box { + margin-top: 20px; + width: 100%; + display: flex; + flex-wrap: wrap; + padding: 0 20px; + + .table_li { + + width: 100%; + display: flex; + flex-wrap: nowrap; + + .back { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + background: #F0F6FF; + font-size: 14px; + color: #000; + border-bottom: 1px solid #fff; + border-left: 1px solid #fff; + } + + .normal { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + font-size: 14px; + color: #000; + border-bottom: 1px solid #D8D8D8; + border-left: 1px solid #D8D8D8; + } + } + + } + .speedbox { display: flex; flex-wrap: nowrap; diff --git a/src/views/user/list/index.vue b/src/views/user/list/index.vue index 768e692..bc7427c 100644 --- a/src/views/user/list/index.vue +++ b/src/views/user/list/index.vue @@ -1,193 +1,103 @@ <template> <div class="divBox relative"> <el-card class="box-card"> - <div slot="header" - class="clearfix"> - <el-tabs v-model="loginType" - @tab-click="getList(1)"> - <el-tab-pane :label="item.name" - :name="item.type.toString()" - v-for="(item, index) in headeNum" - :key="index" /> + <div slot="header" class="clearfix"> + <el-tabs v-model="loginType" @tab-click="getList(1)"> + <el-tab-pane :label="item.name" :name="item.type.toString()" v-for="(item, index) in headeNum" :key="index" /> </el-tabs> <div class="container"> - <el-form inline - size="small" - :model="userFrom" - ref="userFrom" - :label-position="labelPosition" - label-width="100px"> + <el-form inline size="small" :model="userFrom" ref="userFrom" :label-position="labelPosition" + label-width="100px"> <el-row> - <el-col :xs="24" - :sm="24" - :md="24" - :lg="18" - :xl="18"> + <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18"> <el-col v-bind="grid"> <el-form-item label="用户搜索:"> - <el-input v-model="userFrom.keywords" - placeholder="请输入姓名或手机号" - clearable - class="selWidth" /> + <el-input v-model="userFrom.keywords" placeholder="请输入姓名或手机号" clearable class="selWidth" /> </el-form-item> </el-col> </el-col> <template v-if="collapse"> - <el-col :xs="24" - :sm="24" - :md="24" - :lg="18" - :xl="18"> + <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18"> <el-col v-bind="grid"> <el-form-item label="用户等级:"> - <el-select v-model="levelData" - placeholder="请选择" - class="selWidth" - clearable - filterable - multiple> - <el-option :value="item.id" - v-for="(item, index) in levelList" - :key="index" - :label="item.name"></el-option> + <el-select v-model="levelData" placeholder="请选择" class="selWidth" clearable filterable multiple> + <el-option :value="item.id" v-for="(item, index) in levelList" :key="index" + :label="item.name"></el-option> </el-select> </el-form-item> </el-col> <el-col v-bind="grid"> <el-form-item label="用户分组:"> - <el-select v-model="groupData" - placeholder="请选择" - class="selWidth" - clearable - filterable - multiple> - <el-option :value="item.id" - v-for="(item, index) in groupList" - :key="index" - :label="item.groupName"></el-option> + <el-select v-model="groupData" placeholder="请选择" class="selWidth" clearable filterable multiple> + <el-option :value="item.id" v-for="(item, index) in groupList" :key="index" + :label="item.groupName"></el-option> </el-select> </el-form-item> </el-col> <el-col v-bind="grid"> <el-form-item label="用户标签:"> - <el-select v-model="labelData" - placeholder="请选择" - class="selWidth" - clearable - filterable - multiple> - <el-option :value="item.id" - v-for="(item, index) in labelLists" - :key="index" - :label="item.name"></el-option> + <el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple> + <el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" + :label="item.name"></el-option> </el-select> </el-form-item> </el-col> </el-col> - <el-col :xs="24" - :sm="24" - :md="24" - :lg="18" - :xl="18"> + <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18"> <el-col v-bind="grid"> <el-form-item label="国家:"> - <el-select v-model="userFrom.country" - placeholder="请选择" - class="selWidth" - clearable - @on-change="changeCountry"> - <el-option value="" - label="全部"></el-option> - <el-option value="CN" - label="中国"></el-option> - <el-option value="OTHER" - label="国外"></el-option> + <el-select v-model="userFrom.country" placeholder="请选择" class="selWidth" clearable + @on-change="changeCountry"> + <el-option value="" label="全部"></el-option> + <el-option value="CN" label="中国"></el-option> + <el-option value="OTHER" label="国外"></el-option> </el-select> </el-form-item> </el-col> - <el-col v-bind="grid" - v-if="userFrom.country === 'CN'"> + <el-col v-bind="grid" v-if="userFrom.country === 'CN'"> <el-form-item label="省份:"> - <el-cascader :options="addresData" - :props="propsCity" - filterable - v-model="address" - @change="handleChange" - clearable - class="selWidth"></el-cascader> + <el-cascader :options="addresData" :props="propsCity" filterable v-model="address" + @change="handleChange" clearable class="selWidth"></el-cascader> </el-form-item> </el-col> <el-col v-bind="grid"> <el-form-item label="消费情况:"> - <el-select v-model="userFrom.payCount" - placeholder="请选择" - class="selWidth" - clearable> - <el-option value="" - label="全部"></el-option> - <el-option value="0" - label="0"></el-option> - <el-option value="1" - label="1+"></el-option> - <el-option value="2" - label="2+"></el-option> - <el-option value="3" - label="3+"></el-option> - <el-option value="4" - label="4+"></el-option> - <el-option value="5" - label="5+"></el-option> + <el-select v-model="userFrom.payCount" placeholder="请选择" class="selWidth" clearable> + <el-option value="" label="全部"></el-option> + <el-option value="0" label="0"></el-option> + <el-option value="1" label="1+"></el-option> + <el-option value="2" label="2+"></el-option> + <el-option value="3" label="3+"></el-option> + <el-option value="4" label="4+"></el-option> + <el-option value="5" label="5+"></el-option> </el-select> </el-form-item> </el-col> <el-col v-bind="grid"> - <el-form-item label="时间选择:" - class="timeBox"> - <el-date-picker v-model="timeVal" - align="right" - unlink-panels - value-format="yyyy-MM-dd" - format="yyyy-MM-dd" - size="small" - type="daterange" - placement="bottom-end" - placeholder="自定义时间" - class="selWidth" - :picker-options="pickerOptions" - @change="onchangeTime" /> + <el-form-item label="时间选择:" class="timeBox"> + <el-date-picker v-model="timeVal" align="right" unlink-panels value-format="yyyy-MM-dd" + format="yyyy-MM-dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" + class="selWidth" :picker-options="pickerOptions" @change="onchangeTime" /> </el-form-item> </el-col> </el-col> <!-- <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18"> </el-col> --> - <el-col :xs="24" - :sm="24" - :md="24" - :lg="18" - :xl="18"> + <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18"> <el-col v-bind="grid"> <el-form-item label="访问情况:"> - <el-select v-model="userFrom.accessType" - placeholder="请选择" - class="selWidth" - clearable> - <el-option :value="0" - label="全部"></el-option> - <el-option :value="1" - label="首次访问"></el-option> - <el-option :value="2" - label="时间段访问过"></el-option> - <el-option :value="3" - label="时间段未访问"></el-option> + <el-select v-model="userFrom.accessType" placeholder="请选择" class="selWidth" clearable> + <el-option :value="0" label="全部"></el-option> + <el-option :value="1" label="首次访问"></el-option> + <el-option :value="2" label="时间段访问过"></el-option> + <el-option :value="3" label="时间段未访问"></el-option> </el-select> </el-form-item> </el-col> <el-col v-bind="grid"> <el-form-item label="性别:"> - <el-radio-group v-model="userFrom.sex" - type="button" - class="selWidth"> + <el-radio-group v-model="userFrom.sex" type="button" class="selWidth"> <el-radio-button label=""> <span>全部</span> </el-radio-button> @@ -208,9 +118,7 @@ </el-col> <el-col v-bind="grid"> <el-form-item label="身份:"> - <el-radio-group v-model="userFrom.isPromoter" - type="button" - class="selWidth"> + <el-radio-group v-model="userFrom.isPromoter" type="button" class="selWidth"> <el-radio-button label=""> <span>全部</span> </el-radio-button> @@ -228,24 +136,12 @@ </el-col> --> </template> - <el-col :xs="24" - :sm="24" - :md="24" - :lg="6" - :xl="6" - class="text-right userFrom"> + <el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6" class="text-right userFrom"> <el-form-item> - <el-button type="primary" - icon="ios-search" - label="default" - class="mr15" - size="small" - @click="userSearchs">搜索</el-button> - <el-button class="ResetSearch mr10" - @click="reset('userFrom')" - size="small">重置</el-button> - <a class="ivu-ml-8" - @click="collapse = !collapse"> + <el-button type="primary" icon="ios-search" label="default" class="mr15" size="small" + @click="userSearchs">搜索</el-button> + <el-button class="ResetSearch mr10" @click="reset('userFrom')" size="small">重置</el-button> + <a class="ivu-ml-8" @click="collapse = !collapse"> <template v-if="!collapse"> 展开 <i class="el-icon-arrow-down"></i> </template> <template v-else> 收起 <i class="el-icon-arrow-up"></i> </template> </a> @@ -255,34 +151,19 @@ </el-form> </div> <div class="btn_bt"> - <el-button class="mr10" - size="small" - @click="onSend" - type="primary" - v-hasPermi="['admin:coupon:user:receive']">发送优惠券</el-button> - <el-button class="mr10" - size="small" - @click="setBatch('group')" - v-hasPermi="['admin:user:group']">批量设置分组</el-button> - <el-button class="mr10" - size="small" - @click="setBatch('label')" - v-hasPermi="['admin:user:tag']">批量设置标签</el-button> + <el-button class="mr10" size="small" @click="onSend" type="primary" + v-hasPermi="['admin:coupon:user:receive']">发送优惠券</el-button> + <el-button class="mr10" size="small" @click="setBatch('group')" + v-hasPermi="['admin:user:group']">批量设置分组</el-button> + <el-button class="mr10" size="small" @click="setBatch('label')" + v-hasPermi="['admin:user:tag']">批量设置标签</el-button> </div> </div> - <el-table ref="table" - v-loading="listLoading" - :data="tableData.data" - style="width: 100%" - size="mini" - @selection-change="onSelectTab" - highlight-current-row - v-if="false"> + <el-table ref="table" v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini" + @selection-change="onSelectTab" highlight-current-row v-if="false"> <el-table-column type="expand"> <template slot-scope="props"> - <el-form label-position="left" - inline - class="demo-table-expand"> + <el-form label-position="left" inline class="demo-table-expand"> <el-form-item label="身份:"> <span>{{ props.row.isPromoter | filterIsPromoter }}</span> </el-form-item> @@ -301,55 +182,35 @@ <el-form-item label="地址:"> <span>{{ props.row.addres | filterEmpty }}</span> </el-form-item> - <el-form-item label="备注:" - style="width: 100%; display: flex; margin-right: 10px"> + <el-form-item label="备注:" style="width: 100%; display: flex; margin-right: 10px"> <span>{{ props.row.mark | filterEmpty }}</span> </el-form-item> </el-form> </template> </el-table-column> - <el-table-column type="selection" - width="55"> </el-table-column> - <el-table-column prop="uid" - label="ID" - min-width="80" - v-if="checkedCities.includes('ID')" /> - <el-table-column label="头像" - min-width="80" - v-if="checkedCities.includes('头像')"> + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column prop="uid" label="ID" min-width="80" v-if="checkedCities.includes('ID')" /> + <el-table-column label="头像" min-width="80" v-if="checkedCities.includes('头像')"> <template slot-scope="scope"> <div class="demo-image__preview"> - <el-image style="width: 36px; height: 36px" - :src="scope.row.avatar" - :preview-src-list="[scope.row.avatar]" /> + <el-image style="width: 36px; height: 36px" :src="scope.row.avatar" + :preview-src-list="[scope.row.avatar]" /> </div> </template> </el-table-column> - <el-table-column label="姓名" - min-width="160" - v-if="checkedCities.includes('姓名')"> + <el-table-column label="姓名" min-width="160" v-if="checkedCities.includes('姓名')"> <template slot-scope="scope"> <span>{{ scope.row.nickname | filterEmpty }} | {{ scope.row.sex | sexFilter }}</span> </template> </el-table-column> - <el-table-column label="用户等级" - min-width="100" - v-if="checkedCities.includes('用户等级')"> + <el-table-column label="用户等级" min-width="100" v-if="checkedCities.includes('用户等级')"> <template slot-scope="scope"> <span>{{ scope.row.level | levelFilter | filterEmpty }}</span> </template> </el-table-column> - <el-table-column prop="groupName" - label="分组" - min-width="100" - v-if="checkedCities.includes('分组')" /> - <el-table-column prop="spreadNickname" - label="推荐人" - min-width="130" - v-if="checkedCities.includes('推荐人')" /> - <el-table-column label="手机号" - min-width="100" - v-if="checkedCities.includes('手机号')"> + <el-table-column prop="groupName" label="分组" min-width="100" v-if="checkedCities.includes('分组')" /> + <el-table-column prop="spreadNickname" label="推荐人" min-width="130" v-if="checkedCities.includes('推荐人')" /> + <el-table-column label="手机号" min-width="100" v-if="checkedCities.includes('手机号')"> <template slot-scope="scope"> <span>{{ scope.row.phone | filterEmpty }}</span> </template> @@ -362,62 +223,43 @@ <!--<span>{{scope.row.userType | typeFilter}}</span>--> <!--</template>--> <!--</el-table-column>--> - <el-table-column prop="nowMoney" - label="余额" - min-width="100" - v-if="checkedCities.includes('余额')" /> - <el-table-column prop="integral" - label="积分" - min-width="100" - v-if="checkedCities.includes('积分')" /> - <el-table-column label="操作" - min-width="130" - fixed="right" - align="center" - :render-header="renderHeader"> + <el-table-column prop="nowMoney" label="余额" min-width="100" v-if="checkedCities.includes('余额')" /> + <el-table-column prop="integral" label="积分" min-width="100" v-if="checkedCities.includes('积分')" /> + <el-table-column label="操作" min-width="130" fixed="right" align="center" :render-header="renderHeader"> <template slot-scope="scope"> - <el-button type="text" - @click="editUser(scope.row.uid)" - size="small" - v-hasPermi="['admin:user:infobycondition']">编辑</el-button> + <el-button type="text" @click="editUser(scope.row.uid)" size="small" + v-hasPermi="['admin:user:infobycondition']">编辑</el-button> <el-dropdown trigger="click"> <span class="el-dropdown-link"> 更多<i class="el-icon-arrow-down el-icon--right" /> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item @click.native="onDetails(scope.row.uid)" - v-if="checkPermi(['admin:user:topdetail'])">账户详情</el-dropdown-item> + v-if="checkPermi(['admin:user:topdetail'])">账户详情</el-dropdown-item> <el-dropdown-item @click.native="onIdentityInfo(scope.row.uid)" - v-if="checkPermi(['admin:user:topdetail'])">身份信息</el-dropdown-item> + v-if="checkPermi(['admin:user:topdetail'])">身份信息</el-dropdown-item> <el-dropdown-item @click.native="editPoint(scope.row.uid)" - v-if="checkPermi(['admin:user:operate:founds'])">积分余额</el-dropdown-item> + v-if="checkPermi(['admin:user:operate:founds'])">积分余额</el-dropdown-item> <el-dropdown-item @click.native="setBatch('group', scope.row)" - v-if="checkPermi(['admin:user:group'])">设置分组</el-dropdown-item> + v-if="checkPermi(['admin:user:group'])">设置分组</el-dropdown-item> <el-dropdown-item @click.native="setBatch('label', scope.row)" - v-if="checkPermi(['admin:user:tag'])">设置标签</el-dropdown-item> + v-if="checkPermi(['admin:user:tag'])">设置标签</el-dropdown-item> <el-dropdown-item @click.native="setPhone(scope.row)" - v-if="checkPermi(['admin:user:update:phone'])">修改手机号</el-dropdown-item> + v-if="checkPermi(['admin:user:update:phone'])">修改手机号</el-dropdown-item> <el-dropdown-item @click.native="onLevel(scope.row.uid, scope.row.level)" - v-if="checkPermi(['admin:user:update:level'])">修改用户等级</el-dropdown-item> + v-if="checkPermi(['admin:user:update:level'])">修改用户等级</el-dropdown-item> <el-dropdown-item @click.native="setExtension(scope.row)" - v-if="checkPermi(['admin:user:update:spread'])">修改上级推广人</el-dropdown-item> + v-if="checkPermi(['admin:user:update:spread'])">修改上级推广人</el-dropdown-item> <el-dropdown-item @click.native="clearSpread(scope.row)" - v-if="scope.row.spreadUid && scope.row.spreadUid > 0 && checkPermi(['admin:retail:spread:clean'])">清除上级推广人</el-dropdown-item> + v-if="scope.row.spreadUid && scope.row.spreadUid > 0 && checkPermi(['admin:retail:spread:clean'])">清除上级推广人</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </template> </el-table-column> </el-table> - <el-table ref="table" - v-loading="listLoading" - :data="tableData.data" - style="width: 100%" - size="mini" - @selection-change="onSelectTab" - highlight-current-row> + <el-table ref="table" v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini" + @selection-change="onSelectTab" highlight-current-row> <el-table-column type="expand"> <template slot-scope="props"> - <el-form label-position="left" - inline - class="demo-table-expand"> + <el-form label-position="left" inline class="demo-table-expand"> <el-form-item label="身份:"> <span>{{ props.row.isPromoter | filterIsPromoter }}</span> </el-form-item> @@ -436,134 +278,101 @@ <el-form-item label="地址:"> <span>{{ props.row.addres | filterEmpty }}</span> </el-form-item> - <el-form-item label="备注:" - style="width: 100%; display: flex; margin-right: 10px"> + <el-form-item label="备注:" style="width: 100%; display: flex; margin-right: 10px"> <span>{{ props.row.mark | filterEmpty }}</span> </el-form-item> </el-form> </template> </el-table-column> - <el-table-column type="selection" - width="55"> </el-table-column> + <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column prop="realName" - label="姓名" - min-width="80" - align="center" /> - <el-table-column prop="createTime" - label="注册日期" - min-width="80" - align="center" /> - <el-table-column prop="phone" - label="手机号" - min-width="80" /> - <el-table-column prop="email" - label="邮箱" - min-width="80" - align="center" /> - <el-table-column prop="idCardNumber" - label="身份证" - min-width="80" - align="center" /> + <el-table-column prop="realName" label="姓名" min-width="80" align="center" /> + <el-table-column prop="createTime" label="注册日期" min-width="80" align="center" /> + <el-table-column prop="phone" label="手机号" min-width="80" /> + <el-table-column prop="email" label="邮箱" min-width="80" align="center" /> + <el-table-column prop="idCardNumber" label="身份证" min-width="80" align="center" /> - <el-table-column prop="orderNum" - label="订单数" - min-width="80" - align="center" /> - <el-table-column prop="orderAmount" - label=" 订单总金额" - width="180" - align="center"> + <el-table-column prop="orderNum" label="订单数" min-width="80" align="center" /> + <el-table-column prop="orderAmount" label=" 订单总金额" width="180" align="center"> </el-table-column> - <el-table-column prop="pendingRepayment" - label=" 待还金额" - width="100"> + <el-table-column prop="pendingRepayment" label=" 待还金额" width="100"> </el-table-column> - <el-table-column prop="address" - label=" 状态(逾期/待还款)" - width="180"> + <el-table-column prop="address" label=" 状态(逾期/待还款)" width="180"> <template slot-scope="scope"> - <div class="cont" - style="width: 100px;" - v-if="scope.row.repaymentStatus == 'Pending'"> + <div class="cont" style="width: 100px;" v-if="scope.row.repaymentStatus == 'Pending'"> 待还款 </div> - <div class="cont" - style="width: 100px;" - v-if="scope.row.repaymentStatus == 'Late'"> + <div class="cont" style="width: 100px;" v-if="scope.row.repaymentStatus == 'Late'"> 已逾期 </div> </template> </el-table-column>visible - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="getuserinfo(scope.row.uid)" - class="mr10">查看用户详情</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="showremake(scope.row.uid)">备注</el-button> + <el-button type="text" size="small" @click="getuserinfo(scope.row.uid)" class="mr10">查看用户详情</el-button> + <el-button type="text" size="small" class="mr10" @click="showremake(scope.row.uid)">备注</el-button> </template> </el-table-column> </el-table> <div class="block"> - <el-pagination :page-sizes="[15, 30, 45, 60]" - :page-size="userFrom.limit" - :current-page="userFrom.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableData.total" - @size-change="handleSizeChange" - @current-change="pageChange" /> + <el-pagination :page-sizes="[15, 30, 45, 60]" :page-size="userFrom.limit" :current-page="userFrom.page" + layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" + @current-change="pageChange" /> </div> - <el-dialog title="" - :visible.sync="dialogVisibles" - width="1388px" - :before-close="handleClose"> - <div class="detailbox" - v-if="dialogVisibles"> + <el-dialog title="" :visible.sync="dialogVisibles" width="1388px" :before-close="handleClose"> + <div class="detailbox" v-if="dialogVisibles"> <div class="titbox"> - <div class="tit" - v-for="(item, index) in detaillist" - :key="index" - v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" - :class="detailindex == index ? 'act' : ''" - @click="changeindex(index)">{{ item.tit }}</div> + <div class="tit" v-for="(item, index) in detaillist" :key="index" + v-if="index != 4 && index != 5 && index != 6 && index != 7 && index != 8" + :class="detailindex == index ? 'act' : ''" @click="changeindex(index)">{{ item.tit }}</div> </div> - <div class="info_box" - v-show="detailindex == 0"> + <div class="info_box" v-show="detailindex == 0"> + <div class="info"> <div class="infoli">用户姓名:{{ userinfo.detailinfo.realName }}</div> <div class="infoli">手机号:{{ userinfo.detailinfo.phoneNumber }}</div> <div class="infoli">邮箱:{{ userinfo.detailinfo.email }}</div> - <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + </div> - <div class="tit" - v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="info"> + + <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> + <div class="infoli">身份证有效期:{{ userinfo.detailinfo.timelimit || '未录入' }}</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation">是否实名:已实名</div> + <div class="infoli" v-if="userinfo.detailinfo.faceAttestation == false">是否实名:未实名</div> + + </div> + <div class="info"> + <div class="infoli">公司:{{ userinfo.detailinfo.company || '未录入' }}</div> + <div class="infoli">五险一金:{{ userinfo.detailinfo.insurance || '未录入' }}</div> + + <div class="infoli">名族:{{ userinfo.detailinfo.nation || '未录入' }}</div> + + </div> + <div class="info"> + <div class="infoli" style="font-size: 14px;">身份证住址:{{ userinfo.detailinfo.address || '未录入' }}</div> + <div class="infoli">身份证颁发机关:{{ userinfo.detailinfo.authority || '未录入' }}</div> + + <div class="infoli">月薪:{{ userinfo.detailinfo.salary || '未录入' }}</div> + + </div> + <div class="tit" v-if="userinfo.detailinfo.userEmergencyContactsList"> 紧急联系人: </div> - <div class="addbox" - v-if="userinfo.detailinfo.userEmergencyContactsList"> - <div class="addli" - style="width: 100%;" - v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" - :key="index"> + <div class="addbox" v-if="userinfo.detailinfo.userEmergencyContactsList"> + <div class="addli" style="width: 100%;" + v-for="(item, index) in userinfo.detailinfo.userEmergencyContactsList" :key="index"> <div class="addtxt"> 姓名:{{ item.contactName }} </div> <div class="addtxt"> 手机号:{{ item.phoneNumber }} </div> - <div class="addtxt" - v-show="item.relationship != null"> + <div class="addtxt" v-show="item.relationship != null"> 关系:{{ getRelationship(item.relationship) }} </div> </div> @@ -585,8 +394,7 @@ </div> <div class="info"> - <div class="infoimg" - style="justify-content: start;"> + <div class="infoimg" style="justify-content: start;"> <!-- <div class="infoimg_box"> <div class="noimg">手持身份证照片</div> <img src="" @@ -594,54 +402,55 @@ v-show="false"> <div class="text">手持身份证照片</div> </div> --> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> - <img :src="userinfo.detailinfo.idCardFrontPhoto" - alt="" - v-show="userinfo.detailinfo.idCardFrontPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" + v-show="userinfo.detailinfo.idCardFrontPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardFrontPhoto)"> <div class="text">身份证正面</div> </div> - <div class="infoimg_box" - style="margin-right: 100px;"> - <div class="noimg" - v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> - <img :src="userinfo.detailinfo.idCardBackPhoto" - alt="" - v-show="userinfo.detailinfo.idCardBackPhoto != ''" - @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> + <div class="infoimg_box" style="margin-right: 100px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" + v-show="userinfo.detailinfo.idCardBackPhoto != ''" + @click="openImage(userinfo.detailinfo.idCardBackPhoto)"> <div class="text">身份证反面</div> </div> <div class="infoimg_box"> - <div class="noimg" - v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> - <img :src="userinfo.detailinfo.handIdCard" - alt="" - v-show="userinfo.detailinfo.handIdCard != null" - @click="openImage(userinfo.detailinfo.handIdCard)"> + <div class="noimg" v-show="userinfo.detailinfo.handIdCard == null">手持身份证正面</div> + <img :src="userinfo.detailinfo.handIdCard" alt="" v-show="userinfo.detailinfo.handIdCard != null" + @click="openImage(userinfo.detailinfo.handIdCard)"> <div class="text">手持身份证正面</div> </div> </div> - </div> - <div v-if="isImageOpen" - class="overlay" - @click="closeImage"> - <div class="image-container"> - <img :src="openedImage" + <div class="infoimg" style="justify-content: start;"> + <!-- <div class="infoimg_box"> + <div class="noimg">手持身份证照片</div> + <img src="" alt="" - class="enlarged-image"> + v-show="false"> + <div class="text">手持身份证照片</div> + </div> --> + + <div class="infoimg_box"> + <div class="noimg" v-show="userinfo.detailinfo.faceUrl == null">实名拍摄画面</div> + <img :src="userinfo.detailinfo.faceUrl" alt="" v-show="userinfo.detailinfo.faceUrl != null" + @click="openImage(userinfo.detailinfo.faceUrl)"> + <div class="text">实名拍摄画面</div> + </div> + </div> + </div> + <div v-if="isImageOpen" class="overlay" @click="closeImage"> + <div class="image-container"> + <img :src="openedImage" alt="" class="enlarged-image"> </div> </div> <div class="tit"> 收货地址: </div> <div class="addbox"> - <div class="addli" - v-for="(item, index) in userinfo.detailinfo.addresses" - :key="index"> + <div class="addli" v-for="(item, index) in userinfo.detailinfo.addresses" :key="index"> <div class="addtxt"> 姓名:{{ item.realName }} </div> @@ -657,15 +466,12 @@ <div class="tit"> IP记录 </div> - <div class="info" - v-for="(item, index) in userinfo.detailinfo.ips" - :key="index"> + <div class="info" v-for="(item, index) in userinfo.detailinfo.ips" :key="index"> <div class="infoli">{{ item.loginTime }}</div> <div class="infoli">{{ item.ipaddr }}</div> <!-- <div class="infoli">福建省 福鼎市</div> --> - <div class="infoli" - style="color: red;">{{ item.loginLocation }}</div> + <div class="infoli" style="color: red;">{{ item.loginLocation }}</div> </div> <!-- <div class="tit"> @@ -673,40 +479,28 @@ </div> <div ref="map" style="width: 100%; height: 400px;"></div> --> </div> - <div class="fkbox" - v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> - <div class="titbox" - style="margin-top: 10px;"> - <div class="tit" - :class="fkxindex == 0 ? 'act' : ''" - @click="fkxindex = 0"> + <div class="fkbox" v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> + <div class="titbox" style="margin-top: 10px;"> + <div class="tit" :class="fkxindex == 0 ? 'act' : ''" @click="fkxindex = 0"> 天狼星报告 </div> - <div class="tit" - :class="fkxindex == 1 ? 'act' : ''" - @click="fkxindex = 1"> + <div class="tit" :class="fkxindex == 1 ? 'act' : ''" @click="fkxindex = 1"> 紫微星报告 </div> - <div class="tit" - :class="fkxindex == 2 ? 'act' : ''" - @click="fkxindex = 2"> + <div class="tit" :class="fkxindex == 2 ? 'act' : ''" @click="fkxindex = 2"> 综合报告 </div> </div> <div v-show="fkxindex == 2"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zhinfo.isCache == false" - @click="getSynthesizeReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zhinfo.isCache != false" - @click="getSynthesizeReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zhinfo.isCache == false">暂无报告</div> + <div class="btn" v-show="userinfo.zhinfo.isCache == false" @click="getSynthesizeReport()">获取报告 + </div> + <div class="btn" v-show="userinfo.zhinfo.isCache != false" @click="getSynthesizeReport()">重新获取报告 + </div> + <div class="tip" v-show="userinfo.zhinfo.isCache == false">暂无报告</div> </div> - <div class="newReport" - v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> + <div class="newReport" v-if="fkxindex == 2 && userinfo.zhinfo.isCache != false"> <div class="name_info"> <div class="name">{{ userinfo.zhinfo.userIdentityInfo.realName }}</div> @@ -718,34 +512,32 @@ <div class="line"></div> <div class="text">手机号</div> <div class="input">{{ userinfo.zhinfo.userIdentityInfo.commonPhoneNumber }}</div> - <div class="stause" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> - <div class="stause" - style="background: #e83535;" - v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> + <div class="stause" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">正常</div> + <div class="stause" style="background: #e83535;" + v-if="!userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">异常</div> </div> <div class="card_info_bot"> <div class="card_info_bot_li"> <div class="tit">手机号在网时间</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" - style="color: #e83535;">0-3个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" - style="color: #e83535;">3-6个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" - style="color: #e83535;">6-12个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" - style="color: #e83535;">12-24个月</div> - <div class="text" - v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '0-3'" + style="color: #e83535;"> + 0-3个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '3-6'" + style="color: #e83535;"> + 3-6个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '6-12'" + style="color: #e83535;"> + 6-12个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '12-24'" + style="color: #e83535;"> + 12-24个月</div> + <div class="text" v-if="userinfo.zhinfo.mobileOnlineRes.data.time == '24+'">24个月及以上 + </div> </div> <!-- <div class="card_info_bot_li"> - <div class="tit">手机号归属地</div> - <div class="text">广东 广州 [中国移动]</div> - </div> --> + <div class="tit">手机号归属地</div> + <div class="text">广东 广州 [中国移动]</div> + </div> --> </div> </div> @@ -757,27 +549,27 @@ <div class="stause">正常</div> </div> <!-- <div class="card_info_bot"> - <div class="card_info_bot_li"> - <div class="tit">身份证始发地</div> - <div class="text">24个月及以上</div> - </div> - <div class="card_info_bot_li"> - <div class="tit">身份证检测结果</div> - <div class="text">公安联网审核通过</div> - </div> - </div> --> + <div class="card_info_bot_li"> + <div class="tit">身份证始发地</div> + <div class="text">24个月及以上</div> + </div> + <div class="card_info_bot_li"> + <div class="tit">身份证检测结果</div> + <div class="text">公安联网审核通过</div> + </div> + </div> --> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 授信报告 </div> </div> <div class="sxbox"> - <div class="sxinfo"> + <div class="sxinfo" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="textbox"> <div class="text"> 网贷授信额度 @@ -812,7 +604,7 @@ </div> </div> </div> - <div class="sxtable"> + <div class="sxtable" v-if="userinfo.zhinfo.radarRes.resultDetail.currentReportDetail"> <div class="table_li"> <div class="li"></div> <div class="li">机构数</div> @@ -824,19 +616,27 @@ </div> <div class="table_li"> <div class="li">网络贷款数</div> - <div class="li"> {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180003 }}</div> - <div class="li"> {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180004 }}</div> - <div class="li"> {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180005 }}</div> - <div class="li"> {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180006 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180003 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180004 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180005 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180006 }}</div> </div> <div class="table_li"> <div class="li">消费金融数</div> - <div class="li">{{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180007 }}</div> - <div class="li">{{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180008 }}</div> - <div class="li">{{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180009 }}</div> - <div class="li">{{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180010 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180007 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180008 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180009 }}</div> + <div class="li"> + {{ userinfo.zhinfo.radarRes.resultDetail.currentReportDetail.c22180010 }}</div> </div> @@ -848,13 +648,14 @@ <div class="yuan"></div> <div class="text">授信额度说明</div> </div> - <div class="texts">本系统授信额度是根据用户借贷行为大数据分析预估得出,不代表金融机构的真实授信额度;置信度分值在50-100之间,分值越高,授信额度可信度越高;数据仅供参考, + <div class="texts"> + 本系统授信额度是根据用户借贷行为大数据分析预估得出,不代表金融机构的真实授信额度;置信度分值在50-100之间,分值越高,授信额度可信度越高;数据仅供参考, 不代表任何操作建议,请谨慎使用</div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 申请、放款报告 </div> @@ -905,7 +706,8 @@ </div> </div> <div class="texts"> - 申请准入分,贷款行为分的分值在1-1000之间,分值越高,准入度越高;置信度分值在50-100之间,分值越高,申请准入分,贷款行为分可信度越高;数据仅供参考, 不代表任何操作建议,请谨慎使用 + 申请准入分,贷款行为分的分值在1-1000之间,分值越高,准入度越高;置信度分值在50-100之间,分值越高,申请准入分,贷款行为分可信度越高;数据仅供参考, + 不代表任何操作建议,请谨慎使用 </div> <div class="cxbox"> <div class="cxli"> @@ -1203,10 +1005,10 @@ </div> </div> </div> - <div class="tit" - style="margin-top: 20px;"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> @@ -1231,13 +1033,11 @@ </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最近逾期时间 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time }} + <div class="cxbot" style="color: #E83535;"> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_overdue_time || '--' }} </div> </div> <div class="cxcont"> @@ -1251,33 +1051,30 @@ </div> <div class="cxli"> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 当前逾期机构数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_overdue || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最大逾期金额 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_amt || '--' }} </div> </div> <div class="cxcont"> - <div class="cxtop" - style="color: #E83535;"> + <div class="cxtop" style="color: #E83535;"> 最长逾期天数 </div> - <div class="cxbot" - style="color: #E83535;"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} + <div class="cxbot" style="color: #E83535;"> + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_overdue_days || '--' }} </div> </div> </div> @@ -1287,7 +1084,8 @@ 当前履约机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.currently_performance || '--' }} </div> </div> <div class="cxcont"> @@ -1295,7 +1093,8 @@ 最大履约金额 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.max_performance_amt || '--' }} </div> </div> <div class="cxcont"> @@ -1303,7 +1102,9 @@ 最近履约时间 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.latest_performance_time || '--' }} + </div> </div> </div> @@ -1313,7 +1114,9 @@ 异常还款机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_exc || '--' }} + </div> </div> <div class="cxcont"> @@ -1321,7 +1124,9 @@ 睡眠机构数 </div> <div class="cxbot"> - {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} + <!-- {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep }} --> + {{ userinfo.zhinfo.probeCRes.result_detail.acc_sleep || '--' }} + </div> </div> <div class="cxcont"> @@ -1422,10 +1227,8 @@ {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170050 }} </div> </div> - <div class="cxcont" - style="width: 220px;"> - <div class="cxtop" - style="width: 220px;"> + <div class="cxcont" style="width: 220px;"> + <div class="cxtop" style="width: 220px;"> 当前履约贷款已结清订单数 </div> <div class="cxbot"> @@ -1468,8 +1271,7 @@ </div> </div> </div> - <div class="fkuanbox" - style=" width: 100%;"> + <div class="fkuanbox" style=" width: 100%;"> <div class="fkuanbox_li"> <div class="fkuanbox_cont act1"> @@ -1496,8 +1298,7 @@ <div class="fkuanbox_cont act1"> 履约次数 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170045 }} </div> <div class="fkuanbox_cont act1"> @@ -1518,8 +1319,7 @@ <div class="fkuanbox_cont act1"> 履约总金额 </div> - <div class="fkuanbox_cont act1" - style="color: #e83535;"> + <div class="fkuanbox_cont act1" style="color: #e83535;"> {{ userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail.b22170040 }} </div> <div class="fkuanbox_cont act1"> @@ -1560,31 +1360,117 @@ </div> </div> - <div class="tit" - style="margin-top: 20px;" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> - <img src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" - alt=""> + <div class="tit" style="margin-top: 20px;" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> <div class="text"> 逾期、履约报告 </div> </div> + <div class="tit" style="margin-top: 20px;"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 逾期详情 + </div> + </div> + <div class="table_box"> + <div class="texts"> + 注:具体一笔逾期订单的逾期时间越长,按[账期类型(S/M)+账龄(0/1/...)]形式输出,S代表7/14/21天等超短期现金贷账期、M代表30/30+天等多期借贷账期(例如:假如账期是30天,M0对应0-30天,M1对应31-60天,以此类推:假如账期是7天,S1对应8-14天,以此类推:S/M的具体周期是根据不同平台和产品而定,具体的规则需根据实际情况而定) + </div> + <div class="table_li" style="margin-top: 20px;"> + <div class="back">逾期机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.memberCount }}</div> + <div class="back">逾期订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.orderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债机构数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount }}</div> + <div class="back">近1月共债订单数</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount }}</div> + </div> + <div class="table_li"> + <div class="back">近1月共债订单已还款金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt }}</div> + <div class="back">近1月共债订单金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt }}</div> + </div> + + <div class="table_li"> + <div class="back">逾期总金额</div> + <div class="normal">{{ userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount }}</div> + + </div> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.debtDetail " :key="index"> + <div class="table_li"> + <div class="back">逾期时间</div> + <div class="normal">{{ item.endDay }}</div> + <div class="back">逾期账期数</div> + <div class="normal">{{ item.billType }}</div> + + </div> + <div class="table_li"> + <div class="back">逾期金额</div> + <div class="normal">{{ item.endMoney }}</div> + <div class="back">是否结清</div> + <div class="normal" v-if="item.endFlag == 'N'">未结清</div> + <div class="normal" v-if="item.endFlag == 'Y'">已结清</div> + </div> + </div> + </div> + <div class="tit" style="margin-top: 20px;" + v-if="userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail.length > 0"> + <img + src="https://api.yruibao.com/crmebimage/public/content/2024/03/09/3c81d536012d4b559a9ffc668d60d5f9szinmgsqhp.png" + alt=""> + <div class="text"> + 历史共债 + </div> + </div> + <div class="table_box"> + <div style="width: 100%;margin-top: 10px;" + v-for="(item, index) in userinfo.zhinfo.panoramicArchives.resultDetail.totaldebtDetail" + :key="index"> + <div class="table_li"> + <div class="back">共债统计时间范围</div> + <div class="normal">{{ item.totaldebtDate }}</div> + <div class="back">共债机构数</div> + <div class="normal">{{ item.totaldebtOrgCount }}</div> + + </div> + <div class="table_li"> + <div class="back">共债订单数</div> + <div class="normal">{{ item.totaldebtOrderCount }}</div> + <div class="back">疑似借新还日</div> + <div class="normal" v-if="item.newOrOld == 'N'">不存在</div> + <div class="normal" v-if="item.newOrOld == 'Y'">存在</div> + </div> + <div class="table_li"> + <div class="back">共债订单已还款金额</div> + <div class="normal">{{ item.totaldebtOrderAmt }}</div> + <div class="back">共债订单金额</div> + <div class="normal">{{ item.totaldebtOrderLendAmt }}</div> + + </div> + </div> + </div> + <div class="speedbox"> <div class="speed_left"> 当前失信执行人探查结果 </div> - <div class="speed_right" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> 查询成功 </div> - <div class="speed_right" - style="color: #000;" - v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="speed_right" style="color: #000;" v-if="!userinfo.zhinfo.poorCreditPeople.data.caseList"> 未查询到信息 </div> </div> - <div class="shixbox" - v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> + <div class="shixbox" v-if="userinfo.zhinfo.poorCreditPeople.data.caseList"> <div class="fkuanbox"> <div class="fkuanbox_li"> <div class="fkuanbox_cont"> @@ -1605,9 +1491,8 @@ 发布时间 </div> </div> - <div class="fkuanbox_li" - v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" - :key="index"> + <div class="fkuanbox_li" v-for="(item, index) in userinfo.zhinfo.poorCreditPeople.data.caseList" + :key="index"> <div class="fkuanbox_cont"> {{ item.casecode }} </div> @@ -1635,137 +1520,66 @@ </div> <div v-show="fkxindex == 0"> <div class="noreport"> - <div class="btn" - v-show="userinfo.tlxinfo.url == null" - @click="tlxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.tlxinfo.url != null" - @click="tlxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.tlxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url == null" @click="tlxReport()">获取报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url != null" @click="tlxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.tlxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.tlxinfo.url" - alt="" - v-show="userinfo.tlxinfo.url != null"> + <img :src="userinfo.tlxinfo.url" alt="" v-show="userinfo.tlxinfo.url != null"> </div> <div v-show="fkxindex == 1"> <div class="noreport"> - <div class="btn" - v-show="userinfo.zwxinfo.url == null" - @click="zwxReport()">获取报告</div> - <div class="btn" - v-show="userinfo.zwxinfo.url != null" - @click="zwxReport()">重新获取报告</div> - <div class="tip" - v-show="userinfo.zwxinfo.url == null">暂无报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url == null" @click="zwxReport()">获取报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url != null" @click="zwxReport()">重新获取报告</div> + <div class="tip" v-show="userinfo.zwxinfo.url == null">暂无报告</div> </div> - <img :src="userinfo.zwxinfo.url" - alt="" - v-show="userinfo.zwxinfo.url != null"> + <img :src="userinfo.zwxinfo.url" alt="" v-show="userinfo.zwxinfo.url != null"> </div> </div> - <div class="zdbox" - v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" - style="width: 1500px;"> + <div class="zdbox" v-if="detailindex != 0 && userinfo && detailindex != 3 && detailindex != 9" + style="width: 1500px;"> <el-col :span="20"> - <el-table :data="tableDatas.data" - style="width: 1200px;" - v-loading="loading" - max-height="700"> - <el-table-column :prop="item.key" - :label="item.title" - width="item.minWidth" - :show-overflow-tooltip="true" - v-for="(item, index) in columns" - :key="index" /> + <el-table :data="tableDatas.data" style="width: 1200px;" v-loading="loading" max-height="700"> + <el-table-column :prop="item.key" :label="item.title" width="item.minWidth" + :show-overflow-tooltip="true" v-for="(item, index) in columns" :key="index" /> </el-table> <div class="block"> - <el-pagination :page-sizes="[6, 12, 18, 24]" - :page-size="tableFroms.limit" - :current-page="tableFroms.page" - layout="total, sizes, prev, pager, next, jumper" - :total="tableDatas.total" - @size-change="handleSizeChanges" - @current-change="pageChanges" /> + <el-pagination :page-sizes="[6, 12, 18, 24]" :page-size="tableFroms.limit" + :current-page="tableFroms.page" layout="total, sizes, prev, pager, next, jumper" + :total="tableDatas.total" @size-change="handleSizeChanges" @current-change="pageChanges" /> </div> </el-col> </div> - <div class="remake" - v-if="detailindex == 9"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <div class="remake" v-if="detailindex == 9"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> @@ -1781,192 +1595,91 @@ </el-dialog> </el-card> - <div class="card_abs" - v-show="card_select_show" - :style="{ top: collapse ? 570 + 'px' : 270 + 'px' }"> + <div class="card_abs" v-show="card_select_show" :style="{ top: collapse ? 570 + 'px' : 270 + 'px' }"> <template> <div class="cell_ht"> - <el-checkbox :indeterminate="isIndeterminate" - v-model="checkAll" - @change="handleCheckAllChange">全选</el-checkbox> - <el-button type="text" - @click="checkSave()">保存</el-button> + <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" + @change="handleCheckAllChange">全选</el-checkbox> + <el-button type="text" @click="checkSave()">保存</el-button> </div> - <el-checkbox-group v-model="checkedCities" - @change="handleCheckedCitiesChange"> - <el-checkbox v-for="item in columnData" - :label="item" - :key="item" - class="check_cell">{{ item }}</el-checkbox> + <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> + <el-checkbox v-for="item in columnData" :label="item" :key="item" class="check_cell">{{ item }}</el-checkbox> </el-checkbox-group> </template> </div> <!--修改推广人--> - <el-dialog title="修改推广人" - :visible.sync="extensionVisible" - width="500px" - :before-close="handleCloseExtension"> - <el-form class="formExtension mt20" - ref="formExtension" - :model="formExtension" - :rules="ruleInline" - label-width="120px" - @submit.native.prevent - v-loading="loading"> - <el-form-item label="用户头像:" - prop="image"> - <div class="upLoadPicBox" - @click="modalPicTap"> - <div v-if="formExtension.image" - class="pictrue"><img :src="formExtension.image" /></div> - <div v-else - class="upLoad"> + <el-dialog title="修改推广人" :visible.sync="extensionVisible" width="500px" :before-close="handleCloseExtension"> + <el-form class="formExtension mt20" ref="formExtension" :model="formExtension" :rules="ruleInline" + label-width="120px" @submit.native.prevent v-loading="loading"> + <el-form-item label="用户头像:" prop="image"> + <div class="upLoadPicBox" @click="modalPicTap"> + <div v-if="formExtension.image" class="pictrue"><img :src="formExtension.image" /></div> + <div v-else class="upLoad"> <i class="el-icon-camera cameraIconfont" /> </div> </div> </el-form-item> </el-form> - <span slot="footer" - class="dialog-footer"> - <el-button type="primary" - @click="onSubExtension('formExtension')">确 定</el-button> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="onSubExtension('formExtension')">确 定</el-button> </span> </el-dialog> <!--用户列表--> - <el-dialog title="用户列表" - :visible.sync="userVisible" - width="900px"> - <user-list v-if="userVisible" - @getTemplateRow="getTemplateRow"></user-list> - <span slot="footer" - class="dialog-footer"> + <el-dialog title="用户列表" :visible.sync="userVisible" width="900px"> + <user-list v-if="userVisible" @getTemplateRow="getTemplateRow"></user-list> + <span slot="footer" class="dialog-footer"> <el-button @click="userVisible = false">取 消</el-button> - <el-button type="primary" - @click="userVisible = false">确 定</el-button> + <el-button type="primary" @click="userVisible = false">确 定</el-button> </span> </el-dialog> <!--批量设置--> - <el-dialog title="设置" - :visible.sync="dialogVisible" - width="500px" - :before-close="handleClose"> - <el-form :model="dynamicValidateForm" - ref="dynamicValidateForm" - label-width="100px" - class="demo-dynamic" - v-loading="loading"> - <el-form-item prop="groupId" - label="用户分组" - :rules="[{ required: true, message: '请选择用户分组', trigger: 'change' }]" - v-if="batchName === 'group'" - key="1"> - <el-select v-model="dynamicValidateForm.groupId" - placeholder="请选择分组" - style="width: 80%" - filterable> - <el-option :value="item.id" - v-for="(item, index) in groupList" - :key="index" - :label="item.groupName"></el-option> + <el-dialog title="设置" :visible.sync="dialogVisible" width="500px" :before-close="handleClose"> + <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic" + v-loading="loading"> + <el-form-item prop="groupId" label="用户分组" :rules="[{ required: true, message: '请选择用户分组', trigger: 'change' }]" + v-if="batchName === 'group'" key="1"> + <el-select v-model="dynamicValidateForm.groupId" placeholder="请选择分组" style="width: 80%" filterable> + <el-option :value="item.id" v-for="(item, index) in groupList" :key="index" + :label="item.groupName"></el-option> </el-select> </el-form-item> - <el-form-item prop="groupId" - label="用户标签" - :rules="[{ required: true, message: '请选择用户标签', trigger: 'change' }]" - v-else> - <el-select v-model="dynamicValidateForm.groupId" - placeholder="请选择标签" - style="width: 80%" - multiple - filterable> - <el-option :value="item.id" - v-for="(item, index) in labelLists" - :key="index" - :label="item.name"></el-option> + <el-form-item prop="groupId" label="用户标签" :rules="[{ required: true, message: '请选择用户标签', trigger: 'change' }]" + v-else> + <el-select v-model="dynamicValidateForm.groupId" placeholder="请选择标签" style="width: 80%" multiple filterable> + <el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option> </el-select> </el-form-item> </el-form> - <span slot="footer" - class="dialog-footer"> + <span slot="footer" class="dialog-footer"> <el-button @click="handleClose">取 消</el-button> - <el-button type="primary" - @click="submitForm('dynamicValidateForm')">确 定</el-button> + <el-button type="primary" @click="submitForm('dynamicValidateForm')">确 定</el-button> </span> </el-dialog> - <el-dialog title="备注" - :visible.sync="bzVisible" - width="1000px" - :before-close="bzClose"> - <div class="remake" - style="min-height: 500px;"> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visibl"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="adremake"> + <el-dialog title="备注" :visible.sync="bzVisible" width="1000px" :before-close="bzClose"> + <div class="remake" style="min-height: 500px;"> + <el-popover placement="right" width="400" trigger="manual" v-model="visibl"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="adremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="addremark()">确认添加</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visibl = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visibl = !visibl">添加备注</el-button> + <el-button type="text" size="small" class="mr10" @click="addremark()">确认添加</el-button> + <el-button type="text" size="small" class="mr10" @click="visibl = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" @click="visibl = !visibl">添加备注</el-button> </el-popover> - <el-table :data="remakeData.data" - style="width: 100%" - size="mini"> + <el-table :data="remakeData.data" style="width: 100%" size="mini"> - <el-table-column prop="updateTime" - label="备注时间" - min-width="50" - align="center" /> - <el-table-column prop="remark" - label="备注内容" - min-width="50" - align="center" /> - <el-table-column label="操作" - min-width="120" - fixed="right" - align="center"> + <el-table-column prop="updateTime" label="备注时间" min-width="50" align="center" /> + <el-table-column prop="remark" label="备注内容" min-width="50" align="center" /> + <el-table-column label="操作" min-width="120" fixed="right" align="center"> <template slot-scope="scope"> - <el-button type="text" - size="small" - @click="delremark(scope.row)" - class="mr10" - v-hasPermi="['admin:channel:update']">删除备注</el-button> + <el-button type="text" size="small" @click="delremark(scope.row)" class="mr10" + v-hasPermi="['admin:channel:update']">删除备注</el-button> - <el-popover placement="right" - width="400" - trigger="manual" - v-model="visible"> - <el-input type="textarea" - :rows="2" - placeholder="请输入内容" - v-model="upremake"> + <el-popover placement="right" width="400" trigger="manual" v-model="visible"> + <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="upremake"> </el-input> - <el-button type="text" - size="small" - class="mr10" - @click="upRemake(scope.row)">确认修改</el-button> - <el-button type="text" - size="small" - class="mr10" - @click="visible = false">取消</el-button> - <el-button type="text" - size="small" - slot="reference" - class="mr10" - @click="visible = !visible">修改备注</el-button> + <el-button type="text" size="small" class="mr10" @click="upRemake(scope.row)">确认修改</el-button> + <el-button type="text" size="small" class="mr10" @click="visible = false">取消</el-button> + <el-button type="text" size="small" slot="reference" class="mr10" + @click="visible = !visible">修改备注</el-button> </el-popover> <!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开" @@ -1979,91 +1692,51 @@ </div> </el-dialog> <!--编辑--> - <el-dialog title="编辑" - :visible.sync="visible" - width="600px"> - <edit-from v-if="visible" - :uid="uid" - @resetForm="resetForm"></edit-from> + <el-dialog title="编辑" :visible.sync="visible" width="600px"> + <edit-from v-if="visible" :uid="uid" @resetForm="resetForm"></edit-from> </el-dialog> <!--积分余额--> - <el-dialog title="积分余额" - :visible.sync="VisiblePoint" - width="500px" - :close-on-click-modal="false" - :before-close="handlePointClose"> - <el-form :model="PointValidateForm" - ref="PointValidateForm" - label-width="100px" - class="demo-dynamic" - v-loading="loadingPoint"> - <el-form-item label="修改余额" - required> + <el-dialog title="积分余额" :visible.sync="VisiblePoint" width="500px" :close-on-click-modal="false" + :before-close="handlePointClose"> + <el-form :model="PointValidateForm" ref="PointValidateForm" label-width="100px" class="demo-dynamic" + v-loading="loadingPoint"> + <el-form-item label="修改余额" required> <el-radio-group v-model="PointValidateForm.moneyType"> <el-radio :label="1">增加</el-radio> <el-radio :label="2">减少</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="余额" - required> - <el-input-number type="text" - v-model="PointValidateForm.moneyValue" - :precision="2" - :step="0.1" - :min="0" - :max="999999"></el-input-number> + <el-form-item label="余额" required> + <el-input-number type="text" v-model="PointValidateForm.moneyValue" :precision="2" :step="0.1" :min="0" + :max="999999"></el-input-number> </el-form-item> - <el-form-item label="修改积分" - required> + <el-form-item label="修改积分" required> <el-radio-group v-model="PointValidateForm.integralType"> <el-radio :label="1">增加</el-radio> <el-radio :label="2">减少</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="积分" - required> - <el-input-number type="text" - step-strictly - v-model="PointValidateForm.integralValue" - :min="0" - :max="999999"></el-input-number> + <el-form-item label="积分" required> + <el-input-number type="text" step-strictly v-model="PointValidateForm.integralValue" :min="0" + :max="999999"></el-input-number> </el-form-item> </el-form> - <span slot="footer" - class="dialog-footer"> + <span slot="footer" class="dialog-footer"> <el-button @click="handlePointClose">取 消</el-button> - <el-button type="primary" - :loading="loadingBtn" - @click="submitPointForm('PointValidateForm')">确 定</el-button> + <el-button type="primary" :loading="loadingBtn" @click="submitPointForm('PointValidateForm')">确 定</el-button> </span> </el-dialog> <!--账户详情--> - <el-dialog title="用户详情" - :visible.sync="Visible" - width="1600px" - v-if="Visible" - :before-close="Close"> - <user-details ref="userDetails" - :uid="uid" - v-if="Visible"></user-details> + <el-dialog title="用户详情" :visible.sync="Visible" width="1600px" v-if="Visible" :before-close="Close"> + <user-details ref="userDetails" :uid="uid" v-if="Visible"></user-details> </el-dialog> <!--身份信息--> - <el-dialog title="身份信息" - :visible.sync="IdVisible" - width="1600px" - v-if="IdVisible" - :before-close="Close"> - <user-identity ref="userIdentity" - :uid="uid" - v-if="IdVisible"></user-identity> + <el-dialog title="身份信息" :visible.sync="IdVisible" width="1600px" v-if="IdVisible" :before-close="Close"> + <user-identity ref="userIdentity" :uid="uid" v-if="IdVisible"></user-identity> </el-dialog> <!-- 用户等级 --> - <el-dialog title="设置" - :visible.sync="levelVisible" - width="600px" - :before-close="Close"> - <level-edit :levelInfo="levelInfo" - :levelList="levelList"></level-edit> + <el-dialog title="设置" :visible.sync="levelVisible" width="600px" :before-close="Close"> + <level-edit :levelInfo="levelInfo" :levelList="levelList"></level-edit> </el-dialog> </div> </template> @@ -2294,14 +1967,66 @@ export default { getSynthesizeReport(this.uid).then((res) => { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); - this.userinfo.zhinfo = res + loading.close(); - + this.userinfo.zhinfo = res + this.checkfk() + loading.close(); if (res.code == 500) { this.$message.error(res.msg); } - if (res.code == 500) { - this.$message.error(res.msg); + + this.$forceUpdate() + }); + }, + checkfk(){ + if(!this.userinfo.zhinfo.panoramicArchives){ + this.userinfo.zhinfo.panoramicArchives={ + "resultDetail":{ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + }else if(!this.userinfo.zhinfo.panoramicArchives.resultDetail){ + this.userinfo.zhinfo.panoramicArchives.resultDetail={ + 'currentOrderAmt':'--', + 'currentOrderCount':'--', + 'currentOrderLendAmt':'--', + 'currentOrgCount':'--', + 'debtAmount':'--', + 'memberCount':'--', + 'orderCount':'--', + "debtDetail":{}, + "totaldebtDetail":{}, + } + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderLendAmt='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrderCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount==''){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.currentOrgCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.debtAmount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.memberCount='--' + } + if(this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==''||this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount==null){ + this.userinfo.zhinfo.panoramicArchives.resultDetail.orderCount='--' } if (!this.userinfo.zhinfo.radarRes) { // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" @@ -2524,10 +2249,8 @@ export default { } } } - this.$forceUpdate() - }); - }, + }, bzClose() { this.bzVisible = false }, @@ -2642,231 +2365,12 @@ export default { getSynthesizeCache(id).then((res) => { // console.log("11111111111111111---------"+JSON.stringify(res)) console.log(res, 'resres'); + this.userinfo.zhinfo = res - if (res.code == 500) { - this.$message.error(res.msg); - } - if (!this.userinfo.zhinfo.radarRes) { - // 如果为 null,则添加 resultDetail 字段,并且将 currentReportDetail 字段及其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes = { - "resultDetail": { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--" - }, - "applyReportDetail": { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }, - "behaviorReportDetail": { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - } - } - }; - } else { - // 如果 radarRes 不为 null,则检查是否 resultDetail 为 null,以及 applyReportDetail 和 behaviorReportDetail 是否存在 - if (!this.userinfo.zhinfo.radarRes.resultDetail) { - // 如果 resultDetail 为 null,则添加 currentReportDetail 字段,并且将其内部数据填充为 "--" - this.userinfo.zhinfo.radarRes.resultDetail = { - "currentReportDetail": { - "c22180006": "--", - "c22180009": "--", - "c22180010": "--", - "c22180002": "--", - "c22180011": "--", - "c22180012": "--", - "c22180004": "--", - "c22180007": "--", - "c22180005": "--", - "c22180003": "--", - "c22180008": "--", - "c22180001": "--", - - - - } - }; - } - // 检查 applyReportDetail 和 behaviorReportDetail 是否存在,如果不存在则添加并填充为 "--" - if (!this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.applyReportDetail = { - "a22160004": "--", - "a22160001": "--", - "a22160002": "--", - "a22160003": "--", - "a22160006": "--", - "a22160007": "--", - "a22160008": "--", - "a22160005": "--", - "a22160009": "--", - "a22160010": "--" - }; - } - if (!this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail) { - this.userinfo.zhinfo.radarRes.resultDetail.behaviorReportDetail = { - "b22170013": "--", - "b22170001": "--", - "b22170002": "--", - "b22170003": "--", - "b22170004": "--", - "b22170005": "--", - "b22170006": "--", - "b22170007": "--", - "b22170008": "--", - "b22170009": "--", - "b22170010": "--", - "b22170011": "--", - "b22170012": "--", - "b22170017": "--", - "b22170018": "--", - "b22170015": "--", - "b22170016": "--", - "b22170014": "--", - "b22170052": "--", - "b22170030": "--", - "b22170026": "--", - "b22170051": "--", - "b22170041": "--", - "b22170031": "--", - "b22170032": "--", - "b22170033": "--", - "b22170028": "--", - "b22170045": "--", - "b22170027": "--", - "b22170029": "--", - "b22170046": "--", - "b22170019": "--", - "b22170020": "--", - "b22170022": "--", - "b22170047": "--", - "b22170049": "--", - "b22170023": "--", - "b22170025": "--", - "b22170038": "--", - "b22170040": "--", - "b22170044": "--", - "b22170035": "--", - "b22170039": "--", - "b22170048": "--", - "b22170050": "--", - "b22170054": "--", - "b22170037": "--", - "b22170036": "--", - "b22170043": "--", - "b22170024": "--", - "b22170042": "--", - "b22170021": "--", - "b22170034": "--", - "b22170053": "--" - // Add other fields here with "--" values - }; - } - } - if (!this.userinfo.zhinfo.probeCRes) { - this.userinfo.zhinfo.probeCRes = { - 'result_detail': { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } else { - if (!this.userinfo.zhinfo.probeCRes.result_detail) { - this.userinfo.zhinfo.probeCRes.result_detail = { - "max_performance_amt": "--", - "count_performance": "--", - "currently_overdue": "--", - "max_overdue_amt": "--", - "acc_sleep": "--", - "currently_performance": "--", - "result_code": "--", - "latest_performance_time": "--", - "max_overdue_days": "--", - "latest_overdue_time": "--", - "acc_exc": '--' - } - } - } + + + this.checkfk() + @@ -3788,7 +3292,7 @@ export default { justify-content: space-between; .infoli { - // width: 33%; + width: 33%; font-size: 18px; font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; font-weight: 400; @@ -4261,6 +3765,47 @@ export default { } } + .table_box { + margin-top: 20px; + width: 100%; + display: flex; + flex-wrap: wrap; + padding: 0 20px; + + .table_li { + + width: 100%; + display: flex; + flex-wrap: nowrap; + + .back { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + background: #F0F6FF; + font-size: 14px; + color: #000; + border-bottom: 1px solid #fff; + border-left: 1px solid #fff; + } + + .normal { + padding-left: 4px; + display: flex; + align-items: center; + width: 23%; + height: 30px; + font-size: 14px; + color: #000; + border-bottom: 1px solid #D8D8D8; + border-left: 1px solid #D8D8D8; + } + } + + } + .speedbox { display: flex; flex-wrap: nowrap; @@ -4507,4 +4052,5 @@ export default { ::v-deep .el-checkbox__input.is-checked+.el-checkbox__label { color: #606266; -}</style> +} +</style>