fix: reduce low-risk vue-tsc errors in erp forms

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
pull/878/head
YunaiV 2026-05-16 18:48:35 +08:00
parent 1f47e3c9d6
commit 28473434da
17 changed files with 122 additions and 157 deletions

View File

@ -81,7 +81,7 @@ const submit = (data: AiMindMapGenerateReqVO) => {
console.error('生成思维导图失败', err)
stopStream()
//
throw error
throw err
},
ctrl: ctrl.value
})

View File

@ -128,7 +128,7 @@
</template>
<script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { AccountApi, AccountVO } from '@/api/erp/finance/account'
@ -198,7 +198,7 @@ const handleDelete = async (id: number) => {
}
/** 修改默认状态 */
const handleDefaultStatusChange = async (row: WarehouseVO) => {
const handleDefaultStatusChange = async (row: AccountVO) => {
try {
//
const text = row.defaultStatus ? '设置' : '取消'
@ -207,7 +207,7 @@ const handleDefaultStatusChange = async (row: WarehouseVO) => {
await AccountApi.updateAccountDefaultStatus(row.id, row.defaultStatus)
//
await getList()
} catch (e) {
} catch {
//
row.defaultStatus = !row.defaultStatus
}

View File

@ -74,7 +74,6 @@
/>
</template>
<script setup lang="ts">
import { ProductVO } from '@/api/erp/product/product'
import { erpPriceInputFormatter, getSumValue } from '@/utils'
import PurchaseInPaymentEnableList from '@/views/erp/purchase/in/components/PurchaseInPaymentEnableList.vue'
import PurchaseReturnRefundEnableList from '@/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue'
@ -83,19 +82,18 @@ import { ErpBizType } from '@/utils/constants'
import { PurchaseReturnVO } from '@/api/erp/purchase/return'
const props = defineProps<{
items: undefined
supplierId: undefined
disabled: false
items: any[]
supplierId?: number
disabled?: boolean
}>()
const message = useMessage()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
paymentPrice: [{ required: true, message: '本次付款不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const productList = ref<ProductVO[]>([]) //
const formRef = ref() // Ref
/** 初始化设置入库项 */
watch(
@ -136,13 +134,14 @@ const handleOpenPurchaseIn = () => {
}
const handleAddPurchaseIn = (rows: PurchaseInVO[]) => {
rows.forEach((row) => {
const paymentPrice = (row as PurchaseInVO & { paymentPrice: number }).paymentPrice
formData.value.push({
bizId: row.id,
bizType: ErpBizType.PURCHASE_IN,
bizNo: row.no,
totalPrice: row.totalPrice,
paidPrice: row.paymentPrice,
paymentPrice: row.totalPrice - row.paymentPrice
paidPrice: paymentPrice,
paymentPrice: row.totalPrice - paymentPrice
})
})
}
@ -158,13 +157,14 @@ const handleOpenPurchaseReturn = () => {
}
const handleAddPurchaseReturn = (rows: PurchaseReturnVO[]) => {
rows.forEach((row) => {
const refundPrice = (row as PurchaseReturnVO & { refundPrice: number }).refundPrice
formData.value.push({
bizId: row.id,
bizType: ErpBizType.PURCHASE_RETURN,
bizNo: row.no,
totalPrice: -row.totalPrice,
paidPrice: -row.refundPrice,
paymentPrice: -row.totalPrice + row.refundPrice
paidPrice: -refundPrice,
paymentPrice: -row.totalPrice + refundPrice
})
})
}

View File

@ -68,7 +68,6 @@
<SaleReturnRefundEnableList ref="saleReturnRefundEnableListRef" @success="handleAddSaleReturn" />
</template>
<script setup lang="ts">
import { ProductVO } from '@/api/erp/product/product'
import { erpPriceInputFormatter, getSumValue } from '@/utils'
import SaleOutReceiptEnableList from '@/views/erp/sale/out/components/SaleOutReceiptEnableList.vue'
import SaleReturnRefundEnableList from '@/views/erp/sale/return/components/SaleReturnRefundEnableList.vue'
@ -77,19 +76,18 @@ import { ErpBizType } from '@/utils/constants'
import { SaleReturnVO } from '@/api/erp/sale/return'
const props = defineProps<{
items: undefined
customerId: undefined
disabled: false
items: any[]
customerId?: number
disabled?: boolean
}>()
const message = useMessage()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
receiptPrice: [{ required: true, message: '本次收款不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const productList = ref<ProductVO[]>([]) //
const formRef = ref() // Ref
/** 初始化设置出库项 */
watch(
@ -130,13 +128,14 @@ const handleOpenSaleOut = () => {
}
const handleAddSaleOut = (rows: SaleOutVO[]) => {
rows.forEach((row) => {
const receiptPrice = (row as SaleOutVO & { receiptPrice: number }).receiptPrice
formData.value.push({
bizId: row.id,
bizType: ErpBizType.SALE_OUT,
bizNo: row.no,
totalPrice: row.totalPrice,
receiptedPrice: row.receiptPrice,
receiptPrice: row.totalPrice - row.receiptPrice
receiptedPrice: receiptPrice,
receiptPrice: row.totalPrice - receiptPrice
})
})
}
@ -152,13 +151,14 @@ const handleOpenSaleReturn = () => {
}
const handleAddSaleReturn = (rows: SaleReturnVO[]) => {
rows.forEach((row) => {
const refundPrice = (row as SaleReturnVO & { refundPrice: number }).refundPrice
formData.value.push({
bizId: row.id,
bizType: ErpBizType.SALE_RETURN,
bizNo: row.no,
totalPrice: -row.totalPrice,
receiptedPrice: -row.refundPrice,
receiptPrice: -row.totalPrice + row.refundPrice
receiptedPrice: -refundPrice,
receiptPrice: -row.totalPrice + refundPrice
})
})
}

View File

@ -174,19 +174,19 @@ import {
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置入库项 */
watch(
@ -247,25 +247,6 @@ const getSummaries = (param: SummaryMethodProps) => {
return sums
}
/** 新增按钮操作 */
const handleAdd = () => {
const row = {
id: undefined,
productId: undefined,
productUnitName: undefined, //
productBarCode: undefined, //
productPrice: undefined,
stockCount: undefined,
count: 1,
totalProductPrice: undefined,
taxPercent: undefined,
taxPrice: undefined,
totalPrice: undefined,
remark: undefined
}
formData.value.push(row)
}
/** 删除按钮操作 */
const handleDelete = (index: number) => {
formData.value.splice(index, 1)

View File

@ -150,17 +150,17 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
productPrice: [{ required: true, message: '产品单价不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
/** 初始化设置入库项 */

View File

@ -180,19 +180,19 @@ import {
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置出库项 */
watch(
@ -253,30 +253,16 @@ const getSummaries = (param: SummaryMethodProps) => {
return sums
}
/** 新增按钮操作 */
const handleAdd = () => {
const row = {
id: undefined,
productId: undefined,
productUnitName: undefined, //
productBarCode: undefined, //
productPrice: undefined,
stockCount: undefined,
count: 1,
totalProductPrice: undefined,
taxPercent: undefined,
taxPrice: undefined,
totalPrice: undefined,
remark: undefined
}
formData.value.push(row)
}
/** 删除按钮操作 */
const handleDelete = (index: number) => {
formData.value.splice(index, 1)
}
/** 处理仓库变更 */
const onChangeWarehouse = (_warehouseId: number, row: any) => {
setStockCount(row)
}
/** 加载库存 */
const setStockCount = async (row: any) => {
if (!row.productId) {

View File

@ -146,16 +146,16 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
/** 初始化设置出库项 */

View File

@ -180,19 +180,19 @@ import {
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置出库项 */
watch(
@ -253,30 +253,16 @@ const getSummaries = (param: SummaryMethodProps) => {
return sums
}
/** 新增按钮操作 */
const handleAdd = () => {
const row = {
id: undefined,
productId: undefined,
productUnitName: undefined, //
productBarCode: undefined, //
productPrice: undefined,
stockCount: undefined,
count: 1,
totalProductPrice: undefined,
taxPercent: undefined,
taxPrice: undefined,
totalPrice: undefined,
remark: undefined
}
formData.value.push(row)
}
/** 删除按钮操作 */
const handleDelete = (index: number) => {
formData.value.splice(index, 1)
}
/** 处理仓库变更 */
const onChangeWarehouse = (_warehouseId: number, row: any) => {
setStockCount(row)
}
/** 加载库存 */
const setStockCount = async (row: any) => {
if (!row.productId) {

View File

@ -180,19 +180,19 @@ import {
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置出库项 */
watch(
@ -253,30 +253,16 @@ const getSummaries = (param: SummaryMethodProps) => {
return sums
}
/** 新增按钮操作 */
const handleAdd = () => {
const row = {
id: undefined,
productId: undefined,
productUnitName: undefined, //
productBarCode: undefined, //
productPrice: undefined,
stockCount: undefined,
count: 1,
totalProductPrice: undefined,
taxPercent: undefined,
taxPrice: undefined,
totalPrice: undefined,
remark: undefined
}
formData.value.push(row)
}
/** 删除按钮操作 */
const handleDelete = (index: number) => {
formData.value.splice(index, 1)
}
/** 处理仓库变更 */
const onChangeWarehouse = (_warehouseId: number, row: any) => {
setStockCount(row)
}
/** 加载库存 */
const setStockCount = async (row: any) => {
if (!row.productId) {

View File

@ -153,21 +153,21 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formRules = reactive({
const formData = ref<any[]>([])
const formRules = reactive<Recordable<any[]>>({
inId: [{ required: true, message: '盘点编号不能为空', trigger: 'blur' }],
warehouseId: [{ required: true, message: '仓库名字不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置盘点项 */
watch(
@ -243,7 +243,7 @@ const handleDelete = (index) => {
}
/** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => {
const onChangeWarehouse = (_warehouseId, row) => {
//
setStockCount(row)
}

View File

@ -138,21 +138,21 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
inId: [{ required: true, message: '入库编号不能为空', trigger: 'blur' }],
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置入库项 */
watch(
@ -222,7 +222,7 @@ const handleDelete = (index) => {
}
/** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => {
const onChangeWarehouse = (_warehouseId, row) => {
//
setStockCount(row)
}

View File

@ -161,11 +161,11 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
inId: [{ required: true, message: '调度编号不能为空', trigger: 'blur' }],
fromWarehouseId: [{ required: true, message: '调出仓库不能为空', trigger: 'blur' }],
@ -173,10 +173,10 @@ const formRules = reactive({
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置调度项 */
watch(
@ -247,7 +247,7 @@ const handleDelete = (index) => {
}
/** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => {
const onChangeWarehouse = (_warehouseId, row) => {
//
setStockCount(row)
}

View File

@ -138,21 +138,21 @@ import {
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
items: any[]
disabled?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<any[]>([])
const formRules = reactive({
inId: [{ required: true, message: '出库编号不能为空', trigger: 'blur' }],
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置出库项 */
watch(
@ -222,7 +222,7 @@ const handleDelete = (index) => {
}
/** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => {
const onChangeWarehouse = (_warehouseId, row) => {
//
setStockCount(row)
}

View File

@ -219,7 +219,7 @@ const message = useMessage() // 消息弹窗
const loading = ref(true) //
const total = ref(0) //
const list = ref([]) //
const list = ref<BrokerageUserApi.BrokerageUserVO[]>([]) //
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
@ -289,7 +289,7 @@ const openUpdateBindUserForm = (row: BrokerageUserApi.BrokerageUserVO) => {
}
/** 创建分销员 */
const createFormRef = ref<InstanceType<typeof CreateUserForm>>()
const createFormRef = ref<InstanceType<typeof BrokerageUserCreateForm>>()
const openCreateUserForm = () => {
createFormRef.value?.open()
}

15
types/dom7.d.ts vendored Normal file
View File

@ -0,0 +1,15 @@
declare module 'dom7' {
interface Dom7Static {
fn: Record<string, any>
(...args: any[]): any
}
const dom7: Dom7Static
export default dom7
export const append: any
export const on: any
export const hide: any
export const click: any
export type Dom7Array = any
}

11
types/global.d.ts vendored
View File

@ -17,6 +17,17 @@ declare global {
declare type TimeoutHandle = ReturnType<typeof setTimeout>
declare type IntervalHandle = ReturnType<typeof setInterval>
const _hmt: any[]
interface Window {
_hmt?: any[]
bpmnInstances?: any
}
type SummaryMethodProps<T extends Recordable = Recordable> = Parameters<
import('element-plus').SummaryMethod<T>
>[0]
type AxiosHeaders =
| 'application/json'
| 'application/x-www-form-urlencoded'