Bladeren bron

采购需求单新增,详情接口

黄梓星 2 jaren geleden
bovenliggende
commit
0f893ccbc4

+ 23 - 0
src/api/purchase/purchaseDemand.js

@@ -7,4 +7,27 @@ export function getDemandList(data) {
     method: 'post',
     data: data
   })
+}
+// 采购需求单新增
+export function addDemand(data) {
+  return request({
+    url: `/pu/demand/add`,
+    method: 'post',
+    data: data
+  })
+}
+// 采购需求单基本信息详情
+export function getDemandDetail(id) {
+  return request({
+    url: `/pu/demand/detail/${id}`,
+    method: 'get',
+  })
+}
+// 采购需求单基本子表详情
+export function getDemandSonDetail(data) {
+  return request({
+    url: `/pu/demand/item/list/${data.id}?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
 }

+ 412 - 105
src/views/purchase/PurchaseDemandList/add.vue

@@ -6,7 +6,7 @@
         <el-col :span="1.5">
             <el-form-item label="编码">
               <el-input
-                v-model="basicForm.dabm"
+                v-model="basicForm.code"
                 size="small"
                 placeholder=""
                 clearable
@@ -18,7 +18,7 @@
         <el-col :span="1.5">
             <el-form-item label="组织">
               <el-input
-                v-model="basicForm.shdzdamc"
+                v-model="basicForm.org"
                 size="small"
                 placeholder=""
                 clearable
@@ -29,7 +29,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="需求处理方式">
-              <el-select v-model="basicForm.wlyjflbm" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.demandBusinessType" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -42,7 +42,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="单据状态">
-              <el-select v-model="basicForm.wlyjflmc" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.status" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -55,7 +55,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="需求客户">
-              <el-select v-model="basicForm.wlyjflmc" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.customer" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -68,7 +68,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="需求客户名称">
-              <el-select v-model="basicForm.wlyjflmc" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.customerName" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -81,7 +81,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="客户负责人">
-              <el-select v-model="basicForm.wlyjflmc" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.customerPrincipal" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -94,7 +94,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="需求人员">
-              <el-select v-model="basicForm.ck" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.demandPersonal" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -107,7 +107,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="需求部门">
-              <el-select v-model="basicForm.cksx" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.demandDept" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -121,7 +121,7 @@
           <el-col :span="1.5">
             <el-form-item label="需求日期">
               <el-input
-                v-model="basicForm.shdzxx"
+                v-model="basicForm.demandDate"
                 size="small"
                 placeholder=""
                 clearable
@@ -133,7 +133,7 @@
           <el-col :span="1.5">
             <el-form-item label="单据来源">
               <el-input
-                v-model="basicForm.shr"
+                v-model="basicForm.source"
                 size="small"
                 placeholder=""
                 clearable
@@ -145,7 +145,7 @@
           <el-col :span="1.5">
             <el-form-item label="供应仓库">
               <el-input
-                v-model="basicForm.shrdh"
+                v-model="basicForm.warehouse"
                 size="small"
                 placeholder=""
                 clearable
@@ -156,7 +156,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="供应货位">
-              <el-select v-model="basicForm.qy" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.goodsAllocation" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -169,7 +169,7 @@
 
          <el-col :span="1.5">
             <el-form-item label="业务类型">
-              <el-select v-model="basicForm.sftbnc" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="basicForm.billType" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -183,7 +183,7 @@
           <el-col :span="1.5">
             <el-form-item label="是否特殊需求">
               <el-input
-                v-model="basicForm.bz"
+                v-model="basicForm.isSpeical"
                 size="small"
                 placeholder=""
                 clearable
@@ -195,7 +195,7 @@
           <el-col :span="1.5">
             <el-form-item label="是否处理需求">
               <el-input
-                v-model="basicForm.bz"
+                v-model="basicForm.isProcess"
                 size="small"
                 placeholder=""
                 clearable
@@ -207,7 +207,7 @@
           <el-col :span="1.5">
             <el-form-item label="是否月销量计算">
               <el-input
-                v-model="basicForm.bz"
+                v-model="basicForm.isMonthleyCalculate"
                 size="small"
                 placeholder=""
                 clearable
@@ -219,7 +219,7 @@
           <el-col :span="1.5">
             <el-form-item label="备注">
               <el-input
-                v-model="basicForm.cjr"
+                v-model="basicForm.remark"
                 size="small"
                 placeholder=""
                 clearable
@@ -228,81 +228,232 @@
             </el-form-item>
          </el-col>
       </el-row>
-    </el-form>
+    
 
     <span>明细信息</span>
     <el-card>
       <div class="btn_grooup">
-        <el-button type="primary" size="small" >增行</el-button>
+        <el-button type="primary" size="small" @click="addLine">增行</el-button>
         <el-button type="primary" size="small" >批量调整</el-button>
       </div>
 
       <el-table 
-          :data="tableList" 
+          :data="basicForm.puDemandItemList" 
           fit
           max-height="680"
           @selection-change="handleSelectionChange"
         >
-          <el-table-column type="selection" width="55" />
-          <el-table-column label="序号" align="center" prop="orgId"/>
-          <el-table-column label="业务部门" align="center" width="200" prop="orgId" />
-          <el-table-column label="物料类别" align="center" prop="code" />
-          <el-table-column label="一级品类" align="center" width="150" prop="createTime" />
-          <el-table-column label="二级品类" align="center" width="150" prop="status"/>
-          <el-table-column label="三级品类" align="center" width="150" prop="materialCode" />
-          <el-table-column label="四级品类" align="center" width="150" prop="materialName" />
-          <el-table-column label="采购员名称" align="center" prop="createByName" />
-          <el-table-column label="采购员" align="center" width="150" prop="createTime" />
-          <el-table-column label="物料编码" align="center" width="120" prop="updateByName" />
-          <el-table-column label="物料名称" align="center" width="150" prop="updateTime" />
-          <el-table-column label="规格" align="center" width="150" prop="updateTime" />
-          <el-table-column label="生产厂家/代理人" align="center" width="150" prop="updateTime" />
-          <el-table-column label="注册人" align="center" width="150" prop="updateTime" />
-          <el-table-column label="采购周期" align="center" width="150" prop="updateTime" />
-          <el-table-column label="有效期单位" align="center" width="150" prop="updateTime" />
+          <el-table-column type="selection"/>
+          <el-table-column label="序号" type="index" align="center"/>
+          <el-table-column label="行状态" align="center" prop="status" />
+          <el-table-column label="行号" align="center" >
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.index"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="一级品类" align="center" width="150">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.materialClassifyOneName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="二级品类" align="center" width="150" prop="materialClassifyTwoName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.materialClassifyTwoName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="三级品类" align="center" width="150" prop="materialClassifyThreeName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.materialClassifyThreeName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="四级品类" align="center" width="150" prop="materialClassifyFourName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.materialClassifyFourName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="采购员名称" align="center" prop="buyerName" />
+          <el-table-column label="采购员" align="center" width="150" prop="buyer" />
+          <el-table-column label="物料编码" align="center" width="120" prop="material">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.material"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="物料名称" align="center" width="150" prop="materialName" />
+          <el-table-column label="规格" align="center" width="150" prop="specification" />
+          <el-table-column label="单位" align="center" width="150" prop="unit	" />
+          <el-table-column label="生产厂家/代理人" align="center" width="150" prop="registrant" />
+          <el-table-column label="注册人" align="center" width="150" prop="registrant" />
+          <el-table-column label="采购周期" align="center" width="150" prop="puPeriod">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.puPeriod"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="有效期单位" align="center" width="150" prop="expiryUnit" />
           <el-table-column label="有效期" align="center" width="150" prop="updateTime" />
-          <el-table-column label="最小包装" align="center" width="150" prop="updateTime" />
-          <el-table-column label="最小订货量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="最小批量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="安全库存" align="center" width="150" prop="updateTime" />
-          <el-table-column label="月均销量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="实际(业务)需求量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="需求可用周期" align="center" width="150" prop="updateTime" />
-          <el-table-column label="集团预测分类" align="center" width="150" prop="updateTime" />
-          <el-table-column label="交货日期" align="center" width="150" prop="updateTime" />
-          <el-table-column label="补单标识" align="center" width="150" prop="updateTime" />
-          <el-table-column label="批号锁定标识" align="center" width="150" prop="updateTime" />
-          <el-table-column label="业务备注" align="center" width="150" prop="updateTime" />
-          <el-table-column label="采购备注" align="center" width="150" prop="updateTime" />
-          <el-table-column label="末级供应仓库存量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="调拨占有量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="最终净需求量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="末级供应仓库" align="center" width="150" prop="updateTime" />
-          <el-table-column label="收货仓库" align="center" width="150" prop="updateTime" />
-          <el-table-column label="末级供应货位" align="center" width="150" prop="updateTime" />
-          <el-table-column label="收货货位编码" align="center" width="150" prop="updateTime" />
-          <el-table-column label="收货货位" align="center" width="150" prop="updateTime" />
-          <el-table-column label="紧急标识" align="center" width="150" prop="updateTime" />
-          <el-table-column label="默认采购组织" align="center" width="150" prop="updateTime" />
-          <el-table-column label="默认采购组织编码" align="center" width="150" prop="updateTime" />
-          <el-table-column label="末级供应调拨待入量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="上级供应中心现存量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="上级库存被调拨占用量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="可用量" align="center" width="150" prop="updateTime" />
-          <el-table-column label="调拨状态" align="center" width="150" prop="updateTime" />
-          <el-table-column label="补单供应商编码" align="center" width="150" prop="updateTime" />
-          <el-table-column label="补单供应商名称" align="center" width="150" prop="updateTime" />
-          <el-table-column label="周期单位" align="center" width="150" prop="updateTime" />
-          <el-table-column label="需求客户" align="center" width="150" prop="updateTime" />
-          <el-table-column label="末级供应库存组织" align="center" width="150" prop="updateTime" />
-          <el-table-column label="上级供应中心库存组织" align="center" width="150" prop="updateTime" />
-          <el-table-column label="调拨单号" align="center" width="150" prop="updateTime" />
-          <el-table-column label="收货地址" align="center" width="150" prop="updateTime" />
-          <el-table-column label="收货地址编码" align="center" width="150" prop="updateTime" />
-          <el-table-column label="联系人" align="center" width="150" prop="updateTime" />
-          <el-table-column label="联系人电话" align="center" width="150" prop="updateTime" />
-          <el-table-column label="详细地址" align="center" width="150" prop="updateTime" />
-          <el-table-column label="价格类型" align="center" width="150" prop="updateTime" />
+          <el-table-column label="最小包装" align="center" width="150" prop="minPackage" />
+          <el-table-column label="最小订货量" align="center" width="150" prop="minOrderQty" />
+          <el-table-column label="最小批量" align="center" width="150" prop="minBatch	" />
+          <el-table-column label="安全库存" align="center" width="150" prop="safeStock	">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.safeStock"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="月均销量" align="center" width="150" prop="averageQtyMonth" />
+          <el-table-column label="实际(业务)需求量" align="center" width="150" prop="qty">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.qty"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="需求可用周期" align="center" width="150" prop="demandPeriod" />
+          <el-table-column label="集团预测分类" align="center" width="150" prop="forecastClassify" />
+          <el-table-column label="交货日期" align="center" width="150" prop="deliveryDate">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.deliveryDate"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="补单标识" align="center" width="150" prop="isReplenishment">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.isReplenishment"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="批号锁定标识" align="center" width="150" prop="isBatchLock">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.isBatchLock"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="业务备注" align="center" width="150" prop="remark">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.remark"/>
+              </el-form-item>
+            </template>
+          </el-table-column> 
+          <el-table-column label="采购备注" align="center" width="150" prop="puRemark" />
+          <el-table-column label="末级供应仓库存量" align="center" width="150" prop="lastWarehouseQty" />
+          <!-- <el-table-column label="调拨占有量" align="center" width="150" prop="superiorAllotQty"></el-table-column> -->
+          <el-table-column label="最终净需求量" align="center" width="150" prop="resDemandQty">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.resDemandQty"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="末级供应仓库" align="center" width="150" prop="lastWarehouseName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.lastWarehouseName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="收货仓库" align="center" width="150" prop="deliveryWarehouseName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.deliveryWarehouseName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="末级供应货位" align="center" width="150" prop="lastAllocationName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.lastAllocationName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="收货货位编码" align="center" width="150" prop="deliveryAllocation" />
+          <el-table-column label="收货货位" align="center" width="150" prop="deliveryAllocationName">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.deliveryAllocationName"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="紧急标识" align="center" width="150" prop="isUrgency">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.isUrgency"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="默认采购组织" align="center" width="150" prop="purOrgName" />
+          <el-table-column label="默认采购组织编码" align="center" width="150" prop="puOrg" />
+          <el-table-column label="末级供应调拨待入量" align="center" width="150" prop="lastStockQty">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.lastStockQty"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="上级供应中心现存量" align="center" width="150" prop="superiorCenterQty" />
+          <el-table-column label="上级库存被调拨占用量" align="center" width="150" prop="superiorAllotQty" />
+          <el-table-column label="可用量" align="center" width="150" prop="availableQty" />
+          <el-table-column label="调拨状态" align="center" width="150" prop="statusAllot">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.statusAllot"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="补单供应商编码" align="center" width="150" prop="additionalSupplier">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.additionalSupplier"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="补单供应商名称" align="center" width="150" prop="additionalSupplierCode">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.additionalSupplierCode"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="周期单位" align="center" width="150" prop="periodUnit">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.periodUnit"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="需求客户" align="center" width="150" prop="customer">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.customer"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="末级供应库存组织" align="center" width="150" prop="updateTime"></el-table-column> -->
+          <!-- <el-table-column label="上级供应中心库存组织" align="center" width="150" prop="updateTime"></el-table-column> -->
+          <!-- <el-table-column label="调拨单号" align="center" width="150" prop="updateTime"></el-table-column> -->
+          <!-- <el-table-column label="收货地址" align="center" width="150" prop="updateTime"></el-table-column> -->
+          <!-- <el-table-column label="收货地址编码" align="center" width="150" prop="updateTime" /> -->
+          <el-table-column label="联系人" align="center" width="150" prop="contacts" />
+          <!-- <el-table-column label="联系人电话" align="center" width="150" prop="updateTime" /> -->
+          <!-- <el-table-column label="详细地址" align="center" width="150" prop="updateTime" /> -->
+          <!-- <el-table-column label="价格类型" align="center" width="150" prop="updateTime"></el-table-column> -->
           <el-table-column
           fixed="right"
           label="操作"
@@ -310,11 +461,12 @@
           width="150"
           >
           <template slot-scope="scope">
-            <el-button type="text" size="small">删除</el-button>
+            <el-button type="text" size="small" @click="delLine(scope.row)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
     </el-card>
+  </el-form>
 
     <div class="btn_group">
       <el-col :span="1.5">
@@ -331,9 +483,10 @@
 </template>
 
 <script>
+import {addDemand,getDemandDetail, getDemandSonDetail} from '@/api/purchase/purchaseDemand.js'
 export default {
   name: 'addDemandList',
-  props: ['pageStu'],
+  props: ['pageStu','row', 'disable'],
   model: {
     prop: 'isList',
     event: 'jugislist'
@@ -341,40 +494,188 @@ export default {
   data() {
     return {
       basicForm: {
-        dabm: '',
-        shdzdamc: '',
-        wlyjflbm: '',
-        wlyjflmc: '',
-        ck: '',
-        cksx: '',
-        shdzxx: '',
-        shr: '',
-        shrdh: '',
-        qy: '',
-        sftbnc: '',
-        bz: '',
-        cjr: '',
-        cjsj: '',
-        zhxgr: '',
-        zhxgsj: ''
+        code: '',
+        org: '',
+        demandBusinessType: '',
+        status: '',
+        customer: '',
+        customerName: '',
+        customerPrincipal: '',
+        demandPersonal: '',
+        demandDept: '',
+        demandDate: '',
+        source: '',
+        warehouse: '',
+        goodsAllocation: '',
+        billType: '',
+        isSpeical: '',
+        isProcess: '',
+        isMonthleyCalculate: '',
+        remark: '',
+        puDemandItemList: []
       },
       options: [{
-        value: 0, label: '仓库1'
+        value: '1', label: '是',
+      }, {
+        value: '0', label: '否'
       }],
       basicRules: {},
       tableList: []
     }
   },
+  created() {
+    if(this.pageStu == 'check') {
+      console.log('数据', this.row)
+      this.getDetails(this.row)
+    } else if(this.pageStu == 'edit') {
+      this.getDetails(this.row)
+    }
+  },
   methods: {
-    save() {},
+    save() {
+      if(this.pageStu == 'add') {
+        addDemand(this.basicForm).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("保存成功");
+            this.back()
+          }
+        })
+      } else if (this.pageStu == 'edit') {
+        // editAddress(this.basicForm).then(res => {
+        //   if (res.code === 200) {
+        //     this.$modal.msgSuccess("编辑成功");
+        //     this.back()
+        //   }
+        // })
+      }
+    },
     submit() {},
+    // 增行
+    addLine() {
+      const newLine = {
+        contacts: null,
+        id: null,
+        demandId: null,
+        status: null,
+        businessDept: null,
+        businessDeptName: null,
+        materialCategory: null,
+        buyer: null,
+        buyerName: null,
+        mateiralClassifyOne: null,
+        materialClassifyOneName: null,
+        materialClassifyTwo: null,
+        materialClassifyTwoName: null,
+        materialClassifyThree: null,
+        materialClassifyThreeName: null,
+        materialClassifyFour: null,
+        materialClassifyFourName: null,
+        material: null,
+        materialName: null,
+        specification: null,
+        unit: null,
+        registrant: null,
+        puPeriod: null,
+        expiryUnit: null,
+        minPackage: null,
+        minOrderQty: null,
+        minBatch: null,
+        safeStock: null,
+        averageQtyMonth: null,
+        qty: null,
+        adjustmentPersonal: null,
+        adjustmentTime: null,
+        manualRegulation: null,
+        updateCause: null,
+        reservedProportion: null,
+        reservedPeriod: null,
+        reservedQty: null,
+        demandPeriod: null,
+        forecastClassify: null,
+        deliveryDate: null,
+        isUrgency: null,
+        isReplenishment: null,
+        isBatchLock: null,
+        remark: null,
+        puRemark: null,
+        lastWarehouseQty: null,
+        resDemandQty: null,
+        lastWarehouse: null,
+        lastWarehouseName: null,
+        deliveryWarehouse: null,
+        deliveryWarehouseName: null,
+        lastAllocation: null,
+        lastAllocationName: null,
+        deliveryAllocation: null,
+        deliveryAllocationName: null,
+        passageOn: null,
+        puOrg: null,
+        purOrgName: null,
+        lastStockQty: null,
+        superiorCenterQty: null,
+        superiorAllotQty: null,
+        availableQty: null,
+        statusAllot: null,
+        additionalSupplier: null,
+        additionalSupplierCode: null,
+        periodUnit: null,
+        demandCustomer: null,
+        demandCustomerName: null,
+        lastStockOrg: null,
+        lastStockOrgName: null,
+        superiorStockOrg: null,
+        superiorStockOrgName: null,
+        allotCode: null,
+        deliveryAddress: null,
+        deliveryAddressName: null,
+        contacts: null,
+        contactsPhone: null,
+        address: null,
+        source: null,
+        priceType: null,
+        puManagerApprover: null,
+        puManagerApproverName: null,
+        processTime: null,
+        affirmer: null,
+        tenantId: null,
+        revision: null,
+        createBy: null,
+        createByName: null,
+        createTime: null,
+        updateBy: null,
+        updateByName: null,
+        updateTime: null,
+        delFlag: null
+      }
+      this.basicForm.puDemandItemList.push(newLine)
+    },
+    delLine(row) {
+      console.log('删除行:', row)
+    },
     back() {
       this.$emit('jugislist', true)
-      // let queryParams = {
-      //   pageNum: 1,
-      //   pageSize: 10
-      // }
-      // this.$emit('refresh', queryParams)
+      let queryParams = {
+        pageNum: 1,
+        pageSize: 10
+      }
+      this.$emit('refresh', queryParams)
+    },
+    // 如果需要回显则调用详情接口
+    getDetails(row) {
+      getDemandDetail(row.id).then(res => {
+        if (res.code === 200) {
+          // this.basicForm = res.data
+          let reciveForm = res.data
+          let params = {...{id: row.id}, ...{pageNum:1, pageSize: 10}}
+          getDemandSonDetail(params).then(res => {
+            if (res.code === 200) {
+              reciveForm.puDemandItemList = res.rows
+              console.log('reciveForm',reciveForm)
+              this.basicForm = reciveForm
+            }
+          })
+        }
+      })
     },
     handleSelectionChange() {},
   }
@@ -393,4 +694,10 @@ export default {
   display: flex;
   justify-content: flex-end;
 }
+.hang {
+  margin: auto;
+}
+.hang ::v-deep .el-form-item__content{
+  margin-left: 0px !important;
+}
 </style>

+ 50 - 85
src/views/purchase/PurchaseDemandList/index.vue

@@ -5,7 +5,7 @@
         <el-row :gutter="10">
           <el-col :span="1.5">
             <el-form-item label="单据编码">
-              <el-select v-model="queryParams.oneCode" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.code" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -17,7 +17,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="供应仓库">
-              <el-select v-model="queryParams.oneName" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.warehouse" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -29,7 +29,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="需求客户">
-              <el-select v-model="queryParams.twoCode" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.customer" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -41,19 +41,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="是否已处理需求">
-              <el-select v-model="queryParams.twoName" size="small" style="width: 200px" clearable placeholder="请选择">
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="业务部门">
-              <el-select v-model="queryParams.threeCode" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.isProcess" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -77,7 +65,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="需求人员">
-              <el-select v-model="queryParams.fourCode" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.demandPersonal" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -89,7 +77,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="供应货位">
-              <el-select v-model="queryParams.fourName" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.goodsAllocation" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -101,7 +89,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="单据来源">
-              <el-select v-model="queryParams.code" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.source" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -113,7 +101,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="业务类型">
-              <el-select v-model="queryParams.name" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.billType" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -125,19 +113,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="需求部门">
-              <el-select v-model="queryParams.ddman" size="small" style="width: 200px" clearable placeholder="请选择">
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="周期单位">
-              <el-select v-model="queryParams.cgman" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.demandDept" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -148,42 +124,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="1.5">
-            <el-form-item label="合理性校验结果">
-            <el-input
-              v-model="queryParams.sccj"
-              size="small"
-              placeholder=""
-              clearable
-              style="width: 200px"
-            />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
             <el-form-item label="需求日期">
             <el-input
-              v-model="queryParams.bz"
-              size="small"
-              placeholder=""
-              clearable
-              style="width: 200px"
-            />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="创建时间">
-            <el-input
-              v-model="queryParams.bz"
-              size="small"
-              placeholder=""
-              clearable
-              style="width: 200px"
-            />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="物料编码">
-            <el-input
-              v-model="queryParams.bz"
+              v-model="queryParams.demandDate"
               size="small"
               placeholder=""
               clearable
@@ -194,7 +137,7 @@
           <el-col :span="1.5">
             <el-form-item label="备注">
             <el-input
-              v-model="queryParams.bz"
+              v-model="queryParams.remark"
               size="small"
               placeholder=""
               clearable
@@ -266,9 +209,9 @@
           width="150"
           >
           <template slot-scope="scope">
-            <el-button type="text" size="small">查看</el-button>
-            <el-button type="text" size="small">编辑</el-button>
-            <el-button type="text" size="small">删除</el-button>
+            <el-button type="text" size="small" @click="check(scope.row)">查看</el-button>
+            <el-button type="text" size="small" @click="edit(scope.row)">编辑</el-button>
+            <el-button type="text" size="small" @click="deleteids(scope.row)">删除</el-button>
           </template>
         </el-table-column>
         </el-table>
@@ -285,7 +228,7 @@
       </el-card>
     </div>
 
-    <Add v-model="isList" v-if="!isList" :pageStu="page"/>
+    <Add v-model="isList" v-if="!isList" :pageStu="page" :disable="disable" :row="rowDetail" @refresh="getList"/>
   </div>
 </template>
 
@@ -304,20 +247,18 @@ export default {
       // 页面状态
       page: '',
       queryParams: {
-        oneCode: '',
-        oneName: '',
-        twoCode: '',
-        twoName: '',
-        threeCode: '',
-        threeName: '',
-        fourCode: '',
-        fourName: '',
         code: '',
-        name: '',
-        ddman: '',
-        cgman: '',
-        sccj: '',
-        bz: '',
+        warehouse: '',
+        customer: '',
+        isProcess: '',
+        threeName: '',
+        demandPersonal: '',
+        goodsAllocation: '',
+        source: '',
+        billType: '',
+        demandDept: '',
+        demandDate: '',
+        remark: '',
         pageNum: 1,
         pageSize: 10
       },
@@ -351,6 +292,30 @@ export default {
     addDivision() {
       this.isList = false
       this.page = 'add'
+      this.disable = false
+    },
+    check(row) {
+      this.isList = false
+      this.page = 'check'
+      this.rowDetail = row
+      this.disable = true
+    },
+    edit(row) {
+      this.isList = false
+      this.page = 'edit'
+      this.rowDetail = row
+      this.disable = false
+    },
+    deleteids(row) {
+      console.log('row', row)
+      this.$modal.confirm('确认信息').then(() => {
+        // delAddress(row.id).then(res => {
+        //   if (res.code === 200) {
+        //     this.$modal.msgSuccess("删除成功");
+        //     this.getList(this.queryParams)
+        //   }
+        // })
+        }).catch(() => {})
     },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`);