wuhongyu 5 lat temu
rodzic
commit
a1617a7bca

BIN
src/assets/bg.jpg


BIN
src/assets/cha.png


BIN
src/assets/diaocha.gif


BIN
src/assets/swfl.png


+ 116 - 0
src/components/enterprise/enterprisefabu.vue

@@ -0,0 +1,116 @@
+<template>
+  <div id="adviserList">
+    <el-row>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="5" class="left">
+            <el-col :span="24" class="leftTop">
+              <mainMenu :liebiaoList="liebiaoList" v-on="$listeners"></mainMenu>
+            </el-col>
+            <el-col :span="24" class="leftDiao">
+              <examine></examine>
+            </el-col>
+          </el-col>
+
+          <el-col :span="19" class="right">
+            <contextfabuxx
+              v-on="$listeners"
+              :recruitData="recruitData"
+              :successlist="successlist"
+              :shenheList="shenheList"
+              :total="total"
+              :tatalstatus2="tatalstatus2"
+              :tatalstatus1="tatalstatus1"
+              :Transactionlist="Transactionlist"
+              :jiaoyilist="jiaoyilist"
+              :jiaoyilist1="jiaoyilist1"
+              :total4="total4"
+              :total5="total5"
+              :total6="total6"
+              :faqilist="faqilist"
+              :totalfaqi="totalfaqi"
+            ></contextfabuxx>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import examine from '@/layout/personCenter/question.vue';
+import mainMenu from '@/layout/enterprise/mainMenu.vue';
+import contextfabuxx from '@/layout/enterprise/contextfabuxx.vue';
+export default {
+  name: 'adviserList',
+  props: {
+    liebiaoList: null, //分类导航
+    recruitData: null, //审核中
+    total: null, //分页
+    total4: null, //分页
+    total5: null, //分页
+    total6: null, //分页
+    shenheList: null, //审核成功
+    successlist: null, //交易失败
+    tatalstatus2: null, //分页
+    tatalstatus1: null, //分页
+    Transactionlist: null, //交易中
+    jiaoyilist: null,
+    jiaoyilist1: null,
+    faqilist: null,
+    totalfaqi: null,
+  },
+  components: {
+    examine, //网上调查
+    mainMenu, //分类导航
+    contextfabuxx, //列表
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+
+.menu {
+  height: 70px;
+  overflow: hidden;
+}
+.main {
+  height: 900px;
+  overflow: hidden;
+  padding: 10px 0;
+  background: #e9edf6;
+  background-attachment: fixed;
+  background-size: cover;
+  background-position: center center;
+}
+.left {
+  height: 900px;
+  margin: 0 10px 0 0;
+  width: 20%;
+}
+.leftDiao {
+  background: #fff;
+  height: 510px;
+  overflow: hidden;
+}
+.leftTop {
+  background: #fff;
+  height: 360px;
+  overflow: hidden;
+  margin: 0 0 10px 0;
+}
+.right {
+  width: 79%;
+  height: 880px;
+  overflow: hidden;
+  background-color: #fff;
+}
+</style>

+ 275 - 0
src/layout/enterprise/context.vue

@@ -0,0 +1,275 @@
+<template>
+  <div id="recruitLists">
+    <el-row>
+      <el-col :span="24">
+        <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+          <el-tab-pane label="我的订购" name="first">
+            <el-row style="padding: 0 20px;">
+              <el-tabs v-model="activeNameFirst" @tab-click="handleClickFirst">
+                <el-tab-pane label="交易中" name="fgrrsss">
+                  <el-col :span="24" v-for="(item, index) in dinggou1" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total1"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="交易完成" name="fgrraaa">
+                  <el-col :span="24" v-for="(item, index) in dinggou2" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange2"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total2"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="交易取消" name="fgrr">
+                  <el-col :span="24" v-for="(item, index) in dinggou3" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange3"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total3"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+              </el-tabs>
+            </el-row>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'recruitLists',
+  props: {
+    recruitData: null,
+    columnName: null,
+    total: null,
+    successlist: null,
+    shenheList: null,
+    tatalstatus2: null,
+    tatalstatus1: null,
+    dinggou2: null,
+    dinggou1: null,
+    dinggou3: null,
+    total1: null,
+    total2: null,
+    total3: null,
+
+    // gonggeiData: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 0,
+    activeName: 'first',
+    activeNameFirst: 'fgrrsss',
+    pageSize: 3,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    deteles(item) {
+      this.$emit('deletes', { item });
+    },
+    messFabu() {
+      this.$router.push({ path: '/enterprise/enterprisexuqiu' });
+    },
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    handleClickFirst(tab, event) {
+      console.log(tab, event);
+    },
+    handleSizeChange() {},
+    handleCurrentChange(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange2(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange1', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange3(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange2', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.xqborder {
+  width: 889px;
+  height: 183px;
+  border: 1px solid #ccc;
+  margin-top: 20px;
+}
+.fbListTop {
+  width: 885px;
+  height: 43px;
+  margin-left: 1px;
+  background: #fafafa;
+  line-height: 43px;
+  text-indent: 10px;
+  font-size: 13px;
+  color: #888888;
+}
+.fbListCenter {
+  width: 870px;
+  height: 119px;
+  margin: 20px 0 0 12px;
+}
+.fimage {
+  width: 110px;
+  height: 119px;
+  float: left;
+}
+.fbListCenterC {
+  width: 196px;
+  border-right: 1px solid #ccc;
+  height: 100px;
+}
+.fbListCenterC p {
+  padding: 5px 0;
+}
+.fbListCenterR {
+  border-left: 1px solid #ccc;
+  width: 125px;
+  height: 100px;
+  float: left;
+}
+.listName {
+  width: 196px;
+  height: 30px;
+  font-size: 16px;
+  color: #555555;
+}
+.listMoney {
+  height: 30px;
+  font-size: 16px;
+  color: #fe0000;
+  width: 196px;
+}
+.fbListCenterTwo {
+  width: 385px;
+  float: left;
+  margin-left: 10px;
+  margin-right: 10px;
+  background: #fafafa;
+  height: 100px;
+}
+.bainji {
+  padding: 0 0 0 20px;
+}
+.page {
+  padding: 11px 0 0 0;
+  text-align: center;
+}
+.fabuBtn {
+  position: absolute;
+  top: 65px;
+  right: 30px;
+}
+</style>

+ 263 - 0
src/layout/enterprise/contextfabu.vue

@@ -0,0 +1,263 @@
+<template>
+  <div id="contextfabu">
+    <el-row>
+      <el-col :span="24" class="contextfabu">
+        <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+          <el-tab-pane label="需求发布" name="first">
+            <el-row class="demandForm">
+              <el-form ref="form" :model="demandForm" label-width="80px">
+                <el-form-item label="产品类型">
+                  <el-select v-model="demandForm.totaltype" placeholder="请选择产品类型" @change="selectType">
+                    <el-option v-for="(item, index) in totaltype_list" :key="index" :value="item.value" :label="item.name"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="产品名称">
+                  <el-input v-model="demandForm.name" placeholder="请输入产品名称"></el-input>
+                </el-form-item>
+                <el-form-item label="类型">
+                  <el-select v-model="demandForm.product_type_id" filterable @change="selectChild">
+                    <el-option v-for="(item, index) in columnList" :key="index" :value="item.id" :label="item.name"></el-option>
+                  </el-select>
+                </el-form-item>
+                <span v-if="totaltype == 0">
+                  <el-form-item label="研发阶段">
+                    <el-select v-model="demandForm.phase" placeholder="请选择研发阶段">
+                      <el-option label="阶段成果" value="1"></el-option>
+                      <el-option label="最终成果" value="2"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </span>
+                <el-form-item label="产品简介">
+                  <el-input v-model="demandForm.introduction" placeholder="请输入产品简介"></el-input>
+                </el-form-item>
+                <el-row>
+                  <el-col :span="12">
+                    <el-form-item label="产品单价">
+                      <el-input v-model="demandForm.price" placeholder="请输入产品单价"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12">
+                    <el-form-item label="产品单位">
+                      <el-select v-model="demandForm.priceunit" placeholder="请选择产品单位">
+                        <el-option v-for="(item, index) in priceunit_list" :key="index" :label="item.name" :value="item.name"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-form-item label="产品图片">
+                  <!-- <upload :limit="1" :data="acc.url" type="url" :url="'/files/image/upload'" @upload="uploadSuccess"></upload> -->
+                  <upload
+                    :limit="6"
+                    :data="demandForm.image"
+                    :uploadBtn="true"
+                    type="image"
+                    :url="`/files/image/upload`"
+                    @upload="uploadSuccess"
+                    @delete="uploadDelete"
+                  ></upload>
+                </el-form-item>
+                <span v-if="totaltype == 0 || totaltype == 1">
+                  <el-form-item label="产品参数">
+                    <template>
+                      <el-col :span="12">
+                        <el-table :data="product_args" ref="table" tooltip-effect="dark" border stripe @selection-change="selectRow">
+                          <el-table-column label="参数名称">
+                            <template slot-scope="scope">
+                              <el-input v-model="scope.row.arg_name"></el-input>
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="参数内容">
+                            <template slot-scope="scope">
+                              <el-input v-model="scope.row.memo"></el-input>
+                            </template>
+                          </el-table-column>
+                        </el-table>
+                      </el-col>
+                      <el-col :span="12">
+                        <el-button type="primary" @click.prevent="addRow()">添加参数</el-button>
+                      </el-col>
+                    </template>
+                  </el-form-item>
+                </span>
+                <span v-if="totaltype == 0 || totaltype == 2">
+                  <el-form-item label="应用领域">
+                    <el-input v-model="demandForm.field" placeholder="请输入应用领域"></el-input>
+                  </el-form-item>
+                </span>
+                <span v-if="totaltype == 0">
+                  <el-form-item label="市场前景">
+                    <el-input type="textarea" v-model="demandForm.prospect" placeholder="请输入市场前景"></el-input>
+                  </el-form-item>
+                </span>
+                <el-form-item label="电子合同">
+                  <el-input v-model="demandForm.contract" placeholder="请输入电子合同"></el-input>
+                </el-form-item>
+                <el-form-item label="供给类型">
+                  <el-select v-model="demandForm.gxtype" placeholder="请选择供给类型">
+                    <el-option label="需" value="0"></el-option>
+                    <el-option label="供" value="1"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="服务范围">
+                  <el-input type="textarea" v-model="demandForm.scope" placeholder="请输入产品名称"></el-input>
+                </el-form-item>
+                <el-form-item label="知识产权">
+                  <el-input v-model="demandForm.property" placeholder="请输入知识产权"></el-input>
+                </el-form-item>
+                <el-form-item label="交易方式">
+                  <el-select v-model="demandForm.business" placeholder="请选择交易方式">
+                    <el-option label="公用" value="0"></el-option>
+                    <el-option label="竞价" value="1"></el-option>
+                    <el-option label="转让" value="2"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="联系人">
+                  <el-input v-model="demandForm.contact_user" placeholder="请输入联系人"></el-input>
+                </el-form-item>
+                <el-form-item label="联系电话">
+                  <el-input v-model="demandForm.contact_tel" placeholder="请输入联系电话"></el-input>
+                </el-form-item>
+                <el-form-item label="产品描述">
+                  <el-input type="textarea" v-model="demandForm.description" placeholder="请输入产品描述"></el-input>
+                </el-form-item>
+                <el-form-item label="状态">
+                  <el-select v-model="demandForm.status" placeholder="请选择产品状态">
+                    <el-option label="草稿" value="0"></el-option>
+                    <el-option label="发布" value="1" :disabled="true"></el-option>
+                    <el-option label="删除" value="2" :disabled="true"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-row class="demandBtn">
+                  <el-button type="primary" @click="demandBtn()">产品发布</el-button>
+                </el-row>
+              </el-form>
+            </el-row>
+          </el-tab-pane>
+          <!-- <el-tab-pane label="供给发布" name="second">供给发布</el-tab-pane> -->
+        </el-tabs>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import _ from 'lodash';
+import upload from '@/components/upload.vue';
+export default {
+  name: 'contextfabu',
+  props: {
+    demandForm: null,
+    columnList: null,
+    totaltype: null,
+  },
+  components: {
+    upload,
+  },
+  data: () => ({
+    activeName: 'first',
+    priceunit_list: [
+      {
+        name: '公斤',
+      },
+      {
+        name: '套',
+      },
+      {
+        name: '件',
+      },
+    ],
+    product_args: [],
+    selectlistRow: [],
+    rowNum: 1,
+    totaltype_list: [
+      { name: '技术', value: '0' },
+      { name: '产品', value: '1' },
+      { name: '服务', value: '2' },
+    ],
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    demandBtn() {
+      this.$emit('demandSubmit', { data: this.demandForm, id: this.demandForm.id });
+    },
+    selectChild(product_type_id) {
+      let res = this.columnList.filter(fil => fil.id === product_type_id);
+      if (res.length > 0) {
+        console.log(res[0].name);
+        this.$set(this.demandForm, `product_type_name`, res[0].name);
+      }
+      this.$forceUpdate();
+    },
+    uploadSuccess({ type, data }) {
+      let arr = _.get(this.demandForm, type);
+      if (_.isArray(arr)) {
+        let datas = { name: data.name, url: data.uri };
+        this.demandForm[type].push({ name: data.name, url: data.uri });
+      } else {
+        let newArr = [{ name: data.name, url: data.uri }];
+        this.$set(this.demandForm, `${type}`, newArr);
+      }
+    },
+
+    // 获取表格选中时的数据
+    selectRow(val) {
+      this.selectlistRow = val;
+    },
+    addRow() {
+      var list = {
+        rowNum: this.rowNum,
+      };
+      // let tableData = this.emandForm.product_args;
+      this.product_args.unshift(list);
+      this.rowNum += 1;
+    },
+
+    uploadDelete(index) {
+      console.log(index);
+
+      this.demandForm.image.splice(index, 1);
+    },
+    selectType(item) {
+      this.$emit('changeType', item);
+      // this.$set(this, `totaltype`, item);
+      console.log(item);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-tabs--card > .el-tabs__header {
+  border-bottom: 1px solid #215299;
+}
+/deep/.el-tabs__item {
+  height: 50px;
+  line-height: 50px;
+  font-size: 16px;
+}
+/deep/.el-tabs__item.is-active {
+  color: #ffff;
+  background: #215299;
+}
+.demandForm {
+  padding: 0 20px;
+}
+.demandBtn {
+  text-align: center;
+}
+/deep/.demandBtn .el-button {
+  background-color: #ff7814;
+  border: none;
+}
+/deep/.el-table td {
+  padding: 0;
+}
+/deep/.el-table th {
+  padding: 0;
+  background-color: #f3f3f3;
+}
+</style>

+ 649 - 0
src/layout/enterprise/contextfabuxx.vue

@@ -0,0 +1,649 @@
+<template>
+  <div id="recruitLists">
+    <el-row>
+      <el-col :span="24">
+        <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+          <el-tab-pane label="我的需求" name="first">
+            <el-row style="padding: 0 20px;">
+              <el-tabs v-model="activeNameFirst" @tab-click="handleClickFirst">
+                <el-tab-pane label="审核成功" name="first">
+                  <el-col :span="24" v-for="(item, index) in recruitData" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> {{ item.name }} </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-col :span="24" v-for="(acm, index) in item.image" :key="index">
+                            <template v-if="index === 0">
+                              <el-image style="width:100px;height:100px" :src="acm.url"></el-image>
+                            </template>
+                          </el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.name }}</p>
+                          <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                          <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })">编辑</el-link
+                            ><br />
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                            <!-- <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })"
+                              >查看申请</el-link
+                            > -->
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+                <el-tab-pane label="审核中信息" name="second">
+                  <el-col :span="24" v-for="(item, index) in shenheList" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> {{ item.name }} </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-col :span="24" v-for="(acm, index) in item.image" :key="index">
+                            <template v-if="index === 0">
+                              <el-image style="width:100px;height:100px" :src="acm.url"></el-image>
+                            </template>
+                          </el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.name }}</p>
+                          <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                          <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })">编辑</el-link
+                            ><br />
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange1"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="tatalstatus1"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+                <el-tab-pane label="审核失败" name="thirth">
+                  <el-col :span="24" v-for="(item, index) in successlist" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> {{ item.name }} </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-col :span="24" v-for="(acm, index) in item.image" :key="index">
+                            <template v-if="index === 0">
+                              <el-image style="width:100px;height:100px" :src="acm.url"></el-image>
+                            </template>
+                          </el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.name }}</p>
+                          <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                          <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange1"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="tatalstatus2"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="发起交易" name="fgffadqdfa">
+                  <el-col :span="24" v-for="(item, index) in faqilist" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="jiaoyisuccess(item)">同意交易</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChangefaqi"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="totalfaqi"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="交易中" name="fgrrsss">
+                  <el-col :span="24" v-for="(item, index) in Transactionlist" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                            <el-link :underline="false" @click="success(item)">审核通过</el-link>
+                            <el-link :underline="false" @click="shibai(item)">审核失败</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange4"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total4"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="交易完成" name="fgrraaa">
+                  <el-col :span="24" v-for="(item, index) in jiaoyilist1" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange5"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total5"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+
+                <el-tab-pane label="交易取消" name="fgrr">
+                  <el-col :span="24" v-for="(item, index) in jiaoyilist" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="21"> </el-col>
+                        <el-col :span="3">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.product_name }}</p>
+                          <p>营销人名称:{{ item.market_username }}</p>
+                          <p>购买人名称:{{ item.username }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">说明:{{ item.description }}</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="deteles(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange6"
+                      :current-page="currentPage"
+                      background
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total6"
+                      :page-size="pageSize"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+              </el-tabs>
+            </el-row>
+          </el-tab-pane>
+
+          <!-- <el-tab-pane label="我的供给" name="second">
+            <el-row style="padding: 0 20px;">
+              <el-tabs v-model="activeNameFirst" @tab-click="handleClickFirst">
+                <el-tab-pane label="已经审核信息" name="first">
+                  <el-col :span="24" v-for="(item, index) in gonggeiData" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> {{ item.name }} </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-image style="width:100px;height:100px" :src="item.image.url"></el-image>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.name }}</p>
+                          <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                          <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })">编辑</el-link
+                            ><br />
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                             <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })"
+                              >查看申请</el-link
+                            > 
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage"
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+                <el-tab-pane label="审核中信息" name="second">
+                  <el-col :span="24" v-for="(item, index) in gonggeiData" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> {{ item.name }} </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-image style="width:100px;height:100px" :src="item.image.url"></el-image>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <el-col :span="24" class="listName">
+                            <p class="textOver">产品:{{ item.name }}</p>
+                            <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                            <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                          </el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="$router.push({ path: '/enterprise/enterprisexuqiu', query: { id: item.id } })">编辑</el-link
+                            ><br />
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage"
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+                <el-tab-pane label="交易成功信息" name="thirth">
+                  <el-col :span="24" v-for="(item, index) in gonggeiData" :key="index">
+                    <el-col class="xqborder">
+                      <el-col :span="24" class="fbListTop">
+                        <el-col :span="20"> {{ item.name }} </el-col>
+                        <el-col :span="4">
+                          {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="fbListCenter">
+                        <el-col :span="6" class="fimage">
+                          <el-image style="width:100px;height:100px" :src="item.image.url"></el-image>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterC">
+                          <p class="textOver">产品:{{ item.name }}</p>
+                          <p>类别:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : 'underdind' }}</p>
+                          <p class="listMoney">{{ item.price }}/{{ item.priceunit }}</p>
+                        </el-col>
+                        <el-col :span="6" class="fbListCenterTwo">
+                          <el-col :span="24">最新申请:</el-col>
+                        </el-col>
+
+                        <el-col :span="6" class="fbListCenterR">
+                          <el-col :span="24" class="bainji">
+                            <el-link :underline="false" @click="handleDelete(item)">彻底删除</el-link>
+                          </el-col>
+                        </el-col>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col class="page" :span="24">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage"
+                      layout="total,  prev, pager, next, jumper"
+                      :total="total"
+                    >
+                    </el-pagination>
+                  </el-col>
+                </el-tab-pane>
+              </el-tabs>
+            </el-row>
+        </el-tab-pane> -->
+        </el-tabs>
+        <el-link :underline="false" class="fabuBtn" @click="messFabu()">信息发布</el-link>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'recruitLists',
+  props: {
+    recruitData: null,
+    columnName: null,
+    total: null,
+    successlist: null,
+    shenheList: null,
+    tatalstatus2: null,
+    tatalstatus1: null,
+    Transactionlist: null,
+    jiaoyilist1: null,
+    jiaoyilist: null,
+    total4: null,
+    total5: null,
+    total6: null,
+    faqilist: null,
+    totalfaqi: null,
+
+    // gonggeiData: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 0,
+    activeName: 'first',
+    activeNameFirst: 'first',
+    pageSize: 3,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    deteles(item) {
+      this.$emit('deteles', { item });
+    },
+    success(item) {
+      this.$emit('success', { item });
+    },
+
+    shibai(item) {
+      this.$emit('shibai', { item });
+    },
+    jiaoyisuccess(item) {
+      this.$emit('jiaoyisuccess', { item });
+    },
+    handleDelete(item) {
+      this.$emit('handleDelete', { item });
+    },
+    messFabu() {
+      this.$router.push({ path: '/enterprise/enterprisexuqiu' });
+    },
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    handleClickFirst(tab, event) {
+      console.log(tab, event);
+    },
+    // handleSizeChange(val) {
+    //   console.log(`每页 ${val} 条`);
+    // },
+    // handleCurrentChange(val) {
+    //   console.log(`当前页: ${val}`);
+    // },
+
+    handleSizeChange(pageSize) {
+      // this.$emit('handleSizeChange', pageSize);
+    },
+    handleCurrentChange(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange1(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange1', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange2(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange2', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange4(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange4', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange5(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange5', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChange6(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChange6', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+
+    handleCurrentChangefaqi(currentPage) {
+      console.log(currentPage);
+      this.$emit('handleCurrentChangefaqi', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.xqborder {
+  // width: 889px;
+  width: 100%;
+  height: 183px;
+  border: 1px solid #ccc;
+  margin-top: 20px;
+}
+.fbListTop {
+  width: 99.8%;
+  height: 43px;
+  margin-left: 1px;
+  background: #fafafa;
+  line-height: 43px;
+  text-indent: 10px;
+  font-size: 13px;
+  color: #888888;
+}
+
+.fbListCenterTwo {
+  width: 48%;
+  float: left;
+  margin-left: 10px;
+  margin-right: 10px;
+  background: #fafafa;
+  height: 100px;
+}
+.fbListCenter {
+  width: 100%;
+  height: 119px;
+  margin: 20px 0 0 12px;
+}
+.fimage {
+  width: 12%;
+  height: 119px;
+  float: left;
+}
+.fbListCenterC {
+  width: 22%;
+  border-right: 1px solid #ccc;
+  height: 100px;
+}
+.fbListCenterC p {
+  padding: 5px 0;
+}
+
+.fbListCenterR {
+  border-left: 1px solid #ccc;
+  width: 125px;
+  height: 100px;
+  float: left;
+}
+.listName {
+  width: 196px;
+  height: 30px;
+  font-size: 16px;
+  color: #555555;
+}
+.listMoney {
+  height: 30px;
+  font-size: 16px;
+  color: #fe0000;
+  width: 196px;
+}
+
+.bainji {
+  padding: 0 0 0 20px;
+}
+.page {
+  padding: 11px 0 0 0;
+  text-align: center;
+}
+.fabuBtn {
+  position: absolute;
+  top: 65px;
+  right: 30px;
+}
+</style>

+ 87 - 0
src/layout/enterprise/contextxx.vue

@@ -0,0 +1,87 @@
+<template>
+  <div id="contextxx">
+    <template v-if="view == 'room'">
+      <rooms :list="list" @toChat="toChat"></rooms>
+    </template>
+    <template v-else>
+      <chat :room="room" @toRoom="toRoom"></chat>
+    </template>
+  </div>
+</template>
+
+<script>
+import _ from 'lodash';
+import rooms from './parts/room.vue';
+import chat from './parts/chat.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions } = createNamespacedHelpers('personalroom');
+const { mapActions: personalChat } = createNamespacedHelpers('personalchat');
+export default {
+  name: 'contextxx',
+  props: {},
+  components: { rooms, chat },
+  data: () => {
+    return {
+      view: 'room',
+      list: [],
+      room: {},
+    };
+  },
+  created() {
+    this.search();
+  },
+  mounted() {
+    this.channel();
+  },
+  methods: {
+    ...mapActions(['query', 'fetch']),
+    ...personalChat({ getChatList: 'query' }),
+    async search() {
+      let res = await this.query({ seller_id: this.user.uid });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+        this.onMessage();
+      }
+    },
+    async toChat(data) {
+      let res = await this.fetch(data.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `room`, res.data);
+        this.view = 'chat';
+      }
+    },
+    toRoom() {
+      this.view = 'room';
+      this.onMessage();
+    },
+    channel() {
+      this.$stomp({
+        [`/exchange/chat_message/${this.user.uid}`]: this.onMessage,
+      });
+    },
+    async onMessage(message) {
+      let res = await this.getChatList({ status: 0, receiver_id: this.user.uid });
+      if (this.$checkRes(res)) {
+        let arr = this.list.map(i => {
+          i.needRead ? '' : (i.needRead = 0);
+          let findRes = res.data.filter(f => i.buyer_id == f.sender_id);
+          i.needRead = findRes.length || 0;
+          return i;
+        });
+        this.$set(this, `list`, arr);
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 121 - 0
src/layout/enterprise/jibencontext.vue

@@ -0,0 +1,121 @@
+<template>
+  <div id="rightcont">
+    <el-col class="zhengce">
+      <el-col :span="24" class="topTitle">
+        基本信息
+      </el-col>
+      <el-col :span="24" class="info">
+        <el-col :span="24">
+          <p>用户名:{{ userinfo.name }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>身份证号:{{ userinfo.cardnumber }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>手机号:{{ userinfo.phone }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>邮箱:{{ userinfo.email }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>身份证号:{{ userinfo.cardnumber }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>地址:{{ userinfo.addr }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p><span>头像图片:</span> <el-image style="width:100px;height:100px" :src="userinfo.img_path"></el-image></p>
+        </el-col>
+        <el-col :span="24">
+          <p>
+            类别:{{
+              userinfo.role === '1' ? '管理员' : userinfo.role === '2' ? '个人' : userinfo.role === '3' ? '企业' : userinfo.role === '4' ? '子管理员' : ''
+            }}
+          </p>
+        </el-col>
+        <el-col :span="24">
+          <p>地址:{{ userinfo.addr }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p><span>身份证正面:</span> <el-image style="width:100px;height:100px" :src="userinfo.cardfile_a"></el-image></p>
+        </el-col>
+        <el-col :span="24">
+          <p><span>身份证背面: </span><el-image style="width:100px;height:100px" :src="userinfo.cardfile_b"></el-image></p>
+        </el-col>
+        <el-col :span="24" v-if="this.user.role == '3'">
+          <p><span>组织机构图片:</span> <el-image style="width:100px;height:100px" :src="userinfo.img_qy"></el-image></p>
+        </el-col>
+        <el-col :span="24">
+          <p>专业领域:{{ userinfo.major }}</p>
+        </el-col>
+        <el-col :span="24" v-if="this.user.role == '3'">
+          <p>机构类型:{{ userinfo.institution_type }}</p>
+
+          <p>机构名称:{{ userinfo.institution_name }}</p>
+          <p>机构代码:{{ userinfo.institution_code }}</p>
+          <p>机构性质:{{ userinfo.institution_nature }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>所属行业:{{ userinfo.profession }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>办公电话:{{ userinfo.office_phone }}</p>
+        </el-col>
+        <el-col :span="24">
+          <p>简介:{{ userinfo.resume }}</p>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+
+export default {
+  name: 'rightcont',
+  props: {
+    userinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.zhengce {
+  padding: 20px;
+}
+.zhengce .topTitle {
+  font-size: 22px;
+  color: #22529a;
+  margin: 0 0 20px 0;
+}
+.zhengce .info {
+  float: left;
+  width: 100%;
+}
+.zhengce .info p {
+  float: left;
+  width: 100%;
+  padding: 10px 0;
+}
+.zhengce .info p span {
+  float: left;
+  margin: 0 10px 0 0;
+}
+.zhengce .info p image {
+  float: left;
+  width: 100px;
+  height: 100px;
+}
+</style>

+ 73 - 0
src/layout/enterprise/mainMenu.vue

@@ -0,0 +1,73 @@
+<template>
+  <div id="fenlei">
+    <el-col class="swfl" :span="24">
+      <el-image style="width:22px;height:22px;margin:0 5px -5px 0;" :src="src"></el-image>
+      <span>个人中心</span>
+    </el-col>
+    <el-col>
+      <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" text-color="#215299" active-text-color="#215299">
+        <el-menu-item index="1" v-for="(item, index) in liebiaoList" :key="index">
+          <template v-if="item.name.includes('消息')">
+            <span slot="title" @click="clickUrl(item.name)" :style="`color:${haveMsg ? 'red' : ''}`">
+              {{ item.name }}
+            </span>
+          </template>
+          <template v-else>
+            <span slot="title" @click="clickUrl(item.name)">{{ item.name }}</span>
+          </template>
+        </el-menu-item>
+      </el-menu>
+    </el-col>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'fenlei',
+  props: {
+    liebiaoList: null,
+  },
+  components: {},
+  data: () => ({
+    src: require('@/assets/swfl.png'),
+    haveMsg: false,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    clickUrl(id) {
+      this.$emit('onsave', { id });
+    },
+
+    handleOpen(key, keyPath) {
+      console.log(key, keyPath);
+    },
+    handleClose(key, keyPath) {
+      console.log(key, keyPath);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.swfl {
+  height: 60px;
+  line-height: 60px;
+  background-color: #22529a;
+  text-align: center;
+}
+.swfl span {
+  font-size: 22px;
+  color: #ffffff;
+}
+/deep/.el-menu-item {
+  height: 60px;
+  text-align: center;
+  line-height: 60px;
+  border-bottom: 1px dashed;
+  font-size: 22px;
+}
+/deep/.el-menu-item:last-child {
+  border-bottom: none;
+}
+</style>

+ 180 - 0
src/layout/enterprise/parts/chat.vue

@@ -0,0 +1,180 @@
+<template>
+  <div id="chats">
+    <el-row :span="24" class="chat">
+      <el-col :span="24" style="padding-bottom:5px">
+        <el-button size="mini" @click="$emit('toRoom')" icon="el-icon-arrow-left" type="primary">返回</el-button>
+      </el-col>
+      <el-col :span="24" class="chatInfo" id="chatBorder" ref="chatBorder">
+        <template v-for="(i, index) in talk">
+          <template v-if="isSender(i, index)">
+            <el-col :span="24" class="senderTime" :key="`div${i.id}${index}`">
+              <span :key="`senderTime${i.id}${index}`">[{{ i.send_time }}] {{ i.sender_name }}</span>
+              <span v-html="i.content" :key="`senderContent${i.id}${index}`"></span>
+            </el-col>
+          </template>
+          <template v-else>
+            <el-col :span="24" class="receverTime" :key="`div${i.id}${index}`">
+              <span :key="`receverTime${i.id}${index}`"> {{ i.receiver_name }} [{{ i.send_time }}]</span>
+              <span v-html="i.content" :key="`receverContent${i.id}${index}`"></span>
+            </el-col>
+          </template>
+        </template>
+      </el-col>
+      <el-col :span="24" class="chatBtn">
+        <wang-editor v-model="content" style="height:130px;padding-bottom:120px" ref="editor"></wang-editor>
+        <el-button type="primary" @click="chatClick">发送</el-button>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import _ from 'lodash';
+import { mapState, createNamespacedHelpers } from 'vuex';
+import wangEditor from '@/components/wang-editor.vue';
+const { mapActions: personalChat } = createNamespacedHelpers('personalchat');
+export default {
+  name: 'chats',
+  props: {
+    room: { type: Object, default: () => {} },
+  },
+  components: {
+    wangEditor,
+  },
+  data: () => {
+    return {
+      content: '',
+      talk: [],
+    };
+  },
+  created() {},
+  mounted() {
+    this.channel();
+  },
+  methods: {
+    ...personalChat(['create', 'query', 'update', 'isRead']),
+    async search() {
+      let res = await this.query({ personroom_id: this.room.id });
+      if (this.$checkRes(res)) {
+        this.$set(this, `talk`, res.data);
+        this.turnBottom();
+        this.toAlreadyRead();
+      }
+    },
+    async chatClick() {
+      if (this.content != '') {
+        let obj = { personroom_id: this.room.id, content: this.content, sender_id: this.user.uid, sender_name: this.user.name, send_time: '13:00' };
+        let keys = Object.keys(this.room);
+        let fres = keys.find(f => this.room[f] == this.user.uid);
+        obj.receiver_id = fres === 'buyer_id' ? this.room['seller_id'] : this.room['buyer_id'];
+        obj.receiver_name = fres === 'buyer_id' ? this.room['seller_name'] : this.room['buyer_name'];
+        let res = await this.create(obj);
+        this.$refs.editor.setContent();
+        this.$set(this, `content`, '');
+        this.$forceUpdate();
+        if (this.$checkRes(res, null, res.errmsg || '发言失败')) {
+          this.talk.push(res.data);
+          this.turnBottom();
+        }
+      } else this.$message.error('请输入信息后发送');
+    },
+    turnBottom() {
+      this.$nextTick(() => {
+        document.getElementById('chatBorder').scrollTop = document.getElementById('chatBorder').scrollHeight + 150;
+      });
+    },
+    isSender(data) {
+      return this.user.uid == data.sender_id;
+    },
+    channel() {
+      //TODO 修改订阅地址
+      if (!this.room.id) {
+        console.warn('未获取到房间id,无法进行订阅');
+        return;
+      }
+      this.$stomp({
+        [`/exchange/person_chat/${this.room.id}_${this.user.uid}`]: this.onMessage,
+      });
+    },
+    onMessage(message) {
+      let body = _.get(message, 'body');
+      if (body) {
+        body = JSON.parse(body);
+        this.talk.push(body);
+        this.turnBottom();
+      }
+    },
+    async toAlreadyRead() {
+      let ids = this.talk.filter(f => f.status == 0 && f.receiver_id == this.user.uid);
+      ids = ids.map(i => i.id);
+      let res = await this.isRead({ ids, sender_id: this.room.buyer_id, receiver_id: this.user.uid, personroom_id: this.room.id });
+    },
+  },
+  watch: {
+    room: {
+      handler(val) {
+        if (val.id) this.search();
+      },
+      immediate: true,
+      deep: true,
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.chat {
+  float: left;
+  width: 100%;
+  padding: 20px;
+}
+.chat .chatInfo {
+  float: left;
+  width: 100%;
+  height: 280px;
+  overflow: hidden;
+  border: 1px solid #ccc;
+  margin: 0 0 30px 0;
+  overflow-y: auto;
+}
+.chatBtn {
+  float: left;
+  width: 100%;
+  text-align: center;
+}
+/deep/.chatBtn .el-button {
+  padding: 10px 80px;
+  font-size: 20px;
+}
+.senderTime {
+  float: left;
+  width: 100%;
+}
+.receverTime {
+  float: right;
+  width: 100%;
+}
+.receverTime span:first-child {
+  float: right;
+  width: 100%;
+  text-align: right;
+}
+.receverTime span:last-child {
+  float: right;
+  width: 100%;
+  text-align: right;
+}
+</style>

+ 48 - 0
src/layout/enterprise/parts/room.vue

@@ -0,0 +1,48 @@
+<template>
+  <div id="room">
+    <el-table :data="list" border stripe :show-header="false" @row-click="toChat">
+      <el-table-column align="center">
+        <template v-slot="{ row }">
+          <template v-if="row.needRead == 0">
+            暂无未读消息
+          </template>
+          <template v-if="row.needRead > 0">
+            <span style="color:red">您有{{ row.needRead }}条未读消息 </span>
+          </template>
+        </template>
+      </el-table-column>
+      <el-table-column prop="buyer_name" align="center"></el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'room',
+  props: {
+    list: { type: Array, default: () => [] },
+  },
+  components: {},
+  data: () => {
+    return {};
+  },
+  created() {},
+  methods: {
+    toChat(row) {
+      this.$emit('toChat', row);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 74 - 0
src/layout/personCenter/question.vue

@@ -0,0 +1,74 @@
+<template>
+  <div id="question">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="infoTop">
+          <el-image style="width:100%;height:60px;" :src="pic"></el-image>
+        </el-col>
+        <el-col :span="24" class="form">
+          <el-col :span="24" class="image">
+            <el-image :src="formImage" style="width:100px;height:80px;"></el-image>
+          </el-col>
+          <el-form ref="form" :model="form">
+            <el-form-item label="您是否愿意继续关注本平台">
+              <el-radio-group v-model="form.resource">
+                <el-radio label="愿意"></el-radio>
+                <el-radio label="不愿意"></el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit">确认提交</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'question',
+  props: {},
+  components: {},
+  data: () => ({
+    pic: require('@/assets/diaocha.gif'),
+    formImage: require('@/assets/cha.png'),
+    form: {
+      resource: '',
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    onSubmit() {
+      console.log('submit!');
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.infoTop {
+  width: 100%;
+  height: 60px;
+  overflow: hidden;
+}
+.image {
+  text-align: center;
+  margin: 20px 0;
+}
+.form .el-form {
+  float: left;
+  width: 100%;
+  text-align: center;
+}
+/deep/.el-radio {
+  color: #000;
+}
+/deep/.el-form-item__label {
+  width: 100%;
+  text-align: center;
+  color: #000;
+}
+</style>

+ 7 - 0
src/router/index.js

@@ -82,6 +82,13 @@ const live = [
         name: 'live_apply',
         component: () => import('../views/hall/liveApply.vue'),
       },
+
+      //企业-发布信息列表
+      {
+        path: '/enterprise/enterprisefabu',
+        name: 'enterprisefabu',
+        component: () => import('../views/enterprise/enterprisefabu.vue'),
+      },
     ],
   },
   {

+ 242 - 0
src/views/enterprise/enterprisefabu.vue

@@ -0,0 +1,242 @@
+<template>
+  <div id="adviserList">
+    <enterprisefabu-detail
+      :liebiaoList="liebiaoList"
+      :recruitData="recruitData"
+      @delete="deleteData"
+      @onsave="onsaveClick"
+      :successlist="successlist"
+      :shenheList="shenheList"
+      :Transactionlist="Transactionlist"
+      :total="total"
+      :total4="total4"
+      :total5="total5"
+      :total6="total6"
+      :tatalstatus1="tatalstatus1"
+      :tatalstatus2="tatalstatus2"
+      @handleCurrentChange="handleCurrentChange"
+      @handleCurrentChange1="handleCurrentChange1"
+      @handleCurrentChange2="handleCurrentChange2"
+      :jiaoyilist="jiaoyilist"
+      :jiaoyilist1="jiaoyilist1"
+      @deteles="deteles"
+      @handleDelete="handleDelete"
+      @shibai="shibai"
+      @success="success"
+      @jiaoyisuccess="jiaoyisuccess"
+      :faqilist="faqilist"
+      :totalfaqi="totalfaqi"
+      @handleCurrentChangefaqi="handleCurrentChangefaqi"
+      @handleCurrentChange4="handleCurrentChange4"
+      @handleCurrentChange5="handleCurrentChange5"
+      @handleCurrentChange6="handleCurrentChange6"
+    ></enterprisefabu-detail>
+  </div>
+</template>
+
+<script>
+import enterprisefabuDetail from '@/components/enterprise/enterprisefabu.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: mapSite } = createNamespacedHelpers('site');
+const { mapActions: mapRecruit } = createNamespacedHelpers('market');
+const { mapActions: marketproduct } = createNamespacedHelpers('marketproduct');
+const { mapActions: transaction } = createNamespacedHelpers('transaction');
+
+export default {
+  name: 'adviserList',
+  props: {},
+  components: {
+    enterprisefabuDetail,
+  },
+  data: () => ({
+    shenheList: [],
+    successlist: [],
+    info: {},
+    liebiaoList: [{ name: '基本信息' }, { name: '消息管理' }, { name: '我的发布' }, { name: '我的订购' }, { name: '注销账号' }],
+    recruitData: [],
+    gonggeiData: [],
+    Transactionlist: [],
+    jiaoyilist: [],
+    jiaoyilist1: [],
+    total: 1,
+    total4: 1,
+    total5: 1,
+    total6: 1,
+    tatalstatus1: 1,
+    tatalstatus2: 1,
+    skip: '',
+    faqilist: [],
+    totalfaqi: 1,
+  }),
+  created() {
+    this.searchInfo();
+    this.searchstatus1();
+    this.searchstaus2();
+    this.jiaoyi1();
+    this.jiaoyi2();
+    this.jiaoyi3();
+    this.faqijiaoyi();
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    ...mapRecruit({ columnList: 'query', columnInfo: 'fetch' }),
+    ...marketproduct({ productList: 'query', columnInfo: 'fetch', marketcerate: 'create', productdeltet: 'delete' }),
+    ...transaction({ list: 'query', columnInfo: 'fetch', marketcerate: 'create', delete: 'delete', shenheupdate: 'update' }),
+
+    // 查询列表
+    async searchInfo({ skip = 0, limit = 3, ...info } = {}) {
+      skip = this.skip;
+      let status = 1;
+      let userid = this.user.uid;
+      const res = await this.productList({ skip, limit, status, userid, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `recruitData`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    async searchstatus1({ skip, limit = 3, ...info } = {}) {
+      let status = 0;
+      skip = this.skip;
+      let userid = this.user.uid;
+      const res = await this.productList({ skip, limit, status, userid, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `shenheList`, res.data);
+        this.$set(this, `tatalstatus1`, res.total);
+      }
+    },
+    async searchstaus2({ skip = 0, limit = 3, ...info } = {}) {
+      let status = 2;
+      skip = this.skip;
+      let userid = this.user.uid;
+      console.log();
+      const res = await this.productList({ skip, limit, status, userid, ...info });
+      console.log(res);
+      if (this.$checkRes(res)) {
+        this.$set(this, `successlist`, res.data);
+        this.$set(this, `tatalstatus2`, res.total);
+      }
+    },
+    async faqijiaoyi({ skip = 0, limit = 3, ...info } = {}) {
+      let status = 0;
+      skip = this.skip;
+      const res = await this.list({ skip, limit, status, ...info });
+      console.log(res.total);
+      if (this.$checkRes(res)) {
+        this.$set(this, `faqilist`, res.data);
+        this.$set(this, `totalfaqi`, res.total);
+      }
+    },
+    async jiaoyi1({ skip = 0, limit = 3, ...info } = {}) {
+      let status = 1;
+      skip = this.skip;
+      console.log();
+      const res = await this.list({ skip, limit, status, ...info });
+      console.log(res);
+      if (this.$checkRes(res)) {
+        this.$set(this, `Transactionlist`, res.data);
+        this.$set(this, `total4`, res.total);
+      }
+    },
+    async jiaoyi2({ skip = 0, limit = 3, ...info } = {}) {
+      let status = 2;
+      skip = this.skip;
+      console.log();
+      const res = await this.list({ skip, limit, status, ...info });
+      console.log(res);
+      if (this.$checkRes(res)) {
+        this.$set(this, `jiaoyilist1`, res.data);
+        this.$set(this, `total5`, res.total);
+      }
+    },
+    async jiaoyi3({ skip = 0, limit = 3, ...info } = {}) {
+      let status = 3;
+      skip = this.skip;
+      console.log();
+      const res = await this.list({ skip, limit, status, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `jiaoyilist`, res.data);
+        this.$set(this, `total6`, res.total);
+      }
+    },
+    //分页
+    async handleCurrentChangefaqi({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.faqijiaoyi();
+    },
+
+    async handleCurrentChange({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.searchInfo();
+    },
+    async handleCurrentChange1({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      console.log(skip);
+      this.searchstatus1();
+    },
+    async handleCurrentChange2({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.searchstaus2();
+    },
+    async handleCurrentChange4({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.jiaoyi1();
+    },
+    async handleCurrentChange5({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.jiaoyi2();
+    },
+    async handleCurrentChange6({ skip, limit, currentPage }) {
+      this.$set(this, `skip`, skip);
+      this.jiaoyi3();
+    },
+    // 删除信息
+    async deleteData({ item }) {
+      const res = await this.productdeltet(item.id);
+      this.$checkRes(res, '删除成功', '删除失败');
+    },
+    async deteles({ item }) {
+      const res = await this.delete(item.id);
+      this.$checkRes(res, '删除成功', '删除失败');
+    },
+
+    async handleDelete({ item }) {
+      const res = await this.productdeltet(item.id);
+      this.$checkRes(res, '删除成功', '删除失败');
+    },
+    //审核
+    async jiaoyisuccess({ item }) {
+      item.status = '1';
+      let res = await this.shenheupdate(item);
+      this.faqijiaoyi();
+      this.$checkRes(res, '同意成功', '审核失败');
+    },
+    async shibai({ item }) {
+      item.status = '3';
+      let res = await this.shenheupdate(item);
+      this.$checkRes(res, '审核成功', '审核失败');
+      this.jiaoyi3();
+    },
+    async success({ item }) {
+      item.status = '2';
+      let res = await this.shenheupdate(item);
+      this.$checkRes(res, '审核成功', '审核失败');
+      this.jiaoyi2();
+    },
+    async onsaveClick({ id }) {
+      if (id === '基本信息') {
+        this.$router.push({ path: '/enterprise/enterprisejb' });
+      } else if (id === '消息管理') {
+        this.$router.push({ path: '/enterprise/enterprisexx' });
+      } else if (id === '我的发布') {
+        this.$router.push({ path: '/enterprise/enterprisefabu' });
+      } else if (id === '我的订购') {
+        this.$router.push({ path: '/enterprise/enterprisedg' });
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>