master
xy 2 years ago
parent 0ef20d829c
commit 83639edbb4

@ -630,7 +630,9 @@ export default {
let dom = [];
this.moreAuths.forEach(i => {
this.$scopedSlots[i] ? dom.push((<el-dropdown-item command={i}>{ this.$scopedSlots[i](scope) }</el-dropdown-item>)) : ''
if (this.auths.indexOf(i) !== -1) {
this.$scopedSlots[i] ? dom.push((<el-dropdown-item command={i}>{ this.$scopedSlots[i](scope) }</el-dropdown-item>)) : ''
}
})
if (this.auths.indexOf('edit') !== -1) {

@ -339,6 +339,22 @@
>跟进</span
>
</template>
<template #examine="{ row }">
<el-dropdown size="small" type="primary" placement="bottom" @command="command => examine(command,row)">
<Button
type="primary"
size="small"
style="margin-left: 6px;"
>
审核
</Button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="row.status === 1 || row.status === '' || row.status === null || row.status === 3" :command="2"></el-dropdown-item>
<el-dropdown-item :command="3">驳回</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</xy-table>
<dialoger
@ -391,7 +407,7 @@
<script>
import { index as fieldIndex } from "@/api/system/customFormField";
import { authMixin } from "@/mixin/authMixin";
import { index, destroy } from "@/api/system/baseForm";
import { index, destroy, save } from "@/api/system/baseForm";
import { op } from "@/const/op";
import { download } from "@/utils/downloadRequest";
import { getparameter } from "@/api/system/dictionary";
@ -399,6 +415,7 @@ import { show } from "@/api/system/customForm";
import * as XLSX from "xlsx";
import { saveAs } from "file-saver";
import { listdept } from "@/api/system/department";
import { deepCopy } from "@/utils";
import dialoger from "./dialog.vue";
import LxHeader from "@/components/LxHeader/index.vue";
@ -449,6 +466,27 @@ export default {
};
},
methods: {
examine (command, row) {
let copyRow = deepCopy(row);
copyRow.status = command;
for (let key in copyRow) {
if (/_relation/g.test(key)) {
delete copyRow[key]
}
}
console.log(copyRow)
save({
table_name: this.customForm.tableName,
...copyRow
}).then(_ => {
this.$message({
type: 'success',
message: '操作成功'
})
this.$refs['xyTable'].getTableData()
})
},
index,
destroy,
download,

@ -222,6 +222,7 @@ export default {
message: '上传成功'
})
this.fileList = [];
this.$refs['elForm'].resetFields();
this.$emit('success');
})

@ -1,40 +1,55 @@
<template>
<div style="position: relative;">
<Spin style="position:absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);z-index: 2;" v-show="isLoading"></Spin>
<Card v-for="item in exhibitors">
<template #title>
<p>
<Icon type="md-calendar" />
{{ item.meeting_id_meetings_id_relation ? item.meeting_id_meetings_id_relation.name : '' }}
</p>
</template>
<Tag :color="tagColor(item.status)">{{ status(item.status) }}</Tag>
<div class="item">
<div class="item__title">附件</div>
<div class="item__value">
<a href="">111</a>
</div>
<Spin class="spin" v-show="isLoading"></Spin>
<div style="min-height: 200px;max-height: 73vh;overflow-y: scroll;">
<div class="cards">
<Card v-for="item in exhibitors">
<template #title>
<div class="card-title">
<div>
<Icon type="md-calendar" />
<strong>{{ item.meeting_id_meetings_id_relation ? item.meeting_id_meetings_id_relation.name : '' }}</strong>
<Tag :color="tagColor(item.status)">{{ status(item.status) }}</Tag>
</div>
<template v-if="item.meeting_id_meetings_id_relation">
<span>{{ item.meeting_id_meetings_id_relation.start_date }} ~ {{ item.meeting_id_meetings_id_relation.end_date }}</span>
</template>
</div>
</template>
<div class="file" v-if="item.fujian_uploads_id_relation">
<i class="el-icon-document"></i>
<a :href="item.fujian_uploads_id_relation.url" :download="item.fujian_uploads_id_relation.original_name">
{{ item.fujian_uploads_id_relation.original_name }}
<i class="el-icon-download"></i>
</a>
<span>{{ item.remark }}</span>
<p @click="deleteClick(item)"><i class="el-icon-delete"></i> 删除</p>
</div>
</Card>
</div>
</Card>
<div style="display: flex; justify-content: center;margin-top: 20px;">
<Page
:total="exhibitorTotal"
:page-size="exhibitorSelect.page_size"
show-total
@on-change="
<div style="display: flex; justify-content: center;margin-top: 20px;">
<Page
:total="exhibitorTotal"
:page-size="exhibitorSelect.page_size"
show-total
@on-change="
(e) => {
exhibitorSelect.page = e;
getExhibitors();
}
"
/>
/>
</div>
</div>
</div>
</template>
<script>
import { exhibitorList } from "@/api/h5";
import { exhibitorList, exhibitorDelete } from "@/api/h5";
export default {
data() {
return {
@ -64,6 +79,24 @@ export default {
this.isLoading = false;
}
},
deleteClick (row) {
this.$confirm('确定删除该条资料吗?','提示',{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(_ => {
exhibitorDelete({
id: row.id
}).then(res => {
this.$message({
type: 'success',
message: '删除成功'
})
this.getExhibitors()
})
})
}
},
computed: {
status() {
@ -94,11 +127,112 @@ export default {
</script>
<style scoped lang="scss">
.spin {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
position:absolute;
width: 100%;
height: calc(100%);
left: 0;
top: 0;
bottom: 20px;
z-index: 2;
}
.card-title {
& > div {
display: flex;
align-items: center;
margin-bottom: 5px;
& > strong {
padding: 0 10px;
}
}
& > span {
color: #999;
font-weight: normal;
zoom: .75;
}
}
.cards {
display: grid;
grid-template-columns: repeat(5,1fr);
grid-gap: 10px;
}
.item {
display: flex;
&__title {
font-weight: 600;
}
}
.file {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
& > i {
font-size: 24px;
}
& > a {
transition: all .2s;
color: $primaryColor;
margin-top: 6px;
&:hover {
text-decoration: underline;
}
&:active {
color: #ee5450;
text-decoration: underline;
}
}
& > span {
width: 100%;
color: #666;
zoom: .9;
text-indent: 1em;
word-break: break-all;
margin-top: 10px;
}
& > p {
color: red;
cursor: pointer;
zoom: .8;
align-self: flex-end;
padding-top: 20px;
}
}
@media (max-width: 768px) {
.cards {
display: block;
::v-deep .ivu-card {
margin-bottom: 10px;
}
}
}
</style>
<style>
@media (max-width: 768px) {
.el-message-box {
width: 90%;
transform: translate(-50%,-50%);
position: absolute;
top: 50%;
left: 50%;
}
}
</style>

@ -1,17 +1,24 @@
<template>
<div class="page">
<Tabs type="card" :animated="false" @on-click="tabClick">
<TabPane label="资料上传">
<div class="tabpane-container">
<subForm @success="$refs['myExhibitor'].getExhibitors(true)"></subForm>
</div>
</TabPane>
<TabPane label="我的资料">
<div class="tabpane-container">
<myExhibitor ref="myExhibitor"></myExhibitor>
</div>
</TabPane>
</Tabs>
<div class="headerbar">
<img :src="require('@/assets/logo.png')" alt="">
</div>
<div class="container">
<Tabs type="card" :animated="false" @on-click="tabClick">
<TabPane label="资料上传">
<div class="tabpane-container">
<subForm @success="$refs['myExhibitor'].getExhibitors(true)"></subForm>
</div>
</TabPane>
<TabPane label="我的资料">
<div class="tabpane-container">
<myExhibitor ref="myExhibitor"></myExhibitor>
</div>
</TabPane>
</Tabs>
</div>
</div>
</template>
@ -45,11 +52,41 @@ export default {
</script>
<style scoped lang="scss">
.headerbar {
height: 80px;
background: #d0d8e8;
display: flex;
align-items: center;
box-shadow: 0 4px 10px 6px #0000000c;
position: relative;
z-index: 2;
& > img {
height: 50px;
object-fit: contain;
margin-left: 20px;
}
}
.page {
width: 100%;
height: 100%;
background: #eee;
position: relative;
&:before {
content: '';
background: url('../../assets/h5bkg.jpeg') no-repeat;
background-size: cover;
filter: blur(1.5px) opacity(84%);
z-index: 0;
position: absolute;
inset: 0 0 0 0;
}
}
.container {
filter: drop-shadow(2px 2px 8px #0006);
padding: 20px;
}
::v-deep .ivu-tabs-ink-bar {
@ -70,10 +107,17 @@ export default {
border-radius: 0 0 4px 4px;
}
@media (min-width: 768px) {
.page {
.container {
padding: 40px;
}
}
@media (max-width: 768px) {
.headerbar {
height: 46px;
& > img {
height: 60%;
}
}
}
</style>

Loading…
Cancel
Save