Browse Source

feat:[资源库管理][仪器管理]新增,编辑

luojie
HanLong 3 weeks ago
parent
commit
8bb83c8fc9
5 changed files with 255 additions and 97 deletions
  1. +3
    -3
      src/api/business/yq/yq.js
  2. +6
    -0
      src/lang/zh.js
  3. +3
    -2
      src/lang/zh/business/resource/yq/yq.js
  4. +100
    -0
      src/views/business/resource/yq/comps/detail.vue
  5. +143
    -92
      src/views/business/resource/yq/list.vue

+ 3
- 3
src/api/business/yq/yq.js View File

@ -12,7 +12,7 @@ export function yq_list(query) {
// 查询仪器管理详情 // 查询仪器管理详情
export function yq_info(query) { export function yq_info(query) {
return request({ return request({
url: '/project/yq/info',
url: '/system/business/yq/info',
method: 'get', method: 'get',
params: query params: query
}) })
@ -21,7 +21,7 @@ export function yq_info(query) {
// 保存仪器管理 // 保存仪器管理
export function yq_save(data) { export function yq_save(data) {
return request({ return request({
url: '/project/yq/save',
url: '/system/business/yq/save',
method: 'post', method: 'post',
data: data data: data
}) })
@ -30,7 +30,7 @@ export function yq_save(data) {
// 删除仪器管理 // 删除仪器管理
export function yq_delete(data) { export function yq_delete(data) {
return request({ return request({
url: '/project/yq/delete',
url: '/system/business/yq/delete',
method: 'post', method: 'post',
data: data data: data
}) })

+ 6
- 0
src/lang/zh.js View File

@ -24,12 +24,18 @@ export default {
endDate:'结束日期', endDate:'结束日期',
password:'密码', password:'密码',
signer:'签名人', signer:'签名人',
signerPsw: '签名人密码',
qmyy:'签名意义', qmyy:'签名意义',
signTime: '签名时间',
remark:'备注', remark:'备注',
lock:'锁定', lock:'锁定',
unlock:'解锁', unlock:'解锁',
detail:'详情', detail:'详情',
gd:'归档', gd:'归档',
lengthLimit: '长度不能超过',
notEmpty: '不能为空',
operationSuccess: '操作成功',
OperationFailed: '操作失败',
}, },
menu: { menu: {
PersonalCenter: '个人中心', PersonalCenter: '个人中心',

+ 3
- 2
src/lang/zh/business/resource/yq/yq.js View File

@ -5,6 +5,7 @@ export default {
xcjzrq: '下次校准日期', xcjzrq: '下次校准日期',
ssbm: '所属部门', ssbm: '所属部门',
yqxh: '仪器型号', yqxh: '仪器型号',
yqly: '仪器来源'
yqly: '仪器来源',
wc: '温层',
xgnr: '修改内容'
} }

+ 100
- 0
src/views/business/resource/yq/comps/detail.vue View File

@ -0,0 +1,100 @@
<template>
<div class="app-container">
<!-- 仪器详情弹窗 -->
<el-dialog :title="$t('form.detail')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" label-width="130px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqmc')" prop="mc">
<el-input v-model="form.mc" disabled :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqbh')" prop="bh">
<el-input v-model="form.bh" disabled :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqxh')" prop="xh">
<el-input v-model="form.xh" disabled :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqly')" prop="ly">
<el-input v-model="form.ly" disabled :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.xcjzrq')" prop="jzrq">
<el-date-picker clearable v-model="form.jzrq" type="date" value-format="yyyy-MM-dd"
:placeholder="$t('form.placeholderSelect')" style="width: 100%;" disabled>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.ssbm')" prop="bmId">
<el-input v-model="form.bmId" :placeholder="$t('form.placeholderSelect')" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.wc')" prop="wc">
<el-input v-model="form.wc" :placeholder="$t('form.placeholderSelect')" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input v-model="form.remark" type="textarea" :placeholder="$t('form.placeholderInput')" maxlength="500" disabled/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="qmList">
<el-table-column :label="$t('form.signer')" align="center" prop="bh" />
<el-table-column :label="$t('form.qmyy')" align="center" prop="xh" />
<el-table-column :label="$t('form.signTime')" align="center" prop="ly" />
<el-table-column :label="$t('page.business.zykgl.yq.xgnr')" align="center" prop="bmMc" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { yq_info } from '@/api/business/yq/yq'
export default {
name: "YqDetail",
data() {
return {
loading: false,
open: false,
form: {},
//
qmList: []
}
},
created() {
},
methods: {
cancel() {
this.open = false
},
show(row) {
yq_info({id: row.id}).then((response) => {
this.form = response.data
this.open = true
})
},
}
}
</script>

+ 143
- 92
src/views/business/resource/yq/list.vue View File

@ -1,50 +1,36 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" >
<el-form-item :label="$t('page.business.zykgl.yq.yqbh')+':'" prop="bh">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item :label="$t('page.business.zykgl.yq.yqbh') + ':'" prop="bh">
<el-input v-model="queryParams.bh" placeholder="" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.bh" placeholder="" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('page.business.zykgl.yq.yqmc')+':'" prop="mc">
<el-form-item :label="$t('page.business.zykgl.yq.yqmc') + ':'" prop="mc">
<el-input v-model="queryParams.mc" placeholder="" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.mc" placeholder="" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('page.business.zykgl.yq.xcjzrq')+':'" prop="jzrq" >
<el-date-picker clearable v-model="dateRange" type="daterange" value-format="yyyy-MM-dd"
range-separator="-"
<el-form-item :label="$t('page.business.zykgl.yq.xcjzrq') + ':'" prop="jzrq">
<el-date-picker clearable v-model="dateRange" type="daterange" value-format="yyyy-MM-dd" range-separator="-"
:start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"> :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('page.business.zykgl.yq.ssbm')+':'" prop="bmId">
<el-form-item :label="$t('page.business.zykgl.yq.ssbm') + ':'" prop="bmId">
<el-input v-model="queryParams.bmId" placeholder="" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.bmId" placeholder="" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('form.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('form.search')
}}</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('form.reset') }}</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('form.reset') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['business:yq:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['business:yq:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['business:yq:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['business:yq:export']">导出</el-button>
<el-button type="primary" plain size="mini" @click="handleAdd">{{ $t('form.add') }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="YqList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table v-loading="loading" :data="YqList">
<el-table-column :label="$t('page.business.zykgl.yq.yqmc')" align="center" prop="mc" /> <el-table-column :label="$t('page.business.zykgl.yq.yqmc')" align="center" prop="mc" />
<el-table-column :label="$t('page.business.zykgl.yq.yqbh')" align="center" prop="bh" /> <el-table-column :label="$t('page.business.zykgl.yq.yqbh')" align="center" prop="bh" />
<el-table-column :label="$t('page.business.zykgl.yq.yqxh')" align="center" prop="xh" /> <el-table-column :label="$t('page.business.zykgl.yq.yqxh')" align="center" prop="xh" />
@ -57,10 +43,8 @@
<el-table-column :label="$t('page.business.zykgl.yq.ssbm')" align="center" prop="bmMc" /> <el-table-column :label="$t('page.business.zykgl.yq.ssbm')" align="center" prop="bmMc" />
<el-table-column :label="$t('form.operate')" align="center" class-name="small-padding fixed-width"> <el-table-column :label="$t('form.operate')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" @click="handleDetail(scope.row)" >{{
$t('form.detail') }}</el-button>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['business:yq:edit']">编辑</el-button>
<el-button size="mini" type="text" @click="handleDetail(scope.row)">{{ $t('form.detail') }}</el-button>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)">{{ $t('form.edit') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -69,50 +53,97 @@
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改仪器管理对话框 --> <!-- 添加或修改仪器管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="名称" prop="mc">
<el-input v-model="form.mc" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="编号" prop="bh">
<el-input v-model="form.bh" placeholder="请输入编号" />
</el-form-item>
<el-form-item label="型号" prop="xh">
<el-input v-model="form.xh" placeholder="请输入型号" />
</el-form-item>
<el-form-item label="来源" prop="ly">
<el-input v-model="form.ly" placeholder="请输入来源" />
</el-form-item>
<el-form-item label="校准日期" prop="jzrq">
<el-date-picker clearable v-model="form.jzrq" type="date" value-format="yyyy-MM-dd" placeholder="请选择校准日期">
</el-date-picker>
</el-form-item>
<el-form-item label="部门id" prop="bmId">
<el-input v-model="form.bmId" placeholder="请输入部门id" />
</el-form-item>
<el-form-item label="温层" prop="wc">
<el-input v-model="form.wc" placeholder="请输入温层" />
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqmc')" prop="mc">
<el-input v-model="form.mc" :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqbh')" prop="bh">
<el-input v-model="form.bh" :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqxh')" prop="xh">
<el-input v-model="form.xh" :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.yqly')" prop="ly">
<el-input v-model="form.ly" :placeholder="$t('form.placeholderInput')" maxlength="50"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.xcjzrq')" prop="jzrq">
<el-date-picker clearable v-model="form.jzrq" type="date" value-format="yyyy-MM-dd"
:placeholder="$t('form.placeholderSelect')" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.ssbm')" prop="bmId">
<el-input v-model="form.bmId" :placeholder="$t('form.placeholderSelect')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.zykgl.yq.wc')" prop="wc">
<el-input v-model="form.wc" :placeholder="$t('form.placeholderSelect')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input v-model="form.remark" type="textarea" :placeholder="$t('form.placeholderInput')" maxlength="500" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input v-model="form.qmyy" disabled :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')" prop="qmrmc">
<el-input v-model="form.qmrmc" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.signerPsw')" prop="qmrmm">
<el-input v-model="form.qmrmm" :placeholder="$t('form.placeholderInput')" type="password" maxlength="20"/>
</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 @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm">{{$t('form.saveConfirm')}}</el-button>
<el-button @click="cancel">{{$t('form.cancel')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 仪器详情 -->
<YqDetail ref="YqDetail" />
</div> </div>
</template> </template>
<script> <script>
import { yq_list, getYq, delYq, addYq, updateYq } from '@/api/business/yq/yq'
import { yq_list, yq_info, delYq, yq_save, updateYq } from '@/api/business/yq/yq'
import YqDetail from './comps/detail'
export default { export default {
name: 'Yq', name: 'Yq',
components: { YqDetail },
data() { data() {
return { return {
// //
@ -148,9 +179,41 @@ export default {
wc: null wc: null
}, },
// //
form: {},
form: {
'qmyy': '新增仪器'
},
// //
rules: {}
rules: {
mc: [
{ required: true, message: this.$t('page.business.zykgl.yq.yqmc')+ this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.zykgl.yq.yqmc')+ this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
bh: [
{ required: true, message: this.$t('page.business.zykgl.yq.yqbh')+ this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.zykgl.yq.yqbh')+ this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
xh: [
{ required: true, message: this.$t('page.business.zykgl.yq.yqxh')+ this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.zykgl.yq.yqxh')+ this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
ly: [
{ required: true, message: this.$t('page.business.zykgl.yq.yqly')+ this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 50, message: this.$t('page.business.zykgl.yq.yqly')+ this.$t('form.lengthLimit') + '50', trigger: 'blur' }
],
jzrq: [
{ required: true, message: this.$t('page.business.zykgl.yq.xcjzrq')+ this.$t('form.notEmpty'), trigger: "change" },
],
bmId: [
{ required: true, message: this.$t('page.business.zykgl.yq.ssbm')+ this.$t('form.notEmpty'), trigger: "change" },
],
wc: [
{ required: true, message: this.$t('page.business.zykgl.yq.wc')+ this.$t('form.notEmpty'), trigger: "change" },
],
qmrmm: [
{ required: true, message: this.$t('form.signerPsw')+ this.$t('form.notEmpty'), trigger: "change" },
{ min: 0, max: 20, message: this.$t('form.signerPsw')+ this.$t('form.lengthLimit') + '20', trigger: 'blur' }
]
}
} }
}, },
created() { created() {
@ -160,6 +223,8 @@ export default {
/** 查询仪器管理列表 */ /** 查询仪器管理列表 */
getList() { getList() {
this.loading = true this.loading = true
this.queryParams.startDate = this.dateRange[0]
this.queryParams.endDate = this.dateRange[1]
yq_list(this.queryParams).then((response) => { yq_list(this.queryParams).then((response) => {
this.YqList = response.rows this.YqList = response.rows
this.total = response.total this.total = response.total
@ -182,12 +247,7 @@ export default {
jzrq: null, jzrq: null,
bmId: null, bmId: null,
wc: null, wc: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
delFlag: null
qmyy: '新增仪器'
} }
this.resetForm('form') this.resetForm('form')
}, },
@ -198,48 +258,39 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRange = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset() this.reset()
this.open = true this.open = true
this.title = '添加仪器管理'
this.title = this.$t('form.add')
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset() this.reset()
const id = row.id || this.ids const id = row.id || this.ids
getYq(id).then((response) => {
yq_info({id: id}).then((response) => {
this.form = response.data this.form = response.data
this.form.qmyy = '编辑仪器'
this.open = true this.open = true
this.title = '修改仪器管理'
this.title = this.$t('form.edit')
}) })
}, },
handleDetail(row) {
this.$refs.YqDetail.show(row)
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs['form'].validate((valid) => { this.$refs['form'].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != null) {
updateYq(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addYq(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
yq_save(this.form).then((response) => {
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.open = false
this.getList()
})
} }
}) })
}, },

Loading…
Cancel
Save