对于问题反馈列表增加的状态增加:无法解决。

uat_us
wangxiaoshuang 2026-04-24 16:49:35 +08:00
parent 5a943fbefe
commit 1194e56139
3 changed files with 111 additions and 315 deletions

View File

@ -2,36 +2,21 @@
<!--FEEDBACK--> <!--FEEDBACK-->
<div v-if="visible" @click.stop="() => false" class="feedBack-box"> <div v-if="visible" @click.stop="() => false" class="feedBack-box">
<div class="feedBack-box-modal"></div> <div class="feedBack-box-modal"></div>
<el-dialog <el-dialog :visible.sync="visible" v-dialogDrag width="800px" :close-on-click-modal="false" @close="cancel"
:visible.sync="visible" :modal="false">
v-dialogDrag
width="800px"
:close-on-click-modal="false"
@close="cancel"
:modal="false"
>
<div slot="title"> <div slot="title">
{{ title }} {{ title }}
</div> </div>
<!-- 项目详情 --> <!-- 项目详情 -->
<div class="trialsBox" v-if="visitTaskId || SubjectVisitId"> <div class="trialsBox" v-if="visitTaskId || SubjectVisitId">
<el-form <el-form label-position="right" :model="form" :inline="true" class="trialsForm" v-if="type === 'detail'">
label-position="right"
:model="form"
:inline="true"
class="trialsForm"
v-if="type === 'detail'"
>
<el-form-item :label="$t('feedBack:trials:code')" style="width: 40%"> <el-form-item :label="$t('feedBack:trials:code')" style="width: 40%">
<span>{{ form.TrialCode }}</span> <span>{{ form.TrialCode }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('feedBack:trials:name')" style="width: 40%"> <el-form-item :label="$t('feedBack:trials:name')" style="width: 40%">
<span>{{ form.ExperimentName }}</span> <span>{{ form.ExperimentName }}</span>
</el-form-item> </el-form-item>
<el-form-item <el-form-item :label="$t('feedBack:trials:siteCode')" style="width: 40%">
:label="$t('feedBack:trials:siteCode')"
style="width: 40%"
>
<span>{{ form.TrialSiteCode }}</span> <span>{{ form.TrialSiteCode }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('feedBack:trials:visit')" style="width: 40%"> <el-form-item :label="$t('feedBack:trials:visit')" style="width: 40%">
@ -39,47 +24,21 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-form <el-form ref="feedBackForm" label-position="right" :model="form" :rules="rules" label-width="100px">
ref="feedBackForm"
label-position="right"
:model="form"
:rules="rules"
label-width="100px"
>
<!-- 影像异常tip --> <!-- 影像异常tip -->
<p class="tip" v-if="type === 'imgfail'"> <p class="tip" v-if="type === 'imgfail'">
<i <i class="el-icon-warning-outline" style="color: #f56c6c; font-size: 24px"></i>
class="el-icon-warning-outline"
style="color: #f56c6c; font-size: 24px"
></i>
<span>{{ $t('feedBack:imgfail:tip') }}</span> <span>{{ $t('feedBack:imgfail:tip') }}</span>
</p> </p>
<!-- 问题反馈 --> <!-- 问题反馈 -->
<el-form-item <el-form-item :label="$t('feedBack:form:feedBack')" prop="QuestionType" v-if="type === 'feedback' && trialId">
:label="$t('feedBack:form:feedBack')" <el-select v-model="form.QuestionType" style="width: 100%" popper-class="feedBack-select-box">
prop="QuestionType" <el-option v-for="item in QuestionTypeOptions" :key="item.id" :label="item.label" :value="item.value">
v-if="type === 'feedback' && trialId"
>
<el-select
v-model="form.QuestionType"
style="width: 100%"
popper-class="feedBack-select-box"
>
<el-option
v-for="item in QuestionTypeOptions"
:key="item.id"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 问题反馈 --> <!-- 问题反馈 -->
<el-form-item <el-form-item :label="$t('feedBack:form:feedBack')" prop="QuestionType" v-if="type === 'detail'">
:label="$t('feedBack:form:feedBack')"
prop="QuestionType"
v-if="type === 'detail'"
>
<span>{{ <span>{{
QuestionTypeOptions.filter( QuestionTypeOptions.filter(
(item) => item.value === form.QuestionType (item) => item.value === form.QuestionType
@ -87,43 +46,22 @@
}}</span> }}</span>
</el-form-item> </el-form-item>
<!-- 问题描述 --> <!-- 问题描述 -->
<el-form-item <el-form-item :label="$t('feedBack:form:description')" prop="QuestionDescription">
:label="$t('feedBack:form:description')" <el-input v-model="form.QuestionDescription" type="textarea" :rows="4" :maxlength="500"
prop="QuestionDescription" :disabled="type === 'detail'" />
>
<el-input
v-model="form.QuestionDescription"
type="textarea"
:rows="4"
:maxlength="500"
:disabled="type === 'detail'"
/>
</el-form-item> </el-form-item>
<!-- 截图 --> <!-- 截图 -->
<el-form-item :label="$t('feedBack:form:screenshot')" prop="screenshot"> <el-form-item :label="$t('feedBack:form:screenshot')" prop="screenshot">
<uploadImage <uploadImage :path.sync="form.ScreenshotList" :isUpload.sync="loading" :trialId="trialId"
:path.sync="form.ScreenshotList" :disabled="type === 'detail'" ref="uploadImage" />
:isUpload.sync="loading"
:trialId="trialId"
:disabled="type === 'detail'"
ref="uploadImage"
/>
</el-form-item> </el-form-item>
<!-- 反馈时间 --> <!-- 反馈时间 -->
<el-form-item <el-form-item :label="$t('feedBack:form:time')" prop="screenshot" v-if="type === 'detail'">
:label="$t('feedBack:form:time')"
prop="screenshot"
v-if="type === 'detail'"
>
<span>{{ form.CreateTime }}</span> <span>{{ form.CreateTime }}</span>
</el-form-item> </el-form-item>
<!-- 状态 --> <!-- 状态 -->
<el-form-item <el-form-item :label="$t('feedBack:form:status')" prop="screenshot" v-if="type === 'detail' && level >= 7">
:label="$t('feedBack:form:status')" <!-- <el-switch
prop="screenshot"
v-if="type === 'detail' && level > 7"
>
<el-switch
v-model="form.State" v-model="form.State"
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949"
@ -134,21 +72,26 @@
:disabled="level < 8 || !isStateChange" :disabled="level < 8 || !isStateChange"
@change="changeState" @change="changeState"
> >
</el-switch> </el-switch> -->
<el-select v-model="form.State" :popper-append-to-body="false" :disabled="level < 8">
<el-option v-for="item in $d.FeedBackStatus" :key="item.id" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<!-- 无法解决原因 -->
<el-form-item :label="$t('feedBack:form:Reason')" prop="Reason"
v-if="type === 'detail' && level >= 7 && form.State === 2">
<el-input v-model="form.Reason" type="textarea" :rows="4" :maxlength="500" :disabled="level < 8" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" v-if="type !== 'detail' || isImgfail"> <!--type !== 'detail'-->
<div slot="footer" v-if="level >= 8 || isImgfail">
<!-- 取消 --> <!-- 取消 -->
<el-button size="small" @click.stop="cancel"> <el-button size="small" @click.stop="cancel">
{{ $t('feedBack:button:cancel') }} {{ $t('feedBack:button:cancel') }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->
<el-button <el-button type="primary" size="small" @click.stop="save" :loading="loading">
type="primary"
size="small"
@click.stop="save"
:loading="loading"
>
{{ $t('feedBack:button:save') }} {{ $t('feedBack:button:save') }}
</el-button> </el-button>
</div> </div>
@ -190,6 +133,7 @@ export default {
SubjectVisitId: null, SubjectVisitId: null,
ScreenshotList: [], ScreenshotList: [],
ScreenshotListStr: null, ScreenshotListStr: null,
Reason: null
}, },
rules: { rules: {
QuestionType: [ QuestionType: [
@ -307,6 +251,7 @@ export default {
// //
async changeState() { async changeState() {
if (this.isImgfail) return if (this.isImgfail) return
if (this.form.State !== 1 && this.form.State !== 0) return false
try { try {
let data = { let data = {
IdList: [this.Id], IdList: [this.Id],
@ -381,6 +326,10 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep.el-popper {
z-index: 4000 !important;
}
.tip { .tip {
width: 86%; width: 86%;
margin: auto; margin: auto;
@ -389,12 +338,14 @@ export default {
padding: 0 10px; padding: 0 10px;
display: flex; display: flex;
align-items: center; align-items: center;
// border-radius: 5px; // border-radius: 5px;
// background-color: #eee; // background-color: #eee;
i { i {
margin-right: 5px; margin-right: 5px;
} }
} }
.trialsBox { .trialsBox {
margin: auto; margin: auto;
margin-bottom: 20px; margin-bottom: 20px;
@ -405,11 +356,13 @@ export default {
border-radius: 5px; border-radius: 5px;
background-color: #eee; background-color: #eee;
} }
.trialsForm { .trialsForm {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
.el-form-item { .el-form-item {
margin-bottom: 10px; margin-bottom: 10px;
} }

View File

@ -239,21 +239,15 @@ body .el-table th.gutter {
line-height: 1.5; line-height: 1.5;
} }
.el-descriptions__body .el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left {
.el-descriptions__table
.el-descriptions-item__cell.is-left {
text-align: left; text-align: left;
} }
.el-descriptions__body .el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center {
.el-descriptions__table
.el-descriptions-item__cell.is-center {
text-align: center; text-align: center;
} }
.el-descriptions__body .el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right {
.el-descriptions__table
.el-descriptions-item__cell.is-right {
text-align: right; text-align: right;
} }
@ -345,6 +339,10 @@ body .el-table th.gutter {
.el-dialog__wrapper { .el-dialog__wrapper {
z-index: 3999 !important; z-index: 3999 !important;
} }
.el-popper {
z-index: 4000 !important;
}
} }
.feedBack-select-box { .feedBack-select-box {
@ -378,4 +376,4 @@ body .el-table th.gutter {
height: 20px !important; height: 20px !important;
vertical-align: -0.4em !important; vertical-align: -0.4em !important;
cursor: pointer; cursor: pointer;
} }

View File

@ -4,122 +4,57 @@
<el-form :inline="true"> <el-form :inline="true">
<!--项目编号/实验名称--> <!--项目编号/实验名称-->
<el-form-item :label="$t('feedBack:search:trials')" v-if="level > 8"> <el-form-item :label="$t('feedBack:search:trials')" v-if="level > 8">
<el-input <el-input v-model="searchData.TrialKeyInfo" clearable style="width: 150px"></el-input>
v-model="searchData.TrialKeyInfo"
clearable
style="width: 150px"
></el-input>
</el-form-item> </el-form-item>
<!--中心--> <!--中心-->
<el-form-item :label="$t('feedBack:search:site')" v-if="level > 7"> <el-form-item :label="$t('feedBack:search:site')" v-if="level > 7">
<el-input <el-input v-model="searchData.TrialSiteCode" clearable style="width: 150px"></el-input>
v-model="searchData.TrialSiteCode"
clearable
style="width: 150px"
></el-input>
</el-form-item> </el-form-item>
<!--受试者访视--> <!--受试者访视-->
<el-form-item <el-form-item :label="$t('feedBack:search:subjectVisit')" v-if="level > 7">
:label="$t('feedBack:search:subjectVisit')" <el-input v-model="searchData.SubejctAndVisitKeyInfo" clearable style="width: 150px"></el-input>
v-if="level > 7"
>
<el-input
v-model="searchData.SubejctAndVisitKeyInfo"
clearable
style="width: 150px"
></el-input>
</el-form-item> </el-form-item>
<!--角色--> <!--角色-->
<el-form-item :label="$t('feedBack:search:role')" v-if="level > 7"> <el-form-item :label="$t('feedBack:search:role')" v-if="level > 7">
<el-select <el-select v-model="searchData.UserTypeEnum" clearable style="width: 150px"
v-model="searchData.UserTypeEnum" popper-class="feedBack-select-box">
clearable <el-option v-for="item of UserTypeOptins" :key="item.value" :label="item.label" :value="item.value" />
style="width: 150px"
popper-class="feedBack-select-box"
>
<el-option
v-for="item of UserTypeOptins"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--反馈人--> <!--反馈人-->
<el-form-item :label="$t('feedBack:search:user')" v-if="level > 7"> <el-form-item :label="$t('feedBack:search:user')" v-if="level > 7">
<el-input <el-input v-model="searchData.FeedBackUserKeyInfo" clearable style="width: 150px"></el-input>
v-model="searchData.FeedBackUserKeyInfo"
clearable
style="width: 150px"
></el-input>
</el-form-item> </el-form-item>
<!--问题类型--> <!--问题类型-->
<el-form-item :label="$t('feedBack:search:questionType')"> <el-form-item :label="$t('feedBack:search:questionType')">
<el-select <el-select v-model="searchData.QuestionType" clearable style="width: 150px"
v-model="searchData.QuestionType" popper-class="feedBack-select-box">
clearable <el-option v-for="item of QuestionTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
style="width: 150px"
popper-class="feedBack-select-box"
>
<el-option
v-for="item of QuestionTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--问题描述--> <!--问题描述-->
<el-form-item :label="$t('feedBack:search:description')"> <el-form-item :label="$t('feedBack:search:description')">
<el-input <el-input v-model="searchData.QuestionDescription" clearable style="width: 150px"></el-input>
v-model="searchData.QuestionDescription"
clearable
style="width: 150px"
></el-input>
</el-form-item> </el-form-item>
<!--状态--> <!--状态-->
<el-form-item :label="$t('feedBack:search:status')" v-if="level > 7"> <el-form-item :label="$t('feedBack:search:status')" v-if="level > 7">
<el-select <el-select v-model="searchData.State" clearable style="width: 150px" popper-class="feedBack-select-box">
v-model="searchData.State" <el-option v-for="item of $d.FeedBackStatus" :key="item.value" :label="item.label" :value="item.value" />
clearable
style="width: 150px"
popper-class="feedBack-select-box"
>
<el-option
v-for="item of $d.FeedBackStatus"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--反馈日期--> <!--反馈日期-->
<el-form-item :label="$t('feedBack:search:time')"> <el-form-item :label="$t('feedBack:search:time')">
<el-date-picker <el-date-picker v-model="datetimerange" type="datetimerange" :default-time="['00:00:00', '23:59:59']"
v-model="datetimerange" :start-placeholder="$t('feedBack:search:beginTime')" :end-placeholder="$t('feedBack:search:endTime')"
type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss" @change="handleDatetimeChange" style="width: 250px"
:default-time="['00:00:00', '23:59:59']" popper-class="feedBack-select-box" />
:start-placeholder="$t('feedBack:search:beginTime')"
:end-placeholder="$t('feedBack:search:endTime')"
value-format="yyyy-MM-dd HH:mm:ss"
@change="handleDatetimeChange"
style="width: 250px"
popper-class="feedBack-select-box"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" @click="getList">
type="primary"
icon="el-icon-search"
@click="getList"
>
{{ $t('common:button:search') }} {{ $t('common:button:search') }}
</el-button> </el-button>
<!-- 重置 --> <!-- 重置 -->
<el-button <el-button icon="el-icon-refresh-left" @click="handleReset">
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }} {{ $t('common:button:reset') }}
</el-button> </el-button>
<!-- <el-button <!-- <el-button
@ -131,97 +66,32 @@
{{ $t("common:button:export") }} {{ $t("common:button:export") }}
</el-button> --> </el-button> -->
</el-form-item> </el-form-item>
<el-button <el-button type="primary" @click="resolve" style="float: right" v-if="level > 7"
type="primary" :disabled="tableSelectData.length <= 0">
@click="resolve"
style="float: right"
v-if="level > 7"
:disabled="tableSelectData.length <= 0"
>
{{ $t('feedBack:button:resolve') }} {{ $t('feedBack:button:resolve') }}
</el-button> </el-button>
</el-form> </el-form>
<el-table <el-table v-loading="loading" v-adaptive="{ bottomOffset: 45 }" height="100" :data="list" class="table"
v-loading="loading" @selection-change="handleSelectChange" @sort-change="handleSortByColumn"
v-adaptive="{ bottomOffset: 45 }" :default-sort="{ prop: 'CreateTime', order: 'descending' }">
height="100" <el-table-column type="selection" align="center" width="45" v-if="level > 7" :selectable="handleSelectTable" />
:data="list"
class="table"
@selection-change="handleSelectChange"
@sort-change="handleSortByColumn"
:default-sort="{ prop: 'CreateTime', order: 'descending' }"
>
<el-table-column
type="selection"
align="center"
width="45"
v-if="level > 7"
:selectable="handleSelectTable"
/>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column <el-table-column :label="$t('feedBack:form:trialCode')" prop="TrialCode" min-width="100" show-overflow-tooltip
:label="$t('feedBack:form:trialCode')" sortable="custom" v-if="level > 8" />
prop="TrialCode" <el-table-column :label="$t('feedBack:form:study')" prop="ExperimentName" min-width="140" show-overflow-tooltip
min-width="100" sortable="custom" v-if="level > 8" />
show-overflow-tooltip <el-table-column :label="$t('feedBack:form:siteCode')" prop="TrialSiteCode" min-width="100"
sortable="custom" show-overflow-tooltip sortable="custom" v-if="level > 7" />
v-if="level > 8" <el-table-column :label="$t('feedBack:form:SubjectCode')" prop="SubjectCode" min-width="120"
/> show-overflow-tooltip sortable="custom" v-if="level > 7" />
<el-table-column <el-table-column :label="$t('feedBack:form:subjectVisit')" prop="SubjectVisitName" min-width="120"
:label="$t('feedBack:form:study')" show-overflow-tooltip sortable="custom" v-if="level > 7" />
prop="ExperimentName" <el-table-column :label="$t('feedBack:form:role')" prop="FeedBackUserName" min-width="100" show-overflow-tooltip
min-width="140" sortable="custom" v-if="level > 7" />
show-overflow-tooltip <el-table-column :label="$t('feedBack:form:user')" prop="FeedBackFullName" min-width="140" show-overflow-tooltip
sortable="custom" sortable="custom" v-if="level > 7" />
v-if="level > 8" <el-table-column :label="$t('feedBack:form:questionType')" prop="QuestionType" min-width="180"
/> show-overflow-tooltip sortable="custom">
<el-table-column
:label="$t('feedBack:form:siteCode')"
prop="TrialSiteCode"
min-width="100"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('feedBack:form:SubjectCode')"
prop="SubjectCode"
min-width="120"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('feedBack:form:subjectVisit')"
prop="SubjectVisitName"
min-width="120"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('feedBack:form:role')"
prop="FeedBackUserName"
min-width="100"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('feedBack:form:user')"
prop="FeedBackFullName"
min-width="140"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('feedBack:form:questionType')"
prop="QuestionType"
min-width="180"
show-overflow-tooltip
sortable="custom"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{
QuestionTypeOptions.filter( QuestionTypeOptions.filter(
@ -230,49 +100,22 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :label="$t('feedBack:form:description')" prop="QuestionDescription" min-width="200"
:label="$t('feedBack:form:description')" show-overflow-tooltip sortable="custom" />
prop="QuestionDescription" <el-table-column :label="$t('feedBack:form:time')" prop="CreateTime" min-width="180" show-overflow-tooltip
min-width="200" sortable="custom" />
show-overflow-tooltip <el-table-column :label="$t('feedBack:form:status')" prop="State" min-width="120" show-overflow-tooltip
sortable="custom" sortable="custom" v-if="level > 7">
/>
<el-table-column
:label="$t('feedBack:form:time')"
prop="CreateTime"
min-width="180"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
:label="$t('feedBack:form:status')"
prop="State"
min-width="120"
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="['danger', 'success'][scope.row.State]">{{ <el-tag :type="['danger', 'success', 'danger'][scope.row.State]">{{
$fd('FeedBackStatus', scope.row.State) $fd('FeedBackStatus', scope.row.State)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :label="$t('feedBack:form:uploadTime')" prop="UpdateTime" min-width="180" show-overflow-tooltip
:label="$t('feedBack:form:uploadTime')" sortable="custom" v-if="level > 7" />
prop="UpdateTime" <el-table-column :label="$t('common:action:action')" fixed="right" prop="UserTypeShortName" width="100"
min-width="180" show-overflow-tooltip>
show-overflow-tooltip
sortable="custom"
v-if="level > 7"
/>
<el-table-column
:label="$t('common:action:action')"
fixed="right"
prop="UserTypeShortName"
width="100"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="getDetail(scope.row)"> <el-button type="text" @click="getDetail(scope.row)">
{{ $t('common:button:view') }} {{ $t('common:button:view') }}
@ -281,12 +124,8 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagination" style="text-align: right; margin-top: 5px"> <div class="pagination" style="text-align: right; margin-top: 5px">
<pagination <pagination :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
:total="total" @pagination="getList" />
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
</div> </div>
</div> </div>
</div> </div>
@ -434,7 +273,7 @@ export default {
} }
}, },
// //
report() {}, report() { },
// //
handleSelectChange(selection) { handleSelectChange(selection) {
// console.log(selection, "handleSelectChange"); // console.log(selection, "handleSelectChange");
@ -472,31 +311,37 @@ export default {
display: flex; display: flex;
padding: 10px; padding: 10px;
border-radius: 5px; border-radius: 5px;
.left { .left {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 0; width: 0;
flex-grow: 4; flex-grow: 4;
// border-right: 1px solid #ccc; // border-right: 1px solid #ccc;
.filter-container { .filter-container {
display: flex; display: flex;
align-items: center; align-items: center;
margin: 5px; margin: 5px;
} }
.data-table { .data-table {
flex: 1; flex: 1;
padding: 5px 0px; padding: 5px 0px;
} }
.pagination-container { .pagination-container {
text-align: right; text-align: right;
} }
} }
.right { .right {
width: 0; width: 0;
flex-grow: 6; flex-grow: 6;
overflow-y: auto; overflow-y: auto;
border-right: 1px solid #ccc; border-right: 1px solid #ccc;
} }
.selected-row { .selected-row {
background-color: cadetblue; background-color: cadetblue;
} }