12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001 |
- <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="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="['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
- v-decorator="['no', {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
- v-decorator="['zbh', {rules: [{required: false, 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
- v-decorator="['name', {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
- v-decorator="['model', {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-select v-decorator="['level', {initialValue:1, rules: [{required: true, message: '设备等级不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in levelMap"
- :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-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-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-tree-select
- style="width: 100%"
- :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
- :treeData="sbTypeTreeData"
- :treeNodeFilterProp="'title'"
- :showSearch="true"
- v-decorator="['typeId', {rules: [{required: true, message: '设备类型不能为空'}]}]"
- placeholder="请选择"
- >
- </a-tree-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-select v-decorator="['useType', {rules: [{required: true, message: '自定义类型不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in useTypeMap"
- :key="value"
- :label="label"
- :value="parseInt(value)">{{ label }}
- </a-select-option>
- </a-select>
- </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="['financingNo']" />
- </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-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-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="['zz']" />
- </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="['zzh']" />
- </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="['cph']" />
- </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
- style="width: 70%"
- disabled
- v-decorator="['producerName', {rules: [{required: true, message: '生产商不能为空'}]}]" />
- <a-button style="width: 30%" type="primary" @click="handleProducerSelect">选择</a-button>
- </a-form-item>
- <a-form-item
- label="生产商"
- :labelCol="BaseTool.Constant.labelCol"
- :wrapperCol="BaseTool.Constant.wrapperCol"
- v-show="false"
- >
- <a-input
- v-decorator="['producerId', {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-input
- disabled
- style="width: 80%"
- v-decorator="['parentSbName']"/>
- <a-button type="primary" style="width: 20%" @click="handleSbSelect">选择</a-button>
- </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-select v-decorator="['isChild']" placeholder="请选择">
- <a-select-option value="1">子设备</a-select-option>
- <a-select-option value="2">父设备</a-select-option>
- <a-select-option value="3">普通设备</a-select-option>
- </a-select>
- </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
- style="width: 100%"
- v-decorator="['positionId']" />
- </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-select v-decorator="['isShow']" placeholder="请选择">
- <a-select-option value="0">不显示</a-select-option>
- <a-select-option value="1">显示</a-select-option>
- </a-select>
- </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-select @change="handleAreaChange" v-decorator="['useArea', {rules: [{required: true, message: '所属区域不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({deptId, name}) in areaList"
- :key="deptId"
- :label="name"
- :value="deptId">{{ name }}
- </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-select @change="handleCompanyChange" v-decorator="['useCompany', {rules: [{required: true, message: '所属公司不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({deptId, name}) in companyList"
- :key="deptId"
- :label="name"
- :value="deptId">{{ name }}
- </a-select-option>
- </a-select>
- </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 @change="handleProjectChange" v-decorator="['useProject', {rules: [{required: true, message: '项目部不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({deptId, name}) in projectList"
- :key="deptId"
- :label="name"
- :value="deptId">{{ name }}
- </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-select @change="handleDeptChange" v-decorator="['useDept', {rules: [{required: true, message: '所属公司不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({deptId, name}) in deptList"
- :key="deptId"
- :label="name"
- :value="deptId">{{ name }}
- </a-select-option>
- </a-select>
- </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 @change="handleGroupChange" v-decorator="['useGroup', {rules: [{required: true, message: '项目部不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({deptId, name}) in groupList"
- :key="deptId"
- :label="name"
- :value="deptId">{{ name }}
- </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-select v-decorator="['saveUser', {rules: [{required: true, message: '项目部不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="({userId, realName}) in userList"
- :key="userId"
- :label="realName"
- :value="userId">{{ realName }}
- </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-select v-decorator="['repairUser']" placeholder="请选择">
- <a-select-option
- v-for="({userId, realName}) in userList"
- :key="userId"
- :label="realName"
- :value="userId">{{ realName }}
- </a-select-option>
- </a-select>
- </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']" />
- </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']" />
- </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"
- :file-list="this.defaultRepairFileList"
- @change="handleRepairFileChange"
- :headers="headers"
- >
- <a-button> <a-icon type="upload" /> 选择上传文件 </a-button>
- </a-upload>
- </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-upload
- :action="uploadUrl"
- :multiple="true"
- :file-list="this.defaultUseFileList"
- @change="handleUseFileChange"
- :headers="headers"
- >
- <a-button> <a-icon type="upload" /> 选择上传文件 </a-button>
- </a-upload>
- </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-upload
- :action="uploadUrl"
- :multiple="false"
- :file-list="this.defaultRecheckFileList"
- @change="handleRecheckFileChange"
- :headers="headers"
- >
- <a-button> <a-icon type="upload" /> 选择上传文件 </a-button>
- </a-upload>
- </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-upload
- :action="uploadUrl"
- :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"/>
- <firm-producer-select-modal ref="producerSelectModal" @selected="handleProducerSelected"/>
- </a-card>
- </template>
- <script>
- import pick from 'lodash.pick'
- import { addSbInfo, updateSbInfo } 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 { queryUser } from '@/api/upms/user'
- 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()
- // }
- if(record.isChild == 1){
- record.isChild = "1"
- }
- if(record.isChild == 2){
- record.isChild = "2"
- }
- if(record.isChild == 3){
- record.isChild = "3"
- }
- if(record.isShow == 0){
- record.isShow = "0"
- }
- if(record.isShow == 1){
- record.isShow = "1"
- }
- 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)
- // 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.useTypeName = this.BaseTool.Object.getField(this.useTypeMap, record.useType)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, [
- 'id',
- 'no',
- 'parentId',
- 'parentSbName',
- 'isChild',
- 'isShow',
- 'financingNo',
- 'name',
- 'model',
- 'positionId',
- 'producerName',
- 'useArea',
- 'useCompany',
- 'useProject',
- 'useDept',
- 'saveUser',
- 'repairUser',
- 'useGroup',
- 'typeId',
- 'level',
- 'initialValue',
- // 'cutValue',
- 'producerId',
- // 'sourceType',
- 'unit',
- 'buyDate',
- 'startDate',
- 'zbh',
- // 'wbFile',
- // 'useFile',
- // 'checkFile',
- // 'sbImage',
- 'status',
- 'remark',
- 'zzh',
- 'zz',
- '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
- if (this.BaseTool.String.isBlank(values.id)) {
- addSbInfo(values)
- .then(() => {
- this.handleCancel(values)
- }).catch(() => {
- this.confirmLoading = false
- })
- } else {
- updateSbInfo(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
- })
- queryUser({ }).then(res => {
- this.userList = res.data
- })
- }
- queryUser({ }).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,
- '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
- }))
- })
- },
- handleProducerSelect () {
- const modal = this.$refs.producerSelectModal
- modal.base({}, { type: 1 })
- },
- handleProducerSelected (record, selectedRowKeys, selectedRow) {
- const { form: { setFieldsValue } } = this
- const [ key ] = selectedRowKeys
- const [ row ] = selectedRow
- setFieldsValue({
- 'producerId': key,
- 'producerName': row.name
- })
- },
- 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>
|