对于问题反馈列表增加的状态增加:无法解决。
parent
5a943fbefe
commit
1194e56139
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue