目录
动态更改订阅模块的顺序、显示。
数据库添加字段,设置部分模块重置效果。
根据用户需求选择各个模块配置。存在配置文件。根据用户需求动态化设计。
模块数据部分展示,展示前十条。
模块位置动态展示。
模块内容关键字跳转。
查看全部按钮,展示全部数据。












dashboard文件夹=>index.vue
- <template>
- <div class="dashboard-container firstPage">
- <div class="dashboard-text">
- <el-card style="min-height: calc(100vh - 120px)">
- <div slot="header" class="card-title">
- <span>我的数据span>
- <el-button type="primary" @click="showSubscribe" style="float: right"
- >主页配置
- >
- div>
- <el-row :gutter="15" v-loading="pageLoading">
- <el-col
- :span="24 / subscribe.layoutCols"
- class="dataBox align-center"
- v-for="item in subscribe.sortedItems"
- :key="item.name"
- >
- <component
- :is="item.name"
- :user="user"
- :colNum="subscribe.layoutCols"
- >
- component>
- el-col>
- el-row>
- el-card>
- div>
-
-
- <el-dialog
- title="主页配置"
- :visible.sync="subscribe.show"
- width="40%"
- :before-close="closedia"
- class="a1"
- >
- <el-form style="height:600px,overflow:hidden">
- <el-form-item label="布局列数:">
- <el-select v-model="subscribe.colNum" placeholder="请选择布局列数">
- <el-option label="2列" value="2"> el-option>
- <el-option label="3列" value="3"> el-option>
- <el-option label="4列" value="4"> el-option>
- el-select>
- el-form-item>
- <el-form-item label="订阅模块:">
- <div class="drags">
- <div
- class="item"
- :class="'item' + subscribe.colNum"
- v-for="(item, index) in subscribe.items"
- :key="item + index + 'key'"
- draggable
- @dragstart="startDrag($event, item)"
- @dragover.prevent="handDragOver($event, item)"
- @dragenter="handDragEnter($event, item)"
- @dragend="endDrag($event, item)"
- :style="{ background: item.color }"
- :ref="item.color"
- >
- <div class="bc">
- <div class="item-title">{{ item.cname }}div>
- <el-switch
- v-model="item.subscribed"
- inactive-color="#ff4949"
- active-text="订阅"
- inactive-text="取消"
- >
- el-switch>
- div>
- div>
- div>
- el-form-item>
- el-form>
- <span slot="footer" class="dialog-footer">
- <el-button type="success" @click="updateConfigurationListByRole"
- >重 置
- >
- <el-button type="primary" @click="updateUserConfiguration"
- >确 定
- >
- span>
- el-dialog>
- div>
- template>
-
- <script>
- import { mapGetters, mapState } from "vuex";
- import MyCounts from "./components/statisticsAnalysis/myCount";
- import FileCount from "./components/statisticsAnalysis/fileCount";
- import MyMessages from "./components/statisticsAnalysis/MyMsgs";
- import MyAssigns from "./components/statisticsAnalysis/TaskCount";
- import MyDataStatistics from "./components/statisticsAnalysis/dataCount";
- import MyOperations from "./components/statisticsAnalysis/myOperates";
- import MyTools from "./components/statisticsAnalysis/toolsRunning";
-
- import MyProjects from "./components/myDatas/myProjects";
- import MyItems from "./components/myDatas/myAnalysisTargets";
- import MyVersions from "./components/myDatas/myVersions";
- import MyModels from "./components/myDatas/myModels";
- import MySolvingFiles from "./components/myDatas/mySolvingFiles";
- import MyReports from "./components/myDatas/myReports";
- import MyResults from "./components/myDatas/myReuslts";
- import MyAllKeyResults from "./components/myDatas/myAllKeyResult";
- import MyToDoTaskNode from "./components/myDatas/myToDoTaskNode";
- import MyApproval from "./components/myDatas/myApply";
- import MyTasks from "./components/myDatas/myWork";
- import MyCreateTask from "./components/myDatas/myCreateTask";
- import MyPersonInfo from "./components/myDatas/myPersonInfo";
-
- import { getUserConfiguration } from "@/api/statistics";
- import { getAllConfiguration } from "@/api/statistics";
- import { updateUserConfiguration } from "@/api/statistics";
- import { findConfigurationListByRole } from "@/api/statistics";
-
- export default {
- name: "Dashboard",
- computed: {
- ...mapGetters(["name"]),
- ...mapState({
- user: (state) => state.user.user,
- }),
- },
- components: {
- // CountTo,
- MyCounts,
- FileCount,
- MyMessages,
- MyAssigns,
- MyDataStatistics,
- MyOperations,
- MyTools,
-
- MyProjects,
- MyItems,
- MyVersions,
- MyModels,
- MySolvingFiles,
- MyReports,
- MyResults,
- MyAllKeyResults,
- MyToDoTaskNode,
- MyTasks,
- MyCreateTask,
- MyApproval,
- MyPersonInfo,
- },
- data() {
- return {
- pageLoading: false,
- subscribe: {
- colNum: 3,
- layoutCols: 3,
- objectid: "",
- show: false,
- ending: null,
- dragging: null,
- items: [],
- sortedItems: [],
- cacheItems: [],
- cacheCols: 3,
- },
- defaultConfig: {
- column: 4,
- default: [],
- },
- allConfig: [],
- };
- },
-
- methods: {
- // 获取个人主页配置
- getUserConfiguration() {
- return getUserConfiguration();
- },
- // 获取全部主页配置
- getAllConfiguration() {
- return getAllConfiguration();
- },
- // 根据用户角色获取默认配置
- findConfigurationListByRole() {
- return findConfigurationListByRole();
- },
- async configuration() {
- let UserConfiguration = await this.getUserConfiguration();
- let AllConfiguration = await this.getAllConfiguration();
- let DefaultConfiguration = await this.findConfigurationListByRole();
- let userConfig = UserConfiguration.data;
- let allConfig = AllConfiguration.data;
- let defaultConfig = DefaultConfiguration.data;
- console.log(userConfig);
- console.log(allConfig);
-
- this.allConfig = JSON.parse(JSON.stringify(allConfig));
- this.defaultConfig = defaultConfig;
-
- let subscribeid =
- userConfig.subscribe.length != 0
- ? userConfig.subscribe
- : defaultConfig.default;
-
- var subed = [];
- for (var item of subscribeid) {
- for (var allItem of allConfig) {
- if (allItem.objectid == item) {
- allItem.subscribed = true;
- subed.push(allItem);
- break;
-
- }
- }
- }
- var notSub = allConfig.filter((item) => {
- if (!subscribeid.includes(item.objectid)) {
- item.subscribed = false;
- return item
- }
- });
- var config = [...subed, ...notSub];
- console.log(config);
- // var config = allConfig.map((item) => {
- // item.subscribed = subscribeid.includes(item.objectid) ? true : false;
- // return item;
- // });
-
- this.subscribe.items = JSON.parse(JSON.stringify(config));
- console.log(this.subscribe.items);
- this.subscribe.colNum =
- userConfig.column.length != 0
- ? userConfig.column
- : defaultConfig.column;
-
- // this.subscribe.objectid = userconfig.objectid;
- this.sortConfirm();
- this.pageLoading = false;
- },
- // 更新个人主页
- updateUserConfiguration() {
- var user = JSON.parse(localStorage.getItem("user")); //数组对象
- let userId = user.objectid;
- var subids = [];
- for (var item of this.subscribe.items) {
- if (item.subscribed == true) {
- subids.push(item.objectid);
- }
- }
-
- let data = {
- user: userId,
- column: this.subscribe.colNum,
- subscribeList: subids,
- };
- updateUserConfiguration(data).then((res) => {
- if (res) {
- console.log(res);
- this.sortConfirm();
- }
- });
- },
- // 根据用户角色获取默认配置
- updateConfigurationListByRole() {
- let arr = this.allConfig.map((item) => {
- item.subscribed = this.defaultConfig.default.includes(item.objectid)
- ? true
- : false;
- return item;
- });
- this.subscribe.items = JSON.parse(JSON.stringify(arr));
- this.subscribe.colNum = this.defaultConfig.column;
- },
- startDrag(e, item) {
- console.log(e, item);
- this.subscribe.dragging = item;
- console.log(this.$refs[item.color]);
- },
- handDragOver(e, item) {
- console.log(e, item);
- e.dataTransfer.dropEffect = "move";
- },
- handDragEnter(e, item) {
- console.log(e, item);
- e.dataTransfer.effectAllowed = "move";
- this.subscribe.ending = item;
- },
- endDrag(e, item) {
- console.log(e, item);
- if (this.subscribe.ending.name === this.subscribe.dragging.name) {
- return;
- }
- let newItems = [...this.subscribe.items];
- const src = newItems.indexOf(this.subscribe.dragging);
- const dst = newItems.indexOf(this.subscribe.ending);
-
- newItems.splice(src, 1);
- newItems.splice(dst, 0, this.subscribe.dragging);
- this.subscribe.items = newItems;
- this.$nextTick(() => {
- this.subscribe.dragging = null;
- this.subscribe.ending = null;
- });
- },
- showSubscribe() {
- this.subscribe.show = true;
- },
- sortConfirm() {
- this.subscribe.sortedItems = this.subscribe.items.filter((v) => {
- return v.subscribed;
- });
- this.subscribe.layoutCols = this.subscribe.colNum;
- this.subscribe.cacheItems = this.subscribe.items;
- this.subscribe.cacheCols = this.subscribe.colNum;
- this.subscribe.show = false;
- },
- closedia(done) {
- this.subscribe.items = this.subscribe.cacheItems;
- this.subscribe.colNum = this.subscribe.cacheCols;
- if (done) {
- done();
- }
- },
- },
- created() {
- this.pageLoading = true;
- this.configuration();
- },
- mounted() {},
- };
- script>
-
- <style lang="scss" scoped>
- .a1{
- height: 100%;
- ::v-deep .el-dialog__body{
- height: 40rem;
- overflow: auto;
- }
- }
- .dashboard {
- &-container {
- margin: 30px;
- }
- }
- .firstPage {
- .card-title {
- font-size: 20px;
- font-weight: bold;
- }
- ::v-deep .dataBox {
- height: calc(50vh - 150px);
- margin-bottom: 15px;
- .border-box {
- border: 1px solid #eef;
- border-radius: 5px;
- height: calc(50vh - 150px);
- box-sizing: border-box;
- padding: 15px 0;
- }
- #smChart {
- height: 100px;
- width: 200px;
- }
- .readBox {
- line-height: 28px;
- }
- .card-sub-title {
- font-size: 18px;
- font-weight: bold;
- line-height: 20px;
- .messageIcon {
- color: #409eff;
- font-size: 18px;
- display: inline-block;
- vertical-align: middle;
- margin: 0 5px;
- }
- .messageNum {
- display: inline-block;
- vertical-align: middle;
- font-size: 14px;
- color: #679;
- margin: 0 5px;
- }
- }
- .chartTitle {
- font-size: 18px;
- font-weight: bold;
- padding-left: 15px;
- }
- .middleChartBox {
- height: 300px;
- }
- .chartBox {
- height: 300px;
- }
- .label {
- color: #999;
- }
- .bo {
- font-size: 30px;
- }
- .card-panel-num {
- font-size: 40px;
- line-height: 200px;
- }
- }
-
- ::v-deep .drags {
- display: flex;
- flex-wrap: wrap;
- .item {
- height: 100px;
- // width: 200px;
- // background: #f5f9ff;
- margin-right: 20px;
- margin-bottom: 20px;
- text-align: center;
- .bc {
- width: calc(100% -20px);
- background: #f5f9ff;
- }
- .item-title {
- line-height: 60px;
- }
- &.item2 {
- width: calc(50% - 20px);
- }
- &.item3 {
- width: calc(33% - 20px);
- }
- &.item4 {
- width: calc(25% - 20px);
- }
- }
-
- .el-switch__label--left {
- &.is-active {
- color: #ff4949;
- }
- }
- .el-switch__label--right.is-active {
- &.is-active {
- color: #1890ff;
- }
- }
- }
- }
- style>
2.订阅模块

点击查看订阅模块实现代码
3.订阅模块配置文件
- {
- "myAllKeyResult": {
- "label": [
- "名称",
- "性能结果类型",
- "创建者",
- "所有者",
- "创建时间",
- "结果",
- "描述"
- ]
- },
- "myAnalysisTargets": {
- "label": [
- "对象名称",
- "项目",
- "分析对象定义",
- "上层分析对象",
- "创建者",
- "所有者",
- "创建时间",
- "描述"
- ]
- },
- "myApply": {
- "label": [
- "名称",
- "审批对象名称",
- "类型",
- "申请时间",
- "状态"
- ]
- },
- "myCreateTask": {
- "label": [
- "任务名称",
- "项目",
- "版本",
- "阶段",
- "类型",
- "上层任务",
- "任务负责人",
- "创建时间",
- "任务状态"
- ]
- },
- "myModels": {
- "label": [
- "模型名称",
- "版本方案",
- "项目",
- "分析对象",
- "阶段",
- "模型定义",
- "模型实例类型",
- "上层模型",
- "格式",
- "密级",
- "创建者",
- "所有者",
- "创建时间",
- "描述"
- ]
- },
- "myProjects": {
- "label": [
- "项目名称",
- "项目长名",
- "项目类型",
- "上层项目",
- "创建者",
- "所有者",
- "创建时间",
- "项目状态",
- "描述"
- ]
- },
- "myReports": {
- "label": [
- "名称",
- "项目",
- "关联数据",
- "密级",
- "报告类型",
- "创建者",
- "所有者",
- "创建时间",
- "描述"
- ]
- },
- "myReuslts": {
- "label": [
- "名称",
- "项目",
- "分析对象",
- "版本",
- "模型定义",
- "结果类型",
- "分析类型",
- "计算文件",
- "格式",
- "研制阶段",
- "创建者",
- "所有者",
- "创建时间",
- "结果描述"
- ]
- },
- "mySolvingFiles": {
- "label": [
- "模型名称",
- "项目",
- "分析对象",
- "版本方案",
- "模型实例类型",
- "模型定义",
- "分析类型",
- "分析工具",
- "格式",
- "密级",
- "阶段",
- "创建者",
- "所有者",
- "创建时间",
- "描述"
- ]
- },
- "myToDoTaskNode": {
- "label": [
- "名称",
- "审批对象名称",
- "申请人",
- "类型",
- "申请时间"
- ]
- },
- "myVersions": {
- "label": [
- "版本名称",
- "分析对象",
- "项目",
- "分析对象定义",
- "版本方案定义",
- "上层版本方案",
- "阶段",
- "创建者",
- "所有者",
- "创建时间",
- "描述"
- ]
- },
- "myWork": {
- "label": [
- "任务名称",
- "项目",
- "版本",
- "阶段",
- "类型",
- "上层任务",
- "任务负责人",
- "创建时间",
- "任务状态"
- ]
- }
- }
4.查看全部(组件复用)
myDatasList文件夹=>index.vue
- <template>
- <div class="dashboard-container firstPage">
- <div class="dashboard-text">
- <el-card class="box-card" style="min-height: calc(100vh - 80px)">
- <div slot="header" class="clearfix">
- <span>{{$route.query.title}}span>
- div>
-
- <myProjects :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的项目' ">myProjects>
-
- <myItems :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的分析对象' ">myItems>
-
- <myVersions :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的版本方案' ">myVersions>
-
- <myModels :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title==='我的模型'">myModels>
-
- <mySolvingFiles :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的求解文件'" >mySolvingFiles>
-
- <myReports :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的分析报告' ">myReports>
-
- <myResults :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的仿真结果'" >myResults>
-
- <myAllKeyResults :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的性能结果' ">myAllKeyResults>
-
- <myTasks :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的任务' ">myTasks>
-
- <myCreateTask :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我创建的任务' ">myCreateTask>
-
- <myApproval :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的审批申请' ">myApproval>
-
- <myToDoTaskNode :page='currentPage' :pagesize="pagesize" @retotal="totalChange" v-if=" $route.query.title === '我的代办审批'">myToDoTaskNode>
- <div class="mt15" style="text-align: right">
- <el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :current-page="currentPage"
- :page-sizes="[10, 20, 30, 40]"
- :page-size="pagesize"
- layout="total, prev, pager, next, sizes, jumper"
- :total="total"
- >
- el-pagination>
- div>
- el-card>
- div>
- div>
- template>
- <script>
- import MyProjects from "../dashboard/components/myDatas/myProjects";
- import MyItems from "../dashboard/components/myDatas/myAnalysisTargets";
- import MyVersions from "../dashboard/components/myDatas/myVersions";
- import MyModels from "../dashboard/components/myDatas/myModels";
- import MySolvingFiles from "../dashboard/components/myDatas/mySolvingFiles";
- import MyReports from "../dashboard/components/myDatas/myReports";
- import MyResults from "../dashboard/components/myDatas/myReuslts";
- import MyAllKeyResults from "../dashboard/components/myDatas/myAllKeyResult";
- import MyToDoTaskNode from "../dashboard/components/myDatas/myToDoTaskNode";
- import MyApproval from "../dashboard/components/myDatas/myApply";
- import MyTasks from "../dashboard/components/myDatas/myWork";
- import MyCreateTask from "../dashboard/components/myDatas/myCreateTask";
-
- export default {
- name: "myDatasList",
- components: {
- MyProjects,
- MyItems,
- MyVersions,
- MyModels,
- MySolvingFiles,
- MyReports,
- MyResults,
- MyAllKeyResults,
- MyToDoTaskNode,
- MyApproval,
- MyTasks,
- MyCreateTask,
- },
- data(){
- return{
- currentPage:1,
- pagesize:10,
- total:0,
- }
- },
- methods:{
- totalChange(val){
- this.total = val;
- this.prev = val
- },
- handleSizeChange(val){
- this.pagesize = val
- this.$emit("add",this.page)
- this.$emit("add",this.pagesize)
- },
- handleCurrentChange(val){
- this.currentPage = val
- },
- },
- };
- script>
二. 更改所有者
(一)实现功能
校验登录用户身份,校验不同文件类型,更改所对应所有者。
(二)实现效果

(三)实现代码
1.dialog
- <template>
- <div class="updateOwner">
- <el-dialog
- title="更改所有者"
- :visible.sync="value"
- width="500px"
- :before-close="handleClose"
- :close-on-click-modal="false"
- @close="handleAssignUserClose"
- >
- <el-form
- :inline="true"
- ref="assignUserForm"
- :model="formInline"
- class="demo-form-inline"
- >
- <el-form-item label="项目" required>
- <el-cascader
- v-model="formInline.project"
- :options="projectData"
- :props="projectProps"
- placeholder="请选择项目"
- clearable
- :disabled="true"
- >
- el-cascader>
- el-form-item>
- el-form>
- <div class="projectBox">
- <el-tag style="margin: 2px" size="small">
- {{ currentowner.name }}
- el-tag>
- div>
- <el-table
- :data="tableData"
- border
- style="width: 100%"
- class="mt15"
- size="mini"
- >
- <el-table-column prop="realName" label="用户名"> el-table-column>
-
- <el-table-column label="操作" width="100">
- <template slot-scope="scope">
- <el-button
- type="text"
- size="mini"
- v-if="!(scope.row.userId==currentowner.id)"
- @click="handleAdd(scope.row)"
- >更改
- >
- template>
- el-table-column>
- el-table>
- <div class="mt15 align-right clear">
- <el-pagination
- @current-change="handleCurrentChange"
- :current-page.sync="currentPage"
- :page-size="10"
- layout="total, prev, pager, next, jumper"
- :total="total"
- size="mini"
- >
- el-pagination>
- div>
-
- <span slot="footer" class="dialog-footer">
- <el-button @click="handleAssignUserClose">取 消el-button>
- <el-button type="primary" @click="assignProjectForUser"
- >提 交
- >
- span>
- el-dialog>
- div>
- template>
-
- <script>
- import { updateAuth } from '@/utils/statusCode'
- import { findAllRole } from "@/api/authorization/role";
- import { getUserListByPage } from "@/api/authorization/user";
- import request from "@/utils/request";
- import { mapState } from "vuex";
- export default {
- name: "updateOwner",
- computed: {
- ...mapState({
- user: (state) => state.user.user,
- }),
- },
- props: {
- value: {
- type: Boolean,
- default: false,
- required: true,
- },
- projectData: {
- type: Array,
- },
- updateAcObj: {
- type: Object,
- },
- // ownerId: { type: String },
- },
- data() {
- return {
- projectProps: {
- value: "objectid",
- label: "name",
- children: "children",
- checkStrictly: true,
- },
- updateAuth,
- tableData: [],
- currentPage: 1,
- total: 0,
- formInline: {},
- userList: [],
- expirationDate: "",
- roleList: [],
- associatedUserList: [],
- projectUserList: [],
- currentowner: { name: "", id: "" },
- };
- },
- methods: {
- initForm(projectDetail) {
- // debugger
- this.currentowner.id = this.updateAcObj.ownerId;
-
- this.formInline.project = projectDetail.objectid;
- this.formInline.parentProject = projectDetail.parent;
- this.getUsersByProjectId(this.formInline.project);
- this.$emit("input", true);
- },
-
- assignProjectForUser() {
- let typeObj = {
- project: 1,
- item: 2,
- version: 3,
- model: 4,
- inputDeck: 5,
- result: 6,
- report: 7,
- imageResult: 9,
- valueResult: 10,
- docResult: 11,
- movieResult: 12,
- curveResult: 13,
- itemDef: 15,
- versionDef: 16,
- Scenario: 17,
- modelDef: 18,
- studyDoc:19,
- studyDocTag:20
- };
- let data = {
- objectId: this.updateAcObj.objectId,
- type: typeObj[this.updateAcObj.type],
- owner: this.currentowner.id,
- };
-
- console.log(data);
- request({
- url: "/datamanager/updateAuth/updateOwner",
- method: "get",
- params: data,
- })
- .then((res) => {
- this.$message.success("分配成功");
- this.handleClose();
- this.$emit("refreshBasic", {
- owner: this.currentowner.name,
- ownerId: this.currentowner.id,
- });
- })
- .catch((err) => {
- this.$message.error("请添加用户!");
- });
- return;
- },
- getUsersByProjectId(projectId) {
- this.getUserListByPage();
- },
- handleAdd(row) {
- // debugger
- this.currentowner.name = row.realName;
- this.currentowner.id = row.userId;
- },
-
- handleCurrentChange(val) {
- this.currentPage = val;
- this.getUserListByPage();
- },
-
- getUserListByPage() {
- var self = this;
- let data = {
- start: this.currentPage,
- limit: 10,
- userRealName: this.formInline.userRealName || "",
- };
- getUserListByPage(data).then((res) => {
- if (res) {
- this.tableData = res.data.records;
- for (let i = 0; i < this.tableData.length; i++) {
- this.tableData[i].dis = false;
- this.tableData[i].roleId = this.roleList[0].ownerid;
- for (let j = 0; j < this.associatedUserList.length; j++) {
- if (
- this.associatedUserList[j].objectid == this.tableData[i].userId
- ) {
- this.tableData[i].transmit =
- this.associatedUserList[j].transmit;
- this.tableData[i].dis = true;
- this.tableData[i].roleId = this.associatedUserList[j].role;
- }
- }
- this.tableData[i].realName =
- "" + self.tableData[i].lastname + self.tableData[i].firstname;
- if (this.tableData[i].userId === this.currentowner.id) {
- this.currentowner.name = this.tableData[i].realName;
- }
- }
- this.total = res.data.total;
- }
- });
- },
- findAllRole() {
- findAllRole().then((res) => {
- if (res) {
- res.data.forEach((item) => {
- if (item.type == 2) {
- this.roleList.push(item);
- }
- });
- }
- });
- },
-
- handleAssignUserClose() {
- this.associatedUserList = [];
- this.currentPage = 1;
- this.formInline = {
- realName: null,
- };
- this.$emit("input", false);
- },
- async handleClose(done) {
- await this.$emit("input", false);
- done();
- },
- },
- created() {
- this.findAllRole();
-
- },
- };
- script>
- <style lang="scss" scoped>
- .assignUser {
- .label {
- line-height: 40px;
- width: 100px;
- }
- }
- style>
2.code值
- export var updateAuth = {
- "item": '202',//分析对象更改所有者'
- "version": '205',//'版本方案更改所有者'
- "model": '208',//:'模型更改所有者'
- "inputDeck": '211',//:'计算文件更改所有者'
- "result": '214',//:'结果更改所有者'
- "keyResult": '217',//:'性能结果更改所有者'
- "report": '220',//:'报告更改所有者'
- "docTags":"223",//文档分类更改所有者
- "docs":"226",//知识文档更改所有者
- "project":"227",//项目更改所有者
- "itemDef":"228",//对象定义更改所有者
- "versionDef":"229",//版本方案定义更改所有者
- "modelDef":"230",//模型定义更改所有者
- "scenario":"231",//分析类型更改所有者
- }
3.按钮
- <div class="fl btnItem" :class="{ disabled: editStatus }" @click="!editStatus ? updateOwner() : null" v-if="updateAcObj.showBtn">
- <svg-icon icon-class="user" class="btnIcon" />
- <p>更改所有者p>
- <i class="el-icon-setting smIcon">i>
- div>
- <updateOwner
- ref="updateOwner"
- v-model="updateOwnerVisible"
- :updateAcObj="updateAcObj"
- :projectData="projectData"
- @refreshBasic="updOwner"
- >updateOwner>
- import updateOwner from "@/components/project/updateOwner";
- updateOwner() {
- this.$refs.updateOwner.initForm(this.projectDetail);
- },
-
相关阅读:
找实习之从0开始的后端学习日记【9.17】
猿创征文|docker本地仓库的搭建(简易可快速使用的本地仓库)
Docker(1)
宠物网页作业HTML 大一作业HTML宠物网页作业 web期末大作业HTML 动物网页作业HTML HTML制作宠物网页作业css
2023 电赛 E 题 K210 方案
java 调用合约使用nonce 可能会出现的问题
ASCII 码、Unicode、UTF-8
手把手教程6-2: F460把debug printf功能改到UART1
校招/社招/秋招/春招求职指南
C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]
-
原文地址:https://blog.csdn.net/m0_65912225/article/details/126302211