Commit 6cacbbbb by T

1.超期未报废完善

2.供应商装备报表完成
3.登录传参调整(MD5加密)
4.首页调整
其他bug修复
parent 6d33be0c
......@@ -8,19 +8,25 @@
</style>
<!-- 全局配置 -->
<script>
window._CONFIG = {};
//现场
//var host = window.location.origin;
// window._CONFIG = {};
// window._CONFIG['serviceURL'] = host + 'hzservice';
// window._CONFIG['userURL'] = host + 'hzuser';
//总平台
window._CONFIG = {};
window._CONFIG['serviceURL'] = 'http://192.168.3.189:8848';
window._CONFIG['userURL'] = 'http://192.168.3.189:10005';
</script>
<script type="text/javascript" src="http://jzpt.gat.zj:10001/web_jznew/js/jquery/jquery-1.8.3.js"></script>
<!-- <script type="text/javascript" src="http://jzpt.gat.zj:10002/web_jznew/js/jquery/jquery-1.8.3.js"></script> -->
</head>
<!-- 浙警智评-V1.0-202208 BEGIN -->
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10001/web_jznew/pages/jzwd/zjzp/css/jzwd-zjzp.css">
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10001/web_jznew/pages/jzwd/zjzp/css/jzwd-zjzp.css">
<script type="text/javascript" src="http://jzpt.gat.zj:10001/web_jznew/pages/jzwd/zjzp/js/jzwd-zjzp.js"></script>
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10001/web_jznew/pages/jzwd/zjzp/js/hsycmsAlert/hsycmsAlert.min.css">
<script type="text/javascript" src="http://jzpt.gat.zj:10001/web_jznew/pages/jzwd/zjzp/js/hsycmsAlert/hsycmsAlert.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10002/web_jznew/pages/jzwd/zjzp/css/jzwd-zjzp.css">
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10002/web_jznew/pages/jzwd/zjzp/css/jzwd-zjzp.css">
<script type="text/javascript" src="http://jzpt.gat.zj:10002/web_jznew/pages/jzwd/zjzp/js/jzwd-zjzp.js"></script>
<link rel="stylesheet" type="text/css" href="http://jzpt.gat.zj:10002/web_jznew/pages/jzwd/zjzp/js/hsycmsAlert/hsycmsAlert.min.css">
<script type="text/javascript" src="http://jzpt.gat.zj:10002/web_jznew/pages/jzwd/zjzp/js/hsycmsAlert/hsycmsAlert.min.js"></script>
<script>
$(document).ready(function () {
/**
......
......@@ -46,7 +46,7 @@ export function getAllFixs(data) {
data: transform(data)
})
}
//快速报废
export function quickAddFixed(data) {
return request({
url: window._CONFIG['serviceURL'] + '/api/FixReceiveApply/QuickAddFixed',
......@@ -54,7 +54,7 @@ export function getAllFixs(data) {
data: transform(data)
})
}
// 查看维修报废明细
export function getByID(data) {
return request({
......
......@@ -9,3 +9,11 @@ export function getOverdueMsgDetail(data) {
data: transform(data)
})
}
//超期未报废继续使用
export function updateEquIsContinueUse(data) {
return request({
url: window._CONFIG['serviceURL'] + '/api/Notice/UpdateEquIsContinueUse',
method: 'post',
data: transform(data)
})
}
\ No newline at end of file
......@@ -30,7 +30,8 @@ const user = {
// 登录
Login({ commit }, userInfo) {
const username = userInfo.username
const password = decrypt(userInfo.password)
const password = userInfo.password
//const password = decrypt(userInfo.password)
const code = userInfo.code
const uuid = userInfo.uuid
const rememberMe = userInfo.rememberMe
......
......@@ -9,6 +9,9 @@
<el-form-item label="装备名称" prop="name">
<el-input v-model="form.name" style="width: 370px;" placeholder="请输入装备名称" :disabled="!(roleIds.includes(4) || roleIds.includes(1))"/>
</el-form-item>
<el-form-item label="装备别名" prop="aliasName">
<el-input v-model="form.aliasName" style="width: 370px;" placeholder="请输入装备别名" />
</el-form-item>
<el-form-item label="供应商">
<el-select ref="supplier" v-model="supplierList" style="width: 370px;" multiple filterable :popper-append-to-body="false" placeholder="请选择供应商">
<!-- @visible-change="v => selectBottomAction(v, {ref: 'supplier', label: '新增供应商' , click: addSupplier})" -->
......@@ -69,10 +72,11 @@ export default {
form: {
id: '',
name: '',
aliasName:'',
note: '',
unit: '',
equipmentId: '',
unitType: '',
unitType: '',
supplierList: [],
updateUser: ''
},
......@@ -165,6 +169,7 @@ export default {
this.form = {
id: '',
name: '',
aliasName:'',
note: '',
unit: 0,
unitType: '',
......
......@@ -34,6 +34,7 @@
</el-table-column>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="name" label="装备名称" align="center"/>
<el-table-column prop="aliasName" label="装备别称" align="center"/>
<el-table-column prop="equipmentName" label="装备类型" align="center"/>
<el-table-column prop="unitType" label="单位" align="center"/>
<el-table-column prop="unit" label="充电时间(时)" v-if="roleIds.includes(4) || roleIds.includes(1)" align="center">
......
......@@ -49,8 +49,8 @@
<el-tag v-else-if="scope.row.actionState == 2" type="warning">借用</el-tag>
<el-tag v-else-if="scope.row.actionState == 3" type="info">领用</el-tag>
<el-tag v-else-if="scope.row.actionState == 4" type="warning">调拨</el-tag>
<el-tag v-else-if="scope.row.actionState == 6" type="danger">维修</el-tag>
<el-tag v-else-if="scope.row.actionState == 7" type="info">报废</el-tag>
<el-tag v-else-if="scope.row.actionState == 6" type="primary">维修</el-tag>
<el-tag v-else-if="scope.row.actionState == 7" type="danger">报废</el-tag>
<el-tag v-else-if="scope.row.actionState == 13 || scope.row.actionState == 14" type="success">本仓库借用</el-tag>
<!-- <el-tag v-else-if="scope.row.actionState == 15 || scope.row.actionState == 16" type="success">跨仓库借用</el-tag>
<el-tag v-else-if="scope.row.actionState == 17 || scope.row.actionState == 18" type="success">跨仓库归还</el-tag> -->
......
<template>
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" title="远程开门" width="500px">
<el-form ref="form" :model="form" label-width="90px">
<el-dialog
:append-to-body="true"
:close-on-click-modal="false"
:before-close="cancel"
:visible.sync="dialog"
title="远程开门"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-form-item label="通道">
<el-select v-model="form.channelCode" style="width: 300px;">
<el-select v-model="form.channelCode" style="width: 300px">
<el-option
v-for="item in channelList"
:key="item.name"
:label="item.name"
:value="item.code">
:value="item.code"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="组织机构">
<el-cascader :options="orgList" filterable
:props="{ value: 'id', label: 'name', checkStrictly: true, emitPath: false }"
<el-form-item label="组织机构" prop="org">
<el-cascader
:options="orgList"
filterable
:props="{
value: 'id',
label: 'name',
checkStrictly: true,
emitPath: false,
}"
@change="handleChangeOrg"
clearable :show-all-levels="false" class="filter-item" style="width: 300px;" placeholder="请选择组织机构"/>
clearable
:show-all-levels="false"
class="filter-item"
style="width: 300px"
placeholder="请选择组织机构"
/>
</el-form-item>
<el-form-item label="警员名称">
<el-select v-model="form.userId" style="width: 300px;">
<el-form-item label="警员名称" prop="userId">
<el-select v-model="form.userId" style="width: 300px">
<el-option
v-for="item in policeList"
:key="item.name"
:label="item.name"
:value="item.id">
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="info" plain @click="cancel">关闭</el-button>
<el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
<el-button :loading="loading" type="primary" @click="doSubmit"
>确认</el-button
>
</div>
</el-dialog>
</template>
<script>
import { controlDev, updateHumid } from '@/api/warehouseDev'
import { getAllCfgV2, remoteOpenDoor } from '@/api/channelCfg'
import { getListOrg } from '@/api/org'
import { getPolicemanByOrgId } from '@/api/policeman'
import { controlDev, updateHumid } from "@/api/warehouseDev";
import { getAllCfgV2, remoteOpenDoor } from "@/api/channelCfg";
import { getListOrg } from "@/api/org";
import { getPolicemanByOrgId } from "@/api/policeman";
export default {
// props: {
// isDoSubmit: {
// type: Boolean,
// required: true,
// },
// },
data() {
return {
loading: false, dialog: false, visible: false,
loading: false,
dialog: false,
visible: false,
form: {
channelCode: '',
userId: ''
channelCode: "",
userId: "",
},
orgId : this.$store.state.user.user.baseJpOrganization.id,
rules: {
org: [{ required: true, message: "请选择组织机构", trigger: "blur" }],
userId: [{ required: true, message: "请选择警员", trigger: "blur" }],
},
orgId: this.$store.state.user.user.baseJpOrganization.id,
orgList: [],
channelList: [],
policeList: [],
options: [
{ name: '启动', value: '1' },
{ name: '关闭', value: '0' }
]
}
{ name: "启动", value: "1" },
{ name: "关闭", value: "0" },
],
};
},
methods: {
cancel() {
this.resetForm()
this.resetForm();
},
initChannel(warehouseId) {
getAllCfgV2({orgId: this.orgId,warehouseId: warehouseId}).then(res => {
this.channelList = res.data.content
if (this.channelList.length > 0) {
this.form.channelCode = res.data.content[0].code
getAllCfgV2({ orgId: this.orgId, warehouseId: warehouseId }).then(
(res) => {
this.channelList = res.data.content;
if (this.channelList.length > 0) {
this.form.channelCode = res.data.content[0].code;
}
}
})
getListOrg({id: this.orgId}).then(res => {
this.orgList = res.data
})
);
getListOrg({ id: this.orgId }).then((res) => {
this.orgList = res.data;
});
},
handleChangeOrg(value) {
this.policeList = []
this.form.userId = ''
this.policeList = [];
this.form.userId = "";
if (value) {
getPolicemanByOrgId({orgId: value}).then(res => {
this.policeList = res.data
})
getPolicemanByOrgId({ orgId: value }).then((res) => {
this.policeList = res.data;
});
}
},
doSubmit(){
this.loading = true
let form = { ...this.form }
if (!form.userId ) {
this.$message.warning('请选择警员')
this.loading = false
return
}
this.loading = true
remoteOpenDoor(this.form).then(res => {
if (res.code == '10000') {
this.dialog = false
......@@ -100,31 +143,31 @@ export default {
})
},
resetForm() {
this.dialog = false
this.$refs['form'].resetFields()
this.dialog = false;
this.$refs["form"].resetFields();
this.form = {
channelCode: '',
userId: ''
}
}
}
}
channelCode: "",
userId: "",
};
},
},
};
</script>
<style lang="less" scoped>
/deep/ .el-input-number .el-input__inner {
text-align: left;
}
/deep/ .el-input-number .el-input__inner {
text-align: left;
}
.form-table{
/deep/&.el-table{
.form-table {
/deep/&.el-table {
overflow: visible;
.el-table__body-wrapper {
overflow: visible;
.el-table__body-wrapper{
.cell {
overflow: visible;
.cell{
overflow: visible;
}
}
}
}
}
</style>
......@@ -19,6 +19,8 @@
<!-- <el-tag v-else-if="scope.row.actionState == 15 || scope.row.actionState == 16" type="success">跨仓库借用</el-tag>
<el-tag v-else-if="scope.row.actionState == 17 || scope.row.actionState == 18" type="success">跨仓库归还</el-tag> -->
<el-tag v-else-if="scope.row.actionState == 19" type="success">装备回库</el-tag>
<el-tag v-else-if="scope.row.actionState == 22" type="warning">盘库(赢)</el-tag>
<el-tag v-else-if="scope.row.actionState == 23" type="danger">盘库(亏)</el-tag>
</template>
</el-table-column>
<el-table-column prop="equipmentName" label="装备名称" align="center"/>
......
<template>
<el-card style="height:360px">
<el-card style="height:548px">
<div slot="header" class="clearfix">
<span>{{ radio }}</span>
<el-radio-group v-model="radio" size="small" @change="radioChange" style="float: right;margin-top:-7px;margin-bottom:-10px;">
......@@ -7,7 +7,8 @@
<el-radio-button label="装备库存"></el-radio-button>
</el-radio-group>
</div>
<v-chart height="300" :data="chartData" :scale="scale" :padding="padding" style="margin-top:-5px;">
<!-- <v-chart height="400" :data="chartData" :scale="scale" :padding="padding" style="margin-top:-5px;"> -->
<v-chart height="400" :data="chartData" :scale="scale" :padding="padding" style="margin-top:25px;">
<v-tooltip :showTitle="false" dataKey="item*percent"/>
<v-axis/>
<v-legend :useHtml="true" position="right-center" :containerTpl="containerTplLegend" :itemTpl="itemTplLegend" :offset="offset"/>
......
<template>
<el-card class="box-card" style="height: 152px">
<el-card class="box-card" style="height: 325px">
<div slot="header" class="clearfix">
<span>快速开始 / 便捷导航</span>
</div>
<div class="item-group">
<el-row>
<el-col :span="6">
<el-badge style="margin-top: -2px;" :value="cqwhCount"><el-button type="text" @click="$router.push('/notice/index?type=1&processType=overtime')">超期提醒</el-button></el-badge>
<el-col :span="8">
<el-badge :value="cqwhCount"><el-button type="text" style="font-size: 15px;" @click="$router.push('/notice/index?type=1&processType=overtime')">超期提醒</el-button></el-badge>
</el-col>
<el-col :span="6">
<el-badge :value="ycqCount" style="margin-top: -2px;"><el-button type="text" @click="$router.push('/notice/index?type=1&processType=scrapwarn')">报废提醒</el-button></el-badge>
<el-col :span="8">
<el-badge :value="ycqCount" ><el-button type="text" style="font-size: 15px;" @click="$router.push('/notice/index?type=1&processType=scrapwarn')">报废提醒</el-button></el-badge>
</el-col>
<el-col :span="6">
<el-button type="text" style="margin-top: -2px;" @click="$router.push('/houseBaseInfo/index')">仓库管理</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/houseBaseInfo/index')">仓库管理</el-button>
</el-col>
<el-col :span="6">
<el-button type="text" style="margin-top: -2px;" @click="$router.push('/warehouse/inAndOut')">出入库记录</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/warehouse/inAndOut')">出入库记录</el-button>
</el-col>
<el-col :span="6">
<el-button type="text" @click="$router.push('/warehouse/stock')">本库装备列表</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/warehouse/stock')">本库装备列表</el-button>
</el-col>
<el-col :span="6">
<el-button type="text" @click="$router.push('/warehouse/maintenance')">装备维护</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/warehouse/maintenance')">装备维护</el-button>
</el-col>
<el-col :span="6">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" @click="$router.push('/data/inventoryStatistics')">装备统计报</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/warehouse/sysPanKu')">盘库列</el-button>
</el-col>
<el-col :span="6">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" @click="$router.push('/data/reportForm')">类型统计报表</el-button>
<el-col :span="8">
<el-button type="text" style=" font-size: 15px;" @click="$router.push('/warehouse/threshold')">库存阈值</el-button>
</el-col>
<el-col :span="8">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" style=" font-size: 15px;" @click="$router.push('/data/reportForm')">类型统计报表</el-button>
</el-col>
<el-col :span="8">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" style=" font-size: 15px;" @click="$router.push('/data/finance')">财务统计报表</el-button>
</el-col>
<el-col :span="8">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" style=" font-size: 15px;" @click="$router.push('/data/usingReport')">使用统计报表</el-button>
</el-col>
<el-col :span="8">
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" style=" font-size: 15px;" @click="$router.push('/data/inventorySupEquiReport')">供应商装备报表</el-button>
</el-col>
</el-row>
</div>
......
......@@ -12,7 +12,7 @@
</el-col>
<el-col :xs="24" :sm="24" :lg="10">
<shortcut/>
<columnar-chart style="margin-top: 10px" ref="columnar"/>
<!-- <columnar-chart style="margin-top: 10px" ref="columnar"/> -->
<pie-chart style="margin-top: 10px" ref="pieChart"/>
</el-col>
</el-row>
......
......@@ -51,6 +51,7 @@ import { getProcess } from '@/api/process'
import { getListOrgWarehouse } from '@/api/warehouse'
import { getAllListOrg } from '@/api/org'
import { getToken, setToken, removeToken } from '@/utils/auth'
import md5 from 'js-md5'
export default {
name: 'Login',
data() {
......@@ -124,9 +125,11 @@ export default {
code: this.loginForm.code,
uuid: this.loginForm.uuid
}
if (user.password !== this.cookiePass) {
user.password = encrypt(user.password)
}
// if (user.password !== this.cookiePass) {
// user.password = encrypt(user.password)
// }
//传MD5加密给登录后台
user.password=md5(user.password)
if (valid) {
this.loading = true
if (user.rememberMe) {
......
<!--已超期未报废继续使用记录-->
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!-- 搜索 -->
<!-- <el-button :loading="downloadLoading" class="filter-item" type="warning" icon="el-icon-download" style="float: right" @click="download">导出</el-button> -->
</div>
<!--表格渲染-->
<el-table v-loading="loading" :data="data" style="width: 100%;" show-summary :summary-method="getSummaries" stripe border ref="table" @row-click="rowClick">
<el-table-column type="expand" width="50">
<template slot-scope="props">
<el-table :data="props.row.children" stripe border style="width: 94%;margin:auto;" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="40"></el-table-column> -->
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column prop="equName" label="装备名称" align="center"/>
<el-table-column prop="sizeName" label="装备型号名称" align="center"/>
<el-table-column prop="supplierName" label="供应商" align="center"/>
<el-table-column prop="warrantyTime" label="生产日期" align="center"/>
<el-table-column label="位置" align="center">
<template slot-scope="scope">
{{ scope.row.shelfName ? scope.row.shelfName + (scope.row.range ? ('-' + scope.row.range) : (scope.row.column ? '-X' : (scope.row.row ? '-X' : ''))) + (scope.row.column ? ('-' + scope.row.column) : (scope.row.row ? '-X' : '')) + (scope.row.row ? ('-' + scope.row.row) : '') : '' }}
</template>
</el-table-column>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="show(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="warehouseName" label="仓库名称" align="center"/>
<el-table-column prop="equName" label="装备名称" align="center"/>
<el-table-column prop="sizeName" label="装备型号名称" align="center"/>
<el-table-column prop="count" label="数量" align="center"/>
</el-table>
<!--分页组件-->
<el-pagination
:total="total"
:current-page="page + 1"
style="margin-top: 8px;"
layout="total, prev, pager, next, sizes"
@size-change="postSizeChange"
@current-change="postPageChange"/>
<!--表单组件-->
<equ-info-detail ref="equInfoDetail"/>
</div>
</template>
<script>
import initData from '@/mixins/initData'
import { parseTime } from '@/utils/index'
import equInfoDetail from '@/views/warehouse/maintenance/form'
import { getInfoByID } from '@/api/inventory'
import { getListOrg } from '@/api/org'
import { initPdata } from '@/api/data'
import { transform } from '@/utils/index'
export default {
mixins: [initData],
data() {
return {
days: "7",
scrap: true,
isContinueUse:true,
sums:[],
orgList: [],
orgId: this.$store.state.user.user.baseJpOrganization.id,
orgCode: this.$store.state.user.user.baseJpOrganization.code,
downloadLoading: false,
form: {
id: '',
action: 1,
warehouseId : '',
orgId : this.$store.state.user.user.baseJpOrganization.id,
orgCode: this.$store.state.user.user.baseJpOrganization.code.substring(0,6),
note : '',
applyId: this.$store.state.user.user.id,
applyName: this.$store.state.user.user.nickName,
detailList: []
},
}
},
components: { equInfoDetail },
created() {
this.initOrgList()
this.$nextTick(() => {
this.initPost()
})
},
methods: {
parseTime,
initOrgList() {
getListOrg({ id: this.$store.state.user.user.baseJpOrganization.id }).then(res => {
this.orgList = res.data
})
},
beforeInit() {
this.url = window._CONFIG['serviceURL'] + '/api/Notice/GetTreeScrapMsg'
this.params = { page: this.page, size: this.size, orgId : this.orgId || this.$store.state.user.user.baseJpOrganization.id }
const days = this.days
const scrap = this.scrap
const isContinueUse = this.isContinueUse
if (days) { this.params['days'] = days }
if (scrap) { this.params['scrap'] = scrap }
if (isContinueUse) { this.params['isContinueUse'] = isContinueUse }
return true
},
show(data) {
const _this = this.$refs.equInfoDetail
getInfoByID({id: data.id}).then(res => {
if(res.code == '10000') {
_this.form = res.data
_this.stateList = res.data.stateList.slice(0, 3)
_this.total = res.data.stateList.length
} else {
this.$message.error(res.msg)
}
})
_this.dialog = true
},
rowClick(row,column,event) {
const table = this.$refs.table
table.toggleRowExpansion(row)
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 2) {
sums[index] = '本页合计';
return;
}
if (index === 4) {
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += '';
} else {
sums[index] = '';
}
});
return sums;
},
download() {
this.downloadLoading = true
var params = { page: this.page, size: 9999, orgId: this.orgId || this.$store.state.user.user.baseJpOrganization.id }
const days = this.days
const scrap = this.scrap
const isContinueUse = this.isContinueUse
if (days) { params['days'] = days }
if (scrap) { this.params['scrap'] = scrap }
//if (isContinueUse!= null && isContinueUse!= undefined) { this.params['isContinueUse'] = isContinueUse }
let list = []
let result = []
initPdata(this.url, transform(params)).then(res => {
if(res.code == '10000') {
list = res.data.content
import('@/utils/Export2Excel备份').then(excel => {
const tHeader = ['仓库名称', '装备名称', '装备型号名称','数量' ]
const filterVal = ['warehouseName', 'equName', 'sizeName', 'count']
result = this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data: result,
filename: this.excelName || '已超期未报废继续使用记录表',
autoWidth: true,
bookType: 'xlsx'
})
this.downloadLoading = false
})
} else {
this.$message.error(res.msg)
}
})
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => { return v[j] }))
},
handleSelectionChange(val) {
this.detailList = val
console.log(val)
},
}
}
</script>
<style scoped>
</style>
......@@ -13,6 +13,9 @@
<el-tab-pane label="报废提醒" name="scrapwarn">
<scrap-warn/>
</el-tab-pane>
<el-tab-pane label="已超期未报废继续使用记录" name="expiredNotScrappedLogs">
<expiredNotScrappedLogs/>
</el-tab-pane>
</el-tabs>
</div>
</template>
......@@ -20,13 +23,14 @@
import initData from '@/mixins/initData'
import overTime from '@/views/warehouse/overtime/index'
import scrapWarn from '@/views/warehouse/scrap/index'
import expiredNotScrappedLogs from './expiredNotScrappedLogs'
import rebackTable from './rebackTable'
import scrapTable from './scrapTable'
export default {
name: 'warning',
mixins: [initData],
props: ['warehouseList', 'activeName'],
components: { overTime, scrapWarn, rebackTable, scrapTable },
components: { overTime, scrapWarn,expiredNotScrappedLogs, rebackTable, scrapTable },
data() {
return {
loading: false,
......
......@@ -35,6 +35,12 @@
<el-tab-pane label="跨库归还" name="17">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane> -->
<el-tab-pane label="盘库(赢)" name="22">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane>
<el-tab-pane label="盘库(亏)" name="23">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane>
</el-tabs>
</el-tab-pane>
<el-tab-pane name="1" v-if="djg">
......
......@@ -77,6 +77,8 @@
<el-tag v-else-if="scope.row.actionState === 15 || scope.row.actionState === 16" type="warning">跨仓库借用</el-tag>
<el-tag v-else-if="scope.row.actionState === 17 || scope.row.actionState === 18" type="success">跨仓库归还</el-tag>
<el-tag v-else-if="scope.row.actionState === 19" type="success">装备回库</el-tag>
<el-tag v-else-if="scope.row.actionState == 22" type="warning">盘库(赢)</el-tag>
<el-tag v-else-if="scope.row.actionState == 23" type="danger">盘库(亏)</el-tag>
</template>
</el-table-column>
<el-table-column label="安全等级" align="center" width="150px" prop="safeLevel">
......
......@@ -56,7 +56,7 @@
<el-tag v-else-if="scope.row.type == 3" type="info">领用</el-tag>
<el-tag v-else-if="scope.row.type == 4" type="success">调拨入库</el-tag>
<el-tag v-else-if="scope.row.type == 5" type="warning">维修</el-tag>
<el-tag v-else-if="scope.row.type == 6" type="warning">报废</el-tag>
<el-tag v-else-if="scope.row.type == 6" type="danger">报废</el-tag>
<el-tag v-else-if="scope.row.type == 7" >跨库借用出库</el-tag>
<el-tag v-else-if="scope.row.type == 8" type="success">跨库借用入库</el-tag>
<el-tag v-else-if="scope.row.type == 9" >跨库归还出库</el-tag>
......
......@@ -11,7 +11,7 @@
class="filter-item"
:filterable="true"
clearable
:filter-method="dataFilter"
:filter-method="dataFilterV2"
placeholder="请选择供应商"
@change="initPost"
>
......@@ -39,14 +39,15 @@
<el-option v-for="item in equipmentSizeList" :key="item.id" :label="item.sizeName" :value="item.id"/>
</el-select>
<el-select v-model="sort"
style="width:140px"
clearable
style="width:200px"
class="filter-item"
:filterable="true"
clearable
placeholder="按质保期排序"
@change="initPost">
<el-option v-for="item in sortList" :key="item.id" :label="item.name" :value="item.value"/>
@change="initPost"
>
<el-option v-for="item in sortList" :key="item.id" :label="item.name" :value="item.value"/>
</el-select>
<el-button :loading="downloadLoading" class="filter-item" type="warning" icon="el-icon-download" style="float: right" @click="download">导出</el-button>
......@@ -145,7 +146,9 @@ export default {
{name:"升序",value: 'asc'},
{name:"降序",value: 'desc'}
],
sort:''
sort:'',
orderby:'warrantyCycle'
}
},
created() {
......@@ -182,12 +185,14 @@ export default {
const supplierId = this.supplierId
const equipmentId = this.equipmentId
const equipmentSizeId = this.equipmentSizeId
const orderby = this.orderby
const sort = this.sort
if (orgId) { this.params['orgId'] = orgId }
//if (warehouseId) { this.params['warehouseId'] = warehouseId }
if (supplierId) { this.params['supplierId'] = supplierId }
if (equipmentId) { this.params['equipmentId'] = equipmentId }
if (equipmentSizeId) { this.params['equipmentSizeId'] = equipmentSizeId }
if (orderby) { this.params['orderby'] = orderby }
if (sort) { this.params['sort'] = sort }
return true
},
......@@ -252,6 +257,24 @@ export default {
return lengths.indexOf(spell.indexOf(v)) !== -1;
})
},
dataFilterV2(v) {
//对绑定数据赋值
this.supplierList = this.copy.filter((item) => {
//如果直接包含输入值直接返回true
if (item.name.indexOf(v) !== -1) return true;
//将label拆散成小写拼音数组
let arr = item.name.spell('array','first','low');
//拼接成完整label的拼音
let spell = arr.join('');
//lengths 是label完整拼音 中每个汉字第一个拼音字母的index值的数组
let lengths = [0];
for (var i = 0; i < arr.length - 1; i++) {
lengths.push(lengths[i] + arr[i].length);
};
//判断label完整拼音 中 输入值的 index 是不是等于某个汉字第一个拼音字母的index值
return lengths.indexOf(spell.indexOf(v)) !== -1;
})
},
changeWarehouse() {
if (this.warehouseId) {
this.initShelfList()
......
......@@ -26,7 +26,8 @@
</td>
<th class="textHeader">装备状态</th>
<td class="textContentLast" style="padding-top:8px;padding-bottom:8px;">
<el-tag v-if="[0,3].includes(form.currentState)" type="success">在库</el-tag>
<el-tag v-if="['loss'].includes(form.inventoryState)" type="danger">盘亏</el-tag>
<el-tag v-else-if="[0,3].includes(form.currentState)" type="success">在库</el-tag>
<el-tag v-else-if="[6].includes(form.currentState)" type="danger">已报废</el-tag>
<el-tag v-else type="warning">出库</el-tag>
</td>
......@@ -87,6 +88,8 @@
<span v-else-if="scope.row.actionState == 15 || scope.row.actionState == 16">跨仓库借用</span>
<span v-else-if="scope.row.actionState == 17 || scope.row.actionState == 18">跨仓库归还</span>
<span v-else-if="scope.row.actionState == 19">装备回库</span>
<span v-else-if="scope.row.actionState == 22">盘库(赢)</span>
<span v-else-if="scope.row.actionState == 23">盘库(亏)</span>
{{scope.row.outInState == 0 ? '出库': '入库'}}
</template>
</el-table-column>
......
......@@ -49,9 +49,10 @@
<el-table-column prop="equName" label="装备名称" align="center"/>
<el-table-column prop="sizeName" label="装备型号名称" align="center"/>
<el-table-column prop="count" label="数量" align="center"/>
<el-table-column label="操作" width="150px" align="center">
<el-table-column label="操作" width="300px" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="quickScrap(scope.row)">报废</el-button>
<el-button size="mini" type="danger" @click="quickScrap(scope.row)">快速报废</el-button>
<el-button size="mini" type="primary" @click="isContinueUse(scope.row)">继续使用</el-button>
</template>
</el-table-column>
</el-table>
......@@ -77,6 +78,7 @@ import { getListOrg } from '@/api/org'
import { initPdata } from '@/api/data'
import { transform } from '@/utils/index'
import { quickAddFixed } from '@/api/fixReceiveApply'
import { updateEquIsContinueUse } from '@/api/notice'
export default {
mixins: [initData],
data() {
......@@ -206,6 +208,7 @@ export default {
this.detailList = val
console.log(val)
},
//快速报废
quickScrap(row){
// console.log(row)
this.form.warehouseId = row.warehouseId
......@@ -229,6 +232,48 @@ export default {
quickAddFixed(this.form).then(res => {
if (res.code === '10000') {
this.initPost()
this.$notify({
title: '报废成功',
type: 'success',
duration: 2500
})
} else {
this.$message.error(res.msg)
}
})
},
//继续使用
isContinueUse(row){
// console.log(row)
// this.form.warehouseId = row.warehouseId
// console.log(this.form.warehouseId)
//this.form.flowType = 'scrap'
this.form.isContinueUse=true
this.form.detailList = []
this.detailList.forEach(element => {
this.form.detailList.push({
id: element.id,
// equipmentSizeId: element.sizeId,
// supplierId: element.supplierId,
// epc: element.epc,
// quantity: 1,
// unitPrice: element.unitPrice,
//price: element.unitPrice * 1
})
})
if (this.form.detailList.length == 0) {
return this.$message.warning('至少选择一件')
}
updateEquIsContinueUse(this.form).then(res => {
if (res.code === '10000') {
this.initPost()
this.$notify({
title: '操作成功',
type: 'success',
duration: 2500
})
} else {
this.$message.error(res.msg)
}
......
......@@ -17,7 +17,7 @@
</el-collapse-item>
<el-collapse-item name="2">
<template slot="title"> <el-tag>第二步: 选择盘库类型 (必选)</el-tag></template>
<el-form-item>
<el-form-item prop="type">
<el-select v-model="form.type" style="width:240px" filterable placeholder="请选择盘库类型" @change="hanleChangeType">
<el-option
v-for="item in pkTypeList"
......@@ -28,7 +28,7 @@
</el-select>
</el-form-item>
<div v-if="form.type === 'location'">
<el-form-item>
<el-form-item prop="shelfId">
<el-select v-model="form.shelfId" placeholder="请选择货架" clearable style="width:240px" @change="handleChangeShelf">
<el-option
v-for="item in shelfList"
......@@ -70,13 +70,13 @@
</el-form-item>
</div>
<div v-if="form.type === 'variety'">
<el-form-item>
<el-form-item prop="detailId">
<el-select v-model="form.detailId" style="width:240px" :filterable="true" :popper-append-to-body="false" :filter-method="dataFilter" placeholder="请选择装备"
@change="getListEquipmentSize" @focus="getListEquipmentDetail" ref="select">
<el-option v-for="item in equipmentList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item prop="sizeId">
<el-select v-model="form.sizeId" style="width:240px" placeholder="请选择装备型号" ref="eqSize" @change="changeSize">
<el-option v-for="item in equipmentSizeList" :key="item.id" :label="item.sizeName" :value="item.id"/>
</el-select>
......@@ -244,8 +244,18 @@ export default {
},
doAdd() {
let form = { ...this.form }
if (form.type === 'location' && form.shelfId === null) {
this.$message.error('请选择货架')
if(!form.type) {
this.$message.warning('请选择盘点类型')
this.loading = false
return
}
if (form.type === 'location' && !form.shelfId ) {
this.$message.warning('请选择货架')
this.loading = false
return
}
if (form.type === 'variety' && !form.detailId ) {
this.$message.warning('请选择装备')
this.loading = false
return
}
......@@ -273,8 +283,8 @@ export default {
this.form.applyName = this.$store.state.user.user.nickName
this.form.orgCode = this.$store.state.user.user.baseJpOrganization.code.substring(0,6)
let form = { ...this.form }
if (form.type === 'location' && form.shelfId === null) {
this.$message.error('请选择货架')
if (form.type === 'location' && form.shelfId == '') {
this.$message.warning('请选择货架')
this.loading = false
return
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论