fix(ts): 批量精确补全 CRM/ERP/MES 表单字段类型

- 各业务域表单状态按需标注 number/string | undefined,不使用 Partial,不改共享 VO
- FollowUpRecordForm 补全模板已绑定但缺失的字段
- RoleAssignMenuForm 修正 reactive 误用 .value,恢复菜单加载和重置逻辑
- BPMN 设计器组件保留不动

ts:check 748 → 590,无新增类型错误
master
YunaiV 2026-06-20 11:40:07 -07:00
parent 9c95bebc26
commit cb9400e93d
43 changed files with 491 additions and 402 deletions

View File

@ -47,10 +47,10 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
status: undefined,
expression: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
expression: undefined as string | undefined
})
const formRules = reactive({
name: [{ required: true, message: '名字不能为空', trigger: 'blur' }],

View File

@ -86,13 +86,13 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
type: undefined,
status: undefined,
event: undefined,
valueType: undefined,
value: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
type: undefined as string | undefined,
status: undefined as number | undefined,
event: undefined as string | undefined,
valueType: undefined as string | undefined,
value: undefined as string | undefined
})
const formRules = reactive({
name: [{ required: true, message: '名字不能为空', trigger: 'blur' }],

View File

@ -144,6 +144,8 @@ import { getCurrentUserId } from '@/utils/auth'
import BusinessProductForm from './components/BusinessProductForm.vue'
import { erpPriceMultiply, erpPriceInputFormatter } from '@/utils'
type BusinessProduct = NonNullable<BusinessApi.BusinessVO['products']>[number]
const { t } = useI18n() //
const message = useMessage() //
@ -151,19 +153,20 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const disabled = computed(() => formType.value === 'detail')
const formData = ref({
id: undefined,
name: undefined,
customerId: undefined,
ownerUserId: undefined,
statusTypeId: undefined,
id: undefined as number | undefined,
name: undefined as string | undefined,
customerId: undefined as number | undefined,
ownerUserId: undefined as number | undefined,
statusTypeId: undefined as number | undefined,
dealTime: undefined,
discountPercent: 0,
totalProductPrice: undefined,
totalPrice: undefined,
remark: undefined,
products: [],
contactId: undefined,
totalProductPrice: undefined as number | undefined,
totalPrice: undefined as number | undefined,
remark: undefined as string | undefined,
products: [] as BusinessProduct[],
contactId: undefined as number | undefined,
customerDefault: false
})
const formRules = reactive({
@ -174,8 +177,8 @@ const formRules = reactive({
})
const formRef = ref() // Ref
const userOptions = ref<UserApi.UserVO[]>([]) //
const statusTypeList = ref([]) //
const customerList = ref([]) //
const statusTypeList = ref<BusinessStatusApi.BusinessStatusTypeVO[]>([]) //
const customerList = ref<CustomerApi.CustomerVO[]>([]) //
/** 子表的表单 */
const subTabsName = ref('product')

View File

@ -39,16 +39,17 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const formLoading = ref(false) //
const formData = ref({
id: undefined,
statusId: undefined,
endStatus: undefined,
status: undefined
id: undefined as number | undefined,
statusId: undefined as number | undefined,
endStatus: undefined as number | undefined,
status: undefined as number | undefined
})
const formRules = reactive({
status: [{ required: true, message: '商机阶段不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref
const statusList = ref([]) //
type BusinessStatus = NonNullable<BusinessStatusApi.BusinessStatusTypeVO['statuses']>
const statusList = ref<BusinessStatus[]>([]) //
/** 打开弹窗 */
const open = async (business: BusinessApi.BusinessVO) => {
@ -81,10 +82,10 @@ const submitForm = async () => {
formLoading.value = true
try {
await BusinessApi.updateBusinessStatus({
id: formData.value.id,
statusId: formData.value.status > 0 ? formData.value.status : undefined,
endStatus: formData.value.status < 0 ? -formData.value.status : undefined
})
id: formData.value.id!,
statusId: formData.value.status! > 0 ? formData.value.status : undefined,
endStatus: formData.value.status! < 0 ? -formData.value.status! : undefined
} as BusinessApi.BusinessVO)
message.success('更新商机状态成功')
dialogVisible.value = false
//

View File

@ -98,18 +98,29 @@ import * as ProductApi from '@/api/crm/product'
import { erpPriceInputFormatter, erpPriceMultiply } from '@/utils'
import { DICT_TYPE } from '@/utils/dict'
type BusinessProduct = {
id?: number
productId?: number
productUnit?: number
productNo?: string
productPrice?: number
businessPrice?: number
count?: number
totalPrice?: number
}
const props = defineProps<{
products: undefined
disabled: false
products: BusinessProduct[]
disabled: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<BusinessProduct[]>([])
const formRules = reactive({
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
businessPrice: [{ required: true, message: '合同价格不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductApi.ProductVO[]>([]) //
/** 初始化设置产品项 */
@ -160,7 +171,7 @@ const handleDelete = (index: number) => {
}
/** 处理产品变更 */
const onChangeProduct = (productId, row) => {
const onChangeProduct = (productId: number, row: BusinessProduct) => {
const product = productList.value.find((item) => item.id === productId)
if (product) {
row.productUnit = product.unit

View File

@ -188,24 +188,24 @@ const formLoading = ref(false) // 表单的加载中1修改时的数据加
const formType = ref('') // create - update -
const areaList = ref([]) //
const formData = ref({
id: undefined,
name: undefined,
customerId: undefined,
id: undefined as number | undefined,
name: undefined as string | undefined,
customerId: undefined as number | undefined,
contactNextTime: undefined,
ownerUserId: 0,
mobile: undefined,
telephone: undefined,
qq: undefined,
wechat: undefined,
email: undefined,
areaId: undefined,
detailAddress: undefined,
sex: undefined,
mobile: undefined as string | undefined,
telephone: undefined as string | undefined,
qq: undefined as string | undefined,
wechat: undefined as string | undefined,
email: undefined as string | undefined,
areaId: undefined as number | undefined,
detailAddress: undefined as string | undefined,
sex: undefined as number | undefined,
master: false,
post: undefined,
parentId: undefined,
remark: undefined,
businessId: undefined,
post: undefined as string | undefined,
parentId: undefined as number | undefined,
remark: undefined as string | undefined,
businessId: undefined as number | undefined,
customerDefault: false
})
const formRules = reactive({

View File

@ -203,6 +203,8 @@ import { erpPriceMultiply, erpPriceInputFormatter } from '@/utils'
import { getCurrentUserId } from '@/utils/auth'
import ContractProductForm from '@/views/crm/contract/components/ContractProductForm.vue'
type ContractProduct = NonNullable<ContractApi.ContractVO['products']>[number]
const { t } = useI18n() //
const message = useMessage() //
@ -210,22 +212,24 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const disabled = computed(() => formType.value === 'detail')
const formData = ref({
id: undefined,
no: undefined,
name: undefined,
customerId: undefined,
businessId: undefined,
id: undefined as number | undefined,
no: undefined as string | undefined,
name: undefined as string | undefined,
customerId: undefined as number | undefined,
businessId: undefined as number | undefined,
orderDate: undefined,
startTime: undefined,
endTime: undefined,
signUserId: undefined,
signContactId: undefined,
ownerUserId: undefined,
signUserId: undefined as number | undefined,
signContactId: undefined as number | undefined,
ownerUserId: undefined as number | undefined,
discountPercent: 0,
totalProductPrice: undefined,
remark: undefined,
products: []
totalProductPrice: undefined as number | undefined,
totalPrice: undefined as number | undefined,
remark: undefined as string | undefined,
products: [] as ContractProduct[]
})
const formRules = reactive({
name: [{ required: true, message: '合同名称不能为空', trigger: 'blur' }],
@ -235,7 +239,7 @@ const formRules = reactive({
})
const formRef = ref() // Ref
const userOptions = ref<UserApi.UserVO[]>([]) //
const customerList = ref([]) //
const customerList = ref<CustomerApi.CustomerVO[]>([]) //
const businessList = ref<BusinessApi.BusinessVO[]>([])
const contactList = ref<ContactApi.ContactVO[]>([])
@ -336,6 +340,7 @@ const resetForm = () => {
ownerUserId: undefined,
discountPercent: 0,
totalProductPrice: undefined,
totalPrice: undefined,
remark: undefined,
products: []
}
@ -355,7 +360,7 @@ const handleBusinessChange = async (businessId: number) => {
business.products.forEach((item) => {
item.contractPrice = item.businessPrice
})
formData.value.products = business.products
formData.value.products = business.products as unknown as ContractProduct[]
}
/** 动态获取客户联系人 */

View File

@ -98,18 +98,29 @@ import * as ProductApi from '@/api/crm/product'
import { erpPriceInputFormatter, erpPriceMultiply } from '@/utils'
import { DICT_TYPE } from '@/utils/dict'
type ContractProduct = {
id?: number
productId?: number
productUnit?: number
productNo?: string
productPrice?: number
contractPrice?: number
count?: number
totalPrice?: number
}
const props = defineProps<{
products: undefined
disabled: false
products: ContractProduct[]
disabled: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
const formData = ref<ContractProduct[]>([])
const formRules = reactive({
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
contractPrice: [{ required: true, message: '合同价格不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const formRef = ref() // Ref
const productList = ref<ProductApi.ProductVO[]>([]) //
/** 初始化设置产品项 */
@ -160,7 +171,7 @@ const handleDelete = (index: number) => {
}
/** 处理产品变更 */
const onChangeProduct = (productId, row) => {
const onChangeProduct = (productId: number, row: ContractProduct) => {
const product = productList.value.find((item) => item.id === productId)
if (product) {
row.productUnit = product.unit

View File

@ -34,8 +34,8 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const formLoading = ref(false) // 12
const userOptions = ref<UserApi.UserVO[]>([]) //
const formData = ref({
id: undefined,
ownerUserId: undefined
id: undefined as number | undefined,
ownerUserId: undefined as number | undefined
})
const formRules = reactive({
ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }]
@ -62,7 +62,7 @@ const submitForm = async () => {
//
formLoading.value = true
try {
await CustomerApi.distributeCustomer([formData.value.id], formData.value.ownerUserId)
await CustomerApi.distributeCustomer([formData.value.id!], formData.value.ownerUserId!)
message.success('分配客户成功')
dialogVisible.value = false
//

View File

@ -75,12 +75,12 @@
<!-- 弹窗 -->
<ContactListModal
ref="contactTableSelectRef"
:customer-id="formData.bizId"
:customer-id="customerId"
@success="handleAddContact"
/>
<BusinessListModal
ref="businessTableSelectRef"
:customer-id="formData.bizId"
:customer-id="customerId"
@success="handleAddBusiness"
/>
</template>
@ -95,6 +95,9 @@ import * as BusinessApi from '@/api/crm/business'
import ContactListModal from '@/views/crm/contact/components/ContactListModal.vue'
import * as ContactApi from '@/api/crm/contact'
type FollowUpBusiness = FollowUpRecordVO['businesses'][number]
type FollowUpContact = FollowUpRecordVO['contacts'][number]
defineOptions({ name: 'FollowUpRecordForm' })
const { t } = useI18n() //
@ -103,10 +106,15 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const formLoading = ref(false) // 12
const formData = ref({
bizType: undefined,
bizId: undefined,
businesses: [],
contacts: []
bizType: undefined as number | undefined,
bizId: undefined as number | undefined,
type: undefined as number | undefined,
content: undefined as string | undefined,
picUrls: [] as string[],
fileUrls: [] as string[],
nextTime: undefined,
businesses: [] as FollowUpBusiness[],
contacts: [] as FollowUpContact[]
})
const formRules = reactive({
type: [{ required: true, message: '跟进类型不能为空', trigger: 'change' }],
@ -115,6 +123,7 @@ const formRules = reactive({
})
const formRef = ref() // Ref
const customerId = computed(() => formData.value.bizId ?? 0)
/** 打开弹窗 */
const open = async (bizType: number, bizId: number) => {
@ -180,6 +189,11 @@ const resetForm = () => {
formData.value = {
bizId: undefined,
bizType: undefined,
type: undefined,
content: undefined,
picUrls: [],
fileUrls: [],
nextTime: undefined,
businesses: [],
contacts: []
}

View File

@ -21,10 +21,19 @@
<script lang="ts" setup>
import { erpPriceTableColumnFormatter } from '@/utils'
type FollowUpBusiness = {
id: number
name: string
totalPrice?: number
customerName?: string
statusTypeName?: string
statusName?: string
}
const props = defineProps<{
businesses: undefined
businesses: FollowUpBusiness[]
}>()
const formData = ref([])
const formData = ref<FollowUpBusiness[]>([])
/** 初始化商机列表 */
watch(

View File

@ -26,10 +26,19 @@
<script lang="ts" setup>
import { DICT_TYPE } from '@/utils/dict'
type FollowUpContact = {
id: number
name: string
mobile?: string
post?: string
parentName?: string
master?: boolean
}
const props = defineProps<{
contacts: undefined
contacts: FollowUpContact[]
}>()
const formData = ref([])
const formData = ref<FollowUpContact[]>([])
/** 初始化联系人列表 */
watch(
@ -44,4 +53,10 @@ watch(
const handleDelete = (index: number) => {
formData.value.splice(index, 1)
}
/** 打开联系人详情 */
const { push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmContactDetail', params: { id } })
}
</script>

View File

@ -163,18 +163,18 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
supplierId: undefined,
accountId: undefined,
financeUserId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
financeUserId: undefined as number | undefined,
paymentTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
totalPrice: 0,
discountPrice: 0,
paymentPrice: 0,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
supplierId: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
@ -260,18 +260,18 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
supplierId: undefined,
accountId: undefined,
financeUserId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
financeUserId: undefined as number | undefined,
paymentTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
totalPrice: 0,
discountPrice: 0,
paymentPrice: 0,
items: [],
no: undefined
no: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -163,18 +163,18 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
customerId: undefined,
accountId: undefined,
financeUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
financeUserId: undefined as number | undefined,
receiptTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
totalPrice: 0,
discountPrice: 0,
receiptPrice: 0,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
@ -260,18 +260,18 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
customerId: undefined,
accountId: undefined,
financeUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
financeUserId: undefined as number | undefined,
receiptTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
totalPrice: 0,
discountPrice: 0,
receiptPrice: 0,
items: [],
no: undefined
no: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -148,19 +148,19 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
barCode: undefined,
categoryId: undefined,
unitId: undefined,
status: undefined,
standard: undefined,
remark: undefined,
expiryDay: undefined,
weight: undefined,
purchasePrice: undefined,
salePrice: undefined,
minPrice: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
barCode: undefined as string | undefined,
categoryId: undefined as number | undefined,
unitId: undefined as number | undefined,
status: undefined as number | undefined,
standard: undefined as string | undefined,
remark: undefined as string | undefined,
expiryDay: undefined as number | undefined,
weight: undefined as number | undefined,
purchasePrice: undefined as number | undefined,
salePrice: undefined as number | undefined,
minPrice: undefined as number | undefined
})
const formRules = reactive({
name: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }],

View File

@ -44,9 +44,9 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
status: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined
})
const formRules = reactive({
name: [{ required: true, message: '单位名字不能为空', trigger: 'blur' }],

View File

@ -182,19 +182,20 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderId: undefined as number | undefined,
inTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
orderNo: undefined,
orderNo: undefined as string | undefined,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
supplierId: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
@ -308,17 +309,20 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderId: undefined as number | undefined,
inTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
items: []
orderNo: undefined,
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -136,7 +136,7 @@ const queryParams = reactive({
productId: undefined,
inTime: [],
paymentEnable: true,
supplierId: undefined
supplierId: undefined as number | undefined
})
const queryFormRef = ref() //
const productList = ref<ProductVO[]>([]) //

View File

@ -153,18 +153,18 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
depositPrice: 0,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
supplierId: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
@ -252,17 +252,18 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
depositPrice: 0,
items: []
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -186,19 +186,20 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderId: undefined as number | undefined,
returnTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
orderNo: undefined,
orderNo: undefined as string | undefined,
items: [],
no: undefined // 退
no: undefined as string | undefined // 退
})
const formRules = reactive({
supplierId: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
@ -311,17 +312,20 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
supplierId: undefined,
accountId: undefined,
id: undefined as number | undefined,
supplierId: undefined as number | undefined,
accountId: undefined as number | undefined,
orderId: undefined as number | undefined,
returnTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
items: []
orderNo: undefined,
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -137,7 +137,7 @@ const queryParams = reactive({
productId: undefined,
returnTime: [],
refundEnable: true,
supplierId: undefined
supplierId: undefined as number | undefined
})
const queryFormRef = ref() //
const productList = ref<ProductVO[]>([]) //

View File

@ -121,21 +121,21 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
contact: undefined,
mobile: undefined,
telephone: undefined,
email: undefined,
fax: undefined,
remark: undefined,
status: undefined,
sort: undefined,
taxNo: undefined,
taxPercent: undefined,
bankName: undefined,
bankAccount: undefined,
bankAddress: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
contact: undefined as string | undefined,
mobile: undefined as string | undefined,
telephone: undefined as string | undefined,
email: undefined as string | undefined,
fax: undefined as string | undefined,
remark: undefined as string | undefined,
status: undefined as number | undefined,
sort: undefined as number | undefined,
taxNo: undefined as string | undefined,
taxPercent: undefined as number | undefined,
bankName: undefined as string | undefined,
bankAccount: undefined as string | undefined,
bankAddress: undefined as string | undefined
})
const formRules = reactive({
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],

View File

@ -121,21 +121,21 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
contact: undefined,
mobile: undefined,
telephone: undefined,
email: undefined,
fax: undefined,
remark: undefined,
status: undefined,
sort: undefined,
taxNo: undefined,
taxPercent: undefined,
bankName: undefined,
bankAccount: undefined,
bankAddress: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
contact: undefined as string | undefined,
mobile: undefined as string | undefined,
telephone: undefined as string | undefined,
email: undefined as string | undefined,
fax: undefined as string | undefined,
remark: undefined as string | undefined,
status: undefined as number | undefined,
sort: undefined as number | undefined,
taxNo: undefined as string | undefined,
taxPercent: undefined as number | undefined,
bankName: undefined as string | undefined,
bankAccount: undefined as string | undefined,
bankAddress: undefined as string | undefined
})
const formRules = reactive({
name: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }],

View File

@ -171,19 +171,19 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
depositPrice: 0,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
@ -271,18 +271,19 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
depositPrice: 0,
items: []
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -197,20 +197,21 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderId: undefined as number | undefined,
outTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
orderNo: undefined,
orderNo: undefined as string | undefined,
items: [],
no: undefined //
no: undefined as string | undefined //
})
const formRules = reactive({
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
@ -325,18 +326,21 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderId: undefined as number | undefined,
outTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
items: []
orderNo: undefined,
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -136,7 +136,7 @@ const queryParams = reactive({
productId: undefined,
outTime: [],
receiptEnable: true,
customerId: undefined
customerId: undefined as number | undefined
})
const queryFormRef = ref() //
const productList = ref<ProductVO[]>([]) //

View File

@ -197,20 +197,21 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update - detail -
const formData = ref({
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderId: undefined as number | undefined,
returnTime: undefined,
remark: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
orderNo: undefined,
orderNo: undefined as string | undefined,
items: [],
no: undefined // 退
no: undefined as string | undefined // 退
})
const formRules = reactive({
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
@ -323,18 +324,21 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
customerId: undefined,
accountId: undefined,
saleUserId: undefined,
id: undefined as number | undefined,
customerId: undefined as number | undefined,
accountId: undefined as number | undefined,
saleUserId: undefined as number | undefined,
orderId: undefined as number | undefined,
returnTime: undefined,
remark: undefined,
fileUrl: undefined,
remark: undefined as string | undefined,
fileUrl: '',
discountPercent: 0,
discountPrice: 0,
totalPrice: 0,
otherPrice: 0,
items: []
orderNo: undefined,
items: [],
no: undefined
}
formRef.value?.resetFields()
}

View File

@ -136,7 +136,7 @@ const queryParams = reactive({
productId: undefined,
returnTime: [],
refundEnable: true,
customerId: undefined
customerId: undefined as number | undefined
})
const queryFormRef = ref() //
const productList = ref<ProductVO[]>([]) //

View File

@ -80,15 +80,15 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
address: undefined,
sort: undefined,
remark: undefined,
principal: undefined,
warehousePrice: undefined,
truckagePrice: undefined,
status: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
address: undefined as string | undefined,
sort: undefined as number | undefined,
remark: undefined as string | undefined,
principal: undefined as string | undefined,
warehousePrice: undefined as number | undefined,
truckagePrice: undefined as number | undefined,
status: undefined as number | undefined
})
const formRules = reactive({
name: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],

View File

@ -117,7 +117,7 @@ const queryParams = reactive({
pageSize: 10,
createTime: [],
status: undefined,
userIds: undefined
userIds: undefined as number | undefined
})
const queryFormRef = ref() //

View File

@ -71,13 +71,13 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
parentId: undefined,
code: undefined,
name: undefined,
id: undefined as number | undefined,
parentId: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
sort: 0,
status: CommonStatusEnum.ENABLE,
remark: undefined
remark: undefined as string | undefined
})
const formRules = reactive({
code: [{ required: true, message: '设备类型编码不能为空', trigger: 'blur' }],
@ -139,13 +139,13 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
parentId: undefined,
code: undefined,
name: undefined,
id: undefined as number | undefined,
parentId: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
sort: 0,
status: CommonStatusEnum.ENABLE,
remark: undefined
remark: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -104,10 +104,10 @@ const dialogTitle = computed(() => {
})
const formData = ref({
id: undefined as number | undefined,
planId: undefined,
machineryId: undefined,
planId: undefined as number | undefined,
machineryId: undefined as number | undefined,
maintenTime: undefined,
userId: undefined,
userId: undefined as number | undefined,
status: undefined as number | undefined,
remark: ''
})
@ -194,12 +194,12 @@ const handleSubmit = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
planId: undefined,
machineryId: undefined,
id: undefined as number | undefined,
planId: undefined as number | undefined,
machineryId: undefined as number | undefined,
maintenTime: undefined,
userId: undefined,
status: undefined,
userId: undefined as number | undefined,
status: undefined as number | undefined,
remark: ''
}
formRef.value?.resetFields()

View File

@ -136,7 +136,7 @@
</el-col>
<el-col :span="8" v-if="formType !== 'create'">
<el-form-item label="工单状态" prop="status">
<dict-tag :type="DICT_TYPE.MES_PRO_WORK_ORDER_STATUS" :value="formData.status" />
<dict-tag :type="DICT_TYPE.MES_PRO_WORK_ORDER_STATUS" :value="formData.status ?? ''" />
</el-form-item>
</el-col>
</el-row>
@ -250,19 +250,19 @@ const activeTab = ref('bom') // 当前选中的 Tab
const formData = ref({
id: undefined as number | undefined,
parentId: undefined as number | undefined,
code: undefined,
name: undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
type: undefined,
orderSourceType: undefined,
orderSourceCode: undefined,
productId: undefined,
orderSourceCode: undefined as string | undefined,
productId: undefined as number | undefined,
quantity: undefined,
clientId: undefined,
vendorId: undefined,
batchCode: undefined,
clientId: undefined as number | undefined,
vendorId: undefined as number | undefined,
batchCode: undefined as string | undefined,
requestDate: undefined,
status: undefined as number | undefined,
remark: undefined
remark: undefined as string | undefined
})
const formRules = reactive({
code: [{ required: true, message: '工单编码不能为空', trigger: 'blur' }],
@ -431,21 +431,21 @@ const handleFinish = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
parentId: undefined,
code: undefined,
name: undefined,
id: undefined as number | undefined,
parentId: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
type: undefined,
orderSourceType: undefined,
orderSourceCode: undefined,
productId: undefined,
orderSourceCode: undefined as string | undefined,
productId: undefined as number | undefined,
quantity: undefined,
clientId: undefined,
vendorId: undefined,
batchCode: undefined,
clientId: undefined as number | undefined,
vendorId: undefined as number | undefined,
batchCode: undefined as string | undefined,
requestDate: undefined,
status: undefined,
remark: undefined
status: undefined as number | undefined,
remark: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -331,30 +331,30 @@ const isFromPendingTask = computed(
const formData = ref({
id: undefined as number | undefined,
code: undefined,
name: undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
type: undefined,
templateId: undefined,
templateId: undefined as number | undefined,
sourceDocType: undefined,
sourceDocId: undefined,
sourceLineId: undefined,
sourceDocId: undefined as number | undefined,
sourceLineId: undefined as number | undefined,
sourceDocCode: undefined,
workOrderId: undefined,
taskId: undefined,
workstationId: undefined,
processId: undefined,
itemId: undefined,
workOrderId: undefined as number | undefined,
taskId: undefined as number | undefined,
workstationId: undefined as number | undefined,
processId: undefined as number | undefined,
itemId: undefined as number | undefined,
checkQuantity: undefined,
qualifiedQuantity: undefined,
unqualifiedQuantity: undefined,
unqualifiedQuantity: undefined as number | undefined,
laborScrapQuantity: 0,
materialScrapQuantity: 0,
otherScrapQuantity: 0,
checkResult: undefined,
inspectDate: undefined,
inspectorUserId: undefined,
remark: undefined,
inspectorUserId: undefined as number | undefined,
remark: undefined as string | undefined,
//
criticalRate: 0,
majorRate: 0,
@ -473,21 +473,21 @@ const handleFinish = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
code: undefined,
name: undefined,
status: undefined,
id: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
type: undefined,
templateId: undefined,
templateId: undefined as number | undefined,
sourceDocType: undefined,
sourceDocId: undefined,
sourceLineId: undefined,
sourceDocId: undefined as number | undefined,
sourceLineId: undefined as number | undefined,
sourceDocCode: undefined,
workOrderId: undefined,
taskId: undefined,
workstationId: undefined,
processId: undefined,
itemId: undefined,
workOrderId: undefined as number | undefined,
taskId: undefined as number | undefined,
workstationId: undefined as number | undefined,
processId: undefined as number | undefined,
itemId: undefined as number | undefined,
checkQuantity: undefined,
qualifiedQuantity: undefined,
unqualifiedQuantity: undefined,
@ -496,8 +496,8 @@ const resetForm = () => {
otherScrapQuantity: 0,
checkResult: undefined,
inspectDate: undefined,
inspectorUserId: undefined,
remark: undefined,
inspectorUserId: undefined as number | undefined,
remark: undefined as string | undefined,
criticalRate: 0,
majorRate: 0,
minorRate: 0,

View File

@ -174,16 +174,16 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) //
const lineFormType = ref('') //
const formData = ref({
id: undefined,
id: undefined as number | undefined,
issueId: undefined as number | undefined,
materialStockId: undefined as number | undefined,
itemId: undefined,
itemId: undefined as number | undefined,
quantity: undefined,
batchCode: undefined,
warehouseId: undefined,
locationId: undefined,
areaId: undefined,
remark: undefined,
batchCode: undefined as string | undefined,
warehouseId: undefined as number | undefined,
locationId: undefined as number | undefined,
areaId: undefined as number | undefined,
remark: undefined as string | undefined,
quantityMax: undefined as number | undefined
})
const formRules = reactive({
@ -253,16 +253,16 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
id: undefined as number | undefined,
issueId: undefined,
materialStockId: undefined,
itemId: undefined,
itemId: undefined as number | undefined,
quantity: undefined,
batchCode: undefined,
warehouseId: undefined,
locationId: undefined,
areaId: undefined,
remark: undefined,
batchCode: undefined as string | undefined,
warehouseId: undefined as number | undefined,
locationId: undefined as number | undefined,
areaId: undefined as number | undefined,
remark: undefined as string | undefined,
quantityMax: undefined
}
formRef.value?.resetFields()

View File

@ -141,13 +141,13 @@ const dialogTitle = computed(() => {
})
const formData = ref({
id: undefined as number | undefined,
code: undefined,
name: undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
vendorId: undefined,
workOrderId: undefined,
vendorId: undefined as number | undefined,
workOrderId: undefined as number | undefined,
issueDate: undefined,
remark: undefined
remark: undefined as string | undefined
})
const formRules = reactive({
code: [{ required: true, message: '发料单编号不能为空', trigger: 'blur' }],
@ -276,14 +276,14 @@ const handleFinish = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
code: undefined,
name: undefined,
status: undefined,
vendorId: undefined,
workOrderId: undefined,
id: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
vendorId: undefined as number | undefined,
workOrderId: undefined as number | undefined,
issueDate: undefined,
remark: undefined
remark: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -140,13 +140,13 @@ const dialogTitle = computed(() => {
})
const formData = ref({
id: undefined as number | undefined,
code: undefined,
name: undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
vendorId: undefined,
workOrderId: undefined,
vendorId: undefined as number | undefined,
workOrderId: undefined as number | undefined,
receiptDate: undefined,
remark: undefined
remark: undefined as string | undefined
})
const formRules = reactive({
code: [{ required: true, message: '入库单编号不能为空', trigger: 'blur' }],
@ -269,14 +269,14 @@ const handleFinish = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
code: undefined,
name: undefined,
status: undefined,
vendorId: undefined,
workOrderId: undefined,
id: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
vendorId: undefined as number | undefined,
workOrderId: undefined as number | undefined,
receiptDate: undefined,
remark: undefined
remark: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -213,19 +213,19 @@ const dialogTitle = computed(() => {
})
const formData = ref({
id: undefined as number | undefined,
code: undefined,
name: undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
clientId: undefined,
noticeId: undefined,
salesOrderCode: undefined,
clientId: undefined as number | undefined,
noticeId: undefined as number | undefined,
salesOrderCode: undefined as string | undefined,
salesDate: undefined,
contactName: undefined,
contactTelephone: undefined,
contactAddress: undefined,
carrier: undefined,
shippingNumber: undefined,
remark: undefined
contactName: undefined as string | undefined,
contactTelephone: undefined as string | undefined,
contactAddress: undefined as string | undefined,
carrier: undefined as string | undefined,
shippingNumber: undefined as string | undefined,
remark: undefined as string | undefined
})
const formRules = reactive({
code: [{ required: true, message: '出库单编号不能为空', trigger: 'blur' }],
@ -380,20 +380,20 @@ const handleFinish = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
code: undefined,
name: undefined,
status: undefined,
clientId: undefined,
noticeId: undefined,
salesOrderCode: undefined,
id: undefined as number | undefined,
code: undefined as string | undefined,
name: undefined as string | undefined,
status: undefined as number | undefined,
clientId: undefined as number | undefined,
noticeId: undefined as number | undefined,
salesOrderCode: undefined as string | undefined,
salesDate: undefined,
contactName: undefined,
contactTelephone: undefined,
contactAddress: undefined,
carrier: undefined,
shippingNumber: undefined,
remark: undefined
contactName: undefined as string | undefined,
contactTelephone: undefined as string | undefined,
contactAddress: undefined as string | undefined,
carrier: undefined as string | undefined,
shippingNumber: undefined as string | undefined,
remark: undefined as string | undefined
}
formRef.value?.resetFields()
}

View File

@ -212,14 +212,14 @@ const formData = ref({
unitMeasureName: undefined,
quantity: undefined as number | undefined,
batchId: undefined as number | undefined,
batchCode: undefined,
batchCode: undefined as string | undefined,
fromWarehouseId: undefined as number | undefined,
fromWarehouseName: undefined,
fromLocationId: undefined as number | undefined,
fromLocationName: undefined,
fromAreaId: undefined as number | undefined,
fromAreaName: undefined,
remark: undefined
remark: undefined as string | undefined
})
const formRules = reactive({
materialStockId: [{ required: true, message: '请选择库存', trigger: 'change' }],
@ -304,24 +304,24 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
id: undefined as number | undefined,
transferId: undefined,
materialStockId: undefined,
itemId: undefined,
itemId: undefined as number | undefined,
itemCode: undefined,
itemName: undefined,
specification: undefined,
unitMeasureName: undefined,
quantity: undefined,
batchId: undefined,
batchCode: undefined,
batchCode: undefined as string | undefined,
fromWarehouseId: undefined,
fromWarehouseName: undefined,
fromLocationId: undefined,
fromLocationName: undefined,
fromAreaId: undefined,
fromAreaName: undefined,
remark: undefined
remark: undefined as string | undefined
}
quantityMax.value = undefined
formRef.value?.resetFields()

View File

@ -46,11 +46,11 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
name: undefined,
payPrice: undefined,
bonusPrice: undefined,
status: undefined
id: undefined as number | undefined,
name: undefined as string | undefined,
payPrice: undefined as number | undefined,
bonusPrice: undefined as number | undefined,
status: undefined as number | undefined
})
const formRules = reactive({
name: [{ required: true, message: '套餐名不能为空', trigger: 'blur' }],
@ -71,8 +71,8 @@ const open = async (type: string, id?: number) => {
formLoading.value = true
try {
formData.value = await WalletRechargePackageApi.getWalletRechargePackage(id)
formData.value.payPrice = fenToYuan(formData.value.payPrice)
formData.value.bonusPrice = fenToYuan(formData.value.bonusPrice)
formData.value.payPrice = Number(fenToYuan(formData.value.payPrice!))
formData.value.bonusPrice = Number(fenToYuan(formData.value.bonusPrice!))
} finally {
formLoading.value = false
}
@ -90,9 +90,11 @@ const submitForm = async () => {
//
formLoading.value = true
try {
const data = { ...formData.value }
data.payPrice = yuanToFen(data.payPrice)
data.bonusPrice = yuanToFen(data.bonusPrice)
const data = {
...formData.value,
payPrice: yuanToFen(formData.value.payPrice!),
bonusPrice: yuanToFen(formData.value.bonusPrice!)
} as WalletRechargePackageApi.WalletRechargePackageVO
if (formType.value === 'create') {
await WalletRechargePackageApi.createWalletRechargePackage(data)
message.success(t('common.createSuccess'))

View File

@ -58,7 +58,7 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const formLoading = ref(false) // 12
const formData = reactive({
id: undefined,
id: undefined as number | undefined,
name: '',
code: '',
menuIds: []
@ -81,9 +81,9 @@ const open = async (row: RoleApi.RoleVO) => {
formData.code = row.code
formLoading.value = true
try {
formData.value.menuIds = await PermissionApi.getRoleMenuList(row.id)
formData.menuIds = await PermissionApi.getRoleMenuList(row.id)
//
formData.value.menuIds.forEach((menuId: number) => {
formData.menuIds.forEach((menuId: number) => {
treeRef.value.setChecked(menuId, true, false)
})
} finally {
@ -103,7 +103,7 @@ const submitForm = async () => {
formLoading.value = true
try {
const data = {
roleId: formData.id,
roleId: formData.id!,
menuIds: [
...(treeRef.value.getCheckedKeys(false) as unknown as Array<number>), //
...(treeRef.value.getHalfCheckedKeys() as unknown as Array<number>) //
@ -125,12 +125,12 @@ const resetForm = () => {
treeNodeAll.value = false
menuExpand.value = false
//
formData.value = {
Object.assign(formData, {
id: undefined,
name: '',
code: '',
menuIds: []
}
})
treeRef.value?.setCheckedNodes([])
formRef.value?.resetFields()
}

View File

@ -78,10 +78,10 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const formLoading = ref(false) // 12
const formData = reactive({
id: undefined,
id: undefined as number | undefined,
name: '',
code: '',
dataScope: undefined,
dataScope: undefined as number | undefined,
dataScopeDeptIds: []
})
const formRef = ref() // Ref
@ -116,12 +116,12 @@ const submitForm = async () => {
formLoading.value = true
try {
const data = {
roleId: formData.id,
dataScope: formData.dataScope,
roleId: formData.id!,
dataScope: formData.dataScope!,
dataScopeDeptIds:
formData.dataScope !== SystemDataScopeEnum.DEPT_CUSTOM
? []
: treeRef.value.getCheckedKeys(false)
: (treeRef.value.getCheckedKeys(false) as number[])
}
await PermissionApi.assignRoleDataScope(data)
message.success(t('common.updateSuccess'))
@ -140,13 +140,13 @@ const resetForm = () => {
deptExpand.value = true
checkStrictly.value = true
//
formData.value = {
Object.assign(formData, {
id: undefined,
name: '',
code: '',
dataScope: undefined,
dataScopeDeptIds: []
}
})
treeRef.value?.setCheckedNodes([])
formRef.value?.resetFields()
}

View File

@ -235,7 +235,7 @@ const queryParams = reactive({
username: undefined,
mobile: undefined,
status: undefined,
deptId: undefined,
deptId: undefined as number | undefined,
createTime: []
})
const queryFormRef = ref() //