|
@@ -0,0 +1,232 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <van-nav-bar title="应急仓库" left-arrow placeholder :fixed="true" >
|
|
|
+ <template #right>
|
|
|
+ <van-icon name="edit" size="18" @click="editclick"/>
|
|
|
+ </template>
|
|
|
+ </van-nav-bar>
|
|
|
+ <div v-if="!isempt">
|
|
|
+ <div class="content">
|
|
|
+ <div>
|
|
|
+ <van-cell-group>
|
|
|
+ <van-field
|
|
|
+ v-model="whdata.value.name"
|
|
|
+ label="仓库命名"
|
|
|
+ input-align="right"
|
|
|
+ :readonly="isedit"
|
|
|
+ placeholder="请输入仓库命名"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="whdata.value.manageUnit"
|
|
|
+ label="管理单位"
|
|
|
+ input-align="right"
|
|
|
+ :readonly="isedit"
|
|
|
+ placeholder="请输入管理单位"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="whdata.value.contactName"
|
|
|
+ required
|
|
|
+ :readonly="isedit"
|
|
|
+ label="联系人"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入联系人"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="whdata.value.contactPhone"
|
|
|
+ required
|
|
|
+ label="联系方式"
|
|
|
+ :readonly="isedit"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入联系方式"
|
|
|
+ />
|
|
|
+ </van-cell-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-for="(item, index) in wzdata.aar" v-bind:key="index">
|
|
|
+ <div class="cell-header">
|
|
|
+ <span>应急物资({{ index + 1 }})</span>
|
|
|
+ <div style="float: right" @click="deletewz(index)">删除</div>
|
|
|
+ </div>
|
|
|
+ <van-cell-group style="">
|
|
|
+ <van-field
|
|
|
+ v-model="item.name"
|
|
|
+ label="名称"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入名称"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="item.model"
|
|
|
+ label="型号"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入型号"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="item.size"
|
|
|
+ label="规格"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入规格"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="item.num"
|
|
|
+ label="仓储数量"
|
|
|
+ type="number"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入数量"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="item.availableNum"
|
|
|
+ label="可用数量"
|
|
|
+ type="number"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入数量"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="item.unit"
|
|
|
+ label="单位"
|
|
|
+ input-align="right"
|
|
|
+ placeholder="请输入单位"
|
|
|
+ />
|
|
|
+ </van-cell-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="text-align: center">
|
|
|
+ <van-button
|
|
|
+ @click="doaddwzClick"
|
|
|
+ icon="plus"
|
|
|
+ style="color: #0b33a8; background: rgba(0, 0, 0, 0); border: none"
|
|
|
+ >新增物资</van-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div style="padding: 10px 20px">
|
|
|
+ <van-button type="primary" block style="border-radius: 30px" @click="dosavedata">提交</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div><van-empty v-if="isempt" description="无仓库" /></div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { ref, reactive,onUpdated } from "vue";
|
|
|
+import { api_getresource,api_getresourcedetail,api_putresource} from "@/service/warehouse"
|
|
|
+import { Toast } from 'vant';
|
|
|
+
|
|
|
+const whdata = reactive({value:{ name: "",manageUnit:"",contactName:"",contactPhone:"" }});
|
|
|
+const isedit = ref(true);
|
|
|
+const isempt = ref(true);
|
|
|
+// let deletwzarr = [];
|
|
|
+const wzdata = reactive({aar:[
|
|
|
+]});
|
|
|
+
|
|
|
+const doaddwzClick = () => {
|
|
|
+ var wz = {
|
|
|
+ name: "",
|
|
|
+ model: "",
|
|
|
+ size: "",
|
|
|
+ num: 0,
|
|
|
+ unit: "",
|
|
|
+ availableNum: "",
|
|
|
+ };
|
|
|
+ wzdata.aar.push(wz);
|
|
|
+};
|
|
|
+const editclick=()=>{
|
|
|
+ isedit.value = false;
|
|
|
+}
|
|
|
+const deletewz = (index)=>{
|
|
|
+ if(index>=wzdata.aar.length){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wzdata.aar.splice(index,1);
|
|
|
+ // if(wz.id!=0){
|
|
|
+ // deletwzarr.push(wz.id);
|
|
|
+ // }
|
|
|
+}
|
|
|
+
|
|
|
+const dosavedata = ()=>{
|
|
|
+ Toast.loading({
|
|
|
+ message: '加载中...',
|
|
|
+ duration: 0,
|
|
|
+ forbidClick: true,
|
|
|
+});
|
|
|
+ var data = whdata.value;
|
|
|
+ data["resourceDetailList"] = wzdata.aar;
|
|
|
+ api_putresource(data).then(()=>{
|
|
|
+ Toast.clear();
|
|
|
+ Toast("保存成功")
|
|
|
+ getdata()
|
|
|
+
|
|
|
+ }).catch((ee)=>{Toast.clear();});
|
|
|
+}
|
|
|
+
|
|
|
+const getdata = ()=>{
|
|
|
+ Toast.loading({
|
|
|
+ message: '加载中...',
|
|
|
+ duration: 0,
|
|
|
+ forbidClick: true,
|
|
|
+});
|
|
|
+api_getresource({}).then((res)=>{
|
|
|
+ Toast.clear();
|
|
|
+ if(res.rows.length>0){
|
|
|
+ isempt.value=false;
|
|
|
+ whdata.value = res.rows.find(i=>i.id=="1481549762984415233")
|
|
|
+ // whdata.value = (res.rows[0]) ;
|
|
|
+ api_getresourcedetail(whdata.value.id).then((res1)=>{
|
|
|
+ if(res1.data.resourceDetailList == null || res1.data.resourceDetailList.length==0){
|
|
|
+ // debugger
|
|
|
+ Toast('仓库还没有物资,请添加物资!');
|
|
|
+ }else{
|
|
|
+ wzdata.aar = res1.data.resourceDetailList;
|
|
|
+ // console.log(whdata)
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ }else{
|
|
|
+ Toast('未获取到仓库信息,请联系管理员!');
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }).catch((eer)=>{ Toast.clear();})
|
|
|
+}
|
|
|
+getdata();
|
|
|
+
|
|
|
+
|
|
|
+// onUpdated(()=>{
|
|
|
+// //根据管理单位获取仓库信息
|
|
|
+// api_getresource({}).then((res)=>{
|
|
|
+
|
|
|
+// })
|
|
|
+
|
|
|
+// });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.content label,
|
|
|
+.content span {
|
|
|
+ font-size: 15px;
|
|
|
+ font-family: PingFangSC, PingFangSC-Regular;
|
|
|
+ color: #333333;
|
|
|
+}
|
|
|
+.content {
|
|
|
+ .cell-header {
|
|
|
+ font-family: PingFangSC, PingFangSC-Regular;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 42px;
|
|
|
+ padding: 0px 15px;
|
|
|
+ span {
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ div {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #0b33a8;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|