This commit is contained in:
qsh
2024-11-01 18:13:44 +08:00
parent 7e771a89e4
commit 91a509d49d
10 changed files with 280 additions and 53 deletions

View File

@@ -1,5 +1,5 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="800px">
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
<el-form
ref="formRef"
v-loading="formLoading"
@@ -7,11 +7,17 @@
:rules="formRules"
label-width="80px"
>
<el-form-item label="名称" prop="label">
<el-input v-model="formData.label" placeholder="请输入供应商名称" />
<el-form-item label="名称" prop="supplierName">
<el-input v-model="formData.supplierName" placeholder="请输入供应商名称" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="formData.sort" placeholder="请输入排序" type="number" :min="0" />
<el-form-item label="微信群" prop="wechatGroup">
<el-input v-model="formData.wechatGroup" placeholder="请输入微信群" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio :label="0"> 启用 </el-radio>
<el-radio :label="1"> 禁用 </el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
@@ -29,7 +35,7 @@
</Dialog>
</template>
<script name="DialogSupplier" setup>
import * as dictApi from '@/api/system/dict/dict.data'
import * as SupplierApi from '@/api/school/setting/supplier'
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -38,12 +44,12 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 表单的加载中1修改时的数据加载2提交的按钮禁用
const formType = ref('') // 表单的类型create - 新增update - 修改
const formData = ref({
label: '',
sort: 1,
supplierName: '',
wechatGroup: 1,
remark: ''
})
const formRules = reactive({
label: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
supplierName: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
})
const formRef = ref() // 表单 Ref
@@ -57,7 +63,7 @@ const open = async (type, id) => {
if (id) {
formLoading.value = true
try {
formData.value = await dictApi.getDictData(id)
formData.value = await SupplierApi.getSupplier(id)
} finally {
formLoading.value = false
}
@@ -75,14 +81,11 @@ const submitForm = async () => {
// 提交请求
formLoading.value = true
try {
if (!formData.value.value) {
formData.value.value = formData.value.label
}
if (formType.value === 'create') {
await dictApi.createDictData(formData.value)
await SupplierApi.createSupplier(formData.value)
message.success(t('common.createSuccess'))
} else {
await dictApi.updateDictData(formData.value)
await SupplierApi.updateSupplier(formData.value)
message.success(t('common.updateSuccess'))
}
dialogVisible.value = false
@@ -96,10 +99,9 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
label: '',
sort: 1,
supplierName: '',
wechatGroup: '',
status: 0,
dictType: 'erp_supplier',
remark: ''
}
formRef.value?.resetFields()

View File

@@ -3,7 +3,7 @@
<el-form ref="queryForm" :model="searchForm" label-width="0" inline>
<el-form-item>
<el-input
v-model="searchForm.name"
v-model="searchForm.supplierName"
placeholder="请输入名称"
clearable
@keyup.enter="handleQuery"
@@ -16,9 +16,13 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="tableList">
<el-table-column prop="label" label="供应商名称" />
<el-table-column prop="supplierName" label="供应商名称" />
<el-table-column prop="wechatGroup" label="微信群名称" />
<el-table-column prop="sort" label="排序" width="100px" />
<el-table-column label="状态" min-width="150" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" />
<el-table-column
label="创建时间"
@@ -47,16 +51,16 @@
<script setup name="SupplierSet">
import { dateFormatter } from '@/utils/formatTime'
import DialogSupplier from './DialogSupplier.vue'
import * as dictApi from '@/api/system/dict/dict.data'
import * as SupplierApi from '@/api/school/setting/supplier'
import { DICT_TYPE } from '@/utils/dict'
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
const searchForm = ref({
label: '',
supplierName: '',
pageSize: 20,
pageNo: 1,
dictType: 'erp_supplier'
pageNo: 1
})
const total = ref(0)
@@ -70,10 +74,9 @@ function handleQuery() {
}
function resetQuery() {
searchForm.value = {
label: '',
supplierName: '',
pageSize: 20,
pageNo: 1,
dictType: 'erp_supplier'
pageNo: 1
}
getList()
}
@@ -81,7 +84,7 @@ function resetQuery() {
async function getList() {
loading.value = true
try {
const data = await dictApi.getDictDataPage(searchForm.value)
const data = await SupplierApi.getSupplierPage(searchForm.value)
tableList.value = data.list
total.value = data.total
} finally {
@@ -98,7 +101,7 @@ async function handleDelete(id) {
// 删除的二次确认
await message.delConfirm()
// 发起删除
await dictApi.deleteDictData(id)
await SupplierApi.deleteSupplier(id)
message.success(t('common.delSuccess'))
// 刷新列表
await getList()

View File

@@ -37,9 +37,9 @@
<el-select v-model="queryParams.supplier" placeholder="供应商" clearable filterable>
<el-option
v-for="item in opts.supplier"
:key="item.value"
:label="item.label"
:value="item.value"
:key="item.id"
:label="item.supplierName"
:value="item.id"
/>
</el-select>
</el-form-item>
@@ -135,7 +135,7 @@ import { allSchemas } from './index.data.js'
import DialogAdd from './Comp/DialogAdd.vue'
import DialogAudit from './Comp/DialogAudit.vue'
import * as PurchaseApi from '@/api/mall/purchase'
import { getDictOptions } from '@/utils/dict'
import { getSupplierSimpleList } from '@/api/school/setting/supplier'
const creatPurchase = ref()
const auditPurchase = ref()
@@ -164,7 +164,9 @@ function getOptions() {
ProductApi.getSimpleProductList().then((data) => {
opts.value.product = data
})
opts.value.supplier = getDictOptions('erp_supplier')
getSupplierSimpleList().then((data) => {
opts.value.supplier = data
})
}
function changeProd(val) {