Merge remote-tracking branch 'origin/master'

This commit is contained in:
zjf committed 2025-02-28 22:07:40 +08:00
commit c7d5f372a6
6 files changed
+45 -63

No files matched your search

+1 -1
View File
@@ -295,7 +295,7 @@ const resetQuery = () => {
selectObjs.value = [] selectObjs.value = []
state.queryForm.deptId = "" state.queryForm.deptId = ""
state.queryForm.deptIds = [] state.queryForm.deptIds = []
draggableDepTreeRef.value.resetData() // draggableDepTreeRef.value.resetData()
getDataList() getDataList()
} }
@@ -31,9 +31,22 @@
> >
<vxe-column type="checkbox" width="40" fixed="left" /> <vxe-column type="checkbox" width="40" fixed="left" />
<vxe-column type="seq" width="50" fixed="left" /> <vxe-column type="seq" width="50" fixed="left" />
<vxe-column field="barCode" title="条码" :edit-render="{ autoFocus: 'input', placeholder: '请输入' }"> <vxe-column field="unit" title="单位" :edit-render="{}">
<template #edit="{ row }"> <template #edit="{ row }">
<el-input v-model.trim="row.barCode" /> <el-select v-model="row.unit">
<div v-for="item in smErpUnitEntityList">
<el-option v-if="item.unit !== ''" :label="item.unit" :value="item.unit" />
</div>
</el-select>
</template>
<template #default="{ row }">
<span v-if="row.unit">{{ row.unit }}</span>
<span v-else style="color: #c0c4cf">请选择</span>
</template>
</vxe-column>
<vxe-column field="barCode" title="条码">
<template #default="{ row }">
{{ smErpUnitEntityList?.find((item: any) => item.unit == row.unit)?.barCode }}
</template> </template>
</vxe-column> </vxe-column>
</vxe-table> </vxe-table>
@@ -47,20 +60,27 @@ const supermarketAuxiliaryCodeEntityList = defineModel("supermarketAuxiliaryCode
default: [ default: [
{ {
id: nanoid(5), id: nanoid(5),
unit: "",
barCode: "", barCode: "",
}, },
], ],
}) })
defineProps<{
smErpUnitEntityList: any[]
}>()
const editableTableRef = ref() const editableTableRef = ref()
const validRules = { const validRules = {
barCode: [{ required: true, message: "条码不能为空", trigger: "blur" }], unit: [{ required: true, message: "包装单位不能为空", trigger: "blur" }],
// barCode: [{ required: true, message: "条码不能为空", trigger: "blur" }],
} }
// 底部表格行新增 // 底部表格行新增
const pushEvent = () => { const pushEvent = () => {
const newRow: any = { const newRow: any = {
id: nanoid(5), id: nanoid(5),
unit: "",
barCode: "", barCode: "",
isNew: true, isNew: true,
} }
@@ -59,7 +59,7 @@
<el-input v-model.trim="row.unit" /> <el-input v-model.trim="row.unit" />
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="status" title="状态" :edit-render="{ autoFocus: 'input', placeholder: '请选择' }"> <vxe-column field="status" title="状态" :edit-render="{}">
<template #edit="{ row }"> <template #edit="{ row }">
<el-select v-model="row.status"> <el-select v-model="row.status">
<el-option label="正常" :value="0" /> <el-option label="正常" :value="0" />
@@ -138,6 +138,7 @@
<el-tab-pane label="辅助条码" name="辅助条码" style="overflow-y: auto; height: 60vh"> <el-tab-pane label="辅助条码" name="辅助条码" style="overflow-y: auto; height: 60vh">
<supermarket-auxiliaryCode <supermarket-auxiliaryCode
ref="supermarketAuxiliaryCodeEntityList" ref="supermarketAuxiliaryCodeEntityList"
:smErpUnitEntityList="form.smErpUnitEntityList"
v-model:supermarketAuxiliaryCodeEntityList="form.smErpAuxiliaryCodeEntityList" v-model:supermarketAuxiliaryCodeEntityList="form.smErpAuxiliaryCodeEntityList"
/> />
</el-tab-pane> </el-tab-pane>
@@ -330,6 +331,8 @@ const useHandleUnit = () => {
// 整理辅助条码列表 // 整理辅助条码列表
const useHandleAuxiliaryCode = () => { const useHandleAuxiliaryCode = () => {
return form.smErpAuxiliaryCodeEntityList.map((item: any) => { return form.smErpAuxiliaryCodeEntityList.map((item: any) => {
const barCode = form.smErpUnitEntityList.find((item2: any) => item2.unit === item.unit).barCode
item.barCode = barCode
if (item.isNew) { if (item.isNew) {
item.id = "" item.id = ""
delete item.isNew delete item.isNew
@@ -340,8 +343,6 @@ const useHandleAuxiliaryCode = () => {
// 提交 // 提交
const onSubmit = async () => { const onSubmit = async () => {
console.log("提交的数据", form)
const valid = await dataFormRef.value.validate().catch(() => {}) const valid = await dataFormRef.value.validate().catch(() => {})
if (!valid) return useMessage().warning("基础信息必填项未填写完整") if (!valid) return useMessage().warning("基础信息必填项未填写完整")
if (!form.smErpUnitEntityList || form.smErpUnitEntityList.length <= 0) return useMessage().warning("请添加包装单位") if (!form.smErpUnitEntityList || form.smErpUnitEntityList.length <= 0) return useMessage().warning("请添加包装单位")
@@ -353,6 +354,8 @@ const onSubmit = async () => {
const handleUnit = useHandleUnit() const handleUnit = useHandleUnit()
const handleAuxiliaryCode = useHandleAuxiliaryCode() const handleAuxiliaryCode = useHandleAuxiliaryCode()
console.log("提交的数据", { ...form, smErpUnitEntityList: handleUnit, smErpAuxiliaryCodeEntityList: handleAuxiliaryCode })
try { try {
loading.value = true loading.value = true
const _pa = { ...form, smErpUnitEntityList: handleUnit, smErpAuxiliaryCodeEntityList: handleAuxiliaryCode } const _pa = { ...form, smErpUnitEntityList: handleUnit, smErpAuxiliaryCodeEntityList: handleAuxiliaryCode }
+12 -56
View File
@@ -17,8 +17,8 @@
<el-form-item style="width: 300px" label="用户" prop="userId"> <el-form-item style="width: 300px" label="用户" prop="userId">
<select-user v-model="state.queryForm.userId" /> <select-user v-model="state.queryForm.userId" />
</el-form-item> </el-form-item>
<el-form-item style="width: 200px" label="饭卡卡号" prop="cardNumber"> <el-form-item style="width: 200px" label="饭卡类型" prop="walletTypeId">
<el-input v-model="state.queryForm.cardNumber" placeholder="饭卡卡号" clearable /> <select-wallet-type v-model="state.queryForm.walletTypeId" placeholder="饭卡类型" clearable />
</el-form-item> </el-form-item>
<el-form-item style="width: 200px" label="月份" prop="walletRecordMonth"> <el-form-item style="width: 200px" label="月份" prop="walletRecordMonth">
<el-date-picker <el-date-picker
@@ -29,9 +29,6 @@
placeholder="选择月份" placeholder="选择月份"
/> />
</el-form-item> </el-form-item>
<el-form-item style="width: 200px" label="饭卡类型" prop="walletTypeId">
<select-wallet-type v-model="state.queryForm.walletTypeId" placeholder="饭卡类型" clearable />
</el-form-item>
<el-form-item> <el-form-item>
<el-button icon="Search" type="primary" @click="getDataList">{{ $t("common.queryBtn") }}</el-button> <el-button icon="Search" type="primary" @click="getDataList">{{ $t("common.queryBtn") }}</el-button>
<el-button icon="Refresh" @click="resetQuery">{{ $t("common.resetBtn") }}</el-button> <el-button icon="Refresh" @click="resetQuery">{{ $t("common.resetBtn") }}</el-button>
@@ -52,7 +49,7 @@
</el-button> </el-button>
<right-toolbar <right-toolbar
v-model:showSearch="showSearch" v-model:showSearch="showSearch"
:export="'wallet_walletManage_export'" :export="'wallet_walletRecord_export'"
@exportExcel="exportExcel" @exportExcel="exportExcel"
class="ml10 mr20" class="ml10 mr20"
style="float: right" style="float: right"
@@ -97,23 +94,18 @@
<div class="color-primary">{{ displayPrice(row.balance) }}</div> <div class="color-primary">{{ displayPrice(row.balance) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="totalExpense" align="center" width="100" label="累计支出">
<template #default="{ row }">
<div class="color-danger">{{ displayPrice(row.totalExpense) }}</div>
</template>
</el-table-column>
<el-table-column prop="totalRecharge" align="center" width="100" label="累计充值">
<template #default="{ row }">
<div class="color-success">{{ displayPrice(row.totalRecharge) }}</div>
</template>
</el-table-column>
<el-table-column prop="isFreeze" width="120" label="是否冻结饭卡"> <el-table-column prop="isFreeze" width="120" label="是否冻结饭卡">
<template #default="{ row }"> <template #default="{ row }">
<dict-tag :options="yes_no_type" :value="row.isFreeze" /> <dict-tag :options="yes_no_type" :value="row.isFreeze" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="false" prop="activeBindStatus" width="120" label="饭卡绑定状态" /> <el-table-column v-if="false" prop="activeBindStatus" width="120" label="饭卡绑定状态" />
<el-table-column prop="createTime" width="200" label="创建时间" /> <el-table-column prop="lastTopUpTime" width="200" label="最后充值时间">
<template #default="{ row }">
<span v-if="row.lastTopUpTime">{{ row.lastTopUpTime }}</span>
<span v-else class="color-danger">本月未充值</span>
</template>
</el-table-column>
</el-table> </el-table>
<pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" v-bind="state.pagination" /> <pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" v-bind="state.pagination" />
</template> </template>
@@ -165,15 +157,15 @@ const resetQuery = () => {
// 导出excel // 导出excel
const exportExcel = () => { const exportExcel = () => {
postDownBlobFile( postDownBlobFile(
"/wallet/wallet-manage/export", "/wallet/wallet-manage/export-qb",
Object.assign(state.queryForm, { current: state.pagination?.current, size: state.pagination?.size }), Object.assign(state.queryForm, { current: state.pagination?.current, size: state.pagination?.size }),
"walletManage.xlsx", "wallet_walletRecord.xlsx",
) )
} }
const getSummaries = (param: any) => { const getSummaries = (param: any) => {
const { columns, data } = param const { columns, data } = param
const totalColumns = ["balance", "totalExpense", "totalRecharge"] const totalColumns = ["balance"]
const totalRow = Array.from({ length: columns.length }) const totalRow = Array.from({ length: columns.length })
columns.forEach((i: any, index: number) => { columns.forEach((i: any, index: number) => {
if (totalColumns.includes(i.property)) { if (totalColumns.includes(i.property)) {
@@ -218,39 +210,3 @@ const handleDelete = async (ids: string[]) => {
} }
} }
</script> </script>
<!-- <style scoped>
.cell {
height: 30px;
padding: 3px 0;
box-sizing: border-box;
}
.cell .text {
width: 24px;
height: 24px;
display: block;
margin: 0 auto;
line-height: 24px;
position: absolute;
left: 50%;
transform: translateX(-50%);
border-radius: 50%;
}
.cell.current .text {
background: #626aef;
color: #fff;
}
.cell .holiday {
position: absolute;
width: 6px;
height: 6px;
background: var(--el-color-danger);
border-radius: 50%;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
}
</style> -->
+3
View File
@@ -17,6 +17,9 @@
<el-form-item style="width: 300px" label="用户" prop="userId"> <el-form-item style="width: 300px" label="用户" prop="userId">
<select-user v-model="state.queryForm.userId" /> <select-user v-model="state.queryForm.userId" />
</el-form-item> </el-form-item>
<el-form-item style="width: 200px" label="充值方式" prop="bizType">
<dict-select v-model="state.queryForm.bizType" dict-code="wallet_biz" />
</el-form-item>
<el-form-item style="width: 300px" label="消费时间" prop="createTimeList"> <el-form-item style="width: 300px" label="消费时间" prop="createTimeList">
<el-date-picker v-model="state.queryForm.createTimeList" value-format="YYYY-MM-DD" type="daterange" /> <el-date-picker v-model="state.queryForm.createTimeList" value-format="YYYY-MM-DD" type="daterange" />
</el-form-item> </el-form-item>