Commit 3349e797 authored by jiaxu.yan's avatar jiaxu.yan

添加页面细节,追加新的页面

parent 47c84c03
@import './variables.scss';
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
@import './sidebar.scss';
@import './btn.scss';
@import "./variables.scss";
@import "./mixin.scss";
@import "./transition.scss";
@import "./element-ui.scss";
@import "./sidebar.scss";
@import "./btn.scss";
@import url(//at.alicdn.com/t/c/font_4370984_nw2hgwiwfm.css);
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif;
}
label {
......@@ -104,7 +106,8 @@ aside {
display: block;
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
......@@ -134,7 +137,7 @@ aside {
}
.text-center {
text-align: center
text-align: center;
}
.sub-navbar {
......@@ -145,7 +148,11 @@ aside {
text-align: right;
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
background: linear-gradient(90deg,
rgba(32, 182, 249, 1) 0%,
rgba(32, 182, 249, 1) 0%,
rgba(33, 120, 241, 1) 100%,
rgba(33, 120, 241, 1) 100%);
.subtitle {
font-size: 20px;
......@@ -180,3 +187,129 @@ aside {
margin-bottom: 10px;
}
}
.task-status {
font-weight: 800;
.t0 {
display: flex;
color: rgb(153, 153, 153);
}
.t1 {
display: flex;
color: rgb(255, 153, 0);
}
.t2 {
display: flex;
color: rgb(255, 122, 140);
}
}
.go-link {
color: rgb(64, 158, 255);
text-decoration: underline dotted;
}
.button-list {
display: flex;
justify-content: flex-start;
align-items: center;
.button-item {
cursor: pointer;
margin-right: 5px;
border-radius: 100%;
// padding: 3px;
height: 26px;
width: 26px;
display: flex;
justify-content: center;
align-items: center;
.iconfont {
font-size: 12px;
font-weight: bold;
}
}
.b1 {
background-color: #337ab7;
.iconfont {
color: #fff;
}
}
.b2 {
background-color: rgba(25, 190, 107, 1);
.iconfont {
color: #fff;
}
}
.b3 {
background-color: rgba(254, 148, 0, 1);
color: #fff;
}
}
.b1:hover {
.iconfont {
transform: scale(1.2);
}
}
.b2:hover {
.iconfont {
transform: scale(1.2);
}
}
.b3:hover {
.iconfont {
transform: scale(1.2);
}
}
.bottom-button{
display: flex;
align-items: center;
justify-content: flex-end;
}
.subtitle {
color: rgb(64, 158, 255);
padding-left: 10px;
border-left: 0.4rem solid rgb(64, 158, 255);
margin-bottom: 10px;
font-weight: 500;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
\ No newline at end of file
<template>
<div class="screenfull-svg">
<el-badge :value="showMsgCount" :max="99" class="item">
<el-button
class="share-button"
size="mini"
icon="iconfont icon-xiaoxi"
type="primary"
></el-button>
</el-badge>
</div>
</template>
<script>
export default {
name: "MessageWaring",
data() {
return {
isFullscreen: false,
showMsgCount: 20,
};
},
mounted() {
this.init();
},
beforeDestroy() {},
methods: {
init() {},
},
};
</script>
<style scoped>
.screenfull-svg {
cursor: pointer;
color: #5a5e66;
margin-right: 10px;
display: flex;
padding-top: 10px;
/* .iconfont{
font-size: 22px;
} */
/* vertical-align: 10px; */
}
</style>
<template>
<div class="quick">
<el-dropdown size="medium" :hide-on-click="true" placement="bottom-start">
<span class="el-dropdown-link">
<i class="el-icon-circle-plus-outline"></i> 快速新建
</span>
<el-dropdown-menu slot="dropdown">
<router-link to="/setting/rules">
<el-dropdown-item icon="el-icon-s-flag"> 审查细则 </el-dropdown-item>
</router-link>
<router-link to="/setting/scene">
<el-dropdown-item icon="el-icon-date">
新建场景</el-dropdown-item
></router-link
>
<router-link to="/setting/template">
<el-dropdown-item icon="el-icon-tickets">
报告模板</el-dropdown-item
></router-link
>
<router-link to="/user/profile"
><el-dropdown-item icon="el-icon-folder-add">
测试用例</el-dropdown-item
></router-link
>
<router-link to="/user/profile">
<el-dropdown-item icon="el-icon-document">
测试工具</el-dropdown-item
></router-link
>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script></script>
<style scoped lang="scss">
.quick {
padding: 10px 15px;
border-bottom: 1px solid #d8dce5;
// box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
}
.el-dropdown-link {
cursor: pointer;
font-weight: 600;
color: #97a8be;
}
</style>
<template>
<div class="navbar">
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
<div><quick-new></quick-new></div>
<hamburger
id="hamburger-container"
:is-active="sidebar.opened"
class="hamburger-container"
@toggleClick="toggleSideBar"
/>
<breadcrumb
id="breadcrumb-container"
class="breadcrumb-container"
v-if="!topNav"
/>
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
<div class="right-menu">
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip content="文档地址" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
<template>
<message-waring></message-waring>
</template>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<el-dropdown
class="avatar-container right-menu-item hover-effect"
trigger="click"
>
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<img :src="avatar" class="user-avatar" />
<i class="el-icon-caret-bottom" />
</div>
<el-dropdown-menu slot="dropdown">
<router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item @click.native="setting = true">
<!-- <el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item>
</el-dropdown-item> -->
<el-dropdown-item divided @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
......@@ -47,16 +45,18 @@
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import TopNav from '@/components/TopNav'
import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import RuoYiGit from '@/components/RuoYi/Git'
import RuoYiDoc from '@/components/RuoYi/Doc'
import { mapGetters } from "vuex";
import Breadcrumb from "@/components/Breadcrumb";
import TopNav from "@/components/TopNav";
import Hamburger from "@/components/Hamburger";
import Screenfull from "@/components/Screenfull";
import SizeSelect from "@/components/SizeSelect";
import Search from "@/components/HeaderSearch";
import RuoYiGit from "@/components/RuoYi/Git";
import RuoYiDoc from "@/components/RuoYi/Doc";
import QuickNew from "@/components/QuickNew";
import MessageWaring from "@/components/MessageWaring";
export default {
components: {
Breadcrumb,
......@@ -66,68 +66,68 @@ export default {
SizeSelect,
Search,
RuoYiGit,
RuoYiDoc
RuoYiDoc,
QuickNew,
MessageWaring,
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'device'
]),
...mapGetters(["sidebar", "avatar", "device"]),
setting: {
get() {
return this.$store.state.settings.showSettings
return this.$store.state.settings.showSettings;
},
set(val) {
this.$store.dispatch('settings/changeSetting', {
key: 'showSettings',
value: val
})
}
this.$store.dispatch("settings/changeSetting", {
key: "showSettings",
value: val,
});
},
},
topNav: {
get() {
return this.$store.state.settings.topNav
}
}
return this.$store.state.settings.topNav;
},
},
},
methods: {
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
this.$store.dispatch("app/toggleSideBar");
},
async logout() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = '/index';
this.$confirm("确定注销并退出系统吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$store.dispatch("LogOut").then(() => {
location.href = "/index";
});
})
}).catch(() => {});
}
}
}
.catch(() => {});
},
},
};
</script>
<style lang="scss" scoped>
.navbar {
height: 50px;
height: 90px;
overflow: hidden;
position: relative;
background: #fff;
box-shadow: 0 1px 4px rgba(0,21,41,.08);
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
.hamburger-container {
line-height: 46px;
height: 100%;
float: left;
cursor: pointer;
transition: background .3s;
-webkit-tap-highlight-color:transparent;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
&:hover {
background: rgba(0, 0, 0, .025)
background: rgba(0, 0, 0, 0.025);
}
}
......@@ -146,9 +146,12 @@ export default {
}
.right-menu {
float: right;
// float: right;
height: 100%;
line-height: 50px;
display: flex;
justify-content: flex-end;
align-items: bottom;
// line-height: 50px;
&:focus {
outline: none;
......@@ -164,10 +167,10 @@ export default {
&.hover-effect {
cursor: pointer;
transition: background .3s;
transition: background 0.3s;
&:hover {
background: rgba(0, 0, 0, .025)
background: rgba(0, 0, 0, 0.025);
}
}
}
......
......@@ -16,7 +16,7 @@ export default {
const { icon, title } = context.props
const vnodes = []
if (icon) {
if (icon &&icon!=='#') {
vnodes.push(<svg-icon icon-class={icon}/>)
}
......
......@@ -5,8 +5,8 @@ Vue.use(Router)
/* Layout */
import Layout from '@/layout'
import SettingRouter from './modules/setting';
import TaskRouter from './modules/task';
// import SettingRouter from './modules/setting';
// import TaskRouter from './modules/task';
/**
* Note: 路由配置项
*
......@@ -31,8 +31,8 @@ import TaskRouter from './modules/task';
// 公共路由
export const constantRoutes = [
...SettingRouter,
...TaskRouter,
// ...SettingRouter,
// ...TaskRouter,
{
path: '/redirect',
component: Layout,
......
......@@ -29,6 +29,12 @@ export default [
name: 'archived',
meta: { title: '已归档任务', activeMenu: '/task/archived' }
},
{
path: '任务详情',
component: () => import('@/views/task/detail/index'),
name: '任务详情',
meta: { title: '已归档任务', activeMenu: '/task/detail' }
},
]
}
];
\ No newline at end of file
......@@ -22,7 +22,7 @@
>
<el-table-column
label="序号"
width="60"
width="100"
type="index"
></el-table-column>
......@@ -80,7 +80,7 @@
>
<el-table-column
label="序号"
width="60"
width="100"
type="index"
></el-table-column>
<el-table-column
......
<template>
<el-dialog
:visible.sync="dialogManger.dialogVisible"
:title="modelTitle"
width="1200"
append-to-body
destroy-on-close
:before-close="handleClose"
>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="细则分类" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_detailed_classification"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="标准章节" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="标准要求" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查要点" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查细则" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="关联场景" prop="status">
<el-button> 选择场景 </el-button>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="handleClose()"> 取消 </el-button>
<el-button type="primary" @click="handleConfirm()"> 保存 </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogManger: {
default: {
dialogVisible: false,
source: {},
},
},
},
dicts: ["sys_detailed_classification"],
data() {
return {
model: {},
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
created() {},
methods: {
handleClose() {
this.dialogManger.dialogVisible = false;
},
handleConfirm() {
this.$refs['form'].validate((valid) => {
if(valid){
}
})
},
},
computed: {
modelTitle: function () {
return this.dialogManger.source.id ? "编辑" : "新增" + "审查细则";
},
},
};
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar>
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<yan-dialog :dialogManger="dialogManger"></yan-dialog>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import dialog from './components/dialog.vue'
export default {
components: {
'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<el-dialog
:visible.sync="dialogManger.dialogVisible"
:title="modelTitle"
width="1200"
append-to-body
destroy-on-close
:before-close="handleClose"
>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="细则分类" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_detailed_classification"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="标准章节" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="标准要求" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查要点" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查细则" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="关联场景" prop="status">
<el-button> 选择场景 </el-button>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="handleClose()"> 取消 </el-button>
<el-button type="primary" @click="handleConfirm()"> 保存 </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogManger: {
default: {
dialogVisible: false,
source: {},
},
},
},
dicts: ["sys_detailed_classification"],
data() {
return {
model: {},
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
created() {},
methods: {
handleClose() {
this.dialogManger.dialogVisible = false;
},
handleConfirm() {
this.$refs['form'].validate((valid) => {
if(valid){
}
})
},
},
computed: {
modelTitle: function () {
return this.dialogManger.source.id ? "编辑" : "新增" + "审查细则";
},
},
};
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar>
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<yan-dialog :dialogManger="dialogManger"></yan-dialog>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import dialog from './components/dialog.vue'
export default {
components: {
'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar>
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<!-- <yan-dialog :dialogManger="dialogManger"></yan-dialog> -->
</page-standard>
</template>
<script>
import page from '@/mixins/page'
// import dialog from './components/dialog.vue'
export default {
components: {
// 'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<!-- <yan-dialog :dialogManger="dialogManger"></yan-dialog> -->
</page-standard>
</template>
<script>
import page from '@/mixins/page'
// import dialog from './components/dialog.vue'
export default {
components: {
// 'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<page-standard>
<el-form :model="model" ref="model">
<div class="subtitle">评审人员设置</div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="评审组长" prop="deptName">
<el-input
v-model="model.user"
placeholder="请输入部门名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评审组员" prop="status">
<el-select
clearable
v-model="model.users"
placeholder="可多选"
multiple
style="width: 100%"
>
<el-option v-for="item in 24" :key="item" :value="item - 1">{{
item - 1
}}</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div class="subtitle">提醒设置</div>
<el-row :gutter="20">
<el-col :span="24">
每隔
<el-input-number
style="width: 50px"
v-model="model.num"
:controls="false"
:min="1"
:max="24"
label="描述文字"
></el-input-number>
小时,发送一次待审批提醒。
</el-col>
</el-row>
</el-form>
</page-standard>
</template>
<script>
export default {
data() {
return {
model: {
user: "",
users: [],
num: 0,
},
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true;
this.dialogManger.source = {};
},
handleDelete() {},
handleUpdate(row) {
this.dialogManger.dialogVisible = true;
this.dialogManger.source = row;
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData();
this.dialogManger.refreshList = false;
}
},
},
};
</script>
......@@ -25,7 +25,7 @@
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
......
......@@ -25,7 +25,7 @@
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
......
......@@ -3,7 +3,7 @@
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
......
<template>
<page-standard>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="选择任务类型" prop="status">
<el-button
size="mini"
:type="formType == 1 ? 'primary' : 'default'"
@click="formType = 1"
round
>体系审查任务</el-button
>
<el-button
size="mini"
:type="formType == 2 ? 'primary' : 'default'"
@click="formType = 2"
round
>车型审查任务</el-button
>
<el-button
size="mini"
:type="formType == 3 ? 'primary' : 'default'"
@click="formType = 3"
round
>车型检验任务</el-button
>
</el-form-item>
<div class="subtitle">基础信息</div>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="任务编码" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="任务名称" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="任务状态" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_task_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品名称" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品型号(即车辆型号)" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="委托单位" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="委托单位地址" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="委托单位电话" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="委托单位邮政编码" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆类型" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆识别码" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<div class="subtitle">小组信息</div>
<el-table
style="width: 100%; min-height: 50vh"
border
:default-sort="{ prop: 'createTime', order: 'descending' }"
v-loading="loading"
:data="tableData"
>
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="left"
sortable
prop="createTime"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="left"
sortable
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']"
plain
>修改</el-button
>
<el-button
size="mini"
type="danger"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']"
plain
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div class="subtitle">报告信息</div>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="样品名称" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产企业" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="商标" prop="status">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="送样者" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="送样日期 " prop="status">
<el-date-picker
v-model="model.status"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="送样者" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产日期 " prop="status">
<el-date-picker
v-model="model.status"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验依据" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验项目" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_pro"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</page-standard>
</template>
<script>
export default {
data() {
return {
formType: 1,
model: {},
loading: false,
tableData: [],
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
dicts: ["sys_task_status", "sys_pro"],
methods: {
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
beforeAvatarUpload(file) {
const isJPG = file.type === "image/jpeg";
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error("上传头像图片只能是 JPG 格式!");
}
if (!isLt2M) {
this.$message.error("上传头像图片大小不能超过 2MB!");
}
return isJPG && isLt2M;
},
},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
......@@ -2,27 +2,12 @@
<page-standard>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="选择任务类型" prop="status">
<el-button
size="mini"
:type="formType == 1 ? 'primary' : 'default'"
@click="formType = 1"
round
>体系审查任务</el-button
>
<el-button
size="mini"
:type="formType == 2 ? 'primary' : 'default'"
@click="formType = 2"
round
>车型审查任务</el-button
>
<el-button
size="mini"
:type="formType == 3 ? 'primary' : 'default'"
@click="formType = 3"
round
>车型检验任务</el-button
>
<el-button size="mini" :type="formType == 1 ? 'primary' : 'default'" @click="formType = 1"
round>体系审查任务</el-button>
<el-button size="mini" :type="formType == 2 ? 'primary' : 'default'" @click="formType = 2"
round>车型审查任务</el-button>
<el-button size="mini" :type="formType == 3 ? 'primary' : 'default'" @click="formType = 3"
round>车型检验任务</el-button>
</el-form-item>
<div class="subtitle">基础信息</div>
......@@ -39,18 +24,9 @@
</el-col>
<el-col :span="8">
<el-form-item label="任务状态" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_task_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<el-select style="width: 100%" v-model="model.status" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.sys_task_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
......@@ -100,53 +76,24 @@
</el-row>
<div class="subtitle">小组信息</div>
<el-table
style="width: 100%; min-height: 50vh"
border
:default-sort="{ prop: 'createTime', order: 'descending' }"
v-loading="loading"
:data="tableData"
>
<el-table style="width: 100%; min-height: 50vh" border :default-sort="{ prop: 'createTime', order: 'descending' }"
v-loading="loading" :data="tableData">
<el-table-column width="100" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="left"
sortable
prop="createTime"
>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="left"
sortable
class-name="small-padding fixed-width"
>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']"
plain
>修改</el-button
>
<el-button
size="mini"
type="danger"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']"
plain
>删除</el-button
>
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -165,13 +112,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="商标" prop="status">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
......@@ -184,11 +126,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="送样日期 " prop="status">
<el-date-picker
v-model="model.status"
type="date"
placeholder="选择日期"
>
<el-date-picker style="width: 100%;" v-model="model.status" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -200,11 +138,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="生产日期 " prop="status">
<el-date-picker
v-model="model.status"
type="date"
placeholder="选择日期"
>
<el-date-picker style="width: 100%;" v-model="model.status" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -216,49 +150,21 @@
<el-col :span="8">
<el-form-item label="检验项目" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_pro"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div class="subtitle">报告流程信息</div>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="批准" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="审核" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-select style="width: 100%" v-model="model.status" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.sys_pro" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="bottom-button">
<el-button type="primary" plain size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']" style="width: 120px;">暂存</el-button>
<el-button type="primary" size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']" style="width: 120px;">发布</el-button>
</div>
</page-standard>
</template>
<script>
......@@ -302,35 +208,4 @@ export default {
},
};
</script>
<style lang="scss" scoped>
.subtitle {
color: rgb(64, 158, 255);
padding-left: 10px;
border-left: 0.4rem solid rgb(64, 158, 255);
margin-bottom: 10px;
font-weight: 500;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
<style lang="scss" scoped></style>
<template>
<page-standard>
<div class="mb10">
<el-radio-group v-model="queryParams.status" @change="handleQuery()">
<el-radio-button :label="0">全部任务</el-radio-button></el-radio-button>
<el-radio-button v-for="dict in dict.type.sys_task_status" :key="dict.value" :label="dict.value">
{{ dict.label }}
</el-radio-button>
</el-radio-group>
</div>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
......@@ -15,31 +24,80 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:menu:add']">新增</el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar> -->
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" align="center">
<el-table-column width="100" label="序号" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" prop="createTime">
<el-table-column label="开始时间" align="left" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" class-name="small-padding fixed-width">
<el-table-column label="任务名称" align="left" prop="createTime">
</el-table-column>
<el-table-column label="任务组长" align="left" prop="createTime">
</el-table-column>
<el-table-column label="任务状态" align="left" prop="createTime">
<template slot-scope="scope">
<div class="task-status ">
<div class="t0">
<span>● 未开始</span>
</div>
<div class="t1">
<span>● 进行中</span>
</div>
<div class="t2">
<span>● 暂停</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="紧要程度" align="left" prop="createTime">
<template slot-scope="scope">
紧急
</template>
</el-table-column>
<el-table-column label="审查问卷" align="left" prop="createTime">
<template slot-scope="scope">
<div class="task-status " v-if="(scope.$index + 1) % 2 == 0">
<div class="t2">
<span>● 未生成</span>
</div>
</div>
<div v-else>
<a href="#" class="go-link" @click="">填写问卷</a>
</div>
<div v-else>
<a href="#" class="go-link" @click="">查看问卷</a>
</div>
</template>
</el-table-column>
<el-table-column label="完成进度" width="200" align="left" prop="createTime">
<template slot-scope="scope">
<el-progress :percentage="50"></el-progress>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="120" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']" plain >修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:menu:remove']" plain >删除</el-button>
<div class="button-list">
<div class="button-item b1">
<i class="iconfont icon-kaishi "></i>
</div>
<div class="button-item b2">
<i class="iconfont icon-fenxiang "></i>
</div>
<div class="button-item b3">
<i class="iconfont icon-feiji "></i>
</div>
</div>
</template>
</el-table-column>
</el-table>
......@@ -49,14 +107,17 @@
</template>
<script>
import page from '@/mixins/page'
import Sortable from 'sortablejs'
export default {
mixins: [page],
dicts: ["sys_task_status"],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
queryParams: {
status: 0
}
};
},
methods: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment