Browse Source

管理端PC页面部分优化

master
王妍洁 2 months ago
parent
commit
d485e1c461
  1. 9
      chenhai-ui/src/views/muhu/consultation/index.vue
  2. 235
      chenhai-ui/src/views/system/VacRegistration/index.vue
  3. 5
      chenhai-ui/src/views/system/recommendation/index.vue
  4. 289
      chenhai-ui/src/views/system/vacCategory/index.vue
  5. 56
      chenhai-ui/src/views/system/vacInfo/index.vue
  6. 2
      chenhai-ui/src/views/system/vet/aduit/index.vue
  7. 3
      chenhai-ui/src/views/vet/info/index.vue
  8. 3
      chenhai-ui/src/views/vet/knowledge/index.vue
  9. 2
      chenhai-ui/src/views/vet/plan/index.vue

9
chenhai-ui/src/views/muhu/consultation/index.vue

@ -846,6 +846,15 @@ export default {
width: 90px; width: 90px;
} }
::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f;
}
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #cac9c9;
padding: 12px 10px;
}
::v-deep .el-descriptions-row th { ::v-deep .el-descriptions-row th {
text-align: center !important; text-align: center !important;
color: #7b7c7f; color: #7b7c7f;

235
chenhai-ui/src/views/system/VacRegistration/index.vue

@ -35,6 +35,16 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.vaccine_registration_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="联系人姓名" prop="contactName"> <el-form-item label="联系人姓名" prop="contactName">
<el-input <el-input
v-model="queryParams.contactName" v-model="queryParams.contactName"
@ -51,16 +61,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.vaccine_registration_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="预约时间" prop="registrationTime"> <el-form-item label="预约时间" prop="registrationTime">
<el-date-picker clearable <el-date-picker clearable
v-model="queryParams.registrationTime" v-model="queryParams.registrationTime"
@ -69,30 +70,30 @@
placeholder="请选择预约时间"> placeholder="请选择预约时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="确认时间" prop="confirmedTime">
<el-date-picker clearable
v-model="queryParams.confirmedTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择确认时间">
</el-date-picker>
</el-form-item>
<el-form-item label="完成时间" prop="completedTime">
<el-date-picker clearable
v-model="queryParams.completedTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="取消时间" prop="cancelTime">
<el-date-picker clearable
v-model="queryParams.cancelTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择取消时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="确认时间" prop="confirmedTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.confirmedTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择确认时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="完成时间" prop="completedTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.completedTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择完成时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取消时间" prop="cancelTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.cancelTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择取消时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -155,10 +156,10 @@
<dict-tag :options="dict.type.livestock_type" :value="scope.row.livestockType"/> <dict-tag :options="dict.type.livestock_type" :value="scope.row.livestockType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="牲畜数量" align="center" prop="livestockCount" />
<el-table-column label="联系人姓名" align="center" prop="contactName" />
<el-table-column label="联系电话" align="center" prop="contactPhone" />
<el-table-column label="状态" align="center" prop="status">
<el-table-column label="牲畜数量" align="center" prop="livestockCount" width="200px"/>
<el-table-column label="联系人姓名" align="center" prop="contactName" width="200px"/>
<el-table-column label="联系电话" align="center" prop="contactPhone" width="180px"/>
<el-table-column label="状态" align="center" prop="status" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.vaccine_registration_status" :value="scope.row.status"/> <dict-tag :options="dict.type.vaccine_registration_status" :value="scope.row.status"/>
</template> </template>
@ -183,8 +184,8 @@
<span>{{ parseTime(scope.row.cancelTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.cancelTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="备注" align="center" prop="remark" width="200px" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button--> <!-- <el-button-->
<!-- size="mini"--> <!-- size="mini"-->
@ -207,7 +208,8 @@
type="text" type="text"
icon="el-icon-check" icon="el-icon-check"
@click="handleConfirm(scope.row)" @click="handleConfirm(scope.row)"
style="color: #67C23A;"
style="color: #42B983"
class="info-btn alter-btn"
v-hasPermi="['system:VacRegistration:confirm']" v-hasPermi="['system:VacRegistration:confirm']"
>确认</el-button> >确认</el-button>
<el-button <el-button
@ -216,7 +218,8 @@
type="text" type="text"
icon="el-icon-success" icon="el-icon-success"
@click="handleComplete(scope.row)" @click="handleComplete(scope.row)"
style="color: #409EFF;"
style="color: #072eed"
class="info-btn audit-btn"
v-hasPermi="['system:VacRegistration:complete']" v-hasPermi="['system:VacRegistration:complete']"
>完成</el-button> >完成</el-button>
<el-button <el-button
@ -225,13 +228,15 @@
type="text" type="text"
icon="el-icon-close" icon="el-icon-close"
@click="handleCancel(scope.row)" @click="handleCancel(scope.row)"
style="color: #F56C6C;"
style="color: #f56c6c"
class="info-btn delete-btn"
v-hasPermi="['system:VacRegistration:cancel']" v-hasPermi="['system:VacRegistration:cancel']"
>取消</el-button> >取消</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagestyle">
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@ -239,9 +244,10 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
</div>
<!-- 添加或修改疫苗预约对话框 --> <!-- 添加或修改疫苗预约对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="疫苗信息ID" prop="vaccineId">--> <!-- <el-form-item label="疫苗信息ID" prop="vaccineId">-->
<!-- <el-input v-model="form.vaccineId" placeholder="请输入疫苗信息ID" />--> <!-- <el-input v-model="form.vaccineId" placeholder="请输入疫苗信息ID" />-->
@ -310,9 +316,9 @@
placeholder="请选择取消时间"> placeholder="请选择取消时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<!-- <el-form-item label="删除标志" prop="delFlag">-->
<!-- <el-input v-model="form.delFlag" placeholder="请输入删除标志" />-->
<!-- </el-form-item>-->
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
@ -540,3 +546,138 @@ export default {
} }
} }
</script> </script>
<style scoped>
::v-deep .pagestyle .el-input{
width: auto !important;
}
::v-deep .pagestyle .pagination-container{
background-color: #f8fafc;
}
</style>
<style scoped lang="scss">
//
.info-btn {
padding: 6px 10px;
border-radius: 4px;
margin: 0 10px;
transition: all 0.3s ease;
}
.alter-btn:hover{
background-color: rgb(230, 255, 238);
transform: translateY(-1px);
}
.delete-btn:hover {
background-color: rgba(245, 108, 108, 0.1);
transform: translateY(-1px);
}
.audit-btn:hover {
background-color: rgb(215, 223, 246);
transform: translateY(-1px);
}
// /
::v-deep .el-dialog {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
animation: dialogFadeIn 0.3s ease;
}
::v-deep .el-dialog__header {
background: linear-gradient(135deg, #2c7a4d 0%, #42b983 100%);
padding: 18px 24px;
border-bottom: none;
position: relative;
}
::v-deep .el-dialog__title {
font-size: 17px;
font-weight: 600;
color: white;
letter-spacing: 0.5px;
}
::v-deep .el-dialog__headerbtn:hover .el-dialog__close {
color: #ffd04b;
transform: rotate(90deg);
}
::v-deep .el-dialog__body {
padding: 28px 24px 20px;
background-color: #f8fafc;
max-height: 70vh;
overflow-y: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px;
transition: all 0.3s;
}
::v-deep .el-form-item__label {
font-weight: 500;
color: #2d3748;
font-size: 14px;
transition: color 0.3s;
}
::v-deep .el-input,
::v-deep .el-textarea,
::v-deep .el-select {
width: 100%;
}
::v-deep .el-input__inner,
::v-deep .el-textarea__inner {
border-radius: 8px;
border: 1px solid #dcdfe6;
font-size: 14px;
transition: all 0.3s;
background-color: #fcfdfe;
}
::v-deep .el-input__inner:focus,
::v-deep .el-textarea__inner:focus {
border-color: #42B983;
box-shadow: 0 0 0 3px rgb(230, 255, 238);
background-color: white;
}
::v-deep .el-select .el-input__inner {
padding-right: 35px;
}
::v-deep .el-dialog__footer {
padding: 20px 24px;
background-color: #f8fafc;
border-top: 1px solid #eef2f7;
border-radius: 0 0 12px 12px;
}
</style>
<style scoped>
::v-deep .el-descriptions-item__cell{
width: 90px;
}
::v-deep .pagestyle .el-input{
width: auto !important;
}
::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f;
background: #faf7f7;
}
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #bcbbbb;
padding: 12px 10px;
}
</style>

5
chenhai-ui/src/views/system/recommendation/index.vue

@ -1155,11 +1155,10 @@ export default {
::v-deep .el-descriptions-row th{ ::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f; text-align: center !important;color: #7b7c7f;
background: #faf7f7;
} }
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell { ::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #bcbbbb;
border: 1px solid #cac9c9;
padding: 12px 10px; padding: 12px 10px;
} }
</style> </style>
@ -1225,7 +1224,7 @@ export default {
} }
::v-deep .el-dialog__header { ::v-deep .el-dialog__header {
background: linear-gradient(135deg, #42b983 0%, #83df92 100%);
background: linear-gradient(135deg, #2c7a4d 0%, #42b983 100%);
padding: 18px 24px; padding: 18px 24px;
border-bottom: none; border-bottom: none;
position: relative; position: relative;

289
chenhai-ui/src/views/system/vacCategory/index.vue

@ -1,22 +1,22 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="兽药批准文号" prop="approvalNumber">
<el-input
v-model="queryParams.approvalNumber"
placeholder="请输入兽药批准文号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品批号" prop="batchNumber">
<el-input
v-model="queryParams.batchNumber"
placeholder="请输入产品批号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="兽药批准文号" prop="approvalNumber">-->
<!-- <el-input-->
<!-- v-model="queryParams.approvalNumber"-->
<!-- placeholder="请输入兽药批准文号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="产品批号" prop="batchNumber">-->
<!-- <el-input-->
<!-- v-model="queryParams.batchNumber"-->
<!-- placeholder="请输入产品批号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="通用名称" prop="genericName"> <el-form-item label="通用名称" prop="genericName">
<el-input <el-input
v-model="queryParams.genericName" v-model="queryParams.genericName"
@ -33,14 +33,14 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="规格" prop="specification">
<el-input
v-model="queryParams.specification"
placeholder="请输入规格,如:100ml/瓶"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="规格" prop="specification">-->
<!-- <el-input-->
<!-- v-model="queryParams.specification"-->
<!-- placeholder="请输入规格,如:100ml/瓶"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="生产厂家" prop="manufacturer"> <el-form-item label="生产厂家" prop="manufacturer">
<el-input <el-input
v-model="queryParams.manufacturer" v-model="queryParams.manufacturer"
@ -229,13 +229,13 @@
<el-table v-loading="loading" :data="vacCategoryList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="vacCategoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="疫苗ID" align="center" prop="id" />
<el-table-column label="兽药批准文号" align="center" prop="approvalNumber" />
<el-table-column label="产品批号" align="center" prop="batchNumber" />
<el-table-column label="通用名称" align="center" prop="genericName" />
<el-table-column label="商品名称" align="center" prop="tradeName" />
<el-table-column label="规格" align="center" prop="specification" />
<el-table-column label="生产厂家" align="center" prop="manufacturer" />
<!-- <el-table-column label="疫苗ID" align="center" prop="id" />-->
<el-table-column label="兽药批准文号" align="center" prop="approvalNumber" width="200px"/>
<el-table-column label="产品批号" align="center" prop="batchNumber" width="120px"/>
<el-table-column label="通用名称" align="center" prop="genericName" :show-overflow-tooltip="true"/>
<el-table-column label="商品名称" align="center" prop="tradeName" width="200px"/>
<!-- <el-table-column label="规格" align="center" prop="specification" width="180"/>-->
<el-table-column label="生产厂家" align="center" prop="manufacturer" :show-overflow-tooltip="true"/>
<el-table-column label="生产日期" align="center" prop="manufactureDate" width="180"> <el-table-column label="生产日期" align="center" prop="manufactureDate" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.manufactureDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.manufactureDate, '{y}-{m}-{d}') }}</span>
@ -246,20 +246,20 @@
<span>{{ parseTime(scope.row.expiryDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.expiryDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="适用动物" align="center" prop="livestockTypes">
<el-table-column label="适用动物" align="center" prop="livestockTypes" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.livestock_type" :value="scope.row.livestockTypes ? scope.row.livestockTypes.split(',') : []"/> <dict-tag :options="dict.type.livestock_type" :value="scope.row.livestockTypes ? scope.row.livestockTypes.split(',') : []"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预防疫病" align="center" prop="preventDisease" />
<el-table-column label="是否强制免疫" align="center" prop="isMandatory">
<!-- <el-table-column label="预防疫病" align="center" prop="preventDisease" width="200px"/>-->
<el-table-column label="是否强制免疫" align="center" prop="isMandatory" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.is_compulsory_immunity" :value="scope.row.isMandatory"/> <dict-tag :options="dict.type.is_compulsory_immunity" :value="scope.row.isMandatory"/>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="免疫期" align="center" prop="immunePeriod" />--> <!-- <el-table-column label="免疫期" align="center" prop="immunePeriod" />-->
<el-table-column label="用法用量" align="center" prop="dosage" />
<el-table-column label="接种途径" align="center" prop="administrationRoute">
<!-- <el-table-column label="用法用量" align="center" prop="dosage" />-->
<el-table-column label="接种途径" align="center" prop="administrationRoute" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.vac_route" :value="scope.row.administrationRoute"/> <dict-tag :options="dict.type.vac_route" :value="scope.row.administrationRoute"/>
</template> </template>
@ -286,12 +286,23 @@
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<!-- <el-table-column label="备注" align="center" prop="remark" />--> <!-- <el-table-column label="备注" align="center" prop="remark" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
class="info-btn view-btn"
>
详情
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
style="color: #42B983"
class="info-btn alter-btn"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:vacCategory:edit']" v-hasPermi="['system:vacCategory:edit']"
>修改</el-button> >修改</el-button>
@ -299,6 +310,8 @@
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
style="color: #f56c6c"
class="info-btn delete-btn"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:vacCategory:remove']" v-hasPermi="['system:vacCategory:remove']"
>删除</el-button> >删除</el-button>
@ -306,6 +319,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagestyle">
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@ -313,9 +327,10 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
</div>
<!-- 添加或修改疫苗类别对话框 --> <!-- 添加或修改疫苗类别对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="兽药批准文号" prop="approvalNumber"> <el-form-item label="兽药批准文号" prop="approvalNumber">
<el-input v-model="form.approvalNumber" placeholder="请输入兽药批准文号" /> <el-input v-model="form.approvalNumber" placeholder="请输入兽药批准文号" />
@ -442,6 +457,60 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 详情弹窗 -->
<el-dialog title="疫苗类别详情" :visible.sync="detailViews" width="80%" append-to-body>
<el-descriptions :column="4" border v-loading="detailLoading" >
<el-descriptions-item label="兽药批准文号" :span="2">
{{ currentDetail.approvalNumber || '--' }}
</el-descriptions-item>
<el-descriptions-item label="产品批号" :span="2">
{{ currentDetail.batchNumber || '--' }}
</el-descriptions-item>
<el-descriptions-item label="通用名称" :span="2">
{{ currentDetail.type || '--' }}
</el-descriptions-item>
<el-descriptions-item label="商品名称" :span="2">
{{ currentDetail.tradeName || '--' }}
</el-descriptions-item>
<el-descriptions-item label="规格" :span="2">
{{ currentDetail.specification || '--' }}
</el-descriptions-item>
<el-descriptions-item label="生产厂家" :span="2">
{{ currentDetail.manufacturer || '--' }}
</el-descriptions-item>
<el-descriptions-item label="生产日期" :span="2">
{{ currentDetail.manufactureDate || '--' }}
</el-descriptions-item>
<el-descriptions-item label="有效期至" :span="2">
{{ currentDetail.expiryDate || '--' }}
</el-descriptions-item>
<el-descriptions-item label="适用动物" :span="2">
{{ currentDetail.livestockTypes || '--' }}
</el-descriptions-item>
<el-descriptions-item label="是否强制免疫" :span="2">
{{ currentDetail.isMandatory || '--' }}
</el-descriptions-item>
<el-descriptions-item label="免疫期" :span="2">
{{ currentDetail.immunePeriod || '--' }}
</el-descriptions-item>
<el-descriptions-item label="接种途径" :span="2">
{{ currentDetail.administrationRoute || '--' }}
</el-descriptions-item>
<el-descriptions-item label="用法用量" :span="4">
{{ currentDetail.dosage || '--' }}
</el-descriptions-item>
<el-descriptions-item label="贮藏条件" :span="4">
{{ currentDetail.storageCondition || '--' }}
</el-descriptions-item>
<el-descriptions-item label="注意事项" :span="4">
{{ currentDetail.precautions || '--' }}
</el-descriptions-item>
</el-descriptions>
<div slot="footer" class="dialog-footer">
<el-button @click="detailViews = false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -455,6 +524,7 @@ export default {
return { return {
// //
loading: true, loading: true,
detailLoading: true,
// //
ids: [], ids: [],
// //
@ -467,10 +537,13 @@ export default {
total: 0, total: 0,
// //
vacCategoryList: [], vacCategoryList: [],
//
currentDetail: {},
// //
title: "", title: "",
// //
open: false, open: false,
detailViews: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -595,6 +668,22 @@ export default {
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 详情按钮操作 */
handleDetail(row) {
this.detailViews = true;
this.detailLoading = true;
this.currentDetail = {};
const id = row.id;
getVacCategory(id).then(response => {
if (response.code === 200) {
this.currentDetail = response.data;
} else {
this.$modal.msgError("获取详情失败");
}
this.detailLoading = false;
});
},
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset() this.reset()
@ -652,3 +741,127 @@ export default {
} }
} }
</script> </script>
<style scoped>
::v-deep .el-descriptions-item__cell{
width: 90px;
}
::v-deep .pagestyle .el-input{
width: auto !important;
}
::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f;
background: #faf7f7;
}
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #bcbbbb;
padding: 12px 10px;
}
</style>
<style scoped lang="scss">
//
.info-btn {
padding: 6px 10px;
border-radius: 4px;
margin: 0 10px;
transition: all 0.3s ease;
}
.view-btn:hover {
background-color: rgb(216, 238, 248);
transform: translateY(-1px);
}
.alter-btn:hover{
background-color: rgb(230, 255, 238);
transform: translateY(-1px);
}
.delete-btn:hover {
background-color: rgba(245, 108, 108, 0.1);
transform: translateY(-1px);
}
// /
::v-deep .el-dialog {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
animation: dialogFadeIn 0.3s ease;
}
::v-deep .el-dialog__header {
background: linear-gradient(135deg, #2c7a4d 0%, #42b983 100%);
padding: 18px 24px;
border-bottom: none;
position: relative;
}
::v-deep .el-dialog__title {
font-size: 17px;
font-weight: 600;
color: white;
letter-spacing: 0.5px;
}
::v-deep .el-dialog__headerbtn:hover .el-dialog__close {
color: #ffd04b;
transform: rotate(90deg);
}
::v-deep .el-dialog__body {
padding: 28px 24px 20px;
background-color: #f8fafc;
max-height: 70vh;
overflow-y: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px;
transition: all 0.3s;
}
::v-deep .el-form-item__label {
font-weight: 500;
color: #2d3748;
font-size: 14px;
transition: color 0.3s;
}
::v-deep .el-input,
::v-deep .el-textarea,
::v-deep .el-select {
width: 100%;
}
::v-deep .el-input__inner,
::v-deep .el-textarea__inner {
border-radius: 8px;
border: 1px solid #dcdfe6;
font-size: 14px;
transition: all 0.3s;
background-color: #fcfdfe;
}
::v-deep .el-input__inner:focus,
::v-deep .el-textarea__inner:focus {
border-color: #42B983;
box-shadow: 0 0 0 3px rgb(230, 255, 238);
background-color: white;
}
::v-deep .el-select .el-input__inner {
padding-right: 35px;
}
::v-deep .el-dialog__footer {
padding: 20px 24px;
background-color: #f8fafc;
border-top: 1px solid #eef2f7;
border-radius: 0 0 12px 12px;
}
</style>

56
chenhai-ui/src/views/system/vacInfo/index.vue

@ -29,6 +29,16 @@
<!-- />--> <!-- />-->
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="疫苗类型" prop="vaccineType">
<el-select v-model="queryParams.vaccineType" placeholder="请选择疫苗类型" clearable>
<el-option
v-for="item in vaccineTypeOptions"
:key="item.id"
:label="getVaccineDisplayName(item)"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option <el-option
@ -178,7 +188,7 @@
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="备注" align="center" prop="remark" width="200px" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="300"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -341,7 +351,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :rows="3" />
</el-form-item>
</el-col>
</el-row>
<!-- 疫苗详细信息展示 --> <!-- 疫苗详细信息展示 -->
<div v-if="selectedVaccine" style="margin: 20px 0; border: 1px solid #ebeef5; border-radius: 4px; padding: 15px;"> <div v-if="selectedVaccine" style="margin: 20px 0; border: 1px solid #ebeef5; border-radius: 4px; padding: 15px;">
<div style="font-weight: bold; margin-bottom: 10px; color: #409EFF;">疫苗详细信息</div> <div style="font-weight: bold; margin-bottom: 10px; color: #409EFF;">疫苗详细信息</div>
@ -369,26 +385,20 @@
</el-descriptions> </el-descriptions>
</div> </div>
<el-row>
<el-col :span="12">
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建者" prop="createBy">
<el-input v-model="form.createBy" placeholder="请输入创建者" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="删除标志" prop="delFlag">-->
<!-- <el-input v-model="form.delFlag" placeholder="请输入删除标志" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="创建者" prop="createBy">-->
<!-- <el-input v-model="form.createBy" placeholder="请输入创建者" :disabled="true" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :rows="3" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -405,7 +415,7 @@
@close="handleRegistrationClose" @close="handleRegistrationClose"
class="registration-dialog" class="registration-dialog"
> >
<div v-if="registrationDialogVisible" style="height: 70vh; overflow-y: auto;">
<div v-if="registrationDialogVisible" style="height: 70vh;">
<VacRegistration <VacRegistration
:key="currentVaccineId" :key="currentVaccineId"
ref="registrationComponent" ref="registrationComponent"
@ -720,7 +730,7 @@ export default {
this.download('system/vacInfo/export', { this.download('system/vacInfo/export', {
...this.queryParams ...this.queryParams
}, `vacInfo_${new Date().getTime()}.xlsx`) }, `vacInfo_${new Date().getTime()}.xlsx`)
}
},
} }
} }
</script> </script>

2
chenhai-ui/src/views/system/vet/aduit/index.vue

@ -389,10 +389,10 @@
</el-tabs> </el-tabs>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="auditVisible = false"> </el-button>
<el-button type="primary" @click="submitAllAudit" :loading="submittingAll"> <el-button type="primary" @click="submitAllAudit" :loading="submittingAll">
{{ submittingAll ? '提交中...' : '提交审核' }} {{ submittingAll ? '提交中...' : '提交审核' }}
</el-button> </el-button>
<el-button @click="auditVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>

3
chenhai-ui/src/views/vet/info/index.vue

@ -674,11 +674,10 @@ export default {
::v-deep .el-descriptions-row th{ ::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f; text-align: center !important;color: #7b7c7f;
background: #faf7f7;
} }
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell { ::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #bcbbbb;
border: 1px solid #cac9c9;
padding: 12px 10px; padding: 12px 10px;
} }
</style> </style>

3
chenhai-ui/src/views/vet/knowledge/index.vue

@ -934,11 +934,10 @@ export default {
::v-deep .el-descriptions-row th{ ::v-deep .el-descriptions-row th{
text-align: center !important;color: #7b7c7f; text-align: center !important;color: #7b7c7f;
background: #faf7f7;
} }
::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell { ::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
border: 1px solid #bcbbbb;
border: 1px solid #cac9c9;
padding: 12px 10px; padding: 12px 10px;
} }
</style> </style>

2
chenhai-ui/src/views/vet/plan/index.vue

@ -122,7 +122,7 @@
</div> </div>
<!-- 添加或修改治疗方案对话框 --> <!-- 添加或修改治疗方案对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="方案标题" prop="title"> <el-form-item label="方案标题" prop="title">
<el-input v-model="form.title" placeholder="请输入方案标题" /> <el-input v-model="form.title" placeholder="请输入方案标题" />

Loading…
Cancel
Save