群众留言完成
This commit is contained in:
		| @@ -24,7 +24,7 @@ export default { | |||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   created() { |   created() { | ||||||
|     this.dict.load("leaveMessageType","yesOrNo") |     this.dict.load("leaveMessageType", "yesOrNo", "msgStatus") | ||||||
|   } |   } | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| <template> | <template> | ||||||
|   <section class="mmDetail"> |   <section class="mmDetail"> | ||||||
|     <ai-detail> |     <ai-detail> | ||||||
|       <ai-title slot="title" title="留言详情" isShowBottomBorder isShowBack @onBackClick="$router.push({query:{}})"> |       <ai-title slot="title" title="留言详情" isShowBottomBorder isShowBack @onBackClick="back"> | ||||||
|         <template #rightBtn> |         <template #rightBtn v-if="!isClosed"> | ||||||
|           <el-button type="primary">回复留言</el-button> |           <el-button type="primary" @click="dialog=true">回复留言</el-button> | ||||||
|           <el-button>关闭留言</el-button> |           <el-button @click="handleCloseMass(detail.id)">关闭留言</el-button> | ||||||
|         </template> |         </template> | ||||||
|       </ai-title> |       </ai-title> | ||||||
|       <template #content> |       <template #content> | ||||||
| @@ -38,6 +38,13 @@ | |||||||
|         </el-form> |         </el-form> | ||||||
|       </template> |       </template> | ||||||
|     </ai-detail> |     </ai-detail> | ||||||
|  |     <ai-dialog :visible.sync="dialog" title="回复留言" width="500px" @onConfirm="submit"> | ||||||
|  |       <el-form size="small" :model="form" :rules="rules" label-width="80px" ref="ReplyForm"> | ||||||
|  |         <el-form-item label="回复内容" prop="content"> | ||||||
|  |           <el-input type="textarea" v-model="form.content" rows="4" clearable placeholder="请输入回复内容"/> | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |     </ai-dialog> | ||||||
|   </section> |   </section> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| @@ -62,11 +69,19 @@ export default { | |||||||
|         0: "留言", |         0: "留言", | ||||||
|         1: "回复" |         1: "回复" | ||||||
|       } |       } | ||||||
|  |     }, | ||||||
|  |     isClosed() { | ||||||
|  |       return this.detail.status == 2 | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|       detail: {}, |       detail: {}, | ||||||
|  |       dialog: false, | ||||||
|  |       form: {}, | ||||||
|  |       rules: { | ||||||
|  |         content: [{required: true, message: "请输入回复内容"}] | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
| @@ -80,6 +95,34 @@ export default { | |||||||
|         } |         } | ||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|  |     back() { | ||||||
|  |       this.$router.push({}) | ||||||
|  |     }, | ||||||
|  |     handleCloseMass(id) { | ||||||
|  |       this.$confirm("是否要关闭留言?").then(() => { | ||||||
|  |         this.instance.post("/appleavemessage/close", null, { | ||||||
|  |           params: {id} | ||||||
|  |         }).then(res => { | ||||||
|  |           if (res?.code == 0) { | ||||||
|  |             this.$message.success("关闭成功") | ||||||
|  |             this.back() | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       }).catch(() => 0) | ||||||
|  |     }, | ||||||
|  |     submit() { | ||||||
|  |       this.$refs.ReplyForm.validate(v => { | ||||||
|  |         if (v) { | ||||||
|  |           let {id: messageId} = this.detail | ||||||
|  |           this.instance.post("/appleavemessagereply/addOrUpdate", {...this.form, messageId, userType: 1}).then(res => { | ||||||
|  |             if (res?.code == 0) { | ||||||
|  |               this.$message.success("提交成功!") | ||||||
|  |               this.back() | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     } | ||||||
|   }, |   }, | ||||||
|   created() { |   created() { | ||||||
|     this.getDetail() |     this.getDetail() | ||||||
|   | |||||||
| @@ -5,8 +5,10 @@ | |||||||
|       <template #content> |       <template #content> | ||||||
|         <ai-search-bar> |         <ai-search-bar> | ||||||
|           <template #left> |           <template #left> | ||||||
|             <ai-select v-model="search.type" placeholder="留言状态"/> |             <ai-select v-model="search.status" placeholder="留言状态" :selectList="dict.getDict('msgStatus')" | ||||||
|             <ai-select v-model="search.type" placeholder="留言类型"/> |                        @change="page.current=1,getTableData()"/> | ||||||
|  |             <ai-select v-model="search.type" placeholder="留言类型" :selectList="dict.getDict('leaveMessageType')" | ||||||
|  |                        @change="page.current=1,getTableData()"/> | ||||||
|           </template> |           </template> | ||||||
|           <template #right> |           <template #right> | ||||||
|             <el-input size="small" placeholder="搜索企业名称、法人姓名、登录账号" v-model="search.enterpriseName" clearable |             <el-input size="small" placeholder="搜索企业名称、法人姓名、登录账号" v-model="search.enterpriseName" clearable | ||||||
| @@ -17,8 +19,8 @@ | |||||||
|                   @getList="getTableData" :col-configs="colConfigs" :dict="dict"> |                   @getList="getTableData" :col-configs="colConfigs" :dict="dict"> | ||||||
|           <el-table-column slot="options" label="操作" fixed="right" align="center"> |           <el-table-column slot="options" label="操作" fixed="right" align="center"> | ||||||
|             <template slot-scope="{row}"> |             <template slot-scope="{row}"> | ||||||
|               <el-button v-if="row.isPublic==0" type="text" @click="handleEnable(row)">公示</el-button> |               <el-button v-if="row.isOpen==0" type="text" @click="handleEnable(row)">公示</el-button> | ||||||
|               <el-button v-else-if="row.isPublic==1" type="text" @click="handleEnable(row)">取消公示</el-button> |               <el-button v-else-if="row.isOpen==1" type="text" @click="handleEnable(row)">取消公示</el-button> | ||||||
|               <el-button type="text" @click="showDetail(row.id)">详情</el-button> |               <el-button type="text" @click="showDetail(row.id)">详情</el-button> | ||||||
|             </template> |             </template> | ||||||
|           </el-table-column> |           </el-table-column> | ||||||
| @@ -53,7 +55,7 @@ export default { | |||||||
|         {label: "留言人", prop: "leaveName"}, |         {label: "留言人", prop: "leaveName"}, | ||||||
|         {label: "留言提交时间", prop: "createTime"}, |         {label: "留言提交时间", prop: "createTime"}, | ||||||
|         {label: "最后回复时间", prop: "lastReplyTime"}, |         {label: "最后回复时间", prop: "lastReplyTime"}, | ||||||
|         {label: "是否公示", prop: "isPublic",dict:"yesOrNo"}, |         {label: "是否公示", prop: "isOpen", dict: "yesOrNo", align: 'center'}, | ||||||
|         {slot: "options"} |         {slot: "options"} | ||||||
|       ] |       ] | ||||||
|     } |     } | ||||||
| @@ -73,11 +75,13 @@ export default { | |||||||
|       this.$router.push({query: {id}}) |       this.$router.push({query: {id}}) | ||||||
|     }, |     }, | ||||||
|     handleEnable(row) { |     handleEnable(row) { | ||||||
|       let status = (Number(row.status) + 1) % 2 |       let openLabel = row.isOpen == 1 ? "取消公示" : "公示", isOpen = (Number(row.isOpen) + 1) % 2 | ||||||
|       this.$confirm(`是否要${this.dict.getLabel('portalUserStatus', status)}留言?`).then(() => { |       this.$confirm(`是否要${openLabel}留言?`).then(() => { | ||||||
|         this.instance.post("/appportaluser/addOrUpdate", {...row, status}).then(res => { |         this.instance.post("/appleavemessage/setIsOpen", null, { | ||||||
|  |           params: {id: row.id, isOpen} | ||||||
|  |         }).then(res => { | ||||||
|           if (res?.code == 0) { |           if (res?.code == 0) { | ||||||
|             this.$message.success(this.dict.getLabel('portalUserStatus', status) + "成功!") |             this.$message.success(openLabel + "成功!") | ||||||
|             this.getTableData() |             this.getTableData() | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user