瀏覽代碼

科技人才

guhongwei 5 年之前
父節點
當前提交
16dcb0ae10

+ 117 - 0
src/layout/personnel/guidanceData.vue

@@ -0,0 +1,117 @@
+<template>
+  <div id="guidanceData">
+    <el-row>
+      <el-col :span="24" class="guidanceData">
+        <el-table :data="tableData" style="width: 100%" border>
+          <el-table-column prop="name" label="指导信息名称" width="" align="left"> </el-table-column>
+          <el-table-column prop="type" label="指导信息类型" width="" align="left"> </el-table-column>
+          <el-table-column prop="user" label="发布人" width="" align="left"> </el-table-column>
+          <el-table-column prop="date" label="申请日期" width="" align="left"> </el-table-column>
+          <el-table-column label="操作" width="" align="left">
+            <template slot-scope="scoped">
+              <el-button size="mini" type="primary" icon="el-icon-view" @click="openDialog(scoped.$index)"></el-button>
+              <el-button size="mini" type="primary" icon="el-icon-edit" @click="addData(scoped.$index)"></el-button>
+              <el-button size="mini" type="danger" icon="el-icon-delete" @click.native.prevent="deleteRow(scoped.$index, tableData)"></el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-col :span="24" class="page">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            layout="total, prev, pager, next, jumper"
+            :total="1"
+          >
+          </el-pagination>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="详细信息" :visible.sync="dialog">
+      <p class="text">就业指导名称:{{ info.name }}</p>
+      <p class="text">就业指导类型:{{ info.type }}</p>
+      <p class="text">就业指导发布人:{{ info.user }}</p>
+      <p class="text">申请日期:{{ info.date }}</p>
+      <p class="text">
+        内容:<span>{{ info.content }}</span>
+      </p>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'guidanceData',
+  props: {
+    tableData: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 1,
+    dialog: false,
+    info: {},
+    pic: require('@/assets/logo.png'),
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+    },
+    addData(index) {
+      if (index !== undefined) {
+        let data = this.tableData[index];
+      } else {
+        this.form = {};
+      }
+      this.$router.push({ path: './detail' });
+    },
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+    openDialog(index) {
+      if (index !== undefined) {
+        let data = JSON.parse(JSON.stringify(this.tableData[index]));
+        data[`index`] = index;
+        this.$set(this, `info`, data);
+      }
+      this.dialog = true;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+/deep/.el-table th {
+  padding: 5px 0;
+  background: #f2f2f2;
+}
+/deep/.el-table td {
+  padding: 5px 0;
+}
+/deep/.el-table tr {
+  background: #f9f9f9;
+}
+/deep/.el-table tr:nth-child(2n) {
+  background: #fff;
+}
+.page {
+  text-align: center;
+  padding: 30px 0;
+}
+.text {
+  font-size: 16px;
+  padding: 0 0 10px 0;
+}
+.text span {
+  display: inherit;
+  text-indent: 1rem;
+}
+</style>

+ 59 - 0
src/layout/personnel/guidanceForm.vue

@@ -0,0 +1,59 @@
+<template>
+  <div id="guidanceForm">
+    <el-row>
+      <el-col :span="24" class="guidanceForm">
+        <el-form ref="form" :model="form" label-width="100px">
+          <el-form-item label="就业指导名称">
+            <el-input v-model="form.title" placeholder="请输入就业指导名称"></el-input>
+          </el-form-item>
+          <el-form-item label="就业指导类型" prop="type">
+            <el-select v-model="form.type" placeholder="请选择就业指导类型">
+              <el-option label="就业指导" value="man"></el-option>
+              <el-option label="工作顾问" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="内容">
+            <wang-editor v-model="form.content" upload-img-server=""></wang-editor>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleCancel">返回</el-button>
+            <el-button type="primary" @click="handleEdit()">提交</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import WangEditor from '@/components/wang-editor.vue';
+export default {
+  name: 'guidanceForm',
+  props: {
+    form: null,
+  },
+  components: {
+    WangEditor,
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {
+    handleEdit() {
+      this.handleCancel();
+    },
+    handleCancel() {
+      this.$router.push({ path: './index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.el-form {
+  padding: 0 200px;
+}
+.guidanceForm {
+  padding: 20px 0;
+}
+</style>

+ 51 - 0
src/layout/personnel/guidanceSearch.vue

@@ -0,0 +1,51 @@
+<template>
+  <div id="guidanceSearch">
+    <el-row>
+      <el-col :span="24" class="guidanceSearch">
+        <el-col :span="8" class="left">
+          <span>查看指导信息名称:</span>
+          <el-input v-model="input" placeholder="请输入就业指导名称"></el-input>
+        </el-col>
+        <el-col :span="8" class="left">
+          <span>查看就业指导信息类型:</span>
+          <el-input v-model="input" placeholder="请输入就业指导类型"></el-input>
+        </el-col>
+        <el-col :span="8" class="right">
+          <el-button size="mini" type="primary" icon="el-icon-search">查询</el-button>
+          <el-button size="mini" type="success" icon="el-icon-check" @click="addData()">添加就业指导信息</el-button>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'guidanceSearch',
+  props: {},
+  components: {},
+  data: () => ({
+    input: '',
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    addData() {
+      this.$router.push({ path: './detail' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.guidanceSearch .left span {
+  font-size: 13px;
+  color: #393939;
+}
+.guidanceSearch .left .el-input {
+  width: 50%;
+}
+/deep/.guidanceSearch .left .el-input .el-input__inner {
+  height: 28px;
+}
+</style>

+ 4 - 0
src/router/index.js

@@ -252,5 +252,9 @@ export default new Router({
       path: '/personnel/guidance/index',
       component: () => import('../views/personnel/guidance/index.vue'),
     },
+    {
+      path: '/personnel/guidance/detail',
+      component: () => import('../views/personnel/guidance/detail.vue'),
+    },
   ],
 });

+ 45 - 0
src/views/personnel/guidance/detail.vue

@@ -0,0 +1,45 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle"></topInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <guidanceForm :form="form"></guidanceForm>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/public/top.vue';
+import guidanceForm from '@/layout/personnel/guidanceForm.vue';
+export default {
+  name: 'detail',
+  props: {},
+  components: {
+    topInfo, //头部标题
+    guidanceForm, //新闻信息form
+  },
+  data: () => ({
+    topTitle: '就业指导添加',
+    form: {},
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  height: 40px;
+  background-color: #f5f5f5;
+}
+.main {
+  width: 97%;
+  margin: 0 15px;
+}
+</style>

+ 54 - 4
src/views/personnel/guidance/index.vue

@@ -1,19 +1,69 @@
 <template>
   <div id="index">
-    <p>index</p>
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle"></topInfo>
+        </el-col>
+        <el-col :span="24" class="search">
+          <guidanceSearch></guidanceSearch>
+        </el-col>
+        <el-col :span="24" class="main">
+          <guidanceData :tableData="tableData"></guidanceData>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
+import topInfo from '@/layout/public/top.vue';
+import guidanceSearch from '@/layout/personnel/guidanceSearch.vue';
+import guidanceData from '@/layout/personnel/guidanceData.vue';
+
 export default {
   name: 'index',
   props: {},
-  components: {},
-  data: () => ({}),
+  components: {
+    topInfo, //头部标题
+    guidanceSearch, //头部搜索
+    guidanceData, //信息列表
+  },
+  data: () => ({
+    topTitle: '就业指导信息管理',
+    tableData: [
+      {
+        name: '测试',
+        type: '就业咨询',
+        user: 'admin',
+        date: '2019-01-14',
+      },
+      {
+        name: '十条数据',
+        type: '就业咨询',
+        user: 'admin',
+        date: '2019-01-14',
+      },
+    ],
+  }),
   created() {},
   computed: {},
   methods: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.top {
+  height: 40px;
+  background-color: #f5f5f5;
+}
+.search {
+  height: 40px;
+  line-height: 40px;
+  padding: 0 15px;
+}
+.main {
+  width: 97%;
+  margin: 0 15px;
+}
+</style>