From 752ad6211b54bbf38bf7dfc5c3a572ae3e15b0d4 Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期五, 03 三月 2023 18:06:47 +0800
Subject: [PATCH] 修改群组交流
---
src/views/common/Question.vue | 366 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 362 insertions(+), 4 deletions(-)
diff --git a/src/views/common/Question.vue b/src/views/common/Question.vue
index 1e76cb4..a1dc7b1 100644
--- a/src/views/common/Question.vue
+++ b/src/views/common/Question.vue
@@ -1,15 +1,373 @@
<template>
- <div>
- 甯歌闂
+ <div style="height: 100%">
+ <el-card style="height: 100%">
+ <template slot="header">
+ <el-form :inline="true" :model="queryInfo" class="demo-form-inline">
+ <el-form-item label="鍏抽敭瀛楋細">
+ <el-input placeholder="璇疯緭鍏�" v-model="queryInfo.questionTitle"></el-input>
+ </el-form-item>
+ <el-form-item label="鐘舵�侊細">
+ <el-select v-model="queryInfo.status" placeholder="璇烽�夋嫨" :style="{ width: '120px' }">
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="search">鏌ヨ</el-button>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="addPublicityVisibel = true">娣诲姞</el-button>
+ </el-form-item>
+ </el-form>
+ </template>
+ <template>
+ <el-table :data="publicityList" style="width: 100%">
+
+ <el-table-column label="搴忓彿" type="index" width="180" align="center">
+ <template slot-scope="scope">
+ <span>{{ (current - 1) * size + scope.$index + 1 }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="questionTitle" label="闂鍏抽敭瀛�" width="180" align="center">
+ </el-table-column>
+ <el-table-column prop="status" label="鐘舵��" width="180" header-align="center" align="center">
+ <template slot-scope="scope">
+ <span v-if="scope.row.status == 0">鏈彂甯�</span>
+ <span v-if="scope.row.status == 1">宸插彂甯�</span>
+ <span v-if="scope.row.status == 2">涓嬫灦</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="userName" label="鍒涘缓浜�" width="180" header-align="center" align="center">
+ </el-table-column>
+ <el-table-column prop="releaseTime" label="鍙戝竷鏃堕棿" width="180" header-align="center" align="center">
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="conter">
+ <template slot-scope="scope">
+ <el-button type="text" size="medium" @click="details(scope.row.id)">璇︽儏</el-button>
+ <el-button type="text" size="medium" @click="punlish(scope.row.id, scope.row.status)"
+ :disabled="scope.row.status == 2">
+ <span v-if="scope.row.status === 1" style="color:#ff0000">涓嬫灦</span>
+ <span v-else>鍙戝竷</span>
+ </el-button>
+ <el-button type="text" size="medium" @click="remove(scope.row.id)" style="color:#ff0000">鍒犻櫎
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </template>
+ <el-pagination @current-change="handleCurrentChange" :current-page="queryInfo.current" :page-size="queryInfo.size"
+ layout="prev, pager, next" :total="total"></el-pagination>
+ </el-card>
+
+ <!--娣诲姞甯歌闂寮圭獥-->
+ <el-dialog title="甯歌闂娣诲姞" :visible.sync="addPublicityVisibel" width="50%" :before-close="addPublicityClose"
+ :append-to-body="true">
+ <el-row :gutter="15">
+ <el-form ref="addPublicityForm" :model="addPublicityForm" :rules="rules" size="medium" label-width="100px">
+ <el-col :span="18">
+ <el-form-item label="鍏抽敭瀛�" prop="questionTitle">
+ <el-input v-model="addPublicityForm.questionTitle" type="textarea" clearable placeholder="璇疯緭鍏ュ叧閿瓧,骞剁敤','鍒嗛殧"
+ :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="18">
+ <el-form-item label="鍖归厤绫诲瀷" prop="matchQuestion">
+ <el-input v-model="addPublicityForm.matchQuestion" clearable placeholder="璇疯緭鍏ュ尮閰嶇被鍨�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="18">
+ <el-form-item label="闂瑙g瓟" prop="answer">
+ <el-input v-model="addPublicityForm.answer" type="textarea" clearable placeholder="璇疯緭鍏ラ棶棰樿В绛�"
+ :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-form>
+ </el-row>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="addPublicityVisibel = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="add">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+
+ <!--鍏叡瀹d紶璇︽儏寮圭獥-->
+ <el-dialog title="鍏叡瀹d紶璇︽儏" :visible.sync="detailsVisible" width="50%" :append-to-body="true"
+ :before-close="detailsVisibleclose">
+
+ <el-row :gutter="15">
+ <el-form ref="addGroupForm" :model="addGroupForm" size="medium" label-width="100px">
+ <el-col :span="24">
+ <el-form-item label="鍏抽敭瀛� " prop="text">
+ <el-input v-model="detailsRow.questionTitle" type="textarea" placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�" disabled
+ :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鍖归厤闂" prop="effectiveEtime">
+ <el-input v-model="detailsRow.matchQuestion" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="闂瑙g瓟 " prop="text">
+ <el-input v-model="detailsRow.answer" type="textarea" placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�" disabled
+ :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :span="12">
+ <el-form-item label="鍏憡鏈夋晥鏈�" prop="effectiveStime">
+ <el-date-picker v-model="detailsGroupAn.effectiveStime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled
+ :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鑷�" prop="effectiveEtime">
+ <el-date-picker v-model="detailsGroupAn.effectiveEtime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled
+ :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </el-form-item>
+ </el-col> -->
+ <el-col :span="12">
+ <el-form-item label="鍙戝竷鏃堕棿" prop="effectiveEtime">
+ <el-date-picker v-model="detailsRow.releaseTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled
+ :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :span="12">
+ <el-form-item label="鍒涘缓浜�" prop="effectiveEtime">
+ <el-input v-model="detailsGroupAn.createName" disabled></el-input>
+ </el-form-item>
+ </el-col> -->
+ <el-col :span="12">
+ <el-form-item label="鐘舵��" prop="status">
+ <span v-if="detailsRow.status === 1">宸插彂甯�</span>
+ <span v-else-if="detailsRow.status === 0">鏈彂甯�</span>
+ <span v-else="detailsRow.status === 2">宸蹭笅鏋�</span>
+ </el-form-item>
+ </el-col>
+ </el-form>
+ </el-row>
+<!--
+ <div style="display:flex; width:180;">
+ <div style="display:flex; width:180;">
+ <h4>鍏抽敭瀛�</h4>
+ <p>{{ detailsRow.questionTitle }}</p>
+ </div>
+ <div style="display:flex; width:180;">
+ <h4>鍖归厤闂</h4>
+ <p>{{ detailsRow.matchQuestion }}</p>
+ </div>
+ <div style="display:flex; width:180;">
+ <h4>闂瑙g瓟</h4>
+ <p>{{ detailsRow.answer }}</p>
+ </div>
+ <div style="display:flex; width:180;">
+ <h4>鍒涘缓鏃堕棿</h4>
+ <p>{{ detailsRow.ctime }}</p>
+ </div>
+ </div> -->
+
+ <!-- <el-table-column width="180" prop="effectiveStime" label="缇ょ粍鍏憡"></el-table-column>
+ <el-table-column width="120" prop="status" label="鐘舵��">
+ <template slot-scope="scope">
+ <span v-if="scope.row.status === 1">宸插彂甯�</span>
+ <span v-else-if="scope.row.status === 0">鏈彂甯�</span>
+ <span v-else="scope.row.status=== 2">宸蹭笅鏋�</span>
+ </template>
+ </el-table-column>
+ <el-table-column width="100" prop="createName" label="鍒涘缓浜�"></el-table-column>
+ <el-table-column width="180" prop="publishTime" label="鍙戝竷鏃堕棿">
+ </el-table-column> -->
+
+ </el-dialog>
+
</div>
</template>
<script>
+import {
+ getPublicityList,
+ addPublicityList
+} from '@/api/question'
+
+
export default {
- name: "Question"
+ name: "Question",
+ data() {
+ return {
+ rules: {
+ questionTitle: [{
+ required: true,
+ message: '璇疯緭鍏ュ叧閿瓧 ',
+ trigger: 'blur'
+ }],
+ matchQuestion: [{
+ required: true,
+ message: '璇疯緭鍏ュ尮閰嶉棶棰�',
+ trigger: 'blur'
+ }],
+ answer: [{
+ required: true,
+ message: '璇疯緭鍏ラ棶棰樿В绛� ',
+ trigger: 'blur'
+ }],
+ },
+
+ //璇︾粏鍐呭寮规
+ detailsVisible: false,
+ //璇︾粏鍐呭
+ detailsRow: [],
+ //琛ㄥ崟鎻愪氦鍐呭
+ addPublicityForm: {
+ publicityTitle: '',
+ text: ''
+ },
+ //娣诲姞寮规
+ addPublicityVisibel: false,
+ //搴忓彿褰撳墠椤�
+ current: 1,
+ //搴忓彿鏁扮洰
+ size: 10,
+ //椤甸潰鏌ヨ鎬绘暟
+ total: null,
+ //鏌ヨ鏉′欢
+ queryInfo: {
+ questionTitle: '',
+ status: null,
+ current: 1,
+ size: 10
+ },
+ options: [
+ {
+ value: null,
+ label: '鍏ㄩ儴'
+ },
+ {
+ value: '0',
+ label: '鏈彂甯�'
+ },
+ {
+ value: '1',
+ label: '宸插彂甯�'
+ }
+ , {
+ value: '2',
+ label: '涓嬫灦 '
+ }
+ ],
+ publicityList: []
+ ,
+ }
+ },
+ created() {
+ this.init();
+
+ },
+ methods:
+ {
+ //鍒犻櫎
+ remove(val) {
+ this.$http.delete('/api/commonQuestion',{params: {id:val}}).then(res => {
+ this.$message({
+ message: '鍒犻櫎鎴愬姛',
+ type: 'success'
+ })
+
+ this.search();
+ })
+ },
+ //鍙戝竷/涓嬫灦
+ punlish(val, val2) {
+ if (val2 == 0) {
+ this.$http.get('/api/commonQuestion/release/' + val).then(res => {
+ this.$message({
+ message: '鍙戝竷鎴愬姛',
+ type: 'success'
+ })
+
+ this.search();
+ }
+ )
+ }
+ if (val2 == 1) {
+ this.$http.get('/api/commonQuestion/offline/' + val).then(res => {
+ this.$message({
+ message: '涓嬫灦鎴愬姛',
+ type: 'success'
+ })
+ this.search();
+ }
+ );
+ }
+ },
+
+ //璇︽儏
+ details(val) {
+ this.detailsVisible = true;
+ this.$http.get('/api/commonQuestion/' + val).then(res => this.detailsRow = res.data.data);
+ },
+ //娣诲姞
+ add() {
+ this.$refs.addPublicityForm.validate(async (vaild) => {
+ if (!vaild) return this.$message.error('杈撳叆鏈夎')
+ let param = null;
+ param = this.addPublicityForm;
+ addPublicityList(param).then(res => {
+ this.$message({
+ message: '鎿嶄綔鎴愬姛',
+ type: 'success'
+ });
+ this.addPublicityForm={}
+ this.init();
+ }
+ )
+ this.addPublicityVisibel = false;
+ })
+ },
+ //鍏抽棴涔嬪墠
+ addPublicityClose() {
+ this.addPublicityVisibel = false;
+ },
+ detailsVisibleclose() {
+ this.detailsVisible = false;
+ },
+ //鍒嗛〉鏂规硶
+ handleCurrentChange(val) {
+ this.queryInfo.current = val;
+ this.search();
+ },
+
+ //鍏叡瀹d紶鍔犺浇
+ init() {
+ let param = {}
+ param.current = this.queryInfo.current
+ param.size = this.queryInfo.size
+ param.status = this.queryInfo.status !== null ? this.queryInfo.status : ''
+ getPublicityList(param).then(res => {
+ this.publicityList = res.records;
+ this.total = res.total
+ })
+ },
+ //鏌ヨ
+ search() {
+ let param = {}
+ param.questionTitle = this.queryInfo.questionTitle;
+ param.current = this.queryInfo.current
+ param.size = this.queryInfo.size
+ param.status = this.queryInfo.status !== null ? this.queryInfo.status : ''
+ getPublicityList(param).then(res => {
+ this.publicityList = res.records;
+ this.total = res.total
+ this.current = res.current
+ })
+ },
+
+ }
}
</script>
<style scoped>
-
+::v-deep(.el-table thead) {
+ color: #000000;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0