| | |
| | | <template> |
| | | <div class="app-container" style="opacity: 1;"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | |
| | | |
| | | <el-form-item label="时间" > |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | |
| | | <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"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | |
| | | <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="handleCheck" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> |
| | | <el-table v-loading="loading" :data="travelBase" @selection-change="handleSelectionChange" @row-click="handleCheck" :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="时间" prop="address" sortable width="100" /> |
| | | |
| | | <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="travel_period" sortable width="100" /> |
| | | <el-table-column label="持证旅游" prop="certificate" sortable width="100" /> |
| | | <el-table-column label="费用" prop="total_price" sortable width="100" /> |
| | | <el-table-column label="公费/自费" prop="self" sortable width="100" /> |
| | | <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"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <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 |
| | | size="mini" |
| | | type="text" |
| | | @click="handleShow(scope.row)" |
| | | >查看明细</el-button> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <el-dialog :title="title" :visible.sync="openDataScope" width="1000px" append-to-body> |
| | | |
| | | <el-table v-loading="loading" :data="travelpriceList[detailList]" @selection-change="handleSelectionChange" @row-click="handleCheck" :row-class-name="tableRowClassName" > |
| | | <el-table v-loading="loading" :data="travelpriceList" @selection-change="handleSelectionChange" @row-click="handleCheck" :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"/> |
| | |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | |
| | | |
| | | /> |
| | | |
| | | |
| | | |
| | | </el-dialog> |
| | | |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | |
| | | <!-- 添加或修改资产信息配置对话框 --> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | |
| | | <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' |
| | |
| | | <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="#" |
| | |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | |
| | | |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | |
| | | |
| | | |
| | | </div> |
| | | </el-upload> |
| | | <h4 class="form-header">其他附件 </h4> |
| | |
| | | :file-list="fileListOther" |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | |
| | | :on-remove="handleRemove" |
| | | :http-request="requestUpload" |
| | | :show-file-list="true" |
| | |
| | | </div> |
| | | </template> |
| | | </el-upload> |
| | | |
| | | |
| | | </el-form> |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button @click="cancelData">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | |
| | | <!-- 分配角色数据权限对话框 --> |
| | | <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> |
| | | |
| | | |
| | | </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"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //在system/note/index.js中导入接口函数 --接好了 |
| | | import {listTravelPrice,enload,getTravelPriceInfo,delTravelPrice, addTravelPrice, uploadPic} from "@/api/travel/index"; |
| | | |
| | | import {listTravelPrice,listTravelBase,enload,getTravelPriceInfo,delTravelPrice, addTravelPrice, uploadPic} from "@/api/travel/index"; |
| | | |
| | | export default { |
| | | name: "Role", |
| | | dicts: ['sys_normal_disable'], |
| | |
| | | // 总条数 |
| | | total: 0, |
| | | // 家大事记表格数据 |
| | | travelpriceList: [], |
| | | travelBase: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | |
| | | fileList:[ |
| | | ], |
| | | fileListOther:[ |
| | | |
| | | |
| | | ], |
| | | dsb:true, |
| | | btn:false, |
| | |
| | | useFor:undefined, |
| | | usePeople:undefined, |
| | | createTime:undefined, |
| | | |
| | | fid:undefined |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | |
| | | message: '请输入使用人', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | |
| | | useFor: [{ |
| | | required: true, |
| | | message: '请输入用途', |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | |
| | | const id = this.$route.params && this.$route.params.id; |
| | | this.getList(id); |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | |
| | | //基金/台账的选择 |
| | | getSrc1(type) { |
| | | if (type === 0) { |
| | |
| | | return '台账' |
| | | } |
| | | }, |
| | | |
| | | |
| | | getSrc2(kind) { |
| | | if (kind == 0) { |
| | | return '现金' |
| | |
| | | return '自动扣划' |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | |
| | | |
| | | /** 查询角色列表 */ |
| | | //列表显示家大事记 |
| | | |
| | | |
| | | getList() { |
| | | |
| | | |
| | | getList(fid) { |
| | | 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) |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | this.queryParams.fid = fid |
| | | console.log(this.queryParams) |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | |
| | | listTravelPrice(this.queryParams).then(response => { |
| | | listTravelBase(this.queryParams).then(response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | this.travelpriceList = response.data.data; |
| | | |
| | | this.travelBase = response.data.data; |
| | | console.log(this.travelBase) |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | } |
| | |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加家庭收支台账"; |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | |
| | | handleUpdate(row) { |
| | | const id = row.id; |
| | | let jd = true |
| | | |
| | | |
| | | this.$router.push({ |
| | | path:"/familymodel/economy/economyInfo/" + id, |
| | | query:{ |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | 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(",") |
| | |
| | | this.formDat.url = ul+","+uls |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | |
| | | |
| | | addEconomy(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | |
| | | var formData = new FormData(); |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | |
| | | |
| | | uploadPic(formData).then(response => { |
| | | let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) |
| | | |
| | | |
| | | if(_this.fot.includes(pth) === true) |
| | | { |
| | | _this.fileList.push({name:response.data.fileName, "url":response.data.url}) |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | else{ |
| | | _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) |
| | | |
| | | |
| | | } |
| | | }) |
| | | |
| | | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('/zfEconomy/export', { |
| | |
| | | , |
| | | handleExportTemplate(){ |
| | | this.download('/zfEconomy/model', { |
| | | |
| | | |
| | | }, `zfEconomy_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 导入操作*/ |
| | |
| | | enload(formData).then(response => { |
| | | _this.getList(); |
| | | Message({ message: "导入成功", type: 'warning' }) |
| | | |
| | | |
| | | }).catch(err) |
| | | { |
| | | Message({ message: "导入失败", type: 'error' }) |
| | | } |
| | | |
| | | |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 弹窗 |
| | | handleShow(scope){ |
| | | |
| | |
| | | |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | |
| | | |
| | | } |
| | | </style> |
| | | |