|
@@ -8,7 +8,8 @@ import {
|
|
materialQueryPage,
|
|
materialQueryPage,
|
|
materialRemove,
|
|
materialRemove,
|
|
materialRemoveAll,
|
|
materialRemoveAll,
|
|
- materialRemoveMusic
|
|
|
|
|
|
+ materialRemoveMusic,
|
|
|
|
+ materialUpdateAll
|
|
} from '../../api';
|
|
} from '../../api';
|
|
import {
|
|
import {
|
|
NButton,
|
|
NButton,
|
|
@@ -25,6 +26,7 @@ import resourceDefault from '../../images/resource-default.png';
|
|
import resourceChecked from '../../images/resource-checked.png';
|
|
import resourceChecked from '../../images/resource-checked.png';
|
|
import MyResourcesGuide from '@/custom-plugins/guide-page/myResources-guide';
|
|
import MyResourcesGuide from '@/custom-plugins/guide-page/myResources-guide';
|
|
import SaveModal from './save-modal';
|
|
import SaveModal from './save-modal';
|
|
|
|
+import deepClone from '/src/helpers/deep-clone';
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: 'share-resources',
|
|
name: 'share-resources',
|
|
setup() {
|
|
setup() {
|
|
@@ -53,6 +55,7 @@ export default defineComponent({
|
|
editStatus: false, // 是否编辑
|
|
editStatus: false, // 是否编辑
|
|
editList: [] as any, // TOD
|
|
editList: [] as any, // TOD
|
|
editIds: [] as any, // 编辑的
|
|
editIds: [] as any, // 编辑的
|
|
|
|
+ editOverIds: [] as any, // 确认修改的数据
|
|
removeVisiable: false,
|
|
removeVisiable: false,
|
|
removeContent: '是否删除该资源?',
|
|
removeContent: '是否删除该资源?',
|
|
type: 'remove',
|
|
type: 'remove',
|
|
@@ -126,10 +129,10 @@ export default defineComponent({
|
|
} else {
|
|
} else {
|
|
await materialRemoveAll(state.editIds);
|
|
await materialRemoveAll(state.editIds);
|
|
}
|
|
}
|
|
- message.success('删除成功');
|
|
|
|
- state.pagination.page = 1;
|
|
|
|
- getList();
|
|
|
|
- state.editIds = [];
|
|
|
|
|
|
+ // message.success('删除成功');
|
|
|
|
+ // state.pagination.page = 1;
|
|
|
|
+ // getList();
|
|
|
|
+ // state.editIds = [];
|
|
} catch {
|
|
} catch {
|
|
//
|
|
//
|
|
}
|
|
}
|
|
@@ -180,11 +183,55 @@ export default defineComponent({
|
|
}
|
|
}
|
|
state.uploadStatus = true;
|
|
state.uploadStatus = true;
|
|
}}
|
|
}}
|
|
- onEdit={(status: boolean) => {
|
|
|
|
|
|
+ onEditOver={async (status: boolean) => {
|
|
|
|
+ state.editStatus = status;
|
|
|
|
+ try {
|
|
|
|
+ // 修改
|
|
|
|
+ if (state.editOverIds.length > 0) {
|
|
|
|
+ const body = [] as any;
|
|
|
|
+ state.tableList.forEach((item: any) => {
|
|
|
|
+ if (state.editOverIds.includes(item.id)) {
|
|
|
|
+ body.push({
|
|
|
|
+ subjectIds: item.subjectId,
|
|
|
|
+ openFlag: item.openFlag,
|
|
|
|
+ coverImg: item.coverImg,
|
|
|
|
+ name: item.title,
|
|
|
|
+ type: item.type,
|
|
|
|
+ enableFlag: 1,
|
|
|
|
+ content: item.content,
|
|
|
|
+ id: item.id || null,
|
|
|
|
+ delFlag: item.delFlag
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ //
|
|
|
|
+ if (body.length > 0) {
|
|
|
|
+ await materialUpdateAll(body);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ message.success('修改成功');
|
|
|
|
+ state.pagination.page = 1;
|
|
|
|
+ getList();
|
|
|
|
+ state.editIds = [];
|
|
|
|
+ state.editOverIds = [];
|
|
|
|
+ } catch {
|
|
|
|
+ //
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
|
|
+ onCancel={status => {
|
|
|
|
+ state.editStatus = status;
|
|
|
|
+ state.pagination.page = 1;
|
|
|
|
+ state.editIds = [];
|
|
|
|
+ state.editOverIds = [];
|
|
|
|
+ getList();
|
|
|
|
+ }}
|
|
|
|
+ onEdit={async (status: boolean) => {
|
|
// 点击编辑
|
|
// 点击编辑
|
|
state.editStatus = status;
|
|
state.editStatus = status;
|
|
|
|
+
|
|
if (!state.editStatus) {
|
|
if (!state.editStatus) {
|
|
state.editIds = [];
|
|
state.editIds = [];
|
|
|
|
+ state.editOverIds = [];
|
|
}
|
|
}
|
|
}}
|
|
}}
|
|
onSelectAll={(status: boolean) => {
|
|
onSelectAll={(status: boolean) => {
|
|
@@ -212,57 +259,60 @@ export default defineComponent({
|
|
|
|
|
|
<NSpin v-model:show={state.loading} style={{ 'min-height': '50vh' }}>
|
|
<NSpin v-model:show={state.loading} style={{ 'min-height': '50vh' }}>
|
|
<div class={styles.list}>
|
|
<div class={styles.list}>
|
|
- {state.tableList.map((item: any) => (
|
|
|
|
- <div class={styles.itemWrap}>
|
|
|
|
- <div class={styles.itemWrapBox}>
|
|
|
|
- <CardType
|
|
|
|
- item={item}
|
|
|
|
- isDownload
|
|
|
|
- disabledMouseHover={false}
|
|
|
|
- offShelf={item.enableFlag ? false : true}
|
|
|
|
- onOffShelf={() => {
|
|
|
|
- state.type = 'remove';
|
|
|
|
- state.removeContent = '该资源已下架,是否删除?';
|
|
|
|
- state.removeVisiable = true;
|
|
|
|
- state.removeItem = item;
|
|
|
|
- }} // 下架
|
|
|
|
- onClick={(val: any) => {
|
|
|
|
- if (val.type === 'IMG' || !item.enableFlag) return;
|
|
|
|
- state.show = true;
|
|
|
|
- state.item = val;
|
|
|
|
- }}
|
|
|
|
- onCollect={(item: any) => onCollect(item)}
|
|
|
|
- />
|
|
|
|
- {/* 编辑模式 */}
|
|
|
|
- {state.editStatus && (
|
|
|
|
- <div
|
|
|
|
- class={[
|
|
|
|
- styles.itemBg,
|
|
|
|
- state.editIds.includes(item.id)
|
|
|
|
- ? styles.itemBgChecked
|
|
|
|
- : ''
|
|
|
|
- ]}
|
|
|
|
- onClick={() => {
|
|
|
|
- const index = state.editIds.indexOf(item.id);
|
|
|
|
- if (index > -1) {
|
|
|
|
- state.editIds.splice(index, 1);
|
|
|
|
- } else {
|
|
|
|
- state.editIds.push(item.id);
|
|
|
|
- }
|
|
|
|
- }}>
|
|
|
|
- <img
|
|
|
|
- src={
|
|
|
|
- state.editIds.includes(item.id)
|
|
|
|
- ? resourceChecked
|
|
|
|
- : resourceDefault
|
|
|
|
- }
|
|
|
|
- class={styles.resourceDefault}
|
|
|
|
|
|
+ {state.tableList.map(
|
|
|
|
+ (item: any) =>
|
|
|
|
+ item.delFlag !== 1 && (
|
|
|
|
+ <div class={styles.itemWrap}>
|
|
|
|
+ <div class={styles.itemWrapBox}>
|
|
|
|
+ <CardType
|
|
|
|
+ item={item}
|
|
|
|
+ isDownload
|
|
|
|
+ disabledMouseHover={false}
|
|
|
|
+ offShelf={item.enableFlag ? false : true}
|
|
|
|
+ onOffShelf={() => {
|
|
|
|
+ state.type = 'remove';
|
|
|
|
+ state.removeContent = '该资源已下架,是否删除?';
|
|
|
|
+ state.removeVisiable = true;
|
|
|
|
+ state.removeItem = item;
|
|
|
|
+ }} // 下架
|
|
|
|
+ onClick={(val: any) => {
|
|
|
|
+ if (val.type === 'IMG' || !item.enableFlag) return;
|
|
|
|
+ state.show = true;
|
|
|
|
+ state.item = val;
|
|
|
|
+ }}
|
|
|
|
+ onCollect={(item: any) => onCollect(item)}
|
|
/>
|
|
/>
|
|
|
|
+ {/* 编辑模式 */}
|
|
|
|
+ {state.editStatus && (
|
|
|
|
+ <div
|
|
|
|
+ class={[
|
|
|
|
+ styles.itemBg,
|
|
|
|
+ state.editIds.includes(item.id)
|
|
|
|
+ ? styles.itemBgChecked
|
|
|
|
+ : ''
|
|
|
|
+ ]}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ const index = state.editIds.indexOf(item.id);
|
|
|
|
+ if (index > -1) {
|
|
|
|
+ state.editIds.splice(index, 1);
|
|
|
|
+ } else {
|
|
|
|
+ state.editIds.push(item.id);
|
|
|
|
+ }
|
|
|
|
+ }}>
|
|
|
|
+ <img
|
|
|
|
+ src={
|
|
|
|
+ state.editIds.includes(item.id)
|
|
|
|
+ ? resourceChecked
|
|
|
|
+ : resourceDefault
|
|
|
|
+ }
|
|
|
|
+ class={styles.resourceDefault}
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ )}
|
|
</div>
|
|
</div>
|
|
- )}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- ))}
|
|
|
|
|
|
+ </div>
|
|
|
|
+ )
|
|
|
|
+ )}
|
|
|
|
|
|
{!state.loading && state.tableList.length <= 0 && (
|
|
{!state.loading && state.tableList.length <= 0 && (
|
|
<TheEmpty style={{ minHeight: '50vh' }} description="暂无资源" />
|
|
<TheEmpty style={{ minHeight: '50vh' }} description="暂无资源" />
|
|
@@ -271,6 +321,7 @@ export default defineComponent({
|
|
</NSpin>
|
|
</NSpin>
|
|
|
|
|
|
<Pagination
|
|
<Pagination
|
|
|
|
+ disabled={state.editStatus}
|
|
v-model:page={state.pagination.page}
|
|
v-model:page={state.pagination.page}
|
|
v-model:pageSize={state.pagination.rows}
|
|
v-model:pageSize={state.pagination.rows}
|
|
v-model:pageTotal={state.pageTotal}
|
|
v-model:pageTotal={state.pageTotal}
|
|
@@ -295,11 +346,31 @@ export default defineComponent({
|
|
onConfirm={() => {
|
|
onConfirm={() => {
|
|
state.editIds = [];
|
|
state.editIds = [];
|
|
state.editList = [];
|
|
state.editList = [];
|
|
|
|
+ state.editOverIds = [];
|
|
state.saveStatus = false;
|
|
state.saveStatus = false;
|
|
searchGroupResourcesRef.value?.resetStatus();
|
|
searchGroupResourcesRef.value?.resetStatus();
|
|
onSearch(state.searchGroup);
|
|
onSearch(state.searchGroup);
|
|
}}
|
|
}}
|
|
list={state.editList}
|
|
list={state.editList}
|
|
|
|
+ onEditAll={(list: any) => {
|
|
|
|
+ try {
|
|
|
|
+ state.tableList.forEach((table: any) => {
|
|
|
|
+ const item = list.find((item: any) => item.id === table.id);
|
|
|
|
+ if (item) {
|
|
|
|
+ table.openFlag = item.openFlag;
|
|
|
|
+ table.title = item.name;
|
|
|
|
+ table.subjectId = item.subjectIds;
|
|
|
|
+
|
|
|
|
+ if (!state.editOverIds.includes(table.id)) {
|
|
|
|
+ state.editOverIds.push(table.id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ state.uploadStatus = false;
|
|
|
|
+ } catch (e: any) {
|
|
|
|
+ console.log(e);
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
/>
|
|
/>
|
|
</NModal>
|
|
</NModal>
|
|
|
|
|
|
@@ -351,7 +422,15 @@ export default defineComponent({
|
|
if (state.type === 'remove') {
|
|
if (state.type === 'remove') {
|
|
onRemove();
|
|
onRemove();
|
|
} else {
|
|
} else {
|
|
- onDelete();
|
|
|
|
|
|
+ state.tableList.forEach((item: any) => {
|
|
|
|
+ if (state.editIds.includes(item.id)) {
|
|
|
|
+ item.delFlag = 1;
|
|
|
|
+
|
|
|
|
+ if (!state.editOverIds.includes(item.id)) {
|
|
|
|
+ state.editOverIds.push(item.id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
state.removeVisiable = false;
|
|
state.removeVisiable = false;
|
|
}}>
|
|
}}>
|