Commit 41fb4b17 authored by CenXinYi's avatar CenXinYi

Merge remote-tracking branch 'origin/project1' into project1

parents 97b42c3d 5ca47a30
This diff is collapsed.
......@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>home_logo.png">
<link rel="stylesheet" href="//at.alicdn.com/t/font_2011217_f70ptj9y4oc.css">
<link rel="stylesheet" href="./alicdn.css">
<title><%= webpackConfig.name %></title>
</head>
<body>
......
......@@ -46,4 +46,11 @@ export function deleteLogical(id) {
method: 'delete'
})
}
export function getDictData(params) {
return request({
url: '/wbbaseinfo/queryDict',
method: 'get',
params
})
}
......@@ -7,6 +7,14 @@ export function listWbApply(query) {
params: query
})
}
// apply_detail分页查询接口
export function detailList(query) {
return request({
url: '/wbapplydetail/queryWbApplyDetailByPagination',
method: 'get',
params: query
})
}
// 逻辑删除基础信息接口
export function deleteLogical(id) {
return request({
......
......@@ -46,3 +46,12 @@ export function deleteLogical(id) {
method: 'delete'
})
}
// 导出信息接口
export function exporTable(param) {
return request({
url: '/wbchemistrybaseinfo/export',
method: 'get',
param,
responseType: 'blob'
})
}
......@@ -36,11 +36,12 @@
<!-- <el-badge :value="200" :max="99" class="item">-->
<!-- <i class="el-icon-message-solid" />-->
<!-- </el-badge>-->
<span class="username-text">
[您好,{{ userName }}]
</span>
<el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper">
<span class="username-text">
[您好,{{ userName }}]
</span>
<!-- <img :src="avatar" class="user-avatar">-->
<i class="el-icon-caret-bottom" />
</div>
......@@ -202,6 +203,10 @@ export default {
.avatar-container {
margin-right: 30px;
.avatar-wrapper :hover{
cursor: pointer;
}
.avatar-wrapper {
position: relative;
height: 40px;
......
......@@ -143,6 +143,7 @@ export default {
key: 'GX_CODE'
}
getDictData(obj).then(res => {
console.log('res', res)
if (res.code === 200 && res.data !== null) {
this.pissbList = res.data
}
......
......@@ -13,24 +13,35 @@
/>
</el-form-item>
<el-form-item label="pgx" prop="pgx">
<el-input
v-model="queryParams.pgx"
placeholder="请输入pgx"
<el-select
v-model="form.pgx"
clearable
size="small"
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
placeholder="请选择pgx"
:style="{ width: '150px', height: '30px' }"
>
<el-option
v-for="(dict,index) in pgxList"
:key="index"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="prank" prop="prank">
<el-input
v-model="queryParams.prank"
placeholder="请输入prank"
<el-form-item label="ptype" prop="ptype">
<el-select
v-model="form.ptype"
placeholder="请选择ptype"
clearable
size="small"
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
>
<el-option
v-for="dict in ptypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-search" size="small" @click="handleQuery">查询</el-button>
......@@ -48,7 +59,7 @@
</el-form>
<div class="placeholder" />
<div style="padding:5px 10px">
<div class="mb12 font-small-bold">设备基本信息列表</div>
<div class="mb12 font-small-bold">基本信息</div>
<el-table v-loading="loading" border :data="basicInfoList" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn">
......@@ -58,7 +69,13 @@
</el-table-column>
<el-table-column label="pgx" prop="pgx">
<template slot-scope="scope">
{{ scope.row.pgx || '-' }}
<span v-if="scope.row.pgx === '001'">压缩</span>
<span v-if="scope.row.pgx === '002'">排水</span>
</template>
</el-table-column>
<el-table-column label="ptype" prop="ptype">
<template slot-scope="scope">
{{ scope.row.ptype || '-' }}
</template>
</el-table-column>
<el-table-column label="prank" prop="prank">
......@@ -122,15 +139,49 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" @close="cancel">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="pn" prop="pn">
<el-input v-model.trim="form.pn" :maxlength="30" placeholder="请输入pn" />
<el-input
ref="input1"
v-model.trim="form.pn"
:maxlength="5"
placeholder="请输入pn"
@keyup.enter.native="handelTab(1,$event)"
/>
</el-form-item>
<el-form-item label="pgx" prop="pgx">
<el-input v-model.trim="form.pgx" :maxlength="30" placeholder="请输入pgx" />
<el-select
v-model="form.pgx"
clearable
placeholder="请选择pgx"
:style="{ width: '150px', height: '30px' }"
>
<el-option
v-for="(dict,index) in pgxList"
:key="index"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="ptype" prop="ptype">
<el-select
v-model="form.ptype"
placeholder="请选择ptype"
clearable
size="small"
style="width: 150px"
>
<el-option
v-for="dict in ptypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="prank" prop="prank">
<el-input v-model.trim="form.prank" :maxlength="30" placeholder="请输入prank" />
<el-input v-model.trim="form.prank" :maxlength="10" placeholder="请输入prank" />
</el-form-item>
<el-form-item label="pissb" prop="pissb" >
<el-form-item label="pissb" prop="pissb">
<el-select
v-model="form.pissb"
placeholder="请选择pissb"
......@@ -147,10 +198,10 @@
</el-select>
</el-form-item>
<el-form-item label="psm" prop="psm">
<el-input v-model.trim="form.psm" :maxlength="30" placeholder="请输入psm" />
<el-input v-model.trim="form.psm" :maxlength="10" placeholder="请输入psm" />
</el-form-item>
<el-form-item label="psy" prop="psy">
<el-input v-model.trim="form.psy" :maxlength="30" placeholder="请输入psy" />
<el-input v-model.trim="form.psy" :maxlength="10" placeholder="请输入psy" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -164,6 +215,7 @@
<script>
import { add, listBasicInfo, updataInfo, getDetailById, deleteLogical } from '@/api/equipment/basicInfo'
import { parseTime } from '@/utils'
import { getDictData } from '@/api/equipment/application'
export default {
name: 'Role',
data() {
......@@ -178,7 +230,7 @@ export default {
multiple: true,
// 总条数
total: 0,
// 角色表格数据
// 基础信息数据
basicInfoList: [],
// 弹出层标题
title: '',
......@@ -194,6 +246,17 @@ export default {
menuNodeAll: false,
deptExpand: true,
deptNodeAll: false,
// ptype数据字典
ptypeOptions: [
{
dictLabel: '1',
dictValue: '1'
},
{
dictLabel: '2',
dictValue: '2'
}
],
// 状态数据字典
statusOptions: [
{
......@@ -205,6 +268,8 @@ export default {
dictValue: '0'
}
],
// 数据字典
pgxList: [],
// 查询参数
queryParams: {
page: 1,
......@@ -223,21 +288,22 @@ export default {
// 表单校验
rules: {
pn: [
{ required: true, message: '请输入pn', trigger: 'blur' }
{ required: true, message: '请输入pn', trigger: 'blur' },
{ pattern: /^\d{1,5}$/, message: '请输入少于五位数字', trigger: 'blur' }
],
ptype: [
{ required: true, message: '请输入ptype', trigger: 'blur' }
],
pgx: [
{ required: true, message: '请输入pgx', trigger: 'blur' }
{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }
],
prank: [{ required: true,pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
prank: [{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
pissb: [
{ required: true, message: '请输入pissb', trigger: 'blur' }
{ required: true, message: '请选择pissb', trigger: 'blur' }
],
psm: [{ required: true,pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
psm: [{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
psy: [
{ required: true, message: '请输入psy', trigger: 'blur' }
{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }
]
},
deptOptions: []
......@@ -260,11 +326,27 @@ export default {
this.queryParams = { ...param }
}
this.getList()
this.init()
// this.getDicts(dictCons['NORMAL_DISABLE']).then(response => {
// this.statusOptions = response.data;
// });
},
methods: {
// 初始化要调的接口
init() {
this.getDict()
},
// 回车到下一个输入框方法
handelTab(i, e) {
const that = this
if (that.$refs['input' + i]) {
that.$nextTick(() => {
e.target.blur()
const index = i + 1
that.$refs['input' + index].focus()
})
}
},
/** 查询基础信息列表 */
getList() {
this.loading = true
......@@ -360,11 +442,11 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.open = true
this.title = '添加设备基础信息表单'
this.title = '基础信息'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.title = '编辑基础信息表单'
this.title = '基础信息'
const id = row.businessId
getDetailById(id).then(res => {
this.form = res.data
......@@ -417,6 +499,18 @@ export default {
}
})
})
},
// 调数据字典查询
getDict() {
const obj = {
key: 'GX_CODE'
}
getDictData(obj).then(res => {
console.log('res', res)
if (res.code === 200 && res.data !== null) {
this.pgxList = res.data
}
})
}
}
}
......
......@@ -33,8 +33,8 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" size="small" icon="el-icon-search" @click="handleQuery">查询</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
<el-button type="primary" style="padding: 8px 7px;" size="small" icon="el-icon-search" @click="handleQuery">查询</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-form-item>
<div style="float: right">
<el-form-item>
......@@ -67,7 +67,7 @@
{{ scope.row.lot || '-' }}
</template>
</el-table-column>
<el-table-column label="位置" prop="plocation" width="220">
<el-table-column label="plocation" prop="plocation" width="220">
<template slot-scope="scope">
{{ scope.row.plocation || '-' }}
</template>
......@@ -384,31 +384,6 @@ export default {
delFlag:0
},
// 表单参数
form: {
......@@ -534,6 +509,7 @@ export default {
});
},
handelTab(i, e) {
const that = this
if (!that.$refs['input' + i]) {
......
......@@ -34,7 +34,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" size="small" icon="el-icon-search" @click="handleQuery">查询</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-form-item>
<div style="float: right">
<el-form-item>
......@@ -48,6 +48,7 @@
<el-form-item>
<el-button style="padding: 8px 7px;" type="danger" :size="smallSize" @click="deleteByType" icon="el-icon-minus">结束盘点 {{ check }}</el-button>
</el-form-item>
</div>
</el-form>
<div class="placeholder" />
......@@ -98,8 +99,8 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
......@@ -146,7 +147,7 @@
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
<!-- TODO: 单项详情信息表单配置 -->
<!-- 弹出框。。。。。。。。。。。。。。。。。。。。。。。 -->
<el-dialog class="aboutSingleDetails" :title="title" :visible.sync="openDetails" width="700px" append-to-body>
<el-form ref="formDetails" :model="singleDetails" size="small" label-width="90px">
<el-row>
......@@ -254,11 +255,9 @@ import {
delRole,
exportRole,
getRole,
listRole,
updateRole
} from '@/api/system/role'
import {listCheck } from '@/api/equipment/checkProcess'
import { checkType, addList,deleteByType,checkInventory} from '@/api/equipment/check'
import { checkType, listCheck,addList,deleteByType,checkInventory} from '@/api/equipment/check'
import {roleMenuTreeselect, roleMenuTreeselectMC, treeselect as menuTreeselect} from '@/api/system/menu'
import {roleDeptTreeselect, treeselect as deptTreeselect} from '@/api/system/dept'
// import { getRolesByInsId } from '../../../api/businessManage/template'
......@@ -266,6 +265,15 @@ export default {
name: 'Role',
data() {
return {
// 需要盘点的list
checkFrom: {
Ptype: '',
checkList: [],
},
table:false,
tableList:[],
// 选中的列表
selectList:[],
// TODO: 表单里的单项详情参数
singleDetails: {
equipmentName: '',
......@@ -276,13 +284,10 @@ export default {
createBy: '',
updateDate: ''
},
table:false,
tableList:[],
// 是否显示弹出层(数据详情)
openDetails: false,
// // TODO: 模拟测试数据
equipmentList: [],
selectList: [],
// equipmentList: [{ equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '002', lot: 'xxx', location: '位置02', thickness: '70', createBy: '操作员02', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }, { equipmentCode: '001', lot: 'xxx', location: '位置01', thickness: '50', createBy: '操作员01', createTime: new Date() }],
// check: '开始盘点',
typeParent: 'text',
typePrimary: 'primary',
......@@ -371,9 +376,13 @@ export default {
queryParams: {
page: 1,
rows: 10,
roleName: undefined,
roleKey: undefined,
flag: undefined,
ptype: 2,
pstatus:0,
delFlag:0
},
// 表单参数
form: {
......@@ -466,25 +475,25 @@ export default {
// 用户点击取消按钮时执行的回调函数,可以忽略这里的实现
});
},
checkType() {
// 添加二次确认对话框
this.$confirm("确认要盘点吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
// 用户点击确定按钮时执行的回调函数
checkType(2).then(total => {
if (total.data !== 0) {
this.$message.error("请先结束盘点");
} else {
let data = [];
if (this.selectList.length === 0) {
data = this.equipmentList;
} else {
data = this.selectList;
}
checkType() {
checkType(2).then(total => {
if (total.data !== 0) {
this.$message.error("请先结束盘点");
} else {
let data = [];
if (this.selectList.length === 0) {
data = this.equipmentList;
} else {
data = this.selectList;
}
// 添加二次确认对话框
this.$confirm("确认要进行盘点吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
// 用户点击确定按钮时执行的回调函数
addList(data).then(flag => {
if (flag.data.influence > 0) {
this.$message.success("盘点成功");
......@@ -492,13 +501,15 @@ checkType() {
this.$message.error("盘点失败");
}
});
}
});
})
.catch(() => {
// 用户点击取消按钮时执行的回调函数,可以忽略这里的实现
});
})
.catch(() => {
// 用户点击取消按钮时执行的回调函数,可以忽略这里的实现
});
}
});
},
handelTab(i, e) {
const that = this
if (!that.$refs['input' + i]) {
......@@ -668,6 +679,7 @@ checkType() {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.roleId)
this.selectList = selection
this.single = selection.length !== 1
this.multiple = !selection.length
},
......
This diff is collapsed.
......@@ -389,7 +389,7 @@ export default {
that.$refs['input' + index].focus()
})
},
/** 查询角色列表 */
/** 查询设备列表 */
getList() {
this.loading = true
listdevice(this.queryParams).then(
......
......@@ -50,12 +50,12 @@
class="buttons-content"
>
<el-checkbox v-model="loginForm.rememberMe" class="rem-code">记住密码</el-checkbox>
<el-link
:underline="false"
@click="goDetail('/forgetPwd')"
>
<router-link to="/forgetPwd">忘记密码</router-link>
</el-link>
<!-- <el-link-->
<!-- :underline="false"-->
<!-- @click="goDetail('/forgetPwd')"-->
<!-- >-->
<!-- <router-link to="/forgetPwd">忘记密码</router-link>-->
<!-- </el-link>-->
</div>
</div>
</el-form>
......
......@@ -25,7 +25,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-search" size="small" @click="handleQuery">查询</el-button>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-form-item>
<div style="float: right">
<el-form-item>
......@@ -36,7 +36,7 @@
@click="handleAdd"
>新增</el-button>
<el-button
style="padding: 8px 7px;"
style="padding: 8px 7px; width: 79px"
type="success"
size="small"
icon="el-icon-download"
......@@ -49,7 +49,7 @@
<div class="placeholder" />
<!-- 表单区 -->
<div style="padding:5px 10px">
<div class="mb12 font-small-bold">基础信息列表</div>
<div class="mb12 font-small-bold">样品库</div>
<el-table v-loading="loading" border :data="basicinfoMationList">
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn" :show-overflow-tooltip="true">
......@@ -92,29 +92,29 @@
{{ parseTime(scope.row.createDate,'{y}-{m}-{d} {h}:{i}') || '-' }}
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
style="color: #49cec9"
@click="handleUpdate(scope.row)"
>修改</el-button>
<!-- <el-button-->
<!-- v-hasPermi="['sys:role:update']"-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-circle-check"-->
<!-- @click="handleMenu(scope.row)"-->
<!-- >数据权限</el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="操作">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- style="color: #49cec9"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- >修改</el-button>-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; v-hasPermi="['sys:role:update']"&ndash;&gt;-->
<!-- &lt;!&ndash; size="mini"&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; icon="el-icon-circle-check"&ndash;&gt;-->
<!-- &lt;!&ndash; @click="handleMenu(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >数据权限</el-button>&ndash;&gt;-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- 分页区-->
......@@ -126,7 +126,7 @@
@pagination="getList"
/>
<!-- 新增修改弹出 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" @close="cancel">
<el-dialog title="样品库信息" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" @close="cancel">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="pn" prop="pn">
<el-input v-model.trim="form.pn" :maxlength="30" placeholder="请输入pn" />
......@@ -156,8 +156,8 @@
</template>
<script>
import { queryList, add, getDetailById, updataInfo, deleteLogical } from '@/api/sample/basicInformation'
import { parseTime } from "@/utils";
import { queryList, add, getDetailById, updataInfo, deleteLogical, exporTable } from '@/api/sample/basicInformation'
import { parseTime } from '@/utils'
export default {
name: 'Index',
......@@ -173,8 +173,7 @@ export default {
name: [{ required: true, message: '请输入name', trigger: 'blur' }],
qty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
maxQty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
minQty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
unit: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }]
minQty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }]
},
total: 0,
loading: false,
......@@ -275,7 +274,7 @@ export default {
this.loading = true
queryList(this.queryParams).then(res => {
console.log('res', res)
res.rows.createDate = parseTime(res.rows.createDate,'{y}-{m}-{d}')
res.rows.createDate = parseTime(res.rows.createDate, '{y}-{m}-{d}')
this.total = res.total
this.basicinfoMationList = res.rows
this.loading = false
......@@ -301,7 +300,29 @@ export default {
this.title = '添加基础信息表单'
},
handleExport() {
this.$confirm('是否确认导出所有样品库记录信息?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return exporTable(this.queryParams).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
// TODO: 创建下载的链接
const href = window.URL.createObjectURL(blob)
downloadElement.href = href
// TODO: 下载后文件名
downloadElement.download = '样品库记录' + '.xls'
document.body.appendChild(downloadElement)
// TODO: 点击下载
downloadElement.click()
// TODO: 下载完成移除元素
document.body.removeChild(downloadElement)
// TODO: 释放掉blob对象
window.URL.revokeObjectURL(href)
// this.download(response.msg);
})
})
}
}
}
......
......@@ -27,29 +27,29 @@
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-search" size="small" @click="handleQuery">查询</el-button>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-form-item>
<div style="float: right">
<el-form-item>
<el-button
type="primary"
size="small"
icon="el-icon-plus"
@click="handleAdd"
>新增</el-button>
<el-button
style="padding: 8px 7px;"
type="success"
size="small"
icon="el-icon-download"
@click="handleExport"
>导出</el-button>
</el-form-item>
</div>
<!-- <div style="float: right">-->
<!-- <el-form-item>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- size="small"-->
<!-- icon="el-icon-plus"-->
<!-- @click="handleAdd"-->
<!-- >新增</el-button>-->
<!-- <el-button-->
<!-- style="padding: 8px 7px;"-->
<!-- type="success"-->
<!-- size="small"-->
<!-- icon="el-icon-download"-->
<!-- @click="handleExport"-->
<!-- >导出</el-button>-->
<!-- </el-form-item>-->
<!-- </div>-->
</el-form>
<!-- 分割线 -->
<div class="placeholder" />
<!-- 表单区 -->
<div style="padding:5px 10px">
<div class="mb12 font-small-bold">基础样式列表</div>
<div class="mb12 font-small-bold">库存修正</div>
<el-table v-loading="loading" border :data="basicinfoMationList">
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn" :show-overflow-tooltip="true">
......@@ -67,14 +67,14 @@
{{ scope.row.name || '-' }}
</template>
</el-table-column>
<el-table-column label="max_qty" prop="max_qty" :show-overflow-tooltip="true">
<el-table-column label="maxQty" prop="maxQty" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.max_qty || '-' }}
{{ scope.row.maxQty || '-' }}
</template>
</el-table-column>
<el-table-column label="min_qty" prop="min_qty" :show-overflow-tooltip="true">
<el-table-column label="minQty" prop="minQty" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.min_qty || '-' }}
{{ scope.row.minQty || '-' }}
</template>
</el-table-column>
<el-table-column label="unit" prop="unit" :show-overflow-tooltip="true">
......@@ -126,17 +126,55 @@
@pagination="getList"
/>
<!-- 新增修改弹出 -->
<el-dialog title="库存修正信息" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" @close="cancel">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="pn" prop="pn">
<el-input v-model.trim="form.pn" :maxlength="30" placeholder="请输入pn" />
</el-form-item>
<el-form-item label="name" prop="name">
<el-input v-model.trim="form.name" :maxlength="30" placeholder="请输入name" />
</el-form-item>
<el-form-item label="qty" prop="qty">
<el-input v-model.trim="form.qty" :maxlength="30" placeholder="请输入qty" />
</el-form-item>
<el-form-item label="maxQty" prop="maxQty">
<el-input v-model.trim="form.maxQty" :maxlength="30" placeholder="请输入max_qty" />
</el-form-item>
<el-form-item label="minQty" prop="minQty">
<el-input v-model.trim="form.minQty" :maxlength="30" placeholder="请输入min_qty" />
</el-form-item>
<el-form-item label="unit" prop="unit">
<el-input v-model.trim="form.unit" :maxlength="30" placeholder="请输入unit" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {queryList} from '@/api/sample/basicInformation'
import { add, deleteLogical, exporTable, getDetailById, queryList, updataInfo } from '@/api/sample/basicInformation'
import { parseTime } from '@/utils'
export default {
name: 'Index',
data() {
return {
title: '',
open: false,
form: {
},
rules: {
pn: [{ required: true, message: '请输入pn', trigger: 'blur' }],
name: [{ required: true, message: '请输入name', trigger: 'blur' }],
qty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
maxQty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
minQty: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }]
},
total: 0,
loading: false,
queryParams: {
......@@ -153,17 +191,89 @@ export default {
this.getList()
},
methods: {
handleDelete() {
// 清空表单
reFrom() {
this.form = {
businessId: undefined,
pn: '',
name: '',
qty: '',
maxQty: '',
minQty: '',
unit: ''
}
this.$refs.form.clearValidate()
},
handleUpdate() {
// 提交
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,提交表单或进行其他操作
console.log('form', this.form)
if (this.form.businessId !== undefined) {
console.log('更新')
updataInfo(this.form).then(res => {
console.log('res', res)
if (res.code === 200) {
this.open = false
this.$message.success('操作成功')
this.getList()
this.reFrom()
} else if (res.code === null) {
this.$message.error(res.message)
}
})
} else {
add(this.form).then(res => {
if (res.code === 200) {
this.open = false
this.$message.success('操作成功')
this.getList()
this.reFrom()
} else if (res.code === null) {
this.$message.error(res.message)
}
})
}
} else {
// 校验失败,显示错误信息或进行其他操作
}
})
},
cancel() {
this.open = false
this.reFrom()
},
handleDelete(row) {
const id = row.businessId
this.$confirm('是否确认操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(res => {
deleteLogical(id).then(res => {
console.log('res', res)
if (res.code === 200) {
this.$message.success('操作成功')
this.getList()
}
})
})
},
// 编辑
handleUpdate(row) {
const id = row.businessId
getDetailById(id).then(res => {
this.form = res.data
this.open = true
})
},
// 初始化获取数据
getList() {
this.loading = true
queryList(this.queryParams).then(res => {
console.log('res', res)
res.rows.createDate = parseTime(res.rows.createDate, '{y}-{m}-{d}')
this.total = res.total
this.basicinfoMationList = res.rows
this.loading = false
......@@ -185,10 +295,32 @@ export default {
this.getList()
},
handleAdd() {
this.open = true
},
handleExport() {
this.$confirm('是否确认导出所有样品库记录信息?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return exporTable(this.queryParams).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
// TODO: 创建下载的链接
const href = window.URL.createObjectURL(blob)
downloadElement.href = href
// TODO: 下载后文件名
downloadElement.download = '样品库记录' + '.xls'
document.body.appendChild(downloadElement)
// TODO: 点击下载
downloadElement.click()
// TODO: 下载完成移除元素
document.body.removeChild(downloadElement)
// TODO: 释放掉blob对象
window.URL.revokeObjectURL(href)
// this.download(response.msg);
})
})
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment