出库限制

master
lion 2 years ago
parent b78a2b7d84
commit bc12430b3b

@ -1,13 +1,24 @@
<template>
<div>
<div class="map" id="map" :style="{'height':mapHeight+'px'}"></div>
<div ref='infoWindow' id="infoWindow">
<div ref='infoWindow' id="infoWindow">
<i @click='closeWin' class="el-icon-close"></i>
<div v-for="item in openData">
<template v-if="item.type=='teams'">
<p>名称<span>{{item.mingcheng}}</span></p>
<p>队长<span>{{item.duizhang?item.duizhang:''}}</span></p>
<p>联系电话<span>{{item.lianxidianhua?item.lianxidianhua:''}}</span></p>
<p>人数<span>{{item.renshu?item.renshu:''}}</span></p>
</template>
<template v-if="item.type=='storages'">
<p>名称<span>{{item.cangkumingcheng}}</span></p>
<p>所在区域<span>{{item.suozaiquyu?item.suozaiquyu:''}}</span></p>
<p>建设年代<span>{{item.jiansheniandai?item.jiansheniandai:''}}</span></p>
<p>仓库面积<span>{{item.cangkumianji?item.cangkumianji:''}}</span></p>
<p>负责人<span>{{item.fuzeren?item.fuzeren:''}}</span></p>
<p>联系电话<span>{{item.lianxidianhua?item.lianxidianhua:''}}</span></p>
</template>
</div>
</div>
</div>
@ -57,10 +68,11 @@
offset: new AMap.Pixel(-10, -10)
})
this.getTeams()
console.log("map", this.map)
this.getStorages()
// this.setMapMarker()
},
getTeams() {
index({
async getTeams() {
await index({
page: 1,
page_size: 9999,
table_name: 'teams'
@ -69,46 +81,74 @@
if(res.data.length<1){
return
}
this.mapList = res.data
res.data.map(item=>{
this.mapList.push({
type:'teams',
name:item.mingcheng,
...item
})
})
this.setMapMarker()
// this.mapList = res.data
})
// this.list = res.data
},
async getStorages() {
await index({
page: 1,
page_size: 9999,
table_name: 'flood_storages'
}).then(res => {
let markers = []
if(res.data.length<1){
return
}
res.data.map(item=>{
this.mapList.push({
type:'storages',
name:item.cangkumingcheng,
...item
})
})
this.setMapMarker()
})
// this.list = res.data
},
//
setMapMarker() {
var that = this
// console.log("123",m.jingdu, m.weidu)
// console.log('456',gcj02towgs84(m.jingdu, m.weidu))
that.map.remove(that.makerList)
that.makerList = []
// this.map.clearMap();
let list = this.mapList.map((m) => {
return {
id: m.id, //id
name: m.mingcheng, //
// reside: m.reside,
// lnglat: [m.lon, m.lat],//
lnglat: [m.jingdu, m.weidu], //84
style: 0, //
};
});
// that.map.remove(that.makerList)
// that.makerList = []
console.log("this.mapList",this.mapList)
// let list = this.mapList.map((m) => {
// return {
// id: m.id, //id
// name: m.name, //
// // reside: m.reside,
// // lnglat: [m.lon, m.lat],//
// lnglat: [parseFloat(m.jingdu), m.weidu],
// style: 0, //
// };
// });
this.mapList.forEach((item, index) => {
//
console.log("item",item)
if (!item.jingdu || !item.weidu) {
return
}
let marker = new AMap.Text({
map: this.map,
text: item.mingcheng,
text: item.name,
zIndex: 9999999,
offset: new AMap.Pixel(-13, -30),
position: [item.jingdu, item.weidu],
position: [parseFloat(item.jingdu), parseFloat(item.weidu)],
clickable: true,
extData: item.id,
style: {
'border': '1px solid red',
'border': item.type==='teams'?'1px solid red':'1px solid blue',
'padding': '0px 5px'
}
})
@ -121,6 +161,7 @@
}),
this.makerList.push(marker)
});
console.log("this.makerList",this.makerList)
this.map.add(this.makerList)
},
closeWin() {

@ -44,9 +44,9 @@
<el-table-column v-if="isCkName=='仓库管理员'||roleName=='系统管理员'" fixed="right" label="操作" width="180" header-align="center">
<template slot-scope="scope">
<Button type="primary" size="small" @click="editorIn(scope.row.id,'editor')"></Button>
<Poptip transfer confirm title="确认要删除吗?" @on-ok="deleteIn(scope.row)">
<!-- <Poptip transfer confirm title="确认要删除吗?" @on-ok="deleteIn(scope.row)">
<Button type="primary" style="margin-left: 10px;" size="small" ghost>删除</Button>
</Poptip>
</Poptip> -->
</template>
</el-table-column>
</template>

@ -428,13 +428,20 @@
},
methods: {
jieyong() {
if (parseInt(this.mingxiObj.jieyongshuliang) > parseInt(this.mingxiObj.zaikushuliang)) {
if (parseInt(this.mingxiObj.jieyongshuliang) > parseInt(this.mingxiObj.zaikushuliang)|| parseInt(this.mingxiObj.zaikushuliang)===0) {
Message({
type: 'warning',
message: '库存不足'
})
return false
}
if(parseInt(this.mingxiObj.jieyongshuliang)<1){
Message({
type: 'warning',
message: '请填写正确的借用数量'
})
return false
}
},
//
mingxiConfirm() {
@ -454,13 +461,20 @@
this.showLoading = false
return
}
if (parseInt(this.mingxiObj.jieyongshuliang) > parseInt(this.mingxiObj.zaikushuliang)) {
if (parseInt(this.mingxiObj.jieyongshuliang) > parseInt(this.mingxiObj.zaikushuliang) || parseInt(this.mingxiObj.zaikushuliang)===0) {
Message({
type: 'warning',
message: '库存不足'
})
return
}
if (parseInt(this.mingxiObj.jieyongshuliang) < 1) {
Message({
type: 'warning',
message: '请填写正确的借用数量'
})
return
}
if (this.mingxiIndex != '') {
this.mingxiList[this.mingxiIndex - 1] = this.mingxiObj
} else {

@ -1,6 +1,6 @@
<template>
<div>
<xy-dialog ref="dialog" :width='70' :is-show.sync="isShow" type="form" :title="type==='add'?'新增防汛队伍':'编辑防汛队伍'"
<xy-dialog ref="dialog" :width='70' :is-show.sync="isShow" type="form" :title="type==='add'?'新增':'编辑'"
:form="form" :rules="rules" @submit="submit">
<template v-slot:cangkumingcheng>
<div class="xy-table-item">
@ -147,6 +147,7 @@
type: 'add',
id: '',
tableName: 'materialstorages',
// flood_storages
areaList:[],
mapparams: {
zoom: 11,
@ -183,6 +184,9 @@
this.areaList = res.detail
})
},
setTableName(e){
this.tableName = e?e:'materialstorages'
},
async getDetail() {
const res = await show({
id: this.id,

@ -0,0 +1,157 @@
<template>
<div>
<div ref="lxHeader">
<lx-header icon="md-apps" text="防汛仓库" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<slot>
<div style="display: flex;justify-content: flex-start;flex-wrap: wrap;">
<Input v-model="select.keyword" style="width: 200px;margin-right: 10px;" placeholder="名称搜索" />
<Button type="primary" @click="getList"></Button>
<Button type="primary" style="margin-left: 10px;" @click="$refs['addStorage'].type='add',
$refs['addStorage'].setTableName('flood_storages')
$refs['addStorage'].isShow=true">添加</Button>
<!-- <Button icon="ios-add" type="primary" style="margin-left: 10px;"
@click="$refs['imports'].show()">导入</Button> -->
</div>
</slot>
</lx-header>
</div>
<xy-table :list="list" :total="total" @pageSizeChange="pageSizeChange" @pageIndexChange="pageChange"
:table-item="table">
<template v-slot:btns>
<el-table-column fixed="right" label="操作" width="260" header-align="center">
<template slot-scope="scope">
<div>
<Button type="primary" size="small" @click="$refs['addStorage'].type='editor',
$refs['addStorage'].id=scope.row.id,
$refs['addStorage'].setTableName('flood_storages')
$refs['addStorage'].isShow=true">编辑</Button>
<Poptip transfer confirm title="确认要删除吗?" @on-ok="delRow(scope.row.id)">
<Button type="primary" style="margin-left: 10px;" size="small" ghost>删除</Button>
</Poptip>
</div>
</template>
</el-table-column>
</template>
</xy-table>
<addStorage ref="addStorage" @refresh="getList"></addStorage>
</div>
</template>
<script>
import {
index,
destroy
} from "@/api/system/baseForm.js"
import addStorage from './components/addStorage.vue'
export default {
components: {
addStorage,
},
data() {
return {
select: {
page: 1,
page_size: 10,
keyword: '',
table_name: 'flood_storages'
},
total: 0,
list: [],
table: [{
label: '序号',
type: 'index',
fixed: 'left',
width: 80,
}, {
label: '仓库名称',
prop: 'cangkumingcheng',
width: 240,
align: 'left',
fixed: 'left'
}, {
label: '仓库编码',
prop: 'cangkubianma',
align: 'left',
width: 240
}, {
label: '所在区域',
prop: 'suozaiquyu',
width: 120,
}, {
label: '建设年代',
prop: 'jiansheniandai',
width: 120,
}, {
label: '仓库地址',
prop: 'cangkudizhi',
width: 120,
}, {
label: '仓库面积',
prop: 'cangkumianji',
width: 120,
}, {
label: '负责人',
prop: 'fuzeren',
width: 120,
}, {
label: '联系电话',
prop: 'lianxidianhua',
width: 120,
}, {
label: '创建日期',
prop: 'created_at',
width: 120,
formatter: (cell, data, value) => {
return value ? value.substring(0, 10) : ''
}
}],
}
},
created() {
this.getList()
},
methods: {
async getList() {
const res = await index({
...this.select,
filter: [{
key:'cangkumingcheng',
op:'like',
value:this.select.keyword
}],
})
this.list = res.data
this.total = res.total
},
pageChange(e) {
this.select.page = e
this.getList()
},
pageSizeChange(e){
this.select.page_size = e
this.getList()
},
delRow(id) {
if (id) {
destroy({
id: id,
table_name: this.select.table_name,
}).then(res => {
this.$message({
type: 'success',
message: '删除成功'
})
this.getList()
})
}
},
}
}
</script>
<style>
</style>
Loading…
Cancel
Save