|
@@ -27,7 +27,7 @@
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
import { store } from "@/features/mark/store";
|
|
import { store } from "@/features/mark/store";
|
|
-import { defineComponent, reactive, ref } from "vue";
|
|
|
|
|
|
+import { defineComponent, onUnmounted, reactive, ref } from "vue";
|
|
import { CloseOutlined } from "@ant-design/icons-vue";
|
|
import { CloseOutlined } from "@ant-design/icons-vue";
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
@@ -38,7 +38,7 @@ export default defineComponent({
|
|
width: { type: String, default: "30%" },
|
|
width: { type: String, default: "30%" },
|
|
height: { type: String, default: "30%" },
|
|
height: { type: String, default: "30%" },
|
|
},
|
|
},
|
|
- setup({ top, width, height }) {
|
|
|
|
|
|
+ setup({ top, width, height, title }) {
|
|
const close = () => {
|
|
const close = () => {
|
|
store.setting.uiSetting["answer.paper.modal"] = false;
|
|
store.setting.uiSetting["answer.paper.modal"] = false;
|
|
};
|
|
};
|
|
@@ -50,6 +50,13 @@ export default defineComponent({
|
|
height,
|
|
height,
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ const savedStyle = JSON.parse(
|
|
|
|
+ sessionStorage.getItem("dialog-" + title) ?? ""
|
|
|
|
+ );
|
|
|
|
+ if (savedStyle?.top) positionStyle.top = savedStyle?.top;
|
|
|
|
+ if (savedStyle?.left) positionStyle.left = savedStyle?.left;
|
|
|
|
+ if (savedStyle?.width) positionStyle.width = savedStyle?.width;
|
|
|
|
+ if (savedStyle?.height) positionStyle.height = savedStyle?.height;
|
|
const mouseHandler = ref((null as unknown) as HTMLHeadElement);
|
|
const mouseHandler = ref((null as unknown) as HTMLHeadElement);
|
|
const resizeHandler = ref((null as unknown) as HTMLDivElement);
|
|
const resizeHandler = ref((null as unknown) as HTMLDivElement);
|
|
|
|
|
|
@@ -96,9 +103,9 @@ export default defineComponent({
|
|
const handleResizeMouseMove = (e: MouseEvent) => {
|
|
const handleResizeMouseMove = (e: MouseEvent) => {
|
|
// console.log(e);
|
|
// console.log(e);
|
|
// console.log("mouse move");
|
|
// console.log("mouse move");
|
|
|
|
+ // @ts-ignore
|
|
const dialog = e.target.parentElement as HTMLDivElement;
|
|
const dialog = e.target.parentElement as HTMLDivElement;
|
|
// console.log(dialog);
|
|
// console.log(dialog);
|
|
- const { clientX, clientY } = e;
|
|
|
|
const newXRatio =
|
|
const newXRatio =
|
|
parseFloat(getComputedStyle(dialog).width) + e.movementX;
|
|
parseFloat(getComputedStyle(dialog).width) + e.movementX;
|
|
const newYRatio =
|
|
const newYRatio =
|
|
@@ -123,6 +130,15 @@ export default defineComponent({
|
|
resizeHandler.value.removeEventListener("mouseout", handleResizeMouseOut);
|
|
resizeHandler.value.removeEventListener("mouseout", handleResizeMouseOut);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ onUnmounted(() => {
|
|
|
|
+ if (title) {
|
|
|
|
+ sessionStorage.setItem(
|
|
|
|
+ "dialog-" + title,
|
|
|
|
+ JSON.stringify(positionStyle)
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
return {
|
|
return {
|
|
close,
|
|
close,
|
|
positionStyle,
|
|
positionStyle,
|