领料记录查询详情-增加审批流
This commit is contained in:
parent
58e35a17c1
commit
63442e3a15
|
|
@ -1,341 +1,387 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="maForm"
|
||||
ref="maForm"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
:inline="true"
|
||||
label-width="120px"
|
||||
:disabled="isDetail"
|
||||
>
|
||||
<el-form-item label="领用单位" prop="unitId">
|
||||
<treeselect
|
||||
v-model="maForm.unitId"
|
||||
:disabled="isEdit || isDetail"
|
||||
:options="uniteList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择领用单位"
|
||||
@select="uniteChange"
|
||||
v-if="pageTitle === '新增'"
|
||||
/>
|
||||
|
||||
<el-input v-else v-model="maForm.leaseUnit" style="width: 240px" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="领用工程" prop="projectId">
|
||||
<treeselect
|
||||
v-model="maForm.projectId"
|
||||
:disabled="isEdit || isDetail"
|
||||
:options="projectList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择领用工程"
|
||||
@select="projectChange"
|
||||
v-if="pageTitle === '新增'"
|
||||
/>
|
||||
|
||||
<el-input v-else v-model="maForm.leaseProject" style="width: 240px" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="领料人" prop="leasePerson">
|
||||
<el-input
|
||||
v-model="maForm.leasePerson"
|
||||
placeholder="请输入领料人"
|
||||
clearable
|
||||
maxlength="50"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24" :offset="0">
|
||||
<el-form-item label="供货时间" prop="supplierTime">
|
||||
<el-date-picker
|
||||
v-model="maForm.supplierTime"
|
||||
type="date"
|
||||
placeholder="请选择供货时间"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
:picker-options="pickerOptions"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="供货地点" prop="supplierPlace">
|
||||
<el-input
|
||||
v-model="maForm.supplierPlace"
|
||||
placeholder="请输入供货地点"
|
||||
clearable
|
||||
maxlength="200"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="phone">
|
||||
<el-input
|
||||
v-model="maForm.phone"
|
||||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
maxlength="11"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用班组数" prop="fitNum">
|
||||
<el-input
|
||||
v-model="maForm.fitNum"
|
||||
placeholder="请输入适用班组数"
|
||||
maxlength="10"
|
||||
type="number"
|
||||
style="width: 240px"
|
||||
@blur="fitNumChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="业务单号" prop="code" v-if="isEdit || isDetail">
|
||||
<el-input
|
||||
v-model="maForm.code"
|
||||
placeholder="请输入业务单号"
|
||||
clearable
|
||||
maxlength="150"
|
||||
style="width: 240px"
|
||||
disabled
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="标准配置" prop="standardConfig">
|
||||
<treeselect
|
||||
v-model="maForm.standardConfig"
|
||||
:disabled="isDetail"
|
||||
:options="standardConfigList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择标准配置"
|
||||
@select="standardConfigChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型规格" prop="deviceType">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="15">
|
||||
<el-select
|
||||
ref="typeSelect"
|
||||
v-model="tempDeviceType"
|
||||
multiple
|
||||
filterable
|
||||
placeholder="请输入类型规格"
|
||||
style="width: 500px"
|
||||
@change="handleTypeChange"
|
||||
clearable
|
||||
collapse-tags
|
||||
:filter-method="handleSearchImpl"
|
||||
:popper-class="'type-select-dropdown'"
|
||||
:popper-append-to-body="false"
|
||||
@visible-change="handleVisibleChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in filteredOptions"
|
||||
:key="item.typeId"
|
||||
:label="item.fullPath"
|
||||
:value="item.typeId"
|
||||
:data-key="item.typeId"
|
||||
@mouseenter.native="showCustomTooltip(item, $event)"
|
||||
@mouseleave.native="hideCustomTooltip"
|
||||
>
|
||||
<span v-html="highlightText(item.fullPath, searchKeyword)"></span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <div
|
||||
v-if="currentTooltipItem"
|
||||
class="custom-tooltip"
|
||||
:style="{
|
||||
left: tooltipPosition.x + 'px',
|
||||
top: tooltipPosition.y + 'px'
|
||||
}"
|
||||
>
|
||||
<img
|
||||
:src="currentTooltipItem.imageUrl || defaultImage"
|
||||
style="max-width: 200px; max-height: 150px"
|
||||
@load="imageLoaded"
|
||||
@error="imageLoadError"
|
||||
/>
|
||||
<p>库存: {{ currentTooltipItem.storageNum }}</p>
|
||||
</div> -->
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-input
|
||||
ref="searchInput"
|
||||
v-model="searchKeyword"
|
||||
placeholder="输入类型规格高亮搜索"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
style="width: 300px"
|
||||
@input="handleHighlightSearch"
|
||||
@focus="handleSearchFocus"
|
||||
@click.native="handleSearchClick"
|
||||
>
|
||||
<template slot="append">
|
||||
<span v-if="matchedOptions.length" style="margin: 0 5px">
|
||||
{{ currentMatchIndex + 1 }}/{{ matchedOptions.length }}
|
||||
</span>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="委托书" prop="bmFileInfos" v-if="isFileFbs">
|
||||
<el-upload
|
||||
:action="uploadUrl"
|
||||
:file-list="maForm.bmFileInfos"
|
||||
:show-file-list="true"
|
||||
:auto-upload="true"
|
||||
:key="uploadKey"
|
||||
:limit="5"
|
||||
list-type="picture-card"
|
||||
accept=".png, .jpg, .jpeg, .pdf"
|
||||
:on-change="handleChangeBusinessList"
|
||||
:class="{ disabledFbs: uploadDisabled }"
|
||||
:on-preview="picturePreviewFbs"
|
||||
:on-remove="handleRemoveElectricianImgList"
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="isDetail ? 18 : 24" :offset="0">
|
||||
<el-form
|
||||
:model="maForm"
|
||||
ref="maForm"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
:inline="true"
|
||||
label-width="120px"
|
||||
:disabled="isDetail"
|
||||
>
|
||||
<!-- 文件格式下载,图片格式预览 -->
|
||||
<div slot="file" slot-scope="{ file }">
|
||||
<img v-if="isImage(file)" class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
|
||||
<div v-else class="picture-card-container">
|
||||
<img class="picture-card" :src="urlTemp" alt="" />
|
||||
<p class="file-name">{{ file.name }}</p>
|
||||
</div>
|
||||
<span class="el-upload-list__item-actions">
|
||||
<span v-if="updataIf(file)" class="el-upload-list__item-delete" @click="handleDownload(file)">
|
||||
<i class="el-icon-download" />
|
||||
</span>
|
||||
<span v-else class="el-upload-list__item-preview" @click="picturePreviewFbs(file)">
|
||||
<i class="el-icon-zoom-in" />
|
||||
</span>
|
||||
<span v-if="!isDetail" class="el-upload-list__item-delete" @click="handleRemoveElectricianImgList(file)">
|
||||
<i class="el-icon-delete" />
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<i class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5" v-if="!isDetail">
|
||||
<el-button type="primary" plain icon="el-icon-document" size="mini" @click="handleSave">
|
||||
{{ isEdit ? '提交' : '发起申请' }}
|
||||
</el-button>
|
||||
<el-form-item label="领用单位" prop="unitId">
|
||||
<treeselect
|
||||
v-model="maForm.unitId"
|
||||
:disabled="isEdit || isDetail"
|
||||
:options="uniteList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择领用单位"
|
||||
@select="uniteChange"
|
||||
v-if="pageTitle === '新增'"
|
||||
/>
|
||||
|
||||
<el-input v-else v-model="maForm.leaseUnit" style="width: 240px" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="领用工程" prop="projectId">
|
||||
<treeselect
|
||||
v-model="maForm.projectId"
|
||||
:disabled="isEdit || isDetail"
|
||||
:options="projectList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择领用工程"
|
||||
@select="projectChange"
|
||||
v-if="pageTitle === '新增'"
|
||||
/>
|
||||
|
||||
<el-input v-else v-model="maForm.leaseProject" style="width: 240px" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="领料人" prop="leasePerson">
|
||||
<el-input
|
||||
v-model="maForm.leasePerson"
|
||||
placeholder="请输入领料人"
|
||||
clearable
|
||||
maxlength="50"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24" :offset="0">
|
||||
<el-form-item label="供货时间" prop="supplierTime">
|
||||
<el-date-picker
|
||||
v-model="maForm.supplierTime"
|
||||
type="date"
|
||||
placeholder="请选择供货时间"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
:picker-options="pickerOptions"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="供货地点" prop="supplierPlace">
|
||||
<el-input
|
||||
v-model="maForm.supplierPlace"
|
||||
placeholder="请输入供货地点"
|
||||
clearable
|
||||
maxlength="200"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="phone">
|
||||
<el-input
|
||||
v-model="maForm.phone"
|
||||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
maxlength="11"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用班组数" prop="fitNum">
|
||||
<el-input
|
||||
v-model="maForm.fitNum"
|
||||
placeholder="请输入适用班组数"
|
||||
maxlength="10"
|
||||
type="number"
|
||||
style="width: 240px"
|
||||
@blur="fitNumChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="业务单号" prop="code" v-if="isEdit || isDetail">
|
||||
<el-input
|
||||
v-model="maForm.code"
|
||||
placeholder="请输入业务单号"
|
||||
clearable
|
||||
maxlength="150"
|
||||
style="width: 240px"
|
||||
disabled
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="标准配置" prop="standardConfig">
|
||||
<treeselect
|
||||
v-model="maForm.standardConfig"
|
||||
:disabled="isDetail"
|
||||
:options="standardConfigList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
style="width: 240px"
|
||||
:disable-branch-nodes="true"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择标准配置"
|
||||
@select="standardConfigChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型规格" prop="deviceType">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="15">
|
||||
<el-select
|
||||
ref="typeSelect"
|
||||
v-model="tempDeviceType"
|
||||
multiple
|
||||
filterable
|
||||
placeholder="请输入类型规格"
|
||||
style="width: 500px"
|
||||
@change="handleTypeChange"
|
||||
clearable
|
||||
collapse-tags
|
||||
:filter-method="handleSearchImpl"
|
||||
:popper-class="'type-select-dropdown'"
|
||||
:popper-append-to-body="false"
|
||||
@visible-change="handleVisibleChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in filteredOptions"
|
||||
:key="item.typeId"
|
||||
:label="item.fullPath"
|
||||
:value="item.typeId"
|
||||
:data-key="item.typeId"
|
||||
@mouseenter.native="showCustomTooltip(item, $event)"
|
||||
@mouseleave.native="hideCustomTooltip"
|
||||
>
|
||||
<span v-html="highlightText(item.fullPath, searchKeyword)"></span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <div
|
||||
v-if="currentTooltipItem"
|
||||
class="custom-tooltip"
|
||||
:style="{
|
||||
left: tooltipPosition.x + 'px',
|
||||
top: tooltipPosition.y + 'px'
|
||||
}"
|
||||
>
|
||||
<img
|
||||
:src="currentTooltipItem.imageUrl || defaultImage"
|
||||
style="max-width: 200px; max-height: 150px"
|
||||
@load="imageLoaded"
|
||||
@error="imageLoadError"
|
||||
/>
|
||||
<p>库存: {{ currentTooltipItem.storageNum }}</p>
|
||||
</div> -->
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-input
|
||||
ref="searchInput"
|
||||
v-model="searchKeyword"
|
||||
placeholder="输入类型规格高亮搜索"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
style="width: 300px"
|
||||
@input="handleHighlightSearch"
|
||||
@focus="handleSearchFocus"
|
||||
@click.native="handleSearchClick"
|
||||
>
|
||||
<template slot="append">
|
||||
<span v-if="matchedOptions.length" style="margin: 0 5px">
|
||||
{{ currentMatchIndex + 1 }}/{{ matchedOptions.length }}
|
||||
</span>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="委托书" prop="bmFileInfos" v-if="isFileFbs">
|
||||
<el-upload
|
||||
:action="uploadUrl"
|
||||
:file-list="maForm.bmFileInfos"
|
||||
:show-file-list="true"
|
||||
:auto-upload="true"
|
||||
:key="uploadKey"
|
||||
:limit="5"
|
||||
list-type="picture-card"
|
||||
accept=".png, .jpg, .jpeg, .pdf"
|
||||
:on-change="handleChangeBusinessList"
|
||||
:class="{ disabledFbs: uploadDisabled }"
|
||||
:on-preview="picturePreviewFbs"
|
||||
:on-remove="handleRemoveElectricianImgList"
|
||||
:disabled="isDetail"
|
||||
>
|
||||
<!-- 文件格式下载,图片格式预览 -->
|
||||
<div slot="file" slot-scope="{ file }">
|
||||
<img v-if="isImage(file)" class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
|
||||
<div v-else class="picture-card-container">
|
||||
<img class="picture-card" :src="urlTemp" alt="" />
|
||||
<p class="file-name">{{ file.name }}</p>
|
||||
</div>
|
||||
<span class="el-upload-list__item-actions">
|
||||
<span v-if="updataIf(file)" class="el-upload-list__item-delete" @click="handleDownload(file)">
|
||||
<i class="el-icon-download" />
|
||||
</span>
|
||||
<span v-else class="el-upload-list__item-preview" @click="picturePreviewFbs(file)">
|
||||
<i class="el-icon-zoom-in" />
|
||||
</span>
|
||||
<span
|
||||
v-if="!isDetail"
|
||||
class="el-upload-list__item-delete"
|
||||
@click="handleRemoveElectricianImgList(file)"
|
||||
>
|
||||
<i class="el-icon-delete" />
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<i class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5" v-if="!isDetail">
|
||||
<el-button type="primary" plain icon="el-icon-document" size="mini" @click="handleSave">
|
||||
{{ isEdit ? '提交' : '发起申请' }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5" v-if="!isDetail">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addColumns">新增条目</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-arrow-left" size="mini" @click="handleApplyRecord">
|
||||
领料记录查看
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">
|
||||
导出工具器清单
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column align="center" label="序号" type="index" width="55" />
|
||||
<el-table-column align="center" label="类型名称" prop="maTypeName" show-overflow-tooltip>
|
||||
<template v-slot="scope">
|
||||
<el-cascader
|
||||
v-if="scope.row.isManual == 1"
|
||||
v-model="scope.row.maTypeIds"
|
||||
placeholder="请选择类型名称"
|
||||
:options="maTypeList"
|
||||
:props="{ label: 'typeName', value: 'typeId' }"
|
||||
filterable
|
||||
clearable
|
||||
:disabled="isDetail"
|
||||
@change="selectedIds => getTypeList(scope.row, selectedIds, scope.$index)"
|
||||
></el-cascader>
|
||||
|
||||
<span v-else>{{ scope.row.maTypeName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="规格型号" prop="typeName" show-overflow-tooltip>
|
||||
<template v-slot="scope">
|
||||
<el-select
|
||||
v-if="scope.row.isManual == 1"
|
||||
v-model="scope.row.typeId"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择规格型号"
|
||||
:disabled="isDetail"
|
||||
@change="val => changeTypeName(scope.row, val, getSelectedItemName(val, scope.row))"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in scope.row.typeList"
|
||||
:key="item.typeId"
|
||||
:label="item.name"
|
||||
:value="item.typeId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<span v-else>{{ scope.row.typeName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="计量单位" prop="unitName" />
|
||||
<el-table-column label="预领数量" prop="preNum" align="center">
|
||||
<template v-slot="scope">
|
||||
<el-input
|
||||
v-model="scope.row.preNum"
|
||||
type="text"
|
||||
style="width: 100%"
|
||||
:disabled="!!(scope.row.alNum && scope.row.alNum != 0)"
|
||||
:readonly="isDetail"
|
||||
@input="handlePreNum(scope.row, $event, 'input')"
|
||||
@blur="handlePreNum(scope.row, $event, 'blur')"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column align="center" label="当前库存" prop="storageNum" /> -->
|
||||
<!-- <el-table-column label="待出库数量" align="center" prop="alNum" show-overflow-tooltip /> -->
|
||||
<el-table-column label="备注" prop="remark" align="center" label-width="500px">
|
||||
<template v-slot="scope">
|
||||
<el-input
|
||||
v-model="scope.row.remark"
|
||||
controls-position="right"
|
||||
:readonly="isDetail"
|
||||
style="width: 100%"
|
||||
></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" v-if="!isDetail">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
style="color: red"
|
||||
@click="handleDelete(scope.$index, scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="1.5" v-if="!isDetail">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addColumns">新增条目</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-arrow-left" size="mini" @click="handleApplyRecord">
|
||||
领料记录查看
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">
|
||||
导出工具器清单
|
||||
</el-button>
|
||||
<el-col :span="6" :offset="0" v-if="isDetail">
|
||||
<div class="right-title">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div>流程记录</div>
|
||||
</div>
|
||||
|
||||
<div class="process-record">
|
||||
<el-steps :active="active" :space="120" direction="vertical">
|
||||
<el-step v-for="step in auditingList" :key="step.id" :title="step.nodeName">
|
||||
<template slot="description">
|
||||
<div class="custom-description">
|
||||
审核结果:
|
||||
<el-tag size="mini" type="primary" v-if="step.isAccept === 0">待审批</el-tag>
|
||||
<el-tag size="mini" type="success" v-if="step.isAccept === 1">已通过</el-tag>
|
||||
<el-tag size="mini" type="danger" v-if="step.isAccept === 2">已驳回</el-tag>
|
||||
</div>
|
||||
|
||||
<div class="node-info" v-if="step.auditBy">
|
||||
审核人:
|
||||
{{ step.auditBy }}
|
||||
</div>
|
||||
|
||||
<div class="node-info" v-if="step.createTime">
|
||||
审核时间:
|
||||
{{ step.createTime }}
|
||||
</div>
|
||||
|
||||
<div class="node-info" v-if="step.remark">
|
||||
审核意见:
|
||||
{{ step.remark }}
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||
<el-table-column align="center" label="序号" type="index" width="55" />
|
||||
<el-table-column align="center" label="类型名称" prop="maTypeName" show-overflow-tooltip>
|
||||
<template v-slot="scope">
|
||||
<el-cascader
|
||||
v-if="scope.row.isManual == 1"
|
||||
v-model="scope.row.maTypeIds"
|
||||
placeholder="请选择类型名称"
|
||||
:options="maTypeList"
|
||||
:props="{ label: 'typeName', value: 'typeId' }"
|
||||
filterable
|
||||
clearable
|
||||
:disabled="isDetail"
|
||||
@change="selectedIds => getTypeList(scope.row, selectedIds, scope.$index)"
|
||||
></el-cascader>
|
||||
|
||||
<span v-else>{{ scope.row.maTypeName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="规格型号" prop="typeName" show-overflow-tooltip>
|
||||
<template v-slot="scope">
|
||||
<el-select
|
||||
v-if="scope.row.isManual == 1"
|
||||
v-model="scope.row.typeId"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择规格型号"
|
||||
:disabled="isDetail"
|
||||
@change="val => changeTypeName(scope.row, val, getSelectedItemName(val, scope.row))"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in scope.row.typeList"
|
||||
:key="item.typeId"
|
||||
:label="item.name"
|
||||
:value="item.typeId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<span v-else>{{ scope.row.typeName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="计量单位" prop="unitName" />
|
||||
<el-table-column label="预领数量" prop="preNum" align="center">
|
||||
<template v-slot="scope">
|
||||
<el-input
|
||||
v-model="scope.row.preNum"
|
||||
type="text"
|
||||
style="width: 100%"
|
||||
:disabled="scope.row.alNum && scope.row.alNum != 0"
|
||||
@input="handlePreNum(scope.row, $event, 'input')"
|
||||
@blur="handlePreNum(scope.row, $event, 'blur')"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column align="center" label="当前库存" prop="storageNum" /> -->
|
||||
<!-- <el-table-column label="待出库数量" align="center" prop="alNum" show-overflow-tooltip /> -->
|
||||
<el-table-column label="备注" prop="remark" align="center" label-width="500px">
|
||||
<template v-slot="scope">
|
||||
<el-input
|
||||
v-model="scope.row.remark"
|
||||
controls-position="right"
|
||||
:disabled="isDetail"
|
||||
style="width: 100%"
|
||||
></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" v-if="!isDetail">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
style="color: red"
|
||||
@click="handleDelete(scope.$index, scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 弹框 -->
|
||||
<el-dialog title="领用申请" :visible.sync="dialogVisible" width="60%">
|
||||
<el-form ref="dialogForm" :model="maForm" label-width="120px" inline>
|
||||
|
|
@ -390,6 +436,7 @@ import {
|
|||
getCode
|
||||
} from '@/api/business/index'
|
||||
import { getEquipmentThreeTypeThree, getMaTypeOpt } from '@/api/ma/base'
|
||||
import { getAuditingDetailsApi } from '@/api/receive-apply/index.js'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
|
|
@ -566,7 +613,10 @@ export default {
|
|||
defaultImage: 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg',
|
||||
tooltipTimeout: null,
|
||||
|
||||
pageTitle: '新增'
|
||||
pageTitle: '新增',
|
||||
auditingList: [],
|
||||
active: 1,
|
||||
taskId: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -625,6 +675,8 @@ export default {
|
|||
// const obj = Object.assign({}, this.$route, { title: '领用申请编辑' })
|
||||
// this.$tab.updatePage(obj)
|
||||
} else if (this.$route.query.type == 'detail') {
|
||||
this.taskId = this.$route.query.taskId
|
||||
this.getLeaseTaskDetailFun()
|
||||
// this.isEdit = false
|
||||
// this.isDetail = true
|
||||
// this.id = this.$route.query.id
|
||||
|
|
@ -651,11 +703,18 @@ export default {
|
|||
console.log(this.$route.query, 'this.$route.query')
|
||||
},
|
||||
methods: {
|
||||
// 获取数据详情 和 审核记录详情
|
||||
async getLeaseTaskDetailFun() {
|
||||
const { rows: result } = await getAuditingDetailsApi({ taskId: this.taskId })
|
||||
this.auditingList = result
|
||||
console.log('审核列表数据:', this.auditingList)
|
||||
},
|
||||
handlePreNum(row, val, type) {
|
||||
if (type === 'input') {
|
||||
const reg = row.unitValue == 1
|
||||
? val.replace(/[^\d.]/g, '') // 允许小数
|
||||
: val.replace(/[^\d]/g, '') // 只能整数
|
||||
const reg =
|
||||
row.unitValue == 1
|
||||
? val.replace(/[^\d.]/g, '') // 允许小数
|
||||
: val.replace(/[^\d]/g, '') // 只能整数
|
||||
row.preNum = reg
|
||||
} else if (type === 'blur') {
|
||||
if (row.preNum !== '') {
|
||||
|
|
@ -1542,4 +1601,52 @@ export default {
|
|||
max-width: 250px;
|
||||
color: white;
|
||||
}
|
||||
.process-record {
|
||||
margin-top: 20px;
|
||||
// height: 60vh;
|
||||
}
|
||||
.btn-container {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
::v-deep .el-step__icon.is-text {
|
||||
background-color: #19a4a0;
|
||||
color: #19a4a0;
|
||||
border: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
::v-deep .el-step.is-vertical .el-step__line {
|
||||
width: 2px;
|
||||
top: 26px;
|
||||
bottom: 8px;
|
||||
left: 7px;
|
||||
}
|
||||
|
||||
::v-deep .el-step__title.is-finish {
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
::v-deep .el-step__title.is-wait {
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.custom-description {
|
||||
padding: 8px 0 8px 20px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.node-info {
|
||||
// padding: 2px 0;
|
||||
padding-left: 20px;
|
||||
color: #666;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -376,7 +376,7 @@ export default {
|
|||
console.log('编辑', row)
|
||||
let params = {}
|
||||
if (type === 1) {
|
||||
params = { type: 'detail', id: row.id }
|
||||
params = { type: 'detail', id: row.id, taskId: row.taskId }
|
||||
} else {
|
||||
params = { type: 'edit', id: row.id }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@
|
|||
<div class="uploadImg">
|
||||
<div id="qrcode" class="qrcode" ref="codeItem"></div>
|
||||
</div>
|
||||
<div class="boxCode">二维码编号:{{ rowObj.qrCode }}</div>
|
||||
<div class="boxCode">设备编号:{{ rowObj.maCode }}</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer" style="text-align: center">
|
||||
<el-button type="primary" @click="downloadCode">下 载</el-button>
|
||||
|
|
|
|||
Loading…
Reference in New Issue