Browse Source

合并代码

lihuilin/feature-20250923114949-现金
ZhangYong 1 month ago
parent
commit
b25958c58e
  1. 4
      .env.development
  2. 75
      src/views/moneyManage/receiveDetail/receiveDetail.vue
  3. 113
      src/views/moneyManage/receiveDetail/utils/recriveFormRules.js

4
.env.development

@ -1,4 +1,4 @@
# VITE_API_BASE='https://hwjb.homilychart.com/dev/admin'
VITE_API_BASE='https://hwjb.homilychart.com/dev/admin'
# 测试环境
# VITE_API_BASE='http://54.255.212.181:10704/'
# 正式环境
@ -11,7 +11,7 @@ VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload
# zhangyong
# VITE_API_BASE='http://192.168.3.83:8081/'
# 本地
VITE_API_BASE='http://localhost:8081/'
# VITE_API_BASE='http://localhost:8081/'
# sunjiabei
# VITE_API_BASE='http://192.168.1.70:8081/'

75
src/views/moneyManage/receiveDetail/receiveDetail.vue

@ -178,7 +178,7 @@
v-if="!kefu && activeTab == 'pass' || activeTab == 'reject' || activeTab == 'done'"
width="150px" show-overflow-tooltip></el-table-column>
<el-table-column prop="receivedTime" label="到账时间"
v-if="caiwu && activeTab == 'pass' || activeTab == 'done'" width="180px">
v-if="!kefu && activeTab == 'pass' || activeTab == 'done'" width="180px">
</el-table-column>
<el-table-column prop="remark" label="备注" v-if="activeTab != 'reject'" width="150px"
show-overflow-tooltip></el-table-column>
@ -282,27 +282,28 @@
</div>
<!-- 客服新增弹窗 -->
<el-dialog class="adddialog" v-model="addFormisible" width="20vw" :before-close="closeAddForm">
<el-form class="addForm" label-width="4vw" label-position="left">
<el-form-item label="精网号" required>
<el-form class="addForm" ref="addFormRef" :rules="addFormRule" :model="addFormData" label-width="4vw"
label-position="left">
<el-form-item label="精网号" required prop="jwcode">
<el-input v-model="addFormData.jwcode" placeholder="请输入精网号" @blur="jwcodeSeachMarket" />
</el-form-item>
<el-form-item label="客户姓名" required>
<el-form-item label="客户姓名" required prop="name">
<el-input disabled="true" v-model="addFormData.name" placeholder="请输入客户姓名" />
</el-form-item>
<el-form-item label="所属地区" required>
<el-form-item label="所属地区" required prop="market">
<el-input disabled="true" v-model="addFormData.market" :value="addFormData.marketName"
placeholder="请输入所属地区" />
</el-form-item>
<el-form-item label="活动名称" required>
<el-form-item label="活动名称" required prop="activity">
<el-input v-model="addFormData.activity" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="产品名称" required @change="ifGold">
<el-form-item label="产品名称" required @change="ifGold" prop="goodsName">
<ProductSelect ref="productSelectRef" v-model="addFormData.goodsName"></ProductSelect>
</el-form-item>
<el-form-item v-show="!isGold" label="产品数量" required>
<el-form-item v-show="!isGold" label="产品数量" required prop="goodNum">
<div style="padding-right: 50px; display: flex;">
<el-input style="padding-right: 10px;" v-model="addFormData.goodNum" placeholder="请输入产品数量" />
<span style="color: #999999;"></span>
<span style="color: #999999;">{{ productUnit }}</span>
</div>
</el-form-item>
<div v-show="isGold" style="margin-bottom: 15px; display: flex;">
@ -319,28 +320,28 @@
v-model="addFormData.freeGold" />
</div>
</div>
<el-form-item label="付款币种" required>
<el-form-item label="付款币种" required prop="paymentCurrency">
<CurrencySelect v-model="addFormData.paymentCurrency" :items="customOptions" placeholder="请选择付款币种"
@change="handleCurrencyChange" />
</el-form-item>
<el-form-item label="付款金额" required>
<el-form-item label="付款金额" required prop="paymentAmount">
<el-input v-model="addFormData.paymentAmount" placeholder="请输入付款金额" />
</el-form-item>
<el-form-item label="支付方式" required>
<el-form-item label="支付方式" required prop="payType">
<CurrencySelect v-model="addFormData.payType" :items="paytypeOptions" placeholder="请选择支付方式"
@change="ifGroup">
</CurrencySelect>
</el-form-item>
<el-form-item label="到账地区" required>
<el-form-item label="到账地区" required prop="receivedMarket">
<CurrencySelect v-model="addFormData.receivedMarket" :items="MoneyAddressOptions"
:disabled="isGroup" placeholder="请选择到账地区">
</CurrencySelect>
</el-form-item>
<el-form-item label="付款时间" required>
<el-form-item label="付款时间" required prop="payTime">
<el-date-picker type="datetime" placement="right" v-model="addFormData.payTime"
placeholder="请选择付款时间" />
</el-form-item>
<el-form-item label="转账凭证" required>
<el-form-item label="转账凭证" required prop="voucher">
<div class="pic">
<el-upload ref="uploadRef" class="uploader" :show-file-list="false" list-type="picture-card"
:auto-upload="false" :before-upload="beforeUpload" :on-error="handelImgErr"
@ -353,7 +354,7 @@
</el-upload>
</div>
</el-form-item>
<el-form-item label="备注" required>
<el-form-item label="备注" required prop="remark">
<el-input v-model="addFormData.remark" type="textarea" :rows="4" placeholder="请输入备注" maxlength="100"
show-word-limit />
</el-form-item>
@ -533,15 +534,16 @@
</el-form>
</div>
<div class="right">
<el-form class="editFormRighrt" label-width="4.5vw" label-position="left">
<el-form ref="editFormRef" :rules="editFormRule" :model="editFormData" class="editFormRighrt"
label-width="4.5vw" label-position="left">
<el-form-item label="到账货币">
<CurrencySelect v-model="editFormData.receivedCurrency" :items="customOptions"
placeholder="请选择到账货币" />
</el-form-item>
<el-form-item label="到账金额">
<el-form-item label="到账金额" prop="receivedAmount">
<el-input v-model="editFormData.receivedAmount" placeholder="请输入到账金额" />
</el-form-item>
<el-form-item label="手续费">
<el-form-item label="手续费" prop="handlingCharge">
<el-input v-model="editFormData.handlingCharge" placeholder="请输入手续费" />
</el-form-item>
<!-- <el-form-item label="银行流水订单号">
@ -675,6 +677,7 @@ const adminStore = useAdminStore();
const { menuTree } = storeToRefs(adminStore);
console.log('menutree', menuTree.value);
import _ from 'lodash'
import { addFormRule, editFormRule } from './utils/recriveFormRules.js'
//===================== =================================
const tableData = ref([])
const searchData = ref({
@ -735,6 +738,13 @@ const getlist = async () => {
}
} else if (HQcaiwu.value) {
cashRoleId = '2'
console.log('ctiveTab.value', activeTab.value);
if (activeTab.value == 'pass') {
searchData.value.status = 13
} else if (activeTab.value == 'done') {
searchData.value.status = 46
}
}
const result = await request({
url: '/cashCollection/selectCollection',
@ -821,12 +831,33 @@ const addFormData = ref({
freeGold: 0,
goodsName: ''
})
const addFormRef = ref(null)
const isGold = ref(false)
const isProduct = ref(false)
const selectItems = [
"AI机构追踪",
"AI机构出击",
"AI机构资金",
"AI机活跃度",
"超级机构透视",
"超级机构伏击",
"超级机构猎杀",
"超级机构脉搏",
"超级机构罗盘",
"静态信息费",
"博股会员"
];
const productUnit = ref('个')
const ifGold = () => {
if (addFormData.value.goodsName == '金币充值') {
isGold.value = true
} else {
isGold.value = false
if (selectItems.includes(addFormData.value.goodsName)) {
productUnit.value = '年'
} else {
productUnit.value = '个'
}
}
}
const isEditGold = ref(false)
@ -904,10 +935,12 @@ const closeAddForm = () => {
addFormData.value = {}
addOrEdit.value = 0
isGold.value = false
addFormRef.value?.resetFields();
}
//
const handleAddForm = async () => {
try {
await addFormRef.value.validate();
if (addFormData.value.payTime) {
addFormData.value.payTime = moment(addFormData.value.payTime).format('YYYY-MM-DD HH:mm:ss')
}
@ -936,6 +969,7 @@ const handleAddForm = async () => {
console.log('返回参数:', result);
} catch (error) {
console.log(error);
ElMessage.error('请完善表单信息后提交');
}
}
//
@ -1177,6 +1211,7 @@ const editFormData = ref({
const ifOnline = ref(false)
const editFormisible = ref(false)
const editFormRef = ref(null)
const openEditForm = (row) => {
console.log('编辑时该行数据:', row);
editFormData.value = row
@ -1196,6 +1231,7 @@ const closeEditForm = () => {
//
const submitEditForm = async () => {
try {
await editFormRef.value.validate();
if (editFormData.value.receivedTime) {
editFormData.value.receivedTime = moment(editFormData.value.receivedTime).format('YYYY-MM-DD HH:mm:ss')
}
@ -1220,6 +1256,7 @@ const submitEditForm = async () => {
console.log('返回参数:', result);
} catch (error) {
console.log(error);
ElMessage.error('请检查表单数据格式');
}
}
//================== =========================

113
src/views/moneyManage/receiveDetail/utils/recriveFormRules.js

@ -0,0 +1,113 @@
export const addFormRule = {
// 精网号:6-10位纯数字
jwcode: [
{ required: true, message: '请输入精网号', trigger: 'blur' },
{ pattern: /^\d{6,10}$/, message: '请检查精网号格式', trigger: 'blur' }
],
// 客户姓名:必填
name: [
{ required: true, message: '请输入客户姓名', trigger: 'blur' }
],
// 所属地区:必填
marketName: [
{ required: true, message: '请选择所属地区', trigger: 'blur' }
],
// 活动名称:必填 + 长度小于30
activity: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ max: 30, message: '活动名称长度不能超过30个字符', trigger: 'blur' }
],
// 产品名称:必填
goodsName: [
{ required: true, message: '请选择产品名称', trigger: 'change' }
],
// 产品数量:0-100纯数字
goodNum: [
{ required: true, message: '请输入产品数量', trigger: 'blur' },
],
// 永久金币:纯数字(非必填,可按需调整)
permanentGold: [
{
validator: (rule, value, callback) => {
if (value && !/^\d+$/.test(value)) {
callback(new Error('请输入纯数字'));
} else {
callback();
}
}, trigger: 'blur'
}
],
// 免费金币:纯数字(非必填,可按需调整)
freeGold: [
{
validator: (rule, value, callback) => {
if (value && !/^\d+$/.test(value)) {
callback(new Error('请输入纯数字'));
} else {
callback();
}
}, trigger: 'blur'
}
],
// 付款币种:必填
paymentCurrency: [
{ required: true, message: '请选择付款币种', trigger: 'change' }
],
// 付款金额:小于8位纯数字 + 不为0
paymentAmount: [
{ required: true, message: '请输入付款金额', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (!/^\d+$/.test(value)) {
callback(new Error('请输入纯数字'));
} else if (value.length >= 8) {
callback(new Error('付款金额不能超过7位数字'));
} else if (Number(value) === 0) {
callback(new Error('付款金额不能为0'));
} else {
callback();
}
}, trigger: 'blur'
}
],
// 支付方式:必填
payType: [
{ required: true, message: '请选择支付方式', trigger: 'change' }
],
// 到账地区:必填
receivedMarket: [
{ required: true, message: '请选择到账地区', trigger: 'change' }
],
// 付款时间:必填
payTime: [
{ required: true, message: '请选择付款时间', trigger: 'change' }
],
// 转账凭证:必填
voucher: [
{ required: true, message: '请上传转账凭证', trigger: 'change' }
],
// 备注:必填
remark: [
{ required: true, message: '请输入备注', trigger: 'blur' }
]
};
//填手续费校验规则
export const editFormRule = {
// 到账金额:最大6位(整数部分最多4位,小数2位),支持两位小数
receivedAmount: [
{
pattern: /^\d{1,6}(\.\d{1,2})?$/,
message: '请检查到账金额格式',
trigger: 'blur'
}
],
// 手续费:同到账金额规则
handlingCharge: [
{
pattern: /^\d{1,6}(\.\d{1,2})?$/,
message: '请检查手续费格式',
trigger: 'blur'
}
],
};
Loading…
Cancel
Save