This commit is contained in:
龙运模 2024-08-04 23:01:23 +08:00
parent 9567e4878b
commit 2e7aace0cd
2 changed files with 68 additions and 9 deletions

View File

@ -32,6 +32,20 @@ export default {
return await http.post(this.url, params);
},
},
detailIds:{
url: `${config.API_URL}/maintenance.order.detail.ids`,
name: "邮件维修清单列表ids",
post: async function (params) {
return await http.post(this.url, params);
},
},
manual:{
url: `${config.API_URL}/mail.sync.manual`,
name: "手动同步邮件",
post: async function (params) {
return await http.post(this.url, params);
},
},
confirm:{
url: `${config.API_URL}/mail.sync.repair.confirm`,
name: "确认入保",

View File

@ -64,17 +64,39 @@
<el-button :size="size" type="info" icon="el-icon-RefreshRight" @click="reset">重置</el-button>
</div>
</div>
<el-table class="scTable" :data="emailData.rows" ref="table" :row-key="rowKey" :key="toggleIndex" :header-cell-style="{'background': '#F5F7FA','color':'#606266'}" @selection-change="selectionChange" stripe :size="size">
<el-table class="scTable" :header-cell-class-name="setClassName" :data="emailData.rows" ref="table" :row-key="rowKey" :key="toggleIndex" :header-cell-style="{'background': '#F5F7FA','color':'#606266'}" @selection-change="selectionChange" stripe :size="size">
<el-table-column type="selection" align="center" width="45" :selectable="selectable"></el-table-column>
<el-table-column label="序号" align="center" type="index"></el-table-column>
<template v-for="(item, index) in userColumn" :key="index">
<el-table-column v-if="!item.hide" :column-key="item.prop" :label="item.label" :prop="item.prop" :width="item.width" :sortable="item.sortable" :fixed="item.fixed" :filters="item.filters" show-overflow-tooltip>
<template #default="scope">
<slot :name="item.prop" v-bind="scope">
{{scope.row[item.prop]}}
</slot>
</template>
</el-table-column>
<template v-if="item.prop == 'description'">
<el-table-column v-if="!item.hide" :column-key="item.prop" :label="item.label" :prop="item.prop" :width="item.width" :sortable="item.sortable" :fixed="item.fixed" :filters="item.filters">
<template #default="scope">
<slot :name="item.prop" v-bind="scope">
<el-popover
placement="bottom-start"
title=""
:width="400"
trigger="hover"
:content="scope.row[item.prop]"
>
<template #reference>
<span style="width: 100%;display: inline-block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{scope.row[item.prop]}}</span>
</template>
</el-popover>
</slot>
</template>
</el-table-column>
</template>
<template v-else>
<el-table-column v-if="!item.hide" :column-key="item.prop" :label="item.label" :prop="item.prop" :width="item.width" :sortable="item.sortable" :fixed="item.fixed" :filters="item.filters" show-overflow-tooltip>
<template #default="scope">
<slot :name="item.prop" v-bind="scope">
{{scope.row[item.prop]}}
</slot>
</template>
</el-table-column>
</template>
</template>
<el-table-column min-width="1"></el-table-column>
<template #empty>
@ -194,15 +216,31 @@ export default {
userColumn:[],
emailData:{
list:[],
column:[]
column:[],
rows:[]
},
emptyText: "暂无数据",
}
},
computed: {
isAllDisabled() {
let isDis = false;
if(this.emailData && this.emailData.rows.length>0){
isDis = this.emailData.rows.every((el) => el.is_confirm == true)
}
return isDis
},
},
mounted() {
this.getData();
},
methods: {
setClassName({ column }) {
if (column.type == 'selection' && this.isAllDisabled) {
return 'all-disabled'
}
},
async getData() {
this.listLoading = true;
const res = await this.$API.orders.order.mail.list.get(this.listParams);
@ -357,6 +395,13 @@ export default {
</script>
<style lang="scss" scoped>
::v-deep .all-disabled .el-checkbox__input .el-checkbox__inner {
background-color: #edf2fc;
border-color: #dcdfe6;
cursor: not-allowed;
}
.emailTitle{font-size: 14px;font-weight: 600;}
.statusBox{
display: flex;align-items: center;justify-content: flex-end;