Browse Source

feat: 添加辅材入库辅材退货配件入库配件退货

linwenxin 1 year ago
parent
commit
2baaacf73d

+ 113 - 0
src/api/purchasingManagement.js

@@ -0,0 +1,113 @@
+import request, { postBlob, getBlob, handleImport } from '@/utils/request'
+
+export function websitPurchaseInList(data) {
+  return request({
+    url: `/websit/purchase/in/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+export function websitPurchaseInListExport(data, name) {
+  return postBlob({
+    url: '/websit/purchase/in/list/export',
+    data,
+    name
+  })
+}
+
+export function websitPurchaseInAdd(data) {
+  return request({
+    url: '/websit/purchase/in/add',
+    method: 'post',
+    data: data
+  })
+}
+
+export function websitPurchaseInEdit(data) {
+  return request({
+    url: '/websit/purchase/in/edit',
+    method: 'post',
+    data: data
+  })
+}
+
+export function websitPurchaseInConfirm(params) {
+  return request({
+    url: '/websit/purchase/in/confirm',
+    method: 'post',
+    params: params
+  })
+}
+
+export function websitPurchaseInDetail(params) {
+  return request({
+    url: '/websit/purchase/in/detail',
+    method: 'post',
+    params: params
+  })
+}
+
+
+
+
+// ------------------------------------
+
+
+
+
+
+
+
+
+
+
+export function websitPurchaseRetList(data) {
+  return request({
+    url: `/websit/purchase/ret/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+export function websitPurchaseRetListExport(data, name) {
+  return postBlob({
+    url: '/websit/purchase/ret/list/export',
+    data,
+    name
+  })
+}
+
+
+
+export function websitPurchaseRetAdd(data) {
+  return request({
+    url: '/websit/purchase/ret/add',
+    method: 'post',
+    data: data
+  })
+}
+
+export function websitPurchaseRetEdit(data) {
+  return request({
+    url: '/websit/purchase/ret/edit',
+    method: 'post',
+    data: data
+  })
+}
+
+export function websitPurchaseRetConfirm(params) {
+  return request({
+    url: '/websit/purchase/ret/confirm',
+    method: 'post',
+    params: params
+  })
+}
+
+export function websitPurchaseRetDetail(params) {
+  return request({
+    url: '/websit/purchase/ret/detail',
+    method: 'post',
+    params: params
+  })
+}

+ 10 - 0
src/views/auxiliaryFittings/purchasingManagement/auxiliaryMaterialsStorage/index.vue

@@ -0,0 +1,10 @@
+<template>
+  <InStorage storageType="M" />
+</template>
+
+<script>
+import InStorage from "../components/inStorage.vue"
+export default { components: { InStorage } }
+</script>
+
+<style lang="scss" scoped></style>

+ 96 - 0
src/views/auxiliaryFittings/purchasingManagement/components/inStorage.vue

@@ -0,0 +1,96 @@
+<template>
+  <template-page ref="pageRef" :get-list="getList" :exportList="exportList" :table-attributes="tableAttributes"
+    :table-events="tableEvents" :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters"
+    :column-parsing="columnParsing" :operation="operation" :replaceOrNotMap="false">
+    <div class="cartographer">
+      <el-dialog :title="({ M: '辅材入库单', P: '配件入库单' })[storageType]" width="100%" :modal="false" :visible.sync="formDialog"
+        :before-close="formCancel">
+        <zj-form-container v-if="formDialog" ref="formRef" :form-data="formData" :styleSwitch="false">
+          <zj-form-module title="单据信息" label-width="120px" :showPackUp="false" :form-data="formData"
+            :form-items="formItems1">
+          </zj-form-module>
+          <zj-form-module :title="({ M: '辅材信息', P: '配件信息' })[storageType]" label-width="120px" :showPackUp="false"
+            :form-data="formData" :form-items="formItems2">
+          </zj-form-module>
+        </zj-form-container>
+        <div slot="footer" class="dialog-footer">
+          <el-button size="mini" @click="formCancel">取 消</el-button>
+          <el-button size="mini" @click="formConfirm" type="primary">确 定</el-button>
+        </div>
+      </el-dialog>
+    </div>
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import form_tpl from "../mixins/form_tpl.js"
+import { websitPurchaseInList, websitPurchaseInListExport, websitPurchaseInAdd, websitPurchaseInEdit, websitPurchaseInConfirm, websitPurchaseInDetail } from "@/api/purchasingManagement.js"
+export default {
+  props: {
+    storageType: {
+      type: String,
+      default: ""
+    }
+  },
+  components: { TemplatePage },
+  mixins: [import_mixin, form_tpl],
+  data() {
+    return {
+      formData: {
+        items: []
+      },
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(p, cb) {
+      var pam = JSON.parse(JSON.stringify(p))
+      pam.params.push({ "param": "a.goods_type", "compare": "=", "value": this.storageType })
+      if (pam.flag) {
+        pam.params.push({ "param": "a.flag", "compare": "=", "value": pam.flag })
+      }
+      cb && cb(pam)
+      return websitPurchaseInList(pam)
+    },
+    // 列表导出函数
+    exportList: websitPurchaseInListExport,
+    // 操作按钮
+    operation(h, { row, index, column }) {
+      return (
+        <div class='operation-btns'>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 1
+            this.openForm()
+          }}>编辑</el-button>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 2
+            this.openForm()
+          }}>详情</el-button>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 3
+            this.openForm()
+          }}>审核</el-button>
+        </div>
+      )
+    },
+    formConfirm() {
+      this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
+        if (valid) {
+          ([websitPurchaseInAdd, websitPurchaseInEdit][this.formDialogType])(this.formData).then(res => {
+            this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
+            this.formCancel()
+            this.$refs.pageRef.refreshList()
+          })
+        }
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 96 - 0
src/views/auxiliaryFittings/purchasingManagement/components/retStorage.vue

@@ -0,0 +1,96 @@
+<template>
+  <template-page ref="pageRef" :get-list="getList" :exportList="exportList" :table-attributes="tableAttributes"
+    :table-events="tableEvents" :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters"
+    :column-parsing="columnParsing" :operation="operation" :replaceOrNotMap="false">
+    <div class="cartographer">
+      <el-dialog :title="({ M: '辅材退货单', P: '配件退货单' })[storageType]" width="100%" :modal="false" :visible.sync="formDialog"
+        :before-close="formCancel">
+        <zj-form-container v-if="formDialog" ref="formRef" :form-data="formData" :styleSwitch="false">
+          <zj-form-module title="单据信息" label-width="120px" :showPackUp="false" :form-data="formData"
+            :form-items="formItems1">
+          </zj-form-module>
+          <zj-form-module :title="({ M: '辅材信息', P: '配件信息' })[storageType]" label-width="120px" :showPackUp="false"
+            :form-data="formData" :form-items="formItems2">
+          </zj-form-module>
+        </zj-form-container>
+        <div slot="footer" class="dialog-footer">
+          <el-button size="mini" @click="formCancel">取 消</el-button>
+          <el-button size="mini" @click="formConfirm" type="primary">确 定</el-button>
+        </div>
+      </el-dialog>
+    </div>
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import form_tpl from "../mixins/form_tpl.js"
+import { websitPurchaseRetList, websitPurchaseRetListExport, websitPurchaseRetAdd, websitPurchaseRetEdit, websitPurchaseRetConfirm, websitPurchaseRetDetail } from "@/api/purchasingManagement.js"
+export default {
+  props: {
+    storageType: {
+      type: String,
+      default: ""
+    }
+  },
+  components: { TemplatePage },
+  mixins: [import_mixin, form_tpl],
+  data() {
+    return {
+      formData: {
+        items: []
+      },
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(p, cb) {
+      var pam = JSON.parse(JSON.stringify(p))
+      pam.params.push({ "param": "a.goods_type", "compare": "=", "value": this.storageType })
+      if (pam.flag) {
+        pam.params.push({ "param": "a.flag", "compare": "=", "value": pam.flag })
+      }
+      cb && cb(pam)
+      return websitPurchaseRetList(pam)
+    },
+    // 列表导出函数
+    exportList: websitPurchaseRetListExport,
+    // 操作按钮
+    operation(h, { row, index, column }) {
+      return (
+        <div class='operation-btns'>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 1
+            this.openForm()
+          }}>编辑</el-button>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 2
+            this.openForm()
+          }}>详情</el-button>
+          <el-button type="text" onClick={() => {
+            Object.assign(this.formData, row)
+            this.formDialogType = 3
+            this.openForm()
+          }}>审核</el-button>
+        </div>
+      )
+    },
+    formConfirm() {
+      this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
+        if (valid) {
+          ([websitPurchaseRetAdd, websitPurchaseRetEdit][this.formDialogType])(this.formData).then(res => {
+            this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
+            this.formCancel()
+            this.$refs.pageRef.refreshList()
+          })
+        }
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 485 - 0
src/views/auxiliaryFittings/purchasingManagement/mixins/form_tpl.js

@@ -0,0 +1,485 @@
+
+export default {
+  data() {
+    return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新建',
+              isRole: true,
+              click: this.addData
+            }
+          ],
+        ],
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+      formDialog: false,
+      formDialogType: 0, // 0:新增, 1:编辑, 2:查看, 3:审核
+      formDialogTitles: ['新增', '编辑', '查看', '审核'],
+      pageType: this?.$route?.name,
+      crowStudentFollowLogList: []
+    }
+  },
+  computed: {
+    moreParameters() {
+      return [
+        {
+          name: '状态',
+          key: 'flag',
+          value: '',
+          conditions: [
+            {
+              label: `全部`,
+              value: ''
+            },
+            {
+              label: `已保存`,
+              value: "SAVE"
+            },
+            {
+              label: `已审核`,
+              value: "OK"
+            }, {
+              label: `失败`,
+              value: "FAIL"
+            },
+          ]
+        },
+      ]
+    },
+    columns() {
+      return [
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '大类名称',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                      {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                    </el-select> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '小类名称',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                      {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                    </el-select> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '辅材名称',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                      {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                    </el-select> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '配件名称',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                      {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                    </el-select> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '单位',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'partsStorage'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '数量',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                    </el-input> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '退货数量',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                    </el-input> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '退款金额',
+                prop: 'avatar',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  row.isEditRow ?
+                    <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
+                    </el-input> :
+                    <div>{row[column.prop]}</div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '商品代码',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '规格型号',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '配件编码',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '适用品牌',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '适用产品大类',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '采购数量',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '采购价格',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '采购金额',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
+            return [{
+              columnAttributes: {
+                label: '库存数量',
+                prop: 'avatar',
+              }
+            }]
+          }
+          return []
+        })(),
+        ...(() => {
+          if (!!~[0, 1].indexOf(this.formDialogType)) {
+            return [{
+              columnAttributes: {
+                label: '操作',
+                prop: '',
+              },
+              render: (h, { row, column, index }) => {
+                return (
+                  <div class='operation-btns'>
+                    <el-button type="text" onClick={() => {
+                      this.formData.items.map((item, index_) => {
+                        if (index_ == index) {
+                          item.isEditRow = true
+                        } else {
+                          item.isEditRow = false
+                        }
+                      })
+                    }}>编辑</el-button>
+                    <el-button type="text" onClick={() => {
+                      this.formData.items.splice(index, 1)
+                    }}>删除</el-button>
+                  </div>
+                )
+              }
+            }]
+          }
+          return []
+        })(),
+      ]
+    },
+    formItems1() {
+      return [
+        {
+          md: 24,
+          isShow: true,
+          name: 'slot-component',
+          formItemAttributes: {
+            label: '',
+            prop: '',
+            'label-width': '0px'
+          },
+          render: (h, { props, onInput }) => {
+            var { value } = props
+            return (
+              <div>
+                <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }}>
+                  <el-descriptions-item label="单据状态">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="单据编号">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="所属商户" contentStyle={{ width: '42%' }}>
+                    11111
+                  </el-descriptions-item>
+                </el-descriptions>
+                <el-descriptions border title="" column={2} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '42%' }} style="margin-top:-1px">
+                  <el-descriptions-item label="网点名称">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="供应商名称">
+                    11111
+                  </el-descriptions-item>
+                </el-descriptions>
+                {
+                  !!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType) ?
+                    <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
+                      <el-descriptions-item label="采购入库单号" contentStyle={{ width: '42%' }}>
+                        11111
+                      </el-descriptions-item>
+                      <el-descriptions-item label="退货数量">
+                        11111
+                      </el-descriptions-item>
+                      <el-descriptions-item label="退款金额">
+                        11111
+                      </el-descriptions-item>
+                    </el-descriptions> : null
+                }
+                <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
+                  <el-descriptions-item label="制单人">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="制单时间">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="审核人">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="审核时间">
+                    11111
+                  </el-descriptions-item>
+                </el-descriptions>
+                <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
+                  <el-descriptions-item label="附件">
+                    11111
+                  </el-descriptions-item>
+                  <el-descriptions-item label="备注" contentStyle={{ width: '67%' }}>
+                    11111
+                  </el-descriptions-item>
+                </el-descriptions>
+              </div>
+            )
+          }
+        },]
+    },
+    formItems2() {
+      return [
+        {
+          md: 24,
+          isShow: true,
+          name: 'slot-component',
+          formItemAttributes: {
+            label: '',
+            prop: '',
+            'label-width': '0px'
+          },
+          render: (h, { props, onInput }) => {
+            var { value } = props
+            return (
+              <div>
+                {!!~[0, 1].indexOf(this.formDialogType) ? <div style="margin-bottom:8px">
+                  <el-button onClick={() => {
+                    // this.formData.items.push()
+                    if (this.pageType == "auxiliaryMaterialsStorage") {
+                    } else if (this.pageType == "returnAuxiliaryMaterials") {
+                    } else if (this.pageType == "partsStorage") {
+                    } else if (this.pageType == "partsReturn") {
+                    }
+                  }}>添加</el-button>
+                </div> : null}
+                <zj-table
+                  columns={this.columns}
+                  tableData={this.crowStudentFollowLogList}
+                  tableAttributes={{
+                    size: 'mini',
+                    border: true,
+                    height: '100%'
+                  }} />
+              </div>
+            )
+          }
+        },]
+    }
+  },
+  methods: {
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    // 打开
+    openForm() {
+      {/* Promise.all([
+            
+          ]).then(([res1]) => {
+            
+          }) */}
+      this.formDialog = true
+    },
+    // 添加
+    addData() {
+      this.formDialogType = 0
+      this.openForm()
+    },
+    // 关闭弹窗
+    formCancel() {
+      this.$refs.formRef.$refs.inlineForm.clearValidate()
+      this.$data.formData = this.$options.data().formData
+      this.formDialog = false
+    },
+  },
+}

+ 10 - 0
src/views/auxiliaryFittings/purchasingManagement/partsReturn/index.vue

@@ -0,0 +1,10 @@
+<template>
+  <RetStorage storageType="P" />
+</template>
+
+<script>
+import RetStorage from "../components/retStorage.vue"
+export default { components: { RetStorage } }
+</script>
+
+<style lang="scss" scoped></style>

+ 10 - 0
src/views/auxiliaryFittings/purchasingManagement/partsStorage/index.vue

@@ -0,0 +1,10 @@
+<template>
+  <InStorage storageType="P" />
+</template>
+
+<script>
+import InStorage from "../components/inStorage.vue"
+export default { components: { InStorage } }
+</script>
+
+<style lang="scss" scoped></style>

+ 10 - 0
src/views/auxiliaryFittings/purchasingManagement/returnAuxiliaryMaterials/index.vue

@@ -0,0 +1,10 @@
+<template>
+  <RetStorage storageType="M" />
+</template>
+
+<script>
+import RetStorage from "../components/retStorage.vue"
+export default { components: { RetStorage } }
+</script>
+
+<style lang="scss" scoped></style>