12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019 |
- <template>
- <div class="app-container">
- <div class="filter-container">
- <el-select v-model="getdataListParm.parammaps.pastureName" placeholder="牧场" class="filter-item" @change="changePastureName">
- <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
- </el-select>
- <el-select v-model="getdataListParm.parammaps.departmentName" clearable placeholder="部门" class="filter-item">
- <el-option v-for="item in findAllDepart" :key="item.id" :label="item.name" :value="item.name" />
- </el-select>
- <el-autocomplete ref="cardNumber" v-model="getdataListParm.parammaps.cardNumber" style="width:300px" value-key="cardNumber" class="inline-input filter-item" :fetch-suggestions="cardNumberSearch" placeholder="请选择油卡编号" @select="handlecardNumberSelect">
- <template slot-scope="{ item }">
- <div class="name" style="display: inline;">{{ item.cardNumber }}</div>
- </template>
- </el-autocomplete>
- <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_search">搜索</el-button>
- <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-edit" @click="form_add">新增</el-button>
- <el-button class="filter-item" style="margin-left: 10px;display: inline-block;" type="info" icon="el-icon-tickets" @click="handleDownloadTemp"> 模板 </el-button>
- <el-button v-if="isOtherinfoExport" class="filter-item" type="success" style="margin-left: 10px;" icon="el-icon-download" @click="handleDownload">导出</el-button>
- <el-upload :headers="headers" style="margin-left: 10px;display: inline-block;" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImportExcel" :on-success="handleImportExcelSuccess">
- <el-button v-waves class="filter-item" type="warning" icon="el-icon-download">导入</el-button>
- </el-upload>
- </div>
- <el-table
- :key="tableKey"
- v-loading="listLoading"
- element-loading-text="给我一点时间"
- :data="list"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- :row-style="rowStyle"
- :cell-style="cellStyle"
- class="elTable"
- @sort-change="tableSort"
- :max-height="myHeight"
- >
- <el-table-column label="序号" align="center" type="index" width="50px">
- <template slot-scope="scope">
- <span>{{ scope.$index + (pageNum-1) * pageSize + 1 }}</span>
- </template>
- </el-table-column>
- <el-table-column label="牧场" min-width="110px" align="center" prop="pastureName" />
- <el-table-column label="部门" min-width="110px" align="center" prop="departmentName" />
- <el-table-column label="油卡编号" min-width="110px" align="center" prop="cardNumber" />
- <el-table-column label="油卡类型" min-width="110px" align="center" prop="cardType" />
- <el-table-column label="剩余余额" min-width="110px" align="center" sortable prop="cardAmount" />
- <el-table-column label="设备编号" min-width="110px" align="center" prop="assetNumber" />
- <el-table-column label="设备名称" min-width="110px" align="center" prop="assetName" />
- <el-table-column label="油卡状态" min-width="110px" align="center" prop="assetName">
- <template slot-scope="scope">
- <span v-if="scope.row.enable == 0">启用</span>
- <span v-else>停用</span>
- </template>
- </el-table-column>
- <el-table-column label="操作" align="center" width="350" class-name="small-padding fixed-width" fixed="right">
- <template slot-scope="{row}">
- <el-button v-if="row.enable == 0" type="success" size="mini" @click="form_edit(row)">编辑</el-button>
- <el-button type="success" size="mini" @click="handleChange(row)">变更记录</el-button>
- <el-button type="success" size="mini" @click="handleRecharge(row)">充值</el-button>
- <el-button v-if="row.enable == 0" type="danger" size="mini" @click="handleDisable(row)">停用</el-button>
- <el-button v-else type="danger" size="mini" @click="handleDisable(row)">启用</el-button>
- <el-button v-if="row.enable == 1" type="danger" size="mini" @click="form_delete(row)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination v-show="total>0" :total="total" :page.sync="getdataListParm.offset" :limit.sync="getdataListParm.pagecount" @pagination="get_table_data" />
- <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" :close-on-click-modal="false" width="50%">
- <el-form ref="temp" :rules="rules" :model="temp" label-position="right" label-width="100px" style="width: 800px; margin-left:50px;">
- <el-row>
- <el-col :span="12">
- <el-form-item label="卡号:" prop="cardNumber">
- <el-input ref="cardNumber" v-model="temp.cardNumber" :disabled="dialogStatus=='update'" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="设备:" prop="assetSum">
- <el-autocomplete ref="assetSum" v-model="temp.assetSum" style="width:300px" value-key="assetSum" class="inline-input" :fetch-suggestions="formNumberSearch" placeholder="请选择设备" @select="handleformNameSelect" @blur="blurformNameSelect">
- <template slot-scope="{ item }">
- <div class="name" style="display: inline;">{{ item.assetName }}</div>
- </template>
- </el-autocomplete>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="牧场:" prop="pastureName">
- <el-input ref="pastureName" v-model="temp.pastureName" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="部门:" prop="departmentName">
- <el-input ref="departmentName" v-model="temp.departmentName" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="卡类型:" prop="cardType">
- <el-select ref="cardType" v-model="temp.cardType" placeholder="卡类型" style="width:100%;" disabled>
- <el-option v-for="item in cardTypeList" :key="item.id" :label="item.name" :value="item.name" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="卡余额:" prop="cardAmount">
- <el-input ref="cardAmount" v-model="temp.cardAmount" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button v-if="dialogStatus==='create'" ref="createb" :disabled="isokDisable" type="success" @click="add_dialog_save_again()">保存并新增</el-button>
- <el-button type="primary" :disabled="isokDisable" @click="dialogStatus==='create'?add_dialog_save():edit_dialog_save()">保存并关闭</el-button>
- <el-button @click="dialogFormVisible = false;get_table_data()">取消并关闭</el-button>
- </div>
- </el-dialog>
- <el-dialog :title="textMap[tabledialogStatus]" :visible.sync="changeFormVisible" :close-on-click-modal="false" width="50%">
- <el-table
- :key="tableKey"
- v-loading="changelistLoading"
- element-loading-text="给我一点时间"
- :data="changelist"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- :row-style="rowStyle"
- :cell-style="cellStyle"
- class="elTable"
- >
- <el-table-column label="变更日期" align="center" sortable min-width="110px" prop="changeDate" />
- <el-table-column label="变更类型" align="center" min-width="110px" prop="changeType" />
- <el-table-column label="变更前设备" align="center" min-width="110px" prop="beforeMaintenance" />
- <el-table-column label="变更后设备" align="center" min-width="110px" prop="afterMaintenance" />
- <el-table-column label="变更人" align="center" min-width="110px" prop="empname" />
- </el-table>
- <h3 style="font-weight: 300;">{{ cardNumber }}-启停记录</h3>
- <el-table
- :key="tableKey2"
- v-loading="changelistLoading"
- element-loading-text="给我一点时间"
- :data="changelist2"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- :row-style="rowStyle"
- :cell-style="cellStyle"
- class="elTable"
- >
- <el-table-column label="启停日期" align="center" sortable min-width="110px" prop="oildCardDate" />
- <el-table-column label="启停类型" align="center" min-width="110px" prop="statue" />
- <el-table-column label="操作人" align="center" min-width="110px" prop="personName" />
- </el-table>
- <div slot="footer" class="dialog-footer" style="bottom:10px">
- <el-button @click="changeFormVisible = false;get_table_data()">关闭</el-button>
- </div>
- </el-dialog>
- <el-dialog :title="textMap[tabledialogStatus]" :visible.sync="rechargeFormVisible" :close-on-click-modal="false" width="50%">
- <el-table
- :key="tableKey"
- v-loading="rechargelistLoading"
- element-loading-text="给我一点时间"
- :data="rechargelist"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- :row-style="rowStyle"
- :cell-style="cellStyle"
- class="elTable"
- >
- <el-table-column label="日期" align="center" type="index" width="150px">
- <template slot-scope="scope">
- <span>{{ scope.row.dateFormat }}</span>
- </template>
- </el-table-column>
- <el-table-column label="卡号" min-width="110px" align="center">
- <template slot-scope="scope">
- <span>{{ scope.row.cardCode }}</span>
- </template>
- </el-table-column>
- <el-table-column label="充值金额" width="150px" align="center">
- <template slot-scope="scope">
- <span>{{ scope.row.rechargeNum }}</span>
- </template>
- </el-table-column>
- <el-table-column label="充值人" width="150px" align="center">
- <template slot-scope="scope">
- <span>{{ scope.row.empName }}</span>
- </template>
- </el-table-column>
- </el-table>
- <div slot="footer" class="dialog-footer" style="bottom:10px">
- <el-button v-if="rechargeTemp.enable == 0" type="success" @click="createRecharge()">充值</el-button>
- <el-button @click="rechargeFormVisible = false;get_table_data()">取消并关闭</el-button>
- </div>
- </el-dialog>
- <el-dialog :title="textMap[dialogStatus]" :visible.sync="rechargeFFormVisible" :close-on-click-modal="false" width="50%">
- <el-form ref="temp" :rules="rules" :model="temp" label-position="right" label-width="100px" style="width: 800px; margin-left:50px;">
- <el-row>
- <el-col :span="8">
- <el-form-item label="负责人:" prop="employeId">
- <el-select v-model="temp.employeId" placeholder="负责人" class="filter-item" style="width:100%;">
- <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="当前时间:" prop="dateFormat" style="width:100%;">
- <el-date-picker v-model="temp.dateFormat" type="date" placeholder="当前时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd" disabled style="width:100%;" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="充值金额" prop="rechargeNum" style="width:100%;">
- <el-input ref="rechargeNum" v-model="temp.rechargeNum" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="createRechargeData()">确认</el-button>
- <el-button @click="rechargeFFormVisible = false">取消并关闭</el-button>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- // 引入
- import { GetDataByName, GetDataByNames, PostDataByName, getRecuData, ExecDataByConfig, failproccess,checkButtons } from '@/api/common'
- import waves from '@/directive/waves'
- import { parseTime, sortChange,json2excel } from '@/utils/index.js'
- import { validateEMail } from '@/utils/validate.js'
- import Pagination from '@/components/Pagination'
- import { MessageBox } from 'element-ui'
- import Cookies from 'js-cookie'
- import { getToken } from '@/utils/auth'
- export default {
- name: 'Otherinfo',
- components: { Pagination },
- directives: { waves },
- data() {
- return {
- myHeight:document.documentElement.clientHeight - 85- 200,
- isOtherinfoExport:[],
- buttons:[],
- isokDisable: false,
- tableKey: 0,
- tableKey2: 0,
- list: null,
- changelist: null,
- changelist2: null,
- rechargelist: null,
- total: 0,
- listLoading: true,
- changelistLoading: true,
- rechargelistLoading: true,
- formNumberSearchList: [],
- requestParam: {
- name: 'insertAsset',
- offset: 0,
- pagecount: 0,
- parammaps: {}
- },
- requestParam2: {},
- parentDept: [],
- getDeptParm: { name: 'getdeptrecu', idname: 'value', params: [-1] },
- postDataPramas: { },
- getdataListParm: {
- name: 'getOilcardList', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- parammaps: { pname: '', pastureName: Cookies.get('pasturename') }
- },
- requestFilterParams: {
- name: '', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- parammaps: {}
- },
- requestFilterParams2: {
- name: '', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- parammaps: {}
- },
- getchangedataListParm: {
- name: 'getOilcardHistory', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- parammaps: { }
- },
- getchangedataListParm2: {
- // name: 'getOilcardHistory', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- // parammaps: { }
- },
- getrechargedataListParm: {
- name: 'getrechargerecordList', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
- parammaps: { }
- },
- cardTypeList: [{ name: '内部', id: '0' }],
- findAllProvider: [],
- findAllAssetType: [],
- findAllPasture: [],
- findAllDepart: [],
- findAllEmploye: [],
- getDictByName: [],
- findAllAsset: [],
- requestParams: [
- { name: 'findAllProvider', offset: 0, pagecount: 0, params: [] },
- { name: 'findAllAssetType', offset: 0, pagecount: 0, params: [] },
- { name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': Cookies.get('pastureid') }},
- // { name: 'findAllDepart', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid') }},
- { name: 'findAllEmploye', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid') }},
- { name: 'findAllAsset', offset: 0, pagecount: 0, params: [] },
- { name: 'getDictByName', offset: 0, pagecount: 0, params: ['资产状态'] }
- ],
- getDepartParam: { name: 'findAllDepart1', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid'), 'eId': Cookies.get('employeid') }},
- dataform: { deptId: '', parentId: '' },
- temp: {},
- dialogFormVisible: false,
- changeFormVisible: false,
- rechargeFormVisible: false,
- rechargeFFormVisible: false,
- tabledialogStatus: '',
- dialogStatus: '',
- textMap: { update: '编辑', create: '新增', change: '变更记录', recharge: '充值记录', changeF: '换卡', rechargeF: '充值' },
- dialogPvVisible: false,
- // 校验规则
- rules: {
- cardNumber: [{ required: true, message: '必填', trigger: 'blur' }],
- cardType: [{ required: true, message: '必填', trigger: 'blur' }],
- cardAmount: [{ required: true, message: '必填', trigger: 'blur' }]
- },
- rechargeTemp: {},
- rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
- cellStyle: { padding: 0 + 'px' },
- defaultProps: {
- children: 'children',
- label: 'label'
- },
- nodeKey: 'value',
- defaultCheckedKeys: [],
- cardNumber: '',
- isPercentage: false,
- percentage: 1,
- downLoadParm:{},
- downLoadList:[]
- }
- },
- computed: {
- // 设置请求头
- headers() {
- return {
- token: getToken()
- }
- },
- uploadData() {
- return {
- name: 'importOilcard',
- importParams: '牧场,车自编号,油卡,类型,上次用油量,部门',
- sheetname: 'SheetJS'
- }
- },
- // 设置上传地址
- uploadExcelUrl() {
- // process.env.VUE_APP_BASE_API是服务器的路径,也是axios的基本路径
- return process.env.VUE_APP_BASE_API + 'authdata/ImportExcel'
- }
- },
- created() {
- const that = this
- GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
- that.buttons = response.data.list
- that.get_auto_buttons()
- })
- this.get_select_list()
- this.get_table_data()
- this.getDepartDownList()
- },
- methods: {
- get_auto_buttons() {
- // 导出
- const OtherinfoExport = 'basic:otherinfo:otherinfoExport'
- const isOtherinfoExport = checkButtons(this.buttons, OtherinfoExport)
- this.isOtherinfoExport = isOtherinfoExport
- },
- tableSort(column) {
- sortChange(column, this.list)
- },
- getDeptList() {
- getRecuData(this.getDeptParm).then(response => {
- this.parentDept = response.data
- })
- },
- popoverHide(checkedIds, checkedData) {
- this.dataform.deptId = checkedIds
- this.dataform.parentId = checkedData.parentid
- },
- providerSearch(queryString, cb) {
- var returnList = this.findAllProvider
- var results = queryString
- ? returnList.filter(this.createFilter(queryString))
- : returnList
- // 调用 callback 返回建议列表的数据
- cb(results)
- },
- createFilter(queryString) {
- return returnValue => {
- return (
- returnValue.assetName.toLowerCase().indexOf(queryString.toLowerCase()) >= 0
- )
- }
- },
- handleSelect(item) {
- console.log(item)
- },
- get_table_data() {
- this.listLoading = true
- GetDataByName(this.getdataListParm).then(response => {
- if (response.data.list !== null) {
- for (let i = 0; i < response.data.list.length; i++) {
- if (response.data.list[i].cardAmount !== undefined) {
- this.$set(response.data.list[i], 'cardAmount', parseFloat(response.data.list[i].cardAmount))
- }
- }
- this.list = response.data.list
- this.pageNum = response.data.pageNum
- this.pageSize = response.data.pageSize
- } else {
- this.list = []
- this.pageNum = 0
- this.pageSize = 0
- }
- this.total = response.data.total
- this.getDeptList()
- setTimeout(() => {
- this.listLoading = false
- }, 100)
- })
- },
- get_select_list() {
- this.requestParams[5].params[0] = this.$store.state.user.pastureid
- GetDataByNames(this.requestParams).then(response => {
- this.findAllProvider = response.data.findAllProvider.list
- this.findAllAssetType = response.data.findAllAssetType.list
- this.findAllPasture = response.data.findAllPasture.list
- // this.findAllDepart = response.data.findAllDepart.list
- this.findAllEmploye = response.data.findAllEmploye.list
- this.findAllAsset = response.data.findAllAsset.list
- this.getDictByName = response.data.getDictByName.list
- })
- },
- changePastureName(item) {
- this.getDepartParam.parammaps.pastureId = this.findAllPasture.find(obj => obj.name == item).id
- this.getdataListParm.parammaps.departmentId = ''
- this.getDepartDownList()
- },
- getDepartDownList() {
- GetDataByName(this.getDepartParam).then(response => {
- this.findAllDepart = response.data.list
- })
- },
- form_search() {
- this.listLoading = true
- this.getdataListParm.offset = 1
- this.get_table_data()
- },
- handleModifyStatus(row, status) {
- this.$message({ message: '操作成功', type: 'success' })
- row.status = status
- },
- form_reset() {
- this.temp = { inputDatetime: parseTime(new Date(), '{y}-{m}-{d}'), dateFormat: parseTime(new Date(), '{y}-{m}-{d}'), assetName: '', assetId: '', deptName: '', pastureName: '', pastureId: Cookies.get('pastureid'), cardNumber: '', cardType: '内部', cardAmount: '', rechargeNum: '' }
- },
- form_add() {
- this.form_reset()
- this.dialogStatus = 'create'
- this.dialogFormVisible = true
- this.$nextTick(() => {
- this.$refs['temp'].clearValidate()
- })
- },
- add_dialog_save() {
- this.$refs['temp'].validate(valid => {
- if (valid) {
- // 卡余额
- this.temp.cardAmount = parseFloat(this.temp.cardAmount).toFixed(2)
- console.log(this.requestParam, '000')
- this.requestParam = {}
- this.requestParam.common = { 'returnmap': '0' }
- this.requestParam.data = []
- if (this.temp.departmentId == undefined || this.temp.departmentId == '') {
- this.temp.departmentId = ''
- this.temp.departmentName = ''
- }
- if (this.temp.assetId == undefined || this.temp.assetId == '') {
- this.temp.assetId = ''
- this.temp.assetSum = ''
- }
- if (this.temp.pastureName == undefined || this.temp.pastureName == '') {
- this.temp.pastureName = Cookies.get('pasturename')
- }
- this.requestParam.data[0] = { 'name': 'checkOilcard', 'type': 'v', 'parammaps': {
- cardCode: this.temp.cardNumber,
- eqId: this.temp.assetId
- }}
- this.requestParam.data[1] = { 'name': 'insertOilcard', 'type': 'e', 'parammaps': {
- assetId: this.temp.assetId,
- assetName: this.temp.assetSum,
- cardAmount: this.temp.cardAmount,
- cardNumber: this.temp.cardNumber,
- cardType: this.temp.cardType,
- dateFormat: this.temp.dateFormat,
- departmentId: this.temp.departmentId,
- deptName: this.temp.departmentName,
- inputDatetime: this.temp.inputDatetime,
- pastureId: this.temp.pastureId,
- pastureName: this.temp.pastureName,
- rechargeNum: this.temp.rechargeNum
- }}
- if (this.temp.assetSum !== null && this.temp.assetSum !== undefined && this.temp.assetSum !== '') {
- this.requestParam.data[2] = { 'name': 'insertSpotList', 'resultmaps': { 'list': [{ changeType: '新增', beforeMaintenance: 0, afterMaintenance: this.temp.assetSum, changePersonId: Cookies.get('employeid') }] }}
- this.requestParam.data[2].children = []
- this.requestParam.data[2].children[0] = { 'name': 'insertOilcardHistory', 'type': 'e', 'parammaps': {
- oildcardId: '@insertOilcard.LastInsertId',
- changeType: '@insertSpotList.changeType',
- beforeMaintenance: '@insertSpotList.beforeMaintenance',
- afterMaintenance: '@insertSpotList.afterMaintenance',
- changePersonId: '@insertSpotList.changePersonId'
- }}
- }
- ExecDataByConfig(this.requestParam).then(response => {
- if (response.msg === 'fail') {
- this.$notify({ title: '失败', message: '保存失败-' + response.data, type: 'danger', duration: 2000 })
- } else {
- this.get_table_data()
- this.dialogFormVisible = false
- this.$notify({ title: '成功', message: '新增成功', type: 'success', duration: 2000 })
- }
- })
- }
- })
- },
- add_dialog_save_again() {
- this.$refs['temp'].validate(valid => {
- if (valid) {
- // 卡余额
- this.temp.cardAmount = parseFloat(this.temp.cardAmount).toFixed(2)
- console.log(this.requestParam, '000')
- this.requestParam = {}
- this.requestParam.common = { 'returnmap': '0' }
- this.requestParam.data = []
- if (this.temp.departmentId == undefined || this.temp.departmentId == '') {
- this.temp.departmentId = ''
- this.temp.departmentName = ''
- }
- if (this.temp.assetId == undefined || this.temp.assetId == '') {
- this.temp.assetId = ''
- this.temp.assetSum = ''
- }
- if (this.temp.pastureName == undefined || this.temp.pastureName == '') {
- this.temp.pastureName = Cookies.get('pasturename')
- }
- this.requestParam.data[0] = { 'name': 'checkOilcard', 'type': 'v', 'parammaps': {
- cardCode: this.temp.cardNumber,
- eqId: this.temp.assetId
- }}
- this.requestParam.data[1] = { 'name': 'insertOilcard', 'type': 'e', 'parammaps': {
- assetId: this.temp.assetId,
- assetName: this.temp.assetSum,
- cardAmount: this.temp.cardAmount,
- cardNumber: this.temp.cardNumber,
- cardType: this.temp.cardType,
- dateFormat: this.temp.dateFormat,
- departmentId: this.temp.departmentId,
- deptName: this.temp.departmentName,
- inputDatetime: this.temp.inputDatetime,
- pastureId: this.temp.pastureId,
- pastureName: this.temp.pastureName,
- rechargeNum: this.temp.rechargeNum
- }}
- if (this.temp.assetSum !== null && this.temp.assetSum !== undefined && this.temp.assetSum !== '') {
- this.requestParam.data[2] = { 'name': 'insertSpotList', 'resultmaps': { 'list': [{ changeType: '新增', beforeMaintenance: 0, afterMaintenance: this.temp.assetSum, changePersonId: Cookies.get('employeid') }] }}
- this.requestParam.data[2].children = []
- this.requestParam.data[2].children[0] = { 'name': 'insertOilcardHistory', 'type': 'e', 'parammaps': {
- oildcardId: '@insertOilcard.LastInsertId',
- changeType: '@insertSpotList.changeType',
- beforeMaintenance: '@insertSpotList.beforeMaintenance',
- afterMaintenance: '@insertSpotList.afterMaintenance',
- changePersonId: '@insertSpotList.changePersonId'
- }}
- }
- ExecDataByConfig(this.requestParam).then(response => {
- if (response.msg === 'fail') {
- this.$notify({ title: '失败', message: '保存失败-' + response.data, type: 'danger', duration: 2000 })
- } else {
- this.form_reset()
- this.$notify({ title: '成功', message: '新增成功', type: 'success', duration: 2000 })
- }
- })
- }
- })
- },
- createRechargeData() {
- this.$refs['temp'].validate(valid => {
- if (valid) {
- const rechargeNum = /^\d+(\.\d{1,2})?$/
- // 充值金额
- if (!rechargeNum.test(parseFloat(this.temp.rechargeNum))) {
- this.$message({ type: 'error', message: '充值金额请保留两位小数', duration: 2000 })
- return false
- }
- this.postDataPramas.common = { 'returnmap': '0' }
- this.postDataPramas.data = []
- this.postDataPramas.data[0] = { 'name': 'insertrechargerecord', 'type': 'e', 'parammaps': {
- 'id': this.temp.id,
- 'employeId': this.temp.employeId,
- 'cardCode': this.temp.cardCode,
- 'rechargeNum': this.temp.rechargeNum
- }}
- this.postDataPramas.data[1] = { 'name': 'updateCardbalanceExecData', 'type': 'e', 'parammaps': {
- 'id': this.temp.id,
- 'rechargeNum': this.temp.rechargeNum
- }}
- ExecDataByConfig(this.postDataPramas).then(response => {
- if (response.msg === 'fail') {
- this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
- } else {
- this.get_table_data()
- this.getrechargedataListParmList()
- this.rechargeFFormVisible = false
- this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
- }
- })
- }
- })
- },
- createRecharge() {
- this.dialogStatus = 'recharge'
- this.rechargeFFormVisible = true
- this.$set(this.temp, 'employeId', parseFloat(Cookies.get('employeid')))
- this.$set(this.temp, 'rechargeNum', '')
- this.temp.id = this.$store.id
- this.temp.dateFormat = parseTime(new Date(), '{y}-{m}-{d}')
- this.temp.cardCode = this.$store.cardCode
- // this.$nextTick(() => {
- // this.$refs['temp'].clearValidate()
- // })
- },
- handleChange(row) {
- this.textMap.change = row.cardNumber + '-变更记录'
- this.cardNumber = row.cardNumber
- this.tabledialogStatus = 'change'
- this.changeFormVisible = true
- this.getchangedataListParm.parammaps['oildcardId'] = row.id
- this.temp.dateFormat = parseTime(new Date(), '{y}-{m}-{d}')
- // this.getchangedataListParmList()
- this.getchangedataListParmList2(row)
- },
- getchangedataListParmList2(row) {
- this.changelistLoading = true
- this.getchangedataListParm2 = {}
- this.getchangedataListParm2.common = { 'returnmap': '0' }
- this.getchangedataListParm2.data = []
- this.getchangedataListParm2.data[0] = { 'name': 'getOilcardstatuehistory', 'type': 'sm', 'parammaps': {
- id: row.id
- }}
- this.getchangedataListParm2.data[1] = { 'name': 'getOilcardHistory', 'type': 'sm', 'parammaps': {
- id: row.id
- }}
- ExecDataByConfig(this.getchangedataListParm2).then(response => {
- if (response.data[0].resultmaps !== null) {
- this.changelist2 = response.data[0].resultmaps
- } else {
- this.changelist2 = []
- }
- if (response.data[1].resultmaps !== null) {
- this.changelist = response.data[1].resultmaps
- } else {
- this.changelist = []
- }
- setTimeout(() => {
- this.changelistLoading = false
- }, 100)
- })
- // GetDataByName(this.getchangedataListParm2).then(response => {
- // if (response.data.list !== null) {
- // this.changelist2 = response.data.list
- // } else {
- // this.changelist2 = []
- // }
- // setTimeout(() => {
- // this.changelistLoading2 = false
- // }, 100)
- // })
- },
- handleRecharge(row) {
- this.rechargeTemp = Object.assign({}, row)
- this.tabledialogStatus = 'recharge'
- this.rechargeFormVisible = true
- this.rechargelistLoading = true
- this.getrechargedataListParm.parammaps['cardId'] = row.id
- this.$store.id = row.id
- this.$store.cardCode = row.cardNumber
- this.getrechargedataListParmList()
- },
- getrechargedataListParmList() {
- GetDataByName(this.getrechargedataListParm).then(response => {
- this.rechargelist = response.data.list
- setTimeout(() => {
- this.rechargelistLoading = false
- }, 100)
- })
- },
- form_edit(row) {
- this.temp = Object.assign({}, row) // copy obj
- this.dialogStatus = 'update'
- this.dialogFormVisible = true
- if (this.temp.assetId == '' || this.temp.assetId == undefined) {
- this.temp.pastureName = ''
- }
- this.$nextTick(() => {
- this.$refs['temp'].clearValidate()
- })
- },
- edit_dialog_save() {
- this.$refs['temp'].validate(valid => {
- if (valid) {
- // 卡余额
- this.temp.cardAmount = parseFloat(this.temp.cardAmount).toFixed(2)
- this.requestParam = {}
- this.requestParam.common = { 'returnmap': '0' }
- this.requestParam.data = []
- if (this.temp.pastureName == undefined || this.temp.pastureName == '') {
- this.temp.pastureName = Cookies.get('pasturename')
- }
- if (this.temp.assetSum == '' || this.temp.assetSum == null || this.temp.assetSum == undefined) {
- this.temp.pastureName = ''
- this.temp.deptName = ''
- this.temp.departmentId = ''
- this.temp.assetId = ''
- this.requestParam.data[0] = { 'name': 'insertOilcardHistory', 'type': 'e', 'parammaps': {
- changeType: '删除',
- beforeMaintenance: 1,
- afterMaintenance: this.temp.assetSum,
- changePersonId: Cookies.get('employeid'),
- oildcardId: this.temp.id,
- pastureId: this.temp.pastureId,
- pastureName: this.temp.pastureName
- }}
- } else {
- this.requestParam.data[0] = { 'name': 'insertOilcardHistory', 'type': 'e', 'parammaps': {
- changeType: '修改',
- beforeMaintenance: 1,
- afterMaintenance: this.temp.assetSum,
- changePersonId: Cookies.get('employeid'),
- oildcardId: this.temp.id,
- pastureId: this.temp.pastureId,
- pastureName: this.temp.pastureName
- }}
- }
- this.requestParam.data[1] = { 'name': 'updateOilcard', 'type': 'e', 'parammaps': {
- cardNumber: this.temp.cardNumber,
- cardType: this.temp.cardType,
- cardAmount: this.temp.cardAmount,
- assetId: this.temp.assetId,
- departmentId: this.temp.departmentId,
- id: this.temp.id,
- pastureId: this.temp.pastureId,
- pastureName: this.temp.pastureName
- }}
- ExecDataByConfig(this.requestParam).then(response => {
- if (response.msg === 'fail') {
- this.$notify({ title: '失败', message: '保存失败-' + response.data, type: 'danger', duration: 2000 })
- } else {
- this.get_table_data()
- this.dialogFormVisible = false
- this.$notify({ title: '成功', message: '修改成功', type: 'success', duration: 2000 })
- }
- })
- }
- })
- },
- handleDisable(row) {
- var statue = ''
- if (row.enable == 0) {
- statue = '停用'
- } else {
- statue = '启用'
- }
- var enable = ''
- if (row.enable == 0) {
- enable = '1'
- } else {
- enable = '0'
- }
- var aa = '确认' + statue + '?'
- MessageBox.confirm('油卡编号' + row.cardNumber, aa, { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then(() => {
- this.requestParam = {}
- this.requestParam.common = { 'returnmap': '0' }
- this.requestParam.data = []
- this.requestParam.data[0] = { 'name': 'insertOilcardstatuehistory', 'type': 'e', 'parammaps': {
- oilCardId: row.id,
- statue: statue,
- personId: Cookies.get('employeid')
- }}
- this.requestParam.data[1] = { 'name': 'deleteOilcard', 'type': 'e', 'parammaps': {
- id: row.id,
- enable: enable
- }}
- console.log(this.requestParam)
- ExecDataByConfig(this.requestParam).then(response => {
- if (response.msg === 'fail') {
- this.$notify({ title: '失败', message: '失败' + response.data, type: 'danger', duration: 2000 })
- } else {
- this.get_table_data()
- this.dialogFormVisible = false
- this.$notify({ title: '成功', message: '成功', type: 'success', duration: 2000 })
- }
- })
- }).catch(() => {
- this.$message({ type: 'info', message: '已取消停用' })
- })
- },
- form_delete(row) {
- MessageBox.confirm('油卡编号' + row.cardNumber, '确认删除?', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then(() => {
- this.requestParam = {}
- this.requestParam.name = 'checkDeleteOilcard'
- this.requestParam.type = 'v'
- this.requestParam.parammaps = {}
- this.requestParam.parammaps.id = row.id
- ExecDataByConfig(this.requestParam).then((response) => {
- console.log(response)
- if (response.data == '成功执行!') {
- this.requestParam2.name = 'deleteOilcard2'
- this.requestParam2.parammaps = {}
- this.requestParam2.parammaps['id'] = row.id
- PostDataByName(this.requestParam2).then((response) => {
- if (response.msg == 'fail') {
- this.$notify({ title: '失败', message: '失败' + response.data, type: 'danger', duration: 2000 })
- } else {
- this.get_table_data()
- this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
- }
- })
- } else {
- this.$notify({ title: '失败', message: '失败' + response.data, type: 'danger', duration: 2000 })
- }
- })
- }).catch(() => {
- this.$message({ type: 'info', message: '已取消删除' })
- })
- },
- handleformNameSelect(item) {
- console.log(item)
- this.temp.assetSum = item.assetName
- this.temp.assetId = item.assetId
- this.temp.departmentName = item.deptName
- this.temp.departmentId = item.departmentId
- this.temp.pastureId = item.pastureId
- this.temp.pastureName = item.pastureName
- },
- blurformNameSelect(item) {
- this.temp.assetSum = ''
- this.temp.assetId = ''
- this.temp.deptName = ''
- this.temp.departmentId = ''
- this.temp.departmentName = ''
- this.temp.pastureName = ''
- },
- formNumberSearch(queryString, cb) {
- this.requestFilterParams.name = 'findAssetM'
- this.requestFilterParams.parammaps['pastureId'] = Cookies.get('pastureid')
- this.requestFilterParams.parammaps['assetName'] = queryString
- GetDataByName(this.requestFilterParams).then(response => {
- if (response.data.list === null) {
- this.formNumberSearchList = []
- } else {
- this.formNumberSearchList = response.data.list
- }
- console.log(this.formNumberSearchList)
- console.log(this.formNumberSearchList[0])
- console.log('queryString', queryString)
- var results = queryString ? this.formNumberSearchList.filter(this.createFilter(queryString)) : this.formNumberSearchList
- cb(results)
- })
- },
- beforeImportExcel(file) {
- const isLt2M = file.size / 1024 / 1024 < 10
- if (!isLt2M) {
- this.$message.error('上传文件大小不能超过 10MB!')
- }
- return isLt2M
- },
- handleImportExcelSuccess(res, file) {
- this.get_table_data()
- if (res.msg === 'ok') {
- this.$message({ title: '成功', message: '导入成功:' + res.data.success + '条!', type: 'success', duration: 2000 })
- if (res.data.err_count > 0) {
- this.$notify({ title: '失败', message: '导入失败:' + res.data.err_count + '条!', type: 'danger', duration: 2000 })
- import('@/vendor/Export2Excel').then(excel => {
- const list1 = res.data.result
- const tHeader = ['牧场', '车自编号', '油卡', '类型', '上次用油量', '部门', '错误信息']
- const filterVal = ['牧场', '车自编号', '油卡', '类型', '上次用油量', '部门', 'error_msg']
- const data1 = this.formatJson(filterVal, list1)
- excel.export_json_to_excel({ header: tHeader, data: data1, filename: '油卡', autoWidth: true, bookType: 'xlsx' })
- })
- }
- } else {
- this.$notify({ title: '失败', message: '上传失败', type: 'danger', duration: 2000 })
- }
- },
- formatJson(filterVal, jsonData) {
- return jsonData.map(v =>
- filterVal.map(j => {
- if (j === 'timestamp') { return parseTime(v[j]) } else { return v[j] }
- })
- )
- },
- handleDownloadTemp() {
- import('@/vendor/Export2Excel').then(excel => {
- const list1 = []
- const tHeader = [
- '牧场', '车自编号', '油卡', '类型', '余额', '部门'
- ]
- const filterVal = [
- '牧场', '车自编号', '油卡', '类型', '余额', '部门'
- ]
- const data1 = this.formatJson(filterVal, list1)
- excel.export_json_to_excel({ header: tHeader, data: data1, filename: '油卡模板', autoWidth: true, bookType: 'xlsx' })
- })
- },
- handlecardNumberSelect(item) {
- console.log(item)
- this.getdataListParm.parammaps.cardNumber = item.assetName
- },
- cardNumberSearch(queryString, cb) {
- this.requestFilterParams2.name = 'getOilcardList'
- this.requestFilterParams2.parammaps['cardNumber'] = queryString
- GetDataByName(this.requestFilterParams2).then(response => {
- if (response.data.list === null) {
- this.cardNumberSearchList = []
- } else {
- this.cardNumberSearchList = response.data.list
- }
- var results = queryString ? this.cardNumberSearchList.filter(this.createFilter(queryString)) : this.cardNumberSearchList
- cb(results)
- })
- },
- handleDownload() {
- this.$alert('油卡正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
- this.isPercentage = true
- this.percentage = 1
- var timer = setInterval(() => {
- this.percentage += 5
- if (this.percentage > 95) {
- this.percentage = 99
- clearInterval(timer)
- }
- this.percentage = this.percentage
- }, 1000)
- this.downLoadParm.name = 'getOilcardList'
- this.downLoadParm.parammaps = this.getdataListParm.parammaps
- GetDataByName(this.downLoadParm).then(response => {
- if(response.data.list !== null && response.data.list !== ''){
- for(let i=0;i<response.data.list.length;i++){
- if(response.data.list[i].enable == 0){
- this.$set(response.data.list[i],'enable','启用')
- }else{
- this.$set(response.data.list[i],'enable','停用')
- }
- }
- }
- this.downLoadList = response.data.list
- if (response.data.list !== '') {
- this.percentage = 99
- setTimeout(() => {
- this.isPercentage = false
- }, 2000)
- }
- console.log(this.downLoadList)
- const elecExcelDatas = [
- {
- tHeader: ['部门', '油卡编号', '油卡类型', '剩余余额', '设备编号', '设备名称', '油卡状态'],
- filterVal: ['departmentName', 'cardNumber', 'cardType', 'cardAmount', 'assetNumber', 'assetName', 'enable'],
- tableDatas: this.downLoadList,
- sheetName: '油卡'
- }
- ]
- json2excel(elecExcelDatas, '油卡', true, 'xlsx')
- })
- },
- }
- }
- </script>
|