| 
					
				 | 
			
			
				@@ -15,18 +15,33 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       label-width="140px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       v-loading="formLoading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-form-item label="会员套餐" prop="packageId" required :rules="[{ required: true, message: '请选择会员套餐', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="会员套餐" prop="packageId"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-select v-model="formData.packageId" placeholder="请选择会员套餐" @change="handleChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					<el-option v-for="val in packList"	:key="val.id" :label="val.name + ': ' + val.text + `(会员时效增加:${val.day}天)`" :value="val.id" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div v-if="item && Object.keys(item).length"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="发布职位数量:">{{ item.publishJobCount }}个</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="搜索人才数量:">{{ item.searchCount }}次</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="发布职位数量:">{{ item.lookCvCount }}次</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="开启人才地图:">{{ item.personMap ? '是' : '否' }}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="允许发布众聘职位:">{{ item.hireJob ? '是' : '否' }}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="是否激活VIP" prop="entitlement.activateVip" :rules="[{ required: true, message: '请设置是否激活VIP', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-switch v-model="formData.entitlement.activateVip" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vip激活后到期,权益将无法使用;vip未激活,权益可以持续一直使用。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item v-if="formData.entitlement.activateVip" label="VIP过期时间" prop="entitlement.vipExpireDate" :rules="[{ required: true, message: '请选择VIP过期时间', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-date-picker v-model="formData.entitlement.vipExpireDate" :disabledDate="disabledDates" value-format="x" type="date" placeholder="请选择VIP过期时间" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="发布职位数量" prop="entitlement.publishJobCount" :rules="[{ required: true, message: '请输入发布职位数量', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="formData.entitlement.publishJobCount" :min="0" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="查看简历数量" prop="entitlement.lookCvCount" :rules="[{ required: true, message: '请输入查看简历数量', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="formData.entitlement.lookCvCount" :min="0" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="搜索人才数量" prop="entitlement.searchCount" :rules="[{ required: true, message: '请输入搜索人才数量', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="formData.entitlement.searchCount" :min="0" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="开启人才地图" prop="entitlement.personMap" :rules="[{ required: true, message: '请设置是否开启人才地图', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-switch v-model="formData.entitlement.personMap" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="允许发布众聘职位" prop="entitlement.hireJob" :rules="[{ required: true, message: '请设置是否允许发布众聘职位', trigger: 'change' }]"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-switch v-model="formData.entitlement.hireJob" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,7 +59,16 @@ const dialogVisible = ref(false) // 弹窗的是否展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formData = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   enterpriseId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  packageId: undefined as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  packageId: undefined as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  entitlement: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    activateVip: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    vipExpireDate: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    publishJobCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    searchCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lookCvCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    personMap: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hireJob: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formRef = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,12 +83,27 @@ const getPackList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const item = ref({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleChange = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!val) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  item.value = packList.value.find(e => e.id === val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const obj = packList.value.find(e => e.id === val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (let key in formData.value.entitlement) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 会员标识激活时才设置vip过期时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (key === 'vipExpireDate' && obj.activateVip) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const currentDate = new Date() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      currentDate.setDate(currentDate.getDate() + obj.day) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formData.value.entitlement[key] = currentDate.getTime() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else formData.value.entitlement[key] = obj[key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 过去的日期不可选 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const disabledDates = (date) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const currentDate = new Date() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  currentDate.setDate(currentDate.getDate() - 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return date.getTime() < currentDate.getTime() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 打开弹窗 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const info = ref({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const open = async (id: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const open = async (id: number, vipExpireDate) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	await getPackList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   dialogVisible.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   resetForm() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,6 +114,15 @@ const open = async (id: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const data = await EnterpriseApi.getEnterprisePackagePrivilege(id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			info.value = data && data.length ? data[0] : {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (info.value && Object.keys(info.value).length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let key in formData.value.entitlement) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          formData.value.entitlement[key] = info.value[key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (vipExpireDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formData.value.entitlement.activateVip = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formData.value.entitlement.vipExpireDate = vipExpireDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       formLoading.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -106,7 +154,16 @@ const resetForm = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   item.value = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formData.value = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     enterpriseId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    packageId: undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    packageId: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    entitlement: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      activateVip: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      vipExpireDate: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      publishJobCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      searchCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      lookCvCount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      personMap: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hireJob: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |