|
@@ -0,0 +1,833 @@
|
|
|
+<template>
|
|
|
+ <a-card :bordered="false" v-show="visible" class="card" :title="modalTitle">
|
|
|
+ <a-row :gutter="48" slot="extra">
|
|
|
+ <a-col :md="48" :sm="48">
|
|
|
+ <span class="table-page-search-submitButtons" style="float: right">
|
|
|
+ <a-button type="error" @click="updateSbInfoScrapForAudit()">提交审批</a-button>
|
|
|
+ <a-button style="margin-left: 8px" type="primary" @click="save()">保存</a-button>
|
|
|
+ <a-button style="margin-left: 8px" @click="handleCancel()">返回</a-button>
|
|
|
+ </span>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ <title-divider title="型号信息" width="90px"></title-divider>
|
|
|
+ <a-form :form="form">
|
|
|
+ <a-form-item v-show="false" >
|
|
|
+ <a-input v-decorator="['id']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['modelId']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['typeId']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['producerId']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['level']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['useType']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['parentId']" type="hidden"/>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备类型"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['typeName']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备型号"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['model']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="生产商"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['producerName']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备名称"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['name']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="自定义类型"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['useTypeName']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="计量单位"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['unit']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备等级"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['levelName']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <title-divider title="基本信息" width="90px"></title-divider>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备新号"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['no', {rules: [{required: false, message: '设备编号不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备旧号"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['zbh']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备原值"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ style="width: 100%"
|
|
|
+ :min="0"
|
|
|
+ :step="0.01"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['initialValue', {rules: [{required: true, message: '设备原值不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="设备残值"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ style="width: 100%"
|
|
|
+ :min="0"
|
|
|
+ :step="0.01"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['currentValue', {rules: [{required: true, message: '设备残值不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="净残值率"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ :min="0"
|
|
|
+ :step="0.01"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['rate']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="折旧总计月份"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ :min="0"
|
|
|
+ :step="1"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['month']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="已计提月份"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ :min="0"
|
|
|
+ :step="1"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['usedMonth']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="状态"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-select v-decorator="['status', {rules: [{required: true, message: '状态不能为空'}]}]" placeholder="请选择">
|
|
|
+ <a-select-option
|
|
|
+ v-for="(label,value) in statusMap"
|
|
|
+ :key="value"
|
|
|
+ :label="label"
|
|
|
+ :value="parseInt(value)">{{ label }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="助记码"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ v-decorator="['zjm']" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="资产现状说明"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ v-decorator="['remark', {rules: [{required: false, message: '资产现状说明不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <title-divider title="日期信息" width="90px"></title-divider>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="购置日期"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
+ v-decorator="['buyDate', {rules: [{required: true, message: '购置日期不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="投用日期"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
+ v-decorator="['startDate', {rules: [{required: true, message: '投用日期不能为空'}]}]" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <title-divider title="文件信息" width="90px"></title-divider>
|
|
|
+ <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
|
|
|
+ <a-col :lg="12" :md="24" :sm="24">
|
|
|
+ <a-form-item
|
|
|
+ label="资产图片"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-upload
|
|
|
+ :action="uploadUrl"
|
|
|
+ list-type="picture"
|
|
|
+ :multiple="true"
|
|
|
+ :file-list="this.defaultSbFileList"
|
|
|
+ @change="handleSbFileChange"
|
|
|
+ accept="image/*"
|
|
|
+ :headers="headers"
|
|
|
+ >
|
|
|
+ <a-button> <a-icon type="upload" /> 选择上传文件 </a-button>
|
|
|
+ </a-upload>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ <sb-model-select-modal ref="sbModelSelectModal" @selected="handleSbModelSelected"/>
|
|
|
+ <sb-info-select-modal ref="sbInfoSelectModal" @selected="handleSbSelectd"/>
|
|
|
+ </a-card>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import pick from 'lodash.pick'
|
|
|
+import { updateSbInfoScrap, updateSbInfoScrapForAudit } from '@/api/sb/info'
|
|
|
+import { fetchSbTypeTree } from '@/api/sb/type'
|
|
|
+import FirmProducerSelectModal from '@/views/firm/producer/modules/FirmProducerSelectModal'
|
|
|
+import SbGuigeSelectModal from '@/views/sb/guige/modules/SbGuigeSelectModal'
|
|
|
+import SbModelSelectModal from '@/views/sb/model/modules/SbModelSelectModal'
|
|
|
+import BaseTool from '../../../../utils/tool'
|
|
|
+import { queryUserDeptByUserDeptId } from '@/api/upms/user-dept'
|
|
|
+import { ACCESS_TOKEN } from '@/store/mutation-types'
|
|
|
+import Vue from 'vue'
|
|
|
+import { uploadUrl } from '@/api/upms/file'
|
|
|
+import { queryDept, getDeptsAllByParentId } from '@/api/upms/dept'
|
|
|
+import SbInfoSelectModal from '@/views/sb/info/modules/SbInfoSelectModal'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'BaseSbInfo',
|
|
|
+ components: {
|
|
|
+ FirmProducerSelectModal,
|
|
|
+ SbGuigeSelectModal,
|
|
|
+ SbModelSelectModal,
|
|
|
+ SbInfoSelectModal
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ confirmLoading: false,
|
|
|
+ modalTitle: null,
|
|
|
+ form: this.$form.createForm(this),
|
|
|
+
|
|
|
+ areaList: {},
|
|
|
+ companyList: {},
|
|
|
+ projectList: {},
|
|
|
+ deptList: {},
|
|
|
+ groupList: {},
|
|
|
+ visible: false,
|
|
|
+
|
|
|
+ sbTypeTreeData: [],
|
|
|
+ // sbInfoTreeData: [],
|
|
|
+ // sourceSbInfoTreeData: [],
|
|
|
+ // sbPositionTreeData: [],
|
|
|
+ depreciationTypeMap: {},
|
|
|
+ sourceTypeMap: {},
|
|
|
+ levelMap: {},
|
|
|
+ rlTypeMap: {},
|
|
|
+ colorMap: {},
|
|
|
+ useTypeMap: {},
|
|
|
+ statusMap: {},
|
|
|
+ userList: {},
|
|
|
+ unitMap: {},
|
|
|
+ sbInfoSelectType: null,
|
|
|
+ repairFileList: [], // 维修手册
|
|
|
+ defaultRepairFileList: [],
|
|
|
+ defaultUseFileList: [],
|
|
|
+ defaultRecheckFileList: [],
|
|
|
+ defaultSbFileList: [],
|
|
|
+ useFileList: [], // 使用手册
|
|
|
+ recheckFileList: [], // 验收手册
|
|
|
+ sbFileList: [], // 设备图片,
|
|
|
+ uploadUrl: uploadUrl,
|
|
|
+ qrcodesrc: null,
|
|
|
+ fileList: [],
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + Vue.ls.get(ACCESS_TOKEN)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ this.depreciationTypeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SBINFO_DEPRECIATIONTYPE)
|
|
|
+ this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SBINFO_LEVEL)
|
|
|
+ this.colorMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_COLOR)
|
|
|
+ this.rlTypeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.RANLIAO_TYPE)
|
|
|
+ this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_INFO_STATUS)
|
|
|
+ this.unitMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SBINFO_UNIT)
|
|
|
+ this.sourceTypeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SBTYPE_SOURCETYPE)
|
|
|
+ this.useTypeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_USE_TYPE)
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ base (record) {
|
|
|
+ this.setTree(record)
|
|
|
+ // 清除文件列表
|
|
|
+ this.visible = true
|
|
|
+ // 选择框查询条件
|
|
|
+ // 如果是空标识添加
|
|
|
+ if (this.BaseTool.Object.isBlank(record)) {
|
|
|
+ this.qrcodesrc = null
|
|
|
+ this.modalTitle = '添加'
|
|
|
+ this.clearFileList()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.modalTitle = '设备报废'
|
|
|
+ this.qrcodesrc = record.qrCode
|
|
|
+ this.repairFileList = record.repairFileList
|
|
|
+ this.defaultRepairFileList = this.BaseTool.UPLOAD.transImg(this.repairFileList)
|
|
|
+ this.useFileList = record.useFileList
|
|
|
+ this.recheckFileList = record.recheckFileList
|
|
|
+ this.sbFileList = record.sbFileList
|
|
|
+ this.defaultUseFileList = this.BaseTool.UPLOAD.transImg(this.useFileList)
|
|
|
+ this.defaultRecheckFileList = this.BaseTool.UPLOAD.transImg(this.recheckFileList)
|
|
|
+ this.defaultSbFileList = this.BaseTool.UPLOAD.transImg(this.sbFileList)
|
|
|
+
|
|
|
+ // if (this.BaseTool.Object.isBlank(record.id)) {
|
|
|
+ // this.modalTitle = '复制'
|
|
|
+ // this.qrcodesrc = null
|
|
|
+ // record.no = null
|
|
|
+ // this.clearFileList()
|
|
|
+ // }
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ // 日期处理
|
|
|
+ record.buyDate = this.BaseTool.Moment(record.buyDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ record.startDate = this.BaseTool.Moment(record.startDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ record.nextCheckDate = this.BaseTool.Moment(record.nextCheckDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ record.guaranteeDate = this.BaseTool.Moment(record.guaranteeDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ record.retirementDate = this.BaseTool.Moment(record.retirementDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+
|
|
|
+ if (record.isChild === 1) {
|
|
|
+ record.isChild = this.DictCache.VALUE.SB_IS_CHILD.IS_CHILD
|
|
|
+ }
|
|
|
+ if (record.isChild === 2) {
|
|
|
+ record.isChild = this.DictCache.VALUE.SB_IS_CHILD.IS_PARENT
|
|
|
+ }
|
|
|
+ if (record.isChild === 3) {
|
|
|
+ record.isChild = this.DictCache.VALUE.SB_IS_CHILD.IS_NORMAL
|
|
|
+ }
|
|
|
+ // record.lastRepaireTime = this.BaseTool.Moment(record.lastRepaireTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ // record.lastBaoyangTime = this.BaseTool.Moment(record.lastBaoyangTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ if (record.jbdDate != null) {
|
|
|
+ record.jbdDate = this.BaseTool.Moment(record.jbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'jbdDate'
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (record.sbdDate != null) {
|
|
|
+ record.sbdDate = this.BaseTool.Moment(record.sbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'sbdDate'
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (record.sbDate != null) {
|
|
|
+ record.sbDate = this.BaseTool.Moment(record.sbDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'sbDate'
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (record.spDate != null) {
|
|
|
+ record.spDate = this.BaseTool.Moment(record.spDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'spDate'
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ record.unitName = this.BaseTool.Object.getField(this.unitMap, record.unit)
|
|
|
+ record.levelName = this.BaseTool.Object.getField(this.levelMap, record.level)
|
|
|
+ record.useTypeName = this.BaseTool.Object.getField(this.useTypeMap, record.useType)
|
|
|
+
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'id',
|
|
|
+ 'no',
|
|
|
+ 'parentId',
|
|
|
+ 'parentSbName',
|
|
|
+ 'isChild',
|
|
|
+ 'isShow',
|
|
|
+ 'cardNo',
|
|
|
+ 'financingNo',
|
|
|
+ 'name',
|
|
|
+ 'model',
|
|
|
+ 'positionId',
|
|
|
+ 'nameModel',
|
|
|
+ 'rate',
|
|
|
+ 'month',
|
|
|
+ 'usedMonth',
|
|
|
+ 'producerName',
|
|
|
+ 'useArea',
|
|
|
+ 'useCompany',
|
|
|
+ 'useProject',
|
|
|
+ 'useDept',
|
|
|
+ 'saveUser',
|
|
|
+ 'useGroup',
|
|
|
+ 'modelId',
|
|
|
+ 'typeId',
|
|
|
+ 'typeName',
|
|
|
+ 'level',
|
|
|
+ 'levelName',
|
|
|
+ 'unitName',
|
|
|
+ 'useTypeName',
|
|
|
+ 'initialValue',
|
|
|
+ 'currentValue',
|
|
|
+ // 'cutValue',
|
|
|
+ 'producerId',
|
|
|
+ // 'sourceType',
|
|
|
+ 'unit',
|
|
|
+ 'totalMiles',
|
|
|
+ 'totalHours',
|
|
|
+
|
|
|
+ 'buyDate',
|
|
|
+ 'startDate',
|
|
|
+
|
|
|
+ // 'wbFile',
|
|
|
+ // 'useFile',
|
|
|
+ // 'checkFile',
|
|
|
+ // 'sbImage',
|
|
|
+ 'status',
|
|
|
+ 'remark',
|
|
|
+ 'zzh',
|
|
|
+ 'fdjxh',
|
|
|
+ 'fdjh',
|
|
|
+ 'cph',
|
|
|
+ 'dph',
|
|
|
+ 'zz',
|
|
|
+ 'rlType',
|
|
|
+ 'color',
|
|
|
+ 'seatNumber',
|
|
|
+ 'zjm',
|
|
|
+ 'jbdh',
|
|
|
+ 'sbdh',
|
|
|
+ 'bxgs',
|
|
|
+ 'useType'
|
|
|
+
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ save () {
|
|
|
+ const { form: { validateFieldsAndScroll } } = this
|
|
|
+ this.confirmLoading = true
|
|
|
+ validateFieldsAndScroll((errors, values) => {
|
|
|
+ if (errors) {
|
|
|
+ this.confirmLoading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 日期数据的处理
|
|
|
+ values.buyDate = BaseTool.Date.formatter(values.buyDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.startDate = BaseTool.Date.formatter(values.startDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.nextCheckDate = BaseTool.Date.formatter(values.nextCheckDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.guaranteeDate = BaseTool.Date.formatter(values.guaranteeDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.retirementDate = BaseTool.Date.formatter(values.retirementDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+
|
|
|
+ values.lastRepaireTime = this.BaseTool.Date.formatter(values.lastRepaireTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.lastBaoyangTime = this.BaseTool.Date.formatter(values.lastBaoyangTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.spDate = this.BaseTool.Date.formatter(values.spDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.jbdDate = this.BaseTool.Date.formatter(values.jbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.sbdDate = this.BaseTool.Date.formatter(values.sbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.sbDate = this.BaseTool.Date.formatter(values.sbDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+
|
|
|
+ // 上传文件
|
|
|
+ values.repairFileList = this.repairFileList
|
|
|
+ values.useFileList = this.useFileList
|
|
|
+ values.recheckFileList = this.recheckFileList
|
|
|
+ values.sbFileList = this.sbFileList
|
|
|
+ values.level = this.level
|
|
|
+ values.useType = this.useType
|
|
|
+ values.unit = this.unit
|
|
|
+ updateSbInfoScrap(values)
|
|
|
+ .then(() => {
|
|
|
+ this.handleCancel(values)
|
|
|
+ }).catch(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateSbInfoScrapForAudit () {
|
|
|
+ const { form: { validateFieldsAndScroll } } = this
|
|
|
+ this.confirmLoading = true
|
|
|
+ validateFieldsAndScroll((errors, values) => {
|
|
|
+ if (errors) {
|
|
|
+ this.confirmLoading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 日期数据的处理
|
|
|
+ values.buyDate = BaseTool.Date.formatter(values.buyDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.startDate = BaseTool.Date.formatter(values.startDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.nextCheckDate = BaseTool.Date.formatter(values.nextCheckDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.guaranteeDate = BaseTool.Date.formatter(values.guaranteeDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.retirementDate = BaseTool.Date.formatter(values.retirementDate, BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+
|
|
|
+ values.lastRepaireTime = this.BaseTool.Date.formatter(values.lastRepaireTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.lastBaoyangTime = this.BaseTool.Date.formatter(values.lastBaoyangTime, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.spDate = this.BaseTool.Date.formatter(values.spDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.jbdDate = this.BaseTool.Date.formatter(values.jbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.sbdDate = this.BaseTool.Date.formatter(values.sbdDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+ values.sbDate = this.BaseTool.Date.formatter(values.sbDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
|
|
|
+
|
|
|
+ // 上传文件
|
|
|
+ values.repairFileList = this.repairFileList
|
|
|
+ values.useFileList = this.useFileList
|
|
|
+ values.recheckFileList = this.recheckFileList
|
|
|
+ values.sbFileList = this.sbFileList
|
|
|
+ values.level = this.level
|
|
|
+ values.useType = this.useType
|
|
|
+ values.unit = this.unit
|
|
|
+ updateSbInfoScrapForAudit(values)
|
|
|
+ .then(() => {
|
|
|
+ this.handleCancel(values)
|
|
|
+ }).catch(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getQrcodeSrc () {
|
|
|
+ console.log(111, 22)
|
|
|
+ },
|
|
|
+ handleCancel () {
|
|
|
+ this.visible = false
|
|
|
+ this.confirmLoading = false
|
|
|
+ this.form.resetFields()
|
|
|
+ this.$emit('ok')
|
|
|
+ },
|
|
|
+ setTree (record = {}) {
|
|
|
+ fetchSbTypeTree().then(res => {
|
|
|
+ this.sbTypeTreeData = res.data
|
|
|
+ })
|
|
|
+ // getSbInfoTree({ id: record.id }).then(res => {
|
|
|
+ // this.sbInfoTreeData = res.data
|
|
|
+ // this.sourceSbInfoTreeData = res.data
|
|
|
+ // })
|
|
|
+ // getSbPositionTree().then(res => {
|
|
|
+ // this.sbPositionTreeData = res.data
|
|
|
+ // })
|
|
|
+ queryDept({ nature: this.DictCache.VALUE.SYS_DEPT_NATURE.JITUAN }).then(res => {
|
|
|
+ this.areaList = res.data
|
|
|
+ })
|
|
|
+
|
|
|
+ if (record.useArea != null) {
|
|
|
+ getDeptsAllByParentId({ deptId: record.useArea, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.FEN_GONG_SI }).then(res => {
|
|
|
+ this.companyList = res.data
|
|
|
+ })
|
|
|
+ getDeptsAllByParentId({ deptId: record.useCompany, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.XIANG_MU_BU }).then(res => {
|
|
|
+ this.projectList = res.data
|
|
|
+ })
|
|
|
+ getDeptsAllByParentId({ deptId: record.useProject, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.BU_MEN }).then(res => {
|
|
|
+ this.deptList = res.data
|
|
|
+ })
|
|
|
+ getDeptsAllByParentId({ deptId: record.useDept, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.BAN_ZU }).then(res => {
|
|
|
+ this.groupList = res.data
|
|
|
+ })
|
|
|
+ queryUserDeptByUserDeptId({ deptId: record.useGroup }).then(res => {
|
|
|
+ this.userList = res.data
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSbModelSelect () {
|
|
|
+ const modal = this.$refs.sbModelSelectModal
|
|
|
+ modal.base()
|
|
|
+ },
|
|
|
+ handleSbModelSelected (keys, rows) {
|
|
|
+ const [ key ] = keys
|
|
|
+ const [ row ] = rows
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue({
|
|
|
+ 'modelId': key,
|
|
|
+ 'name': row.name,
|
|
|
+ 'model': row.model,
|
|
|
+ 'nameModel': row.nameModel,
|
|
|
+ 'typeId': row.typeId,
|
|
|
+ 'typeName': row.typeName,
|
|
|
+ 'level': row.level,
|
|
|
+ 'levelName': this.BaseTool.Object.getField(this.levelMap, row.level),
|
|
|
+ 'initialValue': row.value,
|
|
|
+ 'useType': row.useType,
|
|
|
+ 'useTypeName': this.BaseTool.Object.getField(this.useTypeMap, row.useType),
|
|
|
+ 'producerId': row.producerId,
|
|
|
+ 'producerName': row.producerName,
|
|
|
+ 'unit': row.unit,
|
|
|
+ 'unitName': this.BaseTool.Object.getField(this.unitMap, row.unit)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ beforeRecheckFileListUpload (file) {
|
|
|
+ const reg = /\.(xls|xlsx)(\?.*)?$/
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (reg.test(file.name)) {
|
|
|
+ this.recheckFileList = [file]
|
|
|
+ return true
|
|
|
+ } else {
|
|
|
+ this.$message.error(`请上传正确的xls|xlsx文件`)
|
|
|
+ reject(new Error('请上传正确的xls|xlsx文件'))
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ beforeUploadPic (file) {
|
|
|
+ const reg = /\.(jpg|jpeg|png)(\?.*)?$/
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (reg.test(file.name)) {
|
|
|
+ this.sbFileList = [file]
|
|
|
+ return true
|
|
|
+ } else {
|
|
|
+ this.$message.error(`请上传正确的jpg|jpeg|png文件`)
|
|
|
+ reject(new Error('请上传正确的jpg|jpeg|png文件'))
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ clearFileList () {
|
|
|
+ this.repairFileList = []
|
|
|
+ this.useFileList = []
|
|
|
+ this.recheckFileList = []
|
|
|
+ this.sbFileList = []
|
|
|
+ },
|
|
|
+ handleRepairFileChange (info) {
|
|
|
+ this.defaultRepairFileList = info.fileList
|
|
|
+ this.repairFileList = this.setFileList(info, 1)
|
|
|
+ },
|
|
|
+ handleUseFileChange (info) {
|
|
|
+ this.defaultUseFileList = info.fileList
|
|
|
+ this.useFileList = this.setFileList(info, 2)
|
|
|
+ },
|
|
|
+ handleAreaChange (value) {
|
|
|
+ getDeptsAllByParentId({ deptId: value, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.FEN_GONG_SI }).then(res => {
|
|
|
+ this.companyList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleCompanyChange (value) {
|
|
|
+ getDeptsAllByParentId({ deptId: value, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.XIANG_MU_BU }).then(res => {
|
|
|
+ this.projectList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleProjectChange (value) {
|
|
|
+ getDeptsAllByParentId({ deptId: value, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.BU_MEN }).then(res => {
|
|
|
+ this.deptList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleDeptChange (value) {
|
|
|
+ getDeptsAllByParentId({ deptId: value, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.BAN_ZU }).then(res => {
|
|
|
+ this.groupList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleGroupChange (value) {
|
|
|
+ queryUserDeptByUserDeptId({ deptId: value }).then(res => {
|
|
|
+ this.userList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleRecheckFileChange (info) {
|
|
|
+ this.defaultRecheckFileList = info.fileList
|
|
|
+ this.recheckFileList = this.setFileList(info, 3)
|
|
|
+ },
|
|
|
+ handleSbFileChange (info) {
|
|
|
+ this.defaultSbFileList = info.fileList
|
|
|
+ this.sbFileList = this.setFileList(info, 4)
|
|
|
+ },
|
|
|
+ setFileList1 (info, type) {
|
|
|
+ const fileList = [...info.fileList]
|
|
|
+ const file = [...info.file]
|
|
|
+ if (file.status === 'done') {
|
|
|
+ return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
|
|
|
+ } else if (file.status === 'removed') {
|
|
|
+ return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
|
|
|
+ } else if (file.status === 'error') {
|
|
|
+ this.$message.error('上传失败')
|
|
|
+ return []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSbSelect () {
|
|
|
+ this.$refs.sbInfoSelectModal.base({}, { isChild: this.DictCache.VALUE.SB_IS_CHILD.IS_PARENT })
|
|
|
+ },
|
|
|
+ handleSbSelectd (keys, rows) {
|
|
|
+ const [ key ] = keys
|
|
|
+ const [ row ] = rows
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ // 日期处理
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign({
|
|
|
+ 'parentId': key,
|
|
|
+ 'parentSbName': row.name,
|
|
|
+ 'isChild': this.DictCache.VALUE.SB_IS_CHILD.IS_CHILD
|
|
|
+ }))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setFileList (info, type) {
|
|
|
+ // { file, fileList }
|
|
|
+
|
|
|
+ const file = info.file
|
|
|
+ const fileList = info.fileList
|
|
|
+ // fileList = fileList.slice(-2)
|
|
|
+ // console.log(111, this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type))
|
|
|
+
|
|
|
+ if (file.status === 'done') {
|
|
|
+ return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
|
|
|
+ } else if (file.status === 'removed') {
|
|
|
+ return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
|
|
|
+ } else if (file.status === 'error') {
|
|
|
+ this.$message.error('上传失败')
|
|
|
+ return null
|
|
|
+ }
|
|
|
+
|
|
|
+ // return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
|
|
|
+
|
|
|
+ // 1. Limit the number of uploaded files
|
|
|
+ // Only to show two recent uploaded files, and old ones will be replaced by the new
|
|
|
+ // fileList = fileList.slice(-2)
|
|
|
+
|
|
|
+ // 2. read from response and show file link
|
|
|
+ // fileList = fileList.map(file => {
|
|
|
+ // if (file.response) {
|
|
|
+ // // Component will show file.url as link
|
|
|
+ // const { response: { data } } = file
|
|
|
+ // file.url = data.url
|
|
|
+ // file.fileName = data.fileName
|
|
|
+ // file.fileFormat = data.fileFormat
|
|
|
+ // file.name = data.name
|
|
|
+ // file.type = type
|
|
|
+ // }
|
|
|
+ // return file
|
|
|
+ // })
|
|
|
+ // console.log(6666, fileList)
|
|
|
+ // return fileList
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|