| | |
| | | <el-form-item label="时间" prop="startTime" > |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px;" |
| | | style="width: 200px; |
| | | height: 35px; |
| | | border-radius: 16px 16px 16px 16px; |
| | | opacity: 0.5;" |
| | | value-format="yyyy-MM-dd HH-MM" |
| | | type="daterange" |
| | | range-separator="-" |
| | |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="总天数" prop="usePeople" > |
| | | <el-form-item label="去向" prop="destination" > |
| | | <el-input |
| | | v-model="queryParams.usePeople" |
| | | placeholder="请输入使用人" |
| | | v-model="queryParams.destination" |
| | | placeholder="请输入去向" |
| | | clearable |
| | | style="width: 240px" |
| | | 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-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="happenTime" sortable width="100" align="center" > |
| | | <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template> |
| | | <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="people" sortable width="100" /> |
| | | |
| | | <el-table-column label="标题" prop="title" 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="certificate" sortable width="100" /> |
| | | <el-table-column label="总费用" prop="totalPrice" sortable width="100" /> |
| | | <el-table-column label="公费/自费" prop="self" sortable width="100" > |
| | | <template slot-scope="scope">{{scope.row.self==0?'公费':'自费'}}</template> |
| | | </el-table-column> |
| | | <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="70px" /> |
| | | <el-table-column label="交通" prop="traffic" 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="shopping" sortable width="70px" /> |
| | | <!-- <el-table-column label="购物" prop="shopping" sortable width="70px" />--> |
| | | <el-table-column label="电子文件" prop="url" width="160" > |
| | | <template slot-scope="scope" > |
| | | <img |
| | |
| | | alt="" |
| | | style="width: 35px; height: 35px;" |
| | | fit="cover" |
| | | v-if="scope.row.url !== null" |
| | | v-if="!scope.row.url " |
| | | > |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | |
| | | alt="" |
| | | style="width: 35px; height: 35px;" |
| | | fit="cover" |
| | | v-if="scope.row.url === null" |
| | | v-if="scope.row.url " |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark" sortable width="100" /> |
| | | <!-- <el-table-column label="备注" prop="remark" sortable width="100" />--> |
| | | |
| | | |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | @click="handleUpdate1(scope.row)" |
| | | v-hasPermi="['familymodel:economy:info']" |
| | | >修改</el-button> |
| | | <el-button |
| | |
| | | <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="tableName" sortable width="100" /> |
| | | <el-table-column label="标题" prop="title" sortable width="130px" /> |
| | | <el-table-column label="去向" prop="destination" sortable width="70px" /> |
| | | <!-- <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="type" sortable width="100" /> |
| | | <el-table-column label="总金额" prop="totalCost" sortable width="100" /> |
| | | <el-table-column label="餐费" prop="eat" sortable width="70px" /> |
| | | <el-table-column label="住宿" prop="stay" sortable width="70px" /> |
| | | <el-table-column label="交通" prop="traffic" sortable width="70px" /> |
| | | <el-table-column label="门票" prop="entrance" sortable width="70px" /> |
| | | <el-table-column label="购物" prop="shopping" sortable width="70px" /> |
| | | <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="操作" align="center" sortable width="180" > |
| | |
| | | <el-dialog :title="title" :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="title"> |
| | | <el-input v-model="formDat4.title" placeholder="请输入标题" clearable :style="{width: '80%'}" > |
| | | <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-input type="date" v-model="formDat4.startTime" placeholder="请选择起始时间" style="width: 80%;"></el-input> |
| | | <el-date-picker v-model="formDat.startTime" 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="endTime"> |
| | | <el-input type="date" v-model="formDat4.endTime" placeholder="请选择结束时间" style="width: 80%;"></el-input> |
| | | <el-date-picker v-model="formDat.endTime" 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="destination"> |
| | | <el-select v-model="formDat4.destination" placeholder="请选择去向" clearable :style="{width: '80%'}" > |
| | | <el-option label="国内" value="国内"></el-option> |
| | | <el-option label="国外" value="国外"></el-option> |
| | | </el-select> |
| | | <el-input v-model="formDat4.destination" placeholder="请输入去向" style="width: 80%;"></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="旅游名称" prop="tableName"> |
| | | <el-input v-model="formDat4.tableName" placeholder="请输入旅游名称" clearable :style="{width: '80%'}" > |
| | | <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-option label="公费" value="公费"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="旅游方式" prop="type"> |
| | | <el-select v-model="formDat4.type" placeholder="请选择旅游方式" clearable :style="{width: '80%'}" > |
| | | <el-option label="自驾游" value="自驾游"></el-option> |
| | | <el-option label="跟团游" value="跟团游"></el-option> |
| | | <el-option label="自助游" value="自助游"></el-option> |
| | | </el-select> |
| | | <el-form-item label="旅游方式" prop="manner"> |
| | | <el-input v-model="formDat4.manner" placeholder="请输入旅游方式" style="width: 80%;"></el-input> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button @click="cancelData">取 消</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="title"> |
| | | <el-input v-model="formDat.title" placeholder="请输入标题" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="时间" prop="happenTime"> |
| | | <el-input |
| | | v-model='formDat.happenTime' |
| | | type='date' |
| | | placeholder='选择日期' |
| | | ></el-input> |
| | | |
| | | <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="people"> |
| | | <el-input v-model="formDat.people" placeholder="请输入人物" clearable :style="{width: '100%'}" > |
| | | <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="travelPeriod"> |
| | | <el-input v-model="formDat.travelPeriod" placeholder="请输入旅期" clearable :style="{width: '100%'}" > |
| | | <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="certificate"> |
| | |
| | | <el-option label="学生证" value="学生证"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="费用" prop="totalPrice"> |
| | | <el-input v-model="formDat.totalPrice" placeholder="请输入总共费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="公费/自费" prop="self"> |
| | | <el-select v-model="formDat.self" 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 label="车次/航班" prop="flight"> |
| | | <el-input v-model="formDat.flight" 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> |
| | | <!-- <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> |
| | | |
| | | </el-form> |
| | | <el-form ref="elForm1" :model="formDat1" :rules="rules1" size="medium" label-width="100px"> |
| | | <el-form ref="elForm" :model="formDat" :rules="rules1" size="medium" label-width="100px"> |
| | | <h4 class="form-header">费用明细 </h4> |
| | | <el-form-item label="内容" prop="content"> |
| | | <el-input v-model="formDat1.content" placeholder="请输入内容" clearable :style="{width: '100%'}" > |
| | | <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="formDat1.stay" placeholder="请输入住宿费用" clearable :style="{width: '100%'}" > |
| | | <el-input v-model="formDat.stay" type="number" placeholder="请输入住宿费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="交通费用" prop="traffic"> |
| | | <el-input v-model="formDat1.traffic" placeholder="请输入交通费用" clearable :style="{width: '100%'}" > |
| | | <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="formDat1.eat" placeholder="请输入餐费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="购物费用" prop="shopping"> |
| | | <el-input v-model="formDat1.shopping" placeholder="请输入购物费用" clearable :style="{width: '100%'}" > |
| | | <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="formDat1.entrance" placeholder="请输入门票费用" clearable :style="{width: '100%'}" > |
| | | <el-input v-model="formDat.entrance" type="number" placeholder="请输入门票费用" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | |
| | |
| | | delTravelPrice, |
| | | addTravelPrice, |
| | | uploadPic, |
| | | updateTravelPrice, |
| | | // updateTravelPrice, |
| | | addTravelBase, |
| | | getTravelBaseInfo, getTravelPriceInfo, |
| | | |
| | | } from "@/api/travel/index"; |
| | | import {getSelfEconomyInfo} from "@/api/selfeconomy"; |
| | | import {delFamilyevent, listFamilyevent} from "@/api/bignote"; |
| | | |
| | | export default { |
| | | name: "Role", |
| | |
| | | totalPrice: undefined, |
| | | self: undefined, |
| | | remark: undefined, |
| | | groupTotal:undefined, |
| | | url: undefined, |
| | | }, |
| | | formDat1: { |
| | |
| | | detailList: undefined, |
| | | }, |
| | | formDat4: { |
| | | type: undefined, |
| | | manner: undefined, |
| | | startTime: undefined, |
| | | title: undefined, |
| | | endTime: undefined, |
| | | property:undefined, |
| | | tableName: undefined, |
| | | name: undefined, |
| | | destination: undefined, |
| | | detailList:undefined, |
| | | }, |
| | | // 菜单列表 |
| | | menuOptions: [], |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | type:undefined, |
| | | useFor:undefined, |
| | | usePeople:undefined, |
| | | createTime:undefined, |
| | | |
| | | }, |
| | | // 表单参数 |
| | |
| | | }, |
| | | //表单校验 |
| | | rules: { |
| | | people: [{ |
| | | name: [{ |
| | | required: true, |
| | | message: '请输入人物', |
| | | message: '请输入旅游名称', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | |
| | | message: '请输入旅期', |
| | | trigger: 'blur' |
| | | }], |
| | | certificate: [{ |
| | | document: [{ |
| | | required: true, |
| | | message: '请输入证件', |
| | | trigger: 'blur' |
| | | }], |
| | | happenTime: [{ |
| | | happenDate: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | }], |
| | | totalPrice: [{ |
| | | manner: [{ |
| | | required: true, |
| | | message: '请选择费用', |
| | | message: '请输入出行方式', |
| | | trigger: 'blur' |
| | | }], |
| | | self: [{ |
| | | property: [{ |
| | | required: true, |
| | | message: '请选择公费/自费', |
| | | message: '请选择旅游性质', |
| | | trigger: 'change' |
| | | }], |
| | | |
| | |
| | | rules1: { |
| | | stay: [{ |
| | | required: true, |
| | | message: '请输入人物', |
| | | message: '请输入住宿费', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | content: [{ |
| | | hotel: [{ |
| | | required: true, |
| | | message: '请输入地点', |
| | | message: '请输入住宿酒店', |
| | | trigger: 'blur' |
| | | }], |
| | | traffic: [{ |
| | | travel: [{ |
| | | required: true, |
| | | message: '请输入标题', |
| | | message: '请输入交通费', |
| | | trigger: 'blur' |
| | | }], |
| | | entrance: [{ |
| | | required: true, |
| | | message: '请输入旅期', |
| | | message: '请输入门票', |
| | | trigger: 'blur' |
| | | }], |
| | | eat: [{ |
| | | required: true, |
| | | message: '请输入证件', |
| | | message: '请输入餐费', |
| | | trigger: 'blur' |
| | | }], |
| | | shopping: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | }], |
| | | |
| | | |
| | | }, |
| | | rules2: { |
| | | type: [{ |
| | | manner: [{ |
| | | required: true, |
| | | message: '请输入旅游方式', |
| | | trigger: 'blur' |
| | | }], |
| | | property: [{ |
| | | groupTotal: [{ |
| | | required: true, |
| | | message: '请输入旅游性质', |
| | | trigger: 'change' |
| | | message: '请输入团费', |
| | | trigger: 'blur' |
| | | }], |
| | | destination: [{ |
| | | required: true, |
| | | message: '请选择去向', |
| | | trigger: 'change' |
| | | }], |
| | | tableName: [{ |
| | | property: [{ |
| | | required: true, |
| | | message: '请输入旅游名称', |
| | | trigger: 'blur' |
| | |
| | | message: '请选择日期', |
| | | trigger: 'change' |
| | | }], |
| | | title: [{ |
| | | name: [{ |
| | | required: true, |
| | | message: '请选择标题', |
| | | trigger: 'blur' |
| | |
| | | |
| | | 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(async response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | this.travelpriceList = response.data.data; |
| | | listTravelPrice(this.queryParams).then(response => { |
| | | this.travelpriceList = response.data.data; |
| | | |
| | | this.total = response.data.total; |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | |
| | | for (let item of this.travelpriceList) { |
| | | this.queryParams.fid = item.id |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | const baseResponse = await listTravelBase(this.queryParams); |
| | | const baseData = baseResponse.data.data; |
| | | this.$set(this.travelBase, item.id, baseData); |
| | | // debugger |
| | | this.total = response.data.total; |
| | | const travelBaseMap = {}; |
| | | |
| | | for(let item1 of item.detailList){ |
| | | console.log(item1); |
| | | |
| | | const targetDate = item1.happenTime; // 要查找的目标日期 |
| | | // console.log("targetDate" + targetDate); |
| | | const keys = Object.keys(baseData); |
| | | for (let i = 0; i < keys.length; i++) { |
| | | const key = keys[i]; |
| | | const baseItem = baseData[key]; |
| | | // console.log("baseItem" + baseItem); |
| | | if (baseItem.happenTime === targetDate) { |
| | | // 找到了符合条件的数据 |
| | | const baseItem = baseData[key]; |
| | | delete item1.id; |
| | | delete item1.address; |
| | | const mergedItem = { ...baseItem, ...item1 }; |
| | | |
| | | this.$set(baseData, key, mergedItem); |
| | | // console.log(baseData); |
| | | |
| | | break; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | // console.log("打印完毕"); |
| | | |
| | | this.loading = false; |
| | | // 将所有请求存储起来 |
| | | const promises = []; |
| | | for (const item of this.travelpriceList) { |
| | | const promise = listTravelBase({ cid: item.id }).then(result => { |
| | | travelBaseMap[item.id] = result.data; |
| | | }); |
| | | promises.push(promise); |
| | | } |
| | | ); |
| | | |
| | | // 等待所有数据都请求完毕后再设置travelBase |
| | | Promise.all(promises).then(() => { |
| | | this.travelBase = travelBaseMap; |
| | | }); |
| | | }); |
| | | |
| | | |
| | | }, |
| | | |
| | |
| | | submitDataScope1: async function() { |
| | | const id = this.row.id |
| | | |
| | | this.formDat2.detailList = []; |
| | | console.log("调试"); |
| | | async function getData() { |
| | | try { |
| | | const response = await listTravelPrice(this.queryParams); |
| | | this.travelpriceList = response.data.data; |
| | | |
| | | const filteredData = this.travelpriceList.filter(item => item.id === id); |
| | | console.log(filteredData[0].detailList); |
| | | this.total = response.data.total; |
| | | |
| | | return filteredData[0].detailList; |
| | | } catch (error) { |
| | | console.error("请求错误:", error); |
| | | } |
| | | } |
| | | |
| | | this.formDat2.detailList = await getData(); // 调用async函数来获取数据并赋值给detailList |
| | | |
| | | console.log(" this.formDat2.detailList"); |
| | | console.log( this.formDat2.detailList); |
| | | |
| | | |
| | | this.formDat.cid = id; |
| | | let ul = this.fileList.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | this.formDat.url = ul+","+uls |
| | | // const fid = this.$route.params && this.$route.params.id; |
| | | // this.formDat.feeId = this.$route.params && this.$route.params.id; |
| | | this.formDat.feeId = id; |
| | | this.formDat1.happenTime = this.formDat.happenTime; |
| | | this.formDat2.detailList.push(this.formDat1); |
| | | this.formDat2.id = id; |
| | | const stay = parseFloat(this.formDat1.stay); |
| | | const traffic = parseFloat(this.formDat1.traffic); |
| | | const eat = parseFloat(this.formDat1.eat); |
| | | const shopping = parseFloat(this.formDat1.shopping); |
| | | const entrance = parseFloat(this.formDat1.entrance); |
| | | |
| | | const totalPrice = stay + traffic + eat + shopping + entrance; |
| | | console.log("总费用"); |
| | | console.log(totalPrice); |
| | | this.formDat.totalPrice=totalPrice; |
| | | |
| | | console.log(this.formDat2) |
| | | console.log("?"); |
| | | debugger |
| | | console.log(this.formDat) |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | |
| | |
| | | this.centerDialogVisible = false; |
| | | this.getList(); |
| | | }); |
| | | updateTravelPrice(this.formDat2).then(response => { |
| | | this.$modal.msgSuccess("费用新增成功"); |
| | | this.centerDialogVisible = false; |
| | | }); |
| | | Object.keys(this.formDat2).forEach(key => { |
| | | this.formDat2[key] = ''; |
| | | }); |
| | | Object.keys(this.formDat).forEach(key => { |
| | | this.formDat[key] = ''; |
| | | }); |
| | | this.handleRemove(this.fileList[0]); |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | } |
| | | }); |
| | | this.$refs["elForm1"].validate(valid => { |
| | | console.log(valid) |
| | | debugger |
| | | if (valid) { |
| | | updateTravelPrice(this.formDat2).then(response => { |
| | | this.$modal.msgSuccess("费用新增成功"); |
| | | this.centerDialogVisible = false; |
| | | }); |
| | | Object.keys(this.formDat2).forEach(key => { |
| | | this.formDat2[key] = ''; |
| | | }); |
| | | this.handleRemove(this.fileList[0]); |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | } |
| | | Object.keys(this.formDat).forEach(key => { |
| | | this.formDat[key] = ''; |
| | | }); |
| | | this.handleRemove(this.fileList[0]); |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | }, |
| | | // 弹窗 |
| | | handleShow(row){ |
| | |
| | | |
| | | const id = row.id; |
| | | // console.log(id); |
| | | this.$router.push("/self/travel/edit/" + id); |
| | | |
| | | let jd = true |
| | | // this.$router.push("/self/travel/edit/" + id); |
| | | this.$router.push({ |
| | | path:"/self/travel/edit/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate1(row) { |
| | |
| | | /** 提交按钮(数据权限) */ |
| | | submitDataScope: function() { |
| | | |
| | | this.formDat4.detailList = []; |
| | | |
| | | this.$refs["elForm2"].validate(valid => { |
| | | if (valid) { |
| | | console.log(this.formDat4); |
| | |
| | | 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]); |
| | | } |
| | | }); |
| | | // 清空formDat对象的数据 |
| | | Object.keys(this.formDat4).forEach(key => { |
| | | this.formDat4[key] = ''; |
| | | }); |
| | | this.handleRemove(this.fileList[0]); |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | }, |
| | | requestUpload(params) |
| | | { |
| | |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | async handleDelete1(row) { |
| | | handleDelete1(row) { |
| | | const id = row.id || this.ids; |
| | | console.log(id) |
| | | const feeid = row.feeId; |
| | | console.log(feeid) |
| | | const targetDay = row.happenTime |
| | | console.log(targetDay) |
| | | this.formDat7.detailList=[]; |
| | | async function getFilteredData() { |
| | | try { |
| | | const response = await listTravelPrice(this.queryParams); |
| | | this.travelpriceList = response.data.data; |
| | | |
| | | const filteredData = this.travelpriceList.filter(item => item.id === feeid); |
| | | console.log(filteredData[0].detailList); |
| | | this.change = filteredData[0].detailList.filter(item => item.happenTime !== targetDay); |
| | | console.log(this.change) |
| | | this.total = response.data.total; |
| | | |
| | | // return filteredData[0].detailList; |
| | | return this.change; |
| | | } catch (error) { |
| | | console.error("请求错误:", error); |
| | | } |
| | | } |
| | | |
| | | try { |
| | | this.formDat7.detailList = await getFilteredData(); |
| | | this.formDat7.id = feeid |
| | | console.log("打印formDat7") |
| | | console.log(this.formDat7) |
| | | } catch (error) { |
| | | console.error(error); |
| | | } |
| | | console.log(this.formDat7) |
| | | |
| | | this.$modal.confirm('是否确认删除所选数据项?').then(function() { |
| | | |
| | | this.$modal.confirm('是否确认删除所选中数据项?').then(function() { |
| | | return delTravelBase(id); |
| | | }).then(() => { |
| | | updateTravelPrice(this.formDat7).then(response => { |
| | | this.$modal.msgSuccess("费用删除成功"); |
| | | |
| | | }); |
| | | this.getList(); |
| | | this.ids = [] |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | |
| | | background-color: #EBAFB4 /* 更改为你想要的背景颜色 */ |
| | | /* color: #FFF; 更改为你想要的文字颜色 */ |
| | | } |
| | | .el-table__cell { |
| | | font-size: 14px; /* 设置字体大小 */ |
| | | } |
| | | .button-container { |
| | | display: inline-flex; /* 设置按钮容器为行内元素 */ |
| | | } |
| | | </style> |