You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1674 lines
59 KiB
1674 lines
59 KiB
<template>
|
|
<div>
|
|
<fieldset class="customer-field" style="width: 100%; padding: 0.35em 0.75em 0.425em;">
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-button @click="initToolHeaderModel('Y')" type="primary">{{ buttons.add }}</el-button>
|
|
<el-button @click="initToolHeaderModel('N')" type="primary">{{ buttons.edit }}</el-button>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form :inline="true" label-position="top" label-width="100px">
|
|
<el-form-item>
|
|
<el-link slot="label" @click="getBaseList(70)"> {{inputLabel.headerInput.label1}}</el-link>
|
|
<el-input style="width: 100px;"
|
|
@keyup.enter.native="getHeaderData"
|
|
v-model="headerData.toolId"></el-input> <!---->
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label2">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.toolDescription"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label3">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.spec"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label4">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.site"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label5">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.familyId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label6">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.familyName"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label7">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.umid"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label8">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.strActive"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form :inline="true" label-position="top" label-width="100px">
|
|
<el-form-item :label="inputLabel.headerInput.label9">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.codeNo"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label10">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.defaultLocationId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label11">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.strPartCreated"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label12">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.partNo"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label14">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.strCreateDate"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label15">
|
|
<el-input style="width: 100px;" readonly v-model="headerData.createdBy"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label13">
|
|
<el-input style="width: 215px;" readonly v-model="headerData.remark"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-col>
|
|
</el-row>
|
|
</fieldset>
|
|
|
|
<el-tabs style="font-size: 12px" class="customer-tab" v-model="activeName" type="border-card">
|
|
<el-tab-pane :label="'工具实例'" name="toolInfo">
|
|
<el-row>
|
|
<el-col :span="7">
|
|
<fieldset class="customer-field" style="width: 98%;">
|
|
<legend>数据明细/编辑</legend>
|
|
<el-form :inline="true" label-position="top" label-width="95px" style="padding: 5px;">
|
|
<el-form-item>
|
|
<el-button @click="initToolModel('Y')" type="primary">{{ buttons.add }}</el-button>
|
|
<el-button @click="initToolModel('N')" type="primary">{{ buttons.edit }}</el-button>
|
|
<el-button @click="printMethod('Y')" type="primary">{{ '工具标签' }}</el-button>
|
|
<el-button @click="printMethod('N')" type="primary">{{ '网版' }}</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" label-width="95px">
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label1">
|
|
<el-select @change="toolInstanceIdChange(currentDetailData.toolInstanceId)"
|
|
v-model="currentDetailData.toolInstanceId" placeholder="请选择" style="width: 150px;">
|
|
<el-option
|
|
v-for="item in selectList.select4"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label2">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.status"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label3">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.supplierId"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label4">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.supplierName"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label5">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPurchaseDate"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label6">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.steelSeal"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label7">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPhaseInDate"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label8">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPhaseOutDate"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label9">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.estUseQty"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label10">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.actualUseQty"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label11">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.strCreateDate"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label12">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.createdBy"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item :label="inputLabel.leftInput.label13">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.orderNo"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item :label="'库位编码'">
|
|
<el-input style="width: 150px;" readonly v-model="currentDetailData.locationId"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form-item :label="inputLabel.leftInput.label14">
|
|
<el-input style="width: 300px;" readonly v-model="currentDetailData.remark"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</fieldset>
|
|
</el-col>
|
|
<el-col :span="17">
|
|
<fieldset class="customer-field" style="width: 100%; ">
|
|
<legend>{{inputLabel.rightInput.label1}}</legend>
|
|
<el-table
|
|
width="100%"
|
|
:height="height/2"
|
|
:data="sfdcToolingHistList"
|
|
border
|
|
v-loading="dataListLoading"
|
|
@selection-change="selectionChangeHandle"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
v-for="(item,index) in columnList" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed==''?false:item.fixed"
|
|
:width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
|
|
style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</fieldset>
|
|
<fieldset class="customer-field" style="width: 100%; ">
|
|
<legend>{{inputLabel.rightInput.label2}}</legend>
|
|
<el-table
|
|
width="100%"
|
|
:height="height/2"
|
|
:data="toolInstanceIdUseHist"
|
|
border
|
|
v-loading="dataListLoading"
|
|
@selection-change="selectionChangeHandle"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
v-for="(item,index) in columnList1" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed==''?false:item.fixed"
|
|
:width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
|
|
style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</fieldset>
|
|
</el-col>
|
|
</el-row>
|
|
</el-tab-pane>
|
|
<el-tab-pane :label="'使用该工具的产品清单'" name="tool">
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
|
|
<column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
|
|
<!--新增或编辑 工具信息-->
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag
|
|
:title="'工具信息'" :visible.sync="toolHeaderShow" width="473px">
|
|
<el-form :inline="true" label-position="top" label-width="100px">
|
|
<el-form-item :label="inputLabel.headerInput.label1">
|
|
<el-input style="width: 100px;" :readonly="!this.toolDetailAddOrEdit"
|
|
v-model="editHeaderData.toolId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label2">
|
|
<el-input style="width: 100px;" v-model="editHeaderData.toolDescription"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label3">
|
|
<el-input style="width: 100px;" v-model="editHeaderData.spec"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-link slot="label" @click="getBaseList(23)"> {{inputLabel.headerInput.label5}}</el-link>
|
|
<el-input style="width: 100px;" v-model="editHeaderData.familyId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label6">
|
|
<el-input style="width: 100px;" class="customer-input-color-red" readonly
|
|
v-model="editHeaderData.familyName"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-link slot="label" @click="getBaseList(7)"> {{inputLabel.headerInput.label7}}</el-link>
|
|
<el-input style="width: 100px;" readonly v-model="editHeaderData.umid"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label9">
|
|
<el-input style="width: 100px;" v-model="editHeaderData.codeNo"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label8">
|
|
<el-checkbox style="width: 100px;" v-model="editHeaderData.active"></el-checkbox>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label10">
|
|
<el-input style="width: 100px;" v-model="editHeaderData.defaultLocationId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label13">
|
|
<el-input style="width: 215px;" v-model="editHeaderData.remark"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.headerInput.label11">
|
|
<el-checkbox style="width: 100px;" v-model="editHeaderData.strPartCreated"></el-checkbox>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="saveAndUpdateToolHeader()">确定</el-button>
|
|
<el-button type="primary" @click="toolHeaderShow = false">取消</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!--新增或编辑实例-->
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag
|
|
:title="inputLabel.leftInput.label15" :visible.sync="setUp.toolEditFlag" width="736px">
|
|
<el-form :inline="true" label-position="top">
|
|
<el-form-item :label="inputLabel.leftInput.label1">
|
|
<el-input style="width: 130px;" :readonly="toolDetailAddOrEdit" v-model="editData.toolInstanceId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label2">
|
|
<el-select style="width: 130px;" v-model="editData.status">
|
|
<el-option label="未投用" value="未投用"></el-option>
|
|
<el-option label="已投用" value="已投用"></el-option>
|
|
<el-option label="停用" value="停用"></el-option>
|
|
</el-select>
|
|
<!-- <el-input style="width: 130px;" :readonly="toolDetailAddOrEdit" v-model="editData.status"></el-input>-->
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<span slot="label" @click="getBaseList(3)"><el-link>{{'供应商编码'}}</el-link> </span>
|
|
<el-input style="width: 130px;" v-model="editData.supplierId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label4">
|
|
<el-input style="width: 274px;" class="customer-input-color-red" readonly
|
|
v-model="editData.supplierName"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label5" style="height: 28px;">
|
|
<el-date-picker
|
|
v-model="editData.strPurchaseDate"
|
|
value-format='yyyy-MM-dd'
|
|
format='yyyy-MM-dd'
|
|
placeholder="选择日期"
|
|
style="width: 130px;">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label6">
|
|
<el-input style="width: 130px;" v-model="editData.steelSeal"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label7">
|
|
<el-date-picker
|
|
v-model="editData.strPhaseInDate"
|
|
value-format='yyyy-MM-dd '
|
|
format='yyyy-MM-dd'
|
|
placeholder="选择日期"
|
|
style="width: 130px;">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label8">
|
|
<el-date-picker
|
|
v-model="editData.strPhaseOutDate"
|
|
placeholder="选择日期"
|
|
value-format='yyyy-MM-dd'
|
|
format='yyyy-MM-dd'
|
|
style="width: 130px;">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label9">
|
|
<el-input oninput="value=value.replace(/[^0-9]/g,'')" style="width: 130px;"
|
|
v-model="editData.estUseQty"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label10">
|
|
<el-input oninput="value=value.replace(/[^0-9]/g,'')" style="width: 130px;"
|
|
v-model="editData.actualUseQty"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'库位编码'">
|
|
<el-input style="width: 130px;" v-model="editData.locationId"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="inputLabel.leftInput.label14">
|
|
<el-input style="width: 418px;" v-model="editData.remark"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" :disabled="setUp.saveToolFlag" @click="saveAndUpdateToolDetail()">确定</el-button>
|
|
<el-button type="primary" @click="setUp.toolEditFlag = false">取消</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import Chooselist from '@/views/modules/common/Chooselist'
|
|
|
|
import column from "../common/column";
|
|
import {
|
|
searchSysLanguagePackList,
|
|
searchSysLanguageParam,
|
|
searchFunctionButtonList,
|
|
saveButtonList,
|
|
searchSysLanguage,
|
|
searchLanguageListByLanguageCode,
|
|
saveSysLanguageOne
|
|
} from "@/api/sysLanguage.js"
|
|
import getLodop from '@/utils/LodopFuncs.js'
|
|
import {
|
|
saveTableDefaultList,
|
|
saveTableUser,
|
|
getTableDefaultListLanguage,
|
|
getTableUserListLanguage
|
|
} from "@/api/table.js"
|
|
import {
|
|
userFavoriteList,
|
|
saveUserFavorite,
|
|
removeUserFavorite,
|
|
} from '@/api/userFavorite.js'
|
|
import {
|
|
getToolHeaderData,
|
|
getToolDetailList,
|
|
getToolInstanceIdUseHist,
|
|
getSfdcToolingHistList,
|
|
getToolHeaderList,
|
|
updateToolDetail,
|
|
saveToolInfoDetail,
|
|
editToolHeader,
|
|
saveToolHeader
|
|
} from '@/api/knifemold/tool-info.js'
|
|
import {
|
|
printToolData
|
|
} from "@/api/knifemold/receive.js"
|
|
|
|
|
|
export default {
|
|
components: {
|
|
column,
|
|
Chooselist
|
|
},
|
|
data() {
|
|
return {
|
|
activeName: 'toolInfo',
|
|
toolHeaderShow: false,
|
|
toolHeaderAddOrEdit: false,
|
|
toolDetailAddOrEdit: false,
|
|
toolHeaderList: [],
|
|
queryHeaderData: {
|
|
site: this.$store.state.user.site,
|
|
toolId: '',
|
|
toolDescription: ''
|
|
},
|
|
editData: {
|
|
actualUseQty: 0,
|
|
createDate: "",
|
|
createdBy: this.$store.state.user.name,
|
|
description: null,
|
|
estUseQty: 0,
|
|
inspectDuration: null,
|
|
lastUpdateBy: null,
|
|
latestInspectDate: null,
|
|
latestUseDate: null,
|
|
locationId: null,
|
|
phaseInDate: "",
|
|
phaseOutDate: "",
|
|
purchaseDate: "",
|
|
remark: "",
|
|
site: this.$store.state.user.site,
|
|
status: "",
|
|
statusRef: null,
|
|
steelSeal: null,
|
|
strCreateDate: "",
|
|
strLatestInspectDate: null,
|
|
strLatestUseDate: null,
|
|
strPhaseInDate: "",
|
|
strPhaseOutDate: "",
|
|
strPurchaseDate: "",
|
|
supplierId: "",
|
|
supplierName: "",
|
|
toolDescription: null,
|
|
toolId: "",
|
|
toolIndex: null,
|
|
toolInstanceId: "",
|
|
torNumacc: null,
|
|
torNumdown: null,
|
|
workCenterNo: null,
|
|
|
|
},
|
|
setUp: {
|
|
toolEditFlag: false,
|
|
saveToolFlag: false,
|
|
toolHeaderFlag: false,
|
|
},
|
|
toolInstanceIdUseHist: [],
|
|
sfdcToolingHistList: [],
|
|
selectList: {
|
|
select1: [{
|
|
value: 'Y',
|
|
label: '启用'
|
|
}, {
|
|
value: 'N',
|
|
label: '禁用'
|
|
}],
|
|
select2: [{
|
|
value: 'Y',
|
|
label: '是'
|
|
}, {
|
|
value: 'N',
|
|
label: '否'
|
|
}],
|
|
select3: [{
|
|
value: 'P',
|
|
label: '个人'
|
|
}, {
|
|
value: 'G',
|
|
label: '组'
|
|
}],
|
|
select4: [],
|
|
select5: [],
|
|
},
|
|
inputLabel: {
|
|
headerInput: {
|
|
label1: '工具编码',
|
|
label2: '工具名称',
|
|
label3: '规格型号',
|
|
label4: '工厂编号',
|
|
label5: '工具分类',
|
|
label6: '工具分类名称',
|
|
label7: '计量单位',
|
|
label8: '在用',
|
|
label9: '属性模块',
|
|
label10: '默认库位',
|
|
label11: '创建物料编码',
|
|
label12: '物料编码',
|
|
label13: '说明',
|
|
label14: '新增日期',
|
|
label15: '录入人',
|
|
},
|
|
leftInput: {
|
|
label1: '实例编码',
|
|
label2: '状态',
|
|
label3: '供应商编码',
|
|
label4: '供应商名称',
|
|
label5: '采购日期',
|
|
label6: '钢印编码',
|
|
label7: '入库日期',
|
|
label8: '终止日期',
|
|
label9: '预计刀模寿命',
|
|
label10: '使用寿命',
|
|
label11: '录入日期',
|
|
label12: '录入人',
|
|
label13: '采购订单号',
|
|
label14: '备注',
|
|
label15: '工具实例信息',
|
|
},
|
|
rightInput: {
|
|
label1: '工具使用记录:',
|
|
label2: '工具维修记录:',
|
|
},
|
|
},
|
|
currentDetailData: {
|
|
actualUseQty: '',
|
|
createDate: '',
|
|
createdBy: '',
|
|
description: '',
|
|
estUseQty: '',
|
|
inspectDuration: '',
|
|
lastUpdateBy: '',
|
|
latestInspectDate: '',
|
|
latestUseDate: '',
|
|
locationId: '',
|
|
phaseInDate: '',
|
|
phaseOutDate: '',
|
|
purchaseDate: '',
|
|
remark: '',
|
|
site: '',
|
|
status: '',
|
|
statusRef: '',
|
|
supplierId: '',
|
|
supplierName: '',
|
|
toolDescription: '',
|
|
toolId: '',
|
|
toolIndex: '',
|
|
toolInstanceId: '',
|
|
torNumacc: '',
|
|
torNumdown: '',
|
|
workCenterNo: '',
|
|
steelSeal: '',
|
|
strCreateDate: '',
|
|
strLatestInspectDate: '',
|
|
strLatestUseDate: '',
|
|
strPhaseInDate: '',
|
|
strPhaseOutDate: '',
|
|
strPurchaseDate: '',
|
|
},
|
|
detailList: [],
|
|
headerData: {
|
|
active: "",
|
|
codeNo: null,
|
|
createDate: "",
|
|
createdBy: "",
|
|
defaultLocationId: null,
|
|
defaultWarehouseId: null,
|
|
familyId: null,
|
|
familyName: null,
|
|
lastUpdateBy: null,
|
|
partCreatedFlag: null,
|
|
partNo: null,
|
|
remark: null,
|
|
site: this.$store.state.user.site,
|
|
spec: null,
|
|
standardCost: null,
|
|
strActive: "",
|
|
strCreateDate: "",
|
|
strPartCreated: "",
|
|
toolDescription: "",
|
|
toolId: "",
|
|
umid: null
|
|
},
|
|
editHeaderData: {
|
|
active: "",
|
|
codeNo: null,
|
|
createDate: "",
|
|
createdBy: "",
|
|
defaultLocationId: null,
|
|
defaultWarehouseId: null,
|
|
familyId: null,
|
|
familyName: null,
|
|
lastUpdateBy: null,
|
|
partCreatedFlag: null,
|
|
partNo: null,
|
|
remark: null,
|
|
site: this.$store.state.user.site,
|
|
spec: null,
|
|
standardCost: null,
|
|
strActive: "",
|
|
strCreateDate: "",
|
|
strPartCreated: "",
|
|
toolDescription: "",
|
|
toolId: "",
|
|
umid: null
|
|
},
|
|
site: this.$store.state.user.site,
|
|
// table高度
|
|
height: 450,
|
|
// 是否收藏
|
|
favorite: false,
|
|
addLanguage: false,
|
|
functionId: 2501,
|
|
tableId: "toolInfo2501",
|
|
value1: true,
|
|
visible: false,
|
|
showDefault: false,
|
|
// 默认table 查询参数
|
|
queryTable: {
|
|
functionId: 2501,
|
|
tableId: "toolInfo2501",
|
|
languageCode: this.$i18n.locale
|
|
},
|
|
// 用户table 查询参数
|
|
queryTableUser: {
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "toolInfo2501",
|
|
status: true,
|
|
languageCode: this.$i18n.locale
|
|
},
|
|
// 语言词典查询参数
|
|
querySysLanguageParam: {
|
|
languageCode: this.$i18n.locale
|
|
},
|
|
// 语言词典集合
|
|
sysLanguageParams: [],
|
|
// 用户table 配置集合
|
|
userColumnList: [],
|
|
// 展示列集
|
|
columnList: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
serialNumber: 'toolUseHist2501OrderNo',
|
|
tableId: "toolUseHist2501",
|
|
tableName: "toolUseHist",
|
|
columnProp: "orderNo",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "生产订单号",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
serialNumber: 'toolUseHist2501FinishQty',
|
|
tableId: "toolUseHist2501",
|
|
tableName: "toolUseHist",
|
|
columnProp: "finishQty",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "使用寿命",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
serialNumber: 'toolUseHist2501OStrReportDate',
|
|
tableId: "toolUseHist2501",
|
|
tableName: "toolUseHist",
|
|
columnProp: "strReportDate",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "录入日期",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
serialNumber: 'toolUseHist2501Reportedby',
|
|
tableId: "toolUseHist2501",
|
|
tableName: "toolUseHist",
|
|
columnProp: "reportedby",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "录入人",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
}
|
|
],
|
|
// 展示列集
|
|
columnList1: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "service2501",
|
|
tableName: "service",
|
|
columnProp: "strDeliveryDate",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "送修日期",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "service2501",
|
|
tableName: "service",
|
|
columnProp: "supplierName",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "供应商",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "service2501",
|
|
tableName: "service",
|
|
columnProp: "strReturnDate",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "返回日期",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "service2501",
|
|
tableName: "service",
|
|
columnProp: "createdBy",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "接收人",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false,
|
|
},
|
|
// {
|
|
// userId: this.$store.state.user.name,
|
|
// functionId: 2501,
|
|
// tableId: "common1002",
|
|
// tableName: "commonLanguage",
|
|
// columnProp: "languageCode",
|
|
// headerAlign: "center",
|
|
// align: "center",
|
|
// columnLabel: "语言编码",
|
|
// columnHidden: false,
|
|
// columnImage: false,
|
|
// columnSortable: true,
|
|
// sortLv: 0,
|
|
// status: true,
|
|
// fixed: false,
|
|
// }
|
|
],
|
|
columnList2: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "toolHeader2501",
|
|
tableName: "toolHeader",
|
|
columnProp: "toolId",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "工具编码",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "toolHeader2501",
|
|
tableName: "toolHeader",
|
|
columnProp: "toolDescription",
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: "工具名称",
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: true,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: false
|
|
},
|
|
],
|
|
// 数据集
|
|
dataList: [],
|
|
queryButton: {
|
|
functionId: 2501,
|
|
table_id: 'toolInfo2501',
|
|
languageCode: this.$i18n.locale,
|
|
objectType: 'button'
|
|
},
|
|
buttons: {
|
|
add: '添加',
|
|
edit: '编辑',
|
|
delete: '删除',
|
|
deleteList: '批量删除',
|
|
cz: '操作',
|
|
search: '查询',
|
|
download: '导出',
|
|
settingTable: '设置列表',
|
|
defaultTable: '设置默认配置'
|
|
},
|
|
// 导出 start
|
|
exportData: [],
|
|
exportName: "页面功能语言",
|
|
exportHeader: ["页面功能语言"],
|
|
exportFooter: [],
|
|
exportDefaultValue: "这一行这一列没有数据",
|
|
// 导出 end
|
|
buttonList: [
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '添加',
|
|
// objectId: 'add',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '编辑',
|
|
// objectId: 'edit',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '删除',
|
|
// objectId: 'delete',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '批量删除',
|
|
// objectId: 'deleteList',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '操作',
|
|
// objectId: 'cz',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '查询',
|
|
// objectId: 'search',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '导出',
|
|
// objectId: 'download',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '设置列表',
|
|
// objectId: 'settingTable',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// },
|
|
// {
|
|
// functionId: "2501",
|
|
// languageValue: '设置默认配置',
|
|
// objectId: 'defaultTable',
|
|
// objectType: "button",
|
|
// tableId: "toolInfo2501"
|
|
// }
|
|
],
|
|
languageList: [],
|
|
languageColumnList: [],
|
|
languageDataList: [],
|
|
queryLanguage: {},
|
|
// 数据集条件
|
|
querySysLanguagePack: {
|
|
page: 1,
|
|
limit: 1,
|
|
languageValue: '',
|
|
objectType: '',
|
|
objectId: ''
|
|
},
|
|
// 分页
|
|
pageIndex: 1,
|
|
pageSize: 20,
|
|
totalPage: 0,
|
|
dataListLoading: false,
|
|
dataListSelections: [],
|
|
addOrUpdateVisible: false
|
|
}
|
|
},
|
|
watch: {
|
|
editData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
if (this.editData.locationId) {
|
|
this.editData.locationId = this.editData.locationId.toUpperCase()
|
|
}
|
|
}
|
|
},
|
|
editHeaderData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
if (this.editHeaderData.toolId) {
|
|
this.editHeaderData.toolId = this.editHeaderData.toolId.toUpperCase()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
this.$nextTick(() => {
|
|
this.height = window.innerHeight - 310;
|
|
})
|
|
},
|
|
activated() {
|
|
this.getHeaderData()
|
|
// this.getDataList()
|
|
this.getLanguageList()
|
|
},
|
|
methods: {
|
|
printMethod(val) {
|
|
if (!this.currentDetailData.toolInstanceId) {
|
|
this.$alert('请选择工具信息!', '操作提示', {
|
|
confirmButtonText: '确定',
|
|
callback: action => {
|
|
this.bannersBut = false
|
|
}
|
|
});
|
|
return
|
|
}
|
|
let dto = {
|
|
site: this.currentDetailData.site,
|
|
toolInstanceId: this.currentDetailData.toolInstanceId
|
|
}
|
|
printToolData(dto).then(({data}) => {
|
|
if (data.code == 0) {
|
|
let printDataList = []
|
|
let printData = {
|
|
SupplierName: data.data.SupplierName,
|
|
createDate: data.data.createDate,
|
|
createdBy: data.data.createdBy,
|
|
estUseQty: data.data.estUseQty,
|
|
locationId: data.data.locationId,
|
|
phaseInDate: data.data.phaseInDate,
|
|
site: data.data.site,
|
|
spec: data.data.spec,
|
|
status: data.data.status,
|
|
supplierId: data.data.supplierId,
|
|
toolDescription: data.data.toolDescription,
|
|
toolId: data.data.toolId,
|
|
toolInstanceId: this.currentDetailData.toolInstanceId
|
|
}
|
|
printDataList.push(printData)
|
|
if (val == 'Y') {
|
|
this.labelPrintGJ(printDataList)
|
|
} else {
|
|
this.labelPrintWB(printDataList)
|
|
}
|
|
}
|
|
})
|
|
|
|
},
|
|
labelPrintWB(printDataList) {
|
|
const LODOP = getLodop()
|
|
if (LODOP) {
|
|
//LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", "");
|
|
LODOP.SET_LICENSES("", "7B5624CC84E599D6B17F27DF40F4310C", "", "");
|
|
//循环调用打印机
|
|
for (let i = 0; i < printDataList.length; i++) {
|
|
let printData = printDataList[i]
|
|
LODOP.NewPage();
|
|
LODOP.SET_PRINT_PAGESIZE(0, 700, 180, "");
|
|
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1);
|
|
LODOP.ADD_PRINT_RECT(2, 5, 250, 67, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(19, 5, 18, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(36, 5, 35, 205, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(54, 5, 53, 205, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(2, 65, 69, 66, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(68, 205, 18, 206, 0, 1);
|
|
LODOP.ADD_PRINT_BARCODE(21, 208, 90, 60, "QRCode", printData.toolInstanceId);
|
|
LODOP.ADD_PRINT_TEXT(5, 9, 60, 14, "工具名称");
|
|
LODOP.ADD_PRINT_TEXT(21, 9, 60, 15, "工具编号");
|
|
LODOP.ADD_PRINT_TEXT(38, 9, 60, 15, "实例编号");
|
|
LODOP.ADD_PRINT_TEXT(55, 9, 60, 15, "经办人");
|
|
LODOP.ADD_PRINT_TEXT(4, 70, 180, 14, printData.toolDescription);
|
|
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
|
|
LODOP.ADD_PRINT_TEXT(21, 71, 133, 14, printData.toolId);
|
|
LODOP.ADD_PRINT_TEXT(39, 71, 133, 14, printData.toolInstanceId);
|
|
LODOP.ADD_PRINT_TEXT(55, 71, 133, 14, printData.createdBy);
|
|
}
|
|
//LODOP.PRINT_DESIGN();
|
|
//LODOP.PREVIEW();
|
|
LODOP.PRINT();
|
|
|
|
}
|
|
},
|
|
labelPrintGJ(printDataList) {
|
|
const LODOP = getLodop()
|
|
if (LODOP) {
|
|
//LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", "");
|
|
LODOP.SET_LICENSES("", "7B5624CC84E599D6B17F27DF40F4310C", "", "");
|
|
//循环调用打印机
|
|
for (let i = 0; i < printDataList.length; i++) {
|
|
let printData = printDataList[i]
|
|
LODOP.NewPage();
|
|
LODOP.SET_PRINT_PAGESIZE(0, 700, 540, "");
|
|
LODOP.ADD_PRINT_RECT(6, 5, 250, 190, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(24, 5, 23, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(41, 5, 40, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(58, 5, 57, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(75, 5, 74, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(92, 5, 91, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(109, 5, 108, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(126, 5, 125, 178, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(144, 5, 143, 178, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(162, 5, 161, 178, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(179, 5, 178, 255, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(23, 65, 195, 66, 0, 1);
|
|
LODOP.ADD_PRINT_LINE(178, 177, 108, 178, 0, 1);
|
|
LODOP.ADD_PRINT_BARCODE(110, 183, 110, 85, "QRCode", printData.toolInstanceId);
|
|
LODOP.ADD_PRINT_TEXT(9, 94, 100, 14, "工具标签");
|
|
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
|
|
LODOP.ADD_PRINT_TEXT(26, 9, 60, 14, "工具名称");
|
|
LODOP.ADD_PRINT_TEXT(43, 9, 60, 15, "规格型号");
|
|
LODOP.ADD_PRINT_TEXT(60, 9, 60, 15, "工具编号");
|
|
LODOP.ADD_PRINT_TEXT(77, 9, 60, 15, "实例编号");
|
|
LODOP.ADD_PRINT_TEXT(94, 9, 60, 15, "厂商");
|
|
LODOP.ADD_PRINT_TEXT(111, 9, 60, 15, "入库日期");
|
|
LODOP.ADD_PRINT_TEXT(129, 9, 60, 15, "库位");
|
|
LODOP.ADD_PRINT_TEXT(147, 9, 60, 15, "经办人");
|
|
LODOP.ADD_PRINT_TEXT(181, 9, 60, 15, "检验签章");
|
|
LODOP.ADD_PRINT_TEXT(25, 72, 180, 14, printData.toolDescription);
|
|
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
|
|
LODOP.ADD_PRINT_TEXT(42, 72, 180, 14, ""); // 规格
|
|
LODOP.ADD_PRINT_TEXT(60, 72, 180, 14, printData.toolId);
|
|
LODOP.ADD_PRINT_TEXT(78, 71, 180, 14, printData.toolInstanceId);
|
|
LODOP.ADD_PRINT_TEXT(94, 71, 180, 14, printData.SupplierName);
|
|
LODOP.ADD_PRINT_TEXT(111, 71, 95, 14, this.dayjs(printData.createDate).format("YYYY-MM-DD"));
|
|
LODOP.ADD_PRINT_TEXT(130, 71, 95, 14, printData.locationId);
|
|
LODOP.ADD_PRINT_TEXT(148, 71, 95, 14, printData.createdBy);
|
|
|
|
|
|
}
|
|
//LODOP.PRINT_DESIGN();
|
|
//LODOP.PREVIEW();
|
|
LODOP.PRINT();
|
|
}
|
|
},
|
|
getBaseData(val) {
|
|
if (this.tagNo === 70) {
|
|
this.headerData.toolId = val.ToolID
|
|
// this.headerData.toolDescription = val.ToolDescription
|
|
this.getHeaderData()
|
|
}
|
|
if (this.tagNo === 3) {
|
|
this.editData.supplierId = val.SupplierID
|
|
this.editData.supplierName = val.SupplierName
|
|
}
|
|
if (this.tagNo === 23) {
|
|
this.editHeaderData.familyId = val.FamilyID
|
|
this.editHeaderData.familyName = val.FamilyName
|
|
}
|
|
if (this.tagNo === 7) {
|
|
this.editHeaderData.umid = val.UMID
|
|
}
|
|
},
|
|
// 获取基础数据列表
|
|
getBaseList(val, number) {
|
|
this.number = number
|
|
this.tagNo = val
|
|
this.$nextTick(() => {
|
|
let strVal = "";
|
|
if (val === 3) {
|
|
strVal = this.editData.supplierId
|
|
}
|
|
if (val === 70) {
|
|
strVal = this.headerData.toolId
|
|
}
|
|
if (val === 23) {
|
|
strVal = this.editHeaderData.familyId
|
|
}
|
|
if (val === 7) {
|
|
strVal = this.editHeaderData.umid
|
|
}
|
|
this.$refs.baseList.init(val, strVal)
|
|
})
|
|
},
|
|
getTime(date) {
|
|
var json_date = new Date(date).toJSON();
|
|
return new Date(new Date(json_date) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
|
|
},
|
|
// toolDetail
|
|
initToolModel(val) {
|
|
this.setUp.toolEditFlag = true
|
|
this.setUp.saveToolFlag = false
|
|
if (val != 'Y') {
|
|
this.toolDetailAddOrEdit = true
|
|
this.editData = JSON.parse(JSON.stringify(this.currentDetailData))
|
|
} else {
|
|
Object.assign(this.$data.editData, this.$options.data.call(this).editData);
|
|
this.toolDetailAddOrEdit = false
|
|
this.editData.toolInstanceId = this.headerData.toolId
|
|
this.editData.locationId = this.headerData.defaultLocationId
|
|
this.editData.toolId = this.headerData.toolId
|
|
this.editData.status = '未投用'
|
|
}
|
|
},
|
|
async saveAndUpdateToolDetail() {
|
|
this.setUp.saveToolFlag = true
|
|
this.editData.purchaseDate = this.editData.strPurchaseDate
|
|
this.editData.phaseInDate = this.editData.strPhaseInDate
|
|
this.editData.phaseOutDate = this.editData.strPhaseOutDate
|
|
if (!this.editData.estUseQty || this.editData.estUseQty == 0) {
|
|
this.$message.warning('预计使用寿命必须大于0')
|
|
}
|
|
if (this.toolDetailAddOrEdit) {
|
|
await updateToolDetail(this.editData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
this.setUp.toolEditFlag = false
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
this.setUp.saveToolFlag = false
|
|
})
|
|
|
|
} else {
|
|
await saveToolInfoDetail(this.editData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
this.setUp.toolEditFlag = false
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
this.setUp.saveToolFlag = false
|
|
})
|
|
}
|
|
await this.getDetailList()
|
|
this.currentDetailData.toolInstanceId = this.editData.toolInstanceId
|
|
this.toolInstanceIdChange()
|
|
},
|
|
// toolHeader
|
|
initToolHeaderModel(val) {
|
|
this.toolHeaderShow = true
|
|
if (val == 'Y') {
|
|
this.toolDetailAddOrEdit = true
|
|
Object.assign(this.$data.editHeaderData, this.$options.data.call(this).editHeaderData);
|
|
} else {
|
|
this.toolDetailAddOrEdit = false
|
|
this.editHeaderData = JSON.parse(JSON.stringify(this.headerData))
|
|
this.editHeaderData.active = this.headerData.active == 'Y' ? true : false
|
|
}
|
|
},
|
|
saveAndUpdateToolHeader() {
|
|
if (!this.editHeaderData.toolId) {
|
|
this.$message.warning('工具编号不能为空,请选择')
|
|
}
|
|
if (!this.editHeaderData.familyId) {
|
|
this.$message.warning('工具分类不能为空,请选择')
|
|
}
|
|
if (!this.editHeaderData.umid) {
|
|
this.$message.warning('计量单位不能为空,请选择')
|
|
}
|
|
this.editHeaderData.active = this.editHeaderData.active ? 'Y' : 'N'
|
|
if (this.toolDetailAddOrEdit) {
|
|
this.editHeaderData.createdBy = this.$store.state.user.name
|
|
saveToolHeader(this.editHeaderData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.toolHeaderShow = false
|
|
this.headerData.toolId = this.editHeaderData.toolId
|
|
this.getHeaderData()
|
|
this.$message.success(data.msg)
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
})
|
|
} else {
|
|
editToolHeader(this.editHeaderData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
this.toolHeaderShow = false
|
|
this.headerData.toolId = this.editHeaderData.toolId
|
|
this.getHeaderData()
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
},
|
|
getToolHeaderList() {
|
|
getToolHeaderList(this.queryHeaderData).then(({data}) => {
|
|
this.toolHeaderList = data.rows
|
|
})
|
|
},
|
|
//获取工具使用记录
|
|
getSfdcToolingHistList() {
|
|
let queryData = {
|
|
site: this.site,
|
|
toolInstanceId: this.currentDetailData.toolInstanceId
|
|
}
|
|
getSfdcToolingHistList(queryData).then(({data}) => {
|
|
this.sfdcToolingHistList = data.rows
|
|
})
|
|
},
|
|
//获取工具使用记录
|
|
getToolInstanceIdUseHist() {
|
|
let queryData = {
|
|
site: this.site,
|
|
toolInstanceId: this.currentDetailData.toolInstanceId
|
|
}
|
|
getToolInstanceIdUseHist(queryData).then(({data}) => {
|
|
this.toolInstanceIdUseHist = data.rows
|
|
})
|
|
},
|
|
toolInstanceIdChange() {
|
|
this.sfdcToolingHistList = []
|
|
this.toolInstanceIdUseHist = []
|
|
let queryData = {
|
|
site: this.site,
|
|
toolInstanceId: this.currentDetailData.toolInstanceId,
|
|
}
|
|
getToolDetailList(queryData).then(({data}) => {
|
|
let list = data.rows
|
|
if (list.length > 0) {
|
|
this.currentDetailData = list[0]
|
|
this.getToolInstanceIdUseHist()
|
|
this.getSfdcToolingHistList()
|
|
}
|
|
})
|
|
},
|
|
async getDetailList() {
|
|
this.currentDetailData = {}
|
|
this.selectList.select4 = []
|
|
this.sfdcToolingHistList = []
|
|
this.toolInstanceIdUseHist = []
|
|
let queryData = {
|
|
site: this.site,
|
|
toolId: this.headerData.toolId,
|
|
toolDescription: this.headerData.toolDescription,
|
|
}
|
|
await getToolDetailList(queryData).then(({data}) => {
|
|
let list = data.rows
|
|
for (let i = 0; i < list.length; i++) {
|
|
let selectData = {
|
|
value: list[i].toolInstanceId,
|
|
label: list[i].toolInstanceId,
|
|
}
|
|
this.selectList.select4.push(selectData);
|
|
}
|
|
if (list.length > 0) {
|
|
this.currentDetailData = list[0]
|
|
this.toolInstanceIdChange()
|
|
}
|
|
})
|
|
},
|
|
//获取主记录信息
|
|
getHeaderData() {
|
|
let queryData = {
|
|
site: this.site,
|
|
toolId: this.headerData.toolId,
|
|
// toolDescription: this.headerData.toolDescription,
|
|
}
|
|
getToolHeaderData(queryData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.headerData = data.row ? data.row : this.headerData
|
|
this.getDetailList()
|
|
}
|
|
|
|
})
|
|
},
|
|
// 打印方式
|
|
printReport() {
|
|
alert(this.$store.state.user.site)
|
|
//
|
|
// const LODOP = getLodop()
|
|
// if (LODOP) {
|
|
// var strBodyStyle = '<style>'
|
|
// strBodyStyle += 'table { border-top: 1 solid #000000; border-left: 1 solid #000000; border-collapse:collapse; border-spacing:0;}'
|
|
// strBodyStyle += 'caption { line-height:2em; }'
|
|
// strBodyStyle += 'td { border-right: 1 solid #000000; border-bottom: 1 solid #000000; text-align:center; padding:2px 3px; font-size:11px;}'
|
|
// strBodyStyle += '</style>' //设置打印样式
|
|
// var strFormHtml = strBodyStyle + '<body>' + document.getElementById('commmon').innerHTML + '</body>' //获取打印内容
|
|
//
|
|
// LODOP.PRINT_INIT('') //初始化
|
|
// LODOP.PRINT_DESIGN();
|
|
// //LODOP.PREVIEW();
|
|
// //LODOP.PRINT();
|
|
//
|
|
// LODOP.SET_PRINT_PAGESIZE(2, 0, 0, 'A4') //设置横向
|
|
// LODOP.ADD_PRINT_HTM('1%', '1%', '98%', '98%', strFormHtml) //设置打印内容
|
|
// LODOP.SET_PREVIEW_WINDOW(2, 0, 0, 800, 600, '') //设置预览窗口模式和大小
|
|
// LODOP.PREVIEW()
|
|
// }
|
|
},
|
|
// 校验用户是否收藏
|
|
favoriteIsOk() {
|
|
let userFavorite = {
|
|
userId: this.$store.state.user.id,
|
|
languageCode: this.$i18n.locale
|
|
}
|
|
userFavoriteList(userFavorite).then(({data}) => {
|
|
let size = data.list.filter(item => item.menuId == this.$route.meta.menuId).length;
|
|
if (size > 0) {
|
|
this.favorite = true
|
|
} else {
|
|
this.favorite = false
|
|
}
|
|
})
|
|
},
|
|
// 收藏 OR 取消收藏
|
|
favoriteFunction() {
|
|
let userFavorite = {
|
|
userId: this.$store.state.user.id,
|
|
functionId: this.$route.meta.menuId,
|
|
}
|
|
if (this.favorite) {
|
|
// 取消收藏
|
|
this.$confirm(`确定取消收藏`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
removeUserFavorite(userFavorite).then(({data}) => {
|
|
this.$message.success(data.msg)
|
|
this.favorite = false
|
|
})
|
|
})
|
|
} else {
|
|
// 收藏
|
|
saveUserFavorite(userFavorite).then(({data}) => {
|
|
this.$message.success(data.msg)
|
|
this.favorite = true
|
|
})
|
|
}
|
|
|
|
},
|
|
// 保存语言编辑
|
|
saveLanguageList(val) {
|
|
saveSysLanguageOne(val).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
})
|
|
},
|
|
// 编辑语言
|
|
addLanguageFun() {
|
|
if (this.querySysLanguagePack.languageCode) {
|
|
this.addLanguage = true
|
|
this.languageColumnList = []
|
|
let query = {
|
|
functionId: 2501,
|
|
tableId: "common1002",
|
|
languageCode: this.$i18n.locale
|
|
}
|
|
getTableDefaultListLanguage(query).then(({data}) => {
|
|
if (data.rows.length > 0) {
|
|
this.languageColumnList = data.rows
|
|
}
|
|
})
|
|
this.languageColumnList = this.columnList
|
|
searchLanguageListByLanguageCode(this.querySysLanguagePack).then(({data}) => {
|
|
this.languageDataList = data.rows
|
|
})
|
|
} else {
|
|
this.$message("请选中一种语言")
|
|
}
|
|
},
|
|
// 获取多语言列表
|
|
getLanguageList() {
|
|
searchSysLanguage(this.queryLanguage).then(({data}) => {
|
|
this.languageList = data.rows
|
|
})
|
|
},
|
|
// 获取button的词典
|
|
getFunctionButtonList() {
|
|
searchFunctionButtonList(this.queryButton).then(({data}) => {
|
|
if (JSON.stringify(data.data) !== '{}') {
|
|
this.buttons = data.data
|
|
} else {
|
|
saveButtonList(this.buttonList).then(({data}) => {
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 获取语言词典
|
|
getSysLanguageParamList() {
|
|
searchSysLanguageParam(this.querySysLanguageParam).then(({data}) => {
|
|
this.sysLanguageParams = data.rows
|
|
})
|
|
},
|
|
// 打开页面设置
|
|
userSetting() {
|
|
this.visible = true;
|
|
let queryTable = {
|
|
userId: this.$store.state.user.name,
|
|
functionId: 2501,
|
|
tableId: "toolInfo2501",
|
|
languageCode: this.$i18n.locale
|
|
}
|
|
this.$nextTick(() => {
|
|
this.$refs.column.init(queryTable);
|
|
});
|
|
},
|
|
// 获取 用户保存的 格式列
|
|
getTableUserColumn() {
|
|
getTableUserListLanguage(this.queryTableUser).then(({data}) => {
|
|
if (data.rows.length > 0) {
|
|
//this.columnList = []
|
|
this.columnList = data.rows
|
|
} else {
|
|
this.getColumnList()
|
|
}
|
|
|
|
})
|
|
},
|
|
// 保存 默认配置 列
|
|
saveColumnList() {
|
|
|
|
saveTableDefaultList(this.columnList).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
// this.showDefault = false
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
})
|
|
saveTableDefaultList(this.columnList1).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg)
|
|
// this.showDefault = false
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
})
|
|
this.getFunctionButtonList();
|
|
this.getColumnList()
|
|
},
|
|
// 获取 tableDefault 列
|
|
getColumnList() {
|
|
getTableDefaultListLanguage(this.queryTable).then(({data}) => {
|
|
if (!data.rows.length == 0) {
|
|
// this.showDefault = false
|
|
this.columnList = data.rows
|
|
} else {
|
|
// this.showDefault = true
|
|
}
|
|
})
|
|
},
|
|
// 获取数据列表
|
|
getDataList() {
|
|
this.dataListLoading = true
|
|
searchSysLanguagePackList(this.querySysLanguagePack).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.dataList = data.page.list
|
|
this.totalPage = data.page.totalCount
|
|
} else {
|
|
this.dataList = []
|
|
this.totalPage = 0
|
|
}
|
|
this.dataListLoading = false
|
|
})
|
|
},
|
|
// 每页数
|
|
sizeChangeHandle(val) {
|
|
this.pageSize = val
|
|
this.pageIndex = 1
|
|
this.getDataList()
|
|
},
|
|
// 当前页
|
|
currentChangeHandle(val) {
|
|
this.pageIndex = val
|
|
this.getDataList()
|
|
},
|
|
// 多选
|
|
selectionChangeHandle(val) {
|
|
this.dataListSelections = val
|
|
},
|
|
// 删除
|
|
deleteHandle(id) {
|
|
var ids = id ? [id] : this.dataListSelections.map(item => {
|
|
return item.id
|
|
})
|
|
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.$http({
|
|
url: this.$http.adornUrl('//prd/delete'),
|
|
method: 'post',
|
|
data: this.$http.adornData(ids, false)
|
|
}).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.$message.success('操作成功')
|
|
this.getDataList()
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
})
|
|
})
|
|
},
|
|
fields() {
|
|
let json = "{"
|
|
this.columnList.forEach((item, index) => {
|
|
if (index == this.columnList.length - 1) {
|
|
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
|
|
} else {
|
|
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
|
|
}
|
|
})
|
|
json += "}"
|
|
let s = eval("(" + json + ")")
|
|
return s
|
|
},
|
|
createExportData() {
|
|
// 点击导出按钮之后,开始导出数据之前的执行函数,返回值为需要下载的数据
|
|
// TODO:构造需要下载的数据返回
|
|
if (this.dataListSelections.length > 0) {
|
|
return this.dataListSelections;
|
|
}
|
|
return this.dataList;
|
|
},
|
|
startDownload() {
|
|
// this.exportData = this.dataList
|
|
|
|
},
|
|
finishDownload() {
|
|
}
|
|
},
|
|
created() {
|
|
this.getTableUserColumn()
|
|
this.getSysLanguageParamList()
|
|
this.getFunctionButtonList()
|
|
this.favoriteIsOk()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.el-header, .el-footer {
|
|
background-color: #B3C0D1;
|
|
color: #333;
|
|
text-align: center;
|
|
line-height: 60px;
|
|
height: 300px;
|
|
}
|
|
|
|
.el-aside {
|
|
background-color: #D3DCE6;
|
|
color: #333;
|
|
/*text-align: center;*/
|
|
/*line-height: 200px;*/
|
|
}
|
|
|
|
.el-main {
|
|
background-color: #E9EEF3;
|
|
color: #333;
|
|
|
|
}
|
|
|
|
body > .el-container {
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
.el-container:nth-child(5) .el-aside,
|
|
.el-container:nth-child(6) .el-aside {
|
|
line-height: 260px;
|
|
}
|
|
|
|
.el-container:nth-child(7) .el-aside {
|
|
line-height: 320px;
|
|
}
|
|
|
|
/deep/ .customer-tab .el-tabs__content {
|
|
padding: 3px !important;
|
|
|
|
}
|
|
|
|
/deep/ .customer-tab .el-tabs__item {
|
|
padding: 0 20px;
|
|
height: 30px;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
line-height: 30px;
|
|
display: inline-block;
|
|
list-style: none;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: #303133;
|
|
position: relative;
|
|
}
|
|
|
|
/*统一的input内容颜色样式*/
|
|
.customer-input-color-red /deep/ .el-input__inner {
|
|
color: red;
|
|
}
|
|
</style>
|