master
xy 2 years ago
parent 108219ef27
commit bb7ec0cf18

@ -0,0 +1,102 @@
<template>
<div>
<el-drawer
title="反馈"
:visible.sync="drawer"
direction="rtl"
size="660px">
<div style="padding: 20px;">
<xy-table ref="xyTable"
:action="index"
:req-opt="select"
:table-item="table"
:is-first-req="false"></xy-table>
</div>
</el-drawer>
</div>
</template>
<script>
import { index } from "@/api/system/baseForm"
import {show} from "@/api/system/customFormField";
export default {
data() {
return {
drawer: false,
select: {
table_name: 'feedbacks',
filter: [
{
key: "transfer_id",
op: "eq",
value: ""
}
]
},
table: [
{
prop: "content",
label: "内容",
minWidth: 200,
align: "left"
},
{
prop: "type",
label: "反馈类型",
width: 160,
formatter: (t1, t2, val) => {
return this.types.get(val)
}
},
{
prop: "feedback_department_id_departments_id_relation.name",
label: "反馈科室",
width: 160
}
],
types: []
}
},
methods: {
index,
show () {
this.drawer = true
},
hide () {
this.drawer = false
},
setId (id) {
this.select.filter[0].value = id
},
async getType() {
const obj = (await show({ id: 23 }, false))?.select_item;
if (obj && typeof obj === "object") {
let keys = Object.keys(obj);
if (keys.length > 0) {
this.types = new Map(keys.map(key => [/^\d*$/.test(obj[key]) ? Number(obj[key]) : obj[key],key]))
}
}
}
},
computed: {
},
watch: {
drawer (newVal) {
if (newVal) {
this.$nextTick(() => {
this.$refs['xyTable'].getTableData(true)
})
}
}
},
created() {
this.getType()
}
}
</script>
<style scoped lang="scss">
</style>

@ -295,7 +295,7 @@
<xy-table
:span-method="objectSpanMethod"
:format-list-data="mergeData"
:btn-width="300"
:btn-width="140"
:auths="auths_auth_mixin"
:delay-req="true"
:destroy-action="destroy"
@ -320,8 +320,12 @@
}
"
>
<template #callback="{ row }">
<Button size="small" type="primary" @click="$refs['callbackList'].setId(row.id),$refs['callbackList'].show()"></Button>
</template>
</xy-table>
<callbackList ref="callbackList"></callbackList>
</div>
</template>
@ -345,8 +349,9 @@ import headerContent from "@/components/LxHeader/XyContent.vue";
import drawer from "@/views/component/drawer.vue";
import imports from "@/views/component/imports.vue";
import callback from "@/views/order/component/callback.vue";
import {deepCopy} from "@/utils";
import {mergeTableRow} from "@/utils/mergeTableRow";
import callbackList from "@/views/order/component/callbackList.vue";
import { deepCopy } from "@/utils";
import { mergeTableRow } from "@/utils/mergeTableRow";
export default {
components: {
LxHeader,
@ -355,6 +360,7 @@ export default {
drawer,
imports,
callback,
callbackList
},
mixins: [authMixin],
provide: {

Loading…
Cancel
Save