<template>
|
<div>
|
<el-card shadow="hover" v-loading="state.isLoading">
|
<el-descriptions title="上下游系统信息配置" :column="2" :border="true">
|
<template #title>
|
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle">
|
<ele-Setting /> </el-icon> 上下游系统信息配置
|
</template>
|
|
<el-descriptions-item label="服务地址">
|
<el-input v-model="state.formData.serviceAddress" />
|
</el-descriptions-item>
|
<el-descriptions-item label="服务端口">
|
<el-input v-model="state.formData.servicePort" />
|
</el-descriptions-item>
|
<el-descriptions-item label="WMS地址">
|
<el-input v-model="state.formData.wmsAddress" />
|
</el-descriptions-item>
|
<el-descriptions-item label="WMS端口">
|
<el-input v-model="state.formData.wmsPort" />
|
</el-descriptions-item>
|
<el-descriptions-item label="赋码系统地址">
|
<el-input v-model="state.formData.codingAddress" />
|
</el-descriptions-item>
|
<el-descriptions-item label="赋码系统端口">
|
<el-input v-model="state.formData.codingPort" />
|
</el-descriptions-item>
|
<el-descriptions-item label="RCS地址">
|
<el-input v-model="state.formData.rcsAddress" />
|
</el-descriptions-item>
|
<el-descriptions-item label="RCS端口">
|
<el-input v-model="state.formData.rcsPort" />
|
</el-descriptions-item>
|
<template #extra>
|
<el-button type="primary" icon="ele-SuccessFilled" @click="onSave">保存</el-button>
|
</template>
|
</el-descriptions>
|
</el-card>
|
</div>
|
</template>
|
|
<script setup lang="ts" name="systemInfoSetting">
|
import { nextTick, reactive, ref } from 'vue';
|
import { ElMessage } from 'element-plus';
|
|
import { getAPI } from '/@/utils/axios-utils';
|
import { SysConfigApi } from '/@/api-services';
|
|
const state = reactive({
|
isLoading: false,
|
formData: {
|
serviceAddress: '',
|
servicePort: '',
|
wmsAddress: '',
|
wmsPort: '',
|
codingAddress: '',
|
codingPort: '',
|
rcsAddress: '',
|
rcsPort: ''
|
},
|
});
|
|
|
// 保存
|
const onSave = async () => {
|
try {
|
state.isLoading = true;
|
const res = await getAPI(SysConfigApi).apiSysConfigSaveSystemInfoPost({
|
serviceAddress: state.formData.serviceAddress,
|
servicePort: state.formData.servicePort,
|
wmsAddress: state.formData.wmsAddress,
|
wmsPort: state.formData.wmsPort,
|
codingAddress: state.formData.codingAddress,
|
codingPort: state.formData.codingPort,
|
rcsAddress: state.formData.rcsAddress,
|
rcsPort: state.formData.rcsPort
|
});
|
if (res.data.type !== 'success') return;
|
await loadData();
|
ElMessage.success('保存成功');
|
} finally {
|
nextTick(() => {
|
state.isLoading = false;
|
});
|
}
|
};
|
|
// 加载数据
|
const loadData = async () => {
|
try {
|
state.isLoading = true;
|
const res = await getAPI(SysConfigApi).apiSysConfigSystemInfoGet();
|
if (res.data!.type !== 'success') return;
|
|
const result = res.data.result;
|
state.formData = {
|
serviceAddress: result.serviceAddress,
|
servicePort: result.servicePort,
|
wmsAddress: result.wmsAddress,
|
wmsPort: result.wmsPort,
|
codingAddress: result.codingAddress,
|
codingPort: result.codingPort,
|
rcsAddress: result.rcsAddress,
|
rcsPort: result.rcsPort
|
};
|
} finally {
|
nextTick(() => {
|
state.isLoading = false;
|
});
|
}
|
};
|
|
loadData();
|
</script>
|
|
<style lang="scss" scoped>
|
.avatar-uploader .avatar {
|
width: 100px;
|
height: 100px;
|
display: block;
|
object-fit: contain;
|
}
|
|
:deep(.avatar-uploader) .el-upload {
|
border: 1px dashed var(--el-border-color);
|
cursor: pointer;
|
position: relative;
|
overflow: hidden;
|
transition: var(--el-transition-duration-fast);
|
}
|
|
:deep(.avatar-uploader) .el-upload:hover {
|
border-color: var(--el-color-primary);
|
}
|
|
.el-icon.avatar-uploader-icon {
|
color: #8c939d;
|
width: 100px;
|
height: 100px;
|
text-align: center;
|
}
|
</style>
|