diff --git a/src/api/marketing.js b/src/api/marketing.js index 0f1cd8e..7bc639f 100644 --- a/src/api/marketing.js +++ b/src/api/marketing.js @@ -61,7 +61,31 @@ export function couponSaveApi(data) { data, }); } - +/** + * 会员管理 修改 + * @param pram + */ +export function userUpdateApi(params, data) { + return request({ + url: `/admin/user/update`, + method: 'post', + params, + data, + }); +} +/** + * 备注列表 修改 + * @param pram + */ +export function changeRepaymentStatus(params,data) { + return request({ + url: `admin/user/installmentBill/update/?id=${params}`, + method: 'post', + // params, + data, + }); + console.log(data,'dadada'); +} /** * 优惠券 修改状态 * @param pram diff --git a/src/api/user.js b/src/api/user.js index 009ed9b..95ad8ef 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -84,6 +84,59 @@ export function infobyconditionApi(params) { }); } + +/** + * 会员管理 账户详情 + * @param pram + */ +export function infobyconditionApiList(params) { + return request({ + url: `/admin/user/installmentBill/list`, + method: 'get', + params, + }); +} +/** + * 备注列表 + * @param pram + */ +export function remarkList(params) { + return request({ + url: `admin/user/remark/list`, + method: 'get', + params, + }); +} +export function delRemark(id) { + return request({ + url: `admin/user/remark/delete/?id=${id}`, + method: 'get', + // params, + }); +} +/** + * 备注列表 修改 + * @param pram + */ +export function remarkUpdata(params,data) { + return request({ + url: `admin/user/remark/update/?id=${params}`, + method: 'post', + // params, + data, + }); + console.log(data,'dadada'); +} +export function addRemark(data) { + return request({ + url: `admin/user/remark/save`, + method: 'post', + // params, + data, + }); + console.log(data,'dadada'); +} + /** * 会员管理 账户详情top数据 * @param pram diff --git a/src/components/linkaddress/linkData.json b/src/components/linkaddress/linkData.json index 714426a..7a68bc1 100644 --- a/src/components/linkaddress/linkData.json +++ b/src/components/linkaddress/linkData.json @@ -325,6 +325,18 @@ "sort": 0, "add_time": 1626837579 }, + { + "id": 50, + "cate_id": 5, + "type": 3, + "name": "还款记录", + "url": "/pages/users/user_spread_money/index?type=2", + "param": " ", + "example": "/pages/users/user_spread_money/index?type=2", + "status": 1, + "sort": 0, + "add_time": 1626837579 + }, { "id": 49, "cate_id": 5, diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index f89af38..ff386ec 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -61,6 +61,9 @@ export default { this.onlyOneChild = null; return {}; }, + mounted(){ + console.log(this.item,'itemitem'); + }, methods: { hasOneShowingChild(child = [], parent) { const showingChildren = child.filter((item) => { diff --git a/src/router/modules/financial.js b/src/router/modules/financial.js index 4d68f03..6471b97 100644 --- a/src/router/modules/financial.js +++ b/src/router/modules/financial.js @@ -48,12 +48,19 @@ const financialRouter = { }, ], }, + { + path: 'repayment', + component: () => import('@/views/financial/repayment/index'), + name: 'Repayment', + meta: { title: '还款记录', icon: '' }, + }, { path: 'brokerage', component: () => import('@/views/financial/brokerage/index'), name: 'Brokerage', meta: { title: '佣金记录', icon: '' }, }, + ], }; diff --git a/src/views/dashboard/components/gridMenu.vue b/src/views/dashboard/components/gridMenu.vue index 0524d7c..9d87d2c 100644 --- a/src/views/dashboard/components/gridMenu.vue +++ b/src/views/dashboard/components/gridMenu.vue @@ -80,13 +80,13 @@ export default { url: '/order/index', perms: ['admin:order:list'], }, - // { - // bgColor: '#A277FF', - // icon: 'iconduanxinpeizhi', - // title: '一号通', - // url: '/operation/onePass', - // perms: ['admin:pass:login'], - // }, + { + bgColor: '#A277FF', + icon: 'iconduanxinpeizhi', + title: '还款记录', + url: '/financial/repayment', + perms: ['admin:pass:login'], + }, { bgColor: '#E8B600', icon: 'iconwenzhangguanli', @@ -112,9 +112,9 @@ export default { statisticData: [ { title: '待发货订单', num: 0, path: '/order/index', perms: ['admin:order:list'] }, { title: '退款中订单', num: 0, path: '/order/index', perms: ['admin:order:list'] }, - { title: '待核销订单', num: 0, path: '/order/index', perms: ['admin:order:list'] }, - { title: '库存预警', num: 0, path: '/store/index', perms: ['admin:product:list'] }, - { title: '上架商品', num: 0, path: '/store/index', perms: ['admin:product:list'] }, + { title: '待审核订单', num: 0, perms: ['admin:order:list'] }, + { title: '昨日回款率', num: 0, perms: ['admin:product:list'] }, + { title: '明日到期', num: 0, perms: ['admin:product:list'] }, { title: '仓库商品', num: 0, path: '/store/index', perms: ['admin:product:list'] }, { title: '提现待审核', num: 0, path: '/financial/commission/template', perms: ['admin:finance:apply:list'] }, { title: '账户充值', num: 0, path: '/financial/record/charge', perms: ['admin:recharge:list'] }, @@ -157,8 +157,8 @@ export default { businessData().then((res) => { this.statisticData[0].num = res.notShippingOrderNum; //待发货订单 this.statisticData[1].num = res.refundingOrderNum; //退款中订单 - this.statisticData[2].num = res.notWriteOffOrderNum; //待核销订单 - this.statisticData[3].num = res.vigilanceInventoryNum; //库存预警 + this.statisticData[2].num = res.auditTotalNum; //待核销订单 + this.statisticData[3].num = res.yesterdayRateOfReturn; //库存预警 this.statisticData[4].num = res.onSaleProductNum; //上架商品 this.statisticData[5].num = res.notSaleProductNum; //仓库商品 this.statisticData[6].num = res.notAuditNum; //提现待审核 diff --git a/src/views/financial/repayment/index.vue b/src/views/financial/repayment/index.vue new file mode 100644 index 0000000..04a5ae6 --- /dev/null +++ b/src/views/financial/repayment/index.vue @@ -0,0 +1,1042 @@ +<template> + <div class="divBox"> + <el-tabs v-model="activeName" @tab-click="handleClick"> + <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"> + <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="nickName" label="用户姓名" min-width="50" align="center" /> + <el-table-column prop="id" 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="repaymentDeadline" label="还款时间" min-width="50" align="center" /> + <el-table-column prop="paymentMethod" label="还款方法" min-width="50" align="center" /> + <!-- <el-table-column prop="totalOrderNum" label="总订单(金额/数量)" min-width="120" /> --> + <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> --> + </el-table-column> + + <el-table-column prop="repaymentStatus" label="状态" min-width="50" align="center" /> + + + + + <!-- <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"> + <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="getuserinfo(scope.row.uid)" class="mr10" + v-hasPermi="['admin:channel:update']">查看用户信息</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" /> + </div> + <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" :class="detailindex == index ? 'act' : ''" + @click="changeindex(index)">{{ item.tit }}</div> + </div> + <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"> + 订单 + </div> + + <!-- <a @click="downloadAndOpenPDF" href="#">下载并打开PDF文件</a> --> + <div class="info"> + + <div class="infoli">总计订单:{{ userinfo.detailinfo.allOrderCount }} </div> + <div class="infoli">总金额:{{ userinfo.detailinfo.totalPendingRepayment }} </div> + <div class="infoli">待还金额:{{ userinfo.detailinfo.allConsumeCount }} </div> + </div> + <div class="tit"> + 身份证照片 + </div> + <div class="info"> + + <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" style="margin-right: 200px;"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" + v-show="userinfo.detailinfo.idCardFrontPhoto != ''"> + <div class="text">身份证正面</div> + + </div> + <div class="infoimg_box"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" v-show="userinfo.detailinfo.idCardBackPhoto != ''"> + <div class="text">身份证反面</div> + </div> + </div> + </div> + <div class="tit"> + 收货地址: + </div> + <div class="addbox"> + <div class="addli" v-for="(item, index) in userinfo.detailinfo.addresses" :key="index"> + <div class="addtxt"> + 姓名:{{ item.realName }} + </div> + <div class="addtxt"> + 手机号:{{ item.phone }} + </div> + <div class="addtxt"> + 收件地址:{{ item.city }} {{ item.district }}{{ item.detail }} + </div> + </div> + + </div> + <div class="tit"> + IP记录 + </div> + <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> + </div> + <div class="fkbox" v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo"> + <div class="titbox" style="justify-content: center;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> + </div> + <div v-show="fkxindex == 0"> + <img :src="userinfo.tlxinfo.url" alt="" v-show="userinfo.tlxinfo.url != null"> + <div class="noreport"> + <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> + </div> + <div v-show="fkxindex == 1"> + <img :src="userinfo.zwxinfo.url" alt="" v-show="userinfo.zwxinfo.url != null"> + <div class="noreport"> + <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> + </div> + + </div> + <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> + <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" /> + </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"> + </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-popover> + <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"> + <template slot-scope="scope"> + <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-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-popover> + + <!-- <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-column prop="installmentNumber" label="期数" min-width="50" align="center"/> --> + + </el-table> + </div> + </div> + + </el-dialog> + <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> + <div style="width: 100%;margin-top: 20px;"> + <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 +} from '@/api/user' +import { integralListApi,changeRepaymentStatus } from '@/api/marketing'; +export default { + name: 'AccountsCapital', + data() { + return { + userinfo: [ + + ], + pdfDoc: null, // pdfjs 生成的对象 + pdfHTML: 0, // pdfjs 生成的对象 + pdfUrl: '', + detaillist: [ + { tit: '用户基础信息 ' }, + { tit: ' 订单记录 ' }, + { tit: '账单列表 ' }, + { tit: '风控报告 ' }, + + { tit: '余额变动 ' }, + { tit: '好友关系 ' }, + { tit: '积分明细 ' }, + { tit: '签到记录 ' }, + { tit: '持有优惠券 ' }, + { tit: '备注' }, + + + ], + detailindex: 0, + fkxindex: 0, + activeName: 'first', + refundVisible: false, + listLoading: false, + loading: false, + dialogVisibles: false, + titindex: 0, + channelInfo: {}, + chooselist: {}, + todaydata: { list: [], total: 0 }, + userdata: {}, + constants: this.$constants, + listPram: { + productId: null, + productName: null, + page: 1, + limit: this.$constants.page.limit[0], + }, + listPrams: { + + channelId: null, + page: 1, + limit: 10, + }, + userPrams: { + + channelId: null, + page: 1, + limit: 10, + }, + + tableFrom: { + page: 1, + limit: 6, + type: '0', + time: 'yesterday' + }, + listData: { list: [], total: 0 }, + tableDatass: { + data: [], + total: 0, + }, + + tableDatas: { + data: [], + total: 0, + }, + tableFroms: { + page: 1, + limit: 6, + type: '0', + userId: '', + }, + uid: '', + remarkFrom: { + page: 1, + limit: 6, + type: '0', + uid: '' + }, + upremake: '', + adremake: '', + visible: false, + visibl: false, + remakeData: { + data: [], + total: 0, + }, + ishk:'', + hkid:'' + }; + }, + mounted() { + // this.getTypes() + this.getlist() + }, + methods: { + handleClick(tab, event) { + if (tab.name == 'first') { + this.tableFrom.time = 'today' + } else if (tab.name == 'second') { + this.tableFrom.time = 'yesterday' + } else if (tab.name == 'third') { + this.tableFrom.time = 'tomorrow' + } + this.getlist() + + }, + + refundhandleClose() { + this.refundVisible = false; + }, + changehk(row) { + this.jkid=row.id + if(row.repaymentStatus=='待还款'){ + this.ishk='待还款' + }else if(row.repaymentStatus=='已还款'){ + this.ishk='已还款' + } + console.log(row,'rowrow'); + this.refundVisible=true + }, + subhk(){ + let data={ + repaymentStatus:'Paid' + } + if(this.ishk=='待还款'){ + data.repaymentStatus='Pending' + }else if(this.ishk=='已还款'){ + data.repaymentStatus='Paid' + } + + changeRepaymentStatus(this.jkid, data).then((res) => { + this.refundVisible=false + this.getlist() + }); + }, + getlist() { + this.listLoading = true + infobyconditionApiList(this.tableFrom) + .then((res) => { + this.tableDatass.data = res.list; + this.tableDatass.total = res.total; + console.log(this.tableData, ' this.tableDatas this.tableDatas'); + this.listLoading = false + + }) + .catch(() => { + + }); + }, + pageChanges(page) { + this.tableFroms.page = page; + if (this.detailindex == 6) { + this.integral() + } else { + this.getInfos(); + } + + }, + handleSizeChange(val) { + this.tableFrom.limit = val; + this.getList(); + }, + handleCurrentChange(val) { + this.tableFrom.page = val; + this.getList(); + }, + handleClose() { + this.dialogVisibles = false; + }, + async upRemake(row) { + console.log(this.upremake, 'idididid'); + let data = { + remark: this.upremake, + + } + let id = row.id + await remarkUpdata(id, data).then((res) => { + this.upremake = '' + this.visible = false + this.getremake() + }); + }, + delremark(row) { + delRemark(row.id).then((res) => { + + this.getremake() + }); + }, + addremark() { + let data = { + remark: this.adremake, + uid: this.uid + + } + addRemark(data).then((res) => { + this.adremake = '' + this.visibl = false + this.getremake() + }); + }, + tlxReport() { + console.log("获取天狼星报告") + getTlxReport({ userId: this.uid }).then((res) => { + // console.log("11111111111111111---------"+JSON.stringify(res)) + this.userinfo.tlxinfo = res + this.$forceUpdate() + }); + }, + zwxReport() { + console.log("获取紫微星报告") + getZwxReport({ userId: this.uid }).then((res) => { + this.userinfo.zwxinfo = res + this.$forceUpdate() + }); + }, + handleSizeChanges(val) { + this.tableFroms.limit = val; + if (this.detailindex == 6) { + this.integral() + } else { + this.getInfos(); + } + }, + getuserinfo(id) { + console.log(id, 'ididididi'); + this.detailindex = 0 + this.uid = id + this.tableFroms.userId = id + getIdentityInfos(id) + .then((res) => { + let detailinfo = {} + detailinfo = res + this.userinfo.detailinfo = detailinfo + console.log(this.userinfo.detailinfo, 'this.userinfo.detailinfothis.userinfo.detailinfo'); + this.dialogVisibles = true + }) + .catch((res) => { + this.loading = false; + }); + getTlxReportCache(id) + .then((res) => { + this.userinfo.tlxinfo = res + }) + .catch((res) => { + + }); + getZwxReportCache(id) + .then((res) => { + this.userinfo.zwxinfo = res + }) + .catch((res) => { + + }); + console.log(this.userinfo, 'detailinfodetailinfodetailinfo'); + }, + changeindex(index) { + console.log(index, 'indexindexindex'); + this.detailindex = index + if (index == 2) { + this.tableFroms.type = '6' + this.getInfos() + } else if (index == 1) { + this.tableFroms.type = '0' + this.getInfos() + } else if (index == 4) { + this.tableFroms.type = '4' + this.getInfos() + } else if (index == 5) { + this.tableFroms.type = '5' + this.getInfos() + } else if (index == 6) { + // this.tableFroms.type='2' + this.integral() + } else if (index == 7) { + this.tableFroms.type = '2' + this.getInfos() + } else if (index == 8) { + this.tableFroms.type = '3' + this.getInfos() + } else if (index == 9) { + this.getremake() + } + }, + getremake() { + this.remarkFrom.uid = this.uid + remarkList(this.remarkFrom) + .then((res) => { + this.remakeData.data = res.list; + this.remakeData.total = res.total; + + }) + .catch(() => { + + }); + }, + + integral() { + this.loading = true; + integralListApi({ limit: this.tableFroms.limit, page: this.tableFroms.page }, { uid: this.uid }) + .then((res) => { + this.tableDatas.data = res.list; + this.tableDatas.total = res.total; + this.columns = [ + { + title: '来源/用途', + key: 'title', + minWidth: 120, + }, + { + title: '积分变化', + key: 'integral', + minWidth: 120, + }, + { + title: '变化后积分', + key: 'balance', + minWidth: 120, + }, + { + title: '日期', + key: 'updateTime', + minWidth: 120, + }, + { + title: '备注', + key: 'mark', + minWidth: 120, + }, + ]; + this.loading = false; + }) + .catch((res) => { + this.loading = false; + }); + }, + getInfos() { + infobyconditionApi(this.tableFroms) + .then((res) => { + this.tableDatas.data = res.list; + this.tableDatas.total = res.total; + console.log(this.tableDatas, ' this.tableDatas this.tableDatas'); + switch (this.tableFroms.type) { + case '0': + this.columns = [ + { + title: '订单ID', + key: 'orderId', + minWidth: 250, + }, + { + title: '收货人', + key: 'realName', + minWidth: 90, + }, + { + title: '商品数量', + key: 'totalNum', + minWidth: 80, + }, + { + title: '商品总价', + key: 'totalPrice', + minWidth: 90, + }, + { + title: '实付金额', + key: 'payPrice', + minWidth: 90, + }, + { + title: '交易完成时间', + key: 'payTime', + minWidth: 160, + }, + ]; + break; + case '2': + this.columns = [ + { + title: '动作', + key: 'title', + minWidth: 120, + }, + { + title: '获得积分', + key: 'number', + minWidth: 120, + }, + { + title: '签到时间', + key: 'createTime', + minWidth: 120, + }, + { + title: '备注', + key: 'title', + minWidth: 120, + }, + ]; + break; + case '3': + this.columns = [ + { + title: '优惠券名称', + key: 'name', + minWidth: 120, + }, + { + title: '面值', + key: 'money', + minWidth: 120, + }, + { + title: '有效期', + key: 'endTime', + minWidth: 120, + }, + { + title: '最低消费额', + key: 'minPrice', + minWidth: 120, + }, + { + title: '兑换时间', + key: 'updateTime', + minWidth: 120, + }, + ]; + break; + case '4': + this.columns = [ + { + title: '变动金额', + key: 'number', + minWidth: 120, + }, + { + title: '变动后', + key: 'balance', + minWidth: 120, + }, + { + title: '类型', + key: 'title', + minWidth: 120, + }, + { + title: '创建时间', + key: 'add_time', + minWidth: 120, + }, + { + title: '备注', + key: 'mark', + minWidth: 120, + }, + ]; + break; + case '5': + this.columns = [ + { + title: 'ID', + key: 'uid', + minWidth: 120, + }, + { + title: '昵称', + key: 'nickname', + minWidth: 120, + }, + { + title: '等级', + key: 'level', + minWidth: 120, + }, + { + title: '加入时间', + key: 'createTime', + minWidth: 120, + }, + ]; + break; + default: + this.columns = [ + { + title: '账单ID', + key: 'id', + minWidth: 50, + }, + { + title: '订单号', + key: 'orderIdStr', + minWidth: 200, + }, + { + title: '期数', + key: 'installmentNumberStr', + minWidth: 30, + }, + { + title: '还款时间', + key: 'repaymentDeadlineStr', + minWidth: 180, + }, + { + title: '还款金额(元)', + key: 'repaymentAmount', + minWidth: 100, + }, + { + title: '还款方式', + key: 'paymentMethod', + minWidth: 80, + }, + + { + title: '状态', + key: 'repaymentStatus', + minWidth: 80, + }, + + + { + title: '创建时间', + key: 'createTime', + minWidth: 180, + }, + ]; + } + + }) + .catch(() => { + + }); + }, + }, + +}; +</script> + +<style scoped lang="scss"> +.detailbox::-webkit-scrollbar { + width: 10px; +} + +.detailbox::-webkit-scrollbar-track { + background-color: #FFFFFF; +} + +.detailbox::-webkit-scrollbar-thumb { + background-color: #EAF4FF; + border-radius: 10px; + // height: .625rem; +} + +.detailbox::-webkit-scrollbar-thumb:hover { + background-color: #EAF4FF; +} + +.detailbox { + padding: 10px 60px; + width: 100%; + max-height: 670px; + overflow-x: hidden; + overflow-y: auto; + min-height: 600px; + + .titbox { + display: flex; + flex-wrap: nowrap; + align-items: center; + + .tit { + margin-right: 20px; + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 700; + color: #9B9B9B; + cursor: pointer; + } + + .act { + color: #3D3D3D; + font-size: 24px; + } + } + + .info_box { + margin-top: 25px; + width: 100%; + + .info { + display: flex; + flex-wrap: wrap; + + .infoli { + width: 33%; + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #3D3D3D; + line-height: 50px; + } + + .infoimg { + width: 100%; + display: flex; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + + .infoimg_box { + display: flex; + flex-wrap: wrap; + justify-content: center; + width: 305px; + + .noimg { + display: flex; + align-items: center; + justify-content: center; + width: 305px; + height: 181px; + background: #D8D8D8; + border-radius: 10px 10px 10px 10px; + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #959595; + } + + img { + width: 305px; + height: 181px; + border-radius: 10px 10px 10px 10px; + } + + .text { + margin-top: 10px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #3A3A3A; + } + } + } + } + + .tit { + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 700; + color: #3D3D3D; + line-height: 50px; + } + + .addbox { + display: flex; + flex-wrap: wrap; + + .addli { + display: flex; + flex-wrap: nowrap; + + .addtxt { + margin-right: 20px; + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #3D3D3D; + line-height: 50px; + } + } + } + } + + .fkbox { + .titbox { + display: flex; + flex-wrap: nowrap; + align-items: center; + + .tit { + margin-right: 30px; + font-size: 18px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 700; + color: #9B9B9B; + cursor: pointer; + } + + .act { + color: #3D3D3D; + font-size: 22px; + } + } + + img { + width: 100%; + height: auto; + } + + .noreport { + display: flex; + flex-wrap: wrap; + justify-content: center; + + .tip { + margin-top: 200px; + width: 100%; + font-size: 35px; + text-align: center; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #CDCDCD; + } + + .btn { + margin-top: 70px; + display: flex; + align-items: center; + justify-content: center; + width: 216px; + height: 50px; + background: #468DFF; + border-radius: 10px 10px 10px 10px; + + font-size: 20px; + font-family: AlibabaPuHuiTi, AlibabaPuHuiTi; + font-weight: 400; + color: #FFFFFF; + } + } + } +} + +.dashboard-workplace { + &-header { + &-avatar { + width: 64px; + height: 64px; + border-radius: 50%; + margin-right: 16px; + font-weight: 600; + } + + &-tip { + width: 82%; + display: inline-block; + vertical-align: middle; + margin-top: -12px; + + &-title { + font-size: 13px; + color: #000000; + margin-bottom: 12px; + } + + &-desc { + width: 100%; + + &-sp { + width: 32%; + color: #17233d; + font-size: 13px; + display: inline-block; + line-height: 25px; + } + } + } + + &-extra { + .ivu-col { + p { + text-align: right; + } + + p:first-child { + span:first-child { + margin-right: 4px; + } + + span:last-child { + color: #808695; + } + } + + p:last-child { + font-size: 22px; + } + } + } + } +} + +.selWidth { + width: 300px; +} + +.color_red { + color: #f5222d; +} + +.color_green { + color: #7abe5c; +} +</style> + \ No newline at end of file diff --git a/src/views/order/index.vue b/src/views/order/index.vue index 2765784..ab04fab 100644 --- a/src/views/order/index.vue +++ b/src/views/order/index.vue @@ -3,26 +3,16 @@ <el-card class="box-card"> <div class="clearfix"> <div class="container"> - <el-form size="small" - label-width="100px"> + <el-form size="small" label-width="100px"> <el-form-item label="订单类型:"> - <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 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 label="unPaid">未支付 {{ '(' + orderChartType.unPaid ? orderChartType.unPaid : 0 + ')' @@ -54,64 +44,34 @@ }}</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> - <el-form-item label="订单号:" - class="width100"> - <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-form-item label="订单号:" class="width100"> + <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 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" - stripe="true" - border="true" - :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" stripe="true" border="true" :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" @@ -124,15 +84,13 @@ <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 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> @@ -149,13 +107,12 @@ </template> </el-table-column> - <el-table-column label="订单信息" - min-width="210"> + <el-table-column label="订单信息" min-width="210"> <template slot-scope="scope"> <div class="list1"> <div class="img"> <img src="http://img01.taobaocdn.com/bao/uploaded/i1/184783763/O1CN01kpWgHk1dfVJXquPtk_!!0-item_pic.jpg" - alt=""> + alt=""> </div> <div class="info"> @@ -171,22 +128,14 @@ </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="400" - v-if="checkedCities.includes('商品信息')"> + <el-table-column label="商品信息" min-width="400" 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 : '-' @@ -197,12 +146,9 @@ </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> @@ -215,30 +161,19 @@ </el-popover> </template> </el-table-column> - <el-table-column prop="payPrice" - label="实际支付" - min-width="80" - v-if="checkedCities.includes('实际支付')" /> - <el-table-column label="支付方式" - min-width="80" - v-if="checkedCities.includes('支付方式')"> + <el-table-column prop="payPrice" label="实际支付" min-width="80" v-if="checkedCities.includes('实际支付')" /> + <el-table-column label="支付方式" min-width="80" v-if="checkedCities.includes('支付方式')"> <template slot-scope="scope"> <span>{{ scope.row.payTypeStr }}</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"> <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> @@ -246,16 +181,12 @@ <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> @@ -265,31 +196,23 @@ </div> </template> </el-table-column> - <el-table-column prop="createTime" - label="下单时间" - min-width="150" - v-if="checkedCities.includes('下单时间')" /> - <el-table-column label="操作" - min-width="250" - fixed="right" - align="center" - :render-header="renderHeader"> + <el-table-column prop="createTime" label="下单时间" min-width="150" v-if="checkedCities.includes('下单时间')" /> + <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> - <!-- scope.row.uid --> + <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 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-show="scope.row.statusStr.value!='待审核'&&scope.row.statusStr.value!='待签约'">查看合同</el-button> - <el-button size="small" - style="margin-top: 10px;" @click.native="handleDelete(scope.row, scope.$index)">取消订单</el-button> + <el-button size="small" style="margin-top: 10px;" @click="showht(scope.row.contractUrl)" + v-show="scope.row.statusStr.value != '待审核' && scope.row.statusStr.value != '待签约'">查看合同</el-button> + <el-button size="small" style="margin-top: 10px;" + @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" @@ -352,211 +275,121 @@ @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> - <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'])">订单详情</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> <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> </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"> - <div class="pdfCom"> - <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" /> --> + <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> + <!-- <canvas :id="'canvas'+item" v-for="item in pdfHTML" :key="item" /> --> - </div> + </div> </el-dialog> - <el-dialog title="" - :visible.sync="dialogVisibles" - width="1388px" - :before-close="handleClose"> + <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" - :class="detailindex == index ? 'act' : ''" - @click="changeindex(index)">{{ item.tit }}</div> + <div class="tit" v-for="(item, index) in detaillist" :key="index" :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 class="infoli">邮箱:{{ userinfo.detailinfo.email }}</div> + <div class="infoli">身份证号:{{ userinfo.detailinfo.idCardNumber }}</div> </div> <div class="tit"> 订单 </div> - + <!-- <a @click="downloadAndOpenPDF" href="#">下载并打开PDF文件</a> --> <div class="info"> @@ -578,18 +411,14 @@ <div class="text">手持身份证照片</div> </div> --> <div class="infoimg_box" style="margin-right: 200px;"> - <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto==null">身份证正面</div> - <img :src="userinfo.detailinfo.idCardFrontPhoto" - alt="" - v-show="userinfo.detailinfo.idCardFrontPhoto!=''"> + <div class="noimg" v-show="userinfo.detailinfo.idCardFrontPhoto == null">身份证正面</div> + <img :src="userinfo.detailinfo.idCardFrontPhoto" alt="" v-show="userinfo.detailinfo.idCardFrontPhoto != ''"> <div class="text">身份证正面</div> - + </div> <div class="infoimg_box"> - <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto==null">身份证反面</div> - <img :src="userinfo.detailinfo.idCardBackPhoto" - alt="" - v-show="userinfo.detailinfo.idCardBackPhoto!=''"> + <div class="noimg" v-show="userinfo.detailinfo.idCardBackPhoto == null">身份证反面</div> + <img :src="userinfo.detailinfo.idCardBackPhoto" alt="" v-show="userinfo.detailinfo.idCardBackPhoto != ''"> <div class="text">身份证反面</div> </div> </div> @@ -598,15 +427,15 @@ 收货地址: </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}} + 姓名:{{ item.realName }} </div> <div class="addtxt"> - 手机号:{{ item.phone}} + 手机号:{{ item.phone }} </div> <div class="addtxt"> - 收件地址:{{ item.city}} {{ item.district }}{{ item.detail }} + 收件地址:{{ item.city }} {{ item.district }}{{ item.detail }} </div> </div> @@ -614,111 +443,117 @@ <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> </div> - <div class="fkbox" - v-if="detailindex == 3 && userinfo.tlxinfo && userinfo.zwxinfo" > - <div class="titbox" - style="justify-content: center;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="justify-content: center;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> <div v-show="fkxindex == 0"> - <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 class="noreport"> - <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 class="btn" v-show="userinfo.tlxinfo.url == null" @click="tlxReport()">获取报告</div> + <div class="btn" v-show="userinfo.tlxinfo.url != null" @click="tlxReport()">重新获取报告</div> </div> </div> <div v-show="fkxindex == 1"> - <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 class="noreport"> - <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 class="btn" v-show="userinfo.zwxinfo.url == null" @click="zwxReport()">获取报告</div> + <div class="btn" v-show="userinfo.zwxinfo.url != null" @click="zwxReport()">重新获取报告</div> </div> </div> - + </div> - <div class="zdbox" v-if="detailindex!=0 && userinfo && detailindex!=3 " 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> - <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-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" /> + </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"> + </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-popover> + <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"> + <template slot-scope="scope"> + <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-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-popover> + + <!-- <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-column prop="installmentNumber" label="期数" min-width="50" align="center"/> --> + + </el-table> </div> - </el-col> - - </div> </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> @@ -741,7 +576,7 @@ import { orderDetailApi, orderAuditApi } from '@/api/order' import { - getIdentityInfos,getZwxReportCache,getTlxReportCache,infobyconditionApi,getZwxReport,getTlxReport + getIdentityInfos, getZwxReportCache, getTlxReportCache, infobyconditionApi, getZwxReport, getTlxReport, remarkList,remarkUpdata,addRemark,delRemark } from '@/api/user' import zbParser from '@/components/FormGenerator/components/parser/ZBParser'; import detailsFrom from './orderDetail'; @@ -763,40 +598,45 @@ export default { detailsFrom, orderSend, orderVideoSend, - + }, data() { return { detailindex: 0, fkxindex: 0, - userinfo:[ - + userinfo: [ + ], pdfDoc: null, // pdfjs 生成的对象 - pdfHTML: 0, // pdfjs 生成的对象 - pdfUrl: '', + pdfHTML: 0, // pdfjs 生成的对象 + pdfUrl: '', detaillist: [ { tit: '用户基础信息 ' }, { tit: ' 订单记录 ' }, { tit: '账单列表 ' }, - { tit: '分险报告 ' }, + { tit: '风控报告 ' }, + { tit: '余额变动 ' }, { tit: '好友关系 ' }, { tit: '积分明细 ' }, { tit: '签到记录 ' }, { tit: '持有优惠券 ' }, + { tit: '备注' }, + ], - htVisible:false, + htVisible: false, tableFroms: { page: 1, limit: 6, type: '0', userId: '', }, - - + upremake:'', + adremake:'', + visible:false, + visibl:false, dialogVisibles: false, options: [ @@ -864,10 +704,20 @@ export default { limit: 20, type: 3, }, + remarkFrom: { + page: 1, + limit: 6, + type: '0', + uid: '' + }, tableDatas: { data: [], total: 0, }, + remakeData: { + data: [], + total: 0, + }, columns: [], Visible: false, orderChartType: {}, @@ -895,7 +745,7 @@ export default { expressListNormal: [], //全部物流公司 normal expressListElec: [], //全部物流公司 elec orderDetail: null, //订单详情\ - uid:'', + uid: '', }; }, mounted() { @@ -930,132 +780,178 @@ export default { // this.init(obj); // this.htVisible=true // }, - htClose(){ - this.htVisible=false + async upRemake(row){ + console.log(this.upremake,'idididid'); + let data ={ + remark:this.upremake, + + } + let id =row.id + await remarkUpdata(id,data).then((res) => { + this.upremake='' + this.visible=false + this.getremake() + }); }, - - init(fileUrl) { - let _this = this; - PDFJS.getDocument(fileUrl).then(fileContent => { - _this.pdfDoc = fileContent; - _this.pdfHTML = fileContent.numPages; - setTimeout(()=>{ - _this.renderPage(fileContent.numPages); - },100) - }); - }, - renderPage(nums) { - for (let item = 1; item <= nums; item++) { - // 获取页面canvas节点 - let canvas = document.getElementById(`canvas${item}`); - // 获取上下文 - const ctx = canvas.getContext("2d"); - // 获取每一页的内容 - this.pdfDoc.getPage(item).then(page => { - // 文件页面的视图 1倍 - const viewport = page.getViewport(1); - // 将画布宽度设置为视图宽度 - canvas.width = viewport.width; - canvas.height = viewport.height; + delremark(row){ + delRemark(row.id).then((res) => { + + this.getremake() + }); + }, + addremark(){ + let data ={ + remark:this.adremake, + uid:this.uid - const renderContext = { - canvasContext: ctx, - viewport: viewport - }; - console.log(renderContext); - // 渲染页面内容:参数是canvas画布上下文,以及文件视图 - page.render(renderContext); - }); - } + } + addRemark(data).then((res) => { + this.adremake='' + this.visibl=false + this.getremake() + }); + }, + htClose() { + this.htVisible = false + }, + + init(fileUrl) { + let _this = this; + PDFJS.getDocument(fileUrl).then(fileContent => { + _this.pdfDoc = fileContent; + _this.pdfHTML = fileContent.numPages; + setTimeout(() => { + _this.renderPage(fileContent.numPages); + }, 100) + }); + }, + renderPage(nums) { + for (let item = 1; item <= nums; item++) { + // 获取页面canvas节点 + let canvas = document.getElementById(`canvas${item}`); + // 获取上下文 + const ctx = canvas.getContext("2d"); + // 获取每一页的内容 + this.pdfDoc.getPage(item).then(page => { + // 文件页面的视图 1倍 + const viewport = page.getViewport(1); + // 将画布宽度设置为视图宽度 + canvas.width = viewport.width; + canvas.height = viewport.height; + + const renderContext = { + canvasContext: ctx, + viewport: viewport + }; + console.log(renderContext); + // 渲染页面内容:参数是canvas画布上下文,以及文件视图 + page.render(renderContext); + }); + } }, pageChanges(page) { this.tableFroms.page = page; - if(this.detailindex==6){ + if (this.detailindex == 6) { this.integral() - }else{ + } else { this.getInfos(); } - + }, - tlxReport(){ + tlxReport() { console.log("获取天狼星报告") getTlxReport({ userId: this.uid }).then((res) => { // console.log("11111111111111111---------"+JSON.stringify(res)) - this.userinfo.tlxinfo=res + this.userinfo.tlxinfo = res this.$forceUpdate() }); }, - zwxReport(){ + zwxReport() { console.log("获取紫微星报告") getZwxReport({ userId: this.uid }).then((res) => { - this.userinfo.zwxinfo=res + this.userinfo.zwxinfo = res this.$forceUpdate() }); }, handleSizeChanges(val) { this.tableFroms.limit = val; - if(this.detailindex==6){ + if (this.detailindex == 6) { this.integral() - }else{ + } else { this.getInfos(); } }, - getuserinfo(id){ - this.detailindex=0 - this.uid=id - this.tableFroms.userId=id + getuserinfo(id) { + this.detailindex = 0 + this.uid = id + this.tableFroms.userId = id getIdentityInfos(id) .then((res) => { - let detailinfo={} - detailinfo= res - this.userinfo.detailinfo=detailinfo - - this.dialogVisibles=true + let detailinfo = {} + detailinfo = res + this.userinfo.detailinfo = detailinfo + + this.dialogVisibles = true }) .catch((res) => { this.loading = false; }); - getTlxReportCache(id) + getTlxReportCache(id) .then((res) => { - this.userinfo.tlxinfo=res + this.userinfo.tlxinfo = res }) .catch((res) => { - + }); - getZwxReportCache(id) + getZwxReportCache(id) .then((res) => { - this.userinfo.zwxinfo=res + this.userinfo.zwxinfo = res }) .catch((res) => { - + }); - console.log(this.userinfo,'detailinfodetailinfodetailinfo'); + console.log(this.userinfo, 'detailinfodetailinfodetailinfo'); }, changeindex(index) { + console.log(index, 'indexindexindex'); this.detailindex = index - if(index==2){ - this.tableFroms.type='6' + if (index == 2) { + this.tableFroms.type = '6' this.getInfos() - }else if(index==1){ - this.tableFroms.type='0' + } else if (index == 1) { + this.tableFroms.type = '0' this.getInfos() - }else if(index==4){ - this.tableFroms.type='4' + } else if (index == 4) { + this.tableFroms.type = '4' this.getInfos() - }else if(index==5){ - this.tableFroms.type='5' + } else if (index == 5) { + this.tableFroms.type = '5' this.getInfos() - }else if(index==6){ + } else if (index == 6) { // this.tableFroms.type='2' this.integral() - }else if(index==7){ - this.tableFroms.type='2' + } else if (index == 7) { + this.tableFroms.type = '2' this.getInfos() - }else if(index==8){ - this.tableFroms.type='3' + } else if (index == 8) { + this.tableFroms.type = '3' this.getInfos() + } else if (index == 9) { + this.getremake() } }, + getremake() { + this.remarkFrom.uid = this.uid + remarkList(this.remarkFrom) + .then((res) => { + this.remakeData.data = res.list; + this.remakeData.total = res.total; + + }) + .catch(() => { + + }); + }, integral() { this.loading = true; integralListApi({ limit: this.tableFroms.limit, page: this.tableFroms.page }, { uid: this.uid }) @@ -1095,12 +991,12 @@ export default { this.loading = false; }); }, - getInfos(){ + getInfos() { infobyconditionApi(this.tableFroms) .then((res) => { this.tableDatas.data = res.list; this.tableDatas.total = res.total; - console.log( this.tableDatas,' this.tableDatas this.tableDatas'); + console.log(this.tableDatas, ' this.tableDatas this.tableDatas'); switch (this.tableFroms.type) { case '0': this.columns = [ @@ -1274,14 +1170,14 @@ export default { key: 'paymentMethod', minWidth: 80, }, - + { title: '状态', key: 'repaymentStatus', minWidth: 80, }, - - + + { title: '创建时间', key: 'createTime', @@ -1289,10 +1185,10 @@ export default { }, ]; } - + }) .catch(() => { - + }); }, resetFormRefundhandler() { @@ -1714,12 +1610,14 @@ export default { .pdfCom::-webkit-scrollbar-thumb:hover { background-color: #EAF4FF; } -.pdfCom{ + +.pdfCom { margin: 20px auto; max-height: 600px; overflow-x: hidden; overflow-y: auto; } + .detailbox::-webkit-scrollbar { width: 10px; } @@ -2046,4 +1944,5 @@ export default { .el-form-item__content { float: right; -}</style> +} +</style>