|
|
|
@ -42,12 +42,13 @@
|
|
|
|
|
:loading="ServiceTypeLoading" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
style="padding: 0" |
|
|
|
|
v-for="item in ServiceList" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value" |
|
|
|
|
> |
|
|
|
|
<el-checkbox v-model="item.check" @change="() => isChecked(item, true,true)"> |
|
|
|
|
<el-checkbox v-model="item.check" @change="() => isChecked(item, true, true)"> |
|
|
|
|
{{ item.label }} |
|
|
|
|
</el-checkbox> |
|
|
|
|
</el-option> |
|
|
|
@ -83,8 +84,12 @@
|
|
|
|
|
<script setup> |
|
|
|
|
import { ref, defineAsyncComponent, getCurrentInstance } from 'vue'; |
|
|
|
|
import { getDictionaryBiz } from '@/api/system/dict'; //字典 |
|
|
|
|
import { $_basicdataBrande, $_InfopriceTemplate ,$_tempDelpriceTemplate} from '@/api/financialsector/index'; //价格模板 |
|
|
|
|
import { ElMessage,ElMessageBox } from 'element-plus'; |
|
|
|
|
import { |
|
|
|
|
$_basicdataBrande, |
|
|
|
|
$_InfopriceTemplate, |
|
|
|
|
$_tempDelpriceTemplate, |
|
|
|
|
} from '@/api/financialsector/index'; //价格模板 |
|
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'; |
|
|
|
|
const $route = useRoute(); //获取地址栏参数 |
|
|
|
|
const pageLoading = ref(true); //页面加载效果 |
|
|
|
|
|
|
|
|
@ -143,7 +148,7 @@ function updateDictionary(targetArray, dictionaryType) {
|
|
|
|
|
async function executeCheckedResults(results) { |
|
|
|
|
for (const res of results) { |
|
|
|
|
await new Promise(resolve => setTimeout(resolve, 500)); |
|
|
|
|
await isChecked(res,false,false); |
|
|
|
|
await isChecked(res, false, false); |
|
|
|
|
await provideData(); |
|
|
|
|
} |
|
|
|
|
pageLoading.value = false; |
|
|
|
@ -187,83 +192,74 @@ const onLoad = async () => {
|
|
|
|
|
}; |
|
|
|
|
onLoad(); |
|
|
|
|
// 点击菜单 |
|
|
|
|
const isChecked = (val, isChecked = false,msg=false) => { |
|
|
|
|
console.log(msg,'当前msg'); |
|
|
|
|
const isChecked = (val, isChecked = false, msg = false) => { |
|
|
|
|
console.log(msg, '当前msg'); |
|
|
|
|
console.log(val, 'val'); |
|
|
|
|
if(msg){ |
|
|
|
|
if (msg) { |
|
|
|
|
val.state = !val.state; |
|
|
|
|
Tabmenu.value = val.label; |
|
|
|
|
if(!val.check){ |
|
|
|
|
form.value.ServiceType.push(val.value) |
|
|
|
|
console.log( form.value.ServiceType,' form.value.ServiceType'); |
|
|
|
|
val.check = true; |
|
|
|
|
val.state = true; |
|
|
|
|
ElMessageBox.confirm( |
|
|
|
|
'关闭当前模板会重置数据!是否关闭?', |
|
|
|
|
'提示', |
|
|
|
|
{ |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
.then(() => { |
|
|
|
|
val.check = false; |
|
|
|
|
val.state = false; |
|
|
|
|
let indexToRemove = form.value.ServiceType.findIndex(item => item ==val.value); |
|
|
|
|
if (indexToRemove !== -1) { |
|
|
|
|
form.value.ServiceType.splice(indexToRemove, 1); |
|
|
|
|
} |
|
|
|
|
if (form.value.ServiceType.length) { |
|
|
|
|
Tabmenu.value = ServiceList.value.find(res => res.state).label; |
|
|
|
|
} |
|
|
|
|
if($route.query.id || templateInfo.value.code){ |
|
|
|
|
let data={ |
|
|
|
|
checkType:val.value, |
|
|
|
|
templateId:$route.query.id, |
|
|
|
|
} |
|
|
|
|
$_tempDelpriceTemplate(data).then(res=>{ |
|
|
|
|
console.log(res,'删除成功返回值'); |
|
|
|
|
if(res.data.code ==200){ |
|
|
|
|
ElMessage({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: res.data.msg, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}else{ |
|
|
|
|
ElMessage({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功', |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
.catch(() => { |
|
|
|
|
val.state = true; |
|
|
|
|
if (!val.check) { |
|
|
|
|
form.value.ServiceType.push(val.value); |
|
|
|
|
console.log(form.value.ServiceType, ' form.value.ServiceType'); |
|
|
|
|
val.check = true; |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
console.log(val, 'val'); |
|
|
|
|
//菜单隐藏/显示 |
|
|
|
|
val.state = !val.state; |
|
|
|
|
if ($route.query.id && !isChecked) { |
|
|
|
|
val.check = !val.check; |
|
|
|
|
} |
|
|
|
|
// 激活菜单设置为已经存在的 |
|
|
|
|
//设置激活菜单 |
|
|
|
|
Tabmenu.value = val.label; |
|
|
|
|
// 如果当前菜单被关闭则显示最新菜单 |
|
|
|
|
if (!val.state && form.value.ServiceType.length) { |
|
|
|
|
Tabmenu.value = ServiceList.value.find(res => res.state).label; |
|
|
|
|
val.state = true; |
|
|
|
|
ElMessageBox.confirm('关闭当前模板会重置数据!是否关闭?', '提示', { |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
}) |
|
|
|
|
.then(() => { |
|
|
|
|
val.check = false; |
|
|
|
|
val.state = false; |
|
|
|
|
let indexToRemove = form.value.ServiceType.findIndex(item => item == val.value); |
|
|
|
|
if (indexToRemove !== -1) { |
|
|
|
|
form.value.ServiceType.splice(indexToRemove, 1); |
|
|
|
|
} |
|
|
|
|
if (form.value.ServiceType.length) { |
|
|
|
|
Tabmenu.value = ServiceList.value.find(res => res.state).label; |
|
|
|
|
} |
|
|
|
|
if ($route.query.id || templateInfo.value.code) { |
|
|
|
|
let data = { |
|
|
|
|
checkType: val.value, |
|
|
|
|
templateId: $route.query.id, |
|
|
|
|
}; |
|
|
|
|
$_tempDelpriceTemplate(data).then(res => { |
|
|
|
|
console.log(res, '删除成功返回值'); |
|
|
|
|
if (res.data.code == 200) { |
|
|
|
|
ElMessage({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: res.data.msg, |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
ElMessage({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功', |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.catch(() => { |
|
|
|
|
val.state = true; |
|
|
|
|
val.check = true; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
console.log(val, 'val'); |
|
|
|
|
//菜单隐藏/显示 |
|
|
|
|
val.state = !val.state; |
|
|
|
|
if ($route.query.id && !isChecked) { |
|
|
|
|
val.check = !val.check; |
|
|
|
|
} |
|
|
|
|
// 激活菜单设置为已经存在的 |
|
|
|
|
//设置激活菜单 |
|
|
|
|
Tabmenu.value = val.label; |
|
|
|
|
// 如果当前菜单被关闭则显示最新菜单 |
|
|
|
|
if (!val.state && form.value.ServiceType.length) { |
|
|
|
|
Tabmenu.value = ServiceList.value.find(res => res.state).label; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
// 点击移除 |
|
|
|
|
const removeTag = value => { |
|
|
|
|
ServiceList.value.find(res => res.value == value).check = false; |
|
|
|
@ -272,7 +268,7 @@ const removeTag = value => {
|
|
|
|
|
if (form.value.ServiceType.length) { |
|
|
|
|
Tabmenu.value = ServiceList.value.find(res => res.state).label; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 给子页面传递数据 |
|
|
|
|
const provideData = data => { |
|
|
|
|
console.log(data, '来自子页面的数据'); |
|
|
|
@ -328,6 +324,7 @@ const handleChange = () => {
|
|
|
|
|
.name { |
|
|
|
|
font-size: 16px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -338,10 +335,11 @@ const handleChange = () => {
|
|
|
|
|
.el-checkbox__label { |
|
|
|
|
margin-left: 20px; |
|
|
|
|
} |
|
|
|
|
.el-select-dropdown__item { |
|
|
|
|
padding: 0 !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.el-select-dropdown__item { |
|
|
|
|
padding: 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-select-dropdown__item::after { |
|
|
|
|
content: ''; |
|
|
|
|
display: none; |
|
|
|
@ -350,13 +348,4 @@ const handleChange = () => {
|
|
|
|
|
margin-top: 6px; |
|
|
|
|
height: 100%; |
|
|
|
|
} |
|
|
|
|
:deep(.el-scrollbar__view){ |
|
|
|
|
padding: 0 10px !important; |
|
|
|
|
} |
|
|
|
|
.el-scrollbar__view{ |
|
|
|
|
.el-select-dropdown__item { |
|
|
|
|
padding:0 10px !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
|