Selaa lähdekoodia

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner-admin into dev

lifanagju_citu 1 viikko sitten
vanhempi
commit
31b853bf99

+ 11 - 15
src/views/menduner/system/analysis/statisticAnalysis/index.vue

@@ -385,8 +385,8 @@ const paginationChange = () => {
 const tableHeaders = {
   // 职位浏览量
   pageViews: [
-    { name: '浏览量', prop: 'num' },
     { name: '招聘职位', prop: 'name' },
+    { name: '浏览量', prop: 'num' },
     { name: '发布企业', prop: 'enterpriseName' },
     { name: '薪酬', prop: 'salaryDisplay' },
     { name: '工作地区', prop: 'areaName' },
@@ -406,7 +406,6 @@ const tableHeaders = {
     { name: '学历要求', prop: 'eduName' },
     { name: '发布时间', prop: 'createTime' },
     { name: '更新时间', prop: 'updateTime' },
-    // { name: '众聘', prop: 'hire' },
   ],
   // 发布中职位数量
   pushNum: [
@@ -417,7 +416,6 @@ const tableHeaders = {
     { name: '工作地区', prop: 'areaName' },
     { name: '工作经验', prop: 'expName' },
     { name: '学历要求', prop: 'eduName' },
-    // { name: '众聘', prop: 'hire' },
     { name: '发布时间', prop: 'createTime' },
     { name: '更新时间', prop: 'updateTime' },
   ],
@@ -446,7 +444,7 @@ const tableHeaders = {
     { name: '投递职位', prop: 'job.name' },
     { name: '发布企业', prop: 'enterpriseName' },
     { name: '投递类型', prop: 'typeName' },
-    { name: '推荐人', prop: 'recommendPersonName' },
+    // { name: '推荐人', prop: 'recommendPersonName' },
   ],
   // 已邀面试
   invitedInterviews: [
@@ -494,8 +492,8 @@ const dealTableData = async () => {
       item.enterpriseName = formatName(item.enterpriseName)
       item.salaryDisplay = item.payFrom && item.payTo ? `${item.payFrom}-${item.payTo}/${getDictLabel(DICT_TYPE.MENDUNER_PAY_UNIT, item.payUnit)}` : '面议'
       item.areaName = !item.areaId ? '全国' : getText(item.areaId, areaList)
-      item.expName = getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType)
-      item.eduName = getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType)
+      item.expName = item.expType ? getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType) : '经验不限'
+      item.eduName = item.eduType ? getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType) : '学历不限'
       item.updateTime = timesTampChange(item.updateTime)
       item.createTime = timesTampChange(item.createTime)
       return item
@@ -512,9 +510,8 @@ const dealTableData = async () => {
       item.positionName = getText(item.positionId, positionData, 'nameCn', 'id')
       item.salaryDisplay = item.payFrom && item.payTo ? `${item.payFrom}-${item.payTo}/${getDictLabel(DICT_TYPE.MENDUNER_PAY_UNIT, item.payUnit)}` : '面议'
       item.jobStatus = getDictLabel(DICT_TYPE.MENDUNER_JOB_SEEK_STATUS, item.jobStatus)
-      item.expName = getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType)
-      item.eduName = getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType)
-      // item.hire = item.hire ? '是' : '否'
+      item.expName = item.expType ? getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType) : '经验不限'
+      item.eduName = item.eduType ? getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType) : '学历不限'
       item.updateTime = timesTampChange(item.updateTime)
       item.createTime = timesTampChange(item.createTime)
       return item
@@ -531,9 +528,8 @@ const dealTableData = async () => {
       item.positionName = getText(item.positionId, positionData, 'nameCn', 'id')
       item.salaryDisplay = item.payFrom && item.payTo ? `${item.payFrom}-${item.payTo}/${getDictLabel(DICT_TYPE.MENDUNER_PAY_UNIT, item.payUnit)}` : '面议'
       item.jobStatus = getDictLabel(DICT_TYPE.MENDUNER_JOB_SEEK_STATUS, item.jobStatus)
-      item.expName = getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType)
-      item.eduName = getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType)
-      // item.hire = item.hire ? '是' : '否'
+      item.expName = item.expType ? getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType) : '经验不限'
+      item.eduName = item.eduType ? getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType) : '学历不限'
       item.updateTime = timesTampChange(item.updateTime)
       item.createTime = timesTampChange(item.createTime)
       return item
@@ -558,8 +554,8 @@ const dealTableData = async () => {
       item.areaName = !item.job.areaId ? '全国' : getText(item.job.areaId, areaList)
       item.salaryDisplay = item.job?.payFrom && item.job.payTo ? `${item.job.payFrom}-${item.job.payTo}/${getDictLabel(DICT_TYPE.MENDUNER_PAY_UNIT, item.job.payUnit)}` : '面议'
       item.jobStatus = getDictLabel(DICT_TYPE.MENDUNER_JOB_SEEK_STATUS, item.person.jobStatus)
-      item.expName = getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.job.expType)
-      item.eduName = getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.job.eduType)
+      item.expName = item.expType ? getDictLabel(DICT_TYPE.MENDUNER_EXP_TYPE, item.expType) : '经验不限'
+      item.eduName = item.eduType ? getDictLabel(DICT_TYPE.MENDUNER_EDUCATION_TYPE, item.eduType) : '学历不限'
       item.personName = item.person.name
       return item
     })
@@ -571,7 +567,7 @@ const dealTableData = async () => {
       item.enterpriseName = formatName(item.enterpriseName)
       item.personName = item.person.name
       item.address = item.job.address
-      item.typeName = Number(item.type) === 0 ? '平台投递': '赏金投递'
+      // item.typeName = Number(item.type) === 0 ? '平台投递': '赏金投递'
       item.recommendPersonName = item.recommendPerson?.name || ''
       return item
     })

+ 8 - 12
src/views/menduner/system/enterprise/message/details/components/job.vue

@@ -27,12 +27,14 @@
     </el-table-column>
     <el-table-column label="要求学历" align="center" prop="eduType">
       <template #default="scope">
-        <dict-tag :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="scope.row.eduType" />
+        <dict-tag v-if="scope.row.eduType" :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="scope.row.eduType" />
+        <el-tag v-else>学历不限</el-tag>
       </template>
     </el-table-column>
     <el-table-column label="工作经验" align="center" prop="expType">
       <template #default="scope">
-        <dict-tag :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="scope.row.expType" />
+        <dict-tag v-if="scope.row.expType" :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="scope.row.expType" />
+        <el-tag v-else>经验不限</el-tag>
       </template>
     </el-table-column>
     <el-table-column label="职位状态" align="center" prop="status">
@@ -46,11 +48,6 @@
         {{ timesTampChange(scope.row.updateTime, 'Y-M-D h:m') }}
       </template>
     </el-table-column>
-    <el-table-column label="到期时间" align="center" prop="expireTime" width="180px">
-      <template #default="scope">
-        {{ scope.row.expireTime ? timesTampChange(scope.row.expireTime, 'Y-M-D') : '长期有效' }}
-      </template>
-    </el-table-column>
     <el-table-column label="操作" align="center">
       <template #default="scope">
         <el-button link type="primary" @click="openDetail(scope.row)">详情</el-button>
@@ -85,15 +82,14 @@
         <dict-tag :type="DICT_TYPE.MENDUNER_JOB_TYPE" :value="itemData.type" />
       </el-descriptions-item>
       <el-descriptions-item label="学历要求">
-        <dict-tag :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="itemData.eduType" />
+        <dict-tag v-if="itemData.eduType" :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="itemData.eduType" />
+        <el-tag v-else>学历不限</el-tag>
       </el-descriptions-item>
       <el-descriptions-item label="工作经验">
-        <dict-tag :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="itemData.expType" />
+        <dict-tag v-if="itemData.expType" :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="itemData.expType" />
+        <el-tag v-else>经验不限</el-tag>
       </el-descriptions-item>
       <el-descriptions-item label="刷新时间">{{ timesTampChange(itemData.updateTime, 'Y-M-D h:m') }}</el-descriptions-item>
-      <el-descriptions-item label="到期时间">
-        {{ itemData.expireTime ? timesTampChange(itemData.expireTime, 'Y-M-D') : '长期有效' }}
-      </el-descriptions-item>
       <el-descriptions-item label="岗位职责">
         <div v-html="cleanedHtml(itemData.content)"></div>
       </el-descriptions-item>

+ 2 - 22
src/views/menduner/system/job/JobAdvertisedForm.vue

@@ -27,10 +27,6 @@
       <el-form-item label="职位名称" prop="name">
         <el-input v-model="formData.name" placeholder="请输入职位名称" class="!w-240px"/>
       </el-form-item>
-      <el-form-item label="到期时间" prop="expireTime">
-        <el-date-picker v-model="formData.expireTime" :disabled="disabled" :disabledDate="disabledDates" value-format="x" type="date" placeholder="请选择职位到期时间"  class="!w-240px" />
-        <el-checkbox v-model="loadingTerm" label="长期有效" size="large" style="margin-left: 20px;" @change="handleLongTerm"/>
-      </el-form-item>
       <el-form-item label="职位内容" prop="content">
         <Editor v-model="formData.content" height="150px" />
       </el-form-item>
@@ -96,7 +92,6 @@ defineProps({
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
 
-const loadingTerm = ref(false) // 长期有效
 const showTemplateBtn = ref(true) // 职位模板按钮
 const dialogVisible = ref(false) // 弹窗的是否展示
 const dialogTitle = ref('') // 弹窗的标题
@@ -109,7 +104,7 @@ const formData = ref({
   positionId: undefined,
   type: undefined,
   expType: undefined,
-  expireTime: undefined,
+  expireTime: null,
   eduType: undefined,
   payFrom: 6000,
   payTo: 8000,
@@ -157,20 +152,6 @@ const formRules = reactive({
   address: [{ required: true, message: '工作详情地址不能为空', trigger: 'change' }],
 })
 const formRef = ref() // 表单 Ref
-const disabled = ref(false) // 是否禁用日期选择器
-
-// 过去的日期不可选
-const disabledDates = (date) => {
-  const currentDate = new Date()
-  currentDate.setDate(currentDate.getDate() - 1)
-  return date.getTime() < currentDate.getTime()
-}
-
-// 职位过期时间长期有效
-const handleLongTerm = (e) => {
-  if (e) formData.value.expireTime = null
-  disabled.value = e ? true : false
-}
 
 // 获取众聘分配比例
 const ratio = ref({})
@@ -238,7 +219,6 @@ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成
 const submitForm = async () => {
   // 校验表单
   await formRef.value.validate()
-  if (!loadingTerm.value && !formData.value.expireTime) return message.warning('请选择过期时间')
   // 提交请求
   formLoading.value = true
   try {
@@ -268,7 +248,7 @@ const resetForm = () => {
     type: undefined,
     expType: undefined,
     payUnit: undefined,
-    expireTime: undefined,
+    expireTime: null,
     eduType: undefined,
     payFrom: 6000,
     tagList: undefined,

+ 4 - 2
src/views/menduner/system/job/index.vue

@@ -127,12 +127,14 @@
       </el-table-column>
       <el-table-column label="工作经验" align="center" prop="expType">
         <template #default="scope">
-          <dict-tag :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="scope.row.expType" />
+          <dict-tag v-if="scope.row.expType" :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="scope.row.expType" />
+          <el-tag v-else>经验不限</el-tag>
         </template>
       </el-table-column>
       <el-table-column label="学历要求" align="center" prop="eduType">
         <template #default="scope">
-          <dict-tag :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="scope.row.eduType" />
+          <dict-tag v-if="scope.row.eduType" :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="scope.row.eduType" />
+          <el-tag v-else>学历不限</el-tag>
         </template>
       </el-table-column>
       <el-table-column label="薪资" align="center" prop="payFrom">

+ 4 - 1
src/views/menduner/system/person/details/components/edu.vue

@@ -30,6 +30,7 @@ defineOptions({ name: 'PersonEduList'})
 import { PersonInfoApi } from '@/api/menduner/system/person'
 import { DICT_TYPE } from '@/utils/dict'
 import { dateFormatter2 } from '@/utils/formatTime'
+import { formatName } from '@/utils'
 
 const props = defineProps({
   userId: String
@@ -48,7 +49,9 @@ const getList = async () => {
   loading.value = true
   try {
     const data = await PersonInfoApi.getPersonEduPage(queryParams)
-    tableData.value = data.list
+    tableData.value = data.list ? data.list.map(e => {
+      return { ...e, schoolName: formatName(e.schoolName), major: formatName(e.major), content: formatName(e.content) }
+    }) : []
     total.value = data.total
   } finally {
     loading.value = false

+ 4 - 1
src/views/menduner/system/person/details/components/exp.vue

@@ -24,6 +24,7 @@ import { PersonInfoApi } from '@/api/menduner/system/person'
 import { DICT_TYPE } from '@/utils/dict'
 import { dateFormatter2 } from '@/utils/formatTime'
 import { timesTampChange } from '@/utils/transform/date'
+import { formatName } from '@/utils'
 
 const props = defineProps({
   userId: String
@@ -42,7 +43,9 @@ const getList = async () => {
   loading.value = true
   try {
     const data = await PersonInfoApi.getPersonExpPage(queryParams)
-    tableData.value = data.list
+    tableData.value = data.list ? data.list.map(e => {
+      return { ...e, enterpriseName: formatName(e.enterpriseName), positionName: formatName(e.positionName), content: formatName(e.content) }
+    }) : []
     total.value = data.total
   } finally {
     loading.value = false

+ 5 - 5
src/views/menduner/system/person/index.vue

@@ -120,10 +120,10 @@
           class="!w-240px"
         />
       </el-form-item>
-      <el-form-item label="职位类型" prop="positionIds">
+      <el-form-item label="意向职位" prop="positionIds">
         <el-select
           v-model="queryParams.positionIds"
-          placeholder="请选择职位类型"
+          placeholder="请选择意向职位类型"
           clearable
           multiple
           :collapse-tags="true"
@@ -145,19 +145,19 @@
           clearable
           :collapse-tags="true"
           :collapse-tags-tooltip="true"
-          placeholder="所在城市" 
+          placeholder="请选择所在城市" 
           :props="{ value: 'id', label: 'name', multiple: true, emitPath: false }" 
           :options="areaTreeData"
         />
       </el-form-item>
-      <el-form-item label="工作城市" prop="workAreaIds">
+      <el-form-item label="意向城市" prop="workAreaIds">
         <el-cascader 
           v-model="queryParams.workAreaIds"
           class="!w-240px"
           clearable
           :collapse-tags="true"
           :collapse-tags-tooltip="true"
-          placeholder="工作城市" 
+          placeholder="请选择意向城市" 
           :props="{ value: 'id', label: 'name', multiple: true,  emitPath: false }" 
           :options="areaTreeData"
         />

+ 12 - 10
src/views/menduner/system/talentMap/maintenance/gather/businessCard/FormPage.vue

@@ -11,24 +11,24 @@
       </el-row>
       <el-row :gutter="10">
         <el-col :span="12">
-          <el-form-item label="姓名(中)" prop="name_zh">
+          <el-form-item label="姓名(中)" prop="name_zh">
             <el-input v-model="formQuery.name_zh" placeholder="请输入中文姓名" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="姓名(英)" prop="name_en">
+          <el-form-item label="姓名(英)" prop="name_en">
             <el-input v-model="formQuery.name_en" placeholder="请输入英文姓名" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="10">
         <el-col :span="12">
-          <el-form-item label="职位/头衔(中)" prop="title_zh">
+          <el-form-item label="职位/头衔(中)" prop="title_zh">
             <el-input v-model="formQuery.title_zh" placeholder="请输入中文职位/头衔" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="职位/头衔(英)" prop="title_en">
+          <el-form-item label="职位/头衔(英)" prop="title_en">
             <el-input v-model="formQuery.title_en" placeholder="请输入英文职位/头衔" />
           </el-form-item>
         </el-col>
@@ -48,8 +48,8 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="籍贯" prop="birthplace">
-            <el-input v-model="formQuery.birthplace" placeholder="请输入籍贯" />
+          <el-form-item label="籍贯" prop="native_place">
+            <el-input v-model="formQuery.native_place" placeholder="请输入籍贯" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -76,12 +76,12 @@
         <div class="m-title">联系方式</div>
       </el-row>
       <el-row :gutter="10">
-        <el-col :span="12">
+        <el-col :span="24">
           <el-form-item label="固定电话" prop="phone">
             <el-input v-model="formQuery.phone" placeholder="请输入固定电话" />
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="24">
           <el-form-item label="手机号码1" prop="mobile">
             <el-input v-model="formQuery.mobile[0]" placeholder="请输入手机号码" />
           </el-form-item>
@@ -89,12 +89,12 @@
         
       </el-row>
       <el-row :gutter="10">
-        <el-col :span="12">
+        <el-col :span="24">
           <el-form-item label="手机号码2" prop="mobile">
             <el-input v-model="formQuery.mobile[1]" placeholder="请输入手机号码" />
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="24">
           <el-form-item label="手机号码3" prop="mobile">
             <el-input v-model="formQuery.mobile[2]" placeholder="请输入手机号码" />
           </el-form-item>
@@ -238,6 +238,8 @@ const formQuery = ref({
   birthplace: undefined,
   age: undefined,
   residence: undefined,
+  age: undefined,
+  native_place: undefined,
   career_path: []
 })
 const careerTrajectory = ref([{ hotel_zh: null,  title_zh: null, date: null }])

+ 1 - 1
src/views/menduner/system/talentMap/maintenance/gather/businessCard/index.vue

@@ -361,7 +361,7 @@ onMounted(() => {
 .analysisInfoBox {
   display: flex;
   .image {
-    width: 52%;
+    width: 45%;
     max-height: 70vh;
     padding-right: 12px;
     overflow: auto;

+ 7 - 7
src/views/menduner/system/web/PreferredGroup.vue

@@ -3,7 +3,7 @@
     <el-form
       ref="formRef"
       :model="formData"
-      label-width="170px"
+      label-width="150px"
       v-loading="formLoading"
     >
       <el-form-item label="企业名称" prop="enterpriseId" :rules="[{ required: true, message: '请选择企业', trigger: 'blur'}]">
@@ -17,9 +17,9 @@
           @blur="handleChange"
         />
       </el-form-item>
-      <el-form-item label="顶部轮播图左上角LOGO" prop="logo">
+      <!-- <el-form-item label="顶部轮播图左上角LOGO" prop="logo">
         <UploadImg v-model="formData.logo" height="150px" width="150px" />
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="顶部轮播图" prop="carousel" :rules="[{ required: true, message: '请上传企业轮播图', trigger: 'change'}]">
         <UploadImgs v-model="formData.carousel" :limit="20" />
       </el-form-item>
@@ -35,8 +35,8 @@
 			<el-form-item label="简介大图" prop="introduce.bigPicture.url">
         <UploadImg v-model="formData.introduce.bigPicture.url" height="150px" width="300px" />
       </el-form-item>
-			<el-form-item label="简介大图高度" prop="introduce.bigPicture.height">
-        <el-input v-model="formData.introduce.bigPicture.height" />
+			<el-form-item label="简介大图高度(小程序)" prop="introduce.bigPicture.height">
+        <el-input-number v-model="formData.introduce.bigPicture.height" :step="20" />
       </el-form-item>
       <el-form-item label="品牌介绍" prop="">
         <el-button @click="handleEditBrandData" type="primary">
@@ -110,7 +110,7 @@ const formData = ref({
     describe: '',
 		thumbnail: [],
 		bigPicture: {
-			height: 115,
+			height: 0,
 			url: ''
 		}
 	}
@@ -126,7 +126,7 @@ const handleChange = () => {
 }
 
 /** 打开弹窗 */
-const result = ref({})
+const result = ref({}) 
 const open = async (key, id) => {
 	currentKey.value = key
   resetForm()

+ 28 - 12
src/views/menduner/system/web/WebContentForm.vue

@@ -7,18 +7,27 @@
       label-width="130px"
       v-loading="formLoading"
     >
-      <el-form-item label="上传图片尺寸" prop="imgSize" required>
-        <el-input v-model="formData.imgSize" disabled />
-      </el-form-item>
       <el-form-item label="图片" prop="url" required>
-        <div style="width: 100%;">
+        <div class="!w-100%">
           <UploadImg v-model="formData.url" :validSpecifications="true" height="150px" width="300px" :fileSize="10" :maxWidth="maxWidth" :maxHeight="maxHeight" />
         </div>
-        <div style="display: flex; color: orange; align-items: center;"><Icon :size="20" icon="ep:warning" class="mr-3px" />提示:请严格按照图片规格上传</div>
+        <div class=" color-orange">
+          <div class="flex items-center">
+            <Icon :size="20" icon="ep:warning" class="mr-3px" />
+            图片尺寸:{{ formData.imgSize }}
+          </div>
+          <div> 注意:请严格按照图片规格上传</div>
+        </div>
       </el-form-item>
       <el-form-item label="展示现有企业详情">
-        <el-switch v-model="showEnterprise" style="display: block;" />
-        <div>点击图片跳转场景:1、跳转到平台现有企业详情页面(有定制集团页面的则会跳转到集团页面),2.跳转已关联的公众号链接或其它外部链接</div>
+        <div class="!w-100%">
+          <el-switch v-model="showEnterprise" />
+        </div>
+        <div>
+          <div>点击图片跳转场景:</div>
+          <div>1、跳转到平台现有企业详情页面(有定制集团页面的则会跳转到集团页面)</div>
+          <div>2、跳转已关联的公众号链接或其它外部链接</div>
+        </div>
       </el-form-item>
       <el-form-item v-if="showEnterprise" label="平台现有企业" prop="link">
         <el-select-v2
@@ -30,14 +39,14 @@
           :props="{ label: 'name', value: 'id' }"
         />
       </el-form-item>
-      <el-form-item v-else label="跳转链接" prop="link" placeholder="请填写">
-        <el-input v-model="formData.link" />
+      <el-form-item v-else label="跳转链接" prop="link">
+        <el-input v-model="formData.link" type="textarea" :rows="3" placeholder="公众号链接或其它外部链接" />
       </el-form-item>
       <el-form-item label="标题" prop="title">
         <el-input v-model="formData.title" placeholder="请填写" />
       </el-form-item>
       <el-form-item label="排序" prop="sort">
-        <el-input v-model="formData.sort" placeholder="请填写" />
+        <el-input-number v-model="formData.sort" />
       </el-form-item>
       <el-form-item label="状态" prop="status" required>
         <el-radio-group v-model="formData.status">
@@ -131,6 +140,7 @@ const open = async (type: string, key: string, title: string, mark?: string) =>
       editId.value = mark
       const { img: url, link, title, status, sort } = query.value[key].find(e => e.mark === mark)
       formData.value = { url, link, title, status, sort }
+      showEnterprise.value = link ? !link.includes('/') : true
     }
   } finally {
     formLoading.value = false
@@ -148,8 +158,14 @@ const submitForm = async () => {
   // 校验表单
   await formRef.value.validate()
   
-  const mark = new Date().getTime().toString()
-  const obj = { img: formData.value.url, link: formData.value.link, mark, title: formData.value.title, status: formData.value.status, sort: formData.value.sort }
+  const obj = { 
+    img: formData.value.url,
+    link: formData.value.link,
+    mark: new Date().getTime().toString(), 
+    title: formData.value.title,
+    status: formData.value.status,
+    sort: formData.value.sort
+  }
   if (formType.value === 'add') {
     query.value[currentKey.value] = query.value[currentKey.value] ? [...query.value[currentKey.value], obj] : [obj]
   } else {

+ 10 - 1
src/views/menduner/system/web/index.vue

@@ -22,7 +22,16 @@
       <el-table-column label="标题" align="center" prop="title" />
       <el-table-column label="图片" align="center" prop="img" width="200">
         <template #default="scope">
-          <el-image v-if="scope.row.img" class="h-150px w-200px" :initial-index="info[tabList[tab].key].findIndex(e => e.mark === scope.row.mark)" :src="scope.row.img" lazy preview-teleported :preview-src-list="info[tabList[tab].key].map(e => e.img)" fit="scale-down" />
+          <el-image
+            v-if="scope.row.img"
+            class="h-150px w-200px"
+            :initial-index="info[tabList[tab].key].findIndex(e => e.mark === scope.row.mark)"
+            :src="scope.row.img"
+            lazy
+            preview-teleported
+            :preview-src-list="info[tabList[tab].key].map(e => e.img)"
+            fit="scale-down"
+          />
         </template>
       </el-table-column>
       <el-table-column label="点击跳转链接" align="center" prop="link">