Browse Source

0接口

lihuilin/feature-20250923114949-现金
lihuilin 1 week ago
parent
commit
aac94047b3
  1. BIN
      src/assets/images/撤回.png
  2. 231
      src/views/moneyManage/executor/executor.vue
  3. 91
      src/views/moneyManage/refundDetail/refundDetail.vue

BIN
src/assets/images/撤回.png

After

Width: 700  |  Height: 392  |  Size: 228 KiB

231
src/views/moneyManage/executor/executor.vue

@ -1,5 +1,60 @@
<template>
<el-table :data="tableData" style="height:80vh;width:82vw">
<el-card style="margin-bottom: 0.5vh;">
<div class="condition1">
<div class="condition-item">
<el-text size="large" style="width:4vw;">姓名</el-text>
<el-input v-model="searchForm.username" placeholder="请输入姓名" style="width:10vw;" clearable />
</div>
<div class="condition-item">
<el-text size="large" style="width:4vw;">精网号</el-text>
<el-input v-model="searchForm.jwcode" placeholder="请输入精网号" style="width:10vw;" clearable />
</div>
<div class="condition-item">
<el-text size="large" style="width:4vw;">所属地区</el-text>
<el-input v-model="searchForm.area" placeholder="请输入所属地区" style="width:10vw;" clearable />
</div>
<div class="condition-item2">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.productName" placeholder="请输入产品名称" style="width:10vw;" clearable />
</div>
<div class="condition-item">
<el-text size="large" style="width:4vw;">退款币种</el-text>
<el-select v-model="searchForm.payType" style="width:10vw;">
<el-option v-for="item in payments" :key="item" :label="item" :value="item" />
</el-select>
</div>
</div>
<div class="condition1">
<div class="condition-item2">
<el-text size="large" style="width:4vw;">退款途径</el-text>
<el-select v-model="searchForm.auditStatus" style="width:10vw;">
<el-option v-for="item in auditStatusOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
<div class="condition-item2">
<el-text size="large" style="width:4vw;">订单状态</el-text>
<el-input v-model="searchForm.productName" placeholder="请输入订单状态" style="width:10vw;" clearable />
</div>
<div class="condition-item2" style="width: 30vw;">
<el-text size="large" style="width:4vw;">付款时间</el-text>
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width:22vw;" @change="handleDatePickerChange"
:disabled-date="disabledDate" />
</div>
<div>
<el-button type="success">重置</el-button>
<el-button type="primary">查询</el-button>
<el-button type="warning">导出excel</el-button>
<el-button type="primary">查看导出列表</el-button>
</div>
</div>
</el-card>
<div style="height:4vh;">
<el-button type="primary" @click="showEdit = true">新增</el-button>
</div>
<el-card>
<el-table :data="tableData" style="height:60vh;width:82vw">
<el-table-column type="index" label="序号" width="60" fixed="left" />
<el-table-column prop="name" label="Homily ID" width="120" fixed="left" />
<el-table-column prop="jwcode" label="姓名" width="120" fixed="left" show-overflow-tooltip />
@ -40,7 +95,114 @@
<el-pagination v-model:current-page="pagination.pageNum" v-model:page-size="pagination.pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="pagination.total" style="margin-top: 1vh;"
@size-change="handlePageSizeChange" @current-change="handleCurrentChange" />
</el-card>
<el-dialog v-model="showEdit" class="edit" overflow draggable style="width: 40vw;">
<div style="display: flex;">
<div class="left">
<div class="dialog-item">
<el-text style="width:4vw;">精网号</el-text>
<el-input v-model="editForm.jwcode" placeholder="请输入精网号" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">客户姓名</el-text>
<el-input v-model="editForm.name" placeholder="请输入客户姓名" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">所属地区</el-text>
<el-input v-model="editForm.market" placeholder="请输入所属地区" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">产品名称</el-text>
<el-input v-model="editForm.orderCode" placeholder="请输入产品名称" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款类型</el-text>
<el-select v-model="editForm.refundType" placeholder="请选择退款类型" style="width:10vw;" clearable>
<el-option v-for="item in products" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款币种</el-text>
<el-select v-model="editForm.refundCurrency" placeholder="请选择付款币种" style="width:10vw;" clearable>
<el-option v-for="item in currencies" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款金额</el-text>
<el-input v-model="editForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">支付方式</el-text>
<el-select v-model="editForm.paymentMethod" placeholder="请选择支付方式" style="width:10vw;">
<el-option v-for="item in payments" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款时间</el-text>
<el-date-picker v-model="editForm.payTime" type="datetime" placeholder="请选择付款时间" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">提交人</el-text>
<el-input v-model="editForm.submitter" placeholder="请输入提交人" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">转账凭证</el-text>
<el-form-item :rules="{ required: true, message: '请上传图片', trigger: 'change' }">
<el-upload ref="uploadRef" list-type="picture-card" :auto-upload="false"
:http-request="customUpload" :on-change="handleImageChange"
:on-success="handleUploadSuccess" :on-error="handleUploadError"
:before-upload="beforeUpload" :show-file-list="false">
<template #default>
<img v-if="editForm.imageUrl" :src="editForm.imageUrl"
style="width: 100%; height: 100%; object-fit: cover;">
<el-icon v-else>
<Plus />
</el-icon>
</template>
</el-upload>
</el-form-item>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">备注</el-text>
<el-input v-model="editForm.remark" placeholder="请输入备注" style="width:10vw;" :row="3"
maxlength="100" type="textarea" show-word-limit clearable />
</div>
</div>
<div class="right">
<div class="dialog-item">
<el-text style="width:4vw;">退款币种</el-text>
<el-select v-model="editForm.refundCurrency" placeholder="请选择退款币种" style="width:10vw;">
<el-option v-for="item in currencies" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款金额</el-text>
<el-input v-model="editForm.refundAmount" placeholder="请输入退款金额" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款途径</el-text>
<el-select v-model="editForm.refundWay" placeholder="请选择退款途径" style="width:10vw;">
<el-option v-for="item in refundWays" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款时间</el-text>
<el-date-picker v-model="editForm.refundTime" type="datetime" placeholder="请选择退款时间" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">备注</el-text>
<el-input v-model="editForm.remark" placeholder="请输入备注" style="width:10vw;" :rows="3"
maxlength="100" show-word-limit type="textarea" clearable />
</div>
<div style="display:flex;justify-content: center;margin-top: 5vh;">
<el-button type="default" @click="" style="margin-right: 2vw;">取消</el-button>
<el-button type="primary" @click="">提交</el-button>
</div>
</div>
</div>
</el-dialog>
</template>
<script setup>
import { ref } from 'vue'
@ -53,4 +215,69 @@ const pagination = ref({
pageSize: 50,
total: 0
})
</script>
const searchForm = ref({
jwcode: ''
})
const showEdit = ref(false)
const editForm = ref({
jwcode: ''
})
</script>
<style scoped>
.condition1 {
width: 82vw;
display: flex;
align-items: center;
height: 4vh;
.condition-item {
width: 19%;
display: flex;
align-items: center;
margin-bottom: 1vh;
margin-right: 0.5vw;
}
.condition-item2 {
width: 19%;
display: flex;
align-items: center;
margin-right: 0.5vw;
}
}
.edit {
.left {
width: 45%;
height: 60vh;
padding: 0 2vw;
.dialog-item {
display: flex;
align-items: center;
margin-bottom: 1vh;
}
.image {
width: 4vw !important;
height: 4vw !important;
}
:deep(.el-upload--picture-card) {
width: 4vw !important;
height: 4vw !important;
padding: 0 !important;
}
}
.right {
width: 50%;
.dialog-item {
display: flex;
align-items: center;
margin-bottom: 1vh;
}
}
}
</style>

91
src/views/moneyManage/refundDetail/refundDetail.vue

@ -42,17 +42,19 @@
<div>
<el-button type="success">重置</el-button>
<el-button type="primary">查询</el-button>
<el-button type="primary">导出excel</el-button>
<el-button type="primary">导出列表</el-button>
<el-button type="warning">导出excel</el-button>
<el-button type="primary">查看导出列表</el-button>
</div>
</div>
</el-card>
<div style="display: flex;">
<el-button type="primary" @click="showAdd = true">新增退款</el-button>
<el-button type="primary" @click="showAdd = true">地区客服编辑</el-button>
<el-button type="primary" @click="showAudit1 = true">审核1</el-button>
<el-button type="primary" @click="showAudit2 = true">审核2</el-button>
<el-button type="primary" @click="showSteps = true">看看步骤条</el-button>
<el-button type="primary" @click="showBack = true">看看撤回</el-button>
<el-button type="primary" @click="showError = true">退款金额有误</el-button>
</div>
<el-card style="margin-top: 0.5vh;">
@ -130,10 +132,6 @@
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款金额</el-text>
<el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款币种</el-text>
<el-select v-model="addForm.refundCurrency" placeholder="请选择付款币种" style="width:10vw;" clearable>
<el-option v-for="item in currencies" :key="item.value" :label="item.label"
@ -141,12 +139,20 @@
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款金额</el-text>
<el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">支付方式</el-text>
<el-select v-model="addForm.paymentMethod" placeholder="请选择支付方式" style="width:10vw;">
<el-option v-for="item in payments" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款时间</el-text>
<el-date-picker v-model="addForm.paymentTime" type="datetime" placeholder="请选择付款时间" />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">转账凭证</el-text>
<el-form-item :rules="{ required: true, message: '请上传图片', trigger: 'change' }">
<el-upload ref="uploadRef" list-type="picture-card" :auto-upload="false"
@ -165,7 +171,7 @@
</div>
<div class="dialog-item">
<el-text style="width:4vw;">备注</el-text>
<el-input v-model="addForm.remark" placeholder="请输入备注" style="width:10vw;" clearable />
<el-input v-model="addForm.remark" placeholder="请输入备注" style="width:10vw;" :rows="3" type="textarea" maxLength="100" clearable />
</div>
</div>
<div class="right">
@ -179,10 +185,11 @@
<div class="dialog-item">
<el-text style="width:4vw;">退款理由</el-text>
<el-input v-model="addForm.refundReason" placeholder="请输入退款理由" style="width:10vw;" :rows="5"
maxlength="100" show-word-limit type="textarea" />
maxlength="150" show-word-limit type="textarea" />
</div>
<div>ps:请在备注中表明用户的退款需求</div>
<div style="display:flex;justify-content: center;margin-top: 5vh;">
<el-button type="primary" @click="">重置</el-button>
<el-button type="default" @click="">重置</el-button>
<el-button type="primary" @click="">提交</el-button>
</div>
</div>
@ -376,15 +383,15 @@
<el-button @click="" class="smallTitle" size="small">转交信息</el-button>
<div class="bottom">
<div class="dialog-item">
<el-text style="width:4vw;">执行人</el-text>
<el-select v-model="addForm.executor" placeholder="请选择执行人" style="width:10vw;">
<el-text style="width:4vw;" size="small">执行人</el-text>
<el-select v-model="addForm.executor" size="small" placeholder="请选择执行人" style="width:10vw;">
<el-option v-for="item in executor" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
</div>
</el-dialog>
<el-dialog v-model="showSteps" title="唉!!!" overflow draggable width="1206px" height="506px" class="steps-dialog"
<el-dialog v-model="showSteps" title="唉!!!" overflow draggable width="1206px" height="506px"
:style="{
backgroundImage: 'url(/src/assets/images/背景图.png)',
backgroundSize: 'cover',
@ -436,6 +443,32 @@
</div>
</div>
</el-dialog>
<el-dialog v-model="showBack" title="撤回退款" overflow draggable class="back-dialog"
:style="{
backgroundImage: 'url(/src/assets/images/撤回.png)',
backgroundSize: 'cover',
backgroundPosition: 'center'
}">
<div class="back-text"> </div>
<div class="back-btn">
<el-button type="default" @click="showBack = false">取消</el-button>
<el-button type="primary" @click="" style="margin-left: 2vw;">确定</el-button>
</div>
</el-dialog>
<el-dialog v-model="showError" overflow draggable class="back-dialog"
:style="{
backgroundImage: 'url(/src/assets/images/撤回.png)',
backgroundSize: 'cover',
backgroundPosition: 'center'
}">
<div class="back-text">退 </div>
<div class="back-btn">
<el-button type="default" @click="showError = false">取消</el-button>
<el-button type="primary" @click="" style="margin-left: 2vw;">确定</el-button>
</div>
</el-dialog>
</template>
<script setup>
import { ref } from 'vue'
@ -462,6 +495,8 @@ const showAudit1 = ref(false)
const showAudit2 = ref(false)
const showSteps = ref(false)
const uploadRef = ref(null)
const showBack = ref(false)
const showError = ref(false)
const executor = ref([
{
value: '1',
@ -631,6 +666,7 @@ const customUpload = async (options) => {
.condition1 {
width: 82vw;
display: flex;
align-items: center;
height: 4vh;
.condition-item {
@ -652,7 +688,7 @@ const customUpload = async (options) => {
.addDialog {
.left {
width: 50%;
height: 60vh;
height: 65vh;
padding: 0 2vw;
.dialog-item {
@ -746,6 +782,12 @@ const customUpload = async (options) => {
width: 30vw;
height: 5vh;
}
.dialog-item {
display: flex;
align-items: center;
margin-bottom: 1vh;
}
}
.steps {
@ -771,4 +813,25 @@ const customUpload = async (options) => {
align-items: center;
}
}
.back-dialog{
width: 700px;
height:auto;
.back-text{
font-size: 60px;
font-weight: bold;
color: #000000;
text-align: center;
justify-content: center;
margin-top: 22vh;
}
.back-btn{
height: 20vh;
display: flex;
justify-content: center;
align-items: center;
}
}
</style>
Loading…
Cancel
Save