123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386 |
- <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="handleFresh()">刷新位置</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 disabled style="width: 60%" v-decorator="['parentSbName']" />
- <a-button type="primary" style="width: 20%" @click="handleSbSelect">选择</a-button>
- <a-button type="default" style="width: 20%" @click="clearParent">清空</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-input v-decorator="['ppNo']" />
- </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="childChange" v-decorator="['isChild', { rules: [{required: true, message: '是否子设备不能为空'}]}]" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in isChildMap"
- :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="['positionNo', {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="['isFinancing', { rules: [{required: true, message: '是否显示不能为空'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in isFinancingMap" :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-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']" />
- </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-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 @change="handleChange" 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-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" v-if="useType===4">
- <a-form-item label="是否强检" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
- <a-select v-decorator="['checkType', {rules: [{required: true, message: '请选择'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in checkTypeMap" :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-col :lg="12" :md="24" :sm="24">
- <a-form-item label="生产商" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
- <a-input v-decorator="['producerId']" />
- </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="['baoyangTimes', {rules: [{required: false, message: '不能为空'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in lineMap" :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-select @change="isMeasureChange" v-decorator="['isMeasure', { rules: [{required: true, message: '是否需要检定不能为空'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in yesNoMap" :key="value" :label="label" :value="parseInt(value)">{{ label }}
- </a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- </a-row>
- <title-divider title="检定周期信息" width="120px"></title-divider>
- <div>
- <!-- <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="['cardNo']" />
- </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="['fdjxh']" />
- </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="['dph']" />
- </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="['zaiz']" />
- </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="['rlType']" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in rlTypeMap"
- :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-select v-decorator="['color']" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in colorMap"
- :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="['sbdh']" />
- </a-form-item>
- </a-col>
- </a-row>-->
- <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
- <template v-if="isSelfRequired">
- <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="['checkDate', {rules: [{required: useType == 4, 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 style="width: 100%" suffix="月" :formatter="BaseTool.Amount.formatter" :parser="BaseTool.Amount.parser" v-decorator="['checkPeriod', { rules: [{required: isSelfRequired, 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="['nextCheckDate']" />
- </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="30"
- :step="1"
- :formatter="BaseTool.Amount.formatter"
- :parser="BaseTool.Amount.parser"
- v-decorator="['seatNumber']" />
- </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="['dph']" />
- </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="['isSelf', { rules: [{required: isSelfRequired, message: '是否需要检定不能为空'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in yesNoMap" :key="value" :label="label" :value="parseInt(value)">{{ label }}
- </a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- </template>
- </a-row>
- </div>
- <title-divider title="数字地图配置" width="150px"></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-tree-select
- style="width: 100%"
- :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
- :treeData="treeData"
- :treeNodeFilterProp="'title'"
- :showSearch="true"
- v-decorator="['positionId', {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="['isShow', { rules: [{required: true, message: '是否显示不能为空'}]}]" placeholder="请选择">
- <a-select-option v-for="(label,value) in isShowMap" :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 :step="1" :min="85" style="width:70%" v-decorator="['zjm']" placeholder="请输入离屏幕左上角的右方距离,最低85" />
- <a-button style="width: 30%" type="primary" @click="handlePoint">设置预览</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-input-number :step="1" :min="340" style="width:70%" v-decorator="['jbdh']" placeholder="请输入离屏幕左上角的下方位置,最低340" />
- <a-button style="width: 30%" type="primary" @click="handlePoint">设置预览</a-button>
- </a-form-item>
- </a-col>
- </a-row>
- <title-divider title="其他数据" width="150px"></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 v-decorator="['saveUser', {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="['identifyNo', {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 v-decorator="['sbRegisterNo', {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 v-decorator="['useNo', {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 v-decorator="['sbCode', {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 v-decorator="['installUnit', {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 v-decorator="['examResult', {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 v-decorator="['usePosition', {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 v-decorator="['remark', {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-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="['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-col :lg="12" :md="24" :sm="24">
- <a-form-item
- label="第二维修人员"
- :labelCol="BaseTool.Constant.labelCol"
- :wrapperCol="BaseTool.Constant.wrapperCol"
- >
- <a-select v-decorator="['repairUserSecond']" 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>-->
- <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>
- <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%" suffix="年" :formatter="BaseTool.Amount.formatter" :parser="BaseTool.Amount.parser" v-decorator="['workYear', {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="['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="['repairDeptId']" placeholder="请选择">
- <a-select-option
- v-for="(label,value) in repairDeptMap"
- :key="value"
- :label="label"
- :value="value">{{ label }}
- </a-select-option>
- </a-select>
- </a-form-item>
- </a-col>-->
- </a-row>
- <title-divider title="自定义参数" width="120px"></title-divider>
- <div class="table-operator" style="margin-bottom: 8px;">
- <a-button type="primary" @click="handleParam">
- <a-icon type="plus" />
- 添加
- </a-button>
- </div>
- <a-row class="form-row" :gutter="BaseTool.Constant.row.gutter">
- <a-col :key="index" v-for="(item, index) in paramList" :lg="12" :md="24" :sm="24">
- <a-form-item :label="item.name" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
- <a-input style="width: 70%" :defaultValue="item.content" disabled />
- <a-button style="width: 30%" type="primary" @click="handleDelParam(index)">删除</a-button>
- </a-form-item>
- </a-col>
- </a-row>
- <title-divider v-show="useType == 5" title="特种信息" width="90px"></title-divider>
- <div v-show="useType == 5">
- <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="['registerNo']" />
- </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="['characterType']" />
- </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="['batchNo']" />
- </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="['usedNo']" />
- </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="['supplier']" />
- </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="['registerDate']" />
- </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-date-picker style="width: 100%" :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN" v-decorator="['retirementDate']" />
- </a-form-item>
- </a-col>
- </a-row>
- </div>
- <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" :multiple="true" :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="true" :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="false"
- list-type="picture"
- :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" />
- <param-form ref="paramForm" @ok="handleParamList" />
- <PointModal ref="pointModal" @ok="handlePointSelect" />
- </a-card>
- </template>
- <script>
- import pick from 'lodash.pick'
- import { addSbInfo, updateSbInfo, fetchSbInfo, copySbInfo } from '@/api/sb/info'
- import { fetchSbTypeTree } from '@/api/sb/type'
- import { getSbPositionTree, querySbPosition } from '@/api/sb/position'
- 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 DetailList from '@/components/tools/DetailList'
- import SbInfoSelectModal from '@/views/sb/info/modules/SbInfoSelectModal'
- import ParamForm from './ParamForm'
- import PointModal from './PointModal'
- import { queryFirmProducer } from '@/api/firm/producer'
- const DetailListItem = DetailList.Item
- export default {
- name: 'BaseSbInfo',
- components: {
- FirmProducerSelectModal,
- SbGuigeSelectModal,
- SbModelSelectModal,
- SbInfoSelectModal,
- ParamForm,
- DetailList,
- PointModal,
- DetailListItem
- },
- data () {
- return {
- confirmLoading: false,
- modalTitle: null,
- form: this.$form.createForm(this),
- areaList: {},
- companyList: {},
- paramList: [],
- projectList: {},
- deptList: {},
- groupList: {},
- visible: false,
- sbTypeTreeData: [],
- sbPositionData: [],
- // sbInfoTreeData: [],
- // sourceSbInfoTreeData: [],
- // sbPositionTreeData: [],
- repairDeptMap: {},
- depreciationTypeMap: {},
- sourceTypeMap: {},
- levelMap: {},
- rlTypeMap: {},
- colorMap: {},
- useTypeMap: {},
- statusMap: {},
- checkTypeMap: {},
- isChildMap: {},
- isShowMap: {},
- yesNoMap: {},
- lineMap: {},
- treeData: [],
- isFinancingMap: {},
- producerList: {},
- userList: {},
- unitMap: {},
- sbInfoSelectType: null,
- repairFileList: [], // 维修手册
- defaultRepairFileList: [],
- defaultUseFileList: [],
- defaultRecheckFileList: [],
- defaultSbFileList: [],
- useFileList: [], // 使用手册
- recheckFileList: [], // 验收手册
- sbFileList: [], // 设备图片,
- isSelfRequired: false, // 是否自检,
- uploadUrl: uploadUrl,
- qrcodesrc: null,
- id: null,
- fileList: [],
- type: null,
- headers: {
- Authorization: 'Bearer ' + Vue.ls.get(ACCESS_TOKEN)
- }
- }
- },
- props: {
- useType: {
- type: Number,
- default: 3
- },
- parentId: {
- type: String,
- default: null
- },
- parentName: {
- type: String,
- default: null
- }
- },
- 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.checkTypeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.CHECK_TYPE)
- 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)
- this.isChildMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_IS_CHILD)
- this.isShowMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_IS_SHOW)
- this.yesNoMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
- this.isFinancingMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SB_IS_FINANCING)
- this.repairDeptMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_DEPT_CATEGORY)
- this.lineMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REMOTE_LINE)
- queryFirmProducer({}).then((res) => {
- this.producerList = res.data
- })
- getSbPositionTree().then((res) => {
- this.treeData = res.data
- })
- },
- methods: {
- base (record, type) {
- if (this.parentId) {
- const {
- form: { setFieldsValue }
- } = this
- // 日期处理
- this.$nextTick(() => {
- setFieldsValue(
- Object.assign({
- parentId: this.parentId,
- parentSbName: this.parentName,
- isChild: this.BaseTool.Object.getField(this.isChildMap, this.DictCache.VALUE.SB_IS_CHILD.IS_CHILD)
- })
- )
- })
- }
- this.setTree(record)
- // 清除文件列表
- this.visible = true
- // 选择框查询条件
- // 如果是空标识添加
- if (this.BaseTool.Object.isBlank(record)) {
- this.qrcodesrc = null
- this.modalTitle = '添加'
- this.clearFileList()
- return
- }
- this.isSelfRequired = record.isMeasure
- this.useType = record.useType
- this.modalTitle = '编辑'
- this.id = record.id
- this.qrcodesrc = record.qrCode
- this.repairFileList = record.repairFileList
- this.useFileList = record.useFileList
- this.recheckFileList = record.recheckFileList
- this.sbFileList = record.sbFileList
- this.defaultRepairFileList = this.BaseTool.UPLOAD.transImg(this.repairFileList)
- this.defaultUseFileList = this.BaseTool.UPLOAD.transImg(this.useFileList)
- this.defaultRecheckFileList = this.BaseTool.UPLOAD.transImg(this.recheckFileList)
- this.defaultSbFileList = this.BaseTool.UPLOAD.transImg(this.sbFileList)
- this.paramList = JSON.parse(record.paramList)
- if (type === 1) {
- this.type = type
- 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)
- // 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.buyDate != null) {
- record.buyDate = this.BaseTool.Moment(record.buyDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['buyDate'])))
- })
- }
- if (record.startDate != null) {
- record.startDate = this.BaseTool.Moment(record.startDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['startDate'])))
- })
- }
- if (record.checkDate != null) {
- record.checkDate = this.BaseTool.Moment(record.checkDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['checkDate'])))
- })
- }
- if (record.nextCheckDate != null) {
- record.nextCheckDate = this.BaseTool.Moment(record.nextCheckDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['nextCheckDate'])))
- })
- }
- if (record.retirementDate != null) {
- record.retirementDate = this.BaseTool.Moment(record.retirementDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['retirementDate'])))
- })
- }
- if (record.registerDate != null) {
- record.registerDate = this.BaseTool.Moment(record.registerDate, this.BaseTool.Date.PICKER_NORM_DATE_PATTERN)
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['registerDate'])))
- })
- }
- 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',
- 'checkType',
- 'parentId',
- 'positionNo',
- 'ppNo',
- 'parentSbName',
- 'isChild',
- 'isShow',
- 'isFinancing',
- 'financingNo',
- 'financingNoTwo',
- 'financingNoThird',
- 'financingNoFour',
- 'financingNoFive',
- 'name',
- 'baoyangTimes',
- 'model',
- 'cph',
- 'isMeasure',
- 'isSelf',
- 'positionId',
- 'producerName',
- 'useArea',
- 'useCompany',
- 'useProject',
- 'useDept',
- 'saveUser',
- 'repairUser',
- 'useGroup',
- 'typeId',
- 'level',
- 'initialValue',
- // 'cutValue',
- 'producerId',
- // 'sourceType',
- 'unit',
- 'buyDate',
- 'startDate',
- 'zbh',
- // 'wbFile',
- // 'useFile',
- // 'checkFile',
- // 'sbImage',identifyNoidentifyNo
- 'status',
- 'remark',
- 'zzh',
- 'zz',
- 'zjm',
- 'jbdh',
- 'useType',
- 'cardNo',
- 'fdjxh',
- 'checkDate',
- 'checkPeriod',
- 'nextCheckDate',
- 'dph',
- 'zaiz',
- 'rlType',
- 'color',
- 'sbdh',
- 'seatNumber',
- 'registerNo',
- 'characterType',
- 'usedNo',
- 'supplier',
- 'repairUserSecond',
- 'batchNo',
- 'workYear',
- 'retirementDate',
- 'registerDate',
- 'repairDeptId',
- 'identifyNo',
- 'useNo',
- 'sbCode',
- 'installUnit',
- 'examResult',
- 'usePosition',
- 'sbRegisterNo'
- ])
- )
- )
- })
- },
- save () {
- const {
- form: { validateFieldsAndScroll }
- } = this
- this.confirmLoading = true
- validateFieldsAndScroll((errors, values) => {
- if (errors) {
- this.confirmLoading = false
- this.$message.error(errors)
- 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.checkDate = BaseTool.Date.formatter(values.checkDate, 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)
- if (values.registerDate != null) {
- values.registerDate = BaseTool.Date.formatter(values.registerDate, 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.paramList = JSON.stringify(this.paramList)
- values.useType = this.useType
- if (values.isChild === '父设备') {
- values.isChild = 0
- } else if (values.isChild === '子设备') {
- values.isChild = 1
- }
- if (this.BaseTool.String.isBlank(values.id)) {
- addSbInfo(values)
- .then(() => {
- this.handleCancel(values)
- })
- .catch(() => {
- this.confirmLoading = false
- })
- } else {
- if (this.type == null) {
- updateSbInfo(values)
- .then(() => {
- this.handleCancel(values)
- })
- .catch(() => {
- this.confirmLoading = false
- })
- } else {
- copySbInfo(values)
- .then(() => {
- this.handleCancel(values)
- })
- .catch(() => {
- this.confirmLoading = false
- })
- }
- }
- })
- },
- getQrcodeSrc () {
- // console.log(111, 22)
- },
- handleCancel () {
- this.type = null
- this.visible = false
- this.confirmLoading = false
- this.form.resetFields()
- this.$emit('ok')
- },
- handleFresh () {
- fetchSbInfo({ id: this.id }).then((res) => {
- const {
- form: { setFieldsValue }
- } = this
- const record = res.data
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(record, ['zjm', 'jbdh'])))
- })
- })
- },
- setTree (record = {}) {
- fetchSbTypeTree().then((res) => {
- this.sbTypeTreeData = res.data
- })
- querySbPosition().then((res) => {
- this.sbPositionData = 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
- })
- },
- handlePointSelect (value) {
- if (!value) return
- console.log(value)
- const {
- form: { setFieldsValue }
- } = this
- this.$nextTick(() => {
- setFieldsValue(Object.assign(pick(value, ['zjm', 'jbdh'])))
- })
- },
- handleRecheckFileChange (info) {
- this.defaultRecheckFileList = info.fileList
- this.recheckFileList = this.setFileList(info, 3)
- },
- handleSbFileChange (info) {
- this.defaultSbFileList = info.fileList
- this.sbFileList = this.setFileList(info, 4)
- },
- clearParent () {
- const {
- form: { setFieldsValue }
- } = this
- // 日期处理
- this.$nextTick(() => {
- setFieldsValue(
- Object.assign({
- parentId: null,
- parentSbName: null
- })
- )
- })
- },
- // 主子设备切换
- childChange (value) {
- if (
- value === this.DictCache.VALUE.SB_IS_CHILD.IS_PARENT ||
- value === this.DictCache.VALUE.SB_IS_CHILD.IS_NORMAL
- ) {
- const {
- form: { setFieldsValue }
- } = this
- // 日期处理
- this.$nextTick(() => {
- setFieldsValue(
- Object.assign({
- parentId: null,
- parentSbName: null
- })
- )
- })
- }
- },
- // 设置为需要检定的,是否自检也要设置
- isMeasureChange (value) {
- if (value === this.DictCache.VALUE.YES_NO.YES) {
- this.isSelfRequired = true
- } else {
- this.isSelfRequired = false
- }
- },
- 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,
- ppNo: row.positionNo
- })
- )
- })
- },
- handleChange (value) {
- this.useType = value
- },
- 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
- })
- },
- filterOptionProducer (input, option) {
- return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
- },
- setFileList (info, type) {
- // { file, fileList }
- const file = info.file
- // console.log('file: ' + JSON.stringify(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
- }
- },
- handlePoint () {
- const {
- form: { getFieldValue }
- } = this
- const zjm = getFieldValue('zjm')
- const jbdh = getFieldValue('jbdh')
- const positionId = getFieldValue('positionId')
- if (positionId == null) {
- this.$message.error('请先设置资产位置')
- }
- this.$refs.pointModal.base({
- id: this.id,
- positionId: positionId,
- zjm: zjm,
- jbdh: jbdh
- })
- // const a = document.createElement('a')
- // a.href = '/hitch-screen/point.html?id=' + this.id + '&positionId=' + positionId + '&zjm=' + zjm + '&jbdh=' + jbdh
- // a.target = '_blank'
- // a.click()
- },
- handleParam () {
- const modal = this.$refs.paramForm
- modal.base(this.model)
- },
- handleParamList (values) {
- // console.log(values)
- if (this.paramList == null) {
- this.paramList = []
- }
- this.paramList.push(values)
- },
- handleDelParam (index) {
- // console.log(index)
- this.paramList.splice(index, 1)
- }
- }
- }
- </script>
|