Browse Source

no message

linwenxin 7 tháng trước cách đây
mục cha
commit
ac3e2dfd4e

+ 45 - 0
src/api/material-system/center/center-old-parts-shop-out.js

@@ -0,0 +1,45 @@
+import request, { postBlob, handleImport } from "@/utils/request";
+
+export function partsOldOutList(data) {
+  return request({
+    url: `/parts/old-out/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsOldOutDel(params) {
+  return request({
+    url: `/parts/old-out/del`,
+    method: "post",
+    params
+  });
+}
+
+export function partsOldOutExport(data, name) {
+  return postBlob({
+    url: "/parts/old-out/list/export",
+    data,
+    name
+  });
+}
+
+export function partsOldOutAdd(data) {
+  return request({
+    url: `/parts/old-out/add`,
+    method: "post",
+    data
+  });
+}
+
+export function partsOldOutConfirm(data) {
+  return request({
+    url: `/parts/old-out/confirm`,
+    method: "post",
+    data
+  });
+}
+
+export function partsOldOutImport(data) {
+  return handleImport("parts/old-out/import", data.formdata, data.id || "");
+}

+ 45 - 0
src/api/material-system/center/center-parts-shop-in-stock.js

@@ -0,0 +1,45 @@
+import request, { postBlob, handleImport } from "@/utils/request";
+
+export function partsNewInList(data) {
+  return request({
+    url: `/parts/new-in/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsNewInExport(data, name) {
+  return postBlob({
+    url: "/parts/new-in/list/export",
+    data,
+    name
+  });
+}
+
+export function partsNewInImport(data) {
+  return handleImport("parts/new-in/import", data.formdata, data.id || "");
+}
+
+export function partsNewInAdd(data) {
+  return request({
+    url: `/parts/new-in/add`,
+    method: "post",
+    data
+  });
+}
+
+export function partsNewInUpdate(params) {
+  return request({
+    url: `/parts/new-in/update`,
+    method: "post",
+    params
+  });
+}
+
+export function partsNewInDel(params) {
+  return request({
+    url: `/parts/new-in/del`,
+    method: "post",
+    params
+  });
+}

+ 17 - 0
src/api/material-system/center/center-parts-worker-stock.js

@@ -0,0 +1,17 @@
+import request, { postBlob } from "@/utils/request";
+
+export function partsWorkerStockList(data) {
+  return request({
+    url: `/parts/worker/stock/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsWorkerStockExport(data, name) {
+  return postBlob({
+    url: "/parts/worker/stock/list/export",
+    data,
+    name
+  });
+}

+ 17 - 0
src/api/material-system/center/center-shop-refund-record.js

@@ -0,0 +1,17 @@
+import request, { postBlob } from "@/utils/request";
+
+export function partsRefundRecordList(data) {
+  return request({
+    url: `/parts/refund-record/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsRefundRecordListExport(data, name) {
+  return postBlob({
+    url: "/parts/refund-record/list/export",
+    data,
+    name
+  });
+}

+ 25 - 0
src/api/material-system/center/center-shop-settlement-record.js

@@ -0,0 +1,25 @@
+import request, { postBlob, getBlob, handleImport } from "@/utils/request";
+
+export function getList(data) {
+  return request({
+    url: `/parts/work-settlement/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function getListExport(data, name) {
+  return postBlob({
+    url: "/parts/work-settlement/list/export",
+    data,
+    name
+  });
+}
+
+export function listDel(params) {
+  return request({
+    url: `/parts/work-settlement/del`,
+    method: "post",
+    params
+  });
+}

+ 155 - 0
src/api/material-system/center/parts-base-manage.js

@@ -0,0 +1,155 @@
+import request, { postBlob, getBlob, handleImport } from "@/utils/request";
+
+// 管理列表
+export function partsInfoList(data) {
+  return request({
+    url: `/parts/info/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsBaseEdit(data) {
+  return request({
+    url: `/parts/base/edit`,
+    method: "post",
+    data
+  });
+}
+
+// 下载模板
+export function partsBaseTemplateExcel(data, name) {
+  return getBlob({
+    url: "/parts/base/template/excel",
+    data,
+    name
+  });
+}
+
+export function partsShopStockList(data) {
+  return request({
+    url: `/parts/shop/stock/list`,
+    method: "post",
+    data
+  });
+}
+
+// 管理列表导出
+export function partsInfoExport(data, name) {
+  return postBlob({
+    url: "/parts/info/list/export",
+    data,
+    name
+  });
+}
+
+// 管理列表
+export function partsBaseList(data) {
+  return request({
+    url: `/parts/base/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+// 管理添加
+export function partsBaseAdd(data) {
+  return request({
+    url: `/parts/base/add`,
+    method: "post",
+    data
+  });
+}
+
+// 管理列表导出
+export function partsBaseExport(data, name) {
+  return postBlob({
+    url: "/parts/base/list/export",
+    data,
+    name
+  });
+}
+
+// 管理列表删除
+export function partsBaseDel(params) {
+  return request({
+    url: "/parts/base/del",
+    method: "get",
+    params
+  });
+}
+
+// 管理列表删除
+export function partsInfoDel(params) {
+  return request({
+    url: "/parts/info/del",
+    method: "get",
+    params
+  });
+}
+
+// 导入配件资料
+export function partsInfoImport(data) {
+  return handleImport("parts/info/import", data.formdata, data.id || "");
+}
+
+// 导入属性管理
+export function attrImport(data) {
+  return handleImport("parts/base/attr/import", data.formdata, data.id || "");
+}
+
+// 导入类别管理
+export function categoryImport(data) {
+  return handleImport(
+    "parts/base/category/import",
+    data.formdata,
+    data.id || ""
+  );
+}
+
+// 导入物料组管理
+export function groupImport(data) {
+  return handleImport("parts/base/group/import", data.formdata, data.id || "");
+}
+
+// 导入专业管理
+export function majorImport(data) {
+  return handleImport("parts/base/major/import", data.formdata, data.id || "");
+}
+
+// 导入类型管理
+export function typeImport(data) {
+  return handleImport("parts/base/type/import", data.formdata, data.id || "");
+}
+
+// 导入单位管理
+export function unitImport(data) {
+  return handleImport("parts/base/unit/import", data.formdata, data.id || "");
+}
+
+// 配件资料添加
+export function partsInfoAdd(data) {
+  return request({
+    url: `/parts/info/add`,
+    method: "post",
+    data
+  });
+}
+
+// 配件资料编辑
+export function partsInfoEdit(data) {
+  return request({
+    url: `/parts/info/edit`,
+    method: "post",
+    data
+  });
+}
+
+// 配件资料详情
+export function partsInfoDetail(params) {
+  return request({
+    url: "/parts/info/detail",
+    method: "get",
+    params
+  });
+}

+ 17 - 0
src/api/material-system/center/parts-stock.js

@@ -0,0 +1,17 @@
+import request, { postBlob } from "@/utils/request";
+
+export function stockList(data) {
+  return request({
+    url: `/parts/shop/stock/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function stockListExport(data, name) {
+  return postBlob({
+    url: "/parts/shop/stock/list/export",
+    data,
+    name
+  });
+}

+ 29 - 0
src/api/material-system/center/website-parts-shop-trans.js

@@ -0,0 +1,29 @@
+import request, { postBlob, handleImport } from "@/utils/request";
+
+export function partsTransList(data) {
+  return request({
+    url: `/parts/trans/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function partsTransDel(params) {
+  return request({
+    url: `/parts/trans/del`,
+    method: "post",
+    params
+  });
+}
+
+export function partsTransExport(data, name) {
+  return postBlob({
+    url: "/parts/trans/list/export",
+    data,
+    name
+  });
+}
+
+export function partsTransImport(data) {
+  return handleImport("parts/trans/import", data.formdata, data.id || "");
+}

+ 17 - 0
src/api/material-system/center/website-shop-parts-stock.js

@@ -0,0 +1,17 @@
+import request, { postBlob } from "@/utils/request";
+
+export function stockList(data) {
+  return request({
+    url: `/parts/shop/stock/list?moduleId=${data.moduleId}`,
+    method: "post",
+    data
+  });
+}
+
+export function stockListExport(data, name) {
+  return postBlob({
+    url: "/parts/shop/stock/list/export",
+    data,
+    name
+  });
+}

+ 324 - 0
src/api/material-system/setting.js

@@ -0,0 +1,324 @@
+import request from '@/utils/request'
+
+export function newGetAccountList(data) {
+  return request({
+    url: `/admin/user/zfire/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+// 获取个人信息
+export function getUserInfo(params) {
+  return request({
+    url: '/admin/user/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 修改密码
+export function changePassword(params) {
+  return request({
+    url: '/admin/user/password/update',
+    method: 'post',
+    params
+  })
+}
+
+// 获取账户列表
+export function getAccountList(params) {
+  return request({
+    url: '/admin/user/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取角色列表
+export function getRoleList(params) {
+  return request({
+    url: '/admin/role/list',
+    method: 'get',
+    params
+  })
+}
+
+// 重置密码
+export function resetPassword(params) {
+  return request({
+    url: '/admin/user/password/reset',
+    method: 'post',
+    params
+  })
+}
+
+// 更改账户状态
+export function changeAccountStatus(params) {
+  return request({
+    url: '/admin/user/status/update',
+    method: 'post',
+    params
+  })
+}
+
+// 新增账户
+export function addAccount(params) {
+  return request({
+    url: '/admin/user/add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 编辑账户
+export function editAccount(params) {
+  return request({
+    url: '/admin/user/user/update',
+    method: 'post',
+    data: params
+  })
+}
+
+// 获取字段列表
+export function getFieldList(params) {
+  return request({
+    url: '/sys/dict/list/page',
+    method: 'get',
+    params
+  })
+}
+
+// 更改字段状态
+export function changeFieldStatus(params) {
+  return request({
+    url: '/sys/dict/status/update',
+    method: 'post',
+    params
+  })
+}
+
+// 删除字段
+export function deleteField(params) {
+  return request({
+    url: '/sys/dict/delete',
+    method: 'post',
+    params
+  })
+}
+
+// 新增字段
+export function addField(params) {
+  return request({
+    url: '/sys/dict/add',
+    method: 'post',
+    params
+  })
+}
+
+// 编辑字段
+export function editField(params) {
+  return request({
+    url: '/sys/dict/update',
+    method: 'post',
+    params
+  })
+}
+
+// 获取字段详情
+export function getFieldDetail(params) {
+  return request({
+    url: '/sys/dict/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取操作日志列表
+export function getOplogList(params) {
+  return request({
+    url: '/admin/operation/log/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取操作日志模块列表
+export function getModuleList(params) {
+  return request({
+    url: '/admin/operation/log/module',
+    method: 'get',
+    params
+  })
+}
+
+// 获取轮播图列表
+export function getBannerList(params) {
+  return request({
+    url: '/carouselMap/list/page',
+    method: 'get',
+    params
+  })
+}
+
+// 更改轮播图状态
+export function changeBannerStatus(params) {
+  return request({
+    url: '/carouselMap/state/update',
+    method: 'post',
+    params
+  })
+}
+
+// 删除轮播图
+export function deleteBanner(params) {
+  return request({
+    url: '/carouselMap/delete',
+    method: 'post',
+    params
+  })
+}
+
+// 新增轮播图
+export function addBanner(params) {
+  return request({
+    url: '/carouselMap/add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 编辑轮播图
+export function editBanner(params) {
+  return request({
+    url: '/carouselMap/update',
+    method: 'post',
+    data: params
+  })
+}
+
+// 获取轮播图详情
+export function getBannerDetail(params) {
+  return request({
+    url: '/carouselMap/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 新增角色
+export function addRole(params) {
+  return request({
+    url: '/admin/role/add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 编辑角色
+export function editRole(params) {
+  return request({
+    url: '/admin/role/update',
+    method: 'post',
+    data: params
+  })
+}
+
+// 删除角色
+export function deleteRole(params) {
+  return request({
+    url: '/admin/role/delete',
+    method: 'post',
+    params
+  })
+}
+
+// 获取角色详情
+export function getRoleDetail(params) {
+  return request({
+    url: '/admin/role/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取权限列表
+export function getMenuRoleList(params) {
+  return request({
+    url: '/admin/user/module/all',
+    method: 'get',
+    params
+  })
+}
+
+// 获取已选权限数组
+export function getMenuRoleIds(params) {
+  return request({
+    url: '/admin/user/module/id/checked',
+    method: 'get',
+    params
+  })
+}
+
+// 提交设置权限
+export function setMenuRole(params) {
+  return request({
+    url: '/admin/user/module/grant',
+    method: 'post',
+    params
+  })
+}
+
+// 获取供应商
+export function getVenderList(params) {
+  return request({
+    url: '/vender/master/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取网点
+export function getShopList(params) {
+  return request({
+    url: '/shop/master/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取系统配置列表
+export function getSysConfigList(params) {
+  return request({
+    url: '/sys/config/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取系统配置详情
+export function getSysConfig(params) {
+  return request({
+    url: '/sys/config/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 新增系统配置
+export function addSysConfig(params) {
+  return request({
+    url: '/sys/config/add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 编辑系统配置
+export function editSysConfig(params) {
+  return request({
+    url: '/sys/config/update',
+    method: 'post',
+    data: params
+  })
+}

+ 109 - 0
src/views/partsManagement/accessoryCenterIdentity/center-old-parts-shop-out-confirm/index.vue

@@ -0,0 +1,109 @@
+<template>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :optionsEvensGroup="optionsEvensGroup"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import {
+  partsOldOutList,
+  partsOldOutExport,
+  partsOldOutDel,
+  partsOldOutImport,
+  partsOldOutConfirm
+} from '@/api/material-system/center/center-old-parts-shop-out'
+import operation_mixin from '@/components/template/operation_mixin.js'
+export default {
+  components: { TemplatePage },
+  mixins: [import_mixin, operation_mixin],
+  data() {
+    return {
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true,
+        selectable: this.selectable
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: []
+    }
+  },
+  computed: {
+    optionsEvensGroup() {
+      return [
+        [
+          [
+            this.optionsEvensAuth('batchApproval', {
+              click: () => {
+                this.shenpi()
+              }
+            })
+          ]
+        ]
+      ]
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(p) {
+      this.recordSelected = []
+      return partsOldOutList({ ...p, receiveDate: true })
+    },
+    // 列表导出函数
+    exportList: partsOldOutExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    // 批量审批
+    shenpi() {
+      if (this.recordSelected.length) {
+        this.$confirm('此操作将批量审批数据, 是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            partsOldOutConfirm(this.recordSelected.map(item => item.id))
+              .then(res => {
+                this.$refs.pageRef.refreshList()
+                this.$message({
+                  type: 'success',
+                  message: `审批成功!`
+                })
+                this.recordSelected = []
+              })
+              .catch(() => {})
+          })
+          .catch(() => {})
+      } else {
+        this.$message({
+          type: 'info',
+          message: '请先勾选需要审批的数据!'
+        })
+      }
+    },
+    selectable(row, index) {
+      return true
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 127 - 0
src/views/partsManagement/accessoryCenterIdentity/center-old-parts-shop-out/index.vue

@@ -0,0 +1,127 @@
+<template>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :optionsEvensGroup="optionsEvensGroup"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import {
+  partsOldOutList,
+  partsOldOutExport,
+  partsOldOutDel,
+  partsOldOutImport
+} from '@/api/material-system/center/center-old-parts-shop-out'
+import operation_mixin from '@/components/template/operation_mixin.js'
+export default {
+  components: { TemplatePage },
+  mixins: [import_mixin, operation_mixin],
+  data() {
+    return {
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: []
+    }
+  },
+  computed: {
+    optionsEvensGroup() {
+      return [
+        [
+          [
+            this.optionsEvensAuth('dels', {
+              click: () => {
+                this.dels()
+              }
+            })
+          ]
+        ],
+        [
+          [
+            this.optionsEvensAuth('import', ({ moduleName }) => {
+              return {
+                name: moduleName,
+                render: () => {
+                  return this.importButton(partsOldOutImport, moduleName)
+                }
+              }
+            })
+          ]
+        ]
+      ]
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(...p) {
+      this.recordSelected = []
+      return partsOldOutList(...p)
+    },
+    // 列表导出函数
+    exportList: partsOldOutExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    // 批量删除
+    dels() {
+      if (this.recordSelected.length) {
+        this.$confirm('此操作将删除数据, 是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            partsOldOutDel({
+              ids: this.recordSelected.map(item => item.id).join(',')
+            })
+              .then(res => {
+                this.$refs.pageRef.refreshList()
+                this.$message({
+                  type: 'success',
+                  message: '删除成功!'
+                })
+              })
+              .catch(() => {
+                this.$message({
+                  type: 'error',
+                  message: '删除失败'
+                })
+              })
+          })
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              message: '已取消删除'
+            })
+          })
+      } else {
+        this.$message({
+          type: 'info',
+          message: '请先勾选需要删除的数据!'
+        })
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 177 - 0
src/views/partsManagement/accessoryCenterIdentity/center-parts-shop-in-stock/index.vue

@@ -0,0 +1,177 @@
+<template>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :optionsEvensGroup="optionsEvensGroup"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    <center-parts-shop-in-stock-from
+      v-if="showFromBool"
+      @goBack="showFromBool = false"
+      @success="$refs.pageRef.refreshList"
+    />
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import CenterPartsShopInStockFrom from '../components/center-parts-shop-in-stock-from.vue'
+import {
+  partsNewInList,
+  partsNewInExport,
+  partsNewInImport,
+  partsNewInUpdate,
+  partsNewInDel
+} from '@/api/material-system/center/center-parts-shop-in-stock'
+export default {
+  components: { TemplatePage, CenterPartsShopInStockFrom },
+  mixins: [import_mixin],
+  data() {
+    return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '配件入库',
+              click: this.update,
+              isRole: this.checkBtnRole('edit')
+            }
+          ]
+        ],
+        [[{ name: '新增', click: this.add, isRole: this.checkBtnRole('add') }]],
+        [[{ name: '删除', click: this.del, isRole: this.checkBtnRole('del') }]],
+        [
+          [
+            {
+              name: '',
+              render: this.importButton(partsNewInImport),
+              isRole: this.checkBtnRole('add')
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        selectColumn: true,
+        selectable: this.selectable
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+      showFromBool: false
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(...p) {
+      this.recordSelected = []
+      return partsNewInList(...p)
+    },
+    // 列表导出函数
+    exportList: partsNewInExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 获取勾选框数据
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    // 设置勾选框禁用项
+    selectable(row, index) {
+      if (row.checkState === 'CHECKED') {
+        return false
+      }
+      return true
+    },
+    add() {
+      this.showFromBool = true
+    },
+    update() {
+      if (this.recordSelected.length) {
+        this.$confirm('请确认配件是否已收货?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            partsNewInUpdate({
+              ids: this.recordSelected.map(item => item.id).join(',')
+            })
+              .then(res => {
+                this.$refs.pageRef.refreshList()
+                this.$message({
+                  type: 'success',
+                  message: '操作成功!'
+                })
+              })
+              .catch(() => {
+                this.$message({
+                  type: 'error',
+                  message: '操作失败!'
+                })
+              })
+          })
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              message: '已取消操作'
+            })
+          })
+      } else {
+        this.$message({
+          type: 'info',
+          message: '请先勾选需要操作的数据!'
+        })
+      }
+    },
+    del() {
+      if (this.recordSelected.length) {
+        this.$confirm('此操作将删除数据, 是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            partsNewInDel({
+              ids: this.recordSelected.map(item => item.id).join(',')
+            })
+              .then(res => {
+                this.$refs.pageRef.refreshList()
+                this.$message({
+                  type: 'success',
+                  message: '删除成功!'
+                })
+              })
+              .catch(() => {
+                this.$message({
+                  type: 'error',
+                  message: '删除失败'
+                })
+              })
+          })
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              message: '已取消删除'
+            })
+          })
+      } else {
+        this.$message({
+          type: 'info',
+          message: '请先勾选需要删除的数据!'
+        })
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 221 - 0
src/views/partsManagement/accessoryCenterIdentity/components/center-parts-shop-in-stock-from.vue

@@ -0,0 +1,221 @@
+<template>
+  <div class="center-parts-shop-in-stock-from">
+    <div class="center-parts-shop-in-stock-from-el">
+      <el-page-header @back="goBack" content="配件入库"></el-page-header>
+      <br />
+      <el-table :data="tableData" size="mini" border header-cell-class-name="headerRowColor" style="width: 100%">
+        <el-table-column label="序号" width="60">
+          <template slot-scope="scope">
+            <div class="serial_number">{{ scope.$index + 1 }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="配件网点" width="180">
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.receiveShopId" placeholder="请选择" @change="update2(scope.$index)">
+              <el-option v-for="item in records" :key="item.shopId" :label="item.shopName" :value="item.shopId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column label="配件编码" width="180">
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.partsID" placeholder="请选择" @change="update(scope.$index)">
+              <el-option v-for="item in partsList" :key="item.id" :label="item.partsNumber" :value="item.id">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column label="配件名称" width="180">
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.partsID" placeholder="请选择" @change="update(scope.$index)">
+              <el-option v-for="item in partsList" :key="item.id" :label="item.partsName" :value="item.id"> </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column label="类别" width="120">
+          <template slot-scope="scope">
+            <el-input disabled v-model="scope.row.partsCategoryName" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="单位" width="120">
+          <template slot-scope="scope">
+            <el-input disabled v-model="scope.row.unitName" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="单价(采购价)" width="120">
+          <template slot-scope="scope">
+            <el-input type="number" v-model="scope.row.price" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="数量" width="100">
+          <template slot-scope="scope">
+            <el-input type="number" v-model="scope.row.qty" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="总金额" width="100">
+          <template slot-scope="scope">
+            <el-input disabled :value="scope.row.price * scope.row.qty || ''" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="备注" min-width="200">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.remark" type="textarea" placeholder="请输入内容"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="80">
+          <template slot-scope="scope">
+            <div class="caozuo">
+              <el-button type="danger" size="mini" @click="del(scope.$index)">删除</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <br />
+      <el-row>
+        <el-button size="small" type="primary" @click="determine">提交</el-button>
+        <el-button size="small" type="primary" @click="add">添加</el-button>
+      </el-row>
+    </div>
+  </div>
+</template>
+
+<script>
+import { partsInfoList } from '@/api/material-system/center/parts-base-manage'
+import { partsNewInAdd } from '@/api/material-system/center/center-parts-shop-in-stock'
+import { getShopList } from '@/api/material-system/setting'
+export default {
+  props: {},
+  data() {
+    return {
+      tableData: [{ remark: '' }],
+      partsList: [],
+      records: []
+    }
+  },
+  mounted() {
+    partsInfoList({
+      pageNum: 1,
+      pageSize: -1
+    })
+      .then(res => {
+        this.partsList = res.data.records
+      })
+      .catch(err => {
+        console.log(err)
+      })
+    getShopList({
+      pageNum: 1,
+      pageSize: -1
+    }).then(res => {
+      this.records = res.data.records
+    })
+  },
+  methods: {
+    add() {
+      this.tableData.push({ remark: '' })
+    },
+    del(index) {
+      this.tableData.splice(index, 1)
+    },
+    update(index) {
+      var data = this.partsList.find(item => item.id === this.tableData[index].partsID)
+      Object.assign(this.tableData[index], data || {}, {
+        remark: this.tableData[index].remark
+      })
+    },
+    update2(index) {
+      var data = this.records.find(item => item.shopId === this.tableData[index].receiveShopId)
+      if (data) {
+        Object.assign(this.tableData[index], {
+          remark: this.tableData[index].remark,
+          receivePartsWebsiteNumber: data.partsWebsiteNumber,
+          receiveShopName: data.shopName
+        })
+      } else {
+        this.tableData[index]['receivePartsWebsiteNumber'] = ''
+        this.tableData[index]['receiveShopName'] = ''
+      }
+    },
+    determine() {
+      partsNewInAdd(
+        this.tableData.map(item => {
+          var data = { ...item }
+          delete data.id
+          return data
+        })
+      )
+        .then(res => {
+          this.$message({
+            type: 'success',
+            message: `添加成功!`
+          })
+          this.$emit('success')
+          this.$emit('goBack')
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    },
+    goBack() {
+      this.$emit('goBack')
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.center-parts-shop-in-stock-from {
+  min-width: 860px;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 999;
+  background: #fff;
+  overflow: hidden;
+  .center-parts-shop-in-stock-from-el {
+    padding: 20px;
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+  }
+  .serial_number {
+    width: 100%;
+    height: 100%;
+    text-align: center;
+    padding: 6px;
+  }
+  .caozuo {
+    width: 100%;
+    height: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+  ::v-deep th .cell {
+    width: 100%;
+    height: 100%;
+    text-align: center;
+  }
+  ::v-deep .el-table__cell {
+    .el-select,
+    .el-input,
+    .el-textarea__inner,
+    .el-input__inner {
+      height: 100%;
+      border: none !important;
+    }
+  }
+  ::v-deep .cell {
+    height: 100%;
+    padding: 0 !important;
+  }
+  ::v-deep .headerRowColor {
+    .cell {
+      height: 100%;
+      padding: 6px !important;
+    }
+  }
+}
+</style>