瀏覽代碼

fix: 修改规则表单

master
yxhc 1 天之前
父節點
當前提交
924cd7b685
共有 8 個文件被更改,包括 619 次插入45 次删除
  1. 二進制
      dist.zip
  2. 二進制
      public/video/project_study_video.mp4
  3. +1
    -1
      src/components/layout/index.vue
  4. +2
    -0
      src/http/apis/expertManage/reviewMeeting.js
  5. +134
    -23
      src/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialog.vue
  6. +462
    -0
      src/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialogCopy.vue
  7. +18
    -19
      src/pages/expertManage/reviewMeeting/addMeeting/index.vue
  8. +2
    -2
      src/pages/expertManage/reviewMeeting/meetingDetail/index.vue

二進制
dist.zip 查看文件


二進制
public/video/project_study_video.mp4 查看文件


+ 1
- 1
src/components/layout/index.vue 查看文件

@@ -27,7 +27,7 @@ const { proxy } = getCurrentInstance(),
Cookie.remove('token')
localStorage.clear()
router.push('/login')
window.location.reload()
// window.location.reload()
},
// 申请权限
apply = () => {


+ 2
- 0
src/http/apis/expertManage/reviewMeeting.js 查看文件

@@ -6,6 +6,8 @@ export const createMeeting = data => http.post('/api/v1/meeting/create', data) /

export const randomInviteExpect = data => http.post('/api/v1/meeting/random-invite-expect', data) // 新建会议java

export const continueInviteDisposable = data => http.post('/api/v1/meeting/continueInvite-disposable', data) // 一次性续抽专家

export const meetingList = params => http.get('/api/v1/meeting/manager/meetingList', { params }) // 评审会议列表

export const meetingBasicInfo = meetingId => http.get(`/api/v1/meeting/basicInfo/${meetingId}`) // 会议详情-基本信息


+ 134
- 23
src/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialog.vue 查看文件

@@ -13,7 +13,7 @@
label="抽取规则"
>
<el-card
v-for="(ele,index) in ExtractionRule"
v-for="(ele,index) in ruleForm.expertInviteRule.randomRules"
:key="index"
class="box-card w-full mb-8"
>
@@ -24,7 +24,7 @@
type="danger"
plain
icon="Delete"
:disabled="ExtractionRule.length === 1"
:disabled="ruleForm.expertInviteRule.randomRules.length === 1"
@click="delExtractionRule(index)"
>
删除规则
@@ -75,7 +75,7 @@
<el-col :span="8">
<el-form-item label="专家级别" :label-width="100">
<el-cascader
v-model="ruleForm.expertInviteRule.randomRules[index].expertRegionLists"
v-model="zjjb"
clearable
:options="regionTree"
placeholder="请选择"
@@ -111,10 +111,10 @@
<el-col :span="8">
<el-form-item label="履职意向" :label-width="100">
<el-cascader
v-model="lzyx"
:options="regionTree"
class="w-full"
clearable
@change="handleExpertIntentionWorkRegions($event,index)"
/>
</el-form-item>
</el-col>
@@ -182,24 +182,24 @@
<el-col :span="8">
<el-form-item label="技术专长" :label-width="100">
<el-cascader
v-model="textZc"
:options="technicalExpertiseTree"
placeholder="请选择"
class="w-full"
clearable
@change="handleRandomRulesTags($event, index)"
@visible-change="getDictionaryData('technical_expertise')"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业领域" :label-width="100">
<el-cascader
v-model="hyly"
:options="industrySectorTree"
placeholder="请选择"
class="w-full"
clearable
@change="handleRandomRulesTags($event, index)"
@visible-change="getDictionaryData('industry_sector')"
/>
</el-form-item>
</el-col>
@@ -215,10 +215,12 @@
</el-form-item>
</el-col>
</el-row>

<el-button @click="submit">测试</el-button>
</el-card>
</template>
<script setup>
import { getCurrentInstance, onMounted, reactive, ref } from 'vue'
import { getCurrentInstance, onMounted, reactive, ref, watch } from 'vue'
import { storeToRefs } from 'pinia'
import store from '@/store'
const { dictList } = storeToRefs(store.dictStore)
@@ -226,8 +228,8 @@ const regionTree = ref([])
const regionProps = ref({ multiple: true })
import { getDictionaryTree } from '@/http/apis/expertManage/expertStore'
import { districtList } from '@/http/apis/commonApi'
import { continueInviteDisposable } from '@/http/apis/expertManage/reviewMeeting'
const { proxy } = getCurrentInstance()
const ExtractionRule = ref([0])
const userInfo = storeToRefs(store.userStore).userInfo || {}
const ruleForm = reactive({
expertInviteRule: {
@@ -252,6 +254,12 @@ onMounted(async () => {
const regionRes = []
regionRes.push(res.data)
regionTree.value = copeData(regionRes)

const technicalExpertiseRes = await getDictionaryTree({ rootTagCodeList: ['technical_expertise'] })
technicalExpertiseTree.value = copeDictionaryData(technicalExpertiseRes)[0].children

const industrySectorRes = await getDictionaryTree({ rootTagCodeList: ['industry_sector'] })
industrySectorTree.value = copeDictionaryData(industrySectorRes)[0].children
})
const copeData = (val) => {
const data = val.map((item) => {
@@ -272,16 +280,15 @@ const addExtractionRule = () => {
proxy.$message.warning('最多添加5个规则')
return
}
ExtractionRule.value.push(ExtractionRule.value.length)
ruleForm.expertInviteRule.randomRules.push({ expertDicts: [], expertTags: [] })
}
const delExtractionRule = (index) => {
ruleForm.expertInviteRule.randomRules.splice(index, 1)
ExtractionRule.value.splice(index, 1)
}

// 处理抽取规则标签数据expertTags
const handleRandomRulesTags = ($event, index) => {
console.log($event, index)
let tagGeneralType // 级联选择器标签总类型
let tagType // select选择器标签总类型
let dictObj
@@ -293,10 +300,12 @@ const handleRandomRulesTags = ($event, index) => {
tagGeneralType = $event[0].split('##')[0]
tagType = $event[$event.length - 1].split('##')[0]
dictObj = { tagGeneralType, tagCodes: [$event[$event.length - 1].split('##')[2]], expertTag: tagGeneralType }
console.log(tagGeneralType, tagType, dictObj)
} else { // 处理select选择器,字符串型数据
tagType = $event.split('##')[0]
dictObj = { tagType, tagCodes: [$event.split('##')[2]], expertTag: tagType }
}
if (!ruleForm.expertInviteRule.randomRules[index].expertTags)ruleForm.expertInviteRule.randomRules[index].expertTags = []
if (ruleForm.expertInviteRule.randomRules[index].expertTags.length === 0) {
ruleForm.expertInviteRule.randomRules[index].expertTags.push(dictObj)
} else {
@@ -324,6 +333,7 @@ const handleRandomRulesDictionary = ($event, index) => {
}
const dictType = $event.split('##')[1]
const dictObj = { dictCodes: [$event.split('##')[0]], expertDict: dictType }
if (!ruleForm.expertInviteRule.randomRules[index].expertDicts)ruleForm.expertInviteRule.randomRules[index].expertDicts = []
if (ruleForm.expertInviteRule.randomRules[index].expertDicts.length === 0) {
ruleForm.expertInviteRule.randomRules[index].expertDicts.push(dictObj)
} else {
@@ -334,18 +344,19 @@ const handleRandomRulesDictionary = ($event, index) => {
}
}
// 处理履职意向数据
const handleExpertIntentionWorkRegions = ($event, index) => {
let regionArr = []
if (!$event) {
regionArr = []
} else {
regionArr = $event.pop().split('##')
}
const regionCode = regionArr?.[0]
const regionLevel = regionArr?.[2]
ruleForm.expertInviteRule.randomRules[index].intentionRegionCode = regionCode
ruleForm.expertInviteRule.randomRules[index].intentionRegionLevel = regionLevel
}
// const handleExpertIntentionWorkRegions = ($event, index) => {
// console.log($event)
// let regionArr = []
// if (!$event) {
// regionArr = []
// } else {
// regionArr = $event.pop().split('##')
// }
// const regionCode = regionArr?.[0]
// const regionLevel = regionArr?.[2]
// ruleForm.expertInviteRule.randomRules[index].intentionRegionCode = regionCode
// ruleForm.expertInviteRule.randomRules[index].intentionRegionLevel = regionLevel
// }
// 各种字典数据
const technicalExpertiseTree = ref([])// 技术专长
const industrySectorTree = ref([])// 行业领域
@@ -387,7 +398,6 @@ const copeDictionaryData = (val) => { // 处理字典数据的方法
})
return data
}

// 处理专家层级数据
const handleExpertRegion = ($event, index) => {
console.log(ruleForm.expertInviteRule.randomRules[index].expertRegionLists)
@@ -398,6 +408,107 @@ const handleExpertRegion = ($event, index) => {
}
}) || []
}

// 假设组件有两个 props:title 和 content
const { detailData } = defineProps({
detailData: Object
})
console.log(detailData)
// randomRules

// 使用深度监听
watch(
() => detailData,
(newVal, oldVal) => {
if (newVal && newVal.randomRules && newVal.randomRules) {
// ruleForm.expertInviteRule.randomRules = newVal.randomRules
// console.log(ruleForm.expertInviteRule.randomRules)
ruleForm.expertInviteRule.randomRules = handleParmas(newVal.randomRules)
console.log(ruleForm.expertInviteRule.randomRules)
}
},
{ deep: true }
)

function handleParmas (randomRules) {
console.log(randomRules)
return randomRules.map(item => {
return {
...item,
count: item.count,
// 其它标签
otherTag: item.expertTags.find(i => i.expertTag === 'other').tagCodes || undefined,
// 擅长方向
goodAt: item.expertTags.find(i => i.expertTag === 'good_at').tagCodes || undefined,
// 内外围
expertType: item.expertDicts.find(i => i.expertDict === 'expert_type').dictCodes || undefined,
// 职称级别
professionalLevel: item.expertDicts.find(i => i.expertDict === 'title_level').dictCodes || undefined,
// 专家来源
expertSource: item.expertTags.find(i => i.expertTag === 'expert_source').tagCodes || undefined,

// 履职意向
intentionRegionCode: item.intentionRegionCode || undefined,
intentionRegionLevel: item.intentionRegionLevel || undefined,
// 专家级别
expertRegionLists: item.expertRegionList || [],
// 技术专长
technical_expertise: item.expertTags.find(i => i.expertTag === 'technical_expertise').tagCodes || undefined,
// 行业领域
industry_sector: item.expertTags.find(i => i.expertTag === 'industry_sector').tagCodes || undefined
}
})
}

function submit () {
console.log(ruleForm.expertInviteRule.randomRules)
const ruleFormClone = JSON.parse(JSON.stringify(ruleForm))
ruleFormClone.expertInviteRule.randomRules.forEach(element => {
element['inviteType'] = ruleFormClone.expertInviteRule.inviteType
Object.keys(element).forEach(item => {
switch (item) {
case 'expertSource':
delete element[item]
break
case 'expertType':
delete element[item]
break
case 'goodAt':
delete element[item]
break
case 'otherTag':
delete element[item]
break
case 'professionalLevel':
delete element[item]
break
case 'expertRegionLists':
delete element[item]
break
default:
break
}
})
})

console.log(detailData)
const postData = {
meetingId: 56,
avoidRule: detailData.avoidInfo,
randomRules: ruleFormClone.expertInviteRule.randomRules
}
console.log(postData)
if (postData.xxx) {
continueInviteDisposable(postData)
}
console.log(lzyx.value)
}

const textZc = ref(['technical_expertise##计算机科学技术##3020000', '3020000##人工智能##3020200', '3020200##机器翻译##3020203'])
const zjjb = ref([['330500##湖州市##2', '330503##南浔区##3'], ['330500##湖州市##2', '330521##德清县##3']])
const lzyx = ref(['330500##湖州市##2', '330521##德清县##3'])
const hyly = ref(['industry_sector##制造业##4030000', '4030000##酒、饮料及精制茶制造业##4030300'])

</script>
<style scoped lang="less">



+ 462
- 0
src/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialogCopy.vue 查看文件

@@ -0,0 +1,462 @@
<template>
<el-card class="mb-16" shadow="never">
<template #header>
<div class="card-header">
<span>抽取信息</span>
</div>
</template>
<el-row
:gutter="20"
>
<el-col :span="24">
<el-form-item
label="抽取规则"
>
<el-card
v-for="(rulesItem,index) in randomRules"
:key="index"
class="box-card w-full mb-8"
>
<template #header>
<div class="card-header flex justify-between">
<span>规则{{ index + 1 }}</span>
<el-button
type="danger"
plain
icon="Delete"
:disabled="randomRules.length === 1"
@click="delExtractionRule(index)"
>
删除规则
</el-button>
</div>
</template>
<el-row class="mt-8" :gutter="10">
<el-col :span="8">
<el-form-item
label="邀请数量"
:label-width="100"
:prop="`expertInviteRule.randomRules[${index}].count`"
:rules=" [
{ required: true, message: ' ', trigger: 'blur' }
]"
>
<el-input-number
v-model="rulesItem.count"
placeholder="请输入"
:min="1"
:controls="false"
:step="1"
step-strictly
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mt-8">
<el-col :span="8">
<el-form-item label="其他标签" :label-width="100">
<el-select
v-model="rulesItem.otherTag"
class="w-full"
clearable
placeholder="请选择"
>
<el-option
v-for="item in otherTree"
:key="item.value"
:label="item.label"
:value="item.label"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专家级别" :label-width="100">
<el-cascader
v-model="rulesItem.expertRegionList"
clearable
:options="regionTree"
placeholder="请选择"
class="w-full"
:props="regionProps"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="内外围" :label-width="100">
<el-select
v-model="rulesItem.expertType"
placeholder="请选择"
class="w-full"
clearable
>
<el-option
v-for="(item,order) in dictList &&
dictList.length &&
dictList.find(i => i.dictionaryName === 'expert_type')
.dictionaryList"
:key="order"
:label="item.describe"
:value="item.describe"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mt-8">
<el-col :span="8">
<el-form-item label="履职意向" :label-width="100">
<el-cascader
v-model="rulesItem.intentionRegion"
:options="regionTree"
class="w-full"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专家来源" :label-width="100">
<el-select
v-model="rulesItem.expertSource"
class="w-full"
placeholder="请选择"
clearable
>
<el-option
v-for="(item,order) in expertSource"
:key="order"
:label="item.label"
:value="item.label"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职称级别" :label-width="100">
<el-select
v-model="rulesItem.professionalLevel"
class="w-full"
placeholder="请选择"
clearable
>
<el-option
v-for="(item,order) in dictList &&
dictList.length &&
dictList.find(i => i.dictionaryName === 'title_level')
.dictionaryList"
:key="order"
:label="item.describe"
:value="item.describe"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mt-8">
<el-col :span="8">
<el-form-item label="擅长方向" :label-width="100">
<el-select
v-model="rulesItem.goodAt"
class="w-full"
placeholder="请选择"
clearable
>
<el-option
v-for="(item,order) in goodAtTree"
:key="order"
:label="item.label"
:value="item.label"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="技术专长" :label-width="100">
<el-cascader
v-model="rulesItem.technicalExpertise"
:options="technicalExpertiseTree"
placeholder="请选择"
class="w-full"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业领域" :label-width="100">
<el-cascader
v-model="rulesItem.industrySector"
:options="industrySectorTree"
placeholder="请选择"
class="w-full"
clearable
/>
</el-form-item>
</el-col>
</el-row>
</el-card>
<el-button
class="w-full"
type="primary"
icon="plus"
plain
@click="addExtractionRule"
>添加规则
</el-button>
</el-form-item>
</el-col>
</el-row>

<el-button @click="handleParmas">测试</el-button>
</el-card>
</template>
<script setup>
import { getCurrentInstance, onMounted, ref, watch } from 'vue'
import { storeToRefs } from 'pinia'
import store from '@/store'

const { dictList } = storeToRefs(store.dictStore)
const regionTree = ref([])
const regionProps = ref({ multiple: true })
import { getDictionaryTree } from '@/http/apis/expertManage/expertStore'
import { districtList } from '@/http/apis/commonApi'
// import { continueInviteDisposable } from '@/http/apis/expertManage/reviewMeeting'
const { proxy } = getCurrentInstance()

const randomRules = ref([
{
// other##信息安全##5200000
count: '',
otherTag: '',
expertRegionList: [],
expertType: '',
intentionRegion: {},
expertSource: '',
professionalLevel: '',
goodAt: '',
technicalExpertise: '',
industrySector: ''
}
])

onMounted(async () => {
// 获取履职意向数据
const res = await districtList({ regionCode: 330500, regionLevel: 2 })
const regionRes = []
regionRes.push(res.data)
regionTree.value = copeData(regionRes)

const technicalExpertiseRes = await getDictionaryTree({ rootTagCodeList: ['technical_expertise'] })
technicalExpertiseTree.value = copeDictionaryData(technicalExpertiseRes)[0].children

const industrySectorRes = await getDictionaryTree({ rootTagCodeList: ['industry_sector'] })
industrySectorTree.value = copeDictionaryData(industrySectorRes)[0].children

getDictionaryData('technical_expertise')
getDictionaryData('industry_sector')
getDictionaryData('expert_source')
getDictionaryData('good_at')
getDictionaryData('other')
})
const copeData = (val) => {
const data = val.map((item) => {
const deptData = {}
deptData.value = item.unionCode
deptData.label = item.name
if (item.children && item.children.length) {
deptData.children = item.children.map((v) => ({ value: v.unionCode, label: v.name }))
const childrenData = copeData(item.children)
deptData.children = [...childrenData]
}
return deptData
})
return data
}
const addExtractionRule = () => {
if (randomRules.value.length >= 5) {
proxy.$message.warning('最多添加5个规则')
return
}
randomRules.value.push({})
}
const delExtractionRule = (index) => {
randomRules.value.splice(index, 1)
}

// 各种字典数据
const technicalExpertiseTree = ref([])// 技术专长
const industrySectorTree = ref([])// 行业领域
const expertSource = ref([])// 专家来源
const goodAtTree = ref([])// 擅长
const otherTree = ref([])// 其他标签
// 获取各种字典数据
const getDictionaryData = async (params) => {
if (params === 'technical_expertise' && technicalExpertiseTree.value.length === 0) {
const technicalExpertiseRes = await getDictionaryTree({ rootTagCodeList: [params] })
technicalExpertiseTree.value = copeDictionaryData(technicalExpertiseRes)[0].children
} else if (params === 'industry_sector' && industrySectorTree.value.length === 0) {
const industrySectorRes = await getDictionaryTree({ rootTagCodeList: [params] })
industrySectorTree.value = copeDictionaryData(industrySectorRes)[0].children
} else if (params === 'expert_source' && expertSource.value.length === 0) {
const expertSourceRes = await getDictionaryTree({ rootTagCodeList: [params] })
expertSource.value = copeDictionaryData(expertSourceRes)[0].children
} else if (params === 'good_at' && goodAtTree.value.length === 0) {
const goodAtRes = await getDictionaryTree({ rootTagCodeList: [params] })
goodAtTree.value = copeDictionaryData(goodAtRes)[0].children
} else if (params === 'other' && otherTree.value.length === 0) {
const otherRes = await getDictionaryTree({ rootTagCodeList: [params] })
otherTree.value = copeDictionaryData(otherRes)[0].children
}
}

const copeDictionaryData = (val) => { // 处理字典数据的方法
const data = val?.map((item) => {
const deptData = {}
deptData.value = item.parentCode + '##' + item.unionCode
deptData.label = item.tagName
// deptData.isLeaf = false
if (item.children && item.children.length) {
deptData.children = item.children.map((v) => ({ value: v.parentCode + '##' + v.unionCode, label: v.tagName }))
const childrenData = copeDictionaryData(item.children)
deptData.children = [...childrenData]
}
return deptData
})
return data
}

const { detailData } = defineProps({
detailData: Object
})
console.log(detailData)
// randomRules

// 使用深度监听
watch(
() => detailData,
(newVal, oldVal) => {
if (newVal && newVal.randomRules && newVal.randomRules) {
// ruleForm.expertInviteRule.randomRules = newVal.randomRules
// console.log(ruleForm.expertInviteRule.randomRules)
// ruleForm.expertInviteRule.randomRules = handleParmas(newVal.randomRules)
showData()
}
},
{ deep: true }
)

function showData () {

}

function handleParmas () {
const postdata = randomRules.value.map(item => {
return {
count: item.count,
expertDicts: getExpertDicts(item),
expertRegionList: getExpertRegionList(item),
...getIntentionRegion(item),
expertTags: getExpertTags(item),
formEditJson: JSON.stringify(item)
}
})
console.log(postdata)
}

function getExpertRegionList (item) {
if (item.expertRegionList && Array.isArray(item.expertRegionList) && item.expertRegionList.length > 0) {
return item.expertRegionList.map(i => {
return {
regionCode: i[1].split('##')[0], regionLevel: i[1].split('##')[2]
}
})
}
return []
}

function getIntentionRegion (item) {
// ["330500##湖州市##2","330503##南浔区##3"]
if (item.intentionRegion && Array.isArray(item.intentionRegion) && item.intentionRegion.length > 1) {
return {
intentionRegionCode: item.intentionRegion[1].split('##')[0],
intentionRegionLevel: item.intentionRegion[1].split('##')[2]
}
} else {
return {}
}
}

function getExpertTags (item) {
const list = []
if (item.otherTag) {
list.push({
expertTag: 'other',
tagCodes: [item.otherTag]
})
}
if (item.expertSource) {
list.push({
expertTag: 'expert_source',
tagCodes: [item.expertSource]
})
}

if (item.goodAt) {
list.push({
expertTag: 'good_at',
tagCodes: [item.goodAt]
})
}

// expert_source

// ["industry_sector##制造业##4030000","4030000##酒、饮料及精制茶制造业##4030300"]
if (item.industrySector && Array.isArray(item.industrySector) && item.industrySector.length > 1) {
list.push({
expertTag: 'industry_sector',
tagCodes: [item.industrySector[1].split('##')[1]]
})
}

if (item.technicalExpertise && Array.isArray(item.technicalExpertise) && item.technicalExpertise.length > 1) {
if (item.technicalExpertise.length === 2) {
list.push({
expertTag: 'technical_expertise',
tagCodes: [item.technicalExpertise[1].split('##')[1]]
})
} else if (item.technicalExpertise.length === 3) {
list.push({
expertTag: 'technical_expertise',
tagCodes: [item.technicalExpertise[2].split('##')[1]]
})
}
}

return list
}

function getExpertDicts (item) {
const list = []
if (item.expertType) {
list.push({
expertDict: 'expert_type',
dictCodes: [item.expertType]
})
}
if (item.professionalLevel) {
list.push({
expertDict: 'title_level',
dictCodes: [item.professionalLevel]
})
}
return list
}

// const textZc = ref(['technical_expertise##计算机科学技术##3020000', '3020000##人工智能##3020200', '3020200##机器翻译##3020203'])
// const zjjb = ref([['330500##湖州市##2', '330503##南浔区##3'], ['330500##湖州市##2', '330521##德清县##3']])
// const lzyx = ref(['330500##湖州市##2', '330521##德清县##3'])
// const hyly = ref(['industry_sector##制造业##4030000', '4030000##酒、饮料及精制茶制造业##4030300'])

</script>
<style scoped lang="less">

</style>

+ 18
- 19
src/pages/expertManage/reviewMeeting/addMeeting/index.vue 查看文件

@@ -270,25 +270,24 @@ const { proxy } = getCurrentInstance(),
ruleFormClone.meetingBasicInfo.times = undefined
loading.value = true

// const res = await randomInviteExpect(ruleFormClone)
// const total = ruleFormClone.expertInviteRule.randomRules.reduce((accumulator, currentItem) => {
// return accumulator + currentItem.count
// }, 0)
// console.log(total)
// if (res.data.canInvite < total) {
// ElMessageBox.confirm('当前可邀请专家数量不足,是否继续邀请?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// // 继续邀请
// console.log('继续')
// addMetting(ruleFormClone)
// })
// } else {
// await addMetting(ruleFormClone)
// }
await addMetting(ruleFormClone)
const res = await randomInviteExpect(ruleFormClone)
const total = ruleFormClone.expertInviteRule.randomRules.reduce((accumulator, currentItem) => {
return accumulator + currentItem.count
}, 0)
console.log(total)
if (res.data.canInvite < total) {
ElMessageBox.confirm('当前可邀请专家数量不足,是否继续邀请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 继续邀请
console.log('继续')
addMetting(ruleFormClone)
})
} else {
await addMetting(ruleFormClone)
}
} else {
console.log('error submit!', fields)
}


+ 2
- 2
src/pages/expertManage/reviewMeeting/meetingDetail/index.vue 查看文件

@@ -448,11 +448,11 @@ onMounted(async () => {
const res = await districtList()
regionTree.value.push(res.data)
})
// import RefillDialog from '@/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialog.vue'
import RefillDialog from '@/pages/expertManage/reviewMeeting/addMeeting/components/RefillDialogCopy.vue'
</script>

<template>
<!-- <refill-dialog />-->
<refill-dialog :detail-data="inviteRuleDetail" />
<el-card class="box-card">
<template #header>
<div class="card-header">


Loading…
取消
儲存