diff --git a/frontend/src/api/article.js b/frontend/src/api/article.js
index 6b3d41a..8ccf51f 100644
--- a/frontend/src/api/article.js
+++ b/frontend/src/api/article.js
@@ -50,6 +50,13 @@
   })
 }
 
+export function withdrawArticle(articleno) {
+  return request({
+    url: '/article/withdraw/' + articleno,
+    method: 'post'
+  })
+}
+
 export function deleteArticle(articleno) {
   return request({
     url: '/article/delete/' + articleno,
diff --git a/frontend/src/views/article/list.vue b/frontend/src/views/article/list.vue
index 7e481f7..21491c5 100644
--- a/frontend/src/views/article/list.vue
+++ b/frontend/src/views/article/list.vue
@@ -123,11 +123,11 @@
           <el-tooltip class="item" effect="dark" content="删除" placement="bottom">
             <el-button type="danger" icon="el-icon-delete" circle size="mini" @click="deleteArticle(row)" />
           </el-tooltip>
-          <!-- <el-tooltip v-if="row.status!=='save' && row.status!=='released'" class="item" effect="dark" content="撤回" placement="bottom">
-            <el-button type="primary" size="mini" circle>
+          <el-tooltip v-if="row.status!=='save'" class="item" effect="dark" content="撤回" placement="bottom">
+            <el-button type="primary" size="mini" circle @click="withdrawArticle(row)">
               <i class="iconfont iconchehui_huaban1" style="font-size:12px" />
             </el-button>
-          </el-tooltip> -->
+          </el-tooltip>
         </template>
       </el-table-column>
     </el-table>
@@ -147,7 +147,8 @@
 import {
   getArticleList,
   deleteArticle,
-  switchDisplay } from '@/api/article'
+  switchDisplay,
+  withdrawArticle } from '@/api/article'
 import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 
 export default {
@@ -298,6 +299,28 @@
         this.listLoading = false
       })
     },
+    withdrawArticle(row) {
+      this.$confirm('是否确认撤回该文章?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        withdrawArticle(row.articleno).then(response => {
+          this.$message({
+            type: 'success',
+            message: '撤回成功!'
+          })
+          this.handleFilter()
+        }).catch(error => {
+          this.$message({
+            message: error.msg || '请求异常',
+            type: 'error'
+          })
+          this.listLoading = false
+        })
+      }).catch(() => {
+      })
+    },
     deleteArticle(row) {
       this.$confirm('是否确认删除该文章?', '提示', {
         confirmButtonText: '确定',
diff --git a/frontend/src/views/outlets/index.vue b/frontend/src/views/outlets/index.vue
new file mode 100644
index 0000000..60f3401
--- /dev/null
+++ b/frontend/src/views/outlets/index.vue
@@ -0,0 +1,129 @@
+<template>
+  <div class="app-container">
+    <div class="filter-container">
+      <div class="filter-item" style="margin-right:15px">网点名称</div>
+      <el-input
+        v-model="formData.name"
+        placeholder="网点名称"
+        style="width: 350px;margin-right:50px"
+        class="filter-item"
+      />
+      <div class="filter-item" style="margin-right:15px">网点地址</div>
+      <el-input
+        v-model="formData.address"
+        placeholder="网点详细地址"
+        style="width: 350px;margin-right:50px"
+        class="filter-item"
+      />
+      <el-button
+        class="filter-item"
+        type="primary"
+        icon="el-icon-search"
+        @click="handleFilter()"
+      >
+        搜索
+      </el-button>
+    </div>
+    <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addOutlets()">
+      录入网点
+    </el-button>
+    <el-dialog
+      :title="title"
+      :visible.sync="outletsDialogVisible"
+      width="45%"
+    >
+      <div>
+        <el-form ref="outletsForm" :model="outletsForm" :rules="rules" label-width="100px">
+          <el-form-item label="网点名称" prop="title" class="form-input-item">
+            <el-input
+              v-model="outletsForm.name"
+              maxlength="30"
+              show-word-limit
+              style="width:80%"
+            />
+          </el-form-item>
+          <el-form-item label="网点地址" prop="address" class="form-input-item">
+            <el-input
+              v-model="outletsForm.address"
+              maxlength="50"
+              show-word-limit
+              style="width:80%"
+            />
+          </el-form-item>
+          <el-form-item label="问答内容" prop="content">
+            <el-input
+              v-model="outletsForm.content"
+              type="textarea"
+              maxlength="230"
+              :rows="8"
+              placeholder=""
+              show-word-limit
+              style="width:80%"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+      <div style="text-align:center">
+        <el-button
+          type="primary"
+          @click="saveOutlets('outletsForm')"
+        >保存
+        </el-button>
+        <el-button @click="outletsDialogVisible = false">取消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+export default {
+  name: 'Outlets',
+  data() {
+    return {
+      outletsDialogVisible: false,
+      formData: {
+        name: '',
+        address: '',
+        pageno: 1,
+        pagesize: 10
+      },
+      listLoading: false,
+      tableKey: 0,
+      list: null,
+      total: 0,
+      title: '',
+      outletsForm: {
+        advisoryid: '',
+        title: '',
+        content: '',
+        ordernum: 1
+      },
+      rules: {
+        title: [
+          { required: true, message: '请输入问答标题', trigger: 'blur' }
+        ],
+        content: [
+          { required: true, message: '请输入问答内容', trigger: 'blur' }
+        ]
+      }
+    }
+  },
+  methods: {
+    addOutlets() {
+      this.title = '录入网点'
+      this.resetForm('outletsForm')
+      this.outletsDialogVisible = true
+    },
+    resetForm(formName) {
+      this.outletsForm = {
+        advisoryid: '',
+        title: '',
+        content: '',
+        ordernum: null
+      }
+      this.$nextTick(() => {
+        this.$refs[formName].clearValidate()
+      })
+    }
+  }
+}
+</script>
