src/views/business/productOrder/components/addView.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <div v-show="!cableConfigShow&&!auxiliaryShow">
      <div style="display: flex;justify-content: space-between;align-items:center;">
        <div>委托单信息</div>
        <div class="order-detail__title">委托单信息</div>
        <div>
          <el-cascader v-if="false"
            v-model="addObj.quarterItemId"
@@ -38,38 +38,28 @@
    </div>
    <div v-show="!cableConfigShow&&!auxiliaryShow" style="margin-top: 10px">
      <div class="search">
        <el-form :inline="true" :model="addObj" label-width="108px" label-position="right">
          <el-row>
            <el-col :span="6"><el-form-item label="产品名称"><el-input v-model="addObj.sample" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="生产单位"><el-input v-model="addObj.production" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="委托单位"><el-input v-model="addObj.company" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="检验类别"><el-select v-model="addObj.orderType" disabled size="small"><el-option v-for="item in dict.type.check_type1" :key="item.value" :label="item.label" :value="item.value" /></el-select></el-form-item></el-col>
          </el-row>
          <el-row v-if="boundTemplateList.length">
            <el-col :span="24">
              <el-form-item label="原始记录模板">
                <div class="template-tag-list">
                  <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
                </div>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6"><el-form-item label="样品数量"><el-input v-model="addObj.testQuantity" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="样品编号"><el-input v-model="sampleCode" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="样品外观"><el-input v-model="addObj.sampleStatus" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="送样人"><el-input v-model="addObj.prepareUser" disabled size="small" /></el-form-item></el-col>
          </el-row>
          <el-row>
            <el-col :span="6"><el-form-item label="生产日期"><el-date-picker v-model="addObj.productionDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="生产批号"><el-input v-model="addObj.productionBatch" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="送样日期"><el-date-picker v-model="addObj.sampleDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
            <el-col :span="6"><el-form-item label="联系方式"><el-input v-model="addObj.phone" disabled size="small" /></el-form-item></el-col>
          </el-row>
          <el-row>
            <el-col :span="12"><el-form-item label="备注"><el-input v-model="addObj.remark" disabled size="small" style="width: 520px" /></el-form-item></el-col>
          </el-row>
        </el-form>
        <el-descriptions class="order-detail" :column="4" border>
          <el-descriptions-item label="检测依据">{{ addObj.sample || '-' }}</el-descriptions-item>
          <el-descriptions-item label="样品名称">{{ addObj.sampleView || '-' }}</el-descriptions-item>
          <el-descriptions-item label="生产单位">{{ addObj.production || '-' }}</el-descriptions-item>
          <el-descriptions-item label="委托单位">{{ addObj.company || '-' }}</el-descriptions-item>
          <el-descriptions-item label="检验类别">{{ orderTypeLabel }}</el-descriptions-item>
          <el-descriptions-item label="样品数量">{{ addObj.testQuantity || '-' }}</el-descriptions-item>
          <el-descriptions-item label="样品编号">{{ sampleCode || '-' }}</el-descriptions-item>
          <el-descriptions-item label="样品外观">{{ addObj.sampleStatus || '-' }}</el-descriptions-item>
          <el-descriptions-item label="送样人">{{ addObj.prepareUser || '-' }}</el-descriptions-item>
          <el-descriptions-item label="生产日期">{{ addObj.productionDate || '-' }}</el-descriptions-item>
          <el-descriptions-item label="生产批号">{{ addObj.productionBatch || '-' }}</el-descriptions-item>
          <el-descriptions-item label="送样日期">{{ addObj.sampleDate || '-' }}</el-descriptions-item>
          <el-descriptions-item label="联系方式">{{ addObj.phone || '-' }}</el-descriptions-item>
          <el-descriptions-item label="原始记录模板" :span="4">
            <div v-if="boundTemplateList.length" class="template-tag-list">
              <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
            </div>
            <span v-else class="order-detail__empty">暂未绑定原始记录模板</span>
          </el-descriptions-item>
          <el-descriptions-item label="备注" :span="4">{{ addObj.remark || '-' }}</el-descriptions-item>
        </el-descriptions>
        <el-form v-show="false" ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
          <el-row>
            <el-col :span="6">
@@ -643,6 +633,13 @@
    newJuLaboratoryList() {
      return (this.dict.type.sys_sub_lab || []).filter(item => item.label === '新聚')
    },
    // 检验类别按字典名称展示
    orderTypeLabel() {
      const hit = (this.dict.type.check_type1 || []).find(
        item => String(item.value) === String(this.addObj.orderType)
      )
      return hit ? hit.label : (this.addObj.orderType || '-')
    },
  },
  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list', 'sys_sub_lab'],
  data() {
@@ -706,7 +703,7 @@
          { required: true, message: '请选择紧急程度', trigger: 'change' }
        ],
        sample: [
          { required: true, message: '请选择样品名称', trigger: 'change' }
          { required: true, message: '请选择检测依据', trigger: 'change' }
        ],
        sampleNum: [
          { required: true, message: '请填写样品数量', trigger: 'blur' }
@@ -1485,7 +1482,6 @@
        } else {
          this.addObj.sample = trees[3]
        }
        this.addObj.sampleView = this.addObj.sample
        this.addObj.sampleViewEn = this.sampleViewEn
        this.addObj.model = (trees[4] == undefined ? null : trees[4])
        this.selectStandardTree = false
@@ -2254,4 +2250,24 @@
  flex-wrap: wrap;
  gap: 8px;
}
/* 委托单信息:只读详情 */
.order-detail__title {
  font-size: 16px;
  font-weight: bold;
  color: #303133;
}
.order-detail>>>.el-descriptions-item__label.is-bordered-label {
  width: 104px;
  white-space: nowrap;
}
.order-detail>>>.el-descriptions-item__content {
  color: #303133;
}
/* 描述列表内不需要额外的行高占位,标签行与其它行等高 */
.order-detail .template-tag-list {
  min-height: 0;
}
.order-detail__empty {
  color: #c0c4cc;
}
</style>