From c5a0472e558cb269e133f9ca58e4be82c334031d Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期五, 07 六月 2024 09:14:44 +0800
Subject: [PATCH] 1.设备SOP开发完成
---
src/views/sopManager/sopDevice.vue | 190 ++++++++++++++++++-----------------------------
1 files changed, 74 insertions(+), 116 deletions(-)
diff --git a/src/views/sopManager/sopDevice.vue b/src/views/sopManager/sopDevice.vue
index 33b13f2..806c4b3 100644
--- a/src/views/sopManager/sopDevice.vue
+++ b/src/views/sopManager/sopDevice.vue
@@ -39,81 +39,59 @@
@sort-change="sortChange"
>
<el-table-column
- prop="RowNum"
+ prop="rowNum"
width="50"
fixed
label="搴忓彿"
/>
<el-table-column
- prop="define_name"
+ prop="filename"
label="鏂囦欢鍚嶇О"
min-width="160"
show-tooltip-when-overflow
sortable="custom"
>
<template slot-scope="{row}">
- <div v-if="row.define_name">{{ row.define_name }}</div>
+ <div v-if="row.filename">{{ row.filename }}</div>
<div v-else>/</div>
</template>
</el-table-column>
<el-table-column
- prop="filetype_name"
+ prop="filetypename"
label="鏂囦欢绫诲瀷"
min-width="110"
sortable="custom"
>
<template slot-scope="{row}">
- <div v-if="row.filetype_name">{{ row.filetype_name }}</div>
+ <div v-if="row.filetypename">{{ row.filetypename }}</div>
<div v-else>/</div>
</template>
</el-table-column>
<el-table-column
- prop="file_version"
+ prop="version"
label="鐗堟湰鍙�"
min-width="110"
sortable="custom"
>
<template slot-scope="{row}">
- <div v-if="row.file_version">{{ row.file_version }}</div>
+ <div v-if="row.version">{{ row.version }}</div>
<div v-else>/</div>
</template>
</el-table-column>
<el-table-column
- prop="partcode"
- label="鐗╂枡缂栫爜"
- min-width="110"
- show-tooltip-when-overflow
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.partcode">{{ row.partcode }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="partname"
- label="鐗╂枡鍚嶇О"
- min-width="110"
- show-tooltip-when-overflow
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.partname">{{ row.partname }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="eqptype_name"
+ prop="eqptypename"
label="璁惧绫诲瀷"
min-width="110"
show-tooltip-when-overflow
sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.eqptype_name">{{ row.eqptype_name }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
+ />
+ <el-table-column
+ prop="eqpname"
+ label="璁惧淇℃伅"
+ min-width="110"
+ show-tooltip-when-overflow
+ sortable="custom"
+ />
<el-table-column
prop="username"
min-width="110"
@@ -151,7 +129,7 @@
/>
</el-tooltip>
<el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
- <i class="el-icon-delete" @click="del(row)" />
+ <i class="el-icon-delete" style="cursor: pointer;color:#42b983;" @click="del(row)" />
</el-tooltip>
</div>
</template>
@@ -166,7 +144,7 @@
align="right"
layout="total,prev, pager, next,sizes"
popper-class="select_bottom"
- @pagination="getSystemSopSearch"
+ @pagination="getDeviceSopSearch"
/>
</div>
@@ -180,37 +158,38 @@
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
- <el-form-item label="璁惧绫诲瀷" prop="devicetvpecode">
+ <el-form-item label="璁惧绫诲瀷" prop="devicetypecode">
<el-select
- v-model="dialogForm.devicetvpecode"
+ v-model="dialogForm.devicetypecode"
style="width: 200px"
placeholder="璇烽�夋嫨"
filterable
:popper-append-to-body="false"
- @change="val=>fileversionChange(val,'devicetvpecode')"
+ @change="devicetypecodeChange"
>
<el-option
- v-for="item in devicetvpeArr"
+ v-for="item in devicetypeArr"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
- <el-form-item label="鐗╂枡鍚嶇О" prop="partcode">
+ <el-form-item label="璁惧淇℃伅" prop="device">
<el-select
- v-model="dialogForm.partcode"
+ v-model="dialogForm.device"
style="width: 200px"
placeholder="璇烽�夋嫨"
filterable
+ multiple
+ collapse-tags
:popper-append-to-body="false"
- @change="val=>fileversionChange(val,'partcode')"
>
<el-option
- v-for="item in partArr"
- :key="item.partcode"
- :label="item.partname"
- :value="item.partcode"
+ v-for="item in deviceArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
/>
</el-select>
</el-form-item>
@@ -225,7 +204,6 @@
placeholder="璇烽�夋嫨"
filterable
:popper-append-to-body="false"
- @change="val=>fileversionChange(val,'filetypecode')"
>
<el-option
v-for="item in filetypeArr"
@@ -235,9 +213,9 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鐗堟湰鍙�">
- <el-input v-model="dialogForm.fileversion" disabled style="width: 200px" />
- </el-form-item>
+ <!-- <el-form-item label="鐗堟湰鍙�">-->
+ <!-- <el-input v-model="dialogForm.fileversion" disabled style="width: 200px" />-->
+ <!-- </el-form-item>-->
<el-form-item label="鏂囦欢涓婁紶" prop="Files">
<div style="width: 200px;">
<el-upload
@@ -249,8 +227,8 @@
:on-exceed="handleExceed"
:auto-upload="false"
:multiple="false"
- accept=".mp4,.pdf"
>
+ <!-- accept=".mp4,.pdf"-->
<el-button
type="primary"
style="width: 200px;display: flex;justify-content: center"
@@ -279,15 +257,9 @@
<script>
import Pagination from '@/components/Pagination'
-// import {
-// SystemSopDelete,
-// SystemSopDeviceSearch,
-// SystemSopMaxVersion,
-// SystemSopSava,
-// SystemSopSearch,
-// SystemSopView
-// } from '@/api/xtsz'
-// import { PartSelect } from '@/api/zzmx'
+import { DeviceSopAddSeave, DeviceSopDeleteSeave, DeviceSopSearch } from '@/api/SopManager'
+import { DeviceTypeSearch } from '@/api/DeviceManager'
+import { EqpTypecodeSeachEqpPermissions } from '@/api/GeneralBasicData'
export default {
name: 'Zzjg',
@@ -314,19 +286,19 @@
tableData: [],
dialogVisible: false,
dialogForm: {
- devicetvpecode: '', // 璁惧绫诲瀷缂栫爜
- partcode: '', // 鐗╂枡缂栫爜
+ devicetypecode: '', // 璁惧绫诲瀷缂栫爜
+ device: '', // 鐗╂枡缂栫爜
defilename: '',
filetypecode: '', // 鏂囦欢绫诲瀷缂栫爜
Files: '', // 鏂囦欢
fileversion: ''// 鏂囦欢鐗堟湰鍙�
},
dialogFormRules: {
- devicetvpecode: [
+ devicetypecode: [
{ required: true, message: '璇烽�夋嫨璁惧绫诲瀷', trigger: ['blur', 'change'] }
],
- partcode: [
- { required: true, message: '璇烽�夋嫨鐗╂枡鍚嶇О', trigger: ['blur', 'change'] }
+ device: [
+ { required: true, message: '璇烽�夋嫨璁惧淇℃伅', trigger: ['blur', 'change'] }
],
defilename: [
{ required: true, message: '璇疯緭鍏ュ悕鏂囦欢绉�', trigger: ['blur', 'change'] }
@@ -335,8 +307,8 @@
{ required: true, message: '璇烽�夋嫨鏂囦欢绫诲瀷', trigger: ['blur', 'change'] }
]
},
- devicetvpeArr: [], // 璁惧绫诲瀷涓嬫媺鍒楄〃
- partArr: [], // 鐗╂枡涓嬫媺鍒楄〃
+ devicetypeArr: [], // 璁惧绫诲瀷涓嬫媺鍒楄〃
+ deviceArr: [], // 鐗╂枡涓嬫媺鍒楄〃
filetypeArr: [// 鏂囦欢绫诲瀷涓嬫媺鏁扮粍
{ code: 'P001', name: '浣滀笟鎸囧涔�' },
{ code: 'P002', name: '妫�楠屾寚瀵间功' },
@@ -347,17 +319,22 @@
},
created() {
- // this.getSystemSopSearch()
+ this.getDeviceSopSearch()
+ this.getDeviceTypeSearch()
},
mounted() {
window.addEventListener('resize', this.getHeight)
this.getHeight()
},
methods: {
- async getSystemSopSearch() {
- const res = await SystemSopSearch(this.form)
+ async getDeviceSopSearch() {
+ const res = await DeviceSopSearch(this.form)
this.tableData = res.data
this.total = res.count
+ },
+ async getDeviceTypeSearch() {
+ const { data: res } = await DeviceTypeSearch()
+ this.devicetypeArr = res
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -370,58 +347,39 @@
}
this.form.order = order
this.form.prop = prop
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
},
// 鏌ヨ
search() {
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
},
// 鏈�鏂扮増鏈敼鍙樻椂瑙﹀彂
checkedChange(val) {
this.form.check = val ? 'Y' : 'N'
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
},
// 鏂囦欢鏁伴噺瓒呰繃闄愬畾瑙﹀彂
handleExceed() {
this.$message.info('鏆備笉鏀寔澶氭枃浠朵笂浼狅紒')
},
-
+ async devicetypecodeChange(eqptypecode) {
+ const { data: res } = await EqpTypecodeSeachEqpPermissions({ eqptypecode })
+ this.deviceArr = res
+ this.dialogForm.device = res.length > 0 ? res.map(i => i.code) : []
+ },
// 閲嶇疆
reset() {
this.form.search = ''
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
},
// 鏂板鎸夐挳
add() {
this.dialogVisible = true
- this.getSystemSopDeviceSearch()
- this.getPartSelect()
},
- // 鑾峰彇璁惧绫诲瀷
- async getSystemSopDeviceSearch() {
- const { data: res } = await SystemSopDeviceSearch()
- this.devicetvpeArr = res
- },
- // 鑾峰彇鐗╂枡鍚嶇О
- async getPartSelect() {
- const { data: res } = await PartSelect()
- this.partArr = res
- },
- // 鏂囦欢绫诲瀷鍊兼敼鍙樻椂
- async fileversionChange(val, type) {
- const data = {
- devicetypecode: type === 'devicetvpecode' ? val : this.dialogForm.devicetvpecode,
- filetypecode: type === 'filetypecode' ? val : this.dialogForm.filetypecode,
- partcode: type === 'partcode' ? val : this.dialogForm.partcode
- }
- const { data: res } = await SystemSopMaxVersion(data)
- this.dialogForm.fileversion = res
- },
// 棰勮
async check(row) {
- const { data: res } = await SystemSopView({ id: row.id, filepath: row.file_path })
- window.open(res)
+ window.open(process.env.VUE_APP_BASE_API_FILE + row.filepath)
},
// 鍒犻櫎鎸夐挳
@@ -433,15 +391,16 @@
}).then(() => {
const data = {
id: row.id,
- filepath: row.file_path
+ eqpcode: row.eqpcode,
+ filepath: row.filepath
}
- SystemSopDelete(data).then(res => {
+ DeviceSopDeleteSeave(data).then(res => {
if (res.code === '200') {
this.$message.success('鍒犻櫎鎴愬姛!')
if (this.form.page > 1 && this.tableData.length === 1) {
this.form.page--
}
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
}
})
}).catch(() => {
@@ -450,8 +409,8 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
- this.dialogForm.devicetvpecode = ''
- this.dialogForm.partcode = ''
+ this.dialogForm.devicetypecode = ''
+ this.dialogForm.device = ''
this.dialogForm.defilename = ''
this.dialogForm.filetypecode = ''
this.dialogForm.fileversion = ''
@@ -474,22 +433,21 @@
this.$refs.dialogForm.validate(valid => {
if (valid) {
const formData = new FormData()
- formData.append('devicetypecode', this.dialogForm.devicetvpecode)
- formData.append('partcode', this.dialogForm.partcode)
- formData.append('defilename', this.$refs.uploadFileRef.uploadFiles[0].name)
+ formData.append('eqptypecode', this.dialogForm.devicetypecode)
+ formData.append('device', this.dialogForm.device.join(','))
+ formData.append('filename', this.$refs.uploadFileRef.uploadFiles[0].name)
formData.append('filetypecode', this.dialogForm.filetypecode)
- formData.append('fileversion', this.dialogForm.fileversion)
- formData.append('Files', this.$refs.uploadFileRef.uploadFiles[0].raw)
+ formData.append('file', this.$refs.uploadFileRef.uploadFiles[0].raw)
// for (var [key, value] of formData) {
// console.log(key, value)
// }
this.$store.state.app.buttonIsDisabled = true
- SystemSopSava(formData).then(res => {
+ DeviceSopAddSeave(formData).then(res => {
if (res.code === '200') {
this.$message.success('鏂囦欢涓婁紶鎴愬姛锛�')
this.dialogVisible = false
this.$store.state.app.buttonIsDisabled = false
- this.getSystemSopSearch()
+ this.getDeviceSopSearch()
} else {
this.$message.error('鏂囦欢涓婁紶澶辫触锛�')
this.$store.state.app.buttonIsDisabled = false
--
Gitblit v1.9.3