feat(ear-tag): 新增耳标登记功能

- 添加耳标登记页面,支持新增和编辑功能
- 实现养殖场、养殖舍、养殖栏的级联选择- 添加耳标信息的详细录入,包括生物芯片耳标号、电子耳标号等
-优化列表页面,增加搜索和筛选功能
- 重构表格组件,支持更多列类型和操作
This commit is contained in:
aixianling
2024-12-25 12:12:47 +08:00
parent 06fa7b636e
commit ee15427e88
5 changed files with 156 additions and 82 deletions

View File

@@ -21,33 +21,17 @@
:is="colConfig.component"
:col-config="colConfig">
</component>
<el-table-column
v-else-if="colConfig.dict"
:key="colConfig.id"
v-bind="colConfig">
<span slot-scope="{row}" :style="{color:colConfig.color||dict.getColor(colConfig.dict, row[colConfig.prop])}">
{{ dict.getLabel(colConfig.dict, row[colConfig.prop]) }}
</span>
</el-table-column>
<el-table-column
v-else-if="colConfig.openType"
:key="colConfig.id"
v-bind="colConfig">
<template v-slot="{row}">
<ai-open-data :type="colConfig.openType" :openid="row[colConfig.prop]"/>
</template>
</el-table-column>
<el-table-column
v-else-if="colConfig.type"
:key="colConfig.id"
v-bind="colConfig"
:width="colConfig.width || 100"/>
<el-table-column v-else v-bind="colConfig" :key="colConfig.id"
:show-overflow-tooltip="colConfig['show-overflow-tooltip'] != false">
<template slot-scope="scope">
<render-slot v-if="colConfig.render" :render="colConfig.render" :row="scope.row" :index="scope.$index"
:column="colConfig"/>
<span v-else>{{ getValue(colConfig, scope.row) }}</span>
<el-table-column v-else-if="colConfig.type" v-bind="colConfig" :width="colConfig.width||80" align="center"/>
<el-table-column v-else v-bind="colConfig">
<template slot-scope="{row,$index}">
<span v-if="colConfig.dict" :style="{color:colConfig.color||dict.getColor(colConfig.dict, row[colConfig.prop])}" v-text="dict.getLabel(colConfig.dict, row[colConfig.prop])"/>
<render-slot v-else-if="colConfig.render" :render="colConfig.render" :row="row" :index="$index" :column="colConfig"/>
<el-input v-else-if="colConfig.edit==1" v-model="row[colConfig.prop]" :index="$index"/>
<el-input v-else-if="colConfig.num==1" v-model.number="row[colConfig.prop]" :index="$index"/>
<ai-select v-else-if="colConfig.select==1" v-model="row[colConfig.prop]" v-bind="colConfig"/>
<ai-uploader v-else-if="colConfig.upload==1" v-model="row[colConfig.prop]" v-bind="colConfig"/>
<ai-open-data v-else-if="colConfig.openType" :type="colConfig.openType" :openid="row[colConfig.prop]"/>
<span v-else>{{ getValue(colConfig, row) }}</span>
</template>
</el-table-column>
</template>
@@ -88,6 +72,7 @@
<script>
import moment from 'dayjs'
import dict from "../../lib/js/dict"
import AiUploader from "./AiUploader.vue";
export default {
name: 'AiTable',
@@ -121,6 +106,7 @@ export default {
}
},
components: {
AiUploader,
renderSlot: {
functional: true,
props: {