| | |
| | | <template> |
| | | <div class="app-container" style="opacity: 1;"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <div class="app-container" style="opacity: 1;"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <h1 style="font-size:21px">完美旅途</h1> |
| | | <el-form-item label="时间" prop="startTime" > |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | opacity: 0.5;" |
| | | value-format="yyyy-MM-dd HH-MM" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="去向" prop="destination" > |
| | | <el-input |
| | | v-model="queryParams.destination" |
| | | placeholder="请输入去向" |
| | | clearable |
| | | style="width: 200px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | opacity: 0.5;" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="旅游名称" prop="name" > |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入旅游名称" |
| | | clearable |
| | | style="width: 200px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | opacity: 0.5;" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="旅游方式" prop="manner" > |
| | | <el-input |
| | | v-model="queryParams.manner" |
| | | placeholder="请输入旅游方式" |
| | | clearable |
| | | style="width: 200px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | opacity: 0.5;" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="时间" > |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px;" |
| | | value-format="yyyy-MM-dd HH-MM" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | <el-form-item> |
| | | <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;border-radius:6px 6px 6px 6px;opacity:1;">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery" style=" width: 65px;height: 32px; background: #FFDDE3; border-radius:6px 6px 6px 6px;opacity: 1;">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8" v-if="userId != 2"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | |
| | | <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" 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="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="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="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="201px" > |
| | | <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 " 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"> |
| | | <template slot-scope="scope">{{scope.row.startTime? scope.row.startTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="止" prop="endTime" sortable width="100" align="center"> |
| | | <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="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="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 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" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['person:travel:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-circle-plus" |
| | | @click="handleAdd1(scope.row)" |
| | | |
| | | v-hasPermi="['person:travel:edit']" |
| | | >新增</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | > 删除</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleShare(scope.row)"> |
| | | <span style="font-size: 1em;">分享</span></el-button> |
| | | <!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['familymodel:economy:info']"> |
| | | <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">查看详情</el-button> |
| | | </el-dropdown> --> |
| | | <!-- <el-button class="button" size="mini" type="text" @click="handleShow" v-hasPermi="['system:role:add']"> |
| | | <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> </el-button> --> |
| | | |
| | | </template> |
| | | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | |
| | | <div style="background-color: #FEF7FC;"> |
| | | <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" /> |
| | | <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/> |
| | | <el-table-column label="时间" prop="happenTime" sortable width="150" align="center"> |
| | | <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="内容" prop="content" sortable :show-overflow-tooltip="true" width="100px" /> |
| | | <el-table-column label="总金额" prop="totalCost" sortable :show-overflow-tooltip="true" width="100px" /> |
| | | <el-table-column label="餐费" prop="eat" sortable :show-overflow-tooltip="true" width="100px" /> |
| | | <el-table-column label="住宿" prop="stay" sortable :show-overflow-tooltip="true" width="100px" /> |
| | | <el-table-column label="交通" prop="traffic" sortable :show-overflow-tooltip="true" width="100px" /> |
| | | <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 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 |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate1(scope.row)" |
| | | v-hasPermi="['familymodel:economy:info']" |
| | | >修改</el-button> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | </div> |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | |
| | | <!-- 新增旅游经历--> |
| | | <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"> |
| | | <el-input v-model="formDat4.name" placeholder="请输入标题" clearable :style="{width: '80%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="起始时间" prop="startTime"> |
| | | <el-date-picker v-model="formDat4.startTime" type="date" placeholder="请选择日期" |
| | | value-format="yyyy-MM-dd" :style="{width: '100%'}" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="总天数" prop="usePeople" > |
| | | <el-input |
| | | v-model="queryParams.usePeople" |
| | | placeholder="请输入使用人" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label="结束时间1" prop="endTime"> |
| | | <el-date-picker v-model="formDat4.endTime" type="date" placeholder="请选择日期" |
| | | :style="{width: '100%'}" value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="去向" prop="destination"> |
| | | <el-input v-model="formDat4.destination" placeholder="请输入去向" style="width: 80%;"></el-input> |
| | | |
| | | <el-form-item> |
| | | <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;border-radius:6px 6px 6px 6px;opacity:1;">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery" style=" width: 65px;height: 32px; background: #FFDDE3; border-radius:6px 6px 6px 6px;opacity: 1;">重置</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="团费" prop="groupTotal"> |
| | | <el-input v-model="formDat4.groupTotal" type="number" placeholder="请输入团费" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="旅游性质" prop="property"> |
| | | <el-select v-model="formDat4.property" placeholder="请选择性质" clearable :style="{width: '80%'}" > |
| | | <el-option label="自费" value="自费"></el-option> |
| | | <el-option label="公费" value="公费"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="旅游方式" prop="manner"> |
| | | <el-input v-model="formDat4.manner" placeholder="请输入旅游方式" style="width: 80%;"></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="感言" prop="spee"> |
| | | <textarea type="textarea" v-model="formDat4.spee" placeholder="请输入旅游感言" style="width: 80%;"></textarea> |
| | | |
| | | </el-form-item> |
| | | </el-form> |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['family:note:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExportTemplate" |
| | | v-hasPermi="['family:note:export']" |
| | | >导入模板下载</el-button> |
| | | </el-col> |
| | | <el-col :span="1.2"> |
| | | <el-upload |
| | | action="" |
| | | class="upload-demo" |
| | | :show-file-list="false" |
| | | :http-request="handleEnport" |
| | | > |
| | | <el-button size="mini" type="primary" |
| | | plain |
| | | icon="el-icon-plus" >导入</el-button> |
| | | |
| | | </el-upload> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | <!-- 序号、基金/台账、时间、收入/支出、用途、使用人、现金/自动扣划、余额、电子文件、备注 操作--> |
| | | <!-- 这里有个familyList数组 是在data()中定义的 --> |
| | | <el-table v-loading="loading" :data="travelpriceList" @selection-change="handleSelectionChange" @row-click="handleShow" :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 label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> |
| | | |
| | | <el-table-column label="起" prop="startTime" sortable width="100" align="center"> |
| | | <template slot-scope="scope">{{scope.row.startTime? scope.row.startTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="止" prop="endTime" sortable width="100" align="center"> |
| | | <template slot-scope="scope">{{scope.row.endTime? scope.row.endTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="总天数" prop="totalDay" sortable width="100" /> |
| | | <el-table-column label="标题" prop="title" sortable width="100" /> |
| | | |
| | | <el-table-column label="总金额" prop="totalCost" sortable width="100" /> |
| | | <el-table-column label="餐费" prop="eat" sortable width="100" /> |
| | | <el-table-column label="住宿" prop="stay" sortable width="100" /> |
| | | <el-table-column label="交通" prop="traffic" sortable width="100" /> |
| | | <el-table-column label="门票" prop="entrance" sortable width="100" /> |
| | | <el-table-column label="购物" prop="shopping" sortable width="100" /> |
| | | |
| | | |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['familymodel:economy:info']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['familymodel:economy:info']"> |
| | | <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">查看详情</el-button> |
| | | </el-dropdown> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <el-dialog :title="title" :visible.sync="openDataScope" width="1500px" 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="55" align="center" /> |
| | | <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> |
| | | <el-table-column label="时间" prop="happenTime" sortable width="100" align="center"> |
| | | <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="内容" prop="content" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="总金额" prop="totalcost" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="餐费" prop="eat" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="住宿" prop="stay" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="交通" prop="traffic" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="门票" prop="entrance" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="购物" prop="shopping" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['familymodel:property:info']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button @click="dialog1Visible = false ">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 新增每日行程内容--> |
| | | <el-dialog title="添加每日行程内容" :visible.sync="centerDialogVisible" width="60%" center append-to-body> |
| | | <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> |
| | | <h4 class="form-header">行程内容 </h4> |
| | | |
| | | <el-form-item label="时间" prop="happenDate"> |
| | | <el-date-picker v-model="formDat.happenDate" type="date" placeholder="请选择日期" |
| | | :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="地点" prop="address"> |
| | | <el-input v-model="formDat.address" placeholder="请输入地点" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="建筑" prop="scenic"> |
| | | <el-input v-model="formDat.scenic" placeholder="请输入建筑" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出行方式" prop="travelMode"> |
| | | <el-input v-model="formDat.travelMode" placeholder="请输入出行方式" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="持证旅游" prop="document"> |
| | | <el-select v-model="formDat.document" placeholder="请选择证件" clearable :style="{width: '80%'}" > |
| | | <el-option label="居民身份证" value="居民身份证"></el-option> |
| | | <el-option label="临时身份证" value="临时身份证"></el-option> |
| | | <el-option label="户口本" value="户口本"></el-option> |
| | | <el-option label="护照" value="护照"></el-option> |
| | | <el-option label="学生证" value="学生证"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="车次/航班" prop="flight"> |
| | | <el-input v-model="formDat.flight" placeholder="请输入车次/航班" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="其它费用" prop="otherCost"> |
| | | <el-input v-model="formDat.otherCost" type="number" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="backInfo"> |
| | | <el-input v-model="formDat.backInfo" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="备注" prop="remark">--> |
| | | <!-- <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | |
| | | |
| | | <h4 class="form-header">相关图片 </h4> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | multiple |
| | | :http-request="requestUpload" |
| | | :file-list="fileList" |
| | | :on-change="handleChange" |
| | | :auto-upload="false" |
| | | > |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" |
| | | alt="" |
| | | style="width: 126px; height: 126px" |
| | | fit="cover" |
| | | :preview-src-list="[file.url]" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | |
| | | </div> |
| | | </el-upload> |
| | | <el-button |
| | | style="margin-left: 10px" |
| | | size="small" |
| | | type="success" |
| | | |
| | | @click="picUpload" |
| | | >上传到服务器</el-button> |
| | | <h4 class="form-header">其他附件 </h4> |
| | | <el-upload |
| | | action="" |
| | | :file-list="fileListOther" |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | :on-remove="handleRemove" |
| | | :show-file-list="true" |
| | | |
| | | |
| | | ref="upload1" |
| | | :on-change="handleChange1" |
| | | :auto-upload="false" |
| | | list-type="picture-card" |
| | | :http-request="requestUpload1" |
| | | |
| | | > |
| | | |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <!-- 添加video元素用于显示视频 --> |
| | | <video |
| | | v-if="file.url.includes('.mp4')" |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" |
| | | style="width: 147px; height: 147px" |
| | | fit="cover" |
| | | ></video> |
| | | <img v-else |
| | | class="el-upload-list__item-thumbnail" |
| | | src="../../assets/images/deviceLis.png" |
| | | alt="" |
| | | style="width: 100%; height: 100%" |
| | | fit="cover"></img> |
| | | |
| | | <span class="el-upload-list__item-actions"> |
| | | <span class="el-upload-list__item-name">{{ file.name }}</span> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFileCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | |
| | | <span |
| | | |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemoveFile(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | </div> |
| | | |
| | | </el-upload> |
| | | <el-button |
| | | style="margin-left: 10px" |
| | | size="small" |
| | | type="success" |
| | | @click="fileUpload" |
| | | >上传到服务器</el-button> |
| | | </el-form> |
| | | <h4 class="form-header"> </h4> |
| | | </el-form> |
| | | <el-form ref="elForm" :model="formDat" :rules="rules1" size="medium" label-width="100px"> |
| | | <h4 class="form-header">费用明细 </h4> |
| | | <el-form-item label="住宿酒店" prop="hotel"> |
| | | <el-input v-model="formDat.hotel" placeholder="请输入住宿酒店" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="住宿费用" prop="stay"> |
| | | <el-input v-model="formDat.stay" type="number" placeholder="请输入住宿费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="交通费用" prop="travel"> |
| | | <el-input v-model="formDat.travel" type="number" placeholder="请输入交通费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="餐费" prop="eat"> |
| | | <el-input v-model="formDat.eat" type="number" placeholder="请输入餐费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="门票费用" prop="entrance"> |
| | | <el-input v-model="formDat.entrance" type="number" placeholder="请输入门票费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope1">确 定</el-button> |
| | | <el-button @click="centerDialogVisible = false">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 分享对话框1 --> |
| | | <el-dialog :title="title1" :visible.sync="open1" width="500px" append-to-body @close="handleClose2"> |
| | | |
| | | <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" > |
| | | <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 label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/> |
| | | </el-table> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="subShare">分 享</el-button> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | <!-- 添加或修改资产信息配置对话框 --> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> |
| | | <el-form-item label="台账" prop="type"> |
| | | <el-input v-model="formDat.type" placeholder="请输入内容" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="时间" prop="happenTime"> |
| | | <el-date-picker |
| | | v-model='formDat.happenTime' |
| | | type='date' |
| | | placeholder='选择日期' |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="收入/支出" prop="price"> |
| | | <el-select v-model="formDat.price" placeholder="请选择收入/支出" clearable :style="{width: '100%'}" > |
| | | <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="金额" prop="balance"> |
| | | <el-input v-model="formDat.balance" placeholder="请输入余额" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="用途" prop="useFor"> |
| | | <el-input v-model="formDat.useFor" placeholder="请输入用途" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="使用人" prop="usePeople"> |
| | | <el-input v-model="formDat.usePeople" placeholder="请输入使用人" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="支付方式" prop="kind"> |
| | | <el-input v-model="formDat.kind" placeholder="请输入支付方式" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | |
| | | <h4 class="form-header">相关图片 </h4> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | multiple |
| | | :http-request="requestUpload" |
| | | :file-list="fileList" |
| | | > |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" |
| | | alt="" |
| | | style="width: 126px; height: 126px" |
| | | fit="cover" |
| | | :preview-src-list="[file.url]" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | |
| | | <!-- 分享对话框2 --> |
| | | <el-dialog :title="title2" :visible.sync="open2" width="85%" append-to-body @close="handleClose"> |
| | | <div> |
| | | <el-select v-if="ifNum == 1" |
| | | v-model="user" id="userSelect" |
| | | placeholder="请选择分享的对象" clearable |
| | | style="width: 240px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | margin-bottom: 5px; |
| | | opacity: 0.5;" filterable allow-create |
| | | @change="selectValue"> |
| | | <el-option v-for="item in userOptions" |
| | | :key="item.value" :label="item.label" :value="item.value"/> |
| | | </el-select> |
| | | </div> |
| | | </el-upload> |
| | | <h4 class="form-header">其他附件 </h4> |
| | | <el-upload |
| | | action="" |
| | | :file-list="fileListOther" |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | :on-remove="handleRemove" |
| | | :http-request="requestUpload" |
| | | :show-file-list="true" |
| | | > |
| | | <el-button type="primary">上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | | </div> |
| | | </template> |
| | | </el-upload> |
| | | <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-form> |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | <!-- <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"> |
| | | <template slot-scope="scope">{{scope.row.startTime? scope.row.startTime: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="止" prop="endTime" sortable width="100" align="center"> |
| | | <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="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" /> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button @click="cancelData">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" v-if="userId != 2"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <div class="button-container"> |
| | | <el-button |
| | | v-if="ifNum == 2" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleDown(scope.row)"> |
| | | <span style="font-size: 14px;">下载</span></el-button> |
| | | <el-button |
| | | v-if="ifNum == 1" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleBack(scope.row)"> |
| | | <span style="font-size: 14px;">收回</span></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleCheck(scope.row)"> |
| | | <span style="font-size: 14px;">查看详情</span></el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total1>0" |
| | | :total="total1" |
| | | :page.sync="queryParams2.pageNo" |
| | | :limit.sync="queryParams2.pageSize" |
| | | @pagination='fenYe' |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; |
| | | import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; |
| | | import {getInfo} from "@/api/login"; |
| | | |
| | | |
| | | </div> |
| | | </template> |
| | | //在system/note/index.js中导入接口函数 --接好了 |
| | | import { |
| | | listTravelPrice, |
| | | listTravelBase, |
| | | delTravelBase, |
| | | delTravelPrice, |
| | | addTravelPrice, |
| | | uploadPic, |
| | | // updateTravelPrice, |
| | | addTravelBase, |
| | | share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData, |
| | | shareToWho2,getWhoShare2,showShareData2 |
| | | |
| | | <script> |
| | | import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; |
| | | import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; |
| | | } 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: "Ztravel", |
| | | dicts: ['sys_normal_disable'], |
| | | data() { |
| | | return { |
| | | // 分享给谁的list |
| | | listRoot: [], |
| | | open1:false, |
| | | open2:false, |
| | | id1: undefined, |
| | | shareList1: [], |
| | | // shareList2: [], |
| | | userOptions:[], |
| | | user:undefined, |
| | | userList:[], |
| | | ifNum:undefined, |
| | | selectWho:undefined, |
| | | title1: "", |
| | | title2: "", |
| | | loading1: false, |
| | | loading2: false, |
| | | // 查询参数1 |
| | | queryParams1: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | queryParams2: { |
| | | pageNo: 1, |
| | | pageSize: 10, |
| | | }, |
| | | ids1: [], |
| | | single1: true, |
| | | multiple1: true, |
| | | dateRange1: [], |
| | | |
| | | |
| | | userId: undefined, |
| | | // 遮罩层 |
| | | disabled: false, |
| | | loading: true, |
| | | formData:[], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // |
| | | travelpriceList: [], |
| | | target:[], |
| | | travelBase:[], |
| | | baseData:[], |
| | | detailList:[], |
| | | // 弹出层标题 |
| | | title: "", |
| | | title1:"", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | centerDialogVisible: false, |
| | | dialog1Visible: false, |
| | | dialog2Visible: false, |
| | | // 是否显示弹出层(数据权限) |
| | | openDataScope: false, |
| | | menuExpand: false, |
| | | menuNodeAll: false, |
| | | deptExpand: true, |
| | | 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','.m4a'], |
| | | |
| | | //在system/note/index.js中导入接口函数 --接好了 |
| | | import {listTravelPrice,enload,delTravelPrice, addTravelPrice, uploadPic} from "@/api/travel/index"; |
| | | fileList:[ |
| | | ], |
| | | fileList1:[], |
| | | uploadFileList: [], |
| | | uploadFileList1: [], |
| | | fileListOther:[], |
| | | dsb:true, |
| | | btn:false, |
| | | formDat: { |
| | | people: undefined, |
| | | address: undefined, |
| | | happenTime: undefined, |
| | | title: undefined, |
| | | travelPeriod:undefined, |
| | | document: undefined, |
| | | totalPrice: undefined, |
| | | self: undefined, |
| | | remark: undefined, |
| | | groupTotal:undefined, |
| | | url: "", |
| | | otherCost: undefined, |
| | | backInfo: undefined |
| | | }, |
| | | formDat1: { |
| | | eat: undefined, |
| | | stay: undefined, |
| | | traffic: undefined, |
| | | entrance: undefined, |
| | | shopping:undefined, |
| | | content: undefined, |
| | | }, |
| | | formDat2: { |
| | | id: undefined, |
| | | detailList: undefined, |
| | | }, |
| | | formDat7: { |
| | | id: undefined, |
| | | detailList: undefined, |
| | | }, |
| | | formDat4: { |
| | | manner: undefined, |
| | | startTime: undefined, |
| | | endTime: undefined, |
| | | property:undefined, |
| | | name: undefined, |
| | | destination: undefined, |
| | | spee: undefined |
| | | }, |
| | | // 菜单列表 |
| | | menuOptions: [], |
| | | // 部门列表 |
| | | deptOptions: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | |
| | | export default { |
| | | name: "Role", |
| | | dicts: ['sys_normal_disable'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | disabled: false, |
| | | loading: true, |
| | | formData:[], |
| | | detailList:[], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 家大事记表格数据 |
| | | travelpriceList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 是否显示弹出层(数据权限) |
| | | openDataScope: false, |
| | | menuExpand: false, |
| | | menuNodeAll: false, |
| | | deptExpand: true, |
| | | deptNodeAll: false, |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 数据范围选项 |
| | | fot:[".jpg",".jif"], |
| | | fileList:[ |
| | | ], |
| | | fileListOther:[ |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label" |
| | | }, |
| | | //表单校验 |
| | | rules: { |
| | | name: [{ |
| | | required: true, |
| | | message: '请输入旅游名称', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | ], |
| | | dsb:true, |
| | | btn:false, |
| | | formDat: { |
| | | type: undefined, |
| | | createTime: undefined, |
| | | useFor: undefined, |
| | | usePeople: undefined, |
| | | kind:undefined, |
| | | remark: undefined, |
| | | url: undefined, |
| | | detailList:undefined, |
| | | address: [{ |
| | | required: true, |
| | | message: '请输入地点', |
| | | trigger: 'blur' |
| | | }], |
| | | title: [{ |
| | | required: true, |
| | | message: '请输入标题', |
| | | trigger: 'blur' |
| | | }], |
| | | travelPeriod: [{ |
| | | required: true, |
| | | message: '请输入旅期', |
| | | trigger: 'blur' |
| | | }], |
| | | document: [{ |
| | | required: true, |
| | | message: '请输入证件', |
| | | trigger: 'blur' |
| | | }], |
| | | happenDate: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | }], |
| | | manner: [{ |
| | | required: true, |
| | | message: '请输入出行方式', |
| | | trigger: 'blur' |
| | | }], |
| | | property: [{ |
| | | required: true, |
| | | message: '请选择旅游性质', |
| | | trigger: 'change' |
| | | }], |
| | | |
| | | }, |
| | | rules1: { |
| | | stay: [{ |
| | | required: true, |
| | | message: '请输入住宿费', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | hotel: [{ |
| | | required: true, |
| | | message: '请输入住宿酒店', |
| | | trigger: 'blur' |
| | | }], |
| | | travel: [{ |
| | | required: true, |
| | | message: '请输入交通费', |
| | | trigger: 'blur' |
| | | }], |
| | | entrance: [{ |
| | | required: true, |
| | | message: '请输入门票', |
| | | trigger: 'blur' |
| | | }], |
| | | eat: [{ |
| | | required: true, |
| | | message: '请输入餐费', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | |
| | | }, |
| | | rules2: { |
| | | manner: [{ |
| | | required: true, |
| | | message: '请输入旅游方式', |
| | | trigger: 'blur' |
| | | }], |
| | | groupTotal: [{ |
| | | required: true, |
| | | message: '请输入团费', |
| | | trigger: 'blur' |
| | | }], |
| | | destination: [{ |
| | | required: true, |
| | | message: '请选择去向', |
| | | trigger: 'blur' |
| | | }], |
| | | property: [{ |
| | | required: true, |
| | | message: '请输入旅游名称', |
| | | trigger: 'blur' |
| | | }], |
| | | startTime: [{ |
| | | required: true, |
| | | type: "string", |
| | | message: '请选择日期', |
| | | trigger: 'blur' |
| | | }], |
| | | endTime: [{ |
| | | required: true, |
| | | message: '请选择日期', |
| | | trigger: 'blur' |
| | | }], |
| | | name: [{ |
| | | required: true, |
| | | message: '请选择标题', |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | |
| | | typeOptions: [ |
| | | { |
| | | value: '0', |
| | | label: '自费', |
| | | }, |
| | | // 菜单列表 |
| | | menuOptions: [], |
| | | // 部门列表 |
| | | deptOptions: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | type:undefined, |
| | | useFor:undefined, |
| | | usePeople:undefined, |
| | | createTime:undefined, |
| | | { |
| | | value: '1', |
| | | label: '公费', |
| | | }], |
| | | typeOptions1: [ |
| | | { |
| | | value: '0', |
| | | label: '现金', |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '自动扣划', |
| | | } |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList1(); |
| | | this.getList(); |
| | | this.getInfo(); |
| | | |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label" |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | usePeople: [{ |
| | | required: true, |
| | | message: '请输入使用人', |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | methods: { |
| | | // 分页 |
| | | fenYe(){ |
| | | // @pagination='ifNum === 1 ? selectValue : (ifNum === 2 ? whoShare : showData)' |
| | | if(this.ifNum === 1){ |
| | | this.selectValue(this.selectWho) |
| | | }else if(this.ifNum === 2){ |
| | | this.whoShare() |
| | | }else{ |
| | | this.showData() |
| | | } |
| | | }, |
| | | // 关闭弹窗后 |
| | | handleClose(){ |
| | | this.user = '' |
| | | this.queryParams2.pageNo = 1 |
| | | this.total1 = 0 |
| | | }, |
| | | handleClose2(){ |
| | | this.$refs.table1.clearSelection() |
| | | }, |
| | | |
| | | useFor: [{ |
| | | required: true, |
| | | message: '请输入用途', |
| | | trigger: 'blur' |
| | | }], |
| | | type: [{ |
| | | required: true, |
| | | message: '请输入台账内容', |
| | | trigger: 'blur' |
| | | }], |
| | | balance: [{ |
| | | required: true, |
| | | message: '请输入金额', |
| | | trigger: 'blur' |
| | | }], |
| | | kind: [{ |
| | | // required: true, |
| | | message: '请输入支付方式', |
| | | trigger: 'blur' |
| | | }], |
| | | createTime: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | }], |
| | | price: [{ |
| | | required: true, |
| | | message: '请选择事项内容', |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | typeOptions: [ |
| | | { |
| | | value: '收入', |
| | | label: '收入', |
| | | }, |
| | | { |
| | | value: '支出', |
| | | label: '支出', |
| | | }], |
| | | typeOptions1: [ |
| | | { |
| | | value: '0', |
| | | label: '现金', |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '自动扣划', |
| | | // 下载他人给我分享的数据 |
| | | handleDown(row){ |
| | | const a = {"downloadContent" : row.id} |
| | | downShareData(a).then(() => { |
| | | Message({ message: "下载成功", type: 'success' }) |
| | | }) |
| | | }, |
| | | |
| | | // 收回分享给别人的数据 |
| | | handleBack(row){ |
| | | // 分享给谁的:this.selectWho |
| | | const list = {"shareIds": [this.selectWho],"shareContents": [row.id]} |
| | | deleteShareData(list).then(()=>{ |
| | | Message({ message: "收回成功", type: 'success' }) |
| | | |
| | | const list2 = {"shareIds": [this.selectWho]} |
| | | shareToWho(list2,this.queryParams2).then(response => { |
| | | this.shareList1 = response.data.data |
| | | this.total1 = response.data.total; |
| | | }) |
| | | }) |
| | | }, |
| | | // 展示下载的分享数据 |
| | | showData(){ |
| | | this.shareList1 = [] |
| | | this.ifNum = 3 |
| | | this.open2 = true |
| | | this.title2 = "下载的分享数据"; |
| | | showShareData(this.queryParams2).then(response => { |
| | | this.shareList1 = response.data.data |
| | | this.total1 = response.data.total; |
| | | // console.log(response,'展示下载的分享数据展示下载的分享数据') |
| | | }) |
| | | }, |
| | | // 展示分享给我的数据 |
| | | whoShare(){ |
| | | this.shareList1 = [] |
| | | this.ifNum = 2 |
| | | this.open2 = true |
| | | this.title2 = "分享给我的数据"; |
| | | // const list = {"shareId": this.userList} |
| | | // const list = {"shareId": 111} |
| | | getWhoShare(this.queryParams2).then(response => { |
| | | const data = response.data.data |
| | | this.total1 = response.data.total |
| | | console.log(response,'展示分享给我的数据展示分享给我的数据s') |
| | | for(let i in data){ |
| | | console.log(i,'展示分享给我的数据展示分享给我的数据') |
| | | this.shareList1.push(data[i]) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // 分享给谁了什么数据 |
| | | selectValue(value){ |
| | | this.selectWho = value |
| | | this.shareList1 = [] |
| | | const list = {"shareIds": [this.selectWho]} |
| | | shareToWho(list,this.queryParams2).then(response => { |
| | | // this.loading2 = true; |
| | | response.data.data.forEach(res=>{ |
| | | if(res){ |
| | | this.shareList1.push(res) |
| | | } |
| | | ], |
| | | }) |
| | | // this.shareList1 = response.data.data |
| | | this.total1 = response.data.total; |
| | | // this.loading2 = false; |
| | | console.log(response.data,'分享给谁了什么数据分享给谁了什么数据') |
| | | }) |
| | | }, |
| | | handleWho(){ |
| | | this.ifNum = 1 |
| | | this.open2 = true |
| | | this.title2 = "分享给谁了什么数据"; |
| | | this.shareList1 = [] |
| | | }, |
| | | |
| | | /** 分享操作 */ |
| | | handleShare(row) { |
| | | if(row.id){ |
| | | this.id1 = [row.id] |
| | | } |
| | | this.open1 = true; |
| | | this.title1 = "分享"; |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange1(selection) { |
| | | this.ids1 = selection.map(item => item.userId) |
| | | this.single1 = selection.length!=1 |
| | | this.multiple1 = !selection.length |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange2(selection) { |
| | | // this.ids1 = selection.map(item => item.userId) |
| | | // // console.log(selection) |
| | | // console.log(this.ids1,'ids1ids1ids1ids1') |
| | | // this.single1 = selection.length!=1 |
| | | // this.multiple1 = !selection.length |
| | | }, |
| | | getRowId1(row) |
| | | { |
| | | return row.id |
| | | }, |
| | | getRowId2(row) |
| | | { |
| | | return row.id |
| | | }, |
| | | getList1() { |
| | | 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) { |
| | | const shareList = {} |
| | | shareList.shareContents = this.id1 || this.ids; |
| | | shareList.shareIds = this.ids1 |
| | | console.log(shareList,'sharelistsharelist') |
| | | this.$modal.confirm('是否确认分享?').then(function() { |
| | | return share(shareList); |
| | | }).then(() => { |
| | | |
| | | this.getList(); |
| | | this.getList1(); |
| | | this.$modal.msgSuccess("分享成功"); |
| | | this.id1 = undefined |
| | | this.open1 = false; |
| | | }).catch(() => {}); |
| | | }, |
| | | // ------------------------------------------------------------------ |
| | | |
| | | |
| | | getInfo(){ |
| | | console.log('-----------------') |
| | | getInfo().then(response=>{ |
| | | console.log(response.user.roles[0].roleId,'roleID') |
| | | this.userId = response.user.roles[0].roleId |
| | | }) |
| | | }, |
| | | //展开行 |
| | | expandRowClassName({ row, rowIndex }) { |
| | | // 返回对应行的样式配置对象 |
| | | return { |
| | | 'expand-row': true, // 添加自定义样式类名 |
| | | 'expand-row-height': '40px' // 设置展开行的高度 |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | //首行样式 |
| | | tableHeaderRowClassName() { |
| | | return 'custom-header-row'; |
| | | }, |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | //隔行变色 |
| | | tableRowClassName1({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row3"; |
| | | } else { |
| | | return "statistics-warning-row2"; |
| | | } |
| | | }, |
| | | /** 查询角色列表 */ |
| | | //列表显示家大事记 |
| | | |
| | | |
| | | getList() { |
| | | this.loading = true; |
| | | |
| | | listTravelPrice(this.queryParams).then(response => { |
| | | this.travelpriceList = response.data.data; |
| | | //alert(this.travelpriceList.url) |
| | | console.log("0000") |
| | | console.log(this.travelpriceList,'1111111111111111111111111') |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | |
| | | const travelBaseMap = {}; |
| | | |
| | | // 将所有请求存储起来 |
| | | const promises = []; |
| | | for (const item of this.travelpriceList) { |
| | | const promise = listTravelBase(item.id).then(result => { |
| | | console.log(result.data) |
| | | travelBaseMap[item.id] = result.data; |
| | | }); |
| | | promises.push(promise); |
| | | } |
| | | |
| | | // 等待所有数据都请求完毕后再设置travelBase |
| | | Promise.all(promises).then(() => { |
| | | this.travelBase = travelBaseMap; |
| | | }); |
| | | }); |
| | | |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | //基金/台账的选择 |
| | | getSrc1(type) { |
| | | if (type === 0) { |
| | | return '基金' |
| | | }else { |
| | | return '台账' |
| | | } |
| | | }, |
| | | |
| | | getSrc2(kind) { |
| | | if (kind == 0) { |
| | | return '现金' |
| | | }else { |
| | | return '自动扣划' |
| | | } |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | |
| | | /** 查询角色列表 */ |
| | | //列表显示家大事记 |
| | | |
| | | |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | // console.log(this.queryParams) |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | |
| | | listTravelPrice(this.queryParams).then(response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | this.travelpriceList = response.data.data; |
| | | console.log(this.travelpriceList[0]) |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | handleRemove(file) { |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | if(this.fileListOther[i].url==file.url) |
| | | this.$delete(this.fileListOther,i); |
| | | } |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | getRowId(row) |
| | | handleRemove(file) { |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | return row.id |
| | | }, |
| | | // 取消按钮(数据权限) |
| | | cancelDataScope() { |
| | | this.openDataScope = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | if (this.$refs.menu != undefined) { |
| | | this.$refs.menu.setCheckedKeys([]); |
| | | if(this.fileListOther[i].url==file.url) |
| | | this.$delete(this.fileListOther,i); |
| | | } |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | getRowId(row) |
| | | { |
| | | return row.id |
| | | |
| | | }, |
| | | // 取消按钮(数据权限) |
| | | cancelDataScope() { |
| | | this.openDataScope = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | if (this.$refs.menu != undefined) { |
| | | this.$refs.menu.setCheckedKeys([]); |
| | | } |
| | | this.menuExpand = false, |
| | | this.menuNodeAll = false, |
| | | this.deptExpand = true, |
| | | this.deptNodeAll = false, |
| | | this.form = { |
| | | roleId: undefined, |
| | | roleName: undefined, |
| | | roleKey: undefined, |
| | | roleSort: 0, |
| | | status: "0", |
| | | menuIds: [], |
| | | deptIds: [], |
| | | menuCheckStrictly: true, |
| | | deptCheckStrictly: true, |
| | | remark: undefined |
| | | }; |
| | | this.resetForm("elForm"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | console.log(this.ids) |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.dialog1Visible = true; |
| | | this.dialog2Visible = false; |
| | | this.title = "添加旅游内容"; |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd1(row) { |
| | | const id = row.id |
| | | this.row = row; |
| | | this.reset(); |
| | | this.centerDialogVisible = true; |
| | | this.title1 = "添加每日行程内容"; |
| | | |
| | | }, |
| | | |
| | | /** 提交按钮(数据权限) */ |
| | | submitDataScope1: async function() { |
| | | const id = this.row.id |
| | | |
| | | this.formDat.cid = id; |
| | | // let ul = this.fileList.map(function (elem){ |
| | | // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | // }).join(",") |
| | | // let uls = this.fileListOther.map(function (elem){ |
| | | // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | // }).join(",") |
| | | // this.formDat.url = ul+","+uls |
| | | console.log(this.formDat) |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | |
| | | addTravelBase(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.centerDialogVisible = false; |
| | | this.open = false; |
| | | // 清空formDat对象的数据 |
| | | Object.keys(this.formDat).forEach(key => { |
| | | this.formDat[key] = ''; |
| | | }); |
| | | for(let i = 0; i <= this.fileList.length; i++) |
| | | { |
| | | this.handleRemove(this.fileList[0]); |
| | | } |
| | | for(let i = 0; i < this.fileListOther.length; i++){ |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | } |
| | | this.getList(); |
| | | |
| | | |
| | | }); |
| | | } |
| | | this.menuExpand = false, |
| | | this.menuNodeAll = false, |
| | | this.deptExpand = true, |
| | | this.deptNodeAll = false, |
| | | this.form = { |
| | | roleId: undefined, |
| | | roleName: undefined, |
| | | roleKey: undefined, |
| | | roleSort: 0, |
| | | status: "0", |
| | | menuIds: [], |
| | | deptIds: [], |
| | | menuCheckStrictly: true, |
| | | deptCheckStrictly: true, |
| | | remark: undefined |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | console.log(this.ids) |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加家庭收支台账"; |
| | | }, |
| | | |
| | | // 弹窗 |
| | | handleShow(row){ |
| | | }); |
| | | // Object.keys(this.formDat).forEach(key => { |
| | | // this.formDat[key] = ''; |
| | | // }); |
| | | // this.handleRemove(this.fileList[0]); |
| | | // this.handleRemoveFile(this.fileListOther[0]); |
| | | // 清空formDat对象的数据 |
| | | Object.keys(this.formDat).forEach(key => { |
| | | this.formDat[key] = ''; |
| | | }); |
| | | for(let i = 0; i <= this.fileList.length; i++) |
| | | { |
| | | this.handleRemove(this.fileList[0]); |
| | | } |
| | | for(let i = 0; i < this.fileListOther.length; i++){ |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | } |
| | | }, |
| | | // 弹窗 |
| | | handleShow(row){ |
| | | const id = row.id; |
| | | |
| | | this.openDataScope = true |
| | | // this.getList() |
| | | // this.getList() |
| | | //alert(123) |
| | | this.detailList = row.detailList |
| | | // alert(row.index) |
| | | this.title = "展示详情"; |
| | | this.title = "每日费用详情"; |
| | | this.getList1() |
| | | }, |
| | | |
| | | }, |
| | | |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | | // alert(id) |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | | this.open2 = false; |
| | | // alert(id) |
| | | // alert(row.fee_id) |
| | | this.$router.push("/self/travel/Info/" + id); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | const id = row.id; |
| | | let jd = true |
| | | this.$router.push("/self/travel/Info/" + id); |
| | | }, |
| | | handleCheck1(row){ |
| | | const id = row.id; |
| | | // alert(id) |
| | | this.$router.push("/self/travel/travelInfo/" + id); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | |
| | | this.$router.push({ |
| | | path:"/self/travel/edit/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | const id = row.id; |
| | | // console.log(id); |
| | | let jd = true |
| | | // this.$router.push("/self/travel/edit/" + id); |
| | | this.$router.push({ |
| | | path:"/self/travel/edit/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate1(row) { |
| | | const id = row.id; |
| | | let jd = true |
| | | |
| | | this.$router.push({ |
| | | path:"/self/travel/travelInfo/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | /** 提交按钮(数据权限) */ |
| | | submitDataScope: function() { |
| | | |
| | | let ul = this.fileList.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | let uls = this.fileListOther.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | this.formDat.url = ul+","+uls |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | |
| | | addEconomy(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | requestUpload(params) |
| | | handleRemove(file) { |
| | | //alert(98) |
| | | //alert(this.fileList.length) |
| | | for(let i = 0; i < this.fileList.length; i++) |
| | | { |
| | | if(this.fileList[i].url==file.url) |
| | | { |
| | | this.$delete(this.fileList,i); |
| | | this.$delete(this.uploadFileList,i); |
| | | } |
| | | } |
| | | // let ul = this.fileList.map(function (elem){ |
| | | // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | // }).join(",") |
| | | // alert(this.fileListOther.length) |
| | | // let uls = this.fileListOther.map(function (elem){ |
| | | // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | // }).join(",") |
| | | // this.formDat.url = ul+","+uls; |
| | | }, |
| | | handleRemoveFile(file) { |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | if(this.fileListOther[i].url==file.url) |
| | | { |
| | | this.$delete(this.fileListOther,i); |
| | | this.$delete(this.uploadFileList1,i); |
| | | } |
| | | } |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | //alert(123) |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | |
| | | uploadPic(formData).then(response => { |
| | | let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) |
| | | /** 提交按钮(数据权限) */ |
| | | submitDataScope: function() { |
| | | |
| | | if(_this.fot.includes(pth) === true) |
| | | { |
| | | _this.fileList.push({name:response.data.fileName, "url":response.data.url}) |
| | | |
| | | } |
| | | this.$refs["elForm2"].validate(valid => { |
| | | if (valid) { |
| | | console.log(this.formDat4); |
| | | addTravelPrice(this.formDat4).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | |
| | | else{ |
| | | _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) |
| | | this.dialog1Visible = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | }); |
| | | // 清空formDat对象的数据 |
| | | Object.keys(this.formDat4).forEach(key => { |
| | | this.formDat4[key] = ''; |
| | | }); |
| | | this.handleRemove(this.fileList[0]); |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | }, |
| | | handleChange(file, fileList1) { |
| | | //定义一个全局数组uploadFileList来做存储 |
| | | |
| | | } |
| | | }) |
| | | // this.uploadFileList.push(file.raw); |
| | | console.log("=========5555=========") |
| | | console.log(file) |
| | | // console.log(this.uploadFileList) |
| | | // this.fileList = fileList |
| | | //alert(file) |
| | | this.uploadFileList.push(file.raw); |
| | | this.fileList.push({name:file.name,url:file.url}) |
| | | //alert(fileList1.length) |
| | | }, |
| | | handleChange1(file, fileOtherList1) { |
| | | //定义一个全局数组uploadFileList来做存储 |
| | | this.uploadFileList1.push(file.raw); |
| | | this.fileListOther.push({name:file.name,url:file.url}) |
| | | // this.uploadFileList.push(file.raw); |
| | | console.log("=========5555=========") |
| | | //console.log(file) |
| | | // console.log(this.uploadFileList) |
| | | // this.fileList = fileList |
| | | }, |
| | | fileUpload(){ |
| | | // var file = params.file; |
| | | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const Ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除序号为"' + Ids + '"的数据项?').then(function() { |
| | | return delEconomy(Ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | var formData = new FormData(); |
| | | this.$refs.upload1.submit(); |
| | | // formData.append('uploadFile', file); |
| | | if(this.uploadFileList1.length==0){ |
| | | this.$modal.msgSuccess("文档上传列表不能为空!"); |
| | | return |
| | | } |
| | | this.uploadFileList1.forEach((elem)=>{ |
| | | formData.append("files", elem) |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | }) |
| | | |
| | | let _this = this |
| | | |
| | | this.uploading = true; |
| | | uploadPic(formData).then(response => { |
| | | _this.uploadFileList1 = [] |
| | | _this.formDat.url = _this.formDat.url+","+response.fileNames |
| | | alert(_this.formDat.url) |
| | | _this.$modal.msgSuccess("文件上传成功!"); |
| | | }) |
| | | |
| | | }, |
| | | picUpload() |
| | | { |
| | | var formData = new FormData(); |
| | | //alert(976) |
| | | //this.$refs.upload.submit(); |
| | | //alert(8) |
| | | //alert(this.uploadFileList.length) |
| | | if(this.uploadFileList.length==0){ |
| | | this.$modal.msgSuccess("图片上传列表不能为空!"); |
| | | return} |
| | | //console.log(this.uploadFileList) |
| | | this.uploadFileList.forEach((elem)=>{ |
| | | formData.append("files", elem) |
| | | |
| | | }) |
| | | //alert(90) |
| | | let _this = this |
| | | //alert(9) |
| | | uploadPic(formData).then(response => { |
| | | // alert("dds") |
| | | _this.formDat.url = _this.formDat.url+","+response.fileNames |
| | | // alert(_this.formDat.url) |
| | | _this.uploadFileList = [] |
| | | _this.$modal.msgSuccess("图片上传成功"); |
| | | |
| | | }); |
| | | }, |
| | | requestUpload(params) { |
| | | //alert(98) |
| | | // this.uploadFileList.push(params.file); |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const Ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除所选数据项?').then(function() { |
| | | return delTravelPrice(Ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete1(row) { |
| | | const id = row.id || this.ids; |
| | | console.log(id) |
| | | this.$modal.confirm('是否确认删除所选中数据项?').then(function() { |
| | | return delTravelBase(id); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.ids = [] |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('/zfEconomy/export', { |
| | | ...this.queryParams |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | }else |
| | | { |
| | | this.download('/zfEconomy/export1/'+Ids, { |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | } |
| | | }else |
| | | { |
| | | this.download('/zfEconomy/export1/'+Ids, { |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | , |
| | | handleExportTemplate(){ |
| | | this.download('/zfEconomy/model', { |
| | | this.download('/zfEconomy/model', { |
| | | |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 导入操作*/ |
| | | handleEnport(params){ |
| | |
| | | } |
| | | |
| | | } |
| | | }, |
| | | }; |
| | | }, |
| | | }; |
| | | |
| | | |
| | | </script> |
| | | </script> |
| | | |
| | | <style> |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | <style> |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | } |
| | | |
| | | } |
| | | </style> |
| | | .el-table__row.statistics-warning-row2 { |
| | | background: #EBFFF2; |
| | | } |
| | | .el-table__row.statistics-warning-row3 { |
| | | background: #f8f8dc; |
| | | } |
| | | .button { |
| | | background: center no-repeat url('../../assets/images/弹窗 1.png') ; |
| | | /* margin-left: 66vw; */ |
| | | } |
| | | .button_delete { |
| | | background: center no-repeat url('../../assets/images/删除2.png') ; |
| | | |
| | | /* margin-left: 66vw; */ |
| | | } |
| | | .custom-header-row { |
| | | background-color: #EBAFB4 /* 更改为你想要的背景颜色 */ |
| | | /* color: #FFF; 更改为你想要的文字颜色 */ |
| | | } |
| | | .el-table__cell { |
| | | font-size: 14px; /* 设置字体大小 */ |
| | | } |
| | | .button-container { |
| | | display: inline-flex; /* 设置按钮容器为行内元素 */ |
| | | } |
| | | </style> |