fix: 修复权限导入无法编辑问题
This commit is contained in:
parent
90a38268b9
commit
f5bfd8ee3a
|
@ -132,7 +132,7 @@ const PropertyColumns: DataTableColumnProps[] = BaseColumns.concat([
|
|||
components: {
|
||||
name: DataType
|
||||
},
|
||||
width: 200
|
||||
width: 230
|
||||
},
|
||||
{
|
||||
title: '属性来源',
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<DataTableArray
|
||||
v-if="type === 'array'"
|
||||
v-model:value="_valueType.elementType"
|
||||
@confirm="valueChange"
|
||||
/>
|
||||
<DataTableObject
|
||||
v-else-if="type === 'object'"
|
||||
|
@ -35,6 +36,7 @@
|
|||
width: 60
|
||||
}
|
||||
]"
|
||||
@confirm="valueChange"
|
||||
>
|
||||
<template #valueType="{ data }">
|
||||
{{ data.record.valueType?.type }}
|
||||
|
@ -43,20 +45,22 @@
|
|||
<OtherConfigInfo :value="data.record.valueType"></OtherConfigInfo>
|
||||
</template>
|
||||
</DataTableObject>
|
||||
<DataTableEnum v-else-if="type === 'enum'" v-model:value="_valueType" />
|
||||
<DataTableBoolean v-else-if="type === 'boolean'" v-model:value="_valueType" />
|
||||
<DataTableEnum v-else-if="type === 'enum'" v-model:value="_valueType" @confirm="valueChange"/>
|
||||
<DataTableBoolean v-else-if="type === 'boolean'" v-model:value="_valueType" @confirm="valueChange"/>
|
||||
<DataTableDouble
|
||||
v-else-if="['float', 'double'].includes(type)"
|
||||
:options="options"
|
||||
v-model:value="_valueType"
|
||||
@confirm="valueChange"
|
||||
/>
|
||||
<DataTableInteger
|
||||
v-else-if="['int', 'long'].includes(type)"
|
||||
:options="options"
|
||||
v-model:value="_valueType.unit"
|
||||
@confirm="valueChange"
|
||||
/>
|
||||
<DataTableFile v-else-if="type === 'file'" v-model:value="_valueType.fileType"/>
|
||||
<DataTableDate v-else-if="type === 'date'" v-model:value="_valueType.date"/>
|
||||
<DataTableFile v-else-if="type === 'file'" v-model:value="_valueType.fileType" @confirm="valueChange"/>
|
||||
<DataTableDate v-else-if="type === 'date'" v-model:value="_valueType.date" @confirm="valueChange"/>
|
||||
<!-- <DataTableString
|
||||
v-else-if="['string', 'password'].includes(type)"
|
||||
v-model:value="data.expands.maxLength"
|
||||
|
@ -104,10 +108,18 @@ const typeChange = (e: string) => {
|
|||
});
|
||||
};
|
||||
|
||||
const valueChange = () => {
|
||||
emit('update:value', {
|
||||
...props.value,
|
||||
valueType: {...(_valueType.value || {}), type: type.value},
|
||||
});
|
||||
}
|
||||
|
||||
watch(
|
||||
() => props.value,
|
||||
() => JSON.stringify(props.value),
|
||||
() => {
|
||||
type.value = props.value?.valueType.type;
|
||||
type.value = props.value?.valueType?.type;
|
||||
_valueType.value = props.value?.valueType
|
||||
// elements.value = props.value?.valueType.elements;
|
||||
if (['float', 'double', 'int', 'long'].includes(type.value)) {
|
||||
const res = getUnit().then((res) => {
|
||||
|
@ -123,20 +135,6 @@ watch(
|
|||
{ immediate: true, deep: true },
|
||||
);
|
||||
|
||||
watch(
|
||||
() => _valueType.value,
|
||||
() => {
|
||||
let result = {..._valueType.value};
|
||||
// if(type.value == 'boolean') {
|
||||
// result = {...data.value}
|
||||
// }
|
||||
emit('update:value', {
|
||||
...props.value,
|
||||
valueType: {...result, type: type.value},
|
||||
});
|
||||
},
|
||||
{ deep: true },
|
||||
);
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
|
@ -145,7 +143,7 @@ watch(
|
|||
gap: 12px;
|
||||
align-items: center;
|
||||
|
||||
.j-data-table-config--icon {
|
||||
:deep(.j-data-table-config--icon) {
|
||||
padding-right: 12px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ const columns: any = [
|
|||
const newColumns = computed(() => {
|
||||
if (props.type && !['string', 'boolean', 'date'].includes(props.type)) {
|
||||
const data = [...columns]
|
||||
data.splice(1, 0, {
|
||||
data.splice(2, 0, {
|
||||
title: '指标值',
|
||||
dataIndex: 'range',
|
||||
width: 120,
|
||||
|
|
|
@ -1,31 +1,36 @@
|
|||
<template>
|
||||
<j-popconfirm-modal
|
||||
:show-cancel="false"
|
||||
body-style="width: 300px"
|
||||
@confirm="confirm"
|
||||
>
|
||||
<template #content>
|
||||
<j-form ref="formRef" :model="formData">
|
||||
<j-form-item v-if="value.range === 'false'" name="value" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.value" />
|
||||
</j-form-item>
|
||||
<div v-else class="data-table-boolean-item">
|
||||
<div class="data-table-boolean-item--value">
|
||||
<j-form-item :name="['rangeValue', 0]" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.rangeValue[0]" />
|
||||
</j-form-item>
|
||||
<div class="metrics-item-value">
|
||||
<div class="metrics-item-text">
|
||||
{{ showText }}
|
||||
</div>
|
||||
<j-popconfirm-modal
|
||||
:show-cancel="false"
|
||||
body-style="width: 300px"
|
||||
@confirm="confirm"
|
||||
>
|
||||
<template #content>
|
||||
<j-form ref="formRef" :model="formData">
|
||||
<j-form-item v-if="value.range === 'false'" name="value" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.value" />
|
||||
</j-form-item>
|
||||
<div v-else class="data-table-boolean-item">
|
||||
<div class="data-table-boolean-item--value">
|
||||
<j-form-item :name="['rangeValue', 0]" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.rangeValue[0]" />
|
||||
</j-form-item>
|
||||
</div>
|
||||
<div>-</div>
|
||||
<div class="data-table-boolean-item--value">
|
||||
<j-form-item :name="['rangeValue', 1]" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.rangeValue[1]" />
|
||||
</j-form-item>
|
||||
</div>
|
||||
</div>
|
||||
<div>-</div>
|
||||
<div class="data-table-boolean-item--value">
|
||||
<j-form-item :name="['rangeValue', 1]" :rule="[{ required: true, message: '请输入指标值'}]">
|
||||
<Item v-model:value="formData.rangeValue[1]" />
|
||||
</j-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</j-form>
|
||||
</template>
|
||||
<j-button my-icon="EditOutlined" style="padding: 4px 8px"></j-button>
|
||||
</j-popconfirm-modal>
|
||||
</j-form>
|
||||
</template>
|
||||
<j-button my-icon="EditOutlined" type="link" style="padding: 4px 8px"></j-button>
|
||||
</j-popconfirm-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="MetricValueItems">
|
||||
|
@ -62,6 +67,14 @@ const formData = reactive<{
|
|||
|
||||
const formRef = ref()
|
||||
|
||||
const showText = computed(() => {
|
||||
if (props.value.range === 'false') {
|
||||
return props.value.value || ''
|
||||
} else {
|
||||
return props.value.value[0] ? props.value.value.join('-') : ''
|
||||
}
|
||||
})
|
||||
|
||||
const confirm = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
formRef.value.validate().then(() => {
|
||||
|
@ -89,4 +102,14 @@ watch(() => props.value.range,(value, oldValue) => {
|
|||
})
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
<style scoped lang="less">
|
||||
.metrics-item-value {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
|
||||
.metrics-item-text {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
v-if="type === 'string'"
|
||||
v-model:value="myValue"
|
||||
:maxLength="64"
|
||||
placeholder="请输入"
|
||||
@change="change"
|
||||
/>
|
||||
<j-input-number
|
||||
|
@ -10,12 +11,22 @@
|
|||
v-model:value="myValue"
|
||||
:precision="0"
|
||||
style="width: 100%"
|
||||
placeholder="请输入"
|
||||
@change="change"
|
||||
/>
|
||||
<j-select
|
||||
v-else-if="type === 'boolean'"
|
||||
placeholder="请选择"
|
||||
:options="[
|
||||
{ label: '否', value: 'false'},
|
||||
{ label: '是', value: 'true'},
|
||||
]"
|
||||
/>
|
||||
<j-date-picker
|
||||
v-else-if="type === 'date' "
|
||||
v-model:value="myValue"
|
||||
show-time
|
||||
placeholder="请选择"
|
||||
@change="change"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
@ -236,7 +236,7 @@ const table = reactive({
|
|||
key: 'act',
|
||||
},
|
||||
],
|
||||
data: props.data.id ? [...props.data.actions] : [...defaultAction],
|
||||
data: props.data.id ? [...(props.data.actions || [])] : [...defaultAction],
|
||||
clickRemove: (index: number) => {
|
||||
pager.total -= 1;
|
||||
table.data.splice(index, 1);
|
||||
|
|
|
@ -34,7 +34,7 @@ export default defineConfig(({ mode}) => {
|
|||
build: {
|
||||
outDir: 'dist',
|
||||
assetsDir: 'assets',
|
||||
sourcemap: false,
|
||||
sourcemap: true,
|
||||
cssCodeSplit: false,
|
||||
manifest: true,
|
||||
chunkSizeWarningLimit: 2000,
|
||||
|
@ -94,9 +94,9 @@ export default defineConfig(({ mode}) => {
|
|||
[env.VITE_APP_BASE_API]: {
|
||||
// target: 'http://192.168.32.226:8844',
|
||||
// target: 'http://192.168.32.244:8881',
|
||||
target: 'http://192.168.32.163:8844', //张季本地
|
||||
// target: 'http://192.168.32.163:8844', //张季本地
|
||||
// target: 'http://120.77.179.54:8844', // 120测试
|
||||
// target: 'http://192.168.33.46:8844', // 本地开发环境
|
||||
target: 'http://192.168.33.46:8844', // 本地开发环境
|
||||
ws: 'ws://120.77.179.54:8844',
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, '')
|
||||
|
|
|
@ -3825,8 +3825,8 @@ jetlinks-store@^0.0.3:
|
|||
|
||||
jetlinks-ui-components@^1.0.24:
|
||||
version "1.0.24"
|
||||
resolved "http://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.24.tgz#7cf4c22f37f47e49fc186b6de667e527bc2d7b95"
|
||||
integrity sha512-mP33feZvyCJbrSO+xzVdiSX62t/ZPCsWXtdYNHXsLPu7sBx7ZgeTaMYxY3xNNECTEEiA1WqCfuQWXA5h6Claaw==
|
||||
resolved "http://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.24.tgz#ff46844f8f1b9f6e4358b099014cbe5cc80b9630"
|
||||
integrity sha512-oc9MeVwJqar4LIICQWfNHFtD76h/Yl5v+xaj4u5xjIhDpvs1vwz/em9eHwToQ/yVCUShaexmweOOzhAN7od1cw==
|
||||
dependencies:
|
||||
"@vueuse/core" "^9.12.0"
|
||||
"@vueuse/router" "^9.13.0"
|
||||
|
|
Loading…
Reference in New Issue