158 lines
5.6 KiB
Vue
158 lines
5.6 KiB
Vue
<template>
|
|
<div class="container-wrapper">
|
|
<Panel title="基础信息">
|
|
<div class="form">
|
|
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="auto"
|
|
class="demo-ruleForm" status-icon label-position="top">
|
|
<el-descriptions
|
|
direction="vertical"
|
|
:column="3"
|
|
:label-width="100"
|
|
:label-position="'top'"
|
|
:border="false"
|
|
style="width: 100%"
|
|
>
|
|
<el-descriptions-item label="机构名称">
|
|
<el-form-item prop="common_name">
|
|
<el-input v-model="ruleForm.common_name"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="机构简称">
|
|
<el-form-item>
|
|
<el-input v-model="ruleForm.common_sortName" style="margin: 0 24px"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="定点机构编码">
|
|
<el-form-item prop="social_fixmedinsCode">
|
|
<el-input v-model="ruleForm.social_fixmedinsCode"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="定点机构名称">
|
|
<el-form-item prop="social_fixmedinsName">
|
|
<el-input v-model="ruleForm.social_fixmedinsName"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="就医区域划分">
|
|
<el-form-item prop="social_mdtrtareaAdmvs">
|
|
<el-input v-model="ruleForm.social_mdtrtareaAdmvs" style="margin: 0 24px"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="医保接口">
|
|
<el-form-item prop="social_url">
|
|
<el-input v-model="ruleForm.social_url"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="电子凭证接口">
|
|
<el-form-item prop="social_certUrl">
|
|
<el-input v-model="ruleForm.social_certUrl"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="数字签名">
|
|
<el-form-item prop="social_cainfo">
|
|
<el-input v-model="ruleForm.social_cainfo" style="margin:0 24px"/>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item
|
|
:rowspan="2"
|
|
label="logo上传">
|
|
<el-form-item>
|
|
<UpLoad v-model="uploadURL" ref="uploadRef" @uploadSuccess="uploadSuccess"
|
|
style="margin-left: 24px"></UpLoad>
|
|
</el-form-item>
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
</el-form>
|
|
</div>
|
|
<div style="display: flex;justify-content: flex-end;padding: 0 24px">
|
|
<span class="default-btn" @click="submitForm(ruleFormRef)">保存</span>
|
|
</div>
|
|
</Panel>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import {onMounted, reactive, ref} from 'vue'
|
|
import {ElMessage, type FormInstance, type FormRules} from 'element-plus'
|
|
import {post} from "@/utils/request.ts";
|
|
import Panel from "@/components/common/Panel.vue";
|
|
import UpLoad from "@/components/UpLoad.vue";
|
|
import {loadConfig} from "@/utils/config.ts";
|
|
|
|
const ruleFormRef = ref<FormInstance>()
|
|
const ruleForm = reactive<any>({
|
|
common_name: '',
|
|
common_sortName: '',
|
|
social_fixmedinsCode: '',
|
|
social_fixmedinsName: '',
|
|
social_insuplcAdmdvs: '',
|
|
social_cainfo: '',
|
|
social_url: "",
|
|
social_certUrl: "",
|
|
logoUrl: "",
|
|
})
|
|
const uploadRef = ref<any>()
|
|
onMounted(async () => {
|
|
loadConfig().then((res: any) => {
|
|
uploadURL.value = res.base_url + "file/upload";
|
|
})
|
|
post("common/config/list", null).then((list: any) => {
|
|
for (let i = 0; i < list.length; i++) {
|
|
ruleForm[list[i].k] = list[i].val
|
|
}
|
|
})
|
|
})
|
|
const rules = reactive<FormRules<any>>({
|
|
common_name: {required: true, message: '机构名称不能为空', trigger: 'blur'},
|
|
common_sortName: {required: true, message: '机构简称不能为空', trigger: 'blur'},
|
|
social_fixmedinsCode: {required: true, message: '定点机构编码不能为空', trigger: 'blur'},
|
|
social_fixmedinsName: {required: true, message: '定点机构名称不能为空', trigger: 'blur'},
|
|
social_mdtrtareaAdmvs: {required: true, message: '就医区域划分不能为空', trigger: 'blur'},
|
|
social_cainfo: {required: true, message: '数字签名不能为空', trigger: 'blur'},
|
|
social_url: {required: true, message: '医保接口不能为空', trigger: 'blur'},
|
|
social_certUrl: {required: true, message: '电子平转增接口不能为空', trigger: 'blur'},
|
|
})
|
|
const submitForm = async (formEl: FormInstance | undefined) => {
|
|
if (!formEl) return
|
|
await formEl.validate((valid) => {
|
|
if (valid) {
|
|
post("common/config/edit", ruleForm).then((res: any) => {
|
|
ElMessage.success("保存成功")
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
const resetForm = (formEl: FormInstance | undefined) => {
|
|
if (!formEl) return
|
|
formEl.resetFields()
|
|
}
|
|
|
|
const options = Array.from({length: 10000}).map((_, idx) => ({
|
|
value: `${idx + 1}`,
|
|
label: `${idx + 1}`,
|
|
}))
|
|
//上传图片
|
|
const uploadURL = ref<any>()
|
|
const uploadSuccess = (url: any) => {
|
|
ruleForm.logoUrl = url
|
|
post("common/config/edit", ruleForm).then(() => {
|
|
ElMessage.success("保存图片成功")
|
|
})
|
|
}
|
|
</script>
|
|
<style scoped lang="scss">
|
|
.container-wrapper {
|
|
padding: 0 24px;
|
|
background: #fff;
|
|
}
|
|
|
|
.form {
|
|
width: 100%;
|
|
padding: 0 24px;
|
|
}
|
|
|
|
:deep(.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label) {
|
|
padding-left: 24px;
|
|
}
|
|
</style>
|