陶杰
2024-12-18 daa0b51b0b3609c683da3066c2815d3e9eb42b3f
pages/goods/list/index.vue
@@ -1,9 +1,9 @@
<template>
  <el-bus-crud ref="crud" v-bind="tableConfig" />
  <el-bus-crud ref="crud" v-bind="tableConfig" ></el-bus-crud>
</template>
<script>
import { getSortConfig } from '@/utils/form-item-config'
import { getSortConfig,getGoodsCategoryListConfig} from '@/utils/form-item-config'
export default {
  data() {
    return {
@@ -44,6 +44,7 @@
          { label: '虚拟销量', prop: 'sales', minWidth: 120 },
          { label: '真实销量', prop: 'realSales', minWidth: 120 },
          { label: '库存', prop: 'stock', minWidth: 120 },
          { label: '限购数量', prop: 'limited', minWidth: 120 },
          { label: '商品状态', prop: 'statusStr', minWidth: 80 },
          { label: '商品标签', prop: 'tags', minWidth: 150 },
          { label: '所属专区', prop: 'zoneName', minWidth: 150 },
@@ -105,13 +106,30 @@
                  hasAll: true,
                  childType: 'el-radio-button',
                },
                default: '',
                default: this.$route.query.status || '',
                span: 24,
                searchImmediately: true,
              },
              {
                label: '是否推荐:',
                id: 'recommend',
                type: 'bus-radio',
                el: {
                  fromDict: false,
                  hasAll: true,
                  childType: 'el-radio-button',
                  options: [
                    { label: '是', value: true },
                    { label: '否', value: false },
                  ],
                },
                default: '',
                span: 24,
                searchImmediately: true,
              },
              {
                label: '是否限购:',
                id: 'isLimited',
                type: 'bus-radio',
                el: {
                  fromDict: false,
@@ -143,25 +161,47 @@
                span: 24,
                searchImmediately: true,
              },
              // {
              //   label: '商品分类:',
              //   id: 'category',
              //   component: 'cascader-filter',
              //   el: {
              //     otherInterfaceUri: 'flower/api/flower/category/tree',
              //     props: {
              //       label: 'name',
              //       value: 'id',
              //       checkStrictly: true,
              //     },
              //     emitPath: false,
              //     style: 'width:100%',
              //     clearable: true,
              //     hasAll: true,
              //     childType: 'el-radio-button',
              //   },
              //   span: 24,
              //   searchImmediately: true,
              // },
              {
                label: '商品分类:',
                label: '商品分类',
                id: 'category',
                component: 'cascader-filter',
                type: 'bus-cascader',
                el: {
                  otherInterfaceUri: 'flower/api/flower/category/tree',
                  props: {
                    label: 'name',
                    value: 'id',
                    emitPath: false,
                    checkStrictly: true,
                  },
                  emitPath: false,
                  style: 'width:100%',
                  clearable: true,
                  hasAll: true,
                  childType: 'el-radio-button',
                  filterable: true,
                  style: 'width:100%',
                },
                span: 24,
                searchImmediately: true,
              },
              // {
              //   ...getGoodsCategoryListConfig(),
              //   id: 'category',
              // },
              { label: '商品名称:', id: 'name', type: 'input' },
              { label: '供应商:', id: 'supplierName', type: 'input' },
            ],
@@ -315,6 +355,23 @@
                ids: selected
                  .filter((item) => item.status === 'PENDING')
                  .map((item) => item.id),
              })
              return false
            },
          },
          {
            text: '每人限购',
            type: 'primary',
            disabled: (selected) => selected.length === 0,
            atClick: (selected) => {
              this.$refs.crud.$refs.extraDialog[4].show({
                ids: selected.map((item) => item.id),
                limited:
                  selected.length === 1
                    ? this.$elBusUtil.isTrueEmpty(selected[0].limited)
                      ? undefined
                      : selected[0].limited
                    : undefined,
              })
              return false
            },
@@ -508,6 +565,43 @@
              }
            },
          },
          {
            title: '每人限购',
            form: [
              {
                id: 'ids',
                type: 'select',
                el: {
                  multiple: true,
                },
                hidden: () => true,
              },
              {
                label: '限购数量:',
                id: 'limited',
                type: 'input-number',
                el: {
                  precision: 0,
                  min: 1,
                  max: 99999999,
                  style: 'width:100%',
                },
              },
            ],
            atConfirm: async (val) => {
              const { code } = await this.$elBusHttp.request(
                'flower/api/flower/list/limiteds',
                {
                  method: 'post',
                  data: val,
                }
              )
              if (code === 0) {
                this.$message.success('操作成功')
                this.$refs.crud.clearSelection()
              }
            },
          },
        ],
      },
    }