feige
2024-11-23 2d881714a7b35ec6208946a06243c9db6690aff7
ruoyi-ui/src/views/travel/index.vue
@@ -83,81 +83,56 @@
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-top"
          size="mini"
          :disabled="multiple"
          @click="handleShare"
        >分享</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-top"
          size="mini"
          @click="handleWho"
        >分享给谁了什么数据</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-top"
          size="mini"
          @click="whoShare"
        >分享给我的数据</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-top"
          size="mini"
          @click="showData"
        >展示下载的分享数据</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
   <el-dropdown placement="分享相关">
       <el-button size="mini"   type="primary"
                  plain
                  icon="el-icon-top">分享相关</el-button>
        <template #dropdown>
          <el-dropdown-menu>
            <el-dropdown-item     :disabled="multiple" icon="el-icon-top" style="height: 32px;width:240px;color: #0099ff;" @click.native="handleShare">分享</el-dropdown-item>
                   <el-dropdown-item    icon="el-icon-top" @click.native="whoShare">分享给我的数据</el-dropdown-item>
               <el-dropdown-item    icon="el-icon-top" @click.native="handleWho">分享给谁了什么数据</el-dropdown-item>
            <el-dropdown-item    icon="el-icon-top" @click.native="showData">展示下载的分享数据</el-dropdown-item>
          </el-dropdown-menu>
        </template>
      </el-dropdown>
          <right-toolbar :parentValue.sync="valueFromParent" :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <!-- 序号、基金/台账、时间、收入/支出、用途、使用人、现金/自动扣划、余额、电子文件、备注 操作-->
    <!-- 这里有个familyList数组 是在data()中定义的 -->
    <el-table v-loading="loading" :data="travelpriceList" @row-click="getRowId" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
    <el-table v-loading="loading" border :data="travelpriceList" @row-click="getRowId" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
      <el-table-column type="selection" :reserve-selection="true" width="55"  align="center" />
      <el-table-column type="expand" :cell-class-name="expandRowClassName">
        <template slot-scope="props">
          <div  >
            <el-table  :header-row-class-name="tableHeaderRowClassName"  v-loading="loading" :data="travelBase[props.row.id]"  style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;" :row-class-name="tableRowClassName1" >
              <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="50px"/>
              <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="114px"/>
              <el-table-column label="时间" prop="happenDate" sortable width="100" align="center" >
                <template slot-scope="scope">{{scope.row.happenDate? scope.row.happenDate: '————'}}</template>
              </el-table-column>
              <el-table-column label="地点" prop="address" sortable width="100" />
              <el-table-column label="地点" prop="address" sortable width="200" />
              <el-table-column label="建筑" prop="scenic" sortable width="100" />
              <!-- <el-table-column label="旅期" prop="travelPeriod" sortable width="100" /> -->
              <el-table-column label="使用证件" prop="document" sortable width="100" />
              <el-table-column label="车次/航班" prop="flight" sortable width="120px" />
              <el-table-column label="餐费" prop="eat" sortable width="70px" />
              <el-table-column label="住宿费" prop="stay" sortable width="100px" />
              <el-table-column label="交通" prop="travel" sortable width="70px" />
              <el-table-column label="门票" prop="entrance" sortable width="70px" />
             <el-table-column label="其它费用" prop="otherCost" sortable width="120px" />
          <el-table-column label="备注" prop="backInfo" sortable width="120px" />
              <el-table-column label="餐费" prop="eat" sortable width="80px" />
              <el-table-column label="住宿费" prop="stay" sortable width="110px" />
              <el-table-column label="交通" prop="travel" sortable width="80px" />
              <el-table-column label="门票" prop="entrance" sortable width="80px" />
             <el-table-column label="其它费用" prop="otherCost" sortable width="130px" />
          <el-table-column label="备注" prop="backInfo" sortable width="130px" />
              <el-table-column label="电子文件" prop="url" width="160" >
              <el-table-column label="电子文件" prop="url" width="201px" >
                <template slot-scope="scope" >
                  <img
                    class="el-upload-list__item-thumbnail"
@@ -180,7 +155,7 @@
<!--              <el-table-column label="备注" prop="remark" sortable width="100" />-->
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userId != 2">
              <el-table-column label="操作" align="center" class-name="small-padding " v-if="userId != 2">
                <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                  <el-button
                    size="mini"
@@ -215,21 +190,21 @@
        <template slot-scope="scope">{{scope.row.endTime? scope.row.endTime: '————'}}</template>
      </el-table-column>
<!--      <el-table-column label="总天数" prop="totalDay" sortable width="85px" />-->
      <el-table-column label="旅游名称" prop="name" sortable width="200px" />
      <el-table-column label="去向" prop="destination" sortable width="150px" />
      <el-table-column label="旅游性质" prop="property" sortable width="100" />
      <el-table-column label="旅游名称" prop="name" sortable width="160px" />
      <el-table-column label="去向" prop="destination" sortable width="120px" />
      <el-table-column label="旅游性质" prop="property" sortable width="100px" />
          <el-table-column label="感言" prop="spee" sortable width="120px" />
      <el-table-column label="旅游方式" prop="manner" sortable width="100" />
      <el-table-column label="总金额" prop="totalPrice" sortable width="100" />
      <el-table-column label="餐费" prop="eatTotal" sortable width="70px" />
      <el-table-column label="住宿" prop="stayTotal" sortable width="70px" />
      <el-table-column label="交通" prop="travelTotal" sortable width="70px" />
      <el-table-column label="门票" prop="entranceTotal" sortable width="70px" />
      <el-table-column label="团费" prop="groupTotal" sortable width="70px" />
      <el-table-column label="餐费" prop="eatTotal" sortable width="80px" />
      <el-table-column label="住宿" prop="stayTotal" sortable width="80px" />
      <el-table-column label="交通" prop="travelTotal" sortable width="80px" />
      <el-table-column label="门票" prop="entranceTotal" sortable width="80px" />
      <el-table-column label="团费" prop="groupTotal" sortable width="80px" />
      <el-table-column  label="操作" align="center" sortable width="250" v-if="userId != 2">
      <el-table-column  fixed="right" label="操作" align="center" sortable width="250px" v-if="userId != 2">
        <template slot-scope="scope" v-if="scope.row.roleId !== 1">
          <el-button
            size="mini"
@@ -273,7 +248,7 @@
    <div style="background-color: #FEF7FC;">
      <el-dialog :title="title" :visible.sync="openDataScope" width="1300px" append-to-body >
      <el-dialog :title="title"  :visible.sync="openDataScope" width="1300px" append-to-body >
        <div style="background-color: #FEF7FC;">
          <el-table v-loading="loading" :data="detailList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"  >
            <el-table-column type="selection" width="50"  align="center" />
@@ -289,7 +264,7 @@
            <el-table-column label="门票" prop="entrance" sortable :show-overflow-tooltip="true" width="100px" />
            <el-table-column label="购物" prop="shopping" sortable :show-overflow-tooltip="true" width="100px" />
            <el-table-column label="操作" align="center" sortable class-name="small-padding fixed-width" v-if="userId != 2">
            <el-table-column fixed="right" label="操作" align="center" sortable class-name="small-padding fixed-width" v-if="userId != 2">
              <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                <el-button
@@ -327,7 +302,7 @@
<!--     新增旅游经历-->
    <el-dialog :title="title" :visible.sync="dialog1Visible" width="800px" append-to-body>
    <el-dialog :title="title" border :visible.sync="dialog1Visible" width="800px" append-to-body>
      <el-form ref="elForm2" :model="formDat4" :rules="rules2" size="medium" label-width="100px">
        <el-form-item label="标题" prop="name">
@@ -571,12 +546,12 @@
    <el-table v-loading="loading1" :data="listRoot" :row-key="getRowId1" ref="table1"  @selection-change="handleSelectionChange1"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column type="selection" width="55"  align="center" />
          <el-table-column fixed label="序号" sortable type="index" :index="(queryParams1.pageNum-1)*queryParams1.pageSize+1" width="130"/>
          <el-table-column label="身份" prop="identity" sortable width="130" >
     <!--     <el-table-column label="身份" prop="identity" sortable width="130" >
            <template slot-scope="scope" >
              <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span>
              <span v-else>——</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/>
        </el-table>
@@ -603,80 +578,9 @@
      </el-select>
            </div>
      <el-table v-loading="loading2" :data="shareList1" :row-key="getRowId2" ref="multipleTable"  @selection-change="handleSelectionChange2"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
      <el-table v-loading="loading2" border :data="shareList1" :row-key="getRowId2" ref="multipleTable"  @selection-change="handleSelectionChange2"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
            <el-table-column type="expand" :cell-class-name="expandRowClassName">
                    <template slot-scope="props">
                      <div  >
                        <el-table  :header-row-class-name="tableHeaderRowClassName"  v-loading="loading" :data="travelBase[props.row.id]"  style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;" :row-class-name="tableRowClassName1" >
                          <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="50px"/>
                          <el-table-column label="时间" prop="happenDate" sortable width="100" align="center" >
                            <template slot-scope="scope">{{scope.row.happenDate? scope.row.happenDate: '————'}}</template>
                          </el-table-column>
                          <el-table-column label="地点" prop="address" sortable width="100" />
                          <el-table-column label="建筑" prop="scenic" sortable width="100" />
                          <!-- <el-table-column label="旅期" prop="travelPeriod" sortable width="100" /> -->
                          <el-table-column label="使用证件" prop="document" sortable width="100" />
                          <el-table-column label="车次/航班" prop="flight" sortable width="120px" />
                          <el-table-column label="餐费" prop="eat" sortable width="70px" />
                          <el-table-column label="住宿费" prop="stay" sortable width="100px" />
                          <el-table-column label="交通" prop="travel" sortable width="70px" />
                          <el-table-column label="门票" prop="entrance" sortable width="70px" />
                         <el-table-column label="其它费用" prop="otherCost" sortable width="120px" />
                      <el-table-column label="备注" prop="backInfo" sortable width="120px" />
                          <el-table-column label="电子文件" prop="url" width="160" >
                            <template slot-scope="scope" >
                              <img
                                class="el-upload-list__item-thumbnail"
                                src="../../assets/images/deviceLis.png"
                                alt=""
                                style="width: 35px; height: 35px;"
                                fit="cover"
                                v-if="!(scope.row.url === '' || scope.row.url === ',' || scope.row.url === null)"
                              >
                              <img
                                v-else
                                class="el-upload-list__item-thumbnail"
                                src="../../assets/images/deviceA.png"
                                alt=""
                                style="width: 35px; height: 35px;"
                                fit="cover"
                              >
                            </template>
                          </el-table-column>
            <!--              <el-table-column label="备注" prop="remark" sortable width="100" />-->
                          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userId != 2">
                            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
<!--                              <el-button
                                size="mini"
                                type="text"
                                icon="el-icon-edit"
                                @click="handleUpdate1(scope.row)"
                                v-hasPermi="['familymodel:economy:info']"
                              >修改</el-button>
                              <el-button
                                size="mini"
                                type="text"
                                icon="el-icon-delete"
                                @click="handleDelete1(scope.row)"
                                v-hasPermi="['system:role:remove']"
                              >删除</el-button> -->
                              <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck1(scope.row)">查看详情</el-button>
                            </template>
                          </el-table-column>
                        </el-table>
                      </div>
                    </template>
                  </el-table-column>
                  <!-- <el-table-column type="selection" width="55"  align="center" /> -->
                  <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="60px"/>
                  <el-table-column label="起" prop="startTime" sortable width="100" align="center">
@@ -760,13 +664,15 @@
  shareToWho2,getWhoShare2,showShareData2
} from "@/api/travel/index";
import {showShareUser} from "@/api/bignote/index";
import {getAllInfo} from "@/api/system/user"
import {listUserAll} from "@/api/root/index";
import { Notification, MessageBox, Message, Loading } from 'element-ui'
import {getSelfEconomyInfo} from "@/api/selfeconomy";
import {delFamilyevent, listFamilyevent} from "@/api/bignote";
export default {
  name: "Role",
  name: "Ztravel",
  dicts: ['sys_normal_disable'],
  data() {
    return {
@@ -838,10 +744,11 @@
      deptNodeAll: false,
      // 日期范围
      dateRange: [],
     valueFromParent: '旅游',
      // 数据范围选项
   // 数据范围选项
   fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
     '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
     '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng','.m4a'],
      fileList:[
      ],
@@ -1179,25 +1086,40 @@
      return row.id
    },
    getList1() {
          this.loading1 = true;
          this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0]
          this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1]
          listUserAll(this.queryParams1).then(response => {
              this.listRoot = response.data.data;
              const kon = {}
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              for(let i in kon){
                this.userOptions.push({label: i,value: kon[i]})
              }
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList')
              this.loading1 = false;
            }
          );
         this.loading1 = true;
           let userId = this.$store.state.user.userId
         //  alert(userId)
           showShareUser(userId, 2055).then(response=>{
              console.log("===========ddddddddddddd")
              console.log(response.data)
              console.log("--------------------")
              response.data.forEach(element =>{
                  this.userOptions.push({label: element.oldName,value: element.userId})
              })
           })
         let clanId = this.$store.state.user.clanId
          getAllInfo(clanId).then(response => {
              this.listRoot = response.data;
              const kon = {}
                           console.log(response.data,'userListuserListuserList99999999999999')
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              // for(let i in kon){
              //   this.userOptions.push({label: i,value: kon[i]})
              // }
              // for(let i in this.userOptions){
              //   this.userList.push(this.userOptions[i].value)
              // }
              // console.log(this.userList,'userListuserListuserList99999999999999')
              this.loading1 = false;
            }
          );
        },
    // 确认分享
    subShare(row) {
@@ -1210,6 +1132,7 @@
      }).then(() => {
        this.getList();
      this.getList1();
        this.$modal.msgSuccess("分享成功");
        this.id1 = undefined
        this.open1 = false;
@@ -1279,7 +1202,7 @@
        // 将所有请求存储起来
        const promises = [];
        for (const item of this.travelpriceList) {
          const promise = listTravelBase({ cid: item.id }).then(result => {
          const promise = listTravelBase(item.id).then(result => {
           console.log(result.data)
            travelBaseMap[item.id] = result.data;
          });
@@ -1447,12 +1370,14 @@
    /** 查看详细信息 */
    handleCheck(row){
      const id = row.id;
     this.open2 = false;
      // alert(id)
      //  alert(row.fee_id)
      this.$router.push("/self/travel/Info/" + id);
    },
    handleCheck1(row){
      const id = row.id;
    // alert(id)
      this.$router.push("/self/travel/travelInfo/" + id);
    },
    /** 修改按钮操作 */