Merge branch 'dev' of github.com:jetlinks/jetlinks-ui-vue into dev
This commit is contained in:
commit
9b32fbd21d
|
|
@ -4,7 +4,10 @@ export const queryCollector = (data: any) =>
|
||||||
server.post(`/data-collect/collector/_query/no-paging?paging=false`, data);
|
server.post(`/data-collect/collector/_query/no-paging?paging=false`, data);
|
||||||
|
|
||||||
export const queryChannelNoPaging = () =>
|
export const queryChannelNoPaging = () =>
|
||||||
server.post(`/data-collect/channel/_query/no-paging`, { paging: false });
|
server.post(`/data-collect/channel/_query/no-paging`, {
|
||||||
|
paging: false,
|
||||||
|
sorts: [{ name: 'createTime', order: 'desc' }],
|
||||||
|
});
|
||||||
|
|
||||||
export const save = (data: any) => server.post(`/data-collect/collector`, data);
|
export const save = (data: any) => server.post(`/data-collect/collector`, data);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
|
<j-form-item :name="name.concat(['type'])" v-show="false">
|
||||||
|
<j-input v-model:value="value.type" disabled/>
|
||||||
|
</j-form-item>
|
||||||
<j-form-item :name="name.concat(['script'])">
|
<j-form-item :name="name.concat(['script'])">
|
||||||
<f-rule-editor v-model:value="value.script" :id="id" :virtualRule="value"></f-rule-editor>
|
<f-rule-editor v-model:value="value.script" :id="id" :virtualRule="value"></f-rule-editor>
|
||||||
</j-form-item>
|
</j-form-item>
|
||||||
|
|
@ -60,10 +63,12 @@ interface Emits {
|
||||||
const emit = defineEmits<Emits>()
|
const emit = defineEmits<Emits>()
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
emit('update:value', {
|
if (!props.value.type) {
|
||||||
...props.value,
|
emit('update:value', {
|
||||||
type: 'script'
|
...props.value,
|
||||||
})
|
type: 'script'
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const aggTypeOptions = ref()
|
const aggTypeOptions = ref()
|
||||||
|
|
|
||||||
|
|
@ -301,7 +301,13 @@ const formData = ref({
|
||||||
});
|
});
|
||||||
|
|
||||||
const handleOk = async () => {
|
const handleOk = async () => {
|
||||||
const data = await formRef.value?.validate();
|
console.log(2, formRef.value, formRef.value?.validate());
|
||||||
|
|
||||||
|
const data = await formRef.value?.validate().catch((err) => {
|
||||||
|
console.log(23, err);
|
||||||
|
});
|
||||||
|
console.log(3, data);
|
||||||
|
|
||||||
delete data?.nspwc;
|
delete data?.nspwc;
|
||||||
const { codec } = data?.configuration;
|
const { codec } = data?.configuration;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
<template #headerTitle>
|
<template #headerTitle>
|
||||||
<j-space>
|
<j-space>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
v-if="data?.provider !== 'OPC_UA'"
|
v-if="data?.provider == 'MODBUS_TCP'"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handlAdd"
|
@click="handlAdd"
|
||||||
hasPermission="DataCollect/Collector:add"
|
hasPermission="DataCollect/Collector:add"
|
||||||
|
|
|
||||||
|
|
@ -56,22 +56,8 @@
|
||||||
<j-form-item
|
<j-form-item
|
||||||
:name="['circuitBreaker', 'type']"
|
:name="['circuitBreaker', 'type']"
|
||||||
:rules="LeftTreeRules.type"
|
:rules="LeftTreeRules.type"
|
||||||
|
label="故障处理"
|
||||||
>
|
>
|
||||||
<template #label>
|
|
||||||
<span>
|
|
||||||
故障处理
|
|
||||||
<j-tooltip
|
|
||||||
:title="
|
|
||||||
getTypeTooltip(formData.circuitBreaker.type)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<AIcon
|
|
||||||
type="QuestionCircleOutlined"
|
|
||||||
style="margin-left: 2px"
|
|
||||||
/>
|
|
||||||
</j-tooltip>
|
|
||||||
</span>
|
|
||||||
</template>
|
|
||||||
<j-card-select
|
<j-card-select
|
||||||
:showImage="false"
|
:showImage="false"
|
||||||
v-model:value="formData.circuitBreaker.type"
|
v-model:value="formData.circuitBreaker.type"
|
||||||
|
|
@ -83,6 +69,9 @@
|
||||||
@change="changeCardSelectType"
|
@change="changeCardSelectType"
|
||||||
/>
|
/>
|
||||||
</j-form-item>
|
</j-form-item>
|
||||||
|
<p style="color: #616161">
|
||||||
|
{{ getTypeTooltip(formData.circuitBreaker.type) }}
|
||||||
|
</p>
|
||||||
<j-form-item
|
<j-form-item
|
||||||
:name="['configuration', 'endian']"
|
:name="['configuration', 'endian']"
|
||||||
v-if="visibleEndian"
|
v-if="visibleEndian"
|
||||||
|
|
@ -137,15 +126,12 @@
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { Form } from 'ant-design-vue';
|
|
||||||
import { save, update } from '@/api/data-collect/collector';
|
import { save, update } from '@/api/data-collect/collector';
|
||||||
import { Store } from 'jetlinks-store';
|
import { Store } from 'jetlinks-store';
|
||||||
import { cloneDeep } from 'lodash';
|
|
||||||
import { LeftTreeRules } from '../../data';
|
import { LeftTreeRules } from '../../data';
|
||||||
import type { FormInstance } from 'ant-design-vue';
|
import type { FormInstance } from 'ant-design-vue';
|
||||||
|
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const useForm = Form.useForm;
|
|
||||||
const channelListAll = ref();
|
const channelListAll = ref();
|
||||||
const channelList = ref();
|
const channelList = ref();
|
||||||
const visibleEndian = ref(false);
|
const visibleEndian = ref(false);
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,10 @@
|
||||||
:tree-data="defualtDataSource"
|
:tree-data="defualtDataSource"
|
||||||
v-model:selected-keys="selectedKeys"
|
v-model:selected-keys="selectedKeys"
|
||||||
:fieldNames="{ key: 'id' }"
|
:fieldNames="{ key: 'id' }"
|
||||||
v-if="defualtDataSource[0].children.length !== 0"
|
v-if="
|
||||||
|
defualtDataSource.length !== 0 ||
|
||||||
|
defualtDataSource?.[0]?.children?.length !== 0
|
||||||
|
"
|
||||||
:height="600"
|
:height="600"
|
||||||
defaultExpandAll
|
defaultExpandAll
|
||||||
>
|
>
|
||||||
|
|
@ -129,13 +132,15 @@ const visible = ref(false);
|
||||||
const current = ref({});
|
const current = ref({});
|
||||||
const collectorAll = ref();
|
const collectorAll = ref();
|
||||||
|
|
||||||
const defualtDataSource: any = ref([
|
const root = [
|
||||||
{
|
{
|
||||||
id: '*',
|
id: '*',
|
||||||
name: '全部',
|
name: '全部',
|
||||||
children: [],
|
children: [],
|
||||||
},
|
},
|
||||||
]);
|
];
|
||||||
|
|
||||||
|
const defualtDataSource: any = ref(_.cloneDeep(root));
|
||||||
|
|
||||||
const defualtParams = {
|
const defualtParams = {
|
||||||
paging: false,
|
paging: false,
|
||||||
|
|
@ -195,9 +200,11 @@ const saveChange = (value: object) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSearch = async (value: any) => {
|
const handleSearch = async (value: any) => {
|
||||||
|
let clickSearch = false;
|
||||||
if (!searchValue.value && !value) {
|
if (!searchValue.value && !value) {
|
||||||
params.value = _.cloneDeep(defualtParams);
|
params.value = _.cloneDeep(defualtParams);
|
||||||
} else if (!!searchValue.value) {
|
} else if (!!searchValue.value) {
|
||||||
|
clickSearch = true;
|
||||||
params.value = { ..._.cloneDeep(defualtParams) };
|
params.value = { ..._.cloneDeep(defualtParams) };
|
||||||
params.value.terms[1] = {
|
params.value.terms[1] = {
|
||||||
terms: [
|
terms: [
|
||||||
|
|
@ -214,12 +221,24 @@ const handleSearch = async (value: any) => {
|
||||||
spinning.value = true;
|
spinning.value = true;
|
||||||
const res: any = await queryCollector(params.value);
|
const res: any = await queryCollector(params.value);
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
defualtDataSource.value[0].children = res.result;
|
if (clickSearch) {
|
||||||
collectorAll.value = res.result;
|
defualtDataSource.value = res.result;
|
||||||
if (selectedKeys.value.length === 0) {
|
} else {
|
||||||
selectedKeys.value = [res?.result[0]?.id] || [];
|
defualtDataSource.value = _.cloneDeep(root);
|
||||||
emits('change', res?.result[0]);
|
defualtDataSource.value[0].children = res.result;
|
||||||
}
|
}
|
||||||
|
collectorAll.value = res.result;
|
||||||
|
|
||||||
|
if (selectedKeys.value.length === 0) {
|
||||||
|
selectedKeys.value = ['*'];
|
||||||
|
}
|
||||||
|
|
||||||
|
//激活change事件
|
||||||
|
setTimeout(() => {
|
||||||
|
const _selectedKeys = _.cloneDeep(selectedKeys.value);
|
||||||
|
selectedKeys.value = [];
|
||||||
|
selectedKeys.value = _selectedKeys;
|
||||||
|
}, 0);
|
||||||
}
|
}
|
||||||
spinning.value = false;
|
spinning.value = false;
|
||||||
};
|
};
|
||||||
|
|
@ -238,8 +257,10 @@ watch(
|
||||||
() => selectedKeys.value,
|
() => selectedKeys.value,
|
||||||
(n) => {
|
(n) => {
|
||||||
const key = _.isArray(n) ? n[0] : n;
|
const key = _.isArray(n) ? n[0] : n;
|
||||||
const row = collectorAll.value.find((i: any) => i.id === key);
|
if (key) {
|
||||||
emits('change', row);
|
const row = collectorAll.value.find((i: any) => i.id === key);
|
||||||
|
emits('change', row);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<j-spin :spinning="spinning">
|
<j-spin :spinning="spinning">
|
||||||
<Point v-if="!!data" :data="data" />
|
<Point v-if="data || data === undefined" :data="data" />
|
||||||
<j-empty style="margin-top: 20%" v-else />
|
<j-empty style="margin-top: 20%" v-else />
|
||||||
</j-spin>
|
</j-spin>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<j-select v-model:value="_value.source" :options="PropertySource" size="small"
|
<j-select v-model:value="_value.source" :options="PropertySource" size="small"
|
||||||
:disabled="metadataStore.model.action === 'edit'" @change="changeSource"></j-select>
|
:disabled="metadataStore.model.action === 'edit'" @change="changeSource"></j-select>
|
||||||
</j-form-item>
|
</j-form-item>
|
||||||
<virtual-rule-param v-if="_value.source === 'rule'" v-model:value="_value.virtualRule"
|
<virtual-rule-param v-if="type === 'product' && _value.source === 'rule'" v-model:value="_value.virtualRule"
|
||||||
:name="name.concat(['virtualRule'])" :id="id" :showWindow="_value.source === 'rule'"></virtual-rule-param>
|
:name="name.concat(['virtualRule'])" :id="id" :showWindow="_value.source === 'rule'"></virtual-rule-param>
|
||||||
<j-form-item label="读写类型" :name="name.concat(['type'])" :rules="[
|
<j-form-item label="读写类型" :name="name.concat(['type'])" :rules="[
|
||||||
{ required: true, message: '请选择读写类型' },
|
{ required: true, message: '请选择读写类型' },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue