|
@@ -17,75 +17,36 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item> </el-form-item>
|
|
|
<el-form-item class="section-title" label="工艺版本:">
|
|
|
- <el-select-v2
|
|
|
- v-model="currentTechnological.productVersion"
|
|
|
- :options="technologicalProcessList"
|
|
|
- placeholder="请选择版本"
|
|
|
- @change="handelTechnological"
|
|
|
- style="width: 70px"
|
|
|
- />
|
|
|
+ <el-select-v2 v-model="currentTechnological.productVersion" :options="technologicalProcessList"
|
|
|
+ placeholder="请选择版本" @change="handelTechnological" style="width: 70px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item class="section-title" label="当前工序:">
|
|
|
- <el-select-v2
|
|
|
- v-model="technologicalDetailId"
|
|
|
- clearable
|
|
|
- :options="technologicalProcessDetailsList"
|
|
|
- placeholder="请选择工序"
|
|
|
- style="width: 160px"
|
|
|
- @change="handleDetailsChange"
|
|
|
- />
|
|
|
+ <el-select-v2 v-model="technologicalDetailId" clearable :options="technologicalProcessDetailsList"
|
|
|
+ placeholder="请选择工序" style="width: 160px" @change="handleDetailsChange" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</section>
|
|
|
<div class="page-container row-container">
|
|
|
- <section class="list-part-container" style="flex: 4">
|
|
|
+ <section class="list-part-container column-container" style="flex: 4">
|
|
|
<div class="list-btns-container">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="Plus"
|
|
|
- v-hasPermi="['business:electronicDrawings:add']"
|
|
|
- @click="handelUpload()"
|
|
|
- >上传
|
|
|
+ <el-button type="primary" icon="Plus" v-hasPermi="['business:electronicDrawings:add']"
|
|
|
+ @click="handelUpload()">上传
|
|
|
</el-button>
|
|
|
</div>
|
|
|
- <div class="page-container form-container">
|
|
|
- <!-- 列表区 -->
|
|
|
- <div class="el-table-container">
|
|
|
- <el-table
|
|
|
- ref="drawingTable"
|
|
|
- v-loading="loading"
|
|
|
- row-key="id"
|
|
|
- highlight-current-row
|
|
|
- @current-change="handleSelectionChange"
|
|
|
- :data="drawingList"
|
|
|
- height="600px"
|
|
|
- >
|
|
|
+ <!-- <div class="page-container form-container"> -->
|
|
|
+ <!-- 列表区 -->
|
|
|
+ <div class="el-table-container">
|
|
|
+ <div class="el-table-inner-container">
|
|
|
+ <el-table ref="drawingTable" v-loading="loading" row-key="id" highlight-current-row
|
|
|
+ @current-change="handleSelectionChange" :data="drawingList" height="100%">
|
|
|
<!-- <el-table-column type="selection" width="40" align="center" /> -->
|
|
|
- <el-table-column
|
|
|
- type="index"
|
|
|
- label="行号"
|
|
|
- width="50"
|
|
|
- align="center"
|
|
|
- />
|
|
|
+ <el-table-column type="index" label="行号" width="50" align="center" />
|
|
|
|
|
|
<el-table-column label="图纸" prop="drawingName" align="center" />
|
|
|
- <el-table-column
|
|
|
- label="类型"
|
|
|
- prop="pattern"
|
|
|
- align="center"
|
|
|
- width="80"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="状态"
|
|
|
- width="80px"
|
|
|
- prop="recordsType"
|
|
|
- align="center"
|
|
|
- >
|
|
|
+ <el-table-column label="类型" prop="pattern" align="center" width="80" />
|
|
|
+ <el-table-column label="状态" width="80px" prop="recordsType" align="center">
|
|
|
<template #default="scope">
|
|
|
- <dict-tag
|
|
|
- :options="drawing_status"
|
|
|
- :value="scope.row.recordsType"
|
|
|
- />
|
|
|
+ <dict-tag :options="drawing_status" :value="scope.row.recordsType" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column label="是否废弃" width="80px" prop="abandoned" align="center">
|
|
@@ -93,55 +54,25 @@
|
|
|
<dict-tag :options="drawing_type" :value="scope.row.abandoned" />
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
- <el-table-column
|
|
|
- label="制作人"
|
|
|
- width="100px"
|
|
|
- prop="producer"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="审核人"
|
|
|
- width="100px"
|
|
|
- prop="reviewer"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="批准人"
|
|
|
- width="100px"
|
|
|
- prop="issuer"
|
|
|
- align="center"
|
|
|
- />
|
|
|
+ <el-table-column label="制作人" width="100px" prop="producer" align="center" />
|
|
|
+ <el-table-column label="审核人" width="100px" prop="reviewer" align="center" />
|
|
|
+ <el-table-column label="批准人" width="100px" prop="issuer" align="center" />
|
|
|
<el-table-column fixed="right" label="操作" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-button-group
|
|
|
- style="
|
|
|
+ <el-button-group style="
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
flex-wrap: nowrap;
|
|
|
- "
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="
|
|
|
- scope.row.status == 0 &&
|
|
|
- scope.row.abandoned == 0 &&
|
|
|
- scope.row.producerId != 0
|
|
|
- "
|
|
|
- link
|
|
|
- type="primary"
|
|
|
- v-hasPermi="['business:electronicDrawings:examine']"
|
|
|
- @click="handlePreview(scope.row)"
|
|
|
- >审核
|
|
|
+ ">
|
|
|
+ <el-button v-if="scope.row.status == 0 &&
|
|
|
+ scope.row.abandoned == 0 &&
|
|
|
+ scope.row.producerId != 0
|
|
|
+ " link type="primary" v-hasPermi="['business:electronicDrawings:examine']" @click="handlePreview(scope.row)">审核
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status == 1"
|
|
|
- link
|
|
|
- type="success"
|
|
|
- plain
|
|
|
+ <el-button v-if="scope.row.status == 1" link type="success" plain
|
|
|
v-hasPermi="['business:electronicDrawings:raift']"
|
|
|
- @click="handlePreview(scope.row)"
|
|
|
- >批准</el-button
|
|
|
- >
|
|
|
+ @click="handlePreview(scope.row)">批准</el-button>
|
|
|
|
|
|
<!-- <el-upload style="display: flex;align-items: center; justify-content: center;"
|
|
|
:action="webHost + '/common/upload'" :headers="headers" :limit="1"
|
|
@@ -152,115 +83,51 @@
|
|
|
v-hasPermi="['business:electronicDrawings:replace']">替换</el-button>
|
|
|
</el-upload> -->
|
|
|
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status == 2 && scope.row.abandoned == 0"
|
|
|
- link
|
|
|
- type="warning"
|
|
|
- v-hasPermi="['business:electronicDrawings:replace']"
|
|
|
- @click="replaceClick(scope.row)"
|
|
|
- >替换
|
|
|
+ <el-button v-show="scope.row.status == 2 && scope.row.abandoned == 0" link type="warning"
|
|
|
+ v-hasPermi="['business:electronicDrawings:replace']" @click="replaceClick(scope.row)">替换
|
|
|
</el-button>
|
|
|
|
|
|
- <el-button
|
|
|
- v-if="
|
|
|
- scope.row.status == 0 &&
|
|
|
- scope.row.abandoned == 0 &&
|
|
|
- scope.row.producerId != 0
|
|
|
- "
|
|
|
- link
|
|
|
- type="danger"
|
|
|
- v-hasPermi="['business:electronicDrawings:raiftNG']"
|
|
|
- @click="handleDrawingNG(scope.row)"
|
|
|
- >NG
|
|
|
+ <el-button v-show="scope.row.status == 0 &&
|
|
|
+ scope.row.abandoned == 0 &&
|
|
|
+ scope.row.producerId != 0
|
|
|
+ " link type="danger" v-hasPermi="['business:electronicDrawings:examineNG']"
|
|
|
+ @click="handleDrawingNG(scope.row)">NG
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status == 1"
|
|
|
- link
|
|
|
- type="danger"
|
|
|
- v-hasPermi="['business:electronicDrawings:examineNG']"
|
|
|
- @click="handleDrawingNG(scope.row)"
|
|
|
- >NG
|
|
|
+ <el-button v-show="scope.row.status == 1" link type="danger"
|
|
|
+ v-hasPermi="['business:electronicDrawings:raiftNG']" @click="handleDrawingNG(scope.row)">NG
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status == 2 && scope.row.abandoned == 0"
|
|
|
- link
|
|
|
- type="danger"
|
|
|
- v-hasPermi="['business:electronicDrawings:remove']"
|
|
|
- @click="handleDrawingRemove(scope.row)"
|
|
|
- >作废
|
|
|
+ <el-button v-show="scope.row.status == 2 && scope.row.abandoned == 0" link type="danger"
|
|
|
+ v-hasPermi="['business:electronicDrawings:remove']" @click="handleDrawingRemove(scope.row)">作废
|
|
|
</el-button>
|
|
|
</el-button-group>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
- <!-- 分页 -->
|
|
|
- <pagination
|
|
|
- v-show="total > 0"
|
|
|
- :total="total"
|
|
|
- v-model:page="queryparams.pageNum"
|
|
|
- v-model:limit="queryparams.pageSize"
|
|
|
- @pagination="getDrawing"
|
|
|
- />
|
|
|
</div>
|
|
|
+ <!-- 分页 -->
|
|
|
+ <pagination v-show="total > 0" :total="total" v-model:page="queryparams.pageNum"
|
|
|
+ v-model:limit="queryparams.pageSize" @pagination="getDrawing" />
|
|
|
+ <!-- </div> -->
|
|
|
</section>
|
|
|
|
|
|
<section class="list-part-container" style="flex: 3">
|
|
|
- <el-form
|
|
|
- class="list-search-container"
|
|
|
- :model="draform"
|
|
|
- ref="queryRef"
|
|
|
- :inline="true"
|
|
|
- style="margin-right: 0px"
|
|
|
- >
|
|
|
+ <el-form class="list-search-container" :model="draform" ref="queryRef" :inline="true" style="margin-right: 0px">
|
|
|
<el-form-item class="section-title" label="预览" />
|
|
|
<el-form-item style="float: inline-end; margin-top: 8px">
|
|
|
- <el-button
|
|
|
- :disabled="!drawingUrl"
|
|
|
- link
|
|
|
- type="primary"
|
|
|
- @click="openDrawing"
|
|
|
- >全屏预览</el-button
|
|
|
- >
|
|
|
+ <el-button :disabled="!drawingUrl" link type="primary" @click="openDrawing">全屏预览</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <iframe
|
|
|
- :src="drawingUrl"
|
|
|
- frameborder="no"
|
|
|
- style="width: 100%; height: 100%"
|
|
|
- scrolling="auto"
|
|
|
- />
|
|
|
+ <iframe :src="drawingUrl" frameborder="no" style="width: 100%; height: 100%" scrolling="auto" />
|
|
|
</section>
|
|
|
</div>
|
|
|
|
|
|
<!-- 添加图纸对话框 -->
|
|
|
- <el-dialog
|
|
|
- title="上传文件"
|
|
|
- v-model="open"
|
|
|
- width="500px"
|
|
|
- @close="cancel"
|
|
|
- append-to-body
|
|
|
- >
|
|
|
- <el-form
|
|
|
- ref="drawingRef"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- label-width="120px"
|
|
|
- v-loading="formLoading"
|
|
|
- >
|
|
|
- <el-form-item
|
|
|
- label="工序:"
|
|
|
- prop="technologicalProcessDetailId"
|
|
|
- style="margin-top: 20px"
|
|
|
- >
|
|
|
- <el-select-v2
|
|
|
- v-model="form.technologicalProcessDetailId"
|
|
|
- clearable
|
|
|
- :options="technologicalProcessDetailsList"
|
|
|
- placeholder="请选择工序:"
|
|
|
- @change="handleDetailsFormChange"
|
|
|
- style="width: 200px"
|
|
|
- />
|
|
|
+ <el-dialog title="上传文件" v-model="open" width="500px" @close="cancel" append-to-body>
|
|
|
+ <el-form ref="drawingRef" :model="form" :rules="rules" label-width="120px" v-loading="formLoading">
|
|
|
+ <el-form-item label="工序:" prop="technologicalProcessDetailId" style="margin-top: 20px">
|
|
|
+ <el-select-v2 v-model="form.technologicalProcessDetailId" clearable :options="technologicalProcessDetailsList"
|
|
|
+ placeholder="请选择工序:" @change="handleDetailsFormChange" style="width: 200px" />
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="标识:" prop="identification">
|
|
@@ -271,17 +138,9 @@
|
|
|
<el-form-item label="上传文件:" prop="url">
|
|
|
<el-input disabled v-model="form.url" placeholder="上传文件">
|
|
|
<template #append>
|
|
|
- <el-upload
|
|
|
- :disabled="!form.technologicalProcessDetailId"
|
|
|
- :action="webHost + '/common/upload'"
|
|
|
- :headers="headers"
|
|
|
- :limit="1"
|
|
|
- :on-success="handleSuccess"
|
|
|
- :on-exceed="handleExceed"
|
|
|
- :before-upload="beforeUpload"
|
|
|
- :show-file-list="false"
|
|
|
- ref="uploadrefss"
|
|
|
- >
|
|
|
+ <el-upload :disabled="!form.technologicalProcessDetailId" :action="webHost + '/common/upload'"
|
|
|
+ :headers="headers" :on-success="handleSuccess" :on-exceed="handleExceed" :before-upload="beforeUpload"
|
|
|
+ :show-file-list="false" ref="uploadrefss">
|
|
|
<el-button icon="Upload"></el-button>
|
|
|
</el-upload>
|
|
|
</template>
|
|
@@ -290,9 +149,7 @@
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
- <el-button :disabled="!form.url" type="primary" @click="submitForm"
|
|
|
- >确 定</el-button
|
|
|
- >
|
|
|
+ <el-button :disabled="!form.url" type="primary" @click="submitForm">确 定</el-button>
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -386,10 +243,9 @@ function getList() {
|
|
|
|
|
|
productId.value = route.params.productId;
|
|
|
productVersion.value = route.params.productVersion;
|
|
|
-
|
|
|
if (route.params.processCode && !processCode.value) {
|
|
|
processCode.value = route.params.processCode;
|
|
|
- } else {
|
|
|
+ } else if (!route.params.processCode && !processCode.value) {
|
|
|
technologicalDetailId.value = null;
|
|
|
}
|
|
|
//查询产品
|
|
@@ -430,12 +286,59 @@ function getList() {
|
|
|
} else {
|
|
|
technologicalDetailId.value = null;
|
|
|
}
|
|
|
+
|
|
|
getDrawing();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+function handleTechnologicalProcessDetails() {
|
|
|
+ loading.value = true
|
|
|
+ //查询工艺工序
|
|
|
+ getTechnologicalProcessDetails({
|
|
|
+ technologyVersion: currentTechnological.value.productVersion,
|
|
|
+ productId: productId.value,
|
|
|
+ isHistory: 0,
|
|
|
+ }).then((response) => {
|
|
|
+ if (response.code == 200) {
|
|
|
+ technologicalProcessDetailsList.value = response.data;
|
|
|
+ if (
|
|
|
+ processCode.value !== undefined &&
|
|
|
+ processCode.value !== null &&
|
|
|
+ processCode.value !== "undefined"
|
|
|
+ ) {
|
|
|
+ if (!technologicalDetailId.value) {
|
|
|
+ technologicalDetailId.value = response.data.find(
|
|
|
+ (detail) => detail.code == processCode.value
|
|
|
+ ).value;
|
|
|
+ currentTechnologicalDetail.value.id = response.data.find(
|
|
|
+ (detail) => detail.code === processCode.value
|
|
|
+ ).value;
|
|
|
+ } else {
|
|
|
+ // 判断下是否在列表里,假设不在赋值第一个
|
|
|
+ const index = response.data.findIndex(
|
|
|
+ (detail) => detail.value === technologicalDetailId.value
|
|
|
+ );
|
|
|
+ if (index < 0) {
|
|
|
+ technologicalDetailId.value = response.data.find(
|
|
|
+ (detail) => detail.code == processCode.value
|
|
|
+ ).value;
|
|
|
+ currentTechnologicalDetail.value.id = response.data.find(
|
|
|
+ (detail) => detail.code === processCode.value
|
|
|
+ ).value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ technologicalDetailId.value = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ getDrawing();
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
function handleDetailsFormChange(row) {
|
|
|
if (row) {
|
|
|
technologicalDetailId.value = form.value.technologicalProcessDetailId;
|
|
@@ -454,7 +357,6 @@ function openDrawing() {
|
|
|
}
|
|
|
|
|
|
function handleSelectionChange(row) {
|
|
|
- console.log(123123);
|
|
|
if (row) {
|
|
|
loading.value = true;
|
|
|
currentDrawing.value = row;
|
|
@@ -478,7 +380,10 @@ function handleSelectionChange(row) {
|
|
|
|
|
|
/**文件数量超出的回调 */
|
|
|
function handleExceed(files) {
|
|
|
- form.value.url = files[0].url;
|
|
|
+ uploadrefss.value.clearFiles();
|
|
|
+
|
|
|
+ // console.log("handleExceed", files);
|
|
|
+ // form.value.url = files[0].url;
|
|
|
}
|
|
|
/** 文件上传前的 回调事件 */
|
|
|
function beforeUpload(file) {
|
|
@@ -513,7 +418,7 @@ function getDrawing() {
|
|
|
getNormalDrawing(queryparams.value).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
drawingList.value = res.rows;
|
|
|
- console.log(1225, res.rows);
|
|
|
+
|
|
|
if (res.rows.length > 0) {
|
|
|
proxy.$refs.drawingTable.setCurrentRow(res.rows[0]);
|
|
|
} else {
|
|
@@ -521,6 +426,7 @@ function getDrawing() {
|
|
|
}
|
|
|
total.value = res.total;
|
|
|
}
|
|
|
+ loading.value = false
|
|
|
});
|
|
|
}
|
|
|
/**上传成功回调 */
|
|
@@ -531,6 +437,7 @@ function handleSuccess(row) {
|
|
|
fileDrawing.drawingName = row.originalFilename;
|
|
|
fileDrawing.productId = productId.value;
|
|
|
fileDrawing.processCode = processCode.value;
|
|
|
+ fileDrawing.productVersion = productVersion.value;
|
|
|
getListByName(fileDrawing).then((res) => {
|
|
|
// debugger;
|
|
|
if (res.code == 200) {
|
|
@@ -550,10 +457,12 @@ function handleSuccess(row) {
|
|
|
item.drawingName = fileDrawing.drawingName;
|
|
|
item.technologicalProcessDetailId =
|
|
|
fileDrawing.technologicalProcessDetailId;
|
|
|
+ formLoading.value = false;
|
|
|
handleReplace(item);
|
|
|
} else {
|
|
|
proxy.$modal.msgError("已有相同文件,请修改后重新上传");
|
|
|
open.value = false;
|
|
|
+ formLoading.value = false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -611,7 +520,7 @@ function submitForm() {
|
|
|
open.value = false;
|
|
|
proxy.$modal.msgSuccess("替换成功");
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
} else {
|
|
|
saveDrawingDetail();
|
|
|
}
|
|
@@ -624,6 +533,7 @@ function saveDrawingDetail() {
|
|
|
// form.value.technologicalProcessDetailId = currentTechnologicalDetail.value.id
|
|
|
// }
|
|
|
|
|
|
+ console.log("保存processCode", processCode.value);
|
|
|
form.value.drawingName = coverName.value;
|
|
|
form.value.processCode = processCode.value;
|
|
|
form.value.productId = productId.value;
|
|
@@ -680,10 +590,15 @@ function cancel() {
|
|
|
}
|
|
|
/**版本change事件 */
|
|
|
function handelTechnological(row) {
|
|
|
- getDrawing();
|
|
|
+ let selectedOption = technologicalProcessList.value.find(
|
|
|
+ (option) => option.value === row
|
|
|
+ );
|
|
|
+ currentTechnological.value.productVersion = selectedOption.label;
|
|
|
+ handleTechnologicalProcessDetails();
|
|
|
}
|
|
|
/**工序选择change事件 */
|
|
|
function handleDetailsChange() {
|
|
|
+ loading.value = true
|
|
|
if (technologicalDetailId.value) {
|
|
|
var matchingDetail = technologicalProcessDetailsList.value.find(
|
|
|
(detail) => detail.value === technologicalDetailId.value
|
|
@@ -714,7 +629,7 @@ function handleDrawingNG(row) {
|
|
|
open.value = false;
|
|
|
proxy.$modal.msgSuccess("操作成功");
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
}
|
|
|
/**废弃电子图纸 */
|
|
|
|
|
@@ -732,7 +647,7 @@ function handleDrawingRemove(row) {
|
|
|
open.value = false;
|
|
|
proxy.$modal.msgSuccess("操作成功");
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
}
|
|
|
|
|
|
function handleReplace(row) {
|
|
@@ -747,7 +662,7 @@ function handleReplace(row) {
|
|
|
open.value = false;
|
|
|
proxy.$modal.msgSuccess("替换成功");
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
}
|
|
|
|
|
|
getList();
|