push
This commit is contained in:
100
lib/saas/view/config/configEnum.vue
Normal file
100
lib/saas/view/config/configEnum.vue
Normal file
@@ -0,0 +1,100 @@
|
||||
<!-- @format -->
|
||||
|
||||
<template>
|
||||
<span @click="editEnum()" style="color: #37abc4; cursor: pointer">
|
||||
{{ configValue.expectedValue ? configValue.expectedValue : '-' }}
|
||||
</span>
|
||||
<a-modal v-model:visible="visible" title="选择" @ok="handleOk" :mask="false" style="top: 20px">
|
||||
<a-table
|
||||
:row-selection="rowSelection"
|
||||
:columns="modalColumns"
|
||||
:data-source="tableData"
|
||||
:pagination="false"
|
||||
rowKey="value" />
|
||||
</a-modal>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref } from 'vue';
|
||||
export interface EnumData {
|
||||
dataType: string;
|
||||
name: string;
|
||||
value: number | string;
|
||||
}
|
||||
export default defineComponent({
|
||||
props: {
|
||||
configValue: {
|
||||
type: Object,
|
||||
},
|
||||
// enumTableConfig: {
|
||||
// type: Object,
|
||||
// },
|
||||
index: {
|
||||
type: Number,
|
||||
},
|
||||
listKey: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
emits: ['changeEnum', 'blur'],
|
||||
setup(props, ctx) {
|
||||
// console.log(props.configValue);
|
||||
const visible = ref<Boolean>(false);
|
||||
let tableData = ref([]);
|
||||
let choseData = ref();
|
||||
//枚举弹窗表格-列配置
|
||||
const modalColumns = [
|
||||
{
|
||||
title: '功能项',
|
||||
dataIndex: 'name',
|
||||
},
|
||||
{
|
||||
title: '描述',
|
||||
dataIndex: 'value',
|
||||
},
|
||||
];
|
||||
//编辑-选择弹窗
|
||||
const editEnum = () => {
|
||||
tableData.value = props.configValue.childSpecsDTOList
|
||||
? props.configValue.childSpecsDTOList
|
||||
: props.configValue.list;
|
||||
rowSelection.value.selectedRowKeys = [Number(props.configValue.expectedValue)];
|
||||
|
||||
visible.value = true;
|
||||
};
|
||||
//关闭选择弹窗
|
||||
const handleOk = (e: MouseEvent) => {
|
||||
visible.value = false;
|
||||
let value = {
|
||||
configValue: choseData.value,
|
||||
index: props.index,
|
||||
key: props.listKey,
|
||||
};
|
||||
ctx.emit('changeEnum', value);
|
||||
};
|
||||
//选择弹窗-单选数据
|
||||
const rowSelection = ref({
|
||||
type: 'radio',
|
||||
selectedRowKeys: [],
|
||||
// getCheckboxProps(record) {
|
||||
// return {
|
||||
// defaultChecked: record.value == props.configValue.expectedValue, // 配置默认勾选的列
|
||||
// };
|
||||
// },
|
||||
// selectedRowKeys:getConfig.value[index1.value].getBindValues[index2.value - 1]
|
||||
onChange: (selectedRowKeys, selectedRows: EnumData[]) => {
|
||||
rowSelection.value.selectedRowKeys = selectedRowKeys;
|
||||
choseData.value = selectedRows[0].value;
|
||||
},
|
||||
});
|
||||
return {
|
||||
editEnum,
|
||||
handleOk,
|
||||
visible,
|
||||
modalColumns,
|
||||
tableData,
|
||||
rowSelection,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style scoped></style>
|
||||
Reference in New Issue
Block a user