加入需求管理界面控件值储存功能。

This commit is contained in:
2023-02-06 16:43:40 +08:00
parent 9b57dbb772
commit 8e72f3bccd
10 changed files with 291 additions and 71 deletions

View File

@@ -3,7 +3,7 @@
* @Author: Kane
* @Date: 2022-12-14 15:23:54
* @LastEditors: Kane
* @LastEditTime: 2023-02-04 16:55:12
* @LastEditTime: 2023-02-06 14:32:18
* @FilePath: /IT/src/views/account/Login.vue
* @Description:
*
@@ -59,6 +59,7 @@ import { useStore } from "vuex";
import { useRouter } from "vue-router";
import { Login } from "@/utils/api/info/account";
import { ElMessage } from "element-plus";
//import router from "../../router/index";
export default {
@@ -77,8 +78,8 @@ export default {
const tab_menu = reactive(
[
{ type: "login", label: "登录" },
{ type: "regiester", label: "注册" },
{ type: "login", label: "登录", },
{ type: "regiester", label: "注册", },
]);
const ui = reactive(
@@ -103,6 +104,23 @@ export default {
type: "error",
});
};
//将获取到的用户信息和token保存到vuex和localStorage
const saveUserInfo = (userInfo) =>
{
console.log("保存用户信息");
console.log("保存用户信息", store);
//保存到vuex
store.commit("app/SET_USERINFO", userInfo);
//保存到localStorage
const token = userInfo.token;
const userInfoJson = JSON.stringify(userInfo);
window.localStorage.setItem("token", token);
window.localStorage.setItem("user_info", userInfoJson);
};
/**
* 登录
*/
@@ -180,22 +198,6 @@ export default {
});
};
//将获取到的用户信息和token保存到vuex和localStorage
const saveUserInfo = (userInfo) =>
{
console.log("保存用户信息");
console.log("保存用户信息", store);
//保存到vuex
store.commit("app/SET_USERINFO", userInfo);
//保存到localStorage
const token = userInfo.token;
const userInfoJson = JSON.stringify(userInfo);
window.localStorage.setItem("token", token);
window.localStorage.setItem("user_info", userInfoJson);
};
onBeforeMount(() =>
{
//初始化菜单选项

View File

@@ -2,7 +2,7 @@
* @Author: Kane
* @Date: 2023-02-02 22:19:12
* @LastEditors: Kane
* @LastEditTime: 2023-02-06 08:33:42
* @LastEditTime: 2023-02-06 15:57:19
* @FilePath: /IT/src/views/requirement/RequirementManager.vue
* @Description:
*
@@ -38,7 +38,8 @@
</el-col>
<el-col :span="4">
<!-- <el-input v-model="query_param.status"></el-input> -->
<el-select multiple collapse-tags collapse-tags-tooltip v-model.trim.lazy="query_param.status">
<el-select multiple collapse-tags collapse-tags-tooltip
v-model.trim.lazy="query_param.selected_status">
<el-option v-for="option in statusData" :value="option.status_name" lable="option.status_code"
:key="option.status_code + option.status_name"></el-option>
</el-select>
@@ -161,13 +162,13 @@
<span>状态</span>
</el-col>
<el-col :span="6">
<el-input readonly v-model="query_param.status"></el-input>
<el-input readonly v-model="query_param.select_status"></el-input>
</el-col>
<el-col :span="2">
<span>当前处理人</span>
</el-col>
<el-col :span="6">
<el-input readonly v-model="query_param.status"></el-input>
<el-input readonly v-model="query_param.select_status"></el-input>
</el-col>
</el-row>
<el-row :gutter="10">
@@ -175,19 +176,19 @@
<span>联系人</span>
</el-col>
<el-col :span="6">
<el-input readonly v-model="query_param.status"></el-input>
<el-input readonly v-model="query_param.select_status"></el-input>
</el-col>
<el-col :span="2">
<span>联系方式</span>
</el-col>
<el-col :span="6">
<el-input readonly v-model="query_param.status"></el-input>
<el-input readonly v-model="query_param.select_status"></el-input>
</el-col>
<el-col :span="2">
<span>提交日期</span>
</el-col>
<el-col :span="6">
<el-input readonly v-model="query_param.status"></el-input>
<el-input readonly v-model="query_param.select_status"></el-input>
</el-col>
</el-row>
</div>
@@ -228,12 +229,13 @@
</template>
<script>
import { reactive, computed, onBeforeMount } from "vue";
import { reactive, computed, onBeforeMount, onBeforeUnmount } from "vue";
//import { Editor, Toolbar } from '@wangeditor/editor-for-vue';
import { requirementTestData } from '@/test/data/TestData';
import { useRouter } from "vue-router";
import { useStore } from "vuex";
import { query_requirement_ui } from "@/utils/api/requirement/requirement";
import { loadRequirementUI } from "@/utils/api/LocalStorage.js";
export default {
name: "requirement-manager",
@@ -250,20 +252,39 @@ export default {
dialogRequirementDetailLoadingVisible: true,
pageVisible: false,
activeTabName: "requirement-detail",
requirement_status: [
"未提交", "部门审核", "需求分析", "技术开发", "待发布", "已发布", "被退回",
],
});
const query_param = reactive(
{
title: "",
serial_no: "",
request_people: "",
commit_start_date: new Date(),
commit_end_date: new Date(),
status: "",
});
// const query_param = reactive(
// {
// title: "",
// serial_no: "",
// request_people: "",
// commit_start_date: new Date(),
// commit_end_date: new Date(),
// selected_status: "",
// });
const query_param = reactive(loadRequirementUI());
//已选择的状态项目
// let saved_ui = query_param;
// if (saved_ui === null || saved_ui === "{}")
// {
// saved_ui = {
// selected_status: [],
// };
// window.localStorage.setItem("requirement_ui", JSON.stringify(saved_ui));
// }
// else
// {
// saved_ui = JSON.parse(saved_ui);
// }
// const selected_status = saved_ui.selected_status;
// //请求到的状态数据
// const requirement_status = store.state.requirement.status;
/*计算变量 *****************/
const tableHeight = computed(() =>
{
return 10 * 50 + 40;
@@ -318,7 +339,7 @@ export default {
const showRequirementDetail = (serial_no) =>
{
console.log("状态", query_param.status);
console.log("状态", query_param.select_status);
setTimeout(() =>
{
ui.dialogRequirementDetailLoadingVisible = false;
@@ -335,15 +356,45 @@ export default {
ui.dialogRequirementDetailLoadingVisible = true;
};
//用户选择状态时的事件
const onUIChange = () =>
{
//console.log("当前选择的状态:", query_param.status);
// debugger;
//保存到浏览器
window.localStorage.setItem("requirement_ui", JSON.stringify(query_param));
store.state.requirement.ui.selected_status = query_param.select_status;
};
onBeforeMount(() =>
{
query_param.commit_end_date = new Date(Date.now());
query_param.commit_start_date = new Date();
// debugger;
//判断selected_status是否有保存的值有的话就直接用否则从获取到数据中添加
if (query_param.selected_status.length === 0)
{
for (let index in store.state.requirement.status)
{
const status_name = store.state.requirement.status[index].status_name;
query_param.commit_start_date.setMonth(query_param.commit_end_date.getMonth() - 1);
if (typeof status_name === "string" && status_name.length != 0)
{
query_param.selected_status.push(status_name);
}
}
onUIChange();
}
});
//加载数据
onBeforeUnmount(() =>
{
onUIChange();
});
/*加载数据***************************/
//需求状态相关,默认全部选择
query_requirement_ui(store.state.requirement, "ErrorPage");
//输出控制台
@@ -366,6 +417,7 @@ export default {
onTablePageSizeChange,
showRequirementDetail,
closeRequirementDetail,
onUIChange,
//生命周期
onBeforeMount,
};