Browse Source

ccl 提交 2022-06-27

master
Administrator 4 years ago
parent
commit
93b60538e2
  1. 13
      package-lock.json
  2. 1
      package.json
  3. 4
      src/api/bulletinBoard/bulletinBoard.js
  4. 4
      src/api/bulletinBoard/toolLocationInfo.js
  5. 4
      src/main.js
  6. 882
      src/views/modules/bulletinBoard/toolDetailBoard.vue
  7. 804
      src/views/modules/bulletinBoard/toolLocationInfo.vue
  8. 2
      src/views/modules/toolMan/location.vue
  9. 2
      src/views/modules/toolMan/tool-info.vue

13
package-lock.json

@ -9557,6 +9557,14 @@
} }
} }
}, },
"kr-print-designer": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/kr-print-designer/-/kr-print-designer-1.1.8.tgz",
"integrity": "sha512-uQGv/XyjdpSNT3WZeCp1TswCvSywz3iU0Si7El+TGSRyyIBjKuawUe3MKzQWK0N2bWQdpZCnctTWw/C3buu4CQ==",
"requires": {
"nanoid": "^1.0.1"
}
},
"last-call-webpack-plugin": { "last-call-webpack-plugin": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-2.1.2.tgz", "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-2.1.2.tgz",
@ -10546,6 +10554,11 @@
"resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
"integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw=="
}, },
"nanoid": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.4.tgz",
"integrity": "sha512-4ug4BsuHxiVHoRUe1ud6rUFT3WUMmjXt1W0quL0CviZQANdan7D8kqN5/maw53hmAApY/jfzMRkC57BNNs60ZQ=="
},
"nanomatch": { "nanomatch": {
"version": "1.2.13", "version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",

1
package.json

@ -25,6 +25,7 @@
"gulp-load-plugins": "2.0.5", "gulp-load-plugins": "2.0.5",
"gulp-replace": "1.0.0", "gulp-replace": "1.0.0",
"gulp-shell": "0.8.0", "gulp-shell": "0.8.0",
"kr-print-designer": "^1.1.8",
"lodash": "4.17.5", "lodash": "4.17.5",
"node-sass": "4.13.1", "node-sass": "4.13.1",
"npm": "^6.9.0", "npm": "^6.9.0",

4
src/api/bulletinBoard/bulletinBoard.js

@ -0,0 +1,4 @@
import { createAPI } from "@/utils/httpRequest.js";
// 获取盘点主信息
export const getToolDetailInfo = data => createAPI(`toolInfo/getToolDetailInfo`,'POST',data)

4
src/api/bulletinBoard/toolLocationInfo.js

@ -0,0 +1,4 @@
import { createAPI } from "@/utils/httpRequest.js";
// 获取盘点主信息
export const getToolLocationList = data => createAPI(`toolInfo/getToolDetailAndLocationList`,'POST',data)

4
src/main.js

@ -14,6 +14,10 @@ import JsonExcel from 'vue-json-excel'
import i18n from '@/i18n/i18n' import i18n from '@/i18n/i18n'
import './directives' import './directives'
import decimalUtil from '@/utils/decimalUtil' import decimalUtil from '@/utils/decimalUtil'
import KrPrintDesigner from "kr-print-designer";
import "kr-print-designer/lib/kr-print-designer.css";
Vue.use(KrPrintDesigner);
Vue.component('downloadExcel', JsonExcel) Vue.component('downloadExcel', JsonExcel)

882
src/views/modules/bulletinBoard/toolDetailBoard.vue

@ -0,0 +1,882 @@
<template>
<div class="mod-config">
<div>
<span @click="favoriteFunction()">
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg" ></icon-svg>
</span>
</div>
<el-form :inline="true" :model="querySysLanguagePack" @keyup.enter.native="getDataList()">
<el-form-item :label="inputLabel.headerInput.label1">
<el-input style="width: 100px;" v-model="queryData.toolId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label2">
<el-input style="width: 100px;" v-model="queryData.toolInstanceId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label3">
<el-input style="width: 100px;" v-model="queryData.startActualuseQty" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label4">
<el-input style="width: 100px;" v-model="queryData.endActualuseQty" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label5">
<el-input style="width: 100px;" v-model="queryData.startDays" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label6">
<el-input style="width: 100px;" v-model="queryData.endDays" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()" type="primary">{{buttons.search}}</el-button>
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{buttons.defaultTable}}
</el-button>
<el-button @click="userSetting" type="primary">{{ buttons.settingTable}}</el-button>
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:defaultValue="exportDefaultValue"
:fetch="createExportData"
:before-generate="startDownload"
:before-finish="finishDownload"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{buttons.download}}
</download-excel>
</el-form-item>
</el-form>
<el-table
id="commmon"
:height="height"
:data="dataList"
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"
: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>
<column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
</div>
</template>
<script>
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 {
getToolDetailInfo,
} from '@/api/bulletinBoard/bulletinBoard.js'
export default {
components: {
column
},
data() {
return {
inputLabel :{
headerInput : {
label1 : '工具编码',
label2 : '实例编码',
label3 : '开始使用次数',
label4 : '结束使用次数',
label5 : '呆滞天数',
label6 : '————',
},
},
queryData : {
site : this.$store.state.user.site,
toolId : '',
toolInstanceId : '',
startActualuseQty : '',
endActualuseQty : '',
startDays : '',
endDays : '',
},
site : this.$store.state.user.site,
userName : this.$store.state.user.name,
// table
height:450,
//
favorite: false,
addLanguage: false,
functionId: 2701,
tableId: "toolDetail2701",
value1: true,
visible: false,
showDefault: false,
// table
queryTable: {
functionId: 2701,
tableId: "toolDetail2701",
languageCode: this.$i18n.locale
},
// table
queryTableUser: {
userId: this.$store.state.user.name,
functionId: 2701,
tableId: "toolDetail2701",
status: true,
languageCode: this.$i18n.locale
},
//
querySysLanguageParam: {
languageCode: this.$i18n.locale
},
//
sysLanguageParams: [],
// table
userColumnList: [],
//
columnList: [
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701ToolId',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "toolId",
headerAlign: "center",
align: "center",
columnLabel: "工具编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701ToolDescription',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "toolDescription",
headerAlign: "center",
align: "center",
columnLabel: "工具名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701ToolInstanceId',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "toolInstanceId",
headerAlign: "center",
align: "center",
columnLabel: "实例编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701LocationId',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "locationId",
headerAlign: "center",
align: "center",
columnLabel: "库位编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701SupplierId',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "supplierId",
headerAlign: "center",
align: "center",
columnLabel: "供应商编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701SupplierName',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "supplierName",
headerAlign: "center",
align: "center",
columnLabel: "供应商名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701EstuseQty',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "estuseQty",
headerAlign: "center",
align: "center",
columnLabel: "预计使用次数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701ActualuseQty',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "actualuseQty",
headerAlign: "center",
align: "center",
columnLabel: "使用次数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701Engineer',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "engineer",
headerAlign: "center",
align: "center",
columnLabel: "工程师账号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701UserDisplay',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "userDisplay",
headerAlign: "center",
align: "center",
columnLabel: "工程师名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701UserDisplay',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "latestUpdatedDate",
headerAlign: "center",
align: "center",
columnLabel: "最近操作时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2701,
serialNumber: 'toolDetail2701UserDisplay',
tableId: "toolDetail2701",
tableName: "common",
columnProp: "unusedDays",
headerAlign: "center",
align: "center",
columnLabel: "呆滞天数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
],
//
columnList1: [
// {
// userId: this.$store.state.user.name,
// functionId: 2701,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "functionId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2701,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2701,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectType",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2701,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageValue",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2701,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageCode",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// }
],
//
dataList: [],
queryButton: {
functionId: 2701,
table_id: 'toolDetail2701',
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: "2701",
// languageValue: '',
// objectId: 'add',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'edit',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'delete',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'deleteList',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'cz',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'search',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'download',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'settingTable',
// objectType: "button",
// tableId: "toolDetail2701"
// },
// {
// functionId: "2701",
// languageValue: '',
// objectId: 'defaultTable',
// objectType: "button",
// tableId: "toolDetail2701"
// }
],
languageList: [],
languageColumnList: [],
languageDataList: [],
queryLanguage: {},
//
querySysLanguagePack: {
functionId: '',
page: 1,
limit: 1,
languageValue: '',
objectType: '',
objectId: ''
},
//
pageIndex: 1,
pageSize: 20,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
mounted() {
this.$nextTick(()=>{
this.height = window.innerHeight - 200;
})
},
activated() {
// this.getDataList()
this.getLanguageList()
},
methods: {
//
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.userId==userFavorite.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: 2701,
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: 2701,
tableId: "toolDetail2701",
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)
}
})
saveButtonList(this.buttonList).then(({data}) => {
})
this.getFunctionButtonList()
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
getToolDetailInfo(this.queryData).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.rows
} 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({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
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 >
.wrapper {
height: calc(100% - 40px);
}
.sl-input {
background-color: transparent;
border: 0 !important;
font-size: 12px !important;
height: 12px !important;
line-height: 14px !important;
background-color: transparent !important;
width: 140px;
}
.sl-input:focus, textarea:focus {
outline: none;
}
.sl-svg{
overflow: hidden;
float: right;
}
</style>

804
src/views/modules/bulletinBoard/toolLocationInfo.vue

@ -0,0 +1,804 @@
<template>
<div class="mod-config">
<div>
<span @click="favoriteFunction()">
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg" ></icon-svg>
</span>
</div>
<el-form :inline="true" :model="querySysLanguagePack" @keyup.enter.native="getDataList()">
<el-form-item :label="inputLabel.headerInput.label1">
<el-input style="width: 100px;" v-model="queryData.toolId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label2">
<el-input style="width: 100px;" v-model="queryData.toolInstanceId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label3">
<el-input style="width: 100px;" v-model="queryData.locationId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item :label="inputLabel.headerInput.label4">
<el-input style="width: 100px;" v-model="queryData.warehouseId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()" type="primary">{{buttons.search}}</el-button>
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{buttons.defaultTable}}
</el-button>
<el-button @click="userSetting" type="primary">{{ buttons.settingTable}}</el-button>
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:defaultValue="exportDefaultValue"
:fetch="createExportData"
:before-generate="startDownload"
:before-finish="finishDownload"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{buttons.download}}
</download-excel>
</el-form-item>
</el-form>
<el-table
id="commmon"
:height="height"
:data="dataList"
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"
: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>
<column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
</div>
</template>
<script>
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 {
getToolLocationList,
} from '@/api/bulletinBoard/toolLocationInfo.js'
export default {
components: {
column
},
data() {
return {
inputLabel :{
headerInput : {
label1 : '工具编码',
label2 : '实例编码',
label3 : '库位编码',
label4 : '仓库编码',
},
},
queryData : {
site : this.$store.state.user.site,
toolId : '',
toolInstanceId : '',
locationId : '',
warehouseId : '',
},
site : this.$store.state.user.site,
userName : this.$store.state.user.name,
// table
height:450,
//
favorite: false,
addLanguage: false,
functionId: 2801,
tableId: "toolDetail2801",
value1: true,
visible: false,
showDefault: false,
// table
queryTable: {
functionId: 2801,
tableId: "toolDetail2801",
languageCode: this.$i18n.locale
},
// table
queryTableUser: {
userId: this.$store.state.user.name,
functionId: 2801,
tableId: "toolDetail2801",
status: true,
languageCode: this.$i18n.locale
},
//
querySysLanguageParam: {
languageCode: this.$i18n.locale
},
//
sysLanguageParams: [],
// table
userColumnList: [],
//
columnList: [
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801ToolId',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "toolId",
headerAlign: "center",
align: "center",
columnLabel: "工具编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801ToolDescription',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "toolDescription",
headerAlign: "center",
align: "center",
columnLabel: "工具名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801ToolInstanceId',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "toolInstanceId",
headerAlign: "center",
align: "center",
columnLabel: "实例编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801LocationId',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "locationId",
headerAlign: "center",
align: "center",
columnLabel: "库位编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801WarehouseId',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "warehouseId",
headerAlign: "center",
align: "center",
columnLabel: "仓库编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801EstuseQty',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "estuseQty",
headerAlign: "center",
align: "center",
columnLabel: "预计使用次数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801ActualuseQty',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "actualuseQty",
headerAlign: "center",
align: "center",
columnLabel: "使用次数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 2801,
serialNumber: 'toolDetail2801Prop',
tableId: "toolDetail2801",
tableName: "common",
columnProp: "prop",
headerAlign: "center",
align: "center",
columnLabel: "百分比",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
],
//
columnList1: [
// {
// userId: this.$store.state.user.name,
// functionId: 2801,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "functionId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2801,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2801,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectType",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2801,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageValue",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// },
// {
// userId: this.$store.state.user.name,
// functionId: 2801,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageCode",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: true,
// sortLv: 0,
// status: true,
// fixed: false,
// }
],
//
dataList: [],
queryButton: {
functionId: 2801,
table_id: 'toolDetail2801',
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: "2801",
// languageValue: '',
// objectId: 'add',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'edit',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'delete',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'deleteList',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'cz',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'search',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'download',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'settingTable',
// objectType: "button",
// tableId: "toolDetail2801"
// },
// {
// functionId: "2801",
// languageValue: '',
// objectId: 'defaultTable',
// objectType: "button",
// tableId: "toolDetail2801"
// }
],
languageList: [],
languageColumnList: [],
languageDataList: [],
queryLanguage: {},
//
querySysLanguagePack: {
functionId: '',
page: 1,
limit: 1,
languageValue: '',
objectType: '',
objectId: ''
},
//
pageIndex: 1,
pageSize: 20,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
mounted() {
this.$nextTick(()=>{
this.height = window.innerHeight - 200;
})
},
activated() {
// this.getDataList()
this.getLanguageList()
},
methods: {
//
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.userId==userFavorite.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: 2801,
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: 2801,
tableId: "toolDetail2801",
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)
}
})
saveButtonList(this.buttonList).then(({data}) => {
})
this.getFunctionButtonList()
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
getToolLocationList(this.queryData).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.rows
} 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({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
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 >
.wrapper {
height: calc(100% - 40px);
}
.sl-input {
background-color: transparent;
border: 0 !important;
font-size: 12px !important;
height: 12px !important;
line-height: 14px !important;
background-color: transparent !important;
width: 140px;
}
.sl-input:focus, textarea:focus {
outline: none;
}
.sl-svg{
overflow: hidden;
float: right;
}
</style>

2
src/views/modules/toolMan/location.vue

@ -127,7 +127,7 @@
<el-input style="width: 130px;" :readonly = "setUp.readonlyFlag" onkeyup="this.value = this.value.toUpperCase()" v-model="saveHeaderData.locationId"></el-input> <el-input style="width: 130px;" :readonly = "setUp.readonlyFlag" onkeyup="this.value = this.value.toUpperCase()" v-model="saveHeaderData.locationId"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="inputLabel.headerInput.label2"> <el-form-item :label="inputLabel.headerInput.label2">
<el-input style="width: 130px;" v-model="saveHeaderData.locationName"></el-input>
<el-input style="width: 130px;" v-model="saveHeaderData.locationName" onkeyup="this.value = this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">

2
src/views/modules/toolMan/tool-info.vue

@ -1087,7 +1087,7 @@
printReport(){ printReport(){
let row = this.currentDetailData let row = this.currentDetailData
// alert( this.$store.state.user.site) // alert( this.$store.state.user.site)
this.$lodop.print(temp, data);
const LODOP = getLodop() const LODOP = getLodop()
if (LODOP) { if (LODOP) {
LODOP.SET_LICENSES("","13F0BE83846277CB60918577C6281375","",""); LODOP.SET_LICENSES("","13F0BE83846277CB60918577C6281375","","");

Loading…
Cancel
Save