添加二级审核
This commit is contained in:
parent
3bd61b9cd1
commit
9a626637dc
3
.env
3
.env
@ -1,3 +1,4 @@
|
||||
VUE_APP_API_HOST=127.0.0.1:8000
|
||||
VUE_APP_API_HOST=192.168.100.82:8888
|
||||
|
||||
VUE_APP_TITLE=管理平台
|
||||
VUE_APP_TITLE_EN=PROJECT PACKAGE MANAGER
|
@ -14,6 +14,7 @@ export default class Url {
|
||||
static readonly ALLOT_NODE_GROUP : string = "allot-node-group/%d";
|
||||
static readonly ALLOT_MENU : string = "allot-menu/%d";
|
||||
static readonly UPDATE_NICKNAME : string = "update-nickname";
|
||||
static readonly UPDATE_EMAIL : string = "update-email/%d";
|
||||
|
||||
// TODO 菜单
|
||||
static readonly MENUS : string = "menu";
|
||||
@ -43,7 +44,10 @@ export default class Url {
|
||||
static readonly DELETE_APPLY : string = "apply/%d";
|
||||
static readonly APPLY_PASS : string = "apply/pass/%d";
|
||||
static readonly APPLY_NO_PASS : string = "apply/no-pass/%d";
|
||||
static readonly APPLY_PASS_FINAL : string = "apply/pass-final/%d";
|
||||
static readonly APPLY_NO_PASS_FINAL : string = "apply/no-pass-final/%d";
|
||||
static readonly EXECUTE_APPLY : string = "apply/execute/%d";
|
||||
static readonly REJECT_APPLY : string = "apply/reject/%d";
|
||||
|
||||
|
||||
}
|
||||
|
@ -33,7 +33,8 @@ export interface ApplyInterface{
|
||||
item_id : number;
|
||||
reason : string;
|
||||
send_account : string;
|
||||
state : number;
|
||||
audit_state_one : number;
|
||||
audit_state_two : number;
|
||||
unikey : string;
|
||||
execute_state ?: number;
|
||||
}
|
||||
|
@ -6,14 +6,29 @@
|
||||
</div>
|
||||
<custom-page :data-list="Data" :page.sync="search.page" :page-size.sync="search.size"
|
||||
:total="total" :columns="columns" >
|
||||
<template slot-scope="{row}" slot="state">
|
||||
<template slot-scope="{row}" slot="audit_state_one">
|
||||
<div class="space-x-3">
|
||||
<Tag color="purple" v-if="row.deleted_at">已撤销</Tag>
|
||||
<Tag color="blue" v-else-if="row.state == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.state == 1" >通过</Tag>
|
||||
<Tag color="blue" v-if="row.audit_state_one == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_one == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="audit_state_two">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.audit_state_two == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_two == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="execute_state">
|
||||
<div class="space-x-3">
|
||||
<Tag color="cyan" v-if="row.execute_state == -1">被驳回</Tag>
|
||||
<Tag color="geekblue" v-else-if="row.execute_state == 1">执行中...</Tag>
|
||||
<Tag color="green" v-else-if="row.execute_state == 2" >执行成功</Tag>
|
||||
<Tag color="red" v-else-if="row.execute_state == 3" >执行失败</Tag>
|
||||
<Tag color="purple" v-else >未执行</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="operation">
|
||||
<Dropdown transfer trigger="click" @on-click="onDropdownEvent($event,row)">
|
||||
<a href="javascript:void(0)">
|
||||
|
@ -49,11 +49,19 @@ export default class Apply extends HomeParent {
|
||||
}, {
|
||||
title: "申请时间",
|
||||
key: "create_time"
|
||||
}, {
|
||||
title: "状态",
|
||||
slot: "state",
|
||||
}, {
|
||||
title: "初审状态",
|
||||
slot: "audit_state_one",
|
||||
align: 'center',
|
||||
}, {
|
||||
},{
|
||||
title: "终审状态",
|
||||
slot: "audit_state_two",
|
||||
align: 'center',
|
||||
}, {
|
||||
title: "执行状态",
|
||||
slot: "execute_state",
|
||||
align: 'center',
|
||||
},{
|
||||
title: "操作",
|
||||
slot: "operation",
|
||||
}];
|
||||
@ -129,7 +137,7 @@ export default class Apply extends HomeParent {
|
||||
}
|
||||
|
||||
public revocation(row){
|
||||
if (row.deleted_at || row.state != 0){
|
||||
if (row.deleted_at || row.audit_state_one != 0 || row.audit_state_two != 0){
|
||||
this.error("无法撤销")
|
||||
return
|
||||
}
|
||||
|
@ -40,10 +40,18 @@ export default class Audit extends HomeParent {
|
||||
title: "申请时间",
|
||||
key: "create_time"
|
||||
}, {
|
||||
title: "状态",
|
||||
slot: "state",
|
||||
title: "初审状态",
|
||||
slot: "audit_state_one",
|
||||
align: 'center',
|
||||
}, {
|
||||
},{
|
||||
title: "终审状态",
|
||||
slot: "audit_state_two",
|
||||
align: 'center',
|
||||
}, {
|
||||
title: "执行状态",
|
||||
slot: "execute_state",
|
||||
align: 'center',
|
||||
},{
|
||||
title: "操作",
|
||||
slot: "operation",
|
||||
}];
|
||||
@ -91,6 +99,10 @@ export default class Audit extends HomeParent {
|
||||
}
|
||||
|
||||
public pass(row){
|
||||
if (row.audit_state_one){
|
||||
this.error('无需再次审核')
|
||||
return
|
||||
}
|
||||
let url : string = this.$sprintf(Url.APPLY_PASS, row.id);
|
||||
Request('get', url).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
@ -103,6 +115,10 @@ export default class Audit extends HomeParent {
|
||||
}
|
||||
|
||||
public noPass(row){
|
||||
if (row.audit_state_one){
|
||||
this.error('无需再次审核')
|
||||
return
|
||||
}
|
||||
let url : string = this.$sprintf(Url.APPLY_NO_PASS, row.id);
|
||||
Request('get', url).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
|
@ -2,13 +2,29 @@
|
||||
<div>
|
||||
<custom-page :data-list="Data" :page.sync="search.page" :page-size.sync="search.size"
|
||||
:total="total" :columns="columns">
|
||||
<template slot-scope="{row}" slot="state">
|
||||
<template slot-scope="{row}" slot="audit_state_one">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.state == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.state == 1" >通过</Tag>
|
||||
<Tag color="blue" v-if="row.audit_state_one == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_one == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="audit_state_two">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.audit_state_two == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_two == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="execute_state">
|
||||
<div class="space-x-3">
|
||||
<Tag color="cyan" v-if="row.execute_state == -1">被驳回</Tag>
|
||||
<Tag color="geekblue" v-else-if="row.execute_state == 1">执行中...</Tag>
|
||||
<Tag color="green" v-else-if="row.execute_state == 2" >执行成功</Tag>
|
||||
<Tag color="red" v-else-if="row.execute_state == 3" >执行失败</Tag>
|
||||
<Tag color="purple" v-else >未执行</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="operation">
|
||||
<Dropdown transfer trigger="click" @on-click="onDropdownEvent($event,row)">
|
||||
<a href="javascript:void(0)">
|
||||
|
144
src/views/home/pages/audit/final-audit.ts
Normal file
144
src/views/home/pages/audit/final-audit.ts
Normal file
@ -0,0 +1,144 @@
|
||||
import { Component, Mixins, Vue, Watch } from 'vue-property-decorator'
|
||||
import Url from "@/utils/Url";
|
||||
import {
|
||||
State,
|
||||
Getter,
|
||||
Action,
|
||||
Mutation
|
||||
} from "vuex-class";
|
||||
import HomeParent from "@/views/home/Common/HomeParent";
|
||||
import { ElTreeDataInterface, } from "@/views/home/Common/Types";
|
||||
import CustomPage from "@/components/page.vue";
|
||||
import {Form, TableColumn} from "view-design";
|
||||
import {Message, Tree} from "element-ui";
|
||||
import {Request} from "@/utils/Request";
|
||||
|
||||
@Component({
|
||||
components : {
|
||||
CustomPage
|
||||
}
|
||||
})
|
||||
export default class Audit extends HomeParent {
|
||||
name: string = "audit";
|
||||
|
||||
public Data = []
|
||||
public showApplyDialog:boolean = false;
|
||||
public DataDetail:any=[];
|
||||
public columns: TableColumn[] = [{
|
||||
title: "unikey",
|
||||
key: "unikey"
|
||||
}, {
|
||||
title: "申请者",
|
||||
key: "creator_account"
|
||||
}, {
|
||||
title: "发放者",
|
||||
key: "send_account"
|
||||
}, {
|
||||
title: "ItemId",
|
||||
key: "item_id"
|
||||
}, {
|
||||
title: "申请时间",
|
||||
key: "create_time"
|
||||
}, {
|
||||
title: "初审状态",
|
||||
slot: "audit_state_one",
|
||||
align: 'center',
|
||||
},{
|
||||
title: "终审状态",
|
||||
slot: "audit_state_two",
|
||||
align: 'center',
|
||||
}, {
|
||||
title: "执行状态",
|
||||
slot: "execute_state",
|
||||
align: 'center',
|
||||
},{
|
||||
title: "操作",
|
||||
slot: "operation",
|
||||
}];
|
||||
|
||||
|
||||
public total: number = 0;
|
||||
public search: { page: number, size: number, keywords?: string } = {
|
||||
page: 1, size: 10, keywords: ""
|
||||
}
|
||||
|
||||
|
||||
@Watch("search.page")
|
||||
private _onPageChange(): void {
|
||||
this._getData()
|
||||
}
|
||||
|
||||
@Watch("search.size")
|
||||
private _onPageSizeChange(): void {
|
||||
this.search.page = 1;
|
||||
this._getData()
|
||||
}
|
||||
|
||||
public created(): void {
|
||||
this._getData();
|
||||
}
|
||||
|
||||
public onDropdownEvent(name: string,row) {
|
||||
switch (name) {
|
||||
case "show" : this.show(row);break;
|
||||
case "pass" : this.pass(row);break;
|
||||
case "noPass" : this.noPass(row);break;
|
||||
}
|
||||
}
|
||||
|
||||
public show(row){
|
||||
let url : string = this.$sprintf(Url.SHOW_APPLY, row.id);
|
||||
Request('get', url).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
this.showApplyDialog = true;
|
||||
this.DataDetail = res.data
|
||||
}else {
|
||||
this.error(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public pass(row){
|
||||
if (row.audit_state_two){
|
||||
this.error('无需再次审核')
|
||||
return
|
||||
}
|
||||
let url : string = this.$sprintf(Url.APPLY_PASS_FINAL, row.id);
|
||||
Request('get', url).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
this._getData();
|
||||
this.success()
|
||||
}else {
|
||||
this.error(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public noPass(row){
|
||||
if (row.audit_state_two){
|
||||
this.error('无需再次审核')
|
||||
return
|
||||
}
|
||||
let url : string = this.$sprintf(Url.APPLY_NO_PASS_FINAL, row.id);
|
||||
Request('get', url).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
this._getData();
|
||||
this.success()
|
||||
}else {
|
||||
this.error(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private async _getData() {
|
||||
let url : string = this.$sprintf(Url.APPLY, 3);
|
||||
const res:any = await Request('get', url,this.search)
|
||||
if (res.code == 200){
|
||||
this.Data = res.data.data
|
||||
this.total = res.data.total
|
||||
}else {
|
||||
this.error(res.message)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
73
src/views/home/pages/audit/final-audit.vue
Normal file
73
src/views/home/pages/audit/final-audit.vue
Normal file
@ -0,0 +1,73 @@
|
||||
<template >
|
||||
<div>
|
||||
<custom-page :data-list="Data" :page.sync="search.page" :page-size.sync="search.size"
|
||||
:total="total" :columns="columns">
|
||||
<template slot-scope="{row}" slot="audit_state_one">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.audit_state_one == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_one == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="audit_state_two">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.audit_state_two == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_two == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="execute_state">
|
||||
<div class="space-x-3">
|
||||
<Tag color="cyan" v-if="row.execute_state == -1">被驳回</Tag>
|
||||
<Tag color="geekblue" v-else-if="row.execute_state == 1">执行中...</Tag>
|
||||
<Tag color="green" v-else-if="row.execute_state == 2" >执行成功</Tag>
|
||||
<Tag color="red" v-else-if="row.execute_state == 3" >执行失败</Tag>
|
||||
<Tag color="purple" v-else >未执行</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="operation">
|
||||
<Dropdown transfer trigger="click" @on-click="onDropdownEvent($event,row)">
|
||||
<a href="javascript:void(0)">
|
||||
操作
|
||||
<Icon type="ios-arrow-down"></Icon>
|
||||
</a>
|
||||
<template #list>
|
||||
<DropdownMenu>
|
||||
<DropdownItem name="show">查看</DropdownItem>
|
||||
|
||||
<Dropdown placement="right-start" transfer>
|
||||
<DropdownItem>
|
||||
审批
|
||||
<Icon type="ios-arrow-forward"></Icon>
|
||||
</DropdownItem>
|
||||
<template #list>
|
||||
<DropdownMenu >
|
||||
<DropdownItem name="pass">通过</DropdownItem>
|
||||
<DropdownItem name="noPass">不通过</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</template>
|
||||
</Dropdown>
|
||||
</DropdownMenu>
|
||||
</template>
|
||||
</Dropdown>
|
||||
</template>
|
||||
|
||||
</custom-page>
|
||||
|
||||
<Modal v-model="showApplyDialog" title="详情" width="70%" >
|
||||
<div style="max-height:500px;overflow: auto">
|
||||
<div v-for="(item,index) in DataDetail">
|
||||
<div style="padding: 10px 0 5px 0;" v-if="index != 'deleted_at'">
|
||||
<span style="font-size: 20px;font-weight:bold">{{index}}:</span>
|
||||
<span style="font-size: 20px;">{{item}}</span>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer"></div>
|
||||
</Modal>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./final-audit.ts"></script>
|
@ -39,12 +39,13 @@ export default class Execute extends HomeParent {
|
||||
}, {
|
||||
title: "申请时间",
|
||||
key: "create_time"
|
||||
},{
|
||||
title: "审核时间",
|
||||
key: "audit_time"
|
||||
}, {
|
||||
title: "审核状态",
|
||||
slot: "state",
|
||||
title: "初审状态",
|
||||
slot: "audit_state_one",
|
||||
align: 'center',
|
||||
},{
|
||||
title: "终审状态",
|
||||
slot: "audit_state_two",
|
||||
align: 'center',
|
||||
}, {
|
||||
title: "执行状态",
|
||||
@ -81,6 +82,7 @@ export default class Execute extends HomeParent {
|
||||
switch (name) {
|
||||
case "show" : this.show(row);break;
|
||||
case "execute" : this.execute(row);break;
|
||||
case "reject" : this.reject(row);break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,6 +99,10 @@ export default class Execute extends HomeParent {
|
||||
}
|
||||
|
||||
public execute(row){
|
||||
if (row.execute_state == -1){
|
||||
this.error('已驳回无法执行')
|
||||
return
|
||||
}
|
||||
if (row.execute_state){
|
||||
this.error('无法再次执行')
|
||||
return
|
||||
@ -112,8 +118,61 @@ export default class Execute extends HomeParent {
|
||||
})
|
||||
}
|
||||
|
||||
public reject(row){
|
||||
if (row.execute_state == -1){
|
||||
this.error('无法再次驳回')
|
||||
return
|
||||
}
|
||||
if (row.execute_state){
|
||||
this.error('已执行无法驳回')
|
||||
return
|
||||
}
|
||||
|
||||
let self = this;
|
||||
this.$Modal.confirm({
|
||||
title:"驳回原因",
|
||||
render: function(h) {
|
||||
return h('Input', {
|
||||
props: {
|
||||
value: self.$store.getters.user.name,
|
||||
autofocus: true,
|
||||
placeholder: 'Please enter reject reason...'
|
||||
|
||||
},
|
||||
attrs: {
|
||||
type: "textarea",
|
||||
|
||||
},
|
||||
on: {
|
||||
input: (val) => {
|
||||
this.value = val;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
onOk :function() {
|
||||
if (!this.value) {
|
||||
self.error('请输入驳回原因')
|
||||
return;
|
||||
}
|
||||
let data = {reject_reason:this.value};
|
||||
let url : string = self.$sprintf(Url.REJECT_APPLY, row.id);
|
||||
Request('post', url,data).then((res:any)=>{
|
||||
console.log(res)
|
||||
if (res.code == 200){
|
||||
self._getData();
|
||||
self.success()
|
||||
}else {
|
||||
self.error(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
private async _getData() {
|
||||
let url : string = this.$sprintf(Url.APPLY, 3);
|
||||
let url : string = this.$sprintf(Url.APPLY, 4);
|
||||
const res:any = await Request('get', url,this.search)
|
||||
if (res.code == 200){
|
||||
this.Data = res.data.data
|
||||
|
@ -2,16 +2,24 @@
|
||||
<div>
|
||||
<custom-page :data-list="Data" :page.sync="search.page" :page-size.sync="search.size"
|
||||
:total="total" :columns="columns">
|
||||
<template slot-scope="{row}" slot="state">
|
||||
<template slot-scope="{row}" slot="audit_state_one">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.state == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.state == 1" >通过</Tag>
|
||||
<Tag color="blue" v-if="row.audit_state_one == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_one == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="audit_state_two">
|
||||
<div class="space-x-3">
|
||||
<Tag color="blue" v-if="row.audit_state_two == 0">待审核</Tag>
|
||||
<Tag color="green" v-else-if="row.audit_state_two == 1" >通过</Tag>
|
||||
<Tag color="magenta" v-else >未通过</Tag>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" slot="execute_state">
|
||||
<div class="space-x-3">
|
||||
<Tag color="geekblue" v-if="row.execute_state == 1">执行中...</Tag>
|
||||
<Tag color="cyan" v-if="row.execute_state == -1">被驳回</Tag>
|
||||
<Tag color="geekblue" v-else-if="row.execute_state == 1">执行中...</Tag>
|
||||
<Tag color="green" v-else-if="row.execute_state == 2" >执行成功</Tag>
|
||||
<Tag color="red" v-else-if="row.execute_state == 3" >执行失败</Tag>
|
||||
<Tag color="purple" v-else >未执行</Tag>
|
||||
@ -27,6 +35,7 @@
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="show" >查看</DropdownItem>
|
||||
<DropdownItem name="execute">执行</DropdownItem>
|
||||
<DropdownItem name="reject">驳回</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</template>
|
||||
</Dropdown>
|
||||
@ -46,6 +55,8 @@
|
||||
<div slot="footer"></div>
|
||||
</Modal>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -46,14 +46,9 @@ export default class Home extends HomeParent {
|
||||
}
|
||||
|
||||
public created() {
|
||||
// this._getData()
|
||||
this._getData()
|
||||
|
||||
|
||||
this.List = [
|
||||
{id:1,name:'tom',tapd_id:10086},
|
||||
{id:2,name:'jam',tapd_id:10086},
|
||||
{id:3,name:'any',tapd_id:10086},
|
||||
{id:4,name:'som',tapd_id:10086},
|
||||
]
|
||||
}
|
||||
@Watch("search.page")
|
||||
private _onPageChange(): void {
|
||||
@ -68,9 +63,8 @@ export default class Home extends HomeParent {
|
||||
|
||||
|
||||
private async _getData(){
|
||||
const res = await Request('get',Url.MINT,this.search)
|
||||
this.List = res.data.data
|
||||
this.total = res.data.total
|
||||
const res:any = await Request('get',Url.HOME)
|
||||
this.List = res.data
|
||||
console.log(res)
|
||||
}
|
||||
|
||||
|
@ -1,20 +1,21 @@
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="space-x-5 my-2 h-11">
|
||||
<Input v-model="search.keywords" class="w-80 " clearable placeholder="请输入项目名称"></Input>
|
||||
<Button type="primary" icon="ios-search-outline" :loading="loading">搜索</Button>
|
||||
</div>
|
||||
<custom-page :data-list="List" :page.sync="search.page" :page-size.sync="search.size"
|
||||
:total="total" row-key="id" :columns="columns" :no-data-text="noDataText">
|
||||
<Col span="5" style="margin-left: 20px">
|
||||
<Card >
|
||||
<p slot="title" style="font-weight: bold;">NFT</p>
|
||||
<p slot="extra"><Icon type="ios-keypad" style="font-size: 24px;color: #36cfc9"/></p>
|
||||
<p > <span style="font-size: 28px">{{ List.nft_month_num }}</span>
|
||||
<Tag type="border" color="primary" style="width: 20px;float: right"> <span style="margin-left: -5px">月</span></Tag></p>
|
||||
|
||||
<template slot="operation" slot-scope="{row}">
|
||||
<div class="space-x-2">
|
||||
<Button type="success" >查看</Button>
|
||||
<Button type="error" >删除</Button>
|
||||
<div style="border-top: 1px solid #e8eaec;margin: 10px -16px 0 -16px;">
|
||||
<div style="height:24px;padding-top:10px;display: flex;justify-content: space-between;">
|
||||
<span style="margin-left: 10px">总构建量</span>
|
||||
<span style="margin-right: 10px">{{ List.nft_sum }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</custom-page>
|
||||
</Card>
|
||||
</Col>
|
||||
</div>
|
||||
</template>
|
||||
<script src="./home.ts"></script>
|
@ -77,7 +77,7 @@ export default class Layout extends HomeParent {
|
||||
props: {
|
||||
value: self.$store.getters.user.name,
|
||||
autofocus: true,
|
||||
placeholder: 'Please enter your name...'
|
||||
placeholder: 'Please enter your nickName...'
|
||||
},
|
||||
on: {
|
||||
input: (val) => {
|
||||
|
@ -24,14 +24,14 @@ export default class Menus extends HomeParent {
|
||||
public drawerTitle:string = '';
|
||||
public dialogFormVisible: boolean = false;
|
||||
public isEdit : boolean = false;
|
||||
public columns : TableColumn[] = [{
|
||||
public columns : any = [{
|
||||
// type : "selection",
|
||||
width : 80,
|
||||
key : "id"
|
||||
}, {
|
||||
title : "名称",
|
||||
key : "name",
|
||||
tree : true
|
||||
tree: true
|
||||
}, {
|
||||
title : "路径",
|
||||
key : "url"
|
||||
|
@ -33,10 +33,10 @@ export default class Node extends HomeParent {
|
||||
controller : [{required : true, trigger : "blur", "message" : "请填写控制器名称"}],
|
||||
}
|
||||
public node : NodeInterface[] = [];
|
||||
public columns : TableColumn[] = [ {
|
||||
public columns : any = [ {
|
||||
title : "名称",
|
||||
key : "name",
|
||||
tree : true
|
||||
tree: true
|
||||
}, {
|
||||
title : "控制器",
|
||||
key : "controller",
|
||||
|
@ -72,6 +72,41 @@ export default class Users extends HomeParent {
|
||||
this._getData();
|
||||
}
|
||||
|
||||
public addEmail(row : UserInterface){
|
||||
// alert(row.account)
|
||||
let self = this;
|
||||
this.$Modal.confirm({
|
||||
title:"修改邮箱",
|
||||
render: function(h) {
|
||||
return h('Input', {
|
||||
props: {
|
||||
value: self.$store.getters.user.name,
|
||||
autofocus: true,
|
||||
placeholder: 'Please enter email...'
|
||||
},
|
||||
on: {
|
||||
input: (val) => {
|
||||
this.value = val;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
onOk :function() {
|
||||
if (!this.value || this.value == self.$store.getters.user.name || this.value == '') {
|
||||
return;
|
||||
}
|
||||
let data = {email:this.value};
|
||||
let url = this.$sprintf(Url.UPDATE_EMAIL, row.id)
|
||||
Request('put', url,data).then((res:any)=>{
|
||||
if (res.code == 200){
|
||||
self.success()
|
||||
}else {
|
||||
self.error(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
public async initNodeData(row : UserInterface) {
|
||||
|
@ -9,7 +9,8 @@
|
||||
<template slot-scope="{row}" slot="operation">
|
||||
<div class="space-x-3">
|
||||
<Button type="success" @click="initNodeData(row)">权限</Button>
|
||||
<Button type="info" @click="initMenuData(row)">菜单</Button>
|
||||
<Button type="primary" @click="initMenuData(row)">菜单</Button>
|
||||
<Button type="info" @click="addEmail(row)">邮箱</Button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -25,13 +25,18 @@ const routers: RouteConfig[] = [{
|
||||
},{
|
||||
path: "apply",
|
||||
name: 'apply',
|
||||
meta: {title: "apply", isMenu: false},
|
||||
meta: {title: "申请", isMenu: false},
|
||||
component: () => import(/* webpackChunkName: "home-home" */ '@/views/home/pages/apply/apple.vue'),
|
||||
},{
|
||||
path: "audit",
|
||||
name: 'audit',
|
||||
meta: {title: "audit", isMenu: false},
|
||||
meta: {title: "初审", isMenu: false},
|
||||
component: () => import(/* webpackChunkName: "home-home" */ '@/views/home/pages/audit/audit.vue'),
|
||||
},{
|
||||
path: "final-audit",
|
||||
name: 'final-audit',
|
||||
meta: {title: "终审", isMenu: false},
|
||||
component: () => import(/* webpackChunkName: "home-home" */ '@/views/home/pages/audit/final-audit.vue'),
|
||||
},{
|
||||
path: "execute",
|
||||
name: 'execute',
|
||||
|
Loading…
x
Reference in New Issue
Block a user