| | |
| | | import { logout } from '@/config.js'; |
| | | import { formatMessage } from '@/utils/localeUtils.js'; |
| | | import useTableSearch from '@/utils/tableUtils.jsx'; |
| | | import { debounce } from 'lodash-es'; |
| | | const context = getCurrentInstance()?.appContext.config.globalProperties; |
| | | |
| | | const router = useRouter(); |
| | |
| | | let tableData = ref([]); |
| | | let deleteDetlId = ref([]); |
| | | let orderId = ref(null); |
| | | let isAdd = ref(false); |
| | | getColumns(); |
| | | |
| | | const { |
| | |
| | | columns: [], |
| | | }); |
| | | |
| | | state.columns = [ |
| | | let defaultColumns = [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '_id', |
| | |
| | | ellipsis: true, |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_loc_detl.matnr', '物料号'), |
| | | title: formatMessage('db.man_loc_detl.matnr', '商品编号'), |
| | | dataIndex: 'matnr', |
| | | width: 140, |
| | | ellipsis: true, |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_loc_detl.maktx', '物料名'), |
| | | title: formatMessage('db.man_loc_detl.maktx', '商品名称'), |
| | | dataIndex: 'maktx', |
| | | width: 140, |
| | | ellipsis: true, |
| | |
| | | ellipsis: true, |
| | | editable: true, |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_loc_detl.qty', '已完成数量'), |
| | | dataIndex: 'qty', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_loc_detl.workQty', '作业中数量'), |
| | | dataIndex: 'workQty', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }, |
| | | { |
| | | title: formatMessage('db.man_loc_detl.memo', '备注'), |
| | | dataIndex: 'memo', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }, |
| | | // { |
| | | // title: formatMessage('db.man_loc_detl.qty', '已完成数量'), |
| | | // dataIndex: 'qty', |
| | | // width: 140, |
| | | // ellipsis: true, |
| | | // editable: true, |
| | | // }, |
| | | // { |
| | | // title: formatMessage('db.man_loc_detl.workQty', '作业中数量'), |
| | | // dataIndex: 'workQty', |
| | | // width: 140, |
| | | // ellipsis: true, |
| | | // editable: true, |
| | | // }, |
| | | // { |
| | | // title: formatMessage('db.man_loc_detl.memo', '备注'), |
| | | // dataIndex: 'memo', |
| | | // width: 140, |
| | | // ellipsis: true, |
| | | // editable: true, |
| | | // }, |
| | | ]; |
| | | |
| | | const fieldList = []; |
| | |
| | | fieldType: 1 |
| | | }) |
| | | let fieldResult = fieldResp.data; |
| | | let tmp = state.columns; |
| | | let tmp = defaultColumns; |
| | | if (fieldResult.code == 200) { |
| | | let data = fieldResult.data; |
| | | |
| | | if (!isAdd.value) { |
| | | tmp.push({ |
| | | title: formatMessage('db.man_loc_detl.qty', '已完成数量'), |
| | | dataIndex: 'qty', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }) |
| | | |
| | | tmp.push({ |
| | | title: formatMessage('db.man_loc_detl.workQty', '作业中数量'), |
| | | dataIndex: 'workQty', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }) |
| | | } |
| | | |
| | | data.forEach((item) => { |
| | | tmp.push({ |
| | |
| | | }) |
| | | |
| | | fieldList.push(item.name); |
| | | }) |
| | | |
| | | tmp.push({ |
| | | title: formatMessage('db.man_loc_detl.memo', '备注'), |
| | | dataIndex: 'memo', |
| | | width: 140, |
| | | ellipsis: true, |
| | | editable: true, |
| | | }) |
| | | |
| | | tmp.push({ |
| | |
| | | const openAddDetl = ref(false); |
| | | const matChecked = ref([]); |
| | | const matQueryList = ref(null); |
| | | const matFetching = ref(false); |
| | | const matSelectList = ref([]); |
| | | const addDetl = () => { |
| | | openAddDetl.value = true; |
| | |
| | | matChecked.value = []; |
| | | } |
| | | |
| | | const handleSearch = val => { |
| | | const handleSearch = debounce(val => { |
| | | matQuery(val); |
| | | } |
| | | }, 600) |
| | | |
| | | const handleSelect = (value, option) => { |
| | | let flag = true; |
| | |
| | | |
| | | matQuery(null); |
| | | function matQuery(condition) { |
| | | matFetching.value = true; |
| | | post('/api/mat/page', { |
| | | current: 1, |
| | | pageSize: 100, |
| | | pageSize: 10, |
| | | condition: condition |
| | | }).then((resp) => { |
| | | let result = resp.data; |
| | |
| | | result.data.records.forEach((item) => { |
| | | tmp.push({ |
| | | value: item.matnr, |
| | | label: item.matnr, |
| | | label: item.matnr + '_' + item.maktx, |
| | | data: item |
| | | }) |
| | | }) |
| | | matQueryList.value = tmp; |
| | | matFetching.value = false; |
| | | }) |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | watch(orderId, (newVal, oldVal) => { |
| | | if(newVal == undefined || newVal == null) { |
| | | if (newVal == undefined || newVal == null) { |
| | | tableData.value = []; |
| | | getColumns() |
| | | return; |
| | | } |
| | | |
| | |
| | | }) |
| | | tableData.value = tmp; |
| | | }) |
| | | |
| | | |
| | | }) |
| | | |
| | | defineExpose({ |
| | | tableData, |
| | | orderId, |
| | | deleteDetlId, |
| | | isAdd, |
| | | }) |
| | | |
| | | </script> |
| | |
| | | </template> |
| | | |
| | | <template v-if="column.editable"> |
| | | <div> |
| | | <a-input v-model:value="record[column.dataIndex]" /> |
| | | </div> |
| | | <a-input v-model:value="record[column.dataIndex]" /> |
| | | </template> |
| | | </template> |
| | | </a-table> |
| | |
| | | @ok="handleAddDetlOk" @cancel="handleAddDetlCancel"> |
| | | <a-select v-model:value="matChecked" :options="matQueryList" mode="multiple" |
| | | :placeholder="formatMessage('component.orderDetl.edit.selectMat', '请选择物料')" @search="handleSearch" |
| | | @select="handleSelect" @deselect="handleDeselect"></a-select> |
| | | :filter-option="false" :not-found-content="matFetching ? undefined : null" @select="handleSelect" |
| | | @deselect="handleDeselect"></a-select> |
| | | </a-modal> |
| | | </div> |
| | | </template> |