出库限制

master
lion 2 years ago
parent b78a2b7d84
commit bc12430b3b

@ -1,13 +1,24 @@
<template> <template>
<div> <div>
<div class="map" id="map" :style="{'height':mapHeight+'px'}"></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> <i @click='closeWin' class="el-icon-close"></i>
<div v-for="item in openData"> <div v-for="item in openData">
<p>名称<span>{{item.mingcheng}}</span></p> <template v-if="item.type=='teams'">
<p>队长<span>{{item.duizhang?item.duizhang:''}}</span></p> <p>名称<span>{{item.mingcheng}}</span></p>
<p>联系电话<span>{{item.lianxidianhua?item.lianxidianhua:''}}</span></p> <p>队长<span>{{item.duizhang?item.duizhang:''}}</span></p>
<p>人数<span>{{item.renshu?item.renshu:''}}</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> </div>
</div> </div>
@ -57,10 +68,11 @@
offset: new AMap.Pixel(-10, -10) offset: new AMap.Pixel(-10, -10)
}) })
this.getTeams() this.getTeams()
console.log("map", this.map) this.getStorages()
// this.setMapMarker()
}, },
getTeams() { async getTeams() {
index({ await index({
page: 1, page: 1,
page_size: 9999, page_size: 9999,
table_name: 'teams' table_name: 'teams'
@ -69,50 +81,78 @@
if(res.data.length<1){ if(res.data.length<1){
return return
} }
this.mapList = res.data res.data.map(item=>{
this.setMapMarker() this.mapList.push({
type:'teams',
name:item.mingcheng,
...item
})
})
this.setMapMarker()
// this.mapList = res.data
}) })
// this.list = 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() { setMapMarker() {
var that = this var that = this
// console.log("123",m.jingdu, m.weidu) // that.map.remove(that.makerList)
// console.log('456',gcj02towgs84(m.jingdu, m.weidu)) // that.makerList = []
that.map.remove(that.makerList) console.log("this.mapList",this.mapList)
that.makerList = [] // let list = this.mapList.map((m) => {
// this.map.clearMap(); // return {
let list = this.mapList.map((m) => { // id: m.id, //id
return { // name: m.name, //
id: m.id, //id // // reside: m.reside,
name: m.mingcheng, // // // lnglat: [m.lon, m.lat],//
// reside: m.reside, // lnglat: [parseFloat(m.jingdu), m.weidu],
// lnglat: [m.lon, m.lat],// // style: 0, //
lnglat: [m.jingdu, m.weidu], //84 // };
style: 0, // // });
};
});
this.mapList.forEach((item, index) => { this.mapList.forEach((item, index) => {
// //
console.log("item",item)
if (!item.jingdu || !item.weidu) { if (!item.jingdu || !item.weidu) {
return return
} }
let marker = new AMap.Text({ let marker = new AMap.Text({
map: this.map, map: this.map,
text: item.mingcheng, text: item.name,
zIndex: 9999999, zIndex: 9999999,
offset: new AMap.Pixel(-13, -30), offset: new AMap.Pixel(-13, -30),
position: [item.jingdu, item.weidu], position: [parseFloat(item.jingdu), parseFloat(item.weidu)],
clickable: true, clickable: true,
extData: item.id, extData: item.id,
style: { style: {
'border': '1px solid red', 'border': item.type==='teams'?'1px solid red':'1px solid blue',
'padding': '0px 5px' 'padding': '0px 5px'
} }
}) })
marker.on('click', (e) => { marker.on('click', (e) => {
this.openData = [] this.openData = []
if (e.target.w.extData === item.id) { if (e.target.w.extData === item.id) {
this.openData.push(item) this.openData.push(item)
@ -121,6 +161,7 @@
}), }),
this.makerList.push(marker) this.makerList.push(marker)
}); });
console.log("this.makerList",this.makerList)
this.map.add(this.makerList) this.map.add(this.makerList)
}, },
closeWin() { closeWin() {

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

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

@ -1,6 +1,6 @@
<template> <template>
<div> <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"> :form="form" :rules="rules" @submit="submit">
<template v-slot:cangkumingcheng> <template v-slot:cangkumingcheng>
<div class="xy-table-item"> <div class="xy-table-item">
@ -147,6 +147,7 @@
type: 'add', type: 'add',
id: '', id: '',
tableName: 'materialstorages', tableName: 'materialstorages',
// flood_storages
areaList:[], areaList:[],
mapparams: { mapparams: {
zoom: 11, zoom: 11,
@ -183,6 +184,9 @@
this.areaList = res.detail this.areaList = res.detail
}) })
}, },
setTableName(e){
this.tableName = e?e:'materialstorages'
},
async getDetail() { async getDetail() {
const res = await show({ const res = await show({
id: this.id, 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