Browse Source

Merge branch 'feature/Feature-supply' into develop

莫绍宝 3 years ago
parent
commit
3e6113f76b

+ 9 - 0
src/api/supply/apply.js

@@ -117,4 +117,13 @@ export function getEnginList(params) {
     method: 'get',
     params
   })
+}
+
+// 工程发货申请单 - 获取详情
+export function getEnginDetail(params) {
+  return request({
+    url: '/invoice/detailProject',
+    method: 'get',
+    params
+  })
 }

+ 4 - 1
src/views/supply/apply/components/apply_form.vue

@@ -11,7 +11,7 @@
     <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="90px" 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>
@@ -469,6 +469,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 = {

+ 148 - 38
src/views/supply/apply/components/engin_form.vue

@@ -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 = {

+ 3 - 3
src/views/supply/apply/engin_list.vue

@@ -81,9 +81,9 @@
             <el-table-column align="center" label="发货申请单" prop="id" min-width="180" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="发货申请日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="仓库" prop="correspondName" min-width="120" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="工程登录编码" prop="aaa" min-width="120" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="工程名称" prop="aaa" min-width="120" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="使用单位" prop="aaa" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="工程登录编码" prop="enginOrderNo" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="工程名称" prop="refProjectName" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="使用单位" prop="refUseUnit" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>