|
@@ -0,0 +1,235 @@
|
|
|
+<!-- 物料信息基础档案——详情 -->
|
|
|
+<template>
|
|
|
+ <el-card class="material-details">
|
|
|
+
|
|
|
+ <el-row type="flex" justify="space-between">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-button size="small" @click="handleBack">返回</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6" style="text-align: right;">
|
|
|
+ <!-- 附件管理 -->
|
|
|
+ <el-button-group>
|
|
|
+ <el-button size="small" icon="el-icon-paperclip"></el-button>
|
|
|
+ </el-button-group>
|
|
|
+
|
|
|
+ <!-- 切换 -->
|
|
|
+ <el-button-group>
|
|
|
+ <el-button size="small" icon="el-icon-d-arrow-left"></el-button>
|
|
|
+ <el-button size="small" icon="el-icon-arrow-left"></el-button>
|
|
|
+ <el-button size="small" icon="el-icon-arrow-right"></el-button>
|
|
|
+ <el-button size="small" icon="el-icon-d-arrow-right"></el-button>
|
|
|
+ </el-button-group>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <div class="md-content">
|
|
|
+ <el-form :inline="true" label-position="right" :model="fromData.value" class="demo-form-inline">
|
|
|
+ <!-- <el-form-item label="所属组织">
|
|
|
+ <el-input v-model="fromData.orgName" placeholder="所属组织"></el-input>
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="物料编码">
|
|
|
+ <el-input v-model="fromData.value.code" placeholder="物料编码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="物料名称">
|
|
|
+ <el-input v-model="fromData.value.name" placeholder="物料名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="英文名称">
|
|
|
+ <el-input v-model="fromData.value.enName" placeholder="英文名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="版本号">
|
|
|
+ <el-input v-model="fromData.value.version" placeholder="版本号"></el-input>
|
|
|
+ </el-form-item> -->
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <dr-tabs :tabList="detailsTabs">
|
|
|
+ <template #tabContent>
|
|
|
+
|
|
|
+ <div class="md-basic">
|
|
|
+
|
|
|
+ <!-- 主信息 -->
|
|
|
+ <div class="md-main">
|
|
|
+ <el-form :inline="true" label-position="right" :hide-required-asterisk="true" :model="fromData.value"
|
|
|
+ class="demo-form-inline">
|
|
|
+
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="8" v-for="f in fromData.form" style="text-align: right;">
|
|
|
+ <el-form-item v-if="f.show" :label="f.name" :rules="[
|
|
|
+ { required: f.required, message: '请输入', trigger: 'blur' },
|
|
|
+ ]">
|
|
|
+ <el-input v-model="fromData.value[f.prop]" :placeholder="f.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 副信息 -->
|
|
|
+ <div class="md-vice">
|
|
|
+
|
|
|
+ <dr-tabs :tabList="basicMessage">
|
|
|
+
|
|
|
+ <template #tabContent>
|
|
|
+
|
|
|
+ <el-form :inline="true" label-position="right" :hide-required-asterisk="true" :model="medcineData.value"
|
|
|
+ class="demo-form-inline">
|
|
|
+
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
|
|
|
+ <el-form-item v-if="m.show" :label="m.name" :rules="[
|
|
|
+ { required: m.required, message: '请输入', trigger: 'blur' },
|
|
|
+ ]">
|
|
|
+ <el-input v-model="medcineData.value[f.prop]" :placeholder="m.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ </template>
|
|
|
+ </dr-tabs>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </dr-tabs>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import drTabs from '../components/dr-tabs.vue';
|
|
|
+import detailsTabs from '../config/detailsTabs';
|
|
|
+import { materialDetails, medcineDetails } from '@/api/material/basic';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'material-details',
|
|
|
+ props: ['id'],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+
|
|
|
+ detailsTabs,
|
|
|
+
|
|
|
+ // 基本信息下的页签
|
|
|
+ basicMessage: [
|
|
|
+ {
|
|
|
+ label: '医药行业',
|
|
|
+ code: 'material_medcine',
|
|
|
+ isShow: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '辅计量管理',
|
|
|
+ code: 'material_unit',
|
|
|
+ isShow: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '辅助属性',
|
|
|
+ code: 'material_property',
|
|
|
+ isShow: true,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+
|
|
|
+ // 主信息
|
|
|
+ fromData: {
|
|
|
+ value: {},
|
|
|
+ form: []
|
|
|
+ },
|
|
|
+ // 医药行业
|
|
|
+ medcineData: {
|
|
|
+ value: {},
|
|
|
+ form: []
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ drTabs
|
|
|
+
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 返回
|
|
|
+ handleBack() {
|
|
|
+ // this.$emit("actionBar", "materiaList")
|
|
|
+ let bar = {
|
|
|
+ address: 'materiaList',
|
|
|
+ id: ''
|
|
|
+ }
|
|
|
+ this.$emit("actionBar", JSON.stringify(bar))
|
|
|
+
|
|
|
+ },
|
|
|
+ // 获取物料基本信息详细信息
|
|
|
+ getMaterialDetails(id, templateCode) {
|
|
|
+
|
|
|
+ console.log(id, templateCode);
|
|
|
+ materialDetails(
|
|
|
+ id,
|
|
|
+ templateCode,
|
|
|
+ ).then((res) => {
|
|
|
+
|
|
|
+ console.log(res, '物料基本信息');
|
|
|
+ let { code, data } = res;
|
|
|
+ if (code == 200) {
|
|
|
+ this.fromData.value = data.data;
|
|
|
+ this.fromData.form = data.form;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取医药行业信息详细信息+表单属性
|
|
|
+ getMedcineDetails(id, templateCode) {
|
|
|
+
|
|
|
+ console.log(id, templateCode);
|
|
|
+ medcineDetails(
|
|
|
+ id,
|
|
|
+ templateCode,
|
|
|
+ ).then((res) => {
|
|
|
+
|
|
|
+ console.log(res, '医药行业');
|
|
|
+ let { code, data } = res;
|
|
|
+ if (code == 200) {
|
|
|
+ this.medcineData.value = data.data;
|
|
|
+ this.medcineData.form = data.form;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getMaterialDetails(this.$props.id, 'material');
|
|
|
+ this.getMedcineDetails(this.$props.id, 'material_medcine');
|
|
|
+ },
|
|
|
+
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.material-details {
|
|
|
+ height: calc(100vh - 158px);
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .md-content {
|
|
|
+ margin-top: 12px;
|
|
|
+
|
|
|
+ .md-basic {
|
|
|
+ overflow: auto;
|
|
|
+
|
|
|
+ .md-main {
|
|
|
+ max-height: 290px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ overflow-y: auto;
|
|
|
+ overflow-x: hidden;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style>
|
|
|
+>>>.el-form-item__label {
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: normal;
|
|
|
+}
|
|
|
+</style>
|