修改问题

pull/781/head
zy 2025-06-03 19:50:45 +08:00
parent 6df32291ed
commit 3e56a8c787
16 changed files with 317 additions and 326 deletions

View File

@ -1036,6 +1036,17 @@ const remainingRouter: AppRouteRecordRaw[] = [
}, },
component: () => import('@/views/hrm/talentpool/TalentPoolForm.vue') component: () => import('@/views/hrm/talentpool/TalentPoolForm.vue')
}, },
{
path: 'recruitmentrequest/RecruitmentRequestForm',
name: 'RecruitmentRequestAdd',
meta: {
title: '招聘新增',
noCache: true,
hidden: true,
activeMenu: '/hrm/recruitmentrequest'
},
component: () => import('@/views/hrm/recruitmentrequest/RecruitmentRequestForm.vue')
},
] ]
}, },
{ {

View File

@ -189,7 +189,6 @@ const BusinessFormComponentRef = ref('')
const updataData = () => { const updataData = () => {
BusinessFormComponentRef.value.submitForm() BusinessFormComponentRef.value.submitForm()
console.log('%csrc/views/bpm/processInstance/detail/index.vue:189 BusinessFormComponentRef', 'color: pink;', BusinessFormComponentRef);
} }
/** 加载流程实例 */ /** 加载流程实例 */

View File

@ -176,13 +176,13 @@
</template> </template>
<template #extensionDate> <template #extensionDate>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="调整金额截止日期" prop="extensionDate"> <el-form-item label="调整截止日期" prop="extensionDate">
<el-date-picker <el-date-picker
v-model="formData.extensionDate" v-model="formData.extensionDate"
:disabled="formFields.extensionDate !== 2 || isTrue" :disabled="formFields.extensionDate !== 2 || isTrue"
type="date" type="date"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
placeholder="调整金额截止日期" placeholder="调整截止日期"
style="width: 100%" style="width: 100%"
/> />
</el-form-item> </el-form-item>
@ -384,7 +384,9 @@ const changeYear = (val) => {
let year = time.getFullYear() let year = time.getFullYear()
let month = time.getMonth() + 1 let month = time.getMonth() + 1
let day = time.getDate() let day = time.getDate()
formData.value.extensionDate = Number(year) + Number(formData.value.extensionYears) + '-' + month + '-' + day let newMonth = month <= 10 ? ("0" + month) :month
let newDay = day <= 10 ? ("0" + day) :day
formData.value.extensionDate = Number(year) + Number(formData.value.extensionYears) + '-' + newMonth + '-' + newDay
} }
} }

View File

@ -443,7 +443,7 @@ if(contractFormRef.value) {
dialogVisible.value = false dialogVisible.value = false
// return // return
await ContractApi.changeContractUpdate(data) await ContractApi.changeContractUpdate(data)
message.success(t('common.updateSuccess')) // message.success(t('common.updateSuccess'))
// //
} finally { } finally {

View File

@ -913,7 +913,6 @@ const open = async (type: string) => {
// data.bankAccount = data.customerDO.bankAccount // data.bankAccount = data.customerDO.bankAccount
// data.legalRepresentative = data.customerDO.legalRepresentative // data.legalRepresentative = data.customerDO.legalRepresentative
formData.value = data formData.value = data
console.log('%csrc/views/crm/contract/detail/ContractDetail.vue:916 formData.value,999', 'color: #007acc;', formData.value,999);
handleQuotationChange(formData.value.quotationId) handleQuotationChange(formData.value.quotationId)
} finally { } finally {
@ -968,7 +967,7 @@ const submitForm = async () => {
data.contractAAuthorizedPersons = contractAAuthorizedPersonFormRef.value.getData() data.contractAAuthorizedPersons = contractAAuthorizedPersonFormRef.value.getData()
// data.contractBAuthorizedPersons = contractBAuthorizedPersonFormRef.value.getData() // data.contractBAuthorizedPersons = contractBAuthorizedPersonFormRef.value.getData()
await ContractApi.updateApplyContract(data) await ContractApi.updateApplyContract(data)
message.success(t('common.updateSuccess')) // message.success(t('common.updateSuccess'))
dialogVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
@ -1033,30 +1032,30 @@ const handleQuotationChange = async (quotationId: number) => {
try { try {
const quotation = await QuotationApi.getQuotation(quotationId) const quotation = await QuotationApi.getQuotation(quotationId)
// formData.value.products = quotation.products; // formData.value.products = quotation.products;
formData.value.customerId = quotation.customerId; // formData.value.customerId = quotation.customerId;
formData.value.invoiceTemplateId = quotation.invoiceTemplateId; // formData.value.invoiceTemplateId = quotation.invoiceTemplateId;
formData.value.ownerUserId = quotation.ownerUserId; // formData.value.ownerUserId = quotation.ownerUserId;
// formData.value.clueDeveloper = quotation.clueDeveloper; // formData.value.clueDeveloper = quotation.clueDeveloper;
formData.value.ownerUserMobile = quotation.ownerUserMobile; // formData.value.ownerUserMobile = quotation.ownerUserMobile;
formData.value.ownerUserWechat = quotation.ownerUserWechat; // formData.value.ownerUserWechat = quotation.ownerUserWechat;
formData.value.ownerUserEmail = quotation.ownerUserEmail; // formData.value.ownerUserEmail = quotation.ownerUserEmail;
formData.value.signUserId = quotation.signUserId; // formData.value.signUserId = quotation.signUserId;
formData.value.signPhoneNumber = quotation.signPhoneNumber; // formData.value.signPhoneNumber = quotation.signPhoneNumber;
formData.value.signEmail = quotation.signEmail; // formData.value.signEmail = quotation.signEmail;
formData.value.paymentTerm = quotation.paymentTerm; // formData.value.paymentTerm = quotation.paymentTerm;
formData.value.partnerCompanyId = quotation.partnerCompanyId; // formData.value.partnerCompanyId = quotation.partnerCompanyId;
formData.value.creditLimit = quotation.creditLimit; // formData.value.creditLimit = quotation.creditLimit;
formData.value.creditMethod = quotation.creditMethod; // formData.value.creditMethod = quotation.creditMethod;
formData.value.creditCalcCycle = quotation.creditCalcCycle; // formData.value.creditCalcCycle = quotation.creditCalcCycle;
formData.value.deptId = quotation.deptId; // formData.value.deptId = quotation.deptId;
formData.value.offlinePrice = quotation.offlinePrice; // formData.value.offlinePrice = quotation.offlinePrice;
formData.value.onlinePrice = quotation.onlinePrice; // formData.value.onlinePrice = quotation.onlinePrice;
formData.value.totalPrice = quotation.totalPrice; // formData.value.totalPrice = quotation.totalPrice;
const customerRes = await ContractApi.quotationTimes(quotation.id); const customerRes = await ContractApi.quotationTimes(quotation.id);
formData.value.quotationTimes = customerRes.quotationTimes; formData.value.quotationTimes = customerRes.quotationTimes;

View File

@ -193,7 +193,13 @@
width="180px" width="180px"
/> />
<el-table-column align="center" label="创建人" prop="creatorName" width="120" /> <el-table-column align="center" label="创建人" prop="creatorName" width="120" />
<el-table-column align="center" fixed="right" label="合同状态" prop="auditStatus" width="120"> <el-table-column align="center" label="合同状态" prop="auditStatus" width="100">
<template #default="scope">
<!-- <dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.auditStatus" /> -->
{{scope.row.contractStatus ? '终止' : '正常'}}
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="审批状态" prop="auditStatus" width="120">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.auditStatus" /> <dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.auditStatus" />
</template> </template>
@ -255,7 +261,7 @@
删除 删除
</el-button> --> </el-button> -->
<el-dropdown <el-dropdown
v-if="scope.row.auditStatus === 0 || scope.row.auditStatus === 2 || scope.row.auditStatus === 3 || scope.row.auditStatus === 4" v-if="scope.row.auditStatus === 0 || scope.row.auditStatus === 2 || scope.row.auditStatus === 3 || scope.row.auditStatus === 4 || scope.row.auditStatus === 20"
@command="(command) => handleCommand(command, scope.row)" @command="(command) => handleCommand(command, scope.row)"
v-hasPermi="[ v-hasPermi="[
'crm:contract:update', 'crm:contract:update',
@ -275,13 +281,13 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
command="handleChange" command="handleChange"
v-if="checkPermi(['crm:contract:change']) && scope.row.auditStatus === 2" v-if="checkPermi(['crm:contract:change']) && (scope.row.auditStatus === 2 || scope.row.auditStatus === 20)"
> >
合同变更 合同变更
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
command="handlePrint" command="handlePrint"
v-if="checkPermi(['crm:contract:print']) && scope.row.auditStatus === 2" v-if="checkPermi(['crm:contract:print']) && (scope.row.auditStatus === 2 || scope.row.auditStatus === 20)"
> >
下载未盖章合同 下载未盖章合同
</el-dropdown-item> </el-dropdown-item>
@ -293,7 +299,7 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
command="handlePrintComplate" command="handlePrintComplate"
v-if="checkPermi(['crm:contract:print']) && scope.row.contractFileUrl" v-if="(checkPermi(['crm:contract:print']) && scope.row.contractFileUrl) || scope.row.auditStatus === 20"
> >
下载盖章合同 下载盖章合同
</el-dropdown-item> </el-dropdown-item>

View File

@ -57,17 +57,11 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户来源" prop="source"> <el-form-item label="企业代码" prop="enterpriseCode">
<el-select v-model="formData.source" filterable placeholder="请选择客户来源" class="w-1/1"> <el-input v-model="formData.enterpriseCode" placeholder="请输入企业代码" />
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CUSTOMER_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="维护人" prop="maintainer"> <el-form-item label="维护人" prop="maintainer">
<el-select <el-select
@ -85,6 +79,18 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="客户来源" prop="source">
<el-select v-model="formData.source" filterable placeholder="请选择客户来源" class="w-1/1">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CUSTOMER_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="所属行业" prop="industryId"> <el-form-item label="所属行业" prop="industryId">
<el-select v-model="formData.industryId" placeholder="请选择所属行业" > <el-select v-model="formData.industryId" placeholder="请选择所属行业" >
@ -128,22 +134,11 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务对接人" prop="servicor"> <el-form-item label="注册资本" prop="registerCapital">
<el-select <el-input v-model="formData.registerCapital" disabled placeholder="" />
class="w-1/1"
placeholder="请选择服务对接人"
v-model="formData.servicor"
filterable
>
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结算对接人" prop="settlementLead"> <el-form-item label="结算对接人" prop="settlementLead">
<el-select <el-select
@ -161,6 +156,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="法人代表" prop="legalPersonName">
<el-input v-model="formData.legalPersonName" disabled placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="技术对接人" prop="technicalLead"> <el-form-item label="技术对接人" prop="technicalLead">
<el-select <el-select
@ -281,18 +281,10 @@
<el-input v-model="formData.serviceStatus" disabled placeholder="营业状态" /> <el-input v-model="formData.serviceStatus" disabled placeholder="营业状态" />
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="12">
<el-form-item label="注册资本" prop="registerCapital">
<el-input v-model="formData.registerCapital" disabled placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人代表" prop="legalPersonName">
<el-input v-model="formData.legalPersonName" disabled placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="注册日期" prop="contactNextTime"> <el-form-item label="注册日期" prop="contactNextTime">
<el-date-picker <el-date-picker
@ -305,6 +297,23 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="服务对接人" prop="servicor">
<el-select
class="w-1/1"
placeholder="请选择服务对接人"
v-model="formData.servicor"
filterable
>
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="网站" prop=""> <el-form-item label="网站" prop="">
@ -433,6 +442,7 @@ const formRules = reactive({
cooperationType: [{ required: true, message: '合作类型不能为空', trigger: 'change' }], cooperationType: [{ required: true, message: '合作类型不能为空', trigger: 'change' }],
cooperationArea: [{ required: true, message: '合作地区不能为空', trigger: 'change' }], cooperationArea: [{ required: true, message: '合作地区不能为空', trigger: 'change' }],
website: [{ required: true, message: '网站不能为空', trigger: 'change' }], website: [{ required: true, message: '网站不能为空', trigger: 'change' }],
enterpriseCode: [{ required: true, message: '企业代码不能为空', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref

View File

@ -9,8 +9,8 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap class="mt-10px"> <ContentWrap class="mt-10px">
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="客户名称" align="center" prop="customerId" /> <el-table-column label="客户名称" align="center" prop="customerName" width="250" />
<el-table-column label="反馈联系人" align="center" prop="contactId" /> <el-table-column label="反馈联系人" align="center" prop="contactName" />
<el-table-column label="联系电话" align="center" prop="mobile" /> <el-table-column label="联系电话" align="center" prop="mobile" />
<el-table-column label="电子邮箱" align="center" prop="email" /> <el-table-column label="电子邮箱" align="center" prop="email" />
<el-table-column label="反馈类型" align="center" prop="feedbackType"> <el-table-column label="反馈类型" align="center" prop="feedbackType">
@ -35,7 +35,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="当事人" align="center" prop="relatedPerson" /> <el-table-column label="当事人" align="center" prop="relatedPersonName" />
<el-table-column label="所属部门" align="center" prop="deptId" /> <el-table-column label="所属部门" align="center" prop="deptId" />
<el-table-column label="客户累计计数" align="center" prop="customerFeedbackCount" /> <el-table-column label="客户累计计数" align="center" prop="customerFeedbackCount" />
<el-table-column label="当事人累计计数" align="center" prop="relatedPersonFeedbackCount" /> <el-table-column label="当事人累计计数" align="center" prop="relatedPersonFeedbackCount" />
@ -61,7 +61,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> --> /> -->
<el-table-column label="操作" align="center" min-width="120px"> <el-table-column label="操作" align="center" fixed="right" min-width="120px">
<template #default="scope"> <template #default="scope">
<!-- <el-button <!-- <el-button
link link

View File

@ -41,8 +41,13 @@
<!-- <el-descriptions-item label="客户级别"> <!-- <el-descriptions-item label="客户级别">
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="customer.level" /> <dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="customer.level" />
</el-descriptions-item> --> </el-descriptions-item> -->
<el-descriptions-item label="企业代码"><!-- {{ getName(getIntDictOptions(DICT_TYPE.CRM_COOPERATION_TYPE),customer.cooperationType) }} -->
<!-- <dict-tag :type="DICT_TYPE.CRM_COOPERATION_TYPE" :value="customer.regType" /> -->
{{customer.enterpriseCode}}
</el-descriptions-item>
<el-descriptions-item label="公司类型"><!-- {{ getName(getIntDictOptions(DICT_TYPE.CRM_COOPERATION_TYPE),customer.cooperationType) }} --> <el-descriptions-item label="公司类型"><!-- {{ getName(getIntDictOptions(DICT_TYPE.CRM_COOPERATION_TYPE),customer.cooperationType) }} -->
<dict-tag :type="DICT_TYPE.CRM_COOPERATION_TYPE" :value="customer.cooperationType" /> <!-- <dict-tag :type="DICT_TYPE.CRM_COOPERATION_TYPE" :value="customer.regType" /> -->
{{customer.regType}}
</el-descriptions-item> </el-descriptions-item>
<!-- <el-descriptions-item label="合作地区">{{ getName(getIntDictOptions(DICT_TYPE.CRM_COOPERATION_AREA),customer.cooperationArea) }}</el-descriptions-item> --> <!-- <el-descriptions-item label="合作地区">{{ getName(getIntDictOptions(DICT_TYPE.CRM_COOPERATION_AREA),customer.cooperationArea) }}</el-descriptions-item> -->
<!-- <el-descriptions-item label="行业">{{ getName(getIntDictOptions(DICT_TYPE.CRM_CUSTOMER_INDUSTRY),customer.industryId) }}</el-descriptions-item> --> <!-- <el-descriptions-item label="行业">{{ getName(getIntDictOptions(DICT_TYPE.CRM_CUSTOMER_INDUSTRY),customer.industryId) }}</el-descriptions-item> -->

View File

@ -210,6 +210,8 @@ const handlePutPool = async () => {
/** 更新用户信息 */ /** 更新用户信息 */
const handleChangeCustomer = async () => { const handleChangeCustomer = async () => {
await message.confirm(`该操作将会调用获取企业信息三方接口,此服务为付费服务,请谨慎操作`)
await CustomerApi.getChangeCustomer(customerId.value) await CustomerApi.getChangeCustomer(customerId.value)
getCustomer() getCustomer()
} }

View File

@ -180,7 +180,9 @@
prop="createTime" prop="createTime"
width="180px" width="180px"
> >
{{ moment(createTime).format('YYYY-MM-DD')}} <template #default="scope">
{{ moment(scope.row.createTime).format('YYYY-MM-DD')}}
</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="创建人" prop="creatorName" width="100px" /> <el-table-column align="center" label="创建人" prop="creatorName" width="100px" />
<!-- <el-table-column align="center" label="客户状态" prop="serviceStatus" width="120" /> --> <!-- <el-table-column align="center" label="客户状态" prop="serviceStatus" width="120" /> -->

View File

@ -11,7 +11,7 @@
<template #customerName> <template #customerName>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="客户名称" prop="customerName"> <el-form-item label="客户名称" prop="customerName">
<el-input v-model="formData.customerName" :disabled="formFields.mobile !== 2 || isTrue" placeholder="请输入联系电话" /> <el-input v-model="formData.customerName" :disabled="formFields.mobile !== 2 || isTrue" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>

View File

@ -66,8 +66,8 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="客户名称" align="center" prop="customerId" /> <el-table-column label="客户名称" align="center" prop="customerName" />
<el-table-column label="反馈联系人" align="center" prop="contactId" /> <el-table-column label="反馈联系人" align="center" prop="contactName" />
<el-table-column label="联系电话" align="center" prop="mobile" /> <el-table-column label="联系电话" align="center" prop="mobile" />
<el-table-column label="电子邮箱" align="center" prop="email" /> <el-table-column label="电子邮箱" align="center" prop="email" />
<el-table-column label="反馈类型" align="center" prop="feedbackType"> <el-table-column label="反馈类型" align="center" prop="feedbackType">

View File

@ -1069,7 +1069,7 @@ const submitForm = async () => {
// //
data.quotationProducts = quotationProductFormRef.value.getData() data.quotationProducts = quotationProductFormRef.value.getData()
await QuotationApi.updateQuotation(data) await QuotationApi.updateQuotation(data)
message.success(t('common.updateSuccess')) // message.success(t('common.updateSuccess'))
dialogVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible"> <ContentWrap class="mt-10px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -7,6 +7,10 @@
label-width="100px" label-width="100px"
v-loading="formLoading" v-loading="formLoading"
> >
<el-row>
<el-col :span="8">
<el-form-item label="需求类型" prop="requestType"> <el-form-item label="需求类型" prop="requestType">
<el-select v-model="formData.requestType" placeholder="请选择需求类型"> <el-select v-model="formData.requestType" placeholder="请选择需求类型">
<el-option <el-option
@ -17,8 +21,11 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="需求部门" prop="requestDeptId"> <el-form-item label="需求部门" prop="requestDeptId">
<el-select v-model="formData.requestType" placeholder="请选择需求部门"> <el-select v-model="formData.requestDeptId" placeholder="请选择需求部门">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_EMAND_DEPARTMENT)" v-for="dict in getIntDictOptions(DICT_TYPE.HRM_EMAND_DEPARTMENT)"
:key="dict.value" :key="dict.value"
@ -27,9 +34,15 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="工作流编号" prop="processInstanceId"> <el-form-item label="工作流编号" prop="processInstanceId">
<el-input v-model="formData.processInstanceId" placeholder="请输入工作流编号" /> <el-input v-model="formData.processInstanceId" placeholder="请输入工作流编号" />
</el-form-item> </el-form-item>
</el-col> -->
<!-- <el-col :span="8">
<el-form-item label="审批状态" prop="auditStatus"> <el-form-item label="审批状态" prop="auditStatus">
<el-select v-model="formData.auditStatus" placeholder="请选择审批状态"> <el-select v-model="formData.auditStatus" placeholder="请选择审批状态">
<el-option <el-option
@ -40,10 +53,13 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="岗位id" prop="postId"> </el-col> -->
<el-col :span="8">
<el-form-item label="岗位" prop="postId">
<!-- <el-input v-model="formData.postId" placeholder="请输入岗位id" /> --> <!-- <el-input v-model="formData.postId" placeholder="请输入岗位id" /> -->
<!-- <el-form-item label="岗位" prop="postIds"> --> <!-- <el-form-item label="岗位" prop="postIds"> -->
<el-select v-model="formData.postIds" multiple placeholder="请选择"> <el-select v-model="formData.postId" multiple placeholder="请选择">
<el-option <el-option
v-for="item in postList" v-for="item in postList"
:key="item.id" :key="item.id"
@ -53,25 +69,8 @@
</el-select> </el-select>
<!-- </el-form-item> --> <!-- </el-form-item> -->
</el-form-item> </el-form-item>
<el-form-item label="期望到岗日期" prop="expectedOnboard"> </el-col>
<el-input v-model="formData.expectedOnboard" placeholder="请输入期望到岗日期" /> <el-col :span="8">
</el-form-item>
<el-form-item label="需求人数" prop="requestedCount">
<el-input v-model="formData.requestedCount" placeholder="请输入需求人数" />
</el-form-item>
<!-- <el-form-item label="需求岗位名称" prop="positionName">
<el-input v-model="formData.positionName" placeholder="请输入需求岗位名称" />
</el-form-item> -->
<el-form-item label="婚姻状况" prop="maritalStatus">
<el-select v-model="formData.maritalStatus" placeholder="请选择婚姻状况">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_MARITAL_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="工作地点" prop="workLocation"> <el-form-item label="工作地点" prop="workLocation">
<el-select v-model="formData.workLocation" placeholder="请选择工作地点"> <el-select v-model="formData.workLocation" placeholder="请选择工作地点">
<el-option <el-option
@ -82,18 +81,48 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="薪资(月)" prop="monthlySalary"> </el-col>
<el-select v-model="formData.monthlySalary" placeholder="请选择薪资(月)"> <el-col :span="8">
<el-form-item label="期望到岗日期" prop="expectedOnboard">
<!-- <el-input v-model="formData.expectedOnboard" placeholder="请输入期望到岗日期" /> -->
<el-date-picker
v-model="formData.expectedOnboard"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择期望到岗日期"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="需求人数" prop="requestedCount">
<el-input v-model="formData.requestedCount" placeholder="请输入需求人数" />
</el-form-item>
<!-- <el-form-item label="需求岗位名称" prop="positionName">
<el-input v-model="formData.positionName" placeholder="请输入需求岗位名称" />
</el-form-item> -->
</el-col>
<el-col :span="8">
<el-form-item label="婚姻状况" prop="maritalStatus">
<el-select v-model="formData.maritalStatus" placeholder="请选择婚姻状况">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_MONTHLY_SALARY)" v-for="dict in getIntDictOptions(DICT_TYPE.HRM_MARITAL_STATUS)"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="年龄范围" prop="ageRange"> <el-form-item label="年龄范围" prop="ageRange">
<el-select v-model="formData.monthlySalary" placeholder="请选择年龄范围"> <el-select v-model="formData.ageRange" placeholder="请选择年龄范围">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_AGE_RANGE)" v-for="dict in getIntDictOptions(DICT_TYPE.HRM_AGE_RANGE)"
:key="dict.value" :key="dict.value"
@ -102,7 +131,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最低学历" prop="minEducation"> <el-form-item label="最低学历" prop="minEducation">
<el-select v-model="formData.minEducation" placeholder="请选择最低学历"> <el-select v-model="formData.minEducation" placeholder="请选择最低学历">
<el-option <el-option
@ -113,18 +144,51 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="行业年限" prop="minEducation"> </el-col>
<el-col :span="8">
<el-form-item label="薪资水平" prop="monthlySalary">
<el-select v-model="formData.monthlySalary" placeholder="请选择薪资水平">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_MONTHLY_SALARY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工作年限" prop="minEducation">
<el-input v-model="formData.experience" placeholder="请输入工作年限" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="从业经验" prop="minEducation">
<el-input v-model="formData.experience" placeholder="请输入从业经验" /> <el-input v-model="formData.experience" placeholder="请输入从业经验" />
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="招聘形式" prop="minEducation">
<el-input v-model="formData.experience" placeholder="请输入招聘形式" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="岗位年限" prop="experience"> <el-form-item label="岗位年限" prop="experience">
<el-input v-model="formData.experience" placeholder="请输入从业经验" /> <el-input v-model="formData.experience" placeholder="请输入从业经验" />
</el-form-item> </el-form-item>
</el-col> -->
</el-row>
</el-form> </el-form>
<template #footer> <div style="text-align: right" v-if="!type">
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </div>
</Dialog> </ContentWrap>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
@ -151,7 +215,7 @@ const formData = ref({
postId: undefined, postId: undefined,
positionName: undefined, positionName: undefined,
expectedOnboard: undefined, expectedOnboard: undefined,
requestedCount: undefined, requestedCount: 1,
ageRange: undefined, ageRange: undefined,
monthlySalary: undefined, monthlySalary: undefined,
minEducation: undefined, minEducation: undefined,
@ -161,7 +225,7 @@ const formData = ref({
}) })
const formRules = reactive({ const formRules = reactive({
requestType: [{ required: true, message: '需求类型:新增需求、替换需求、储备需求不能为空', trigger: 'change' }], requestType: [{ required: true, message: '需求类型:新增需求、替换需求、储备需求不能为空', trigger: 'change' }],
requestDeptId: [{ required: true, message: '所属部门不能为空', trigger: 'blur' }], requestDeptId: [{ required: true, message: '所属部门不能为空', trigger: 'change' }],
auditStatus: [{ required: true, message: '审批状态不能为空', trigger: 'change' }], auditStatus: [{ required: true, message: '审批状态不能为空', trigger: 'change' }],
postId: [{ required: true, message: '岗位id不能为空', trigger: 'blur' }], postId: [{ required: true, message: '岗位id不能为空', trigger: 'blur' }],
expectedOnboard: [{ required: true, message: '期望到岗日期不能为空', trigger: 'blur' }], expectedOnboard: [{ required: true, message: '期望到岗日期不能为空', trigger: 'blur' }],

View File

@ -8,6 +8,15 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="需求提交人" prop="experience">
<el-input
v-model="queryParams.experience"
placeholder="请输入需求提交人"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="需求类型" prop="requestType"> <el-form-item label="需求类型" prop="requestType">
<el-select <el-select
v-model="queryParams.requestType" v-model="queryParams.requestType"
@ -32,90 +41,8 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="工作流编号" prop="processInstanceId">
<el-input
v-model="queryParams.processInstanceId"
placeholder="请输入工作流编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="审批状态" prop="auditStatus">
<el-select
v-model="queryParams.auditStatus"
placeholder="请选择审批状态"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_AUDIT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="岗位id" prop="postId">
<el-input
v-model="queryParams.postId"
placeholder="请输入岗位id"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="需求岗位名称" prop="positionName">
<el-input
v-model="queryParams.positionName"
placeholder="请输入需求岗位名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="期望到岗日期" prop="expectedOnboard">
<el-input
v-model="queryParams.expectedOnboard"
placeholder="请输入期望到岗日期"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="需求人数" prop="requestedCount">
<el-input
v-model="queryParams.requestedCount"
placeholder="请输入需求人数"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="年龄范围18-2525-3530-45" prop="ageRange">
<el-input
v-model="queryParams.ageRange"
placeholder="请输入年龄范围18-2525-3530-45"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="最低学历1=高中2=大专3=本科4=硕士5=博士" prop="minEducation">
<el-select
v-model="queryParams.minEducation"
placeholder="请选择最低学历1=高中2=大专3=本科4=硕士5=博士"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_EDUCATION)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="工作地点" prop="workLocation"> <el-form-item label="工作地点" prop="workLocation">
<el-select <el-select
v-model="queryParams.workLocation" v-model="queryParams.workLocation"
@ -131,30 +58,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="婚姻状况:未婚、已婚、离异、丧偶" prop="maritalStatus">
<el-select
v-model="queryParams.maritalStatus"
placeholder="请选择婚姻状况:未婚、已婚、离异、丧偶"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HRM_MARITAL_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="从业经验" prop="experience">
<el-input
v-model="queryParams.experience"
placeholder="请输入从业经验"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker
v-model="queryParams.createTime" v-model="queryParams.createTime"
@ -172,7 +76,7 @@
<el-button <el-button
type="primary" type="primary"
plain plain
@click="openForm('create')" @click="openFormAdd('create')"
v-hasPermi="['hrm:recruitment-request:create']" v-hasPermi="['hrm:recruitment-request:create']"
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
@ -193,41 +97,26 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="主键,自动递增" align="center" prop="id" /> <el-table-column label="主键" align="center" prop="id" />
<el-table-column label="需求类型:新增需求、替换需求、储备需求" align="center" prop="requestType"> <el-table-column label="需求编码" align="center" prop="positionName" />
<template #default="scope"> <el-table-column label="需求提交人" align="center" prop="positionName" />
<dict-tag :type="DICT_TYPE.HRM_REQUEST_TYPE" :value="scope.row.requestType" /> <el-table-column label="岗位名称" align="center" prop="positionName" />
</template>
</el-table-column>
<el-table-column label="所属部门" align="center" prop="requestDeptId" /> <el-table-column label="所属部门" align="center" prop="requestDeptId" />
<el-table-column label="工作流编号" align="center" prop="processInstanceId" />
<el-table-column label="审批状态" align="center" prop="auditStatus">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.auditStatus" />
</template>
</el-table-column>
<el-table-column label="岗位id" align="center" prop="postId" />
<el-table-column label="需求岗位名称" align="center" prop="positionName" />
<el-table-column label="期望到岗日期" align="center" prop="expectedOnboard" />
<el-table-column label="需求人数" align="center" prop="requestedCount" />
<el-table-column label="年龄范围18-2525-3530-45" align="center" prop="ageRange" />
<el-table-column label="薪资4k-7k5k-8k10k-15k" align="center" prop="monthlySalary" />
<el-table-column label="最低学历1=高中2=大专3=本科4=硕士5=博士" align="center" prop="minEducation">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HRM_EDUCATION" :value="scope.row.minEducation" />
</template>
</el-table-column>
<el-table-column label="工作地点" align="center" prop="workLocation"> <el-table-column label="工作地点" align="center" prop="workLocation">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.HRM_WORK_LOCATION" :value="scope.row.workLocation" /> <dict-tag :type="DICT_TYPE.HRM_WORK_LOCATION" :value="scope.row.workLocation" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="婚姻状况:未婚、已婚、离异、丧偶" align="center" prop="maritalStatus"> <el-table-column label="需求类型" align="center" prop="requestType">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.HRM_MARITAL_STATUS" :value="scope.row.maritalStatus" /> <dict-tag :type="DICT_TYPE.HRM_REQUEST_TYPE" :value="scope.row.requestType" />
</template>
</el-table-column>
<el-table-column label="审批状态" align="center" prop="auditStatus">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.auditStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="从业经验" align="center" prop="experience" />
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
@ -333,8 +222,10 @@ const resetQuery = () => {
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
const openForm = (type: string, id?: number) => { const router = useRouter() //
formRef.value.open(type, id) const { push } = useRouter()
const openFormAdd = () => {
push({ name: 'RecruitmentRequestAdd' })
} }
/** 删除按钮操作 */ /** 删除按钮操作 */