Commit c36b446a authored by kzy's avatar kzy

Merge branch 'project1' of http://gitlab.91isoft.com:90/yangshuo/template_vue into project1

parents d64777a7 0981350b
@font-face {font-family: "iconfont";
src: url('//at.alicdn.com/t/font_2011217_f70ptj9y4oc.eot?t=1604572648364'); /* IE9 */
src: url('//at.alicdn.com/t/font_2011217_f70ptj9y4oc.eot?t=1604572648364#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('//at.alicdn.com/t/font_2011217_f70ptj9y4oc.woff?t=1604572648364') format('woff'),
url('//at.alicdn.com/t/font_2011217_f70ptj9y4oc.ttf?t=1604572648364') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('//at.alicdn.com/t/font_2011217_f70ptj9y4oc.svg?t=1604572648364#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icongongzi:before {
content: "\e7e9";
}
.iconwode-wodejiangjin:before {
content: "\e622";
}
.icontishi:before {
content: "\e648";
}
.iconweidudianjihou:before {
content: "\e659";
}
.iconyidudianjihou:before {
content: "\e661";
}
.iconshixinyuanxinghui:before {
content: "\e605";
}
.iconduihao2:before {
content: "\e69e";
}
.iconshixinyuanxing:before {
content: "\e607";
}
.iconduihao1:before {
content: "\e61e";
}
.iconziyuan157:before {
content: "\e6f1";
}
.iconshenqingxialaiderenwu:before {
content: "\e623";
}
.iconwupin:before {
content: "\e729";
}
.iconjilu:before {
content: "\e621";
}
.icon-xianjin:before {
content: "\e6c6";
}
.iconasset-management-registration-of-assets:before {
content: "\e60a";
}
.iconzichanxinxishenhe:before {
content: "\e6e1";
}
.iconwodeliuchengfenbu:before {
content: "\e611";
}
.iconlishijilu:before {
content: "\e6c8";
}
.iconjichuxinxiguanli:before {
content: "\e620";
}
.iconxiaoshoudanju:before {
content: "\e60f";
}
.iconanjian3:before {
content: "\e634";
}
.iconrencai:before {
content: "\e60d";
}
.iconjiaban:before {
content: "\e682";
}
.iconyijianfankui:before {
content: "\e626";
}
.iconzhaopianphoto182:before {
content: "\e728";
}
.iconjiankangdangan:before {
content: "\e65a";
}
.iconcardb:before {
content: "\e62b";
}
.iconuntitled85:before {
content: "\e618";
}
.iconcaiwu:before {
content: "\e619";
}
.icondingdan:before {
content: "\e669";
}
.iconicon-chujingxianlu:before {
content: "\e61a";
}
.iconchuchashenqing:before {
content: "\e61b";
}
.iconchalvfeiyongbaoxiao:before {
content: "\e61c";
}
.icondanganheji:before {
content: "\e646";
}
.icondanju-zhengque-tianchong:before {
content: "\e627";
}
.iconqitafeiyong:before {
content: "\e629";
}
.iconkeshi:before {
content: "\e67e";
}
.iconwangluo:before {
content: "\e608";
}
.icon-baogaodayin:before {
content: "\e72b";
}
.iconshangchuan:before {
content: "\e775";
}
.iconrenyuanguanli:before {
content: "\e663";
}
.iconzhengjianbanli:before {
content: "\e8be";
}
.iconxinxi:before {
content: "\e649";
}
.iconcontract2-fill:before {
content: "\e61d";
}
.iconluxian:before {
content: "\e874";
}
.iconyijianfankui1:before {
content: "\e685";
}
.iconjurassic_form:before {
content: "\e6af";
}
.iconbumenguanli:before {
content: "\e609";
}
.iconshangchuan1:before {
content: "\e761";
}
.iconshangchuanwenjian:before {
content: "\e62a";
}
.iconw_xinjian:before {
content: "\e67d";
}
.iconw_xuesheng-:before {
content: "\e67f";
}
.iconlianxiren10:before {
content: "\e6b0";
}
.iconshigongweixiu:before {
content: "\e645";
}
.iconchuguoxiangmu2:before {
content: "\e681";
}
.iconqingjiashenqing:before {
content: "\e6b6";
}
.iconshuji:before {
content: "\e6b7";
}
.iconfujian:before {
content: "\e709";
}
.iconfapiaobaoxiao:before {
content: "\e680";
}
.icontianjia:before {
content: "\e62c";
}
.iconziliao:before {
content: "\e613";
}
.iconchaoshi-solid:before {
content: "\e617";
}
.iconPensyumaobi:before {
content: "\e708";
}
.icondrxx79-copy:before {
content: "\e795";
}
.iconxiaojiashenpi:before {
content: "\e630";
}
.iconshijian1:before {
content: "\e65f";
}
.iconicon_duihao-mian:before {
content: "\e63d";
}
.iconshezhi:before {
content: "\e654";
}
.iconxianshi_quxiaotianchong:before {
content: "\e61f";
}
.iconshijian:before {
content: "\e63b";
}
.iconjiantou:before {
content: "\e612";
}
.iconduihao:before {
content: "\e62f";
}
.iconzhedie:before {
content: "\e647";
}
.iconfayuan:before {
content: "\e6f4";
}
.iconxiajiantou-:before {
content: "\e632";
}
.iconjiahao:before {
content: "\e727";
}
.iconxiaoxitongzhitixinglingshenglingdang:before {
content: "\e794";
}
.iconxiaoxi:before {
content: "\e67c";
}
.icondaibanshixiang:before {
content: "\e65d";
}
.iconshuoming:before {
content: "\e6ad";
}
.iconwenhao:before {
content: "\e62e";
}
.iconpiaoju:before {
content: "\e603";
}
.icontongxunlu:before {
content: "\e6ef";
}
.iconwode:before {
content: "\e625";
}
.iconshouye:before {
content: "\e694";
}
.iconfuwuguanli:before {
content: "\e67b";
}
.iconziyuan211:before {
content: "\e726";
}
.icontongji:before {
content: "\e642";
}
.iconfuwuanli:before {
content: "\e6f8";
}
.iconmima:before {
content: "\e60e";
}
.iconyonghu:before {
content: "\e610";
}
......@@ -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'
})
}
......@@ -14,11 +14,11 @@ export function listLog(queryParams, queryMaps) {
}
/* TODO: 用来查询单项出入库记录的废弃详情信息 */
export function findSingleLogDetail(singleLogIdAndUser) {
export function findSingleLogDetail(singleLogIdAndPn) {
return request({
url: '/wbchemistrylog/detail',
method: 'post',
data: singleLogIdAndUser,
data: singleLogIdAndPn,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
......
// TODO: 查询条件 (检查查询条件的类型)
// TODO: 组件表单所需的所有参数(未完善类型检测)
export function BaseTableArgumentsTest(listName, loading, List, queryParams, columObj) {
this.listName = listName
this.loading = loading
this.List = List
this.queryParams = queryParams
this.columObj = columObj
}
// TODO: 以下导出皆暂时不可用,都未完善
// 查询条件 (检查查询条件的类型)
export function queryParamsType(pageNum, pageSize, pageTotal) {
if (typeof pageNum !== 'number' && typeof pageSize !== 'number' && typeof pageTotal !== 'number') {
console.warn('queryParams查询参数的type类型错误!请检查后重新赋值')
......@@ -11,7 +21,7 @@ export function queryParamsType(pageNum, pageSize, pageTotal) {
}
}
// TODO: 操作选项的类型判断
// 操作选项的类型判断
export function operationType(type, label, icon, color, buttonClick, isShow) {
this.type = type
this.label = label
......@@ -23,7 +33,7 @@ export function operationType(type, label, icon, color, buttonClick, isShow) {
}
}
// TODO: 列的类型以及参数判断
// 列的类型以及参数判断
export function columnDataType(text, status, ownDefined, isSwitch, image, isOperation, prop, label, width, align, operation) {
this.text = text
this.status = status
......@@ -44,7 +54,7 @@ export function columnDataType(text, status, ownDefined, isSwitch, image, isOper
}
}
// TODO: 组件表单所需的所有参数
// 组件表单所需的所有参数
export function BaseTableArguments(selection, loading, processList, queryParams, columnData) {
// TODO: 选择框是否需要存在 (selection判断表单选择框是否需要存在)
if (typeof selection !== 'boolean') {
......@@ -60,19 +70,19 @@ export function BaseTableArguments(selection, loading, processList, queryParams,
}
}
// TODO: 加载进度 (判断是否显示加载进度)
// 加载进度 (判断是否显示加载进度)
if (typeof loading !== 'boolean') {
console.warn('loading进度条参数的type类型错误!请检查后重新赋值')
} else {
this.loading = loading
}
// TODO: 查询参数 (判断查询条件是否符合类型)
// 查询参数 (判断查询条件是否符合类型)
if (queryParams instanceof queryParamsType) {
this.queryParams = queryParamsType
}
// TODO: 每一列的参数
// 每一列的参数
if (columnData instanceof columnDataType) {
this.columnData = columnData
}
......@@ -80,11 +90,3 @@ export function BaseTableArguments(selection, loading, processList, queryParams,
this.processList = processList
}
// TODO: 组件表单所需的所有参数
export function BaseTableArgumentsTest(listName, loading, List, queryParams, columObj) {
this.listName = listName
this.loading = loading
this.List = List
this.queryParams = queryParams
this.columObj = columObj
}
......@@ -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
}
})
}
}
}
......
......@@ -32,6 +32,20 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-select
v-model="queryParams.pstatus"
placeholder="请选择状态"
clearable
size="small"
style="width: 341px"
>
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-search" size="small" @click="handleQuery">查询</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
......@@ -39,7 +53,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="equipmentapplyList" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn">
......@@ -74,24 +88,30 @@
<span v-else style="color: green">已完成</span>
</template>
</el-table-column>
<el-table-column label="操作员" prop="createName">
<el-table-column label="申请人" prop="createName">
<template slot-scope="scope">
{{ scope.row.createName || '-' }}
</template>
</el-table-column>
<el-table-column label="操作时间" :show-overflow-tooltip="true" align="center" prop="updateDate" width="200px">
<el-table-column label="申请时间" :show-overflow-tooltip="true" align="center" prop="updateDate" width="200px">
<template slot-scope="scope">
<span>{{ scope.row.updateDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="150px">
<el-table-column label="操作" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-button
v-if="scope.row.pstatus === '0'"
size="mini"
type="text"
style="color: #49cec9"
@click="handleUpdate(scope.row)"
@click="handle(scope.row)"
>处理</el-button>
<el-button
size="mini"
type="text"
@click="handleDetail(scope.row)"
>详情</el-button>
<el-button
size="mini"
type="text"
......@@ -134,7 +154,7 @@
style="width: 150px"
>
<el-option
v-for="dict in statusOptions"
v-for="dict in pissbOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
......@@ -153,15 +173,181 @@
<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>
<el-col :span="12">
<el-form-item label="pn:" prop="pn">
<el-input v-model.trim="singleDetails.pn" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="phd:" prop="phd">
<el-input v-model.trim="singleDetails.phd" :readonly="true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="prank:" prop="prank">
<el-input v-model.trim="singleDetails.prank" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="pgx:" prop="pgx">
<el-input v-model.trim="singleDetails.pgx" :readonly="true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="pissb:" prop="pissb">
<el-input v-model.trim="singleDetails.pissb" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态:" prop="pstatus">
<template >
<span v-if="singleDetails.pstatus === '0'" style="color: red">未完成</span>
<span v-else style="color: green">已完成</span>
</template>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="申请人:" prop="createName">
<el-input v-model.trim="singleDetails.createName" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" 申请时间:" prop="createDate">
<el-input v-model.trim="singleDetails.createDate" :readonly="true" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!-- TODO: 申请处理表单 -->
<el-dialog :title="title" :visible.sync="openHandle" width="1200px" append-to-body>
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="pn" prop="pn">
<el-input
v-model="queryParams.pn"
placeholder="请输入pn"
clearable
:maxlength="30"
size="small"
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="phd" prop="phdStr">
<el-input
v-model="queryParams.phdStr"
placeholder="请输入phd"
clearable
size="small"
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="prank" prop="prankStr">
<el-input
v-model="queryParams.prankStr"
placeholder="请输入prank"
clearable
size="small"
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" style="padding: 8px 7px;" icon="el-icon-search" size="small" @click="handleQueryDetail">查询</el-button>
<el-button style="padding: 8px 7px;" icon="el-icon-refresh" size="small" @click="resetQueryDetail">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loadingDetail" border :data="detailApplyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn">
<template slot-scope="scope">
{{ scope.row.pn || '-' }}
</template>
</el-table-column>
<el-table-column label="lot" prop="lot" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.lot || '-' }}
</template>
</el-table-column>
<el-table-column label="plocation" prop="plocation">
<template slot-scope="scope">
{{ scope.row.plocation || '-' }}
</template>
</el-table-column>
<el-table-column label="prank" prop="prank">
<template slot-scope="scope">
{{ scope.row.prank || '-' }}
</template>
</el-table-column>
<el-table-column label="pzl" prop="pzl">
<template slot-scope="scope">
{{ scope.row.pzl || '-' }}
</template>
</el-table-column>
<el-table-column label="phd" prop="phd">
<template slot-scope="scope">
{{ scope.row.phd || '-' }}
</template>
</el-table-column>
<el-table-column label="psm" prop="psm">
<template slot-scope="scope">
{{ scope.row.psm || '-' }}
</template>
</el-table-column>
<el-table-column label="pissb" prop="pissb">
<template slot-scope="scope">
<span v-if="scope.row.pissb === '0'"></span>
<span v-else ></span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="totalDetail>0"
:total="totalDetail"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getDeviceList"
/>
</el-dialog>
</div>
</template>
<script>
import { listWbApply, deleteLogical } from '@/api/equipment/draw'
import { listWbApply, deleteLogical, detailList } from '@/api/equipment/draw'
import { parseTime } from '@/utils'
export default {
name: 'Role',
data() {
return {
detailApplyList: [],
// TODO: 表单里的单项详情参数
singleDetails: {
pn: '',
phd: '',
prank: '',
pgx: '',
pissb: '',
pstatus: '',
createName: '',
createTime: ''
},
// 是否显示弹出层(申请处理)
openHandle: false,
// 是否显示弹出层(数据详情)
openDetails: false,
loadingDetail: false,
// 遮罩层
loading: true,
// 选中数组
......@@ -172,6 +358,8 @@ export default {
multiple: true,
// 总条数
total: 0,
// apply_detail的总条数
totalDetail: 0,
// 设备申请表格数据
equipmentapplyList: [],
// 弹出层标题
......@@ -191,39 +379,25 @@ export default {
// 状态数据字典
statusOptions: [
{
dictLabel: '',
dictLabel: '已完成',
dictValue: '1'
},
{
dictLabel: '',
dictLabel: '未完成',
dictValue: '0'
}
],
// 数据范围选项
dataScopeOptions: [
{
value: '1',
label: '全部数据权限'
},
// pissb数据字典
pissbOptions: [
{
value: '2',
label: '自定数据权限'
},
{
value: '3',
label: '本部门数据权限'
},
{
value: '4',
label: '本部门及以下数据权限'
dictLabel: '是',
dictValue: '1'
},
{
value: '5',
label: '仅本人数据权限'
dictLabel: '否',
dictValue: '0'
}
],
// 部门列表
tOptions: [],
// 查询参数
queryParams: {
page: 1,
......@@ -234,6 +408,16 @@ export default {
ptype: 1,
delFlag: 0
},
// 查询apply_detail的参数
queryParamsDetail: {
page: 1,
rows: 10,
pn: undefined,
lot: undefined,
plocation: undefined,
ptype: 1,
delFlag: 0
},
// 表单参数
form: {},
defaultProps: {
......@@ -289,16 +473,31 @@ export default {
// });
},
methods: {
getFontColor(state) {
if (state === 1) {
return '已完成'
} else if (state === '待审核') {
return 'color: orange;'
} else if (state === '已通过') {
return 'color: green;'
} else {
return ''
}
/** 查询apply_detail列表 */
getDeviceList() {
this.loadingDetail = true
detailList(this.queryParams).then(res => {
res.rows.createDate = parseTime(res.rows.createDate, '{y}-{m}-{d}')
this.totalDetail = res.total
this.detailApplyList = res.rows
this.loadingDetail = false
})
},
handle() {
this.openHandle = !this.openHandle
this.loadingDetail = true
detailList(this.queryParamsDetail).then(res => {
res.rows.createDate = parseTime(res.rows.createDate, '{y}-{m}-{d}')
this.totalDetail = res.total
this.detailApplyList = res.rows
this.loadingDetail = false
})
},
// : 获取所选行详情信息操作
handleDetail(row) {
this.singleDetails = row
this.title = '详情信息'
this.openDetails = !this.openDetails
},
/** 查询基础信息列表 */
getList() {
......@@ -311,77 +510,6 @@ export default {
}
)
},
/** 查询菜单树结构 */
getMenuTreeselect() {
menuTreeselect().then(response => {
this.menuOptions = response.data
})
},
/** 查询菜单列表 */
getMenuList(roleId) {
roleMenuTreeselectMC(roleId).then(response => {
this.menuList = this.handleTree(response.data.menus, 'businessId')
this.loading = false
})
},
/** 查询部门树结构 */
getDeptTreeselect() {
deptTreeselect().then(response => {
this.deptOptions = response.data
})
},
// 所有菜单节点数据
getMenuAllCheckedKeys() {
// 目前被选中的菜单节点
const checkedKeys = this.$refs.menu.getHalfCheckedKeys()
// 半选中的菜单节点
const halfCheckedKeys = this.$refs.menu.getCheckedKeys()
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys)
return checkedKeys
},
// 所有部门节点数据
getDeptAllCheckedKeys() {
// 目前被选中的部门节点
const checkedKeys = this.$refs.dept.getHalfCheckedKeys()
// // 半选中的部门节点
const halfCheckedKeys = this.$refs.dept.getCheckedKeys()
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys)
return this.$refs.dept.getCheckedKeys()
},
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => {
this.menuOptions = response.data.menus
return response
})
},
/** 根据角色ID和菜单ID查询部门树结构 */
getRoleDeptTreeselect(roleId, menuId) {
return roleDeptTreeselect(roleId, menuId).then(response => {
this.form.deptCheckStrictly = response.data.deptCheckStrictly
this.deptOptions = response.data.depts
this.form.dataScope = this.dataScopeOptions[response.data.dataScope - 1].value
return response
})
},
// 角色状态修改
handleStatusChange(row) {
const text = row.flag === '1' ? '启用' : '停用'
this.$confirm('确认要"' + text + '""' + row.roleName + '"角色吗?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return changeRoleStatus(row.businessId, row.flag)
}).then(() => {
this.$message({
message: text + '成功',
type: 'success'
})
}).catch(function() {
row.flag = row.flag === '0' ? '1' : '0'
})
},
// 取消按钮
cancel() {
this.open = false
......@@ -464,54 +592,6 @@ export default {
}
}
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.getMenuTreeselect()
this.open = true
this.title = '添加角色'
},
/** 修改按钮操作 */
// handleUpdate(row) {
// this.reset()
// const roleId = row.businessId || this.ids
// const roleMenu = this.getRoleMenuTreeselect(roleId)
// getRole(roleId).then(response => {
// this.form = response.data
// this.open = true
// this.getMenuTreeselect(roleId)
// this.$nextTick(() => {
// roleMenu.then(res => {
// this.$refs.menu.setCheckedKeys(res.data.checkedKeys)
// })
// })
// this.title = '修改角色'
// })
// },
/** 提交按钮 */
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
this.form.menuIds = this.getMenuAllCheckedKeys()
// eslint-disable-next-line no-undef
updateBasicInfo(this.form).then(response => {
this.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
this.form.menuIds = this.getMenuAllCheckedKeys()
// eslint-disable-next-line no-undef
addBasicInfo(this.form).then(response => {
this.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.businessId
......@@ -532,6 +612,18 @@ export default {
}
</script>
<style lang="scss" scoped>
.aboutSingleDetails{
.el-form-item{
.el-input >>> .el-input__inner {
-webkit-appearance: none;
background-color: #FFF;
background-image: none;
border-radius: 4px;
border: 0;
width: 100%;
}
}
}
.app-container {
font-size: 18px;
padding: 0;
......
......@@ -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>
......
......@@ -181,7 +181,7 @@
<el-form-item label="fq_dd:" prop="fq_dd">
{{ singleDetails.fq_dd }}
</el-form-item>
<el-form-item label="fq_mcode:" prop="fq_mcode">
<el-form-item label="fq_mcode:" prop="fq_mcode">
{{ singleDetails.fq_mcode }}
</el-form-item>
<el-form-item label="fq_yy:" prop="fq_yy">
......@@ -480,7 +480,6 @@ export default {
/** TODO: 重置按钮操作 */
resetQuery() {
this.queryEntity = {
tableSortMark: 0,
entity: {
pn: '',
lot: '',
......@@ -496,7 +495,7 @@ export default {
/* TODO: 控制单项表单关闭的详情 */
handleClose() {
this.activateAbandonedState = false
this.singleLogIdAndPn= {}
this.singleLogIdAndPn = {}
},
/* TODO: 进行排序 */
changeTableSort: function(val) {
......
......@@ -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);
})
})
}
}
}
......
......@@ -138,34 +138,6 @@
</el-col>
</el-row>
<!-- TODO: 这里是 库状态为废弃时才会触发显示的模块 -->
<transition name="fade-transform" mode="out-in">
<el-row v-if=" activateAbandonedState " style="height: 160px">
<el-col :span="12">
<el-form-item label="fq_ys:" prop="fq_ys">
{{ singleDetails.fq_ys }}
</el-form-item>
<el-form-item label="fq_bz:" prop="fq_bz">
{{ singleDetails.fq_bz }}
</el-form-item>
<el-form-item label="fq_dbxi:" prop="fq_dbxi">
{{ singleDetails.fq_dbxi }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="fq_dd:" prop="fq_dd">
{{ singleDetails.fq_dd }}
</el-form-item>
<el-form-item label="fq_mcode:" :label-width="10" prop="fq_mcode">
{{ singleDetails.fq_mcode }}
</el-form-item>
<el-form-item label="fq_yy:" prop="fq_yy">
{{ singleDetails.fq_yy }}
</el-form-item>
</el-col>
</el-row>
</transition>
<el-row>
<el-col :span="12">
<el-form-item label="操作员:" prop="userName">
......@@ -337,14 +309,13 @@ export default {
]
},
// TODO: 表单里的单项详情参数
title: '',
openDetails: false,
isReadOnly: true,
// TODO: 表单里的单项详情参数
singleDetails: {},
// TODO: 获取表单单项详情的参数
singleLogIdAndFqYs: {},
activateAbandonedState: false
singleLogIdAndPn: {}
}
},
computed: {
......@@ -416,14 +387,20 @@ export default {
},
/** TODO: 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.queryEntity = {
entity: {
pn: '',
lot: '',
ptype: ''
}
}
this.dateRange = []
this.handleQuery()
},
/* TODO: 控制单项表单关闭的详情 */
handleClose() {
this.activateAbandonedState = false
this.singleLogIdAndFqYs = {}
this.singleLogIdAndPn = {}
},
/* TODO: 进行排序 */
changeTableSort: function(val) {
......@@ -444,25 +421,13 @@ export default {
this.singleDetails = { ...row }
} else {
/* TODO: 设置单项详情的查询的条件 */
this.singleLogIdAndFqYs['businessId'] = row.businessId
this.singleLogIdAndFqYs['fqYs'] = row.fqYs
/* TODO: 进行查询,如果返回的code为200,则表示返回的值成功 */
findSingleLogDetail(this.singleLogIdAndFqYs).then(
this.singleLogIdAndPn['businessId'] = row.businessId
this.singleLogIdAndPn['pn'] = row.pn
/* TODO: 进行单项详情的查询 */
findSingleLogDetail(this.singleLogIdAndPn).then(
response => {
if (response.code === 200) {
this.singleDetails = Object.assign({}, response.data, { ...row })
/* TODO: 如果库状态==='4' 并且返回的状态码为200的时候,才会将可变的详情字段设置为true,去激活并打开 */
this.activateAbandonedState = true
} else {
/* TODO: 如果状态码不对则不会激活可变字段,只会对普通字段进行赋值,并且抛出错误信息response.message */
this.$message({
showClose: true,
message: response.message,
type: 'warning'
})
this.singleDetails = { ...row }
}
this.title = '记录详情'
this.singleDetails = Object.assign({}, response.data, { ...row })
}
)
}
......
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