|
@@ -3,22 +3,22 @@
|
|
|
<el-page-header @back="goBack" :content="listItem ? '编辑':'新增'"></el-page-header>
|
|
|
|
|
|
<div class="main-title">
|
|
|
- <div class="title">发货申请单信息</div>
|
|
|
+ <div class="title">工程发货申请单信息</div>
|
|
|
</div>
|
|
|
|
|
|
<div style="font-size: 12px; color: #333; margin-bottom: 20px;">注:发货申请时,库存数量为实时数量,请选择完成选择后及时保存提交,否则数量可能有变,被其他商家开单而导致库存不足。</div>
|
|
|
|
|
|
- <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="90px" size="small" label-position="right">
|
|
|
+ <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="100px" size="small" label-position="right">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
|
- <el-form-item label="订单号" prop="id">
|
|
|
+ <el-form-item label="发货申请单" prop="orderNum">
|
|
|
<el-input v-model="mainForm.orderNum" placeholder="系统自动生成" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
|
- <el-form-item label="单据日期" prop="date">
|
|
|
+ <el-form-item label="单据日期" prop="orderDate">
|
|
|
<el-date-picker
|
|
|
- v-model="mainForm.date"
|
|
|
+ v-model="mainForm.orderDate"
|
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
style="width: 100%;"
|
|
@@ -26,11 +26,8 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :lg="8">
|
|
|
- <el-form-item label="制单人" prop="createMan">
|
|
|
- <el-input v-model="mainForm.createMan" readonly></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
|
<el-form-item label="经销商编号" prop="jxsNum">
|
|
|
<el-input v-model="mainForm.jxsNum" readonly></el-input>
|
|
@@ -41,17 +38,87 @@
|
|
|
<el-input v-model="mainForm.jxsName" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="工程登录编号" prop="loginNum">
|
|
|
+ <el-input v-model="mainForm.loginNum" placeholder="请输入工程登录编号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="工程项目名称" prop="enginName">
|
|
|
+ <el-input v-model="mainForm.enginName" placeholder="请输入工程项目名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="工程登录类型" prop="loginType">
|
|
|
+ <el-input v-model="mainForm.loginType" placeholder="请输入工程登录类型"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="厂工程编号" prop="factoryNum">
|
|
|
+ <el-input v-model="mainForm.factoryNum" placeholder="请输入厂工程编号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="使用单位" prop="company">
|
|
|
+ <el-input v-model="mainForm.company" placeholder="请输入使用单位"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="联系人" prop="contactMan">
|
|
|
+ <el-input v-model="mainForm.contactMan" placeholder="请输入联系人" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="固定电话" prop="tel">
|
|
|
+ <el-input v-model="mainForm.tel" placeholder="请输入固定电话" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="移动电话" prop="phone">
|
|
|
+ <el-input v-model="mainForm.phone" placeholder="请输入移动电话" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="24">
|
|
|
+ <el-form-item label="安装地址" prop="address">
|
|
|
+ <el-input v-model="mainForm.address" placeholder="请输入安装地址"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24">
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
<el-input v-model="mainForm.remark" placeholder="请输入备注"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
<el-col :xs="24" :sm="8" :lg="8">
|
|
|
<el-form-item label="附件" prop="fileUrl">
|
|
|
<fileUpload :fileList="fileList" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8">
|
|
|
+ <el-form-item label="制单人" prop="createMan">
|
|
|
+ <el-input v-model="mainForm.createMan" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
|
+ <el-form-item label="制单日期" prop="createDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="mainForm.createDate"
|
|
|
+ readonly
|
|
|
+ type="datetime"
|
|
|
+ value-format="yyyy-MM-dd hh:mm:ss"
|
|
|
+ style="width: 100%;"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
|
|
|
<div class="main-title">
|
|
@@ -70,18 +137,16 @@
|
|
|
<el-table :data="goodsList" element-loading-text="Loading" border fit highlight-current-row stripe max-height="400">
|
|
|
<el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
|
|
|
<el-table-column align="center" label="引用单号" prop="orderId" min-width="180" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="center" label="单号类型" prop="saleTypeName" min-width="100" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="100" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column align="center" label="数量" prop="qty" min-width="80" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column align="center" label="申请数量" prop="invoiceNum" min-width="110" show-overflow-tooltip>
|
|
|
+ <el-table-column align="center" label="数量" prop="invoiceNum" min-width="110" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">
|
|
|
<el-input v-model="scope.row.invoiceNum" size="small"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" label="已申请数量" prop="alreadyInvoiceNum" min-width="100" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column align="center" label="未申请数量" prop="refundableQty" min-width="100" show-overflow-tooltip> </el-table-column>
|
|
|
<el-table-column align="center" label="备注" prop="remark" min-width="160" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">
|
|
|
<el-input v-model="scope.row.remark" size="small"></el-input>
|
|
@@ -106,28 +171,44 @@
|
|
|
</div>
|
|
|
|
|
|
<el-dialog title="添加产品" :visible.sync="isShowDialog" width="80%">
|
|
|
- <el-form ref="screenForm" :model="screenForm" size="small" label-position="left" label-width="70px">
|
|
|
+ <el-form ref="screenForm" :model="screenForm" size="small" label-position="left" label-width="100px">
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :xs="12" :sm="6" :lg="6">
|
|
|
- <el-form-item prop="warehouse" label="选择仓库">
|
|
|
- <el-select v-model="screenForm.warehouse" placeholder="请选择仓库" size="small" filterable clearable :disabled="goodsList.length > 0 || tableSelection.length > 0">
|
|
|
- <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="6">
|
|
|
+ <el-form-item prop="orderNum" label="工程登录编号">
|
|
|
+ <el-input v-model="screenForm.orderNum" placeholder="请输入工程登录编号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="12" :sm="6" :lg="6">
|
|
|
- <el-form-item prop="type" label="产品大类">
|
|
|
- <el-select v-model="screenForm.type" placeholder="选择产品大类" style="width: 100%" :disabled="goodsList.length > 0 || tableSelection.length > 0">
|
|
|
- <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="6">
|
|
|
+ <el-form-item prop="orderNum" label="工程名称">
|
|
|
+ <el-input v-model="screenForm.orderNum" placeholder="请输入工程名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="6">
|
|
|
+ <el-form-item prop="orderNum" label="规格型号">
|
|
|
+ <el-input v-model="screenForm.orderNum" placeholder="请输入规格型号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="发货申请日期" prop="date">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="screenForm.date"
|
|
|
+ type="datetimerange"
|
|
|
+ range-separator="至"
|
|
|
+ style="width: 100%; height: 33px"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期">
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="12" :sm="6" :lg="6">
|
|
|
- <el-form-item prop="orderNum" label="订单号">
|
|
|
- <el-input v-model="screenForm.orderNum" placeholder="请输入订单号"></el-input>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="6">
|
|
|
+ <el-form-item prop="warehouse" label="选择仓库">
|
|
|
+ <el-select v-model="screenForm.warehouse" placeholder="请选择仓库" size="small" filterable clearable :disabled="goodsList.length > 0 || tableSelection.length > 0">
|
|
|
+ <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="12" :sm="6" :lg="6" class="tr">
|
|
|
+ <el-col :xs="12" :sm="12" :lg="18" class="tr">
|
|
|
<el-form-item label="">
|
|
|
<el-button size="small" @click="resetScreenForm">清空</el-button>
|
|
|
<el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
|
|
@@ -139,7 +220,8 @@
|
|
|
<div class="table">
|
|
|
<el-table :data="tableGoodsList" element-loading-text="Loading" border fit highlight-current-row stripe height="400" @selection-change="tableSelectionChange">
|
|
|
<el-table-column align="center" type="selection" width="55" :selectable='checkboxSelect'></el-table-column>
|
|
|
- <el-table-column align="center" label="订单号" prop="orderId" min-width="180" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="center" label="订单类型" prop="orderId" min-width="180" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="center" label="工程登录编号" prop="orderId" min-width="180" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="100" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
|
|
@@ -183,7 +265,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getApplyDetail, addApply, editApply, getGoodsList, getWarehouseList, getDealerList } from "@/api/supply/apply";
|
|
|
+import { getEnginDetail, addApply, editApply, getGoodsList, getWarehouseList, getDealerList } from "@/api/supply/apply";
|
|
|
import { getDictList } from '@/api/common'
|
|
|
import { findElem } from '@/utils/util'
|
|
|
import fileUpload from '@/components/Common/file-upload.vue'
|
|
@@ -192,8 +274,8 @@ export default {
|
|
|
components: {
|
|
|
fileUpload
|
|
|
},
|
|
|
- name: 'ApplyForm',
|
|
|
- componentName: 'ApplyForm',
|
|
|
+ name: 'EnginForm',
|
|
|
+ componentName: 'EnginForm',
|
|
|
props: ['listItem'],
|
|
|
filters: {
|
|
|
stockFilter(val) {
|
|
@@ -208,16 +290,24 @@ export default {
|
|
|
return {
|
|
|
mainForm: {
|
|
|
orderNum: '',
|
|
|
- date: '',
|
|
|
+ orderDate: '',
|
|
|
jxsNum: '',
|
|
|
jxsName: '',
|
|
|
+ loginNum: '',
|
|
|
+ enginName: '',
|
|
|
+ loginType: '',
|
|
|
+ factoryNum: '',
|
|
|
+ company: '',
|
|
|
+ contactMan: '',
|
|
|
+ tel: '',
|
|
|
+ phone: '',
|
|
|
+ address: '',
|
|
|
remark: '',
|
|
|
createMan: '',
|
|
|
+ createDate: '',
|
|
|
},
|
|
|
mainFormRules: {
|
|
|
- date: [
|
|
|
- { required: true, message: '请选择单据日期', trigger: 'change' }
|
|
|
- ],
|
|
|
+ orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
|
|
|
},
|
|
|
dealerList: [],
|
|
|
fileList: [],
|
|
@@ -261,6 +351,7 @@ export default {
|
|
|
this.mainForm.jxsNum = JSON.parse(localStorage.getItem("supply_user")).customerId;
|
|
|
this.mainForm.jxsName = JSON.parse(localStorage.getItem("supply_user")).customerName;
|
|
|
this.mainForm.createMan = JSON.parse(localStorage.getItem("supply_user")).nickName;
|
|
|
+ this.mainForm.createDate = this.getDate();
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -270,9 +361,25 @@ export default {
|
|
|
this.$emit('backListFormDetail');
|
|
|
},
|
|
|
|
|
|
+ getDate() {
|
|
|
+ var date = new Date();
|
|
|
+ var seperator1 = "-";
|
|
|
+ var year = date.getFullYear();
|
|
|
+ var month = date.getMonth() + 1;
|
|
|
+ var strDate = date.getDate();
|
|
|
+ if (month >= 1 && month <= 9) {
|
|
|
+ month = "0" + month;
|
|
|
+ }
|
|
|
+ if (strDate >= 0 && strDate <= 9) {
|
|
|
+ strDate = "0" + strDate;
|
|
|
+ }
|
|
|
+ var currentdate = year + seperator1 + month + seperator1 + strDate;
|
|
|
+ return currentdate;
|
|
|
+ },
|
|
|
+
|
|
|
// 获取详情
|
|
|
getDetail() {
|
|
|
- getApplyDetail({id: this.listItem.id}).then(res => {
|
|
|
+ getEnginDetail({id: this.listItem.id}).then(res => {
|
|
|
let data = res.data;
|
|
|
this.mainForm.orderNum = data.id;
|
|
|
this.mainForm.date = data.orderTime;
|
|
@@ -469,6 +576,9 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+ if(!this.screenForm.warehouse) {
|
|
|
+ return this.$errorMsg('请选择仓库');
|
|
|
+ }
|
|
|
|
|
|
let correspondName = this.warehouseList[findElem(this.warehouseList, 'id', this.screenForm.warehouse)].name;
|
|
|
let params = {
|