项目所有删除和编辑接口对接
This commit is contained in:
@@ -24,6 +24,25 @@ export const FinanceLoan = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑调账申请
|
||||
export const FinanceEditAccounts = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('times', data.times)
|
||||
formData.append('ContractNo', data.ContractNo)
|
||||
formData.append('CustomerID', data.CustomerID)
|
||||
formData.append('amount', data.amount)
|
||||
formData.append('situation', data.situation)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editAccounts`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 调账申请展示
|
||||
export const FinanceLoandisplay = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -43,3 +62,17 @@ export const FinanceLoandisplay = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除调账申请
|
||||
export const FinanceDeleteAccounts = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deleteAccounts`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request'
|
||||
import { isFile } from '@/utils/auxiliaryFunction'
|
||||
const AUTH_BASE_URL = '/api2'
|
||||
|
||||
/*
|
||||
@@ -25,6 +26,26 @@ export const BusinessApplication = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑申请用印
|
||||
export const BusinessEditApplication = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('Printingpurpose', data.Printingpurpose)
|
||||
formData.append('CaseNumber', data.CaseNumber)
|
||||
formData.append('Reason', data.Reason)
|
||||
formData.append('seal_number', data.seal_number)
|
||||
formData.append('seal_type', data.seal_type)
|
||||
if (isFile(data.file)) formData.append('file', data.file)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editApplication`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 申请用印展示
|
||||
export const BusinessApplicationdetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -44,3 +65,17 @@ export const BusinessApplicationdetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除申请用印
|
||||
export const BusinessDeleteApplication = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteApplication`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request'
|
||||
import { isFile } from '@/utils/auxiliaryFunction'
|
||||
const AUTH_BASE_URL = '/api2'
|
||||
|
||||
/*
|
||||
@@ -24,6 +25,25 @@ export const BusinessBid = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑投标登记
|
||||
export const BusinessEditBid = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('BiddingUnit', data.BiddingUnit)
|
||||
formData.append('ProjectName', data.ProjectName)
|
||||
formData.append('times', data.times)
|
||||
if (isFile(data.BiddingAnnouncement))
|
||||
formData.append('BiddingAnnouncement', data.BiddingAnnouncement)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editBid`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 投标登记展示
|
||||
export const BusinessBiddetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -44,3 +64,17 @@ export const BusinessBiddetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除投标登记
|
||||
export const BusinessDeleteBid = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteBid`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request'
|
||||
import { isFile } from '@/utils/auxiliaryFunction'
|
||||
const AUTH_BASE_URL = '/api2'
|
||||
|
||||
/*
|
||||
@@ -26,6 +27,27 @@ export const BusinessCasemanagement = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑案件管理信息
|
||||
export const BusinessEditCase = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('times', data.times)
|
||||
if (isFile(data.AgencyContract)) formData.append('AgencyContract', data.AgencyContract)
|
||||
if (isFile(data.Contractreturn)) formData.append('Contractreturn', data.Contractreturn)
|
||||
if (isFile(data.Closingapplication))
|
||||
formData.append('Closingapplication', data.Closingapplication)
|
||||
formData.append('ChangeRequest', data.ChangeRequest)
|
||||
formData.append('paymentcollection', data.paymentcollection)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editCase`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 案件分页查询
|
||||
export const BusinessCasemanagementdetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -46,6 +68,20 @@ export const BusinessCasemanagementdetail = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 删除案件管理
|
||||
export const BusinessDeleteCase = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteCase`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 案件已收款(累加)
|
||||
export const BusinessAccumulate = (data: any) => {
|
||||
const formData = new FormData()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request'
|
||||
import { isFile } from '@/utils/auxiliaryFunction'
|
||||
const AUTH_BASE_URL = '/api2'
|
||||
|
||||
/*
|
||||
@@ -26,6 +27,24 @@ export const BusinessProject = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑立案登记
|
||||
export const BusinessEditproject = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('times', data.times)
|
||||
formData.append('responsiblefor', data.responsiblefor)
|
||||
formData.append('charge', data.charge)
|
||||
if (isFile(data.contract)) formData.append('contract', data.contract)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editproject`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 立案登记类型查询
|
||||
export const BusinessProjectquerytype = (type: string) => {
|
||||
const formData = new FormData()
|
||||
@@ -60,3 +79,17 @@ export const BusinessProjectdetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除立项接口
|
||||
export const BusinessDeleteProject = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteProject`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request'
|
||||
import { isFile } from "@/utils/auxiliaryFunction";
|
||||
const AUTH_BASE_URL = '/api2'
|
||||
|
||||
/*
|
||||
@@ -23,6 +24,25 @@ export const BusinessWarehousing = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑入库登记
|
||||
export const BusinessEditWarehousing = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('unit', data.unit)
|
||||
formData.append('mark', data.mark)
|
||||
formData.append('lawyer', data.lawyer)
|
||||
formData.append('deadline', data.deadline)
|
||||
if (isFile(data.contract)) formData.append('contract', data.contract)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editWarehousing`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 入库登记 展示
|
||||
export const BusinessWarehousingdetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -42,3 +62,17 @@ export const BusinessWarehousingdetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除入库登记
|
||||
export const BusinessDeleteWarehousing = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteWarehousing`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -27,6 +27,29 @@ export const FinanceIssueInvoice = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑开票申请
|
||||
export const FinanceEditInvoice = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('ContractNo', data.ContractNo)
|
||||
formData.append('personincharge', data.personincharge)
|
||||
formData.append('amount', data.amount)
|
||||
formData.append('type', data.type)
|
||||
formData.append('unit', data.unit)
|
||||
formData.append('number', data.number)
|
||||
formData.append('address_telephone', data.address_telephone)
|
||||
formData.append('bank', data.bank)
|
||||
formData.append('username', data.username)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editInvoice`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 开票分页查询
|
||||
export const FinanceIssueDetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -46,3 +69,17 @@ export const FinanceIssueDetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除开票申请
|
||||
export const FinanceDeleteInvoice = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deleteInvoice`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,6 +24,26 @@ export const BusinessSchedule = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑日程
|
||||
export const BusinessEditSchedule = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('title', data.title)
|
||||
if (data.tiems && data.tiems.length) {
|
||||
formData.append('tiems', data.tiems[0])
|
||||
formData.append('end_time', data.tiems[1])
|
||||
}
|
||||
formData.append('remark', data.remark)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editSchedule`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 日程展示
|
||||
export const BusinessScheduleDetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
|
||||
@@ -26,6 +26,27 @@ export const FinancePaymentRequest = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑付款申请
|
||||
export const FinanceEditPayment = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('reason', data.reason)
|
||||
formData.append('amount', data.amount)
|
||||
formData.append('times', data.times)
|
||||
formData.append('payee', data.payee)
|
||||
formData.append('bankcard', data.bankcard)
|
||||
formData.append('BankName', data.BankName)
|
||||
formData.append('applicant', data.applicant)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editPayment`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 付款申请展示
|
||||
export const FinancePaymentDisplay = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -45,3 +66,17 @@ export const FinancePaymentDisplay = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除付款申请
|
||||
export const FinanceDeletePayment = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deletePayment`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -31,7 +31,8 @@ export const UserCreateUser = (data: any) => {
|
||||
formData.append('password', data.password)
|
||||
formData.append('nation', data.nation)
|
||||
formData.append('IdCard', data.IdCard)
|
||||
formData.append('department', data.department)
|
||||
formData.append('department', JSON.stringify(data.department))
|
||||
formData.append('role', JSON.stringify(data.role))
|
||||
formData.append('mobilePhone', data.mobilePhone)
|
||||
formData.append('position', data.position)
|
||||
formData.append('team', data.team)
|
||||
|
||||
@@ -25,7 +25,28 @@ export const BusinessRegister = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 审批分页接口
|
||||
// 编辑预立案
|
||||
export const BusinessEditRegistration = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('times', data.times)
|
||||
formData.append('client_username', data.client_username)
|
||||
formData.append('client_card', data.client_card)
|
||||
formData.append('party_username', data.party_username)
|
||||
formData.append('party_card', data.party_card)
|
||||
formData.append('description', data.description)
|
||||
formData.append('Undertaker', data.Undertaker)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/editRegistration`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 预立案登记展示
|
||||
export const BusinessRegisterdetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('page', data.pageNum)
|
||||
@@ -60,3 +81,17 @@ export const BusinessPreFilingLinkedCases = () => {
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除预立案登记接口
|
||||
export const BusinessDeleteRegistration = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/deleteRegistration`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,6 +24,25 @@ export const FinanceReimbursement = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑报销申请
|
||||
export const FinanceEditReimbursement = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('person', data.person)
|
||||
formData.append('times', data.times)
|
||||
formData.append('reason', data.reason)
|
||||
formData.append('amount', data.amount)
|
||||
formData.append('FeeDescription', data.FeeDescription)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editReimbursement`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 报销展示
|
||||
export const FinanceReidetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -43,3 +62,17 @@ export const FinanceReidetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除报销申请
|
||||
export const FinanceDeleteReimbursement = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deleteReimbursement`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,6 +24,25 @@ export const FinanceConfirm = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑收入确认
|
||||
export const FinanceEditIncome = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('times', data.times)
|
||||
formData.append('ContractNo', data.ContractNo)
|
||||
formData.append('CustomerID', data.CustomerID)
|
||||
formData.append('amount', data.amount)
|
||||
formData.append('allocate', data.allocate)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editIncome`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 收入确认展示
|
||||
export const FinanceConfirmdisplay = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -43,3 +62,17 @@ export const FinanceConfirmdisplay = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除收入确认
|
||||
export const FinanceDeleteIncome = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deleteIncome`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ export const BusinessDeleteRole = (id: string) => {
|
||||
export const BusinessModifypermissions = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('permissionId', data.permissionId)
|
||||
formData.append('permissionId', JSON.stringify(data.permissionId))
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/modifypermissions`,
|
||||
method: 'post',
|
||||
@@ -79,3 +79,17 @@ export const BusinessModifypermissions = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 根据角色查询权限
|
||||
export const BusinessGetRolePermissions = (roleId: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('roleId', roleId)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/business/getRolePermissions`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -22,6 +22,23 @@ export const FinanceChange = (data: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑工资/奖金变更
|
||||
export const FinanceEditBonusChange = (data: any) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', data.id)
|
||||
formData.append('username', data.username)
|
||||
formData.append('type', data.type)
|
||||
formData.append('Instructions', data.Instructions)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/editBonusChange`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 工资/奖金变更展示
|
||||
export const FinanceChangeDetail = (data: any) => {
|
||||
const formData = new FormData()
|
||||
@@ -41,3 +58,17 @@ export const FinanceChangeDetail = (data: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工资/奖金变更
|
||||
export const FinanceDeleteBonusChange = (id: string) => {
|
||||
const formData = new FormData()
|
||||
formData.append('id', id)
|
||||
return request({
|
||||
url: `${AUTH_BASE_URL}/finance/deleteBonusChange`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -127,15 +127,36 @@ export function convertFilePathsToObject(filePaths: string | string[]): Array<{
|
||||
// 安全的文件信息提取函数
|
||||
export function getFileInfo(fileStr: string): { url: string; name: string } | null {
|
||||
try {
|
||||
if (!fileStr || !isValidJson(fileStr)) return null
|
||||
const files = convertFilePathsToObject(JSON.parse(fileStr))
|
||||
return files && files.length > 0 ? files[0] : null
|
||||
if (!fileStr) return null
|
||||
|
||||
// 如果是有效的JSON字符串,按原有逻辑处理
|
||||
if (isValidJson(fileStr)) {
|
||||
const parsed = JSON.parse(fileStr)
|
||||
const files = convertFilePathsToObject(parsed)
|
||||
return files && files.length > 0 ? { url: files[0].url, name: files[0].name } : null
|
||||
}
|
||||
// 如果是URL字符串,直接使用 convertFilePathsToObject 处理
|
||||
else if (typeof fileStr === 'string') {
|
||||
const files = convertFilePathsToObject(fileStr)
|
||||
return files && files.length > 0 ? { url: files[0].url, name: files[0].name } : null
|
||||
}
|
||||
|
||||
return null
|
||||
} catch (e) {
|
||||
console.error('解析文件信息失败:', e)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
export function deepCloneByJSON(obj: any) {
|
||||
try {
|
||||
return JSON.parse(JSON.stringify(obj))
|
||||
} catch (error) {
|
||||
console.error('深拷贝失败:', error)
|
||||
return obj
|
||||
}
|
||||
}
|
||||
|
||||
export function isString(value: any): boolean {
|
||||
return typeof value === 'string'
|
||||
}
|
||||
@@ -151,3 +172,36 @@ export function isValidJson(str: string): boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
export function isValidFormat(data: any): boolean {
|
||||
let parsedData = data
|
||||
|
||||
// 如果输入是字符串,尝试解析为 JSON
|
||||
if (typeof data === 'string') {
|
||||
try {
|
||||
parsedData = JSON.parse(data)
|
||||
} catch (e) {
|
||||
return false // JSON 解析失败,直接返回 false
|
||||
}
|
||||
}
|
||||
|
||||
// 检查是否为数组
|
||||
if (!Array.isArray(parsedData)) {
|
||||
return false
|
||||
}
|
||||
|
||||
// 检查数组中的每个元素
|
||||
return parsedData.every((item) => {
|
||||
// 检查是否为对象且不为 null
|
||||
if (typeof item !== 'object' || item === null) {
|
||||
return false
|
||||
}
|
||||
|
||||
// 检查必需的属性是否存在,且类型是否正确
|
||||
const hasIndex = typeof item.index === 'number'
|
||||
const hasName = typeof item.name === 'string'
|
||||
const hasIdNumber = typeof item.idNumber === 'string'
|
||||
|
||||
return hasIndex && hasName && hasIdNumber
|
||||
})
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ httpRequest.interceptors.response.use(
|
||||
return Promise.reject(error)
|
||||
}
|
||||
|
||||
const { code, msg } = response.data as ApiResponse
|
||||
const { code, message } = response.data as any
|
||||
|
||||
switch (code) {
|
||||
case ApiCodeEnum.ACCESS_TOKEN_INVALID:
|
||||
@@ -91,17 +91,17 @@ httpRequest.interceptors.response.use(
|
||||
} else {
|
||||
// 未启用token刷新,直接跳转登录页
|
||||
await redirectToLogin('登录已过期,请重新登录')
|
||||
return Promise.reject(new Error(msg || 'Access Token Invalid'))
|
||||
return Promise.reject(new Error(message || 'Access Token Invalid'))
|
||||
}
|
||||
|
||||
case ApiCodeEnum.REFRESH_TOKEN_INVALID:
|
||||
// Refresh Token 过期,跳转登录页
|
||||
await redirectToLogin('登录已过期,请重新登录')
|
||||
return Promise.reject(new Error(msg || 'Refresh Token Invalid'))
|
||||
return Promise.reject(new Error(message || 'Refresh Token Invalid'))
|
||||
|
||||
default:
|
||||
ElMessage.error(msg || '请求失败')
|
||||
return Promise.reject(new Error(msg || 'Request Error'))
|
||||
ElMessage.error(message || '请求失败')
|
||||
return Promise.reject(new Error(message || 'Request Error'))
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -64,7 +56,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -118,7 +110,7 @@
|
||||
<el-form-item label="情况" prop="situation">
|
||||
<el-input v-model="formData.situation" placeholder="请输入情况" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!formData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in personinchargeList"
|
||||
@@ -206,9 +198,14 @@ import { useAppStore } from '@/store/modules/app-store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { FinanceLoan, FinanceLoandisplay } from '@/api/calibration/accountAdjustmentApplication'
|
||||
import {
|
||||
FinanceDeleteAccounts,
|
||||
FinanceEditAccounts,
|
||||
FinanceLoan,
|
||||
FinanceLoandisplay
|
||||
} from '@/api/calibration/accountAdjustmentApplication'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -248,6 +245,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
times: '',
|
||||
ContractNo: '',
|
||||
CustomerID: '',
|
||||
@@ -310,15 +308,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改调帐申请'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增调帐申请'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditAccounts(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -369,7 +369,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeleteAccounts(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -381,58 +381,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<el-button v-else size="small" type="primary">点击选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="代办负责人" prop="personincharge">
|
||||
<el-form-item v-if="!newData?.id" label="代办负责人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in PersoninchargeList"
|
||||
@@ -69,6 +69,14 @@
|
||||
<script lang="ts" setup>
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { deepCloneByJSON, getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref()
|
||||
// 表单数据
|
||||
@@ -144,12 +152,22 @@ const DepartmentList = () => {
|
||||
|
||||
onMounted(() => {
|
||||
DepartmentList()
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
data1.file = getFileInfo(data1.file)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
|
||||
@@ -59,11 +59,7 @@
|
||||
<el-table-column label="盖着类型" prop="seal_type" />
|
||||
<el-table-column label="用印文件" prop="file">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.file && isValidJson(row.file)"
|
||||
:href="getFileInfo(row.file)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
<el-link v-if="row.file" :href="getFileInfo(row.file)?.url" target="_blank">
|
||||
{{ getFileInfo(row.file)?.name }}
|
||||
</el-link>
|
||||
<span v-else>无</span>
|
||||
@@ -78,7 +74,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -108,15 +104,16 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import StampingForm from './components/StampingForm.vue'
|
||||
|
||||
import { getFileInfo, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
import { getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
import {
|
||||
BusinessApplication,
|
||||
BusinessApplicationdetail
|
||||
BusinessApplicationdetail,
|
||||
BusinessDeleteApplication,
|
||||
BusinessEditApplication
|
||||
} from '@/api/calibration/applicationForSealApproval'
|
||||
|
||||
defineOptions({
|
||||
@@ -179,21 +176,20 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
if (data) {
|
||||
functionDialogBox(
|
||||
StampingForm,
|
||||
{},
|
||||
{
|
||||
newData: data
|
||||
},
|
||||
{
|
||||
title: '编辑申请用印',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
console.log('value', value)
|
||||
handleSubmit({ id: data.id, ...value })
|
||||
}
|
||||
// cancel() {
|
||||
// console.log("value");
|
||||
// },
|
||||
}
|
||||
)
|
||||
} else {
|
||||
@@ -216,13 +212,12 @@ function handleSubmit(data: any) {
|
||||
loading.value = true
|
||||
const roleId = data.id
|
||||
if (roleId) {
|
||||
// RoleAPI.update(roleId, formData)
|
||||
// .then(() => {
|
||||
// ElMessage.success('修改成功')
|
||||
// handleCloseDialog()
|
||||
// handleResetQuery()
|
||||
// })
|
||||
// .finally(() => (loading.value = false))
|
||||
BusinessEditApplication(data)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
} else {
|
||||
BusinessApplication(data)
|
||||
.then(() => {
|
||||
@@ -241,7 +236,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
BusinessDeleteApplication(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
label-width="auto"
|
||||
label-position="top"
|
||||
>
|
||||
<el-form-item label="预立案" prop="user_id">
|
||||
<el-form-item v-if="!newData?.id" label="预立案" prop="user_id">
|
||||
<el-select v-model="formData.user_id" placeholder="请选择预立案">
|
||||
<el-option
|
||||
v-for="(item, index) in userIdList"
|
||||
@@ -101,7 +101,7 @@
|
||||
<el-button v-else size="small" type="primary">点击选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="代办负责人" prop="personincharge">
|
||||
<el-form-item v-if="!newData?.id" label="代办负责人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办负责人">
|
||||
<el-option
|
||||
v-for="item in UndertakerList"
|
||||
@@ -125,6 +125,14 @@ import { Plus } from '@element-plus/icons-vue'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { BusinessRegistrationlist } from '@/api/calibration/preRegistration'
|
||||
import { deepCloneByJSON, getFileInfo, isValidFormat } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref()
|
||||
// 表单数据
|
||||
@@ -221,12 +229,26 @@ const onBusinessRegistrationlist = () => {
|
||||
onMounted(() => {
|
||||
onBusinessRegistrationlist()
|
||||
DepartmentList()
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
if (isValidFormat(data1.BiddingUnit)) {
|
||||
data1.BiddingUnit = JSON.parse(data1.BiddingUnit)
|
||||
} else {
|
||||
data1.BiddingUnit = []
|
||||
}
|
||||
data1.BiddingAnnouncement = getFileInfo(data1.BiddingAnnouncement)
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
@@ -254,7 +276,6 @@ defineExpose({
|
||||
<style scoped lang="scss">
|
||||
.pre-registration-form {
|
||||
width: 100%;
|
||||
height: 600px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
label-width="auto"
|
||||
label-position="top"
|
||||
>
|
||||
<el-form-item label="预立案" prop="user_id">
|
||||
<el-form-item v-if="!data?.user_id" label="预立案" prop="user_id">
|
||||
<el-select v-model="formData.user_id" placeholder="请选择预立案">
|
||||
<el-option
|
||||
v-for="(item, index) in userIdList"
|
||||
@@ -21,7 +21,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目类型" prop="type">
|
||||
<el-form-item v-if="!data?.user_id" label="项目类型" prop="type">
|
||||
<el-select v-model="formData.type" placeholder="请选择项目类型" @change="typeChange">
|
||||
<el-option
|
||||
v-for="(item, index) in typeList"
|
||||
@@ -31,7 +31,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="合同编号" prop="ContractNo">
|
||||
<el-form-item v-if="!data?.user_id" label="合同编号" prop="ContractNo">
|
||||
<el-input v-model="formData.ContractNo" disabled placeholder="选择项目类型生成" />
|
||||
</el-form-item>
|
||||
<el-form-item label="立项日期时间" prop="times">
|
||||
@@ -57,15 +57,6 @@
|
||||
<el-form-item label="收费情况" prop="charge">
|
||||
<el-input v-model="formData.charge" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" prop="description">
|
||||
<el-input
|
||||
v-model="formData.description"
|
||||
type="textarea"
|
||||
placeholder="描述"
|
||||
:rows="4"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="合同" prop="contract">
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
@@ -76,7 +67,7 @@
|
||||
:before-upload="handleBeforeUpload"
|
||||
>
|
||||
<div v-if="formData.contract" class="upload-preview">
|
||||
<span>{{ formData.contract.name }}</span>
|
||||
<span>{{ formData.contract?.name }}</span>
|
||||
<el-button type="danger" size="small" @click.stop="removeFile('contract')">
|
||||
删除
|
||||
</el-button>
|
||||
@@ -84,6 +75,16 @@
|
||||
<el-button v-else size="small" type="primary">点击选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="!data?.user_id" label="代办负责人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办负责人">
|
||||
<el-option
|
||||
v-for="item in UndertakerList"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:value="item.username"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
@@ -93,6 +94,7 @@ import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { BusinessProjectquerytype } from '@/api/calibration/conflictOfInterestSearch'
|
||||
import { BusinessRegistrationlist } from '@/api/calibration/preRegistration'
|
||||
import { deepCloneByJSON, getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
data: {
|
||||
@@ -131,7 +133,6 @@ const formRules = reactive<any>({
|
||||
type: [{ required: true, message: '请选择预立案日期', trigger: 'change' }],
|
||||
ContractNo: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
times: [{ required: true, message: '请选择预立案日期', trigger: 'change' }],
|
||||
description: [{ required: true, message: '请填写项目简述/案由', trigger: 'blur' }],
|
||||
responsiblefor: [{ required: true, message: '请选择负责人', trigger: 'change' }],
|
||||
charge: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
contract: [{ required: true, message: '请选择合同', trigger: 'blur' }],
|
||||
@@ -188,43 +189,25 @@ const onBusinessRegistrationlist = () => {
|
||||
})
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data) {
|
||||
Object.keys(formData).forEach((key) => {
|
||||
if (Object.prototype.hasOwnProperty.call(data, key)) {
|
||||
formData[key as keyof typeof formData] = data[key]
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
onBusinessRegistrationlist()
|
||||
DepartmentList()
|
||||
console.log(props.data)
|
||||
setFormData(props.data)
|
||||
})
|
||||
|
||||
// watch(
|
||||
// () => props.data,
|
||||
// (newValue) => {
|
||||
// // type: '',
|
||||
// // ContractNo: '',
|
||||
// // times: '',
|
||||
// // responsiblefor: '',
|
||||
// // charge: '',
|
||||
// // contract: undefined,
|
||||
// // personincharge: '',
|
||||
// // user_id: ''
|
||||
// console.log(newValue)
|
||||
// },
|
||||
// { immediate: true }
|
||||
// )
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
data1.contract = getFileInfo(data1.contract)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
@@ -246,7 +229,6 @@ defineExpose({
|
||||
<style scoped lang="scss">
|
||||
.pre-registration-form {
|
||||
width: 100%;
|
||||
height: 600px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -44,32 +44,40 @@
|
||||
<el-table-column label="委托人信息" align="center" prop="client_username">
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="相对方信息" align="center" prop="party_username">
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
@@ -79,11 +87,7 @@
|
||||
<el-table-column label="收费情况" align="center" prop="charge" />
|
||||
<el-table-column label="合同" align="center" prop="contract">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.contract && isValidJson(row.contract)"
|
||||
:href="getFileInfo(row.contract)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
<el-link v-if="row.contract" :href="getFileInfo(row.contract)?.url" target="_blank">
|
||||
{{ getFileInfo(row.contract)?.name }}
|
||||
</el-link>
|
||||
<span v-else>无</span>
|
||||
@@ -101,6 +105,15 @@
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
icon="delete"
|
||||
@click="onUserDeleteDepartment(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -130,53 +143,76 @@
|
||||
<el-table-column label="委托人信息" align="center" prop="client_username">
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="相对方信息" align="center" prop="party_username">
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="招标单位信息" align="center" prop="BiddingUnit">
|
||||
<el-table-column v-slot="{ row }" prop="BiddingUnit" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.BiddingUnit)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.BiddingUnit)
|
||||
? JSON.parse(row.BiddingUnit)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="BiddingUnit" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.BiddingUnit)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.BiddingUnit)
|
||||
? JSON.parse(row.BiddingUnit)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目名称" align="center" prop="ProjectName" />
|
||||
<el-table-column label="上传招标公告" align="center" prop="BiddingAnnouncement" />
|
||||
<el-table-column label="上传招标公告" align="center" prop="BiddingAnnouncement">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.BiddingAnnouncement"
|
||||
:href="getFileInfo(row.BiddingAnnouncement)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
{{ getFileInfo(row.BiddingAnnouncement)?.name }}
|
||||
</el-link>
|
||||
<span v-else>无</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请日期" align="center" prop="times" />
|
||||
<el-table-column label="操作" align="center" width="220">
|
||||
<template #default="scope">
|
||||
@@ -185,10 +221,19 @@
|
||||
icon="edit"
|
||||
size="small"
|
||||
link
|
||||
@click="handleResetPassword(scope.row)"
|
||||
@click="handleOpenDialog2(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
icon="delete"
|
||||
@click="onUserDeleteDepartment2(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -213,17 +258,25 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
|
||||
// ==================== 3. 类型定义 ====================
|
||||
import type { UserPageVO } from '@/api/system/user-api'
|
||||
// ==================== 4. API 服务 ====================
|
||||
import UserAPI from '@/api/system/user-api'
|
||||
|
||||
// ==================== 7. Composables ====================
|
||||
import { useTableSelection } from '@/composables'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import BusinessProjectForm from './components/BusinessProjectForm.vue'
|
||||
import { BusinessProject, BusinessProjectdetail } from '@/api/calibration/conflictOfInterestSearch'
|
||||
import {
|
||||
BusinessDeleteProject,
|
||||
BusinessEditproject,
|
||||
BusinessProject,
|
||||
BusinessProjectdetail
|
||||
} from '@/api/calibration/conflictOfInterestSearch'
|
||||
import BidRegistrationForm from './components/BidRegistrationForm.vue'
|
||||
import { BusinessBid, BusinessBiddetail } from '@/api/calibration/bidRegistration'
|
||||
import { getFileInfo, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
import {
|
||||
BusinessBid,
|
||||
BusinessBiddetail,
|
||||
BusinessDeleteBid,
|
||||
BusinessEditBid
|
||||
} from '@/api/calibration/bidRegistration'
|
||||
import { getFileInfo, isValidFormat } from '@/utils/auxiliaryFunction'
|
||||
|
||||
// ==================== 组件配置 ====================
|
||||
defineOptions({
|
||||
@@ -298,8 +351,8 @@ const { handleSelectionChange } = useTableSelection<UserPageVO>()
|
||||
function handleQuery(biaoshi: string = '1'): Promise<void> {
|
||||
queryParams.pageNum = 1
|
||||
queryParams2.pageNum = 1
|
||||
if (biaoshi == '1' || biaoshi == '2') fetchUserList2()
|
||||
if (biaoshi == '1' || biaoshi == '3') fetchUserList()
|
||||
if (biaoshi == '1' || biaoshi == '2') fetchUserList()
|
||||
if (biaoshi == '1' || biaoshi == '3') fetchUserList2()
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
@@ -312,31 +365,7 @@ function handleResetQuery(biaoshi: string = '1'): void {
|
||||
queryParams.createTime = undefined
|
||||
handleQuery(biaoshi)
|
||||
}
|
||||
// ==================== 用户操作 ====================
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
* @param row 用户数据
|
||||
*/
|
||||
function handleResetPassword(row: UserPageVO): void {
|
||||
ElMessageBox.prompt(`请输入用户【${row.username}】的新密码`, '重置密码', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputPattern: /.{6,}/,
|
||||
inputErrorMessage: '密码至少需要6位字符'
|
||||
})
|
||||
.then(({ value }) => {
|
||||
return UserAPI.resetPassword(row.id, value)
|
||||
})
|
||||
.then(() => {
|
||||
ElMessage.success('密码重置成功')
|
||||
})
|
||||
.catch((error) => {
|
||||
if (error !== 'cancel') {
|
||||
ElMessage.error('密码重置失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
// ==================== 弹窗操作 ====================
|
||||
function handleOpenDialog(data: any = null) {
|
||||
if (data) {
|
||||
@@ -349,7 +378,7 @@ function handleOpenDialog(data: any = null) {
|
||||
title: '编辑立案登记',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
handleSubmit(value)
|
||||
handleSubmit({ id: data.id, ...value })
|
||||
}
|
||||
}
|
||||
)
|
||||
@@ -367,18 +396,34 @@ function handleOpenDialog(data: any = null) {
|
||||
)
|
||||
}
|
||||
}
|
||||
async function handleOpenDialog2(): Promise<void> {
|
||||
functionDialogBox(
|
||||
BidRegistrationForm,
|
||||
{},
|
||||
{
|
||||
title: '新增投标登记',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
handleSubmit2(value)
|
||||
function handleOpenDialog2(data: any = null) {
|
||||
if (data) {
|
||||
functionDialogBox(
|
||||
BidRegistrationForm,
|
||||
{
|
||||
newData: data
|
||||
},
|
||||
{
|
||||
title: '编辑投标登记',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
handleSubmit2({ id: data.id, ...value })
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
)
|
||||
} else {
|
||||
functionDialogBox(
|
||||
BidRegistrationForm,
|
||||
{},
|
||||
{
|
||||
title: '新增投标登记',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
handleSubmit2(value)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -390,7 +435,7 @@ const handleSubmit = useDebounceFn(async (data: any) => {
|
||||
|
||||
try {
|
||||
if (userId) {
|
||||
// await UserAPI.update(userId, formData)
|
||||
await BusinessEditproject(data)
|
||||
ElMessage.success('修改用户成功')
|
||||
} else {
|
||||
await BusinessProject(data)
|
||||
@@ -410,7 +455,7 @@ const handleSubmit2 = useDebounceFn(async (data: any) => {
|
||||
|
||||
try {
|
||||
if (userId) {
|
||||
// await UserAPI.update(userId, formData)
|
||||
await BusinessEditBid({ ...data, BiddingUnit: JSON.stringify(data.BiddingUnit) })
|
||||
ElMessage.success('修改用户成功')
|
||||
} else {
|
||||
await BusinessBid({
|
||||
@@ -428,6 +473,48 @@ const handleSubmit2 = useDebounceFn(async (data: any) => {
|
||||
}
|
||||
}, 300)
|
||||
|
||||
const onUserDeleteDepartment = (id: string) => {
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
BusinessDeleteProject(id)
|
||||
.then((res: any) => {
|
||||
ElMessage.success(res.message)
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
const onUserDeleteDepartment2 = (id: string) => {
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
BusinessDeleteBid(id)
|
||||
.then((res: any) => {
|
||||
ElMessage.success(res.message)
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// ==================== 生命周期 ====================
|
||||
|
||||
/**
|
||||
|
||||
@@ -162,6 +162,14 @@
|
||||
<script lang="ts" setup>
|
||||
import { Delete, Plus } from '@element-plus/icons-vue'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { deepCloneByJSON, isValidFormat } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref()
|
||||
// 表单数据
|
||||
@@ -297,12 +305,31 @@ const DepartmentList = () => {
|
||||
|
||||
onMounted(() => {
|
||||
DepartmentList()
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
if (isValidFormat(data1.client_username)) {
|
||||
data1.client_username = JSON.parse(data1.client_username)
|
||||
} else {
|
||||
data1.client_username = []
|
||||
}
|
||||
if (isValidFormat(data1.party_username)) {
|
||||
data1.party_username = JSON.parse(data1.party_username)
|
||||
} else {
|
||||
data1.party_username = []
|
||||
}
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -51,36 +43,43 @@
|
||||
class="data-table__content"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="委托人信息" align="center" prop="client_username">
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="client_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.client_username)
|
||||
? JSON.parse(row.client_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="相对方信息" align="center" prop="party_username">
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="自然人姓名/法人名称">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.name)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
<el-table-column v-slot="{ row }" prop="party_username" label="身份证号码/统一代码">
|
||||
{{
|
||||
JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
isValidFormat(row.party_username)
|
||||
? JSON.parse(row.party_username)
|
||||
.map((item: any) => item.idNumber)
|
||||
.join(',')
|
||||
: '异常'
|
||||
}}
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
@@ -94,7 +93,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -123,12 +122,18 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import PreRegistrationForm from './components/PreRegistrationForm.vue'
|
||||
import { BusinessRegister, BusinessRegisterdetail } from '@/api/calibration/preRegistration'
|
||||
import {
|
||||
BusinessDeleteRegistration,
|
||||
BusinessEditRegistration,
|
||||
BusinessRegister,
|
||||
BusinessRegisterdetail
|
||||
} from '@/api/calibration/preRegistration'
|
||||
import { isValidFormat } from '@/utils/auxiliaryFunction'
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -193,21 +198,22 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data?: any) {
|
||||
dialog.visible = true
|
||||
const roleId = data?.id
|
||||
if (roleId) {
|
||||
functionDialogBox(
|
||||
PreRegistrationForm,
|
||||
{},
|
||||
{
|
||||
newData: data
|
||||
},
|
||||
{
|
||||
title: '编辑预立案登记',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
console.log('value', value)
|
||||
handleSubmit({ id: roleId, ...value })
|
||||
}
|
||||
// cancel() {
|
||||
// console.log("value");
|
||||
// },
|
||||
}
|
||||
)
|
||||
} else {
|
||||
@@ -220,9 +226,6 @@ function handleOpenDialog(roleId?: string) {
|
||||
ok(value: any) {
|
||||
handleSubmit(value)
|
||||
}
|
||||
// cancel() {
|
||||
// console.log("value");
|
||||
// },
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -233,13 +236,16 @@ function handleSubmit(data: any) {
|
||||
loading.value = true
|
||||
const roleId = data.id
|
||||
if (roleId) {
|
||||
// RoleAPI.update(roleId, formData)
|
||||
// .then(() => {
|
||||
// ElMessage.success('修改成功')
|
||||
// handleCloseDialog()
|
||||
// handleResetQuery()
|
||||
// })
|
||||
// .finally(() => (loading.value = false))
|
||||
BusinessEditRegistration({
|
||||
...data,
|
||||
client_username: JSON.stringify(data.client_username),
|
||||
party_username: JSON.stringify(data.party_username)
|
||||
})
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
} else {
|
||||
BusinessRegister({
|
||||
...data,
|
||||
@@ -262,36 +268,9 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
BusinessDeleteRegistration(id)
|
||||
.then((res: any) => {
|
||||
ElMessage.success(res.message)
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
label-width="auto"
|
||||
label-position="top"
|
||||
>
|
||||
<el-form-item label="预立案" prop="user_id">
|
||||
<el-form-item v-if="!newData?.id" label="预立案" prop="user_id">
|
||||
<el-select v-model="formData.user_id" placeholder="请选择预立案">
|
||||
<el-option
|
||||
v-for="(item, index) in userIdList"
|
||||
@@ -91,7 +91,7 @@
|
||||
<el-form-item label="已收款" prop="paymentcollection">
|
||||
<el-input v-model="formData.paymentcollection" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!newData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in PersoninchargeList"
|
||||
@@ -114,7 +114,15 @@
|
||||
<script lang="ts" setup>
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { BusinessPreFilingLinkedCases, BusinessRegistrationlist } from "@/api/calibration/preRegistration";
|
||||
import { BusinessPreFilingLinkedCases } from '@/api/calibration/preRegistration'
|
||||
import { deepCloneByJSON, getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref()
|
||||
// 表单数据
|
||||
@@ -180,12 +188,24 @@ const onBusinessRegistrationlist = () => {
|
||||
onMounted(() => {
|
||||
onBusinessRegistrationlist()
|
||||
DepartmentList()
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
data1.AgencyContract = getFileInfo(data1.AgencyContract)
|
||||
data1.Contractreturn = getFileInfo(data1.Contractreturn)
|
||||
data1.Closingapplication = getFileInfo(data1.Closingapplication)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<el-table-column label="代理合同" align="center" prop="AgencyContract">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.AgencyContract && isValidJson(row.AgencyContract)"
|
||||
v-if="row.AgencyContract"
|
||||
:href="getFileInfo(row.AgencyContract)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
@@ -68,7 +68,7 @@
|
||||
<el-table-column label="合同返还" align="center" prop="Contractreturn">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.Contractreturn && isValidJson(row.Contractreturn)"
|
||||
v-if="row.Contractreturn"
|
||||
:href="getFileInfo(row.Contractreturn)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
@@ -80,7 +80,7 @@
|
||||
<el-table-column label="结案申请" align="center" prop="Closingapplication">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.Closingapplication && isValidJson(row.Closingapplication)"
|
||||
v-if="row.Closingapplication"
|
||||
:href="getFileInfo(row.Closingapplication)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
@@ -154,7 +154,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -184,7 +184,6 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import CaseManagementForm from './components/CaseManagementForm.vue'
|
||||
@@ -193,8 +192,9 @@ import CaseInvoiceComponent from './components/CaseInvoiceComponent/index.vue'
|
||||
import {
|
||||
BusinessAccumulate,
|
||||
BusinessCasemanagement,
|
||||
BusinessCasemanagementdetail
|
||||
} from '@/api/calibration/caseManagement'
|
||||
BusinessCasemanagementdetail,
|
||||
BusinessDeleteCase, BusinessEditCase,
|
||||
} from "@/api/calibration/caseManagement";
|
||||
import { getFileInfo, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
import CumulativeReceivedPaymentForm from '@/views/calibration/caseManagement/components/CumulativeReceivedPaymentForm.vue'
|
||||
|
||||
@@ -261,21 +261,20 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
if (data) {
|
||||
functionDialogBox(
|
||||
CaseManagementForm,
|
||||
{},
|
||||
{
|
||||
title: '编辑预立案登记',
|
||||
newData: data
|
||||
},
|
||||
{
|
||||
title: '编辑案件',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
console.log('value', value)
|
||||
handleSubmit({ id: data.id, ...value })
|
||||
}
|
||||
// cancel() {
|
||||
// console.log("value");
|
||||
// },
|
||||
}
|
||||
)
|
||||
} else {
|
||||
@@ -349,13 +348,12 @@ function handleSubmit(data: any) {
|
||||
loading.value = true
|
||||
const roleId = data.id
|
||||
if (roleId) {
|
||||
// RoleAPI.update(roleId, formData)
|
||||
// .then(() => {
|
||||
// ElMessage.success('修改成功')
|
||||
// handleCloseDialog()
|
||||
// handleResetQuery()
|
||||
// })
|
||||
// .finally(() => (loading.value = false))
|
||||
BusinessEditCase(data)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
} else {
|
||||
BusinessCasemanagement(data)
|
||||
.then(() => {
|
||||
@@ -374,7 +372,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
BusinessDeleteCase(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
|
||||
@@ -52,6 +52,14 @@
|
||||
<script lang="ts" setup>
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { deepCloneByJSON, getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref()
|
||||
// 表单数据
|
||||
@@ -103,12 +111,22 @@ const DepartmentList = () => {
|
||||
|
||||
onMounted(() => {
|
||||
DepartmentList()
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
const getForm = () => {
|
||||
return formData
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
data1.contract = getFileInfo(data1.contract)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
const submit = (): Promise<boolean> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value?.validate((valid: boolean) => {
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -58,11 +50,7 @@
|
||||
<el-table-column label="入库期限" prop="deadline" />
|
||||
<el-table-column label="用印文件" prop="contract">
|
||||
<template #default="{ row }">
|
||||
<el-link
|
||||
v-if="row.contract && isValidJson(row.contract)"
|
||||
:href="getFileInfo(row.contract)?.url"
|
||||
target="_blank"
|
||||
>
|
||||
<el-link v-if="row.contract" :href="getFileInfo(row.contract)?.url" target="_blank">
|
||||
{{ getFileInfo(row.contract)?.name }}
|
||||
</el-link>
|
||||
<span v-else>无</span>
|
||||
@@ -76,7 +64,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -106,13 +94,14 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import StampingForm from './components/StampingForm.vue'
|
||||
|
||||
import { getFileInfo, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
import { getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
import {
|
||||
BusinessDeleteWarehousing,
|
||||
BusinessEditWarehousing,
|
||||
BusinessWarehousing,
|
||||
BusinessWarehousingdetail
|
||||
} from '@/api/calibration/inventoryRegistration'
|
||||
@@ -177,21 +166,20 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
if (data) {
|
||||
functionDialogBox(
|
||||
StampingForm,
|
||||
{},
|
||||
{
|
||||
newData: data
|
||||
},
|
||||
{
|
||||
title: '编辑申请用印',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
console.log('value', value)
|
||||
handleSubmit({ id: data.id, ...value })
|
||||
}
|
||||
// cancel() {
|
||||
// console.log("value");
|
||||
// },
|
||||
}
|
||||
)
|
||||
} else {
|
||||
@@ -214,13 +202,12 @@ function handleSubmit(data: any) {
|
||||
loading.value = true
|
||||
const roleId = data.id
|
||||
if (roleId) {
|
||||
// RoleAPI.update(roleId, formData)
|
||||
// .then(() => {
|
||||
// ElMessage.success('修改成功')
|
||||
// handleCloseDialog()
|
||||
// handleResetQuery()
|
||||
// })
|
||||
// .finally(() => (loading.value = false))
|
||||
BusinessEditWarehousing(data)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
} else {
|
||||
BusinessWarehousing(data)
|
||||
.then(() => {
|
||||
@@ -239,7 +226,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
BusinessDeleteWarehousing(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -69,7 +61,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -209,9 +201,14 @@ import { useUserStore } from '@/store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { FinanceIssueDetail, FinanceIssueInvoice } from '@/api/calibration/invoiceApplication'
|
||||
import {
|
||||
FinanceDeleteInvoice,
|
||||
FinanceEditInvoice,
|
||||
FinanceIssueDetail,
|
||||
FinanceIssueInvoice
|
||||
} from '@/api/calibration/invoiceApplication'
|
||||
import { QuestionFilled, Switch } from '@element-plus/icons-vue'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -251,6 +248,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
ContractNo: '',
|
||||
personincharge: '',
|
||||
amount: '',
|
||||
@@ -318,15 +316,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改开票申请'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增开票申请'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditInvoice(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -378,7 +378,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeleteInvoice(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -390,58 +390,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<div class="item-arrow">
|
||||
<el-link
|
||||
v-if="item.file && isValidJson(item.file)"
|
||||
v-if="item.file"
|
||||
type="primary"
|
||||
:href="getFileInfo(item.file)?.url"
|
||||
target="_blank"
|
||||
@@ -40,10 +40,10 @@ import {
|
||||
import { BusinessEditBulletin } from '@/api/calibration/announcementManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import LawFirmStandardsForm from './components/LawFirmStandardsForm.vue'
|
||||
import { getFileInfo, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
import { getFileInfo } from '@/utils/auxiliaryFunction'
|
||||
|
||||
// 定义列表数据
|
||||
const performanceList = ref([])
|
||||
const performanceList = ref<any[]>([])
|
||||
|
||||
// 获取数据
|
||||
function fetchData() {
|
||||
@@ -117,13 +117,12 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
BusinessLwaDetail(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
.finally(() => ({}))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
@@ -132,7 +131,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
|
||||
// 点击事件处理
|
||||
function handleItemClick(item) {
|
||||
function handleItemClick(item: any) {
|
||||
ElMessage.info(`您点击了:${item.title}`)
|
||||
|
||||
// 这里可以添加跳转或其他逻辑
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { convertFilePathsToObject, isValidJson } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
@@ -68,11 +67,7 @@ function deepCloneByJSON(obj: any) {
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
if (data1.file && isValidJson(data1.file)) {
|
||||
data1.file = convertFilePathsToObject(JSON.parse(data1.file))[0]
|
||||
} else {
|
||||
data1.file = undefined
|
||||
}
|
||||
data1.tiems = [data1.tiems, data1.end_time]
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,14 +4,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -74,13 +66,13 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { functionDialogBox } from '@/utils/functionDialogBox'
|
||||
import LmportantScheduleForm from './components/LmportantScheduleForm.vue'
|
||||
import { BusinessEditBulletin } from '@/api/calibration/announcementManagement'
|
||||
import {
|
||||
BusinessDscheduledetail,
|
||||
BusinessEditSchedule,
|
||||
BusinessHandleSchedule,
|
||||
BusinessSchedule,
|
||||
BusinessScheduleDetail
|
||||
@@ -101,8 +93,6 @@ const personinchargeList = ref<any[]>([])
|
||||
const queryParams = reactive<any>({
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
// times: [],
|
||||
// unit: ''
|
||||
})
|
||||
|
||||
// 表格数据
|
||||
@@ -182,7 +172,7 @@ function handleSubmit(data: any) {
|
||||
loading.value = true
|
||||
const roleId = data.id
|
||||
if (roleId) {
|
||||
BusinessEditBulletin(data)
|
||||
BusinessEditSchedule(data)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleResetQuery()
|
||||
@@ -219,7 +209,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
)
|
||||
}
|
||||
|
||||
const CompleteTheSchedule = (data) => {
|
||||
const CompleteTheSchedule = (data: any) => {
|
||||
ElMessageBox.confirm('确认已经完成该日程吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
@@ -235,34 +225,6 @@ const CompleteTheSchedule = (data) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
const DepartmentList = () => {
|
||||
UserPersonneldisplay().then((res: any) => {
|
||||
personinchargeList.value = res.data
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -66,7 +58,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -126,7 +118,7 @@
|
||||
<el-form-item label="申请人" prop="applicant">
|
||||
<el-input v-model="formData.applicant" placeholder="请输入申请人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!formData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in personinchargeList"
|
||||
@@ -214,12 +206,14 @@ import { useAppStore } from '@/store/modules/app-store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import {
|
||||
FinanceDeletePayment,
|
||||
FinanceEditPayment,
|
||||
FinancePaymentDisplay,
|
||||
FinancePaymentRequest
|
||||
} from '@/api/calibration/paymentApplicationForm'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -259,6 +253,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
reason: '',
|
||||
amount: '',
|
||||
times: '',
|
||||
@@ -325,15 +320,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改付款申请单'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增付款申请单'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,7 +341,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditPayment(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -384,7 +381,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeletePayment(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -396,58 +393,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
v-for="(item, index) in roleList"
|
||||
:key="index"
|
||||
:label="item.RoleName"
|
||||
:value="item.id"
|
||||
:value="Number(item.id)"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -769,7 +769,9 @@ async function handleOpenDialog(data?: any): Promise<void> {
|
||||
} else {
|
||||
data1.ApplicationForm = undefined
|
||||
}
|
||||
|
||||
data1.department = data1.department.map((item: any) => item.id)
|
||||
data1.role = data1.role.map((item: any) => item.id)
|
||||
console.log(data1.department, data1.role)
|
||||
Object.assign(formData, data1)
|
||||
} catch (error) {
|
||||
ElMessage.error('加载用户数据失败')
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -64,7 +56,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -118,7 +110,7 @@
|
||||
<el-form-item label="费用说明" prop="FeeDescription">
|
||||
<el-input v-model="formData.FeeDescription" placeholder="请输入费用说明" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!formData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in personinchargeList"
|
||||
@@ -206,9 +198,14 @@ import { useAppStore } from '@/store/modules/app-store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { FinanceReidetail, FinanceReimbursement } from '@/api/calibration/reimbursement'
|
||||
import {
|
||||
FinanceDeleteReimbursement,
|
||||
FinanceEditReimbursement,
|
||||
FinanceReidetail,
|
||||
FinanceReimbursement
|
||||
} from '@/api/calibration/reimbursement'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -248,6 +245,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
person: '',
|
||||
times: '',
|
||||
reason: '',
|
||||
@@ -310,15 +308,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改报销申请'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增报销申请'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditReimbursement(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -369,7 +369,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeleteReimbursement(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -381,58 +381,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -64,7 +56,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -118,7 +110,7 @@
|
||||
<el-form-item label="收入分配" prop="allocate">
|
||||
<el-input v-model="formData.allocate" placeholder="请输入收入分配" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!formData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in personinchargeList"
|
||||
@@ -206,9 +198,14 @@ import { useAppStore } from '@/store/modules/app-store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { FinanceConfirm, FinanceConfirmdisplay } from '@/api/calibration/revenueRecognition'
|
||||
import {
|
||||
FinanceConfirm,
|
||||
FinanceConfirmdisplay,
|
||||
FinanceDeleteIncome,
|
||||
FinanceEditIncome
|
||||
} from '@/api/calibration/revenueRecognition'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -248,6 +245,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
times: '',
|
||||
ContractNo: '',
|
||||
CustomerID: '',
|
||||
@@ -265,7 +263,7 @@ const rules = reactive({
|
||||
personincharge: [{ required: true, message: '请输入工资', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
// 选中的角色
|
||||
// 选中的
|
||||
interface CheckedRole {
|
||||
id?: string
|
||||
name?: string
|
||||
@@ -310,15 +308,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改收入确认'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增收入确认'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditIncome(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -369,7 +369,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeleteIncome(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -381,58 +381,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
const props = defineProps({
|
||||
newData: {
|
||||
@@ -42,15 +43,6 @@ onMounted(() => {
|
||||
setFormData(props.newData)
|
||||
})
|
||||
|
||||
function deepCloneByJSON(obj: any) {
|
||||
try {
|
||||
return JSON.parse(JSON.stringify(obj))
|
||||
} catch (error) {
|
||||
console.error('深拷贝失败:', error)
|
||||
return obj
|
||||
}
|
||||
}
|
||||
|
||||
const setFormData = (data: any) => {
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
@@ -112,6 +112,7 @@ import {
|
||||
BusinessDeleteRole,
|
||||
BusinessDisplayRole,
|
||||
BusinessEditRole,
|
||||
BusinessGetRolePermissions,
|
||||
BusinessModifypermissions
|
||||
} from '@/api/calibration/roleManagement'
|
||||
|
||||
@@ -226,18 +227,21 @@ function handleSubmit(data: any) {
|
||||
}
|
||||
|
||||
const grantPermissions = (id: string) => {
|
||||
functionDialogBox(
|
||||
GrantPermissionsForm,
|
||||
{},
|
||||
{
|
||||
title: '权限分配',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
console.log(value)
|
||||
onBusinessModifypermissions({ id, permissionId: value })
|
||||
BusinessGetRolePermissions(id).then((res: any) => {
|
||||
functionDialogBox(
|
||||
GrantPermissionsForm,
|
||||
{
|
||||
newData: res.data
|
||||
},
|
||||
{
|
||||
title: '权限分配',
|
||||
width: '900',
|
||||
ok(value: any) {
|
||||
onBusinessModifypermissions({ id, permissionId: value })
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
const onBusinessModifypermissions = (data: any) => {
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
<div class="data-table__toolbar">
|
||||
<div class="data-table__toolbar--actions">
|
||||
<el-button type="success" icon="plus" @click="handleOpenDialog()">新增</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
:disabled="ids.length === 0"
|
||||
icon="delete"
|
||||
@click="handleDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -64,7 +56,7 @@
|
||||
size="small"
|
||||
link
|
||||
icon="edit"
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
@click="handleOpenDialog(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -107,7 +99,7 @@
|
||||
<el-form-item label="调整说明" prop="Instructions">
|
||||
<el-input v-model="formData.Instructions" placeholder="请输入调整说明" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代办审核人" prop="personincharge">
|
||||
<el-form-item v-if="!formData?.id" label="代办审核人" prop="personincharge">
|
||||
<el-select v-model="formData.personincharge" placeholder="请选择代办审核人">
|
||||
<el-option
|
||||
v-for="item in personinchargeList"
|
||||
@@ -195,9 +187,14 @@ import { useAppStore } from '@/store/modules/app-store'
|
||||
import { DeviceEnum } from '@/enums/settings/device-enum'
|
||||
|
||||
import RoleAPI, { RolePageVO } from '@/api/system/role-api'
|
||||
import { UserDeleteDepartment } from '@/api/calibration/department'
|
||||
import { UserPersonneldisplay } from '@/api/calibration/personnelManagement'
|
||||
import { FinanceChange, FinanceChangeDetail } from '@/api/calibration/salaryBonusAdjustment'
|
||||
import {
|
||||
FinanceChange,
|
||||
FinanceChangeDetail,
|
||||
FinanceDeleteBonusChange,
|
||||
FinanceEditBonusChange
|
||||
} from '@/api/calibration/salaryBonusAdjustment'
|
||||
import { deepCloneByJSON } from '@/utils/auxiliaryFunction'
|
||||
|
||||
defineOptions({
|
||||
name: 'Role',
|
||||
@@ -237,6 +234,7 @@ const drawerSize = computed(() => (appStore.device === DeviceEnum.DESKTOP ? '600
|
||||
|
||||
// 角色表单
|
||||
const formData = reactive<any>({
|
||||
id: '',
|
||||
username: '',
|
||||
type: '',
|
||||
Instructions: '',
|
||||
@@ -295,15 +293,17 @@ function handleSelectionChange(selection: any) {
|
||||
}
|
||||
|
||||
// 打开角色弹窗
|
||||
function handleOpenDialog(roleId?: string) {
|
||||
function handleOpenDialog(data: any = null) {
|
||||
dialog.visible = true
|
||||
if (roleId) {
|
||||
dialog.title = '修改角色'
|
||||
RoleAPI.getFormData(roleId).then((data) => {
|
||||
Object.assign(formData, data)
|
||||
})
|
||||
if (data) {
|
||||
dialog.title = '修改工资/奖金变更'
|
||||
if (data && Object.keys(data).length > 0) {
|
||||
const data1 = deepCloneByJSON(data)
|
||||
|
||||
Object.assign(formData, data1)
|
||||
}
|
||||
} else {
|
||||
dialog.title = '新增角色'
|
||||
dialog.title = '新增工资/奖金变更'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -314,7 +314,7 @@ function handleSubmit() {
|
||||
loading.value = true
|
||||
const roleId = formData.id
|
||||
if (roleId) {
|
||||
RoleAPI.update(roleId, formData)
|
||||
FinanceEditBonusChange(formData)
|
||||
.then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
handleCloseDialog()
|
||||
@@ -354,7 +354,7 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
UserDeleteDepartment(id)
|
||||
FinanceDeleteBonusChange(id)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
@@ -366,58 +366,6 @@ const onUserDeleteDepartment = (id: string) => {
|
||||
}
|
||||
)
|
||||
}
|
||||
// 删除角色
|
||||
function handleDelete(roleId?: number) {
|
||||
const roleIds = [roleId || ids.value].join(',')
|
||||
if (!roleIds) {
|
||||
ElMessage.warning('请勾选删除项')
|
||||
return
|
||||
}
|
||||
|
||||
ElMessageBox.confirm('确认删除已选中的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(
|
||||
() => {
|
||||
loading.value = true
|
||||
RoleAPI.deleteByIds(roleIds)
|
||||
.then(() => {
|
||||
ElMessage.success('删除成功')
|
||||
handleResetQuery()
|
||||
})
|
||||
.finally(() => (loading.value = false))
|
||||
},
|
||||
() => {
|
||||
ElMessage.info('已取消删除')
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 打开分配菜单权限弹窗
|
||||
// async function handleOpenAssignPermDialog(row: RolePageVO) {
|
||||
// const roleId = row.id;
|
||||
// if (roleId) {
|
||||
// assignPermDialogVisible.value = true;
|
||||
// loading.value = true;
|
||||
//
|
||||
// checkedRole.value.id = roleId;
|
||||
// checkedRole.value.name = row.name;
|
||||
//
|
||||
// // 获取所有的菜单
|
||||
// menuPermOptions.value = await MenuAPI.getOptions();
|
||||
//
|
||||
// // 回显角色已拥有的菜单
|
||||
// RoleAPI.getRoleMenuIds(roleId)
|
||||
// .then((data) => {
|
||||
// const checkedMenuIds = data;
|
||||
// checkedMenuIds.forEach((menuId) => permTreeRef.value!.setChecked(menuId, true, false));
|
||||
// })
|
||||
// .finally(() => {
|
||||
// loading.value = false;
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 分配菜单权限提交
|
||||
function handleAssignPermSubmit() {
|
||||
|
||||
@@ -47,9 +47,9 @@ export default defineConfig(({ mode }: ConfigEnv) => {
|
||||
'/dev-api/api2': {
|
||||
changeOrigin: true,
|
||||
// target: 'http://47.108.113.7:8000',
|
||||
target: 'http://47.108.113.7:8000',
|
||||
// target: 'http://47.108.113.7:8000',
|
||||
// target: 'http://192.168.31.69:8006',
|
||||
// target: 'http://199.168.137.123:8000',
|
||||
target: 'http://199.168.137.123:8000',
|
||||
rewrite: (path: string) => {
|
||||
return path.replace(/^\/dev-api\/api2/, '')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user