|
|
|
|
@ -4,10 +4,19 @@
|
|
|
|
|
* user:sa0ChunLuyu
|
|
|
|
|
* date:2024年10月12日 16:29:26
|
|
|
|
|
*/
|
|
|
|
|
import {ref, onMounted, computed} from 'vue';
|
|
|
|
|
import {
|
|
|
|
|
ref,
|
|
|
|
|
onMounted,
|
|
|
|
|
computed
|
|
|
|
|
} from 'vue';
|
|
|
|
|
import $router from '@/router'
|
|
|
|
|
import {onBeforeRouteUpdate} from "vue-router";
|
|
|
|
|
import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
|
|
import {
|
|
|
|
|
onBeforeRouteUpdate
|
|
|
|
|
} from "vue-router";
|
|
|
|
|
import {
|
|
|
|
|
ElMessage,
|
|
|
|
|
ElMessageBox
|
|
|
|
|
} from 'element-plus'
|
|
|
|
|
import {
|
|
|
|
|
QuestionCreateAction,
|
|
|
|
|
QuestionUpdateAction,
|
|
|
|
|
@ -79,7 +88,9 @@ const routerChange = (query) => {
|
|
|
|
|
//获取可用套餐列表
|
|
|
|
|
let combolist = ref([]);
|
|
|
|
|
const GetCombolist = async () => {
|
|
|
|
|
const response = await ComboGetAllList({status:"enable"})
|
|
|
|
|
const response = await ComboGetAllList({
|
|
|
|
|
status: "enable"
|
|
|
|
|
})
|
|
|
|
|
if (response.status) {
|
|
|
|
|
combolist.value = response.data.list
|
|
|
|
|
} else {
|
|
|
|
|
@ -134,7 +145,9 @@ const editDoneClick = async () => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const QuestionDelete = async (id) => {
|
|
|
|
|
const response = await QuestionDeleteAction({id})
|
|
|
|
|
const response = await QuestionDeleteAction({
|
|
|
|
|
id
|
|
|
|
|
})
|
|
|
|
|
if (response.status !== 'no') {
|
|
|
|
|
await QuestionList()
|
|
|
|
|
} else {
|
|
|
|
|
@ -145,16 +158,14 @@ const QuestionDelete = async (id) => {
|
|
|
|
|
const deleteClick = (id) => {
|
|
|
|
|
ElMessageBox.confirm(
|
|
|
|
|
'是否确认删除该问卷?',
|
|
|
|
|
'提示',
|
|
|
|
|
{
|
|
|
|
|
'提示', {
|
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
}
|
|
|
|
|
).then(() => {
|
|
|
|
|
QuestionDelete(id)
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
})
|
|
|
|
|
}).catch(() => {})
|
|
|
|
|
}
|
|
|
|
|
const edit_item_data = ref([])
|
|
|
|
|
const edit_item_show = ref(false)
|
|
|
|
|
@ -167,7 +178,8 @@ const editItemDoneClick = () => {
|
|
|
|
|
edit_item_show.value = false
|
|
|
|
|
}
|
|
|
|
|
const filterMethod = (query, item) => {
|
|
|
|
|
return item.name.toLowerCase().includes(query.toLowerCase()) || item.pinyin.toLowerCase().includes(query.toLowerCase())
|
|
|
|
|
return item.name.toLowerCase().includes(query.toLowerCase()) || item.pinyin.toLowerCase().includes(query
|
|
|
|
|
.toLowerCase())
|
|
|
|
|
}
|
|
|
|
|
const moveQuestionClick = (index, type) => {
|
|
|
|
|
if (edit_data.value.questions.length - 1 >= index + type) {
|
|
|
|
|
@ -204,21 +216,13 @@ onMounted(() => {
|
|
|
|
|
</script>
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<el-dialog v-model="edit_item_show" title="关联项目管理" width="910px"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:close-on-press-escape="false"
|
|
|
|
|
:show-close="false">
|
|
|
|
|
<el-dialog v-model="edit_item_show" title="关联项目管理" width="910px" :close-on-click-modal="false"
|
|
|
|
|
:close-on-press-escape="false" :show-close="false">
|
|
|
|
|
<div>
|
|
|
|
|
<div class="eltransfer">
|
|
|
|
|
<el-transfer
|
|
|
|
|
:titles="['可选项目', '已选项目']"
|
|
|
|
|
:props="{key: 'item_id', label: 'name'}"
|
|
|
|
|
v-model="edit_item_data"
|
|
|
|
|
filterable
|
|
|
|
|
:filter-method="filterMethod"
|
|
|
|
|
filter-placeholder="搜索"
|
|
|
|
|
:data="item_list"
|
|
|
|
|
/>
|
|
|
|
|
<el-transfer :titles="['可选项目', '已选项目']" :props="{key: 'item_id', label: 'name'}"
|
|
|
|
|
v-model="edit_item_data" filterable :filter-method="filterMethod" filter-placeholder="搜索"
|
|
|
|
|
:data="item_list" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
@ -246,28 +250,77 @@ onMounted(() => {
|
|
|
|
|
<el-button type="primary" size="small" @click="editItemClick()">编辑项目</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="基础">
|
|
|
|
|
<el-select v-model="edit_data.jichu_combo"
|
|
|
|
|
placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name" :value="item.combo_id" ></el-option>
|
|
|
|
|
<el-form label-width="100px">
|
|
|
|
|
<el-form-item label=" 男">
|
|
|
|
|
<el-select v-model="edit_data.jichu_nan" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女未婚">
|
|
|
|
|
<el-select v-model="edit_data.jichu_nv_weihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女已婚">
|
|
|
|
|
<el-select v-model="edit_data.jichu_nv_yihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="推荐">
|
|
|
|
|
<el-select v-model="edit_data.tuijian_combo"
|
|
|
|
|
placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name" :value="item.combo_id" ></el-option>
|
|
|
|
|
<el-form label-width="100px">
|
|
|
|
|
<el-form-item label=" 男">
|
|
|
|
|
<el-select v-model="edit_data.tuijian_nan" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女未婚">
|
|
|
|
|
<el-select v-model="edit_data.tuijian_nv_weihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女已婚">
|
|
|
|
|
<el-select v-model="edit_data.tuijian_nv_yihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="高端">
|
|
|
|
|
<el-select v-model="edit_data.gaoduan_combo"
|
|
|
|
|
placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name" :value="item.combo_id" ></el-option>
|
|
|
|
|
<el-form label-width="100px">
|
|
|
|
|
<el-form-item label=" 男">
|
|
|
|
|
<el-select v-model="edit_data.gaoduan_nan" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女未婚">
|
|
|
|
|
<el-select v-model="edit_data.gaoduan_nv_weihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 女已婚">
|
|
|
|
|
<el-select v-model="edit_data.gaoduan_nv_yihun" placeholder="选择套餐">
|
|
|
|
|
<el-option v-for="(item,index) in combolist" :key="index" :label="item.name"
|
|
|
|
|
:value="item.combo_id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="题目">
|
|
|
|
|
<div class="question_edit_title_wrapper">
|
|
|
|
|
<el-select style="width: 300px;margin-right: 10px;" v-model="edit_question_active"
|
|
|
|
|
placeholder="请选择题目">
|
|
|
|
|
<el-option v-for="(i,k) in question_list" :key="k" :label="i.question" :value="i.id"></el-option>
|
|
|
|
|
<el-option v-for="(i,k) in question_list" :key="k" :label="i.question"
|
|
|
|
|
:value="i.id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-button type="primary" size="small" @click="addQuestionClick()">添加题目</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
@ -282,8 +335,8 @@ onMounted(() => {
|
|
|
|
|
@click="moveQuestionClick(scope.$index, -1)">
|
|
|
|
|
↑
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button :disabled="scope.$index===edit_data.questions.length - 1" type="primary" size="small"
|
|
|
|
|
@click="moveQuestionClick(scope.$index, 1)">↓
|
|
|
|
|
<el-button :disabled="scope.$index===edit_data.questions.length - 1" type="primary"
|
|
|
|
|
size="small" @click="moveQuestionClick(scope.$index, 1)">↓
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button :disabled="edit_data.questions.length === 1" type="primary" size="small"
|
|
|
|
|
@click="delQuestionClick(scope.$index)">X
|
|
|
|
|
@ -346,8 +399,8 @@ onMounted(() => {
|
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
<div class="page">
|
|
|
|
|
<el-pagination v-if="last_page > 0" :current-page="page_options.page" mt-2 background layout="prev, pager, next"
|
|
|
|
|
:page-count="last_page" @update:current-page="searchClick"/>
|
|
|
|
|
<el-pagination v-if="last_page > 0" :current-page="page_options.page" mt-2 background
|
|
|
|
|
layout="prev, pager, next" :page-count="last_page" @update:current-page="searchClick" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -368,6 +421,7 @@ onMounted(() => {
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.eltransfer>>>.el-transfer-panel {
|
|
|
|
|
width: 350px;
|
|
|
|
|
}
|
|
|
|
|
|