master
xy 2 years ago
parent 0ef20d829c
commit 83639edbb4

@ -630,7 +630,9 @@ export default {
let dom = []; let dom = [];
this.moreAuths.forEach(i => { 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) { if (this.auths.indexOf('edit') !== -1) {

@ -339,6 +339,22 @@
>跟进</span >跟进</span
> >
</template> </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> </xy-table>
<dialoger <dialoger
@ -391,7 +407,7 @@
<script> <script>
import { index as fieldIndex } from "@/api/system/customFormField"; import { index as fieldIndex } from "@/api/system/customFormField";
import { authMixin } from "@/mixin/authMixin"; 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 { op } from "@/const/op";
import { download } from "@/utils/downloadRequest"; import { download } from "@/utils/downloadRequest";
import { getparameter } from "@/api/system/dictionary"; import { getparameter } from "@/api/system/dictionary";
@ -399,6 +415,7 @@ import { show } from "@/api/system/customForm";
import * as XLSX from "xlsx"; import * as XLSX from "xlsx";
import { saveAs } from "file-saver"; import { saveAs } from "file-saver";
import { listdept } from "@/api/system/department"; import { listdept } from "@/api/system/department";
import { deepCopy } from "@/utils";
import dialoger from "./dialog.vue"; import dialoger from "./dialog.vue";
import LxHeader from "@/components/LxHeader/index.vue"; import LxHeader from "@/components/LxHeader/index.vue";
@ -449,6 +466,27 @@ export default {
}; };
}, },
methods: { 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, index,
destroy, destroy,
download, download,

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

@ -1,40 +1,55 @@
<template> <template>
<div style="position: relative;"> <div style="position: relative;">
<Spin style="position:absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);z-index: 2;" v-show="isLoading"></Spin> <Spin class="spin" v-show="isLoading"></Spin>
<Card v-for="item in exhibitors"> <div style="min-height: 200px;max-height: 73vh;overflow-y: scroll;">
<template #title> <div class="cards">
<p> <Card v-for="item in exhibitors">
<Icon type="md-calendar" /> <template #title>
{{ item.meeting_id_meetings_id_relation ? item.meeting_id_meetings_id_relation.name : '' }} <div class="card-title">
</p> <div>
</template> <Icon type="md-calendar" />
<Tag :color="tagColor(item.status)">{{ status(item.status) }}</Tag> <strong>{{ item.meeting_id_meetings_id_relation ? item.meeting_id_meetings_id_relation.name : '' }}</strong>
<div class="item"> <Tag :color="tagColor(item.status)">{{ status(item.status) }}</Tag>
<div class="item__title">附件</div> </div>
<div class="item__value">
<a href="">111</a> <template v-if="item.meeting_id_meetings_id_relation">
</div> <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> </div>
</Card>
<div style="display: flex; justify-content: center;margin-top: 20px;">
<div style="display: flex; justify-content: center;margin-top: 20px;"> <Page
<Page :total="exhibitorTotal"
:total="exhibitorTotal" :page-size="exhibitorSelect.page_size"
:page-size="exhibitorSelect.page_size" show-total
show-total @on-change="
@on-change="
(e) => { (e) => {
exhibitorSelect.page = e; exhibitorSelect.page = e;
getExhibitors(); getExhibitors();
} }
" "
/> />
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { exhibitorList } from "@/api/h5"; import { exhibitorList, exhibitorDelete } from "@/api/h5";
export default { export default {
data() { data() {
return { return {
@ -64,6 +79,24 @@ export default {
this.isLoading = false; 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: { computed: {
status() { status() {
@ -94,11 +127,112 @@ export default {
</script> </script>
<style scoped lang="scss"> <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 { .item {
display: flex; display: flex;
&__title { &__title {
font-weight: 600; 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> </style>

@ -1,17 +1,24 @@
<template> <template>
<div class="page"> <div class="page">
<Tabs type="card" :animated="false" @on-click="tabClick">
<TabPane label="资料上传"> <div class="headerbar">
<div class="tabpane-container"> <img :src="require('@/assets/logo.png')" alt="">
<subForm @success="$refs['myExhibitor'].getExhibitors(true)"></subForm> </div>
</div>
</TabPane> <div class="container">
<TabPane label="我的资料"> <Tabs type="card" :animated="false" @on-click="tabClick">
<div class="tabpane-container"> <TabPane label="资料上传">
<myExhibitor ref="myExhibitor"></myExhibitor> <div class="tabpane-container">
</div> <subForm @success="$refs['myExhibitor'].getExhibitors(true)"></subForm>
</TabPane> </div>
</Tabs> </TabPane>
<TabPane label="我的资料">
<div class="tabpane-container">
<myExhibitor ref="myExhibitor"></myExhibitor>
</div>
</TabPane>
</Tabs>
</div>
</div> </div>
</template> </template>
@ -45,11 +52,41 @@ export default {
</script> </script>
<style scoped lang="scss"> <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 { .page {
width: 100%; width: 100%;
height: 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; padding: 20px;
} }
::v-deep .ivu-tabs-ink-bar { ::v-deep .ivu-tabs-ink-bar {
@ -70,10 +107,17 @@ export default {
border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px;
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.page { .container {
padding: 40px; padding: 40px;
} }
} }
@media (max-width: 768px) { @media (max-width: 768px) {
.headerbar {
height: 46px;
& > img {
height: 60%;
}
}
} }
</style> </style>

Loading…
Cancel
Save