| | |
| | | <template> |
| | | <el-bus-crud v-bind="tableConfig" /> |
| | | <el-bus-crud ref="crud" v-bind="tableConfig" /> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getGoodsListConfig, |
| | | getGoodsCategoryListConfig, |
| | | } from '@/utils/form-item-config' |
| | | import { getGoodsCategoryListConfig } from '@/utils/form-item-config' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | tableConfig: { |
| | | url: 'flower/api/flower/markup/sp/list', |
| | | newUrl: 'flower/api/flower/markup/sp/list/save', |
| | | editUrl: 'flower/api/flower/markup/sp/list/save', |
| | | onDelete: (row) => { |
| | | return this.$elBusHttp.request( |
| | | 'flower/api/flower/markup/sp/list/delete', |
| | | { |
| | | params: { |
| | | flowerId: row.flowerId, |
| | | }, |
| | | } |
| | | ) |
| | | url: 'flower/api/flower/markup/sp/flower/list', |
| | | hasNew: false, |
| | | hasEdit: false, |
| | | hasDelete: false, |
| | | hasView: false, |
| | | persistSelection: true, |
| | | afterRequest: (list) => { |
| | | return list.map((i) => ({ ...i, id: i.flowerId })) |
| | | }, |
| | | operationAttrs: { |
| | | width: '140px', |
| | | width: '80px', |
| | | fixed: 'right', |
| | | }, |
| | | columns: [ |
| | | { label: '', type: 'selection', minWidth: 60, fixed: 'left' }, |
| | | { label: '商品名称', prop: 'name', minWidth: 150, fixed: 'left' }, |
| | | { |
| | | label: '商品封面', |
| | |
| | | { label: '标签', prop: 'tags', minWidth: 120 }, |
| | | { label: '供应商', prop: 'supplierName', minWidth: 100 }, |
| | | { label: '底价(元)', prop: 'price', minWidth: 100 }, |
| | | { label: '加价(元)', prop: 'fee', minWidth: 100 }, |
| | | { label: '销量', prop: 'sales', minWidth: 100 }, |
| | | { label: '库存', prop: 'stock', minWidth: 100 }, |
| | | { label: '加价(元)', prop: 'fee', minWidth: 100 }, |
| | | { label: '售价(元)', prop: 'sellPrice', minWidth: 100, fixed: 'right'}, |
| | | ], |
| | | searchForm: [ |
| | | { |
| | |
| | | clearable: true, |
| | | }, |
| | | }, |
| | | { |
| | | label: '加价', |
| | | id: 'isFee', |
| | | type: 'bus-select-dict', |
| | | el: { |
| | | code: 'GOODS_IS_FEE', |
| | | clearable: true, |
| | | style: 'width:100%', |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | extraDialogs: [ |
| | | { |
| | | title: '商品加价', |
| | | form: [], |
| | | atConfirm: async (val) => { |
| | | const { code } = await this.$elBusHttp.request( |
| | | 'flower/api/flower/markup/sp/flower/list/save', |
| | | { |
| | | method: 'post', |
| | | data: val, |
| | | } |
| | | ) |
| | | if (code === 0) { |
| | | this.$message.success('操作成功') |
| | | this.$refs.crud.clearSelection() |
| | | } else { |
| | | return false |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | extraButtons: [ |
| | | { |
| | | text: '设置加价', |
| | | atClick: (row) => { |
| | | this.$refs.crud.$refs.extraDialog[0].show({ |
| | | flowerIds: [row.flowerId], |
| | | fee: row.fee ?? undefined, |
| | | }) |
| | | return false |
| | | }, |
| | | }, |
| | | ], |
| | | headerButtons: [ |
| | | { |
| | | text: '批量设置加价', |
| | | type: 'primary', |
| | | disabled: (selected) => selected.length === 0, |
| | | atClick: (selected) => { |
| | | this.$refs.crud.$refs.extraDialog[0].show({ |
| | | flowerIds: selected.map((i) => i.flowerId), |
| | | fee: |
| | | selected.length === 1 |
| | | ? selected[0].fee ?? undefined |
| | | : undefined, |
| | | }) |
| | | return false |
| | | }, |
| | | }, |
| | | ], |
| | | form: [ |
| | | { |
| | | ...getGoodsListConfig(), |
| | | rules: { required: true, message: '请选择商品' }, |
| | | str: true, |
| | | strKey: 'name', |
| | | readonly: (row, item, mode) => { |
| | | return mode === 'edit' |
| | | id: 'flowerIds', |
| | | type: 'select', |
| | | el: { |
| | | multiple: true, |
| | | }, |
| | | hidden: () => true, |
| | | }, |
| | | { |
| | | label: '加价:', |