irc_web/.svn/pristine/3f/3f90700b7cecd70b743eafeb840...

222 lines
5.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<box-content>
<!-- 搜索框 -->
<div class="search">
<el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="问题名称:">
<el-input v-model="searchData.QuestionName" clearable style="width:120px;" />
</el-form-item>
<el-form-item label="类型:">
<el-input v-model="searchData.Type" clearable style="width:120px;" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleReset">Reset</el-button>
<el-button type="primary" @click="handleSearch">Search</el-button>
</el-form-item>
</el-form>
<span style="margin-left:auto">
<el-button
:disabled="list.length === 0"
size="mini"
type="primary"
@click="preview.visible = true"
>
Preview
</el-button>
<el-button type="primary" size="mini" @click="handleAdd">New</el-button>
</span>
</div>
<el-table
v-loading="loading"
v-adaptive="{bottomOffset:45}"
:data="list"
stripe
size="small"
height="100"
>
<el-table-column
prop="ShowOrder"
label="序号"
min-width="70"
/>
<el-table-column
prop="QuestionName"
label="问题名称"
show-overflow-tooltip
/>
<el-table-column
prop="QuestionEnName"
:label="$t('trials:qcCfg:table:questionName') + 'EN'"
show-overflow-tooltip
/>
<el-table-column
prop="Type"
label="类型"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.Type=== 'radio'?'单选框':scope.row.Type=== 'select'?'下拉框':scope.row.Type=== 'input'?'文本框':scope.row.Type=== 'textarea'?'多行文本框':'' }}
</template>
</el-table-column>
<el-table-column
prop="TypeValue"
label="选项"
show-overflow-tooltip
min-width="110"
/>
<el-table-column
prop="ParentShowOrder"
label="父问题"
show-overflow-tooltip
min-width="110"
/>
<el-table-column
prop="ParentTriggerValue"
label="父问题触发值"
show-overflow-tooltip
min-width="110"
/>
<el-table-column
prop="IsRequired"
label="是否必填"
min-width="90"
>
<template slot-scope="scope">
{{ scope.row.IsRequired?'是':'否' }}
</template>
</el-table-column>
<el-table-column
prop="IsEnable"
label="启用状态"
min-width="120"
>
<template slot-scope="scope">
{{ scope.row.IsEnable?'启用':'停用' }}
</template>
</el-table-column>
<el-table-column label="Action" width="200" fixed="right">
<template slot-scope="scope">
<el-button
type="primary"
size="mini"
@click="handleEdit(scope.row)"
>
Edit
</el-button>
<el-button
type="danger"
size="mini"
@click="handleDelete(scope.row)"
>
Delete
</el-button>
</template>
</el-table-column>
</el-table>
<QcQuestionForm ref="qcQuestionForm" @getList="getList" />
<!-- 预览 -->
<el-dialog
v-if="preview.visible"
v-dialogDrag
:visible.sync="preview.visible"
:close-on-click-modal="false"
:title="preview.title"
width="500px"
append-to-body
custom-class="base-dialog-wrapper"
>
<div class="base-dialog-body">
<QcQuestionPreview />
</div>
</el-dialog>
</box-content>
</template>
<script>
import { getQCQuestionConfigureList, deleteQCQuestionConfigure } from '@/api/dictionary'
import QcQuestionForm from './QcQuestionForm'
import BoxContent from '@/components/BoxContent'
import QcQuestionPreview from './QcQuestionPreview'
const searchDataDefault = () => {
return {
QuestionName: '',
Type: ''
}
}
export default {
name: 'QcQuestions',
components: { BoxContent, QcQuestionForm, QcQuestionPreview },
data() {
return {
searchData: searchDataDefault(),
list: [],
total: 0,
loading: false,
rowData: {},
model_cfg: { visible: false, showClose: true, width: '600px', title: '' },
preview: { visible: false, title: '预览' }
}
},
mounted() {
this.getList()
},
methods: {
// 获取受试者列表信息
getList() {
this.loading = true
getQCQuestionConfigureList(this.searchData).then(res => {
this.loading = false
this.list = res.Result
}).catch(() => { this.loading = false })
},
// 新增受试者
handleAdd() {
this.$nextTick(() => {
this.$refs['qcQuestionForm'].openDialog('New', {})
})
},
// 编辑受试者信息
handleEdit(row) {
this.$nextTick(() => {
this.$refs['qcQuestionForm'].openDialog('Edit', row)
})
},
// 删除受试者
handleDelete(row) {
this.$confirm('Sure to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
deleteQCQuestionConfigure(row.Id)
.then(res => {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
}
}).catch(() => { this.loading = false })
})
},
// 查询
handleSearch() {
this.getList()
},
// 重置
handleReset() {
this.searchData = searchDataDefault()
this.getList()
}
}
}
</script>