Browse Source

auto commit

gcz 3 years ago
parent
commit
6faf229953
7 changed files with 362 additions and 55 deletions
  1. 59 21
      package-lock.json
  2. 1 1
      package.json
  3. 194 30
      src/components/applys.vue
  4. 2 2
      src/components/mainmenu.vue
  5. 5 0
      src/router/index.js
  6. 26 1
      src/utils/api.js
  7. 75 0
      src/views/policy.vue

+ 59 - 21
package-lock.json

@@ -3139,7 +3139,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz",
       "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=",
-      "dev": true,
       "requires": {
         "function-bind": "^1.1.1",
         "get-intrinsic": "^1.0.2"
@@ -4323,7 +4322,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606859714626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz",
       "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=",
-      "dev": true,
       "requires": {
         "is-arguments": "^1.0.4",
         "is-date-object": "^1.0.1",
@@ -4457,7 +4455,6 @@
       "version": "1.1.3",
       "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
       "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
-      "dev": true,
       "requires": {
         "object-keys": "^1.0.12"
       }
@@ -5338,8 +5335,7 @@
     "extend": {
       "version": "3.0.2",
       "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
-      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
-      "dev": true
+      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
     },
     "extend-shallow": {
       "version": "3.0.2",
@@ -5450,6 +5446,11 @@
       "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
       "dev": true
     },
+    "fast-diff": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz",
+      "integrity": "sha1-S2LEK44D3j+EhGC2OQeZIGldAVQ="
+    },
     "fast-glob": {
       "version": "2.2.7",
       "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz",
@@ -5787,8 +5788,7 @@
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
-      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
-      "dev": true
+      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
     },
     "functional-red-black-tree": {
       "version": "1.0.1",
@@ -5868,7 +5868,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz",
       "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=",
-      "dev": true,
       "requires": {
         "function-bind": "^1.1.1",
         "has": "^1.0.3",
@@ -6047,7 +6046,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
       "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
-      "dev": true,
       "requires": {
         "function-bind": "^1.1.1"
       }
@@ -6067,14 +6065,12 @@
     "has-symbols": {
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443557459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz",
-      "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=",
-      "dev": true
+      "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM="
     },
     "has-tostringtag": {
       "version": "1.0.0",
       "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628196402801&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz",
       "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=",
-      "dev": true,
       "requires": {
         "has-symbols": "^1.0.2"
       }
@@ -6759,7 +6755,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz?cache=0&sync_timestamp=1628201919104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.1.tgz",
       "integrity": "sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=",
-      "dev": true,
       "requires": {
         "call-bind": "^1.0.2",
         "has-tostringtag": "^1.0.0"
@@ -6867,7 +6862,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.5.tgz",
       "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=",
-      "dev": true,
       "requires": {
         "has-tostringtag": "^1.0.0"
       }
@@ -7020,7 +7014,6 @@
       "version": "1.1.4",
       "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628221853554&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz",
       "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=",
-      "dev": true,
       "requires": {
         "call-bind": "^1.0.2",
         "has-tostringtag": "^1.0.0"
@@ -8174,8 +8167,7 @@
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1571657171505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
     },
     "object-copy": {
       "version": "0.1.0",
@@ -8224,7 +8216,6 @@
       "version": "1.1.5",
       "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857698573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz",
       "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=",
-      "dev": true,
       "requires": {
         "call-bind": "^1.0.2",
         "define-properties": "^1.1.3"
@@ -8233,8 +8224,7 @@
     "object-keys": {
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
-      "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
-      "dev": true
+      "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
     },
     "object-visit": {
       "version": "1.0.1",
@@ -8538,6 +8528,11 @@
         "no-case": "^2.2.0"
       }
     },
+    "parchment": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npm.taobao.org/parchment/download/parchment-1.1.4.tgz",
+      "integrity": "sha1-rt7Xq5OP6SHUw0vDOc4RaLwv/eU="
+    },
     "parent-module": {
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz",
@@ -9515,6 +9510,41 @@
       "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
       "dev": true
     },
+    "quill": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npm.taobao.org/quill/download/quill-1.3.7.tgz",
+      "integrity": "sha1-2lsvOixHDpMjQM2/NmjJ8h+Shug=",
+      "requires": {
+        "clone": "^2.1.1",
+        "deep-equal": "^1.0.1",
+        "eventemitter3": "^2.0.3",
+        "extend": "^3.0.2",
+        "parchment": "^1.1.4",
+        "quill-delta": "^3.6.2"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "2.1.2",
+          "resolved": "https://registry.nlark.com/clone/download/clone-2.1.2.tgz",
+          "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+        },
+        "eventemitter3": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz?cache=0&sync_timestamp=1598517714257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-2.0.3.tgz",
+          "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
+        }
+      }
+    },
+    "quill-delta": {
+      "version": "3.6.3",
+      "resolved": "https://registry.npm.taobao.org/quill-delta/download/quill-delta-3.6.3.tgz",
+      "integrity": "sha1-sZ/SuJQSMBxg4f8hPY2GDqwPEDI=",
+      "requires": {
+        "deep-equal": "^1.0.1",
+        "extend": "^3.0.2",
+        "fast-diff": "1.1.2"
+      }
+    },
     "randombytes": {
       "version": "2.1.0",
       "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
@@ -9732,7 +9762,6 @@
       "version": "1.3.1",
       "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725785919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz",
       "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=",
-      "dev": true,
       "requires": {
         "call-bind": "^1.0.2",
         "define-properties": "^1.1.3"
@@ -11834,6 +11863,15 @@
         }
       }
     },
+    "vue-quill-editor": {
+      "version": "3.0.6",
+      "resolved": "https://registry.nlark.com/vue-quill-editor/download/vue-quill-editor-3.0.6.tgz",
+      "integrity": "sha1-H4VkYhHWijGoCnLLf0W7LxGbyPs=",
+      "requires": {
+        "object-assign": "^4.1.1",
+        "quill": "^1.3.4"
+      }
+    },
     "vue-router": {
       "version": "3.5.2",
       "resolved": "https://registry.npmmirror.com/vue-router/download/vue-router-3.5.2.tgz?cache=0&sync_timestamp=1634663514839&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.2.tgz",

+ 1 - 1
package.json

@@ -29,4 +29,4 @@
     "sass-loader": "^8.0.2",
     "vue-template-compiler": "^2.6.11"
   }
-}
+}

+ 194 - 30
src/components/applys.vue

@@ -6,56 +6,118 @@
     </section>
     <section class="job-type-til">
       <div class="left">已收到简历状态</div>
-      <div class="refresh"><i class="el-icon-refresh"></i>刷新</div>
+      <div class="refresh" @click="handlegetApplyList">
+        <i class="el-icon-refresh"></i>刷新
+      </div>
     </section>
     <dl class="job-type">
       <!-- <dt>职位:</dt> -->
       <dd>
-        <span class="active">全部</span>
-        <span>未查看</span>
-        <span>已查看</span>
-        <span>已邀请面试</span>
-        <span>已接受面试</span>
-        <span>面试通过</span>
-        <span>不合适</span>
-        <span>已拒绝面试</span>
-        <span>已入职</span>
-        <span>已拒绝入职</span>
-        <span>未参加面试</span>
+        <span
+          :class="{ active: filterIndex == '-1' }"
+          @click="filterData({ dictLabel: '', dictValue: '-1' })"
+          >全部</span
+        >
+        <span
+          :class="{ active: item.dictValue == filterIndex }"
+          @click="filterData(item)"
+          v-for="item in deliveryStatus"
+          :key="item.index"
+          >{{ item.dictLabel }}</span
+        >
       </dd>
     </dl>
     <section class="job-list applys-list">
-      <div class="job-item">
+      <div class="job-item" v-for="item in applyList" :key="item.id">
         <div class="left">
-          <div class="name">酒店服务员<span class="">2K-3K</span></div>
-          <div class="position">Travrl-X<span>(贵阳)</span></div>
+          <div class="name">
+            {{ item.postName
+            }}<span class=""
+              >{{ item.postLowestSalary }}K-{{ item.postHighestSalary }}K</span
+            >
+          </div>
+          <div class="position">
+            {{ item.memberName }}<span>{{ item.memberCityName }}</span>
+          </div>
           <div class="resume">使用简历:<span>在线简历</span></div>
         </div>
         <div class="right">
-          <div class="edit" @click="edit">修改</div>
+          <div class="edit">
+            <span v-if="item.interviewMethod == 0 && item.interviewTime"
+              >发起视频面试</span
+            >
+            <span v-if="item.status == 30" @click="edit(item)"
+              >更新面试结果</span
+            >
+          </div>
           <div class="bottom">
-            <span class="time">2020.10.02 14:08:21</span>
-            <span class="status">面试通过</span>
+            <span class="time"> {{ item.createTime }}</span>
+            <span class="status"> {{ item.status | verifyStatusFilter }}</span>
           </div>
         </div>
       </div>
+      <el-pagination
+        :hide-on-single-page="true"
+        @current-change="handleCurrentChange"
+        :current-page.sync="queryParams.pageNum"
+        :page-size="queryParams.pageSize"
+        layout="prev, pager, next, jumper"
+        :total="total"
+      >
+      </el-pagination>
     </section>
     <el-dialog title="更新面试结果" :visible.sync="dialogVisible" width="30%">
       <el-form :model="form">
         <el-form-item label="岗位" :label-width="formLabelWidth">
-          酒店服务员
+          {{ form.postName }}
           <!-- <el-input v-model="form.name" autocomplete="off"></el-input> -->
         </el-form-item>
         <el-form-item label="面试结果" :label-width="formLabelWidth">
-          <el-select v-model="form.region" placeholder="请选面试结果">
-            <el-option label="未参加面试" value="shanghai"></el-option>
-            <el-option label="未通过" value="beijing"></el-option>
-            <el-option label="通过" value="beijing"></el-option>
+          <el-select v-model="form.status" placeholder="请选面试结果">
+            <el-option
+              v-for="item in results"
+              :key="item.label"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="邀请入职时间" :label-width="formLabelWidth">
+        <!-- <el-form-item
+          v-if="form.status == 20"
+          label="邀请面试时间"
+          :label-width="formLabelWidth"
+        >
           <el-date-picker
-            v-model="form.time"
+            v-model="form.interviewTime"
+            type="datetime"
+            placeholder="选择日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item
+          v-if="form.status == 20"
+          label="邀请面试方式"
+          :label-width="formLabelWidth"
+        >
+          <el-select v-model="form.interviewMethod" placeholder="面试方式">
+            <el-option label="现场面试" value="1"></el-option>
+            <el-option label="视频面试" value="0"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          v-if="form.status == 20"
+          label="邀请面试地点"
+          :label-width="formLabelWidth"
+        >
+          <el-input v-model="form.interviewArea" autocomplete="off"></el-input>
+        </el-form-item> -->
+        <el-form-item
+          v-if="form.status == 50"
+          label="邀请入职时间"
+          :label-width="formLabelWidth"
+        >
+          <el-date-picker
+            v-model="form.hiredate"
             type="datetime"
             placeholder="选择日期"
           >
@@ -71,6 +133,7 @@
 </template>
 
 <script>
+import { getApplyList, getDicData } from "@/utils/api";
 export default {
   name: "",
   components: {},
@@ -79,16 +142,107 @@ export default {
       dialogVisible: false,
       queryParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 3,
+        postName: "",
       },
-      jobList: [{}],
+      total: 10,
+      applyList: [],
       form: {},
       formLabelWidth: "120px",
+      results: [
+        // { label: "未查看", value: 0 },
+        // { label: "已查看", value: 10 },
+        // { label: "邀请面试", value: 20 },
+        // { label: "已接受面试", value: 30 },
+        { label: "已拒绝面试", value: 40 },
+        { label: "面试通过", value: 50 },
+        { label: "不合适", value: 60 },
+        { label: "未参加面试", value: 70 },
+        { label: "已拒绝入职", value: 80 },
+        // { label: "已入职", value: 90 },
+      ],
+      deliveryStatus: [],
+      filterIndex: "-1",
     };
   },
-  created() {},
+  filters: {
+    verifyStatusFilter(value) {
+      if (value == 0) {
+        return "未查看";
+      } else if (value == 10) {
+        return "已查看";
+      } else if (value == 20) {
+        return "已邀请面试";
+      } else if (value == 30) {
+        return "已接受面试";
+      } else if (value == 40) {
+        return "已拒绝面试";
+      } else if (value == 50) {
+        return "面试通过";
+      } else if (value == 60) {
+        return "不合适";
+      } else if (value == 70) {
+        return "未参加面试";
+      } else if (value == 80) {
+        return "已拒绝入职";
+      } else if (value == 90) {
+        return "已入职";
+      } else {
+        return "未知";
+      }
+    },
+  },
+  watch: {
+    form: {
+      handler(val) {
+        console.log("form.status: " + val.status);
+      },
+      deep: true, //true 深度监听
+    },
+  },
+  created() {
+    this.handlegetApplyList();
+    this.getInterviewMethod();
+    this.getDeliveryStatus();
+  },
   methods: {
-    edit() {
+    getInterviewMethod() {
+      getDicData("interview_method").then((res) => {
+        console.log("interview_method", res.data);
+        // this.jobForm.educations = res.data;
+      });
+    },
+    getDeliveryStatus() {
+      getDicData("delivery_status").then((res) => {
+        this.deliveryStatus = res.data;
+        console.log("delivery_status", res.data);
+        // this.jobForm.educations = res.data;
+      });
+    },
+    handlegetApplyList() {
+      getApplyList({
+        pageNum: this.queryParams.pageNum,
+        pageSize: this.queryParams.pageSize,
+        postName: this.queryParams.postName,
+      })
+        .then((res) => {
+          console.log("getComPostList", res);
+          this.applyList = res.data.rows;
+          this.total = res.total;
+        })
+        .catch((err) => {
+          this.$message.error(err.msg);
+          // console.log("register err", err);
+        });
+    },
+    filterData(item) {
+      this.filterIndex = item.dictValue;
+      this.queryParams.postName = item.dictLabel;
+      this.handlegetApplyList();
+    },
+    edit(item) {
+      this.form = item;
+      console.log("this.form", this.form);
       this.dialogVisible = true;
     },
     submit() {
@@ -101,6 +255,10 @@ export default {
           console.log("err", err);
         });
     },
+    handleCurrentChange(val) {
+      this.handlegetApplyList();
+      console.log(`当前页: ${val}`);
+    },
   },
 };
 </script>
@@ -164,12 +322,18 @@ export default {
     }
     .right {
       .edit {
+        min-height: 12px;
         font-size: 12px;
         font-weight: 400;
         color: #4aad78;
         line-height: 17px;
         margin-bottom: 27px;
-        cursor: pointer;
+        span {
+          cursor: pointer;
+          & + span {
+            margin-left: 10px;
+          }
+        }
       }
       .bottom {
         font-size: 12px;

+ 2 - 2
src/components/mainmenu.vue

@@ -7,8 +7,8 @@
       @select="handleSelect"
     >
       <el-menu-item index="1">招聘</el-menu-item>
-      <el-menu-item index="2"
-        ><a href="http://www.gzui.net" target="_blank">政策</a></el-menu-item
+      <el-menu-item index="2">
+        <router-link to="/Policy">政策</router-link></el-menu-item
       >
     </el-menu>
   </div>

+ 5 - 0
src/router/index.js

@@ -11,6 +11,11 @@ const routes = [
     name: 'Home',
     component: Home
   },
+  {
+    path: '/Policy',
+    name: 'Policy',
+    component: () => import('../views/policy.vue')
+  },
   {
     path: '/jobdetails',
     name: 'Jobdetails',

+ 26 - 1
src/utils/api.js

@@ -17,7 +17,7 @@ export function getCompanyTotalInfo() {
 // 获取字典数据 data字典类型
 export function getDicData(data) {
   return request({
-    url: '/dict/data/type/'+data,
+    url: '/dict/data/type/' + data,
     method: 'get',
   })
 }
@@ -134,6 +134,31 @@ export function dlComPost(id) {
   })
 }
 
+// 应聘-获取应聘列表详情
+export function getApplyList(data) {
+  return request({
+    url: '/memberDel/search',
+    method: 'post',
+    data: data
+  })
+}
+
+// 政策法规
+export function getPolicyList() {
+  return request({
+    url: '/policy/article/list',
+    method: 'get'
+  })
+}
+
+// 查看政策法规详情
+export function getPolicyInfo() {
+  return request({
+    url: '/policy/article/info',
+    method: 'get'
+  })
+}
+
 
 
 

+ 75 - 0
src/views/policy.vue

@@ -0,0 +1,75 @@
+<template>
+  <div class="">
+    <Header />
+    <Mainmenu />
+    <div class="wrap">
+      <div class="title">政策解读</div>
+      <div class="policy-list">
+        <div class="policy-item" v-for="item in policyList" :key="item.id">
+          <div class="left">{{ item.artTitle }}</div>
+          <div class="right">{{ item.artPostTime }}</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import Header from "@/components/header.vue";
+import Mainmenu from "@/components/mainmenu.vue";
+import { parseTime } from "@/utils/index";
+import { getPolicyList } from "@/utils/api";
+export default {
+  name: "",
+  components: {
+    Header,
+    Mainmenu,
+  },
+  data() {
+    return {
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      policyList: [],
+    };
+  },
+  created() {
+    this.handelGetPolicyList();
+  },
+  methods: {
+    handelGetPolicyList() {
+      getPolicyList()
+        .then((res) => {
+          console.log("getPolicyList", res);
+          this.policyList = res.rows;
+        })
+        .catch((err) => {
+          console.log("getPolicyList err", err);
+        });
+    },
+  },
+};
+</script>
+
+<style lang='scss' scoped>
+.wrap {
+  margin-top: 40px;
+}
+.title {
+  margin-bottom: 24px;
+  font-size: 24px;
+}
+.policy-list {
+  .policy-item {
+    overflow: hidden;
+    margin-bottom: 20px;
+    .left {
+      float: left;
+    }
+    .right {
+      float: right;
+    }
+  }
+}
+</style>