master
parent
59243ac5bb
commit
03a1b4bb3c
@ -0,0 +1,9 @@
|
||||
export function statusFormatter(row) {
|
||||
switch(row.platform) {
|
||||
case 1: return '抖音';
|
||||
case 2: return '快手';
|
||||
case 3: return '朋友圈';
|
||||
case 4: return '视频号';
|
||||
default: return '';
|
||||
}
|
||||
};
|
@ -0,0 +1,191 @@
|
||||
<template>
|
||||
<div class="main-content">
|
||||
<el-tabs v-model="form.status" @tab-change="statusChange">
|
||||
<el-tab-pane label="待审核" :name="0"></el-tab-pane>
|
||||
<el-tab-pane label="审核通过" :name="1"></el-tab-pane>
|
||||
<el-tab-pane label="审核不通过" :name="2"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<div class="area-form">
|
||||
<el-form :inline="true" size="default">
|
||||
<el-form-item label="申请人">
|
||||
<el-input v-model="form.name" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门">
|
||||
<el-select v-model="form.departmentId" placeholder="请选择">
|
||||
<el-option v-for="(item) in departmentList" :key="item.id" :label="item.name" :value="item.departmentId">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="confirm">查 询</el-button>
|
||||
<el-button @click="reset">重 置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="area-table">
|
||||
<el-table :data="tableData.data" size="default" border :header-cell-style="{background: '#EEE'}">
|
||||
<el-table-column prop="name" label="申请人" width="200"></el-table-column>
|
||||
<el-table-column prop="departmentName" label="部门" width="200"></el-table-column>
|
||||
<el-table-column prop="platform" label="第三方平台" width="240" :formatter="statusFormatter"></el-table-column>
|
||||
<el-table-column prop="userName" label="昵称" width="200"></el-table-column>
|
||||
<el-table-column prop="tel" label="手机号" width="200"></el-table-column>
|
||||
<el-table-column prop="validImg" label="截图" width="200">
|
||||
<template #default="scope">
|
||||
<el-link type="primary" :href="$ImgUrl(scope.row.validImg)" target="_blank">
|
||||
点击查看
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="creatAt" label="提交时间" width="280"></el-table-column>
|
||||
<el-table-column prop="reason" label="未通过原因" width="300" v-if="form.status == 2"></el-table-column>
|
||||
<el-table-column prop="reviewer" v-if="form.status != 0" label="审核人" width="140"></el-table-column>
|
||||
<el-table-column prop="reviewTime" v-if="form.status != 0" label="审核时间" width="280"></el-table-column>
|
||||
<el-table-column prop="action" v-if="form.status == 0" label="操作" fixed="right" width="180">
|
||||
<template #default="scope">
|
||||
<el-link @click="review(scope.row.id)" type="primary" style="margin-right: 8px">审核</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
v-model:currentPage="pagination.current"
|
||||
v-model:page-size="pagination.pageSize"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
background
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pagination.total"
|
||||
/>
|
||||
</div>
|
||||
<el-dialog v-model="reviewVisible" width="30%" title="审核">
|
||||
<el-form label-width="80px" size="default">
|
||||
<el-form-item label="审核结果">
|
||||
<el-radio-group v-model="reviewForm.status">
|
||||
<el-radio :label="1">通过</el-radio>
|
||||
<el-radio :label="2">拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="reviewForm.status == 2" label="拒绝理由">
|
||||
<el-input type="textarea" v-model="reviewForm.reason"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="reviewCancel">取消</el-button>
|
||||
<el-button @click="reviewConfirm" type="primary">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {defineComponent, reactive, ref, watch, getCurrentInstance} from 'vue'
|
||||
import {statusFormatter} from './config.js'
|
||||
export default defineComponent({
|
||||
name: 'v-questList',
|
||||
setup() {
|
||||
const form = reactive({
|
||||
status: 0,
|
||||
departmentId: undefined,
|
||||
name: undefined,
|
||||
});
|
||||
const reviewForm = reactive({
|
||||
id: undefined,
|
||||
status: 2, //2通过 3拒绝
|
||||
reason: ''
|
||||
});
|
||||
const tableData = reactive({
|
||||
data: [],
|
||||
});
|
||||
const pagination = reactive({
|
||||
total: 0,
|
||||
current: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
const transformValue = ref(0)
|
||||
const platformType = ref(1);
|
||||
const departmentList = ref([]);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const reviewVisible = ref(false);
|
||||
return {
|
||||
form,reviewForm,pagination,proxy,platformType,transformValue,
|
||||
tableData,departmentList,
|
||||
statusFormatter,
|
||||
reviewVisible
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getApi();
|
||||
this.getData();
|
||||
watch(() => (this.pagination.pageSize), () => {
|
||||
this.getData()
|
||||
});
|
||||
watch(() => (this.pagination.current), () => {
|
||||
this.getData()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
getApi() {
|
||||
let obj = Object.assign({})
|
||||
this.proxy.$post("/user/department", obj).then(res => {
|
||||
const data = res.data;
|
||||
this.departmentList = data;
|
||||
}).catch(() => {});
|
||||
},
|
||||
getData() {
|
||||
let obj = Object.assign(this.form,{pageNum: this.pagination.current,pageSize: this.pagination.pageSize})
|
||||
this.proxy.$post("/userAccount/list", obj).then(res => {
|
||||
const data = res.data
|
||||
this.tableData.data = data.records;
|
||||
this.pagination.total = data.total
|
||||
}).catch(() => {});
|
||||
},
|
||||
confirm() {
|
||||
this.getData()
|
||||
},
|
||||
reset() {
|
||||
this.form.departmentId = undefined;
|
||||
this.form.name = '';
|
||||
this.getData();
|
||||
},
|
||||
//切换状态
|
||||
statusChange(index) {
|
||||
this.getData()
|
||||
},
|
||||
//删除
|
||||
singleDel(id) {
|
||||
this.$alert(
|
||||
'是否删除'+id+'?', //文字
|
||||
'删除', //标题
|
||||
{type: 'warning'}
|
||||
).then(() => {
|
||||
this.$message.success('删除成功')
|
||||
}).catch(() => {})
|
||||
},
|
||||
//审核
|
||||
review(value) {
|
||||
this.reviewVisible = true;
|
||||
this.reviewForm.id = value;
|
||||
},
|
||||
reviewConfirm() {
|
||||
this.proxy.$post("/userAccount/valid", this.reviewForm).then(res => {
|
||||
if(res.code == 200) {
|
||||
this.$message.success(res.data);
|
||||
this.getData();
|
||||
this.reviewCancel();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
}).catch(() => {});
|
||||
},
|
||||
reviewCancel() {
|
||||
this.reviewVisible = false;
|
||||
this.reviewForm.status = 2;
|
||||
this.reviewForm.reason = ''
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.area-table {
|
||||
margin-top: 16px
|
||||
}
|
||||
</style>
|
@ -1,8 +1,9 @@
|
||||
export function statusFormatter(row) {
|
||||
switch(row.type) {
|
||||
case 1: return '视频';
|
||||
case 2: return '图片';
|
||||
case 3: return '图文';
|
||||
case 1: return '抖音';
|
||||
case 2: return '快手';
|
||||
case 3: return '朋友圈';
|
||||
case 4: return '视频号';
|
||||
default: return '';
|
||||
}
|
||||
};
|
Loading…
Reference in new issue