<template> <el-row> <el-card style="background-color: #F5F7FA"> <!-- 搜索区域--> <el-row :gutter="10" class="toolbar"> <el-col :span="7"> <el-input v-model="queryInfo.waybill" prefix-icon="el-icon-search" size="small" style="width: 280px" placeholder="货物单号" clearable> <template slot="prepend">货物单号</template> </el-input> </el-col> <el-col :span="6"> <el-button type="primary" icon="el-icon-search" size="small" @click="getList()"> 查询 </el-button> <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button> </el-col> </el-row> <!-- 列表区域--> <el-row> <template> <el-table :data="tableData" border :cell-style="{textAlign:'center'}" style="border-radius: 10px 10px 0px 0px;line-height: 25px" :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small" > <el-table-column fixed prop="goodno" label="货物单号" width="120"> </el-table-column> <el-table-column prop="vol" label="体积" width="60"> </el-table-column> <el-table-column prop="weight" label="重量" width="60"> </el-table-column> <el-table-column prop="pcs" label="件数" width="60"> </el-table-column> <el-table-column prop="billweight" label="计费重量" width="70"> </el-table-column> <el-table-column prop="area" label="库区" width="60"> </el-table-column> <el-table-column prop="location" label="库位" width="60"> </el-table-column> <el-table-column prop="serialnumber" label="流水号" width="120"> </el-table-column> <el-table-column prop="station" label="出入库场站" width="100"> </el-table-column> <el-table-column prop="status" label="状态" width="80"> <template slot-scope="scope"> <span v-if="scope.row.status ==='0'">失败</span> <span v-if="scope.row.status ==='1'">成功</span> </template> </el-table-column> <el-table-column prop="transcar" label="运输车辆信息" width="100"> </el-table-column> <el-table-column prop="transtype" label="交易类型" width="100"> </el-table-column> <el-table-column prop="custel" label="客户联系电话" width="140"> </el-table-column> <el-table-column prop="customer" label="联系人姓名" width="80"> </el-table-column> <el-table-column prop="customername" label="客户名称" width="80"> </el-table-column> <el-table-column prop="goodstype" label="货物类型" width="80"> </el-table-column> <el-table-column prop="house" label="出入库仓库" width="100"> </el-table-column> <el-table-column prop="ietype" label="出入库类型" width="60"> <template slot-scope="scope"> <span v-if="scope.row.ietype ==='I'">进</span> <span v-if="scope.row.ietype ==='E'">出</span> </template> </el-table-column> <el-table-column prop="opter" label="出入库经办人" width="100"> </el-table-column> <el-table-column prop="opttime" label="出入库时间" width="140"> </el-table-column> <el-table-column fixed="right" label="操作" width="200"> <template slot-scope="scope"> <el-button type="success" size="mini" @click="applyEdit(scope.row)">编辑</el-button> <el-button type="danger" size="mini" @click="applyDel(scope.$index,scope.row)">删除</el-button> </template> </el-table-column> </el-table> </template> </el-row> <el-row style="margin-top: 10px" class="toolbar"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryInfo.pageNum" :page-size="queryInfo.pageSize" :page-sizes="[10, 50, 100, 500]" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> </el-row> <el-row> <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog.addDialog" width="80%" > <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px"> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="goodno"> <el-input v-model="addForm.goodno" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">货物单号</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="weight"> <el-input v-model="addForm.weight" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">重  量</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="vol"> <el-input v-model="addForm.vol" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">体  积</template> </el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="pcs"> <el-input v-model="addForm.pcs" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">件  数</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="billweight"> <el-input v-model="addForm.billweight" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">计费重量</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="area"> <el-input v-model="addForm.area" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">库  区</template> </el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="location"> <el-input v-model="addForm.location" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">库  位</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="serialnumber"> <el-input v-model="addForm.serialnumber" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">流水 号</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="transtype"> <el-input v-model="addForm.transtype" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">交易类型</template> </el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="house"> <el-input v-model="addForm.house" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库仓库</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="opttime"> <el-input v-model="addForm.opttime" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库时间</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="station"> <el-input v-model="addForm.station" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库场站</template> </el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="goodstype"> <el-input v-model="addForm.goodstype" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库货物类型</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="opter"> <el-input v-model="addForm.opter" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库经办人</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="customername"> <el-input v-model="addForm.customername" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库客户名称</template> </el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="transcar"> <el-input v-model="addForm.transcar" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">运输车辆信息</template> </el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="ietype"> <div class="my-text-area"> <div class="el-input-group__prepend prepand">出入库类型</div> <el-select v-model="addForm.ietype" placeholder="出入库类型" size="mini" style="width: 210px"> <el-option label="出入库类型-进" value="I"></el-option> <el-option label="出入库类型-出" value="E"></el-option> </el-select> </div> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" :label-width="formLabelWidth" prop="status"> <div class="my-text-area"> <div class="el-input-group__prepend prepand">请选择状态</div> <el-select v-model="addForm.status" placeholder="请选择状态" size="mini" style="width: 210px"> <el-option label="状态-失败" value="0"></el-option> <el-option label="状态-成功" value="1"></el-option> </el-select> </div> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="" :label-width="formLabelWidth" prop="custel"> <el-input v-model="addForm.custel" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库客户联系电话</template> </el-input> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="" :label-width="formLabelWidth" prop="customer"> <el-input v-model="addForm.customer" autocomplete="off" size="small" style="width: 300px"> <template slot="prepend">出入库客户联系人姓名</template> </el-input> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="apply_dialog.addDialog = false" size="small">取 消</el-button> <el-button type="primary" @click="dialogApply==='create'?add():edit()" size="small">提 交</el-button> </div> </el-dialog> </el-row> </el-card> </el-row> </template> <script> import {selectInventorys,delInventroy,addInventory,ediInventroy} from '../../api/consigner/station'; export default { name: "inventroy", data() { return { queryInfo: { goodno:'', // 当前页数 pageNum: 1, // 每页大小 pageSize: 10, }, total: 0, tableData:[], dialogMap: { update: '编辑', create: '新增' }, dialogApply: 'create', apply_dialog: { // 添加对话框 addDialog: false, // 编辑对话框 editDialog: false }, addForm: { area: '', billweight: '', custel: '', customer: '', customername: '', goodstype: '', house:'', ietype:'', location:'', opter:'', opttime: '', pcs: '', serialnumber: '', station: '', status: '', transcar: '', transtype:'', vol:'', goodno:'', weight:'', remark:'', remark1:'', remark2:'', remark3:'', remark4:'', remark5:'', }, formLabelWidth: '80px', rules: { userName: [ // { required: true, message: '请输入申请人', trigger: 'blur' }, // // { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } // ], // applyTime: [ // { required: true, message: '请选择时间', trigger: 'change' } // ], // needCount: [ // { required: true, message: '请输入需要车辆数量', trigger: 'blur' }, // ], // orginStation: [ // { required: true, message: '请输入起始场站', trigger: 'blur' }, // ], // endStation: [ // { required: true, message: '请输入目的场站', trigger: 'blur' }, // ], ], }, } }, methods: { handleSizeChange(val) { this.queryInfo.pageSize = val this.getList() }, handleCurrentChange(val) { this.queryInfo.pageNum = val this.getList() }, getList() { const _this = this selectInventorys(this.queryInfo).then((response) => { const res = response.data console.log(response.data) if (res.code !== '200') { return _this.$message.error('获取消息收发记录,失败!') } // 获取列表数据 _this.tableData = res.data.list // 获取列表的总记录数 _this.total = res.data.total _this.$message.success('获取消息收发记录,成功!') }).catch(error => { // 关闭加载 _this.$message.error(error.toString()) }) }, // 添加对话框,打开事件 applyAdd() { this.addForm = { area: '', billweight: '', custel: '', customer: '', customername: '', goodstype: '', house:'', ietype:'', location:'', opter:'', opttime: '', pcs: '', serialnumber: '', station: '', status: '', transcar: '', transtype:'', vol:'', waybill:'', weight:'', remark:'', remark1:'', remark2:'', remark3:'', remark4:'', remark5:'', uuid:'' }; this.dialogApply= 'create'; this.apply_dialog.addDialog = true; }, // 添加功能 add() { this.$refs.addForm.validate(valid => { // 未通过,表单预校验 if (!valid) return; addInventory(this.addForm).then((response) => { let res = response.data; // 添加失败 if (res.code !== '200') { return this.$message.error(res.msg); } // 添加,成功 this.$message.success(res.msg); // 隐藏对话框 this.apply_dialog.addDialog = false; // 刷新列表 this.getList(); }).catch(error => { this.$message.error(error.toString()); }); }) }, // 打开编辑 applyEdit(row) { this.apply_dialog.addDialog = true; this.dialogApply = 'update'; this.addForm=row; }, // 编辑功能 edit() { // 进行表单的预验证 this.$refs.addForm.validate(valid => { // 未通过,表单预校验 if (!valid) return ediInventroy(this.addForm).then((response) => { // console.log(row) const res = response.data if (res.code != '200') { return this.$message.error(res.msg) } this.$message.success(res.msg) // 隐藏对话框 this.apply_dialog.addDialog = false // 刷新列表 this.getList() }).catch(error => { this.$message.error(error.toString()) }) }) }, // 删除 applyDel(index, row) { // 弹框询问是否删除? this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', { confirmButtonText: '确定删除', cancelButtonText: '取消', type: 'warning' } ).then(() => { // console.log(row); delInventroy({uuid:row.uuid}).then((response) => { // console.log(row) const res = response.data this.$message.success(res.msg) this.getList() }).catch(error => { this.$message.error(res.msg) }) }).catch(() => { }) }, }, mounted() { this.getList(); // this.getYardList(); } } </script> <style scoped> .toolbar{ height: 60px; background-color: white; /*line-height: 60px;*/ vertical-align: middle; border-radius: 5px 5px 5px 5px; padding: 15px 0 0 20px; box-shadow: 0px 5px 5px #e5e8eb; } .my-text-area .prepand{ float: left; width:89px; height: 28px; font-size: 12px; line-height: 28px; } </style> <style> .my-text-area .el-textarea__inner{ min-height: 28px; height: 28px; border-bottom-left-radius: 0; border-top-left-radius: 0; } </style>