Ver Fonte

收货地址档案增删改查接口

黄梓星 há 2 anos atrás
pai
commit
e322de5442

+ 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',
+  })
+}

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