Selaa lähdekoodia

Merge branch 'purchaseDev' of http://172.16.100.139/new-business/drp-web into purchaseDev

002201 2 vuotta sitten
vanhempi
commit
72cc5bccd9

+ 40 - 0
src/api/purchase/basic.js

@@ -0,0 +1,40 @@
+import request from '@/utils/request'
+
+// 获取物料分工列表
+export function getDivisionList(data) {
+  return request({
+    url: `/material/division/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
+}
+// 物料分工新增
+export function addDivision(data) {
+  return request({
+    url: `/material/division/add`,
+    method: 'post',
+    data: data
+  })
+}
+// 物料分工编辑保存
+export function editDivision(data) {
+  return request({
+    url: `/material/division/edit`,
+    method: 'put',
+    data: data
+  })
+}
+// 物料分工详情
+export function getDivisions(id) {
+  return request({
+    url: `/material/division/detail/${id}`,
+    method: 'get',
+  })
+}
+// 物料分工删除
+export function delDivision(ids) {
+  return request({
+    url: `/material/division/delete/${ids}`,
+    method: 'DELETE',
+  })
+}

+ 40 - 0
src/api/purchase/deliveryAddress.js

@@ -0,0 +1,40 @@
+import request from '@/utils/request'
+
+// 获取收货地址档案列表
+export function getAddressList(data) {
+  return request({
+    url: `/pu/delivery/address/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
+}
+// 收货地址档案新增
+export function addAddress(data) {
+  return request({
+    url: `/pu/delivery/address/add`,
+    method: 'post',
+    data: data
+  })
+}
+// 收货地址档案修改保存
+export function editAddress(data) {
+  return request({
+    url: `/pu/delivery/address/edit`,
+    method: 'put',
+    data: data
+  })
+}
+// 收货地址档案详情
+export function getAddressDetail(id) {
+  return request({
+    url: `/pu/delivery/address/detail/${id}`,
+    method: 'get',
+  })
+}
+// 收货地址档案删除
+export function delAddress(ids) {
+  return request({
+    url: `/pu/delivery/address/delete/${ids}`,
+    method: 'DELETE',
+  })
+}

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

@@ -0,0 +1,33 @@
+import request from '@/utils/request'
+
+// 采购需求单列表
+export function getDemandList(data) {
+  return request({
+    url: `/pu/demand/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    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
+  })
+}

+ 293 - 108
src/views/purchase/MaterialClassDivision/add.vue

@@ -4,13 +4,9 @@
       <el-row :gutter="10">
         <el-col :span="1.5">
             <el-form-item label="物料分类编码">
-              <el-input
-                v-model="basicForm.materialClassify"
-                size="small"
-                placeholder=""
-                clearable
-                style="width: 200px"
-              />
+              <el-input :disabled="disable"  size="small" style="width: 200px" readonly v-model="basicForm.materialClassify">
+                <el-button slot="append" icon="el-icon-more" @click="chooseFourClass"></el-button>
+              </el-input>
             </el-form-item>
          </el-col>
 
@@ -19,7 +15,7 @@
               <el-input
                 v-model="basicForm.materialClassifyName"
                 size="small"
-                placeholder=""
+                disabled
                 clearable
                 style="width: 200px"
               />
@@ -28,92 +24,81 @@
 
          <el-col :span="1.5">
             <el-form-item label="一级分类编码">
-              <el-select v-model="basicForm.materialClassifyOne" 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-input
+                v-model="basicForm.materialClassifyOne"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="一级分类名称">
-              <el-select v-model="basicForm.materialClassifyOneName" 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-input
+                v-model="basicForm.materialClassifyOneName"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="二级分类名称">
-              <el-select v-model="basicForm.materialClassifyTwoName" 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-input
+                v-model="basicForm.materialClassifyTwoName"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="三级分类名称">
-              <el-select v-model="basicForm.materialClassifyThreeName" 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-input
+                v-model="basicForm.materialClassifyThreeName"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="四级分类名称">
-              <el-select v-model="basicForm.materialClassifyFourName" 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-input
+                v-model="basicForm.materialClassifyFourName"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
-         <el-col :span="1.5">
+          <el-col :span="1.5">
             <el-form-item label="物料编码">
-              <el-select v-model="basicForm.material" 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-input :disabled="disable" style="width: 200px" size="small" readonly v-model="basicForm.material">
+                  <el-button slot="append" icon="el-icon-more" @click="test01"></el-button>
+              </el-input>
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="物料名称">
-              <el-select v-model="basicForm.materialName" 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-input
+                v-model="basicForm.materialName"
+                size="small"
+                disabled
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
@@ -122,7 +107,7 @@
               <el-input
                 v-model="basicForm.manufacturer"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
@@ -131,50 +116,74 @@
 
           <el-col :span="1.5">
             <el-form-item label="所属组织">
-              <el-input
-                v-model="basicForm.org"
-                size="small"
-                placeholder=""
-                clearable
-                style="width: 200px"
-              />
+              <el-select
+                    ref="organizations"
+                    v-model="basicForm.org"
+                    size="small"
+                    style="width: 200px"
+                    :disabled="disable"
+                    clearable
+                    @focus="chooseOrganizations"
+                  >
+                    <el-option
+                      v-for="item in organizationsOptions"
+                      :key="item.id"
+                      :label="item.label"
+                      :value="item.id"
+                    />
+                </el-select>
             </el-form-item>
          </el-col>
 
           <el-col :span="1.5">
             <el-form-item label="订单员">
-              <el-input
-                v-model="basicForm.orderPersonal"
-                size="small"
-                placeholder=""
-                clearable
-                style="width: 200px"
-              />
+              <el-select
+                  ref="staffs"
+                  size="small"
+                  style="width: 200px"
+                  :disabled="disable"
+                  v-model="basicForm.orderPersonal"
+                  clearable
+                  @focus="chooseStaff"
+                >
+                  <el-option
+                    v-for="item in staffOptions"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.code"
+                  />
+              </el-select>
             </el-form-item>
          </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="订单部门">
-              <el-select v-model="basicForm.orderDept" 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-input
+                v-model="basicForm.orderDept"
+                size="small"
+                disabled
+                style="width: 200px"
+              />
             </el-form-item>
           </el-col>
 
          <el-col :span="1.5">
             <el-form-item label="采购员">
-              <el-select v-model="basicForm.buyer" 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
+                  ref="staffs2"
+                  size="small"
+                  style="width: 200px"
+                  :disabled="disable"
+                  v-model="basicForm.buyer"
+                  clearable
+                  @focus="chooseStaff2"
+                >
+                  <el-option
+                    v-for="item in staff2Options"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.code"
+                  />
               </el-select>
             </el-form-item>
           </el-col>
@@ -184,8 +193,7 @@
               <el-input
                 v-model="basicForm.puDept"
                 size="small"
-                placeholder=""
-                clearable
+                disabled
                 style="width: 200px"
               />
             </el-form-item>
@@ -196,8 +204,7 @@
               <el-input
                 v-model="basicForm.sendStatus"
                 size="small"
-                placeholder=""
-                clearable
+                disabled
                 style="width: 200px"
               />
             </el-form-item>
@@ -208,7 +215,7 @@
               <el-input
                 v-model="basicForm.remark"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
@@ -228,13 +235,63 @@
         <el-button size="small" plain @click="back">返回</el-button>
       </el-col>
     </div>
+
+    <fourClass
+      ref="fourClass"
+      @doSubmit="acceptFourClass"
+      :single="true"
+    />
+
+    <popDialog
+      ref="contractSelect"
+      @doSubmit="selectionsToInput"
+      :single="true"
+    />
+
+    <orgs
+      ref="orgs"
+      @doSubmit="acceptOrgs"
+      :single="true"
+    />
+
+    <staff
+      ref="staff"
+      @doSubmit="acceptStaff"
+      :single="true"
+    />
+
+    <staff2
+      ref="staff2"
+      @doSubmit="acceptStaff2"
+      :single="true"
+    />
   </div>
 </template>
 
 <script>
+import {addDivision, getDivisions, editDivision} from '@/api/purchase/basic.js'
+// 物料分类
+import fourClass from '@/components/PopDialog/fourClass.vue'
+// 调用物料分类详情接口用于数据回显
+import { getDetail } from '@/api/classify/basic';
+// 物料编码
+import popDialog from '@/components/PopDialog/index.vue'
+// 公用一个树形(组织部门传值不同)
+import orgs from '@/components/PopDialog/organization.vue'
+import staff from '@/components/PopDialog/staff.vue'
+import staff2 from '@/components/PopDialog/staff.vue'
+// 所属组织,订单员用于回显
+import { getOrgs, getStaff} from '@/api/requisition/basic'
 export default {
   name: 'addDivision',
-  props: ['pageStu'],
+  components: {
+    fourClass,
+    popDialog,
+    orgs,
+    staff,
+    staff2
+  },
+  props: ['pageStu','row', 'disable'],
   model: {
     prop: 'isList',
     event: 'jugislist'
@@ -268,20 +325,148 @@ export default {
       options: [{
         value: 0, label: '仓库1'
       }],
+      organizationsOptions: [],
+      staffOptions: [],
+      staff2Options: [],
       basicRules: {}
     }
   },
+  mounted() {
+    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') {
+        addDivision(this.basicForm).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("保存成功");
+            this.back()
+          }
+        })
+      } else if(this.pageStu == 'edit') {
+        editDivision(this.basicForm).then(res => {
+          this.$modal.msgSuccess("编辑成功");
+          this.back()
+        })
+      }
+    },
     submit() {},
     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) {
+      getDivisions(row.id).then(res => {
+        if (res.code === 200) {
+          this.basicForm = res.data
+          this.getOrgDetails(res.data.org)
+          this.getStaffDetails(res.data.orderPersonal)
+          this.getStaffDetails2(res.data.buyer)
+        }
+      })
+    },
+    // 选择物料分类
+    acceptFourClass(selections) {
+      console.log('收到的四级分类',selections)
+      this.basicForm.materialClassify = selections.code
+      this.basicForm.materialClassifyName = selections.materialType
+      this.getTreeDetails(selections.id)
+    },
+    // 物料分类显示列表
+    chooseFourClass() {
+      this.$refs.fourClass.init()
+    },
+    // 选择物料分类后需要根据id再次查询一下123级分类
+    getTreeDetails(id) {
+      getDetail(id).then(res => {
+        if (res.code === 200) {
+          this.basicForm.materialClassifyOneName = res.data.oneClass
+          this.basicForm.materialClassifyTwoName = res.data.twoClass
+          this.basicForm.materialClassifyThreeName = res.data.threeClass
+          this.basicForm.materialClassifyFourName = res.data.fourClass
+        }
+      })
+    },
+    selectionsToInput (selections) {
+      console.log('父组件拿到的:', selections)
+      this.selectData = selections
+      this.basicForm.material = selections[0].code
+      this.basicForm.materialName = selections[0].name
+    },
+    // 显示物料编码列表
+    test01() {
+      console.log('测试点击')
+      this.$refs.contractSelect.init()
+    },
+    // 选择默认采购组织
+    acceptOrgs (selections) {
+      console.log('接收的采购组织', selections)
+      this.basicForm.org = selections.id
+      this.getOrgDetails(selections.id)
+    },
+    // 默认采购组织显示列表
+    chooseOrganizations () {
+      this.$refs.organizations.blur()
+      this.$refs.orgs.init('1')
+    },
+    // 采购组织回显
+    getOrgDetails(id) {
+      getOrgs({deptId: id}).then(res => {
+        if (res.code === 200) {
+          this.organizationsOptions = res.data
+        }
+      })
+    },
+    // 选择订单员
+    acceptStaff (selections) {
+      this.staffOptions = selections
+      this.basicForm.orderPersonal = selections[0].code
+      this.getStaffDetails(selections[0].id)
+    },
+    // 订单员显示列表
+    chooseStaff () {
+      this.$refs.staffs.blur()
+      this.$refs.staff.init()
+    },
+    // 订单员回显
+    getStaffDetails(id) {
+      getStaff({id:id}).then(res => {
+        console.log('订单员', res)
+        if (res.code === 200 ) {
+          this.staffOptions = res.data.tableBody
+        }
+      })
+    },
+    // 选择采购员
+    acceptStaff2 (selections) {
+      this.staff2Options = selections
+      this.basicForm.buyer = selections[0].code
+      this.getStaffDetails2(selections[0].id)
+    },
+    // 采购员显示列表
+    chooseStaff2 () {
+      this.$refs.staffs2.blur()
+      this.$refs.staff2.init()
+    },
+    // 采购员回显
+    getStaffDetails2(id) {
+      getStaff({id:id}).then(res => {
+        console.log('采购员', res)
+        if (res.code === 200 ) {
+          this.staff2Options = res.data.tableBody
+        }
+      })
+    },
   }
 }
 </script>

+ 94 - 32
src/views/purchase/MaterialClassDivision/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.materialClassifyOne" 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.materialClassifyOneName" 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.materialClassifyTwo" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -41,7 +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-select v-model="queryParams.materialClassifyTwoName" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -53,7 +53,7 @@
           </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.materialClassifyThree" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -65,7 +65,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-form-item label="物料三级大类名称">
-              <el-select v-model="queryParams.threeName" size="small" style="width: 200px" clearable placeholder="请选择">
+              <el-select v-model="queryParams.materialClassifyThreeName" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -77,7 +77,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.materialClassifyFour" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -89,7 +89,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.materialClassifyFourName" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -101,7 +101,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.material" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -113,7 +113,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.materialName" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -125,7 +125,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-select v-model="queryParams.orderPersonal" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -137,7 +137,7 @@
           </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.buyer" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -150,7 +150,7 @@
           <el-col :span="1.5">
             <el-form-item label="生产厂家">
             <el-input
-              v-model="queryParams.sccj"
+              v-model="queryParams.manufacturer"
               size="small"
               placeholder=""
               clearable
@@ -161,7 +161,7 @@
           <el-col :span="1.5">
             <el-form-item label="备注">
             <el-input
-              v-model="queryParams.bz"
+              v-model="queryParams.remark"
               size="small"
               placeholder=""
               clearable
@@ -238,20 +238,32 @@
           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" @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>
+
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="1"
+          :page-sizes="[5, 10, 15, 20]"
+          :page-size="100"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total=total>
+        </el-pagination>
       </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>
 
 <script>
 import Add from './add.vue'
+import {getDivisionList, delDivision} from '@/api/purchase/basic.js'
 export default {
   name: 'MaterialClassDivision',
   components: {
@@ -264,28 +276,44 @@ export default {
       // 页面状态
       page: '',
       queryParams: {
-        oneCode: '',
-        oneName: '',
-        twoCode: '',
-        twoName: '',
-        threeCode: '',
-        threeName: '',
-        fourCode: '',
-        fourName: '',
-        code: '',
-        name: '',
-        ddman: '',
-        cgman: '',
-        sccj: '',
-        bz: ''
+        materialClassifyOne: '',
+        materialClassifyOneName: '',
+        materialClassifyTwo: '',
+        materialClassifyTwoName: '',
+        materialClassifyThree: '',
+        materialClassifyThreeName: '',
+        materialClassifyFour: '',
+        materialClassifyFourName: '',
+        material: '',
+        materialName: '',
+        orderPersonal: '',
+        buyer: '',
+        manufacturer: '',
+        remark: '',
+        pageNum: 1,
+        pageSize: 10
       },
       options: [{
         value: 0, label: '仓库1'
       }],
-      tableList: []
+      tableList: [],
+      total: 0,
+      rowDetail: {},
+      disable: false
     }
   },
+  created() {
+    this.getList(this.queryParams)
+  },
   methods: {
+    getList(params){
+      getDivisionList(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+      })
+    },
     handleSelectionChange() {},
     handleCommand(command) {
       alert(command)
@@ -293,6 +321,40 @@ 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(() => {
+        delDivision(row.id).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.getList(this.queryParams)
+          }
+        })
+        }).catch(() => {})
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+      this.queryParams.pageSize = val
+      this.getList(this.queryParams)
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.queryParams.pageNum = val
+      this.getList(this.queryParams)
     }
   }
 }

+ 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>

+ 105 - 103
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,7 +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-select v-model="queryParams.demandDept" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -136,54 +124,9 @@
             </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-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-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
@@ -245,22 +188,20 @@
           @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 label="编码" align="center" prop="code"/>
+          <el-table-column label="需求日期" align="center" width="200" prop="demandDate" />
+          <el-table-column label="单据状态" align="center" prop="status" />
+          <el-table-column label="是否已处理需求" align="center" width="150" prop="isProcess" />
+          <el-table-column label="业务类型" align="center" width="150" prop="billType"/>
+          <el-table-column label="是否特殊需求" align="center" width="150" prop="isSpeical" />
+          <el-table-column label="需求人员" align="center" width="150" prop="demandPersonalName" />
+          <el-table-column label="需求客户" align="center" prop="customerName" />
+          <el-table-column label="需求部门" align="center" width="150" prop="demandDeptName" />
+          <el-table-column label="供应仓库" align="center" width="120" prop="warehouseName" />
+          <el-table-column label="供应货位" align="center" width="150" prop="goodsAllocationName" />
+          <el-table-column label="单据来源" align="center" width="150" prop="source" />
+          <el-table-column label="组织" align="center" width="150" prop="orgName" />
+          <el-table-column label="备注" align="center" width="150" prop="remark" />
           <el-table-column
           fixed="right"
           label="操作"
@@ -268,21 +209,32 @@
           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>
+
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="1"
+          :page-sizes="[5, 10, 15, 20]"
+          :page-size="100"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total=total>
+        </el-pagination>
       </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>
 
 <script>
 import Add from './add.vue'
+import {getDemandList} from '@/api/purchase/purchaseDemand.js'
 export default {
   name: 'PurchaseDemandList',
   components: {
@@ -295,28 +247,44 @@ 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
       },
       options: [{
-        value: 0, label: '仓库1'
+        value: '1', label: '是',
+      }, {
+        value: '0', label: '否'
       }],
-      tableList: []
+      tableList: [],
+      total: 0,
+      rowDetail: {},
+      disable: false
     }
   },
+  created() {
+    this.getList(this.queryParams)
+  },
   methods: {
+    getList(params){
+      getDemandList(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+      })
+    },
     handleSelectionChange() {},
     handleCommand(command) {
       alert(command)
@@ -324,6 +292,40 @@ 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} 条`);
+      this.queryParams.pageSize = val
+      this.getList(this.queryParams)
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.queryParams.pageNum = val
+      this.getList(this.queryParams)
     }
   }
 }

+ 100 - 129
src/views/purchase/deliveryAddress/add.vue

@@ -3,11 +3,11 @@
     <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
       <el-row :gutter="10">
         <el-col :span="1.5">
-            <el-form-item label="档案编码">
+            <el-form-item label="收货仓库编码">
               <el-input
-                v-model="basicForm.dabm"
+                v-model="basicForm.code"
                 size="small"
-                placeholder=""
+                disabled
                 clearable
                 style="width: 200px"
               />
@@ -15,46 +15,32 @@
          </el-col>
 
         <el-col :span="1.5">
-            <el-form-item label="收货地址档案名称">
+            <el-form-item label="收货仓库名称">
               <el-input
-                v-model="basicForm.shdzdamc"
+                v-model="basicForm.name"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
             </el-form-item>
          </el-col>
 
-         <el-col :span="1.5">
-            <el-form-item label="物料一级大类编码">
-              <el-select v-model="basicForm.wlyjflbm" 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="basicForm.wlyjflmc" 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-col :span="1.5">
+            <el-form-item label="仓库档案名称">
+              <el-input
+                v-model="basicForm.warehouseCode"
+                size="small"
+                :disabled="disable"
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
-          </el-col>
+         </el-col>
 
          <el-col :span="1.5">
-            <el-form-item label="仓库">
-              <el-select v-model="basicForm.ck" size="small" style="width: 200px" clearable placeholder="请选择">
+            <el-form-item label="仓库属性">
+              <el-select v-model="basicForm.warehouseProperty" size="small" style="width: 200px" clearable :disabled="disable">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -65,25 +51,24 @@
             </el-form-item>
           </el-col>
 
-         <el-col :span="1.5">
-            <el-form-item label="仓库属性">
-              <el-select v-model="basicForm.cksx" 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-col :span="1.5">
+            <el-form-item label="地址信息">
+              <el-input
+                v-model="basicForm.address"
+                size="small"
+                :disabled="disable"
+                clearable
+                style="width: 200px"
+              />
             </el-form-item>
-          </el-col>
+         </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="收货地址信息">
+            <el-form-item label="联系人">
               <el-input
-                v-model="basicForm.shdzxx"
+                v-model="basicForm.contactsName"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
@@ -91,11 +76,11 @@
          </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="收货人">
+            <el-form-item label="联系人电话">
               <el-input
-                v-model="basicForm.shr"
+                v-model="basicForm.contactsPhone"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
@@ -103,11 +88,11 @@
          </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="收货人电话">
+            <el-form-item label="物料分类">
               <el-input
-                v-model="basicForm.shrdh"
+                v-model="basicForm.materialClassify"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
@@ -116,7 +101,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.status" size="small" style="width: 200px" clearable :disabled="disable">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -128,8 +113,8 @@
           </el-col>
 
          <el-col :span="1.5">
-            <el-form-item label="是否同步NC">
-              <el-select v-model="basicForm.sftbnc" size="small" style="width: 200px" clearable placeholder="请选择">
+            <el-form-item label="同步状态">
+              <el-select v-model="basicForm.sendStatus" size="small" style="width: 200px" clearable :disabled="disable">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -143,62 +128,15 @@
           <el-col :span="1.5">
             <el-form-item label="备注">
               <el-input
-                v-model="basicForm.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="basicForm.cjr"
-                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="basicForm.cjsj"
+                v-model="basicForm.remark"
                 size="small"
-                placeholder=""
+                :disabled="disable"
                 clearable
                 style="width: 200px"
               />
             </el-form-item>
          </el-col>
 
-          <el-col :span="1.5">
-            <el-form-item label="最后修改人">
-              <el-input
-                v-model="basicForm.zhxgr"
-                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="basicForm.zhxgsj"
-                size="small"
-                placeholder=""
-                clearable
-                style="width: 200px"
-              />
-            </el-form-item>
-         </el-col>
       </el-row>
     </el-form>
 
@@ -217,9 +155,10 @@
 </template>
 
 <script>
+import {addAddress, getAddressDetail, editAddress} from '@/api/purchase/deliveryAddress.js'
 export default {
   name: 'addAddress',
-  props: ['pageStu'],
+  props: ['pageStu','row', 'disable'],
   model: {
     prop: 'isList',
     event: 'jugislist'
@@ -227,40 +166,72 @@ export default {
   data() {
     return {
       basicForm: {
-        dabm: '',
-        shdzdamc: '',
-        wlyjflbm: '',
-        wlyjflmc: '',
-        ck: '',
-        cksx: '',
-        shdzxx: '',
-        shr: '',
-        shrdh: '',
-        qy: '',
-        sftbnc: '',
-        bz: '',
-        cjr: '',
-        cjsj: '',
-        zhxgr: '',
-        zhxgsj: ''
+        code: '',
+        name: '',
+        warehouse: '',
+        warehouseCode: '',
+        warehouseProperty: '',
+        address: '',
+        contacts: '',
+        contactsName: '',
+        contactsPhone: '',
+        materialClassify: '',
+        materialClassifyName: '',
+        status: '',
+        sendStatus: '',
+        remark: '',
       },
       options: [{
-        value: 0, label: '仓库1'
+        value: '1', label: '是',
+      }, {
+        value: '0', label: '否'
       }],
       basicRules: {}
     }
   },
+  mounted() {
+    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') {
+        addAddress(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() {},
     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) {
+      getAddressDetail(row.id).then(res => {
+        if (res.code === 200) {
+          this.basicForm = res.data
+        }
+      })
+    },
   }
 }
 </script>

+ 142 - 53
src/views/purchase/deliveryAddress/index.vue

@@ -4,8 +4,8 @@
       <el-form class="search_area" label-width="auto">
         <el-row :gutter="10">
           <el-col :span="1.5">
-            <el-form-item label="仓库">
-              <el-select v-model="queryParams.ck" size="small" style="width: 200px" clearable placeholder="请选择">
+            <el-form-item label="仓库属性">
+              <el-select v-model="queryParams.warehouseProperty" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -17,8 +17,8 @@
           </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="仓库属性">
-              <el-select v-model="queryParams.cksx" size="small" style="width: 200px" clearable placeholder="请选择">
+            <el-form-item label="仓库档案名称">
+              <el-select v-model="queryParams.warehouseCode" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -30,24 +30,21 @@
           </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="物料一级分类">
-              <el-select v-model="queryParams.wlyjfl" 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 label="收货仓库编码">
+              <el-input
+              v-model="queryParams.code"
+              size="small"
+              clearable
+              style="width: 200px"
+            />
             </el-form-item>
           </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="收货地址档案名称">
-            <el-input
-              v-model="queryParams.shdzdamc"
+            <el-form-item label="收货仓库名称">
+              <el-input
+              v-model="queryParams.name"
               size="small"
-              placeholder=""
               clearable
               style="width: 200px"
             />
@@ -55,9 +52,22 @@
           </el-col>
 
           <el-col :span="1.5">
+            <el-form-item label="物料分类">
+              <el-select v-model="queryParams.materialClassify" 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-input
-              v-model="queryParams.xxdz"
+              v-model="queryParams.address"
               size="small"
               placeholder=""
               clearable
@@ -69,7 +79,7 @@
           <el-col :span="1.5">
             <el-form-item label="联系人">
             <el-input
-              v-model="queryParams.lxr"
+              v-model="queryParams.contactsName"
               size="small"
               placeholder=""
               clearable
@@ -81,7 +91,7 @@
           <el-col :span="1.5">
             <el-form-item label="联系人电话">
             <el-input
-              v-model="queryParams.lxrdh"
+              v-model="queryParams.contactsPhone"
               size="small"
               placeholder=""
               clearable
@@ -93,7 +103,7 @@
           <el-col :span="1.5">
             <el-form-item label="备注">
             <el-input
-              v-model="queryParams.bz"
+              v-model="queryParams.remark"
               size="small"
               placeholder=""
               clearable
@@ -105,7 +115,7 @@
           <el-col :span="1.5">
             <el-form-item label="同步状态">
             <el-input
-              v-model="queryParams.tbzt"
+              v-model="queryParams.sendStatus"
               size="small"
               placeholder=""
               clearable
@@ -115,8 +125,8 @@
           </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="启用状态">
-              <el-select v-model="queryParams.qyzt" size="small" style="width: 200px" clearable placeholder="请选择">
+            <el-form-item label="启用">
+              <el-select v-model="queryParams.status" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
@@ -173,31 +183,54 @@
           @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" width="120" prop="approver" />
-          <el-table-column label="最后审核时间" align="center" width="150" prop="approvalTime" /> -->
-          <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" prop="warehouseProperty"/>
+          <el-table-column label="仓库档案名称" align="center" width="200" prop="warehouseCode"/>
+          <el-table-column label="收货仓库编码" align="center" prop="code" />
+          <el-table-column label="收货仓库名称" align="center" width="150" prop="name"/>
+          <el-table-column label="详细地址" align="center" width="150" prop="address"/>
+          <el-table-column label="物料分类" align="center" width="150" prop="materialClassifyName" />
+          <el-table-column label="联系人" align="center" width="150" prop="contactsName" />
+          <el-table-column label="联系人电话" align="center" prop="contactsPhone" />
+          <el-table-column label="NC档案ID" align="center" width="150" prop="createTime" />
+          <el-table-column label="备注" align="center" width="120" prop="remark" />
+          <el-table-column label="创建人" align="center" width="150" prop="createByName" />
+          <el-table-column label="创建时间" align="center" width="150" prop="createTime" />
+          <el-table-column label="修改人" align="center" width="150" prop="updateByName" />
+          <el-table-column label="修改时间" align="center" width="150" prop="updateTime" />
+          <el-table-column label="同步状态" align="center" width="150" prop="sendStatus" />
+          <el-table-column label="启用" align="center" width="150" prop="status" />
+          <el-table-column
+          fixed="right"
+          label="操作"
+          align="center"
+          width="150"
+          >
+          <template slot-scope="scope">
+            <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>
+
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="1"
+          :page-sizes="[5, 10, 15, 20]"
+          :page-size="100"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total=total>
+        </el-pagination>
       </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>
 
 <script>
 import Add from './add.vue'
+import {getAddressList, delAddress} from '@/api/purchase/deliveryAddress.js'
 export default {
   name: 'deliveryAddress',
   components: {
@@ -211,24 +244,46 @@ export default {
       page: '',
       // 搜索框参数
       queryParams: {
-        ck: '',
-        cksx: '',
-        wlyjfl: '',
-        shdzdamc: '',
-        xxdz: '',
-        lxr: '',
-        lxrdh: '',
-        bz: '',
-        tbzt: '',
-        qyzt: ''
+        code: '',
+        name: '',
+        warehouse: '',
+        warehouseCode: '',
+        warehouseProperty: '',
+        address: '',
+        contacts: '',
+        contactsName: '',
+        contactsPhone: '',
+        materialClassify: '',
+        materialClassifyName: '',
+        status: '',
+        sendStatus: '',
+        remark: '',
+        pageNum: 1,
+        pageSize: 10
       },
       options: [{
-        value: 0, label: '仓库1'
+        value: '1', label: '是',
+      }, {
+        value: '0', label: '否'
       }],
-      tableList: []
+      tableList: [],
+      total: 0,
+      rowDetail: {},
+      disable: false
     }
   },
+  created() {
+    this.getList(this.queryParams)
+  },
   methods: {
+    getList(params){
+      getAddressList(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+      })
+    },
     handleSelectionChange() {},
     handleCommand(command) {
       alert(command)
@@ -236,6 +291,40 @@ export default {
     addAddress() {
       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} 条`);
+      this.queryParams.pageSize = val
+      this.getList(this.queryParams)
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.queryParams.pageNum = val
+      this.getList(this.queryParams)
     }
   }
 }

+ 1 - 1
vue.config.js

@@ -36,7 +36,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `https://release-sy.derom.com/drp-admin`, //测试
+        target: `http://release-sy.derom.com/drp-admin`, //测试
         // target: `http://sy.derom.com/drp-admin`, //生产
         // target: `http://172.16.63.202:8000/drp-admin`, // D本地
         // target: `http://172.16.62.241:8000/drp-admin`, //笑寒本地