Browse Source

2023-07-11 设备和质量修改2

java8
杨奉源 3 years ago
parent
commit
149b75ac10
  1. 64
      package-lock.json
  2. 2
      package.json
  3. 2
      src/api/eam/eam.js
  4. 5
      src/views/modules/eam/eamMaintenanceModel.vue
  5. 7
      src/views/modules/eam/eamPropertiesModel.vue
  6. 1
      src/views/modules/eam/eamSupplier.vue
  7. 142
      src/views/modules/reportWorkOrder/reportDefectOrder.vue
  8. 74
      src/views/modules/reportWorkOrder/report_image_upload.vue

64
package-lock.json

@ -9627,9 +9627,9 @@
"optional": true
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"version": "5.7.2",
"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"optional": true
},
@ -9641,20 +9641,64 @@
"optional": true
},
"tslib": {
"version": "2.5.2",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.5.2.tgz",
"integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==",
"version": "2.6.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.0.tgz",
"integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==",
"dev": true
}
}
},
"less-loader": {
"version": "11.1.2",
"resolved": "https://registry.npmmirror.com/less-loader/-/less-loader-11.1.2.tgz",
"integrity": "sha512-2bSaN2j13bUh/5BuwJKuY2DDWVmfBsS6oWRe8v1mGj7F0EpcL+WyWkDQVoEfsVRE4ac5/OuP44ZCaVsXWrQQ9A==",
"version": "7.3.0",
"resolved": "https://registry.npmmirror.com/less-loader/-/less-loader-7.3.0.tgz",
"integrity": "sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg==",
"dev": true,
"requires": {
"klona": "^2.0.6"
"klona": "^2.0.4",
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
},
"dependencies": {
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
"json5": {
"version": "2.2.3",
"resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
"loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"schema-utils": {
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
}
}
},
"leven": {

2
package.json

@ -77,7 +77,7 @@
"jest": "21.2.0",
"jest-serializer-vue": "0.3.0",
"less": "^4.1.3",
"less-loader": "^11.1.2",
"less-loader": "^7.3.0",
"nightwatch": "0.9.12",
"node-notifier": "5.1.2",
"optimize-css-assets-webpack-plugin": "3.2.0",

2
src/api/eam/eam.js

@ -78,6 +78,7 @@ export const saveItemAvailable = data => createAPI(`/pms/eam/saveItemAvailable`,
export const searchItemAvailable = data => createAPI(`/pms/eam/searchItemAvailable`,'post',data)
export const deleteItemAvailable = data => createAPI(`/pms/eam/deleteItemAvailable`,'post',data)
export const deleteModalDetail = data => createAPI(`/pms/eam/deleteModalDetail`,'post',data)
//---------------点检模板-------------------
export const eamPropertiesModelSearch = data => createAPI(`/pms/eam/eamPropertiesModelSearch`,'post',data)
@ -173,6 +174,7 @@ export const deleteObjectItemAvailable= data => createAPI(`/pms/eam/deleteObject
export const eamFeedBackSearch= data => createAPI(`/pms/eam/eamFeedBackSearch`,'post',data)
export const cancelFeedBack= data => createAPI(`/pms/eam/cancelFeedBack`,'post',data)
export const saveDefectOrder= data => createAPI(`/pms/eam/saveDefectOrder`,'post',data)
export const imageDelete= data => createAPI(`/pms/eam/imageDelete`,'post',data)
//---------------快速添加-------------------

5
src/views/modules/eam/eamMaintenanceModel.vue

@ -352,9 +352,10 @@
searchItemAvailable,
searchModalDetails,
saveModalDetails,
deleteModalDetails,
deleteModalDetails, //
eamPropertiesItemSearch,
getItemLists,
deleteModalDetail //
} from "@/api/eam/eam.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
@ -1049,7 +1050,7 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteModalDetails(row).then(({data}) => {
deleteModalDetail(row).then(({data}) => {
if (data && data.code === 0) {
searchModalDetails(this.detailData).then(({data}) => {
this.detailList = data.rows

7
src/views/modules/eam/eamPropertiesModel.vue

@ -169,7 +169,7 @@
width="130"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="scope.row.valueChooseFlag=='Y'" @click="chooseModal(scope.row)">可选值</a>
<a type="text" size="small" v-if="scope.row.valueChooseFlag === 'Y'" @click="chooseModal(scope.row)">可选值</a>
<a type="text" size="small" @click="deleteModalDetails(scope.row)">删除项目</a>
</template>
</el-table-column>
@ -352,9 +352,10 @@
searchItemAvailable,
searchModalDetails,
saveModalDetails,
deleteModalDetails,
deleteModalDetails, //
eamPropertiesItemSearch,
getItemLists,
deleteModalDetail //
} from "@/api/eam/eam.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
@ -1049,7 +1050,7 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteModalDetails(row).then(({data}) => {
deleteModalDetail(row).then(({data}) => {
if (data && data.code === 0) {
searchModalDetails(this.detailData).then(({data}) => {
this.detailList = data.rows

1
src/views/modules/eam/eamSupplier.vue

@ -640,7 +640,6 @@
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
eamSupplierDelete(row).then(({data}) => {
if (data && data.code === '0') {

142
src/views/modules/reportWorkOrder/reportDefectOrder.vue

@ -5,10 +5,10 @@
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span>
</div>
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item style="margin-left: 0px" >
<span slot="label" style="" @click="getBaseList(201)"><a herf="#">计划执行人员</a></span>
<el-input v-model="searchData.planOperator" style="width: 120px"></el-input>
<el-input v-model="searchData.planOperator" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'计划执行日期:'">
<el-date-picker
@ -105,7 +105,15 @@
<el-input v-model="saveData.planOperatorName" disabled style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item label="设备编码:">
<el-input v-model="saveData.objectID" disabled style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="设备名称:">
<el-input v-model="saveData.objectDesc" disabled style="width: 255px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item >
<span slot="label" style="" @click="getBaseList(1033)"><a herf="#">故障编码</a></span>
<el-input v-model="saveData.defectID" style="width: 120px"></el-input>
@ -116,19 +124,35 @@
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'工作起始时间:'">
<el-date-picker style="width: 150px" v-model="saveData.startDate" type="datetime"
value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss' placeholder="开始日期">
<el-date-picker
style="width: 150px"
v-model="saveData.startDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="开始日期"
@change="handleChangeTime"
>
</el-date-picker>
-
<el-date-picker style="width: 150px" v-model="saveData.endDate" type="datetime"
value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss' placeholder="结束日期">
<el-date-picker
style="width: 150px"
v-model="saveData.endDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="结束日期"
@change="handleChangeTime"
>
</el-date-picker>
</el-form-item>
<el-form-item :label="'工作时长(m)'">
<el-input v-model="saveData.workTime" type="number" disabled :min="0" style="width: 60px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item >
<span slot="label" style="" @click="getOperatorList()"><a>选择机修人员</a></span>
<el-input v-model="saveData.operatorName" style="width: 220px"></el-input>
@ -397,7 +421,6 @@
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 101020,
@ -415,6 +438,23 @@
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 101020,
serialNumber: '101020TableObjectID',
tableId: "101020Table",
tableName: "common",
columnProp: 'objectDesc',
headerAlign: "center",
align: "center",
columnLabel: '设备名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 101020,
@ -555,7 +595,8 @@
operator: '',
operatorName: '',
disposalMeasures: '',
objectID: ''
objectID: '',
objectDesc: ''
},
operatorData: {
site: this.$store.state.user.site,
@ -663,6 +704,12 @@
fixed: '',
},
],
//
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
}
},
mounted () {
@ -675,6 +722,60 @@
this.favoriteIsOk()
},
methods: {
//
getStandTime(data) {
let value =
data.getFullYear() +
"-" +
this.checkTime(data.getMonth() + 1) +
"-" +
this.checkTime(data.getDate()) +
" " +
this.checkTime(data.getHours()) +
":" +
this.checkTime(data.getMinutes()) +
":" +
this.checkTime(data.getSeconds());
return value;
},
// ,10 '0'
checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
},
//
handleChangeTime() {
//
//
let start = (new Date(this.saveData.startDate) * 1000) / 1000;
if (start > Date.now()) {
this.saveData.startDate = this.getStandTime(new Date());
this.$message({
message: "时间超出范围!",
type: "warning",
});
}
//
let end = (new Date(this.saveData.endDate) * 1000) / 1000;
if (end > Date.now()) {
this.saveData.endDate = this.getStandTime(new Date());
this.$message({
message: "时间超出范围!",
type: "warning",
});
}
//
if (start > end) {
this.saveData.endDate = this.saveData.startDate;
this.$message({
message: "结束时间小于开始时间!",
type: "warning",
});
}
},
//
operatorClickRow(row){
this.$refs.operatorTable.toggleRowSelection(row);
@ -723,13 +824,10 @@
userId: this.$store.state.user.id,
languageCode: this.$i18n.locale
}
console.log(this.$route.meta.menuId)
userFavoriteList(userFavorite).then(({data}) => {
for (let i = 0; i < data.list.length; i++) {
// let flag=false;
if(this.$route.meta.menuId==data.list[i].menuId){
this.favorite = true
// flag=true;
}
}
})
@ -741,17 +839,10 @@
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
})
// })
removeUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg)
this.favorite = false
})
} else {
//
saveUserFavorite(userFavorite).then(({data}) => {
@ -820,7 +911,7 @@
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
eamWorkOrderSearch(this.searchData).then(({data}) => {
if (data.code == 0) {
if (data.code === 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
@ -859,6 +950,7 @@
defectID: row.defectID,
defectDesc: row.defectDesc,
objectID: row.objectID,
objectDesc: row.objectDesc,
},
this.detailModelFlag = true;
},

74
src/views/modules/reportWorkOrder/report_image_upload.vue

@ -10,9 +10,19 @@
</el-col>
</el-row>
<el-row>
<div v-viewer>
<img v-for="(item, index) in descImgs" :src="item" :key="index" style="width: 100px;height: 100px"/>
</div>
<!-- <div v-viewer>-->
<!-- <img v-for="(item, index) in descImgs" :src="item" :key="index" style="width: 100px;height: 100px"/>-->
<!-- </div>-->
<!-- 图像区域 -->
<ul class="content-image" v-viewer>
<li v-for="(item, index) in descImgs" :key="index" style="float: left;display: inline">
<img :src="item.url" style="width:70px;height: 70px"/>
<!-- 删除图标 -->
<div class="delete-img">
<i class="el-icon-delete" @click="deleteImage(index,item.id)"></i>
</div>
</li>
</ul>
</el-row>
<el-row>
<el-col :span="24">
@ -42,6 +52,7 @@ import {
} from '@/api/eam/com_eam_object_upload_file.js';
import {
searchFileUrl, //
imageDelete, //
} from "@/api/eam/eam.js"
/* 引入组件 */
var functionId = 'C10000002';
@ -59,13 +70,10 @@ export default {
orderNo: '',
folder: '',
},
descImgs: [
// 'https://yfy1.oss-cn-zhangjiakou.aliyuncs.com/JZhou.jpg',
// 'https://yfy1.oss-cn-zhangjiakou.aliyuncs.com/%E7%81%8C%E7%AF%AE%E9%AB%98%E6%89%8B.jpg'
],
descImgs: [],
uploadImg:[],
active: 0, //
getItem: {} // item
getItem: {}, // item
}
},
methods: {
@ -78,11 +86,16 @@ export default {
this.visible = true;
//
this.pageData.username = this.userId;
this.descImgs = []
this.descImgs = [];
this.searchFileUrl();
},
//
searchFileUrl(){
this.descImgs = [];
searchFileUrl(this.pageData).then(({data}) => {
if (data.code === 0) {
for (let i = 0; i < data.rows.length; i++) {
this.descImgs.push(data.rows[i].url)
this.descImgs = data.rows;
}
console.log(this.descImgs)
}else {
@ -90,6 +103,7 @@ export default {
}
})
},
//
beforeUploadHandle(file) {
if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') {
@ -103,9 +117,10 @@ export default {
},
/*关闭modal*/
closeDialog(){
//
// this.$emit('refreshPageTables');
//
this.fileList = [];
//
this.$emit('refreshPageTables');
//
this.visible = false;
},
/*保修当前的数据*/
@ -126,22 +141,35 @@ export default {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
this.closeDialog();
this.searchFileUrl();
this.fileList = [];
}else {
this.$message.warning(data.msg);
}
})
},
//
switcherCss (item, index) {
this.active = index //
this.getItem = JSON.parse(JSON.stringify(item)) // 使
},
//
deleteImg (item, index) {
this.descImgs.splice(index, 1)
deleteImage(index, id) {
let param = {
id: id
};
this.$confirm(`是否删除该图片?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
imageDelete(param).then(({data}) => {
if (data.code === 0) {
this.searchFileUrl();
this.$message.success(data.msg);
}else {
this.$message.warning(data.msg);
}
})
}).catch(() => {
})
},
},
created() {
@ -149,7 +177,7 @@ export default {
}
</script>
<style scoped>
<style>
</style>
Loading…
Cancel
Save