UNPKG

ci-plus

Version:

ci组件库

288 lines (279 loc) 10.2 kB
## 使用示例 ```ts const useBackStoreM = defineStore( 'MaterialWarehouse-MaterialsPreparationNotice-index', () => { const ifshow = ref(true) type Scoped = Scope<MPNRes> const store: ReturnType< ReturnType<typeof getOptStore<MPNRes, any, any, any, { ids: number[] }>> > = getOptStore<MPNRes, any, any, any, { ids: number[] }>({ model: 'material_preparation_notice_list', // 请求地址:material_preparation_notice_list_post id: 'MaterialWarehouse-MaterialsPreparationNotice-index', // 配置存储的id(约定项目名称-模块名称-页面名称) name: '材料库_备料通知', storage_type: '', //CHUKU params: { limit: 20, storage_type: 'CAILIAO' }, baseUrl: storageModule, setId: true, ifInitData: false, // 是否初始请求表格数据 sortColumn: [ { col: { width: 60, label: '序号', type: 'index', fixed: 'left' } }, { col: { width: 130, label: '计划开始时间', prop: 'plan_start_date' }, // 示例1:日期格式 header(createVNode: any) { return createVNode(HeaderInput, { text: '计划开始时间', column: 'plan_start_date', storePar: store.params.value, type: 'date', placeholder: '请选择...', popperStyle: { width: '450px', height: '300px' }, onChange(val: any) { console.log('val: ', val) store.HEADERSEARCH(val) console.log('当前的参数: ', store.params.value) }, ordersConfig: { enableOrder: true }, }) }, }, { col: { width: 330, label: '物料编码', prop: 'material_info', }, // 示例2:输入框(简写) header(createVNode: any) { return createVNode(HeaderInput, { text: '物料编码|物料名称|物料型号', column: 'material_info', storePar: store.params.value, placeholder: '请输入关键字...', onChange(val: any) { store.HEADERSEARCH(val) }, }) }, }, { col: { width: 150, label: '产线', prop: 'line_name' }, // 示例3:输入框 header(createVNode: any) { return createVNode(HeaderInput, { text: '产线', column: 'line_name', storePar: store.params.value, type: 'text', disableFilter: false,// 关闭筛选功能true selectConfig: {}, placeholder: '请输入关键字...', onChange(val: any) { console.log('val: ', val) store.HEADERSEARCH(val) console.log('当前的参数: ', store.params.value) }, onGetstore(val: any) { console.log('val: ', val) console.log('当前的参数: ', store.params.value) }, ordersConfig: { enableOrder: false }, // 开启排序功能true }) }, }, { col: { width: 100, label: '通用件库存', prop: 'common_parts_inventory_count', }, component(createVNode, { row }: Scoped) { return createVNode( 'div', { style: { color: `${row.common_parts_inventory_count < row.count ? 'red' : 'black' }`, }, // 行内样式 class: 'flex-a-c', // 添加一个flex-a-c的class名称 }, row.common_parts_inventory_count, ) }, }, { col: { width: 100, label: '状态', prop: 'state', fixed: 'right' }, component(createVNode, { row }: Scoped) { let { type, val } = setLibraryName(row.state) if (val) { return createVNode(ElTag, { type, class: 'ml-2' }, () => val) } else { return createVNode('div', [val]) } }, // 示例4:下拉选择框(多选) header(createVNode: any) { return createVNode(HeaderInput, { text: '状态', column: 'state', storePar: store.params.value, type: 'select', selectConfig: { options: [ { value: '0', label: '备货中' }, { value: '1', label: '已备货' }, ], selectMultiple: true, // 是否多选 }, placeholder: '请选择...', onChange(val: any) { console.log('val: ', val) store.HEADERSEARCH(val) console.log('当前的参数: ', store.params.value) }, }) }, }, { col: { width: 100, label: '操作', prop: 'state', fixed: 'right', }, component(createVNode: any, { row }: Scoped) { // 单元格内容为一个开关 ElSwitch 组件 return createVNode(ElSwitch, { style: { '--el-switch-on-color': '#13ce66', '--el-switch-off-color': '#e6a23c', }, modelValue: row.state === 0 ? false : true, //ifshow.value, inlinePrompt: true, activeText: '备货完成', inactiveText: '备货中', 'onUpdate:modelValue': (newValue: any) => { console.log('newValue: ', newValue) // ifshow.value = newValue row.state = newValue ? 1 : 0 materialPreparationCompleted( [row], store.loading, store.UPDATEPOST, ) }, // 点击事件 onClick: (event: MouseEvent) => { event.stopPropagation() // 阻止事件冒泡 }, // 禁用状态 disabled: Number(row.material_preparation_count) >= Number(row.count) ? true : false, }) }, header(createVNode: any) { return createVNode(HeaderInput, { text: '操作', column: 'state', storePar: store.params.value, type: 'select', initValue: '0', popperStyle: { width: '300px', height: '150px' }, selectConfig: { options: [ { value: '0', label: '备货中' }, { value: '1', label: '已备货' }, ], selectMultiple: true, // 是否多选 }, placeholder: '请选择...', onChange(val: any) { console.log('val: ', val) store.HEADERSEARCH(val) console.log('当前的参数: ', store.params.value) }, }) }, }, { col: { label: '操作', prop: '', width: 240 }, // 单元格中渲染2个普通按钮组件 component(createVNode, { row }: Scoped) { return createVNode('div', [ createVNode( ElButton, { size: 'small', type: 'warning', color: '#2193b0', onClick(evt) { evt.stopPropagation() // 阻止冒泡事件 console.log('修改', row) }, }, () => '公司详情记录', ), createVNode( ElButton, { size: 'small', color: '#2c56a0', onClick(evt) { evt.stopPropagation() // 阻止冒泡事件 console.log('编辑', row) }, }, () => '条款详情记录', ), ]) }, }, { col: { width: 180, label: '操作', prop: '' }, component(createVNode, { row }: Scoped) { // 单元格中渲染3个图标按钮组件 return createVNode('div', [ createVNode(ElButton, { size: 'small', type: 'warning', icon: View, // 查看 color: '#2193b0', onClick(evt) { evt.stopPropagation() // 阻止冒泡事件 console.log('查看', row) console.log('detailsRef', detailsRef.value) // detailsRef.value?.showMydia() onSeeDetails(detailsRef.value, row) }, }), createVNode( ElButton, { size: 'small', icon: EditPen, onClick(evt) { evt.stopPropagation() // 阻止冒泡事件 onAdd(true, addRef.value, row) }, }, //, () => '修改' ), createVNode(ElButton, { size: 'small', type: 'danger', icon: Delete, onClick(evt) { evt.stopPropagation() // 阻止冒泡事件 console.log('修改', row) deleteOpen([row.id], store.UPDATEPOST) }, }), ]) }, }, ], })() return store }, ) ```