Commit 6d33be0c by T

新增装备供应商报表、快速报废及bug修复

parent dd83ebf5
......@@ -11,15 +11,6 @@ module.exports = {
assetsPublicPath: '/',
// 配置代理
proxyTable: {
'/auth': {
// 测试环境
target: base_url,
secure: true,
changeOrigin: true,
pathRewrite: {
'^/auth': 'auth'
}
},
'/api': {
// 测试环境
target: base_url,
......
......@@ -9,14 +9,9 @@
<!-- 全局配置 -->
<script>
window._CONFIG = {};
//自建平台
// window._CONFIG['serviceURL'] = 'http://192.168.2.105:8848';
// window._CONFIG['userURL'] = 'http://192.168.2.105:10005';
//总平台
window._CONFIG['serviceURL'] = 'http://192.168.2.105:5000';
window._CONFIG['userURL'] = 'http://192.168.2.105:10004';
// window._CONFIG['serviceURL'] = 'http://41.190.20.132:5000';
// window._CONFIG['userURL'] = 'http://41.190.20.132:10004';
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>
</head>
......
......@@ -23,7 +23,7 @@
"bpmn-js": "^5.1.2",
"bpmn-moddle": "^6.0.0",
"clipboard": "1.7.1",
"cnchar": "^2.2.4",
"cnchar": "^3.2.2",
"codemirror": "^5.38.0",
"connect": "3.6.6",
"echarts": "^4.1.0",
......
......@@ -47,6 +47,14 @@ export function getAllFixs(data) {
})
}
export function quickAddFixed(data) {
return request({
url: window._CONFIG['serviceURL'] + '/api/FixReceiveApply/QuickAddFixed',
method: 'post',
data: transform(data)
})
}
// 查看维修报废明细
export function getByID(data) {
return request({
......
......@@ -142,6 +142,15 @@ export function getOrgListEquipmentDetail(data) {
})
}
// 获取本组织机构物资信息(供应商聚合)
export function getListEquipmentByOrgGroupBySupplier(data) {
return request({
url: window._CONFIG['serviceURL'] + '/api/Inventory/GetListEquipmentByOrgGroupBySupplier',
method: 'post',
data: transform(data)
})
}
export function getAllInOutTop10History(data) {
return request({
url: window._CONFIG['serviceURL'] + '/api/Inventory/GetAllInOutTop10History',
......
......@@ -173,12 +173,12 @@
*/
export function transform(data) {
let k = {
appKey: 'odykzzWm1GASj15K1AGxwQ==',
appKey: 'N1JOsoM/x25Mj1VUaJATBw==',
orgId: '',
version: '1.0',
timestamp: parseInt(new Date().getTime()/1000),
body: escape(JSON.stringify(data)),
sign: md5('a1dca4cf35a6d460128f5e4ad401b1c1'+parseInt(new Date().getTime()/1000)+'1.0'+escape(JSON.stringify(data)))
sign: md5('37524eb2833fc76e4c8f555468901307'+parseInt(new Date().getTime()/1000)+'1.0'+escape(JSON.stringify(data)))
}
return k;
// let k = {
......
......@@ -3,6 +3,7 @@ import router from '@/router/routers'
import { Notification, MessageBox } from 'element-ui'
import store from '../store'
import { getToken } from '@/utils/auth'
import Config from '@/config'
......
......@@ -52,8 +52,8 @@
<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 == 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>
<!-- <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>
</template>
</el-table-column>
......
......@@ -16,8 +16,8 @@
<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>
<!-- <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>
</template>
</el-table-column>
......
......@@ -18,7 +18,7 @@
</template>
<script>
import { getSyPOrg } from '@/api/view'
// import { getSyPOrg } from '@/api/view'
import { getWxPOrg } from '@/api/view'
import { getBfPOrg } from '@/api/view'
import DataSet from '@antv/data-set'
......@@ -54,41 +54,41 @@ export default {
methods: {
init(orgId) {
this.orgId = orgId || this.$store.state.user.user.baseJpOrganization.id
getSyPOrg({orgId: this.orgId}).then(res => {
if (res.code == "10000") {
this.dataSource = res.data
let dv = new DataSet.View().source(this.dataSource)
dv.transform({
type: 'fold',
fields: ['近七天使用次数', '近三十天使用次数'],
key: '装备类型',
value: '使用量',
});
this.chartData = dv
this.position = '装备类型*使用量'
} else {
this.$message.error(res.msg)
}
})
// getSyPOrg({orgId: this.orgId}).then(res => {
// if (res.code == "10000") {
// this.dataSource = res.data
// let dv = new DataSet.View().source(this.dataSource)
// dv.transform({
// type: 'fold',
// fields: ['近七天使用次数', '近三十天使用次数'],
// key: '装备类型',
// value: '使用量',
// });
// this.chartData = dv
// this.position = '装备类型*使用量'
// } else {
// this.$message.error(res.msg)
// }
// })
},
radioChange(value) {
if (value == '使用次数') {
getSyPOrg({orgId: this.orgId}).then(res => {
if (res.code == "10000") {
this.dataSource = res.data
let dv = new DataSet.View().source(this.dataSource)
dv.transform({
type: 'fold',
fields: ['近七天使用次数', '近三十天使用次数'],
key: '装备类型',
value: '使用量',
});
this.chartData = dv
this.position = '装备类型*使用量'
} else {
this.$message.error(res.msg)
}
})
// getSyPOrg({orgId: this.orgId}).then(res => {
// if (res.code == "10000") {
// this.dataSource = res.data
// let dv = new DataSet.View().source(this.dataSource)
// dv.transform({
// type: 'fold',
// fields: ['近七天使用次数', '近三十天使用次数'],
// key: '装备类型',
// value: '使用量',
// });
// this.chartData = dv
// this.position = '装备类型*使用量'
// } else {
// this.$message.error(res.msg)
// }
// })
} else if (value == '维修次数') {
getWxPOrg({orgId: this.orgId}).then(res => {
if (res.code == "10000") {
......
......@@ -295,7 +295,7 @@ export default {
// this.$message.error(res.msg)
// }
// })
getPageAllOrderListHZ({
getPageAllOrderList({
page: this.page,
size: this.size,
orgId: this.orgId,
......@@ -379,13 +379,13 @@ export default {
// if (data.flowType == 'borrowOther') { params.type = '跨库借用' }
// if (data.flowType == 'returnOther') { params.type = '跨库归还' }
var fsdata = {
appKey: "odykzzWm1GASj15K1AGxwQ==",
appKey: "N1JOsoM/x25Mj1VUaJATBw==",
orgId: "",
version: "1.0",
timestamp: parseInt(new Date().getTime() / 1000),
body: escape(JSON.stringify(params)),
sign: md5(
"a1dca4cf35a6d460128f5e4ad401b1c1" +
"37524eb2833fc76e4c8f555468901307" +
parseInt(new Date().getTime() / 1000) +
"1.0" +
escape(JSON.stringify(params))
......@@ -416,13 +416,13 @@ export default {
// if (data.flowType == 'borrowOther') { params.type = '跨库借用' }
// if (data.flowType == 'returnOther') { params.type = '跨库归还' }
var fsdata = {
appKey: "odykzzWm1GASj15K1AGxwQ==",
appKey: "N1JOsoM/x25Mj1VUaJATBw==",
orgId: "",
version: "1.0",
timestamp: parseInt(new Date().getTime() / 1000),
body: escape(JSON.stringify(params)),
sign: md5(
"a1dca4cf35a6d460128f5e4ad401b1c1" +
"37524eb2833fc76e4c8f555468901307" +
parseInt(new Date().getTime() / 1000) +
"1.0" +
escape(JSON.stringify(params))
......
<template>
<el-row :gutter="15" class="panel-group">
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" @click="nextpage('装备总数')">
<el-row :gutter="20" class="panel-group">
<el-col :xs="12" :sm="12" :lg="{span: 6}" class="card-panel-col">
<div class="card-panel" @click="nextpagejn()">
<div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="total" class-name="card-panel-icon" />
</div>
......@@ -12,52 +12,8 @@
</div>
</el-col>
<!-- <el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" @click="nextpage('在库数量')">
<div class="card-panel-icon-wrapper icon-money">
<svg-icon icon-class="zaiku" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">在库数量</div>
<count-to :start-val="0" :end-val="count.zkCount" :duration="2600" class="card-panel-num"/>
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" @click="nextpage('调拨数量')">
<div class="card-panel-icon-wrapper icon-message">
<svg-icon icon-class="available" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">调拨中</div>
<count-to :start-val="0" :end-val="count.houseCount" :duration="2600" class="card-panel-num"/>
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" @click="nextpage('领用数量')">
<div class="card-panel-icon-wrapper icon-shopping">
<svg-icon icon-class="collecting" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">使用中</div>
<count-to :start-val="0" :end-val="count.lyCount" :duration="2600" class="card-panel-num"/>
</div>
</div>
</el-col> -->
<!-- <el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" @click="nextpage('维修数量')">
<div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="维修" class-name="card-panel-icon1"/>
</div>
<div class="card-panel-description">
<div class="card-panel-text">维修数量</div>
<count-to :start-val="0" :end-val="count.wxCount" :duration="2600" class="card-panel-num"/>
</div>
</div>
</el-col> -->
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<el-col :xs="12" :sm="12" :lg="{span: 6}" class="card-panel-col">
<div class="card-panel" @click="nextpage('即将报废数量')">
<div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="30天" class-name="card-panel-icon"/>
......@@ -79,8 +35,8 @@
</div>
</div>
</el-col> -->
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" >
<el-col :xs="12" :sm="12" :lg="{span: 6}" class="card-panel-col">
<div class="card-panel" @click="nextpagejn()">
<div class="card-panel-icon-wrapper icon-money">
<svg-icon icon-class="collecting" class-name="card-panel-icon" />
</div>
......@@ -90,8 +46,8 @@
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="{span: '3-4'}" class="card-panel-col">
<div class="card-panel" >
<el-col :xs="12" :sm="12" :lg="{span: 6}" class="card-panel-col">
<div class="card-panel" @click="nextpagejn()">
<div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="garbage" class-name="card-panel-icon" />
</div>
......@@ -107,7 +63,7 @@
<script>
import CountTo from 'vue-count-to'
// import { getCountOrg, getCount } from '@/api/view'
import { getCountOrgHZ, getCount } from '@/api/view'
import { getCountOrg, getCount } from '@/api/view'
export default {
components: {
CountTo
......@@ -143,7 +99,7 @@ export default {
}
})
} else {
getCountOrgHZ({orgId: this.orgId}).then(res => {
getCountOrg({orgId: this.orgId}).then(res => {
if (res.code === '10000') {
this.count.zkTopCount = res.data.zkTopCount
this.count.zkCount = res.data.zkCount
......@@ -171,8 +127,8 @@ export default {
orgId: this.orgId
}
})
} else {
}
else {
this.$router.push({
path: '/warehouse/inventoryList',
query: {
......@@ -181,8 +137,12 @@ export default {
}
})
}
},
nextpagejn() {
this.$router.push({
path: '/data/inventoryStatistics',
})
}
}
}
</script>
......@@ -201,7 +161,6 @@ export default {
// }
.card-panel-col{
margin-bottom: 20px;
margin-left: 65px;
}
.card-panel {
height: 108px;
......
......@@ -24,7 +24,7 @@
<el-button type="text" @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/equipmentall')">装备统计报表</el-button>
<el-button v-if="$store.state.user.user.roleIds.includes(3)" type="text" @click="$router.push('/data/inventoryStatistics')">装备统计报表</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>
......
......@@ -140,16 +140,7 @@ export default {
}
this.$store.dispatch('Login', user).then(() => {
this.loading = false
// if (decrypt(user.password) === '123456') {
// this.$router.push({ path: '/user/center', query: {
// changePassword: true
// } })
// setTimeout(() => {
// this.$message.warning('应省厅整改要求, 您目前的密码过于简单, 请及时修改')
// }, 1500)
// } else {
this.$router.push({ path: this.redirect || '/' })
// }
setTimeout(this.purchaseAlert , 2000)
this.getOrgList()
}).catch((err) => {
......
......@@ -29,12 +29,12 @@
<el-tab-pane label="报废" name="7">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane>
<el-tab-pane label="跨库借用" name="15">
<!-- <el-tab-pane label="跨库借用" name="15">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane>
<el-tab-pane label="跨库归还" name="17">
<warehouse-log :orgList="orgList" :warehouseList="warehouseList" :actionState="selectedOrder" @changeOrg="changeOrg"/>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</el-tab-pane>
<el-tab-pane name="1" v-if="djg">
......
......@@ -30,14 +30,14 @@
<span slot="label"><i class="el-icon-date"></i> 报废</span>
<common :warehouseList="warehouseList" :activeName="activeName"/>
</el-tab-pane>
<el-tab-pane name="7">
<!-- <el-tab-pane name="7">
<span slot="label"><i class="el-icon-date"></i> 跨库借用</span>
<common :warehouseList="warehouseList" :activeName="activeName"/>
</el-tab-pane>
<el-tab-pane name="9">
<span slot="label"><i class="el-icon-date"></i> 跨库归还</span>
<common :warehouseList="warehouseList" :activeName="activeName"/>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</el-card>
</div>
......
......@@ -14,7 +14,7 @@
<el-table-column prop="zsCount" label="装备总数" align="center"/>
<el-table-column prop="zkCount" label="今年入库数" align="center"/>
<el-table-column prop="ckCount" label="今年出库数" align="center"/>
<el-table-column prop="bfCount" label="报废数" align="center"/>
<el-table-column prop="bfCount" label="今年报废数" align="center"/>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="info" plain @click="cancel">关闭</el-button>
......
......@@ -57,7 +57,7 @@
<el-table-column prop="zsCount" label="总数" sortable align="center"/>
<el-table-column prop="zkCount" label="今年入库数" sortable align="center"/>
<el-table-column prop="ckCount" label="今年出库数" sortable align="center"/>
<el-table-column prop="bfCount" label="报废数" sortable align="center"/>
<el-table-column prop="bfCount" label="今年报废数" sortable align="center"/>
<el-table-column label="操作" width="80" align="center" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="show(scope.row.id, props.row.findCode, props.row.orgCode)">查看</el-button>
......@@ -75,7 +75,7 @@
<el-table-column prop="zsCount" label="总数" sortable align="center"/>
<el-table-column prop="zkCount" label="今年入库数" sortable align="center"/>
<el-table-column prop="ckCount" label="今年出库数" sortable align="center"/>
<el-table-column prop="bfCount" label="报废数" sortable align="center"/>
<el-table-column prop="bfCount" label="今年报废数" sortable align="center"/>
</el-table>
<!--分页组件-->
<el-pagination
......@@ -101,7 +101,7 @@ import md5 from 'js-md5'
import cnchar from "cnchar";
import eForm from './form'
export default {
name: 'Equipmentall',
name: 'InventoryStatistics',
mixins: [initData],
components:{
eForm
......@@ -122,7 +122,7 @@ export default {
downloadLoading: false,
excelName: '',
sheetNameArray: [],// 导出sheet表名称
openEdData: {} // 展开的数据列
openEdData: {}, // 展开的数据列
}
},
created() {
......@@ -257,7 +257,7 @@ export default {
if(res.code == '10000') {
list = res.data.content
import('@/utils/Export2Excel').then(excel => {
const tHeader = ['装备名称', '总数', '今年入库数', '今年出库数', '报废数']
const tHeader = ['装备名称', '总数', '今年入库数', '今年出库数', '今年报废数']
const filterVal = ['name', 'zsCount', 'zkCount', 'ckCount', 'bfCount']
for (let org of list) {
result.push({
......
......@@ -24,7 +24,8 @@
<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;">
<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"/>
......@@ -48,7 +49,11 @@
<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">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="quickScrap(scope.row)">报废</el-button>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
......@@ -71,6 +76,7 @@ import { getInfoByID } from '@/api/inventory'
import { getListOrg } from '@/api/org'
import { initPdata } from '@/api/data'
import { transform } from '@/utils/index'
import { quickAddFixed } from '@/api/fixReceiveApply'
export default {
mixins: [initData],
data() {
......@@ -79,7 +85,19 @@ export default {
scrap: true,
orgList: [],
orgId: this.$store.state.user.user.baseJpOrganization.id,
downloadLoading: false
orgCode: this.$store.state.user.user.baseJpOrganization.code,
downloadLoading: false,
form: {
id: '',
warehouseId : '',
action: 1,
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 },
......@@ -184,6 +202,38 @@ export default {
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => { return v[j] }))
},
handleSelectionChange(val) {
this.detailList = val
console.log(val)
},
quickScrap(row){
// console.log(row)
this.form.warehouseId = row.warehouseId
console.log(this.form.warehouseId)
this.form.flowType = 'scrap'
this.form.detailList = []
this.detailList.forEach(element => {
this.form.detailList.push({
equipmentId: element.equId,
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('至少报废一件')
}
quickAddFixed(this.form).then(res => {
if (res.code === '10000') {
this.initPost()
} else {
this.$message.error(res.msg)
}
})
}
}
}
</script>
......
......@@ -42,7 +42,7 @@
end-placeholder="结束日期"/>
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="toPostQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-bottom" class="filter-item" style="float: right" v-if="activeName == 0" @click="addDown">调拨下发</el-button>
<el-button type="primary" icon="el-icon-top" class="filter-item" style="float: right" v-if="activeName == 0 && $store.state.user.user.baseJpOrganization.code !== '330200000000'" @click="addUp">调拨申请</el-button>
<el-button type="primary" icon="el-icon-top" class="filter-item" style="float: right" v-if="activeName == 0 && $store.state.user.user.baseJpOrganization.code !== '330100000000'" @click="addUp">调拨申请</el-button>
</div>
<!--表单组件-->
<apply-form ref="applyForm" :is-add="isAdd" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论