diff --git a/src/components/rowDrop/index.vue b/src/components/rowDrop/index.vue index cfc21a0f5..f9e4b9a96 100644 --- a/src/components/rowDrop/index.vue +++ b/src/components/rowDrop/index.vue @@ -47,11 +47,14 @@ const allData = ref([]) // 字段设置列表展现字段 除操作外 const checkedDataList = ref([]) const checkAll = ref(true) const handlecheckallchange = (val: boolean) => { + console.log('handlecheckallchange全部',val) checkedDataList.value = val ? allData.value : [] isIndeterminate.value = false save() } const handlecheckedchange = (value: string[]) => { + console.log('handlecheckedchange',value) + console.log('allData',allData.value) const checkedCount = value.length checkAll.value = checkedCount === allData.value.length isIndeterminate.value = checkedCount > 0 && checkedCount < allData.value.length @@ -80,44 +83,43 @@ const closeRowDrop = () => { // 保存 const save = () => { - let saveDate:any[] = [] // 默认列表第一列(弹出详情用) let myTableColumns = props.allSchemas.tableColumns if(props.detailAllSchemas){ myTableColumns = [...props.allSchemas?.tableColumns,...props.detailAllSchemas?.tableMainColumns] } - let actionData = myTableColumns.find(item=>item.field=='action') - if(actionData){ - myTableColumns.splice(myTableColumns[actionData],1) - myTableColumns = [...myTableColumns,actionData] - } - if(props.allSchemas?.tableColumns[0].fixed=='left'&&!saveDate.find(item=>item.fixed=='left')){ - saveDate.push(props.allSchemas?.tableColumns[0]) - } - allData.value.forEach((item) => { - const _item:any = myTableColumns.find(itemColumns => (itemColumns.label == item )) - if(_item){ - _item.isTable = false - if (checkedDataList.value.indexOf(_item.label) > -1) { - _item.isTable = true - if(!saveDate.includes(_item)){ + console.log('myTableColumns',myTableColumns) + console.log('checkedDataList',checkedDataList) + console.log('allData',allData.value) + + let leftArr = [] + let rightArr = [] + myTableColumns.forEach(item=>{ + if(item.fixed=='left'){ + leftArr.push(item) + }else if(item.fixed=='right'){ + rightArr.push(item) + } + }) + let saveDate:any[] = [...leftArr] + allData.value.forEach(itemLabel=>{ + const _item:any = myTableColumns.find(itemColumns => (itemColumns.label == itemLabel )) + if(_item){ + _item.isTable = checkedDataList.value.find(checkedLabel => checkedLabel==itemLabel)?true:false + if(_item.isTable){ saveDate.push(_item) } } - } }) - // 默认操作列 - if(actionData&&!saveDate.includes(actionData)){ - saveDate.push(actionData) - } + saveDate = [...saveDate,...rightArr] updataTableColumns(saveDate) - console.log(99, saveDate) - let paramsData = saveDate.map(item=>({ label:item.label, fixed:item.fixed, - field:item.field + field:item.field, + isTable:item.isTable })) + console.log('paramsData',paramsData) RedisApi.addRedis({key: routeName.value,value: JSON.stringify(paramsData)}).then(() => { }).catch(err => { console.log(err) @@ -149,46 +151,41 @@ const dragover = (e) => { // 初始化当前全选状态 const initSelectSta = () => { RedisApi.getRedis(routeName.value).then(res => { - - let _myTableColumns = [...props.allSchemas?.tableColumns] + let myTableColumns = [...props.allSchemas?.tableColumns] if(props.detailAllSchemas){ - _myTableColumns = [...props.allSchemas?.tableColumns,...props.detailAllSchemas?.tableMainColumns] + myTableColumns = [...props.allSchemas?.tableColumns,...props.detailAllSchemas?.tableMainColumns] } - updateSort(_myTableColumns) + let leftArr = [] + let rightArr = [] + myTableColumns.forEach(item=>{ + if(item.fixed=='left'){ + leftArr.push(item) + }else if(item.fixed=='right'){ + rightArr.push(item) + } + }) + updateSort(myTableColumns) // 有缓存 if (res) { checkedDataList.value = [] allData.value = [] // 缓存回显临时变量 - const _showTableColumns = [] - _showTableColumns.push(_myTableColumns[0]) + const _showTableColumns = [...leftArr] // 显示缓存中的字段 JSON.parse(res).forEach((item, index) => { // 列表字段第一个不能参与排序及显隐操作(详情弹窗必备) // 列表字段操作列不能参与排序及显隐操作 if (!item.fixed) { - if (item.field != 'action') { + if (item.isTable) { checkedDataList.value.push(item.label) - _showTableColumns.push(_myTableColumns.find(myItem => (myItem.label == item.label))) - allData.value.push(t(`ts.${item.label}`).replace('ts.','')) } + let itemColumn = myTableColumns.find(myItem => (myItem.label == item.label)) + itemColumn.isTable = item.isTable + _showTableColumns.push(itemColumn) + allData.value.push(t(`ts.${item.label}`).replace('ts.','')) } }) - - // 字段设置 显示全部字段 - _myTableColumns?.forEach((myTableItem, index) => { - // 列表字段第一个不能参与排序及显隐操作(详情弹窗必备) - // 列表字段操作列不能参与排序及显隐操作 - if (!myTableItem.fixed) { - if (myTableItem.field != 'action') { - if (allData.value.indexOf(myTableItem.label) == -1) { - allData.value.push(t(`ts.${myTableItem.label}`).replace('ts.','')) - } - } - } - }) - - _showTableColumns.push(_myTableColumns[_myTableColumns.length-1]) + _showTableColumns = [..._showTableColumns,...rightArr] if(checkedDataList.value.length>0){ if(allData.value?.length != checkedDataList.value.length){ isIndeterminate.value = true @@ -206,18 +203,16 @@ const initSelectSta = () => { } else { // 无缓存 checkedDataList.value = [] allData.value = [] - _myTableColumns?.forEach((item, index) => { + myTableColumns?.forEach((item, index) => { // 列表字段第一个不能参与排序及显隐操作(详情弹窗必备) // 列表字段操作列不能参与排序及显隐操作 if (!item.fixed) { - if (item.field != 'action') { - checkedDataList.value.push(item.label) - allData.value.push(t(`ts.${item.label}`).replace('ts.','')) - } + checkedDataList.value.push(item.label) + allData.value.push(t(`ts.${item.label}`).replace('ts.','')) } }) checkAll.value = true - updataTableColumns(_myTableColumns) + updataTableColumns(myTableColumns) } }).catch(err => { console.log(err) diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts index 20e9c604d..d4b7f0c34 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts @@ -675,6 +675,7 @@ export const SupplierdeliverRecordDetail = useCrudSchemas(reactive label: '单据号', field: 'number', sort: 'custom', + hiddenInMain:true, table: { width: 180 },