Browse Source

Merge remote-tracking branch 'origin/master'

guoyujia 9 months ago
parent
commit
e7984d142d

+ 25 - 10
src/views/business/app/index.vue

@@ -23,13 +23,16 @@
         <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['business:app:add']">新增</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate" v-hasPermi="['business:app:edit']">修改</el-button>
+        <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['business:app:edit']">修改</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['business:app:remove']">删除</el-button>
+        <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['business:app:remove']">删除</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['business:app:export']">导出</el-button>
+        <el-button type="warning" plain icon="Download" @click="handleExport"
+          v-hasPermi="['business:app:export']">导出</el-button>
       </el-col>
       <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -66,13 +69,16 @@
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template #default="scope">
-          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:app:edit']">修改</el-button>
-          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:app:remove']">删除</el-button>
+          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:app:edit']">修改</el-button>
+          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['business:app:remove']">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
 
     <!-- 添加或修改app版本管理对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
@@ -86,7 +92,9 @@
         <el-form-item label="下载地址" prop="url">
           <el-input v-model="form.url" placeholder="请输入下载地址">
             <template #append>
-              <el-upload :action="webHost + '/common/upload'" :headers="headers" :limit="1" :on-success="handleSuccess" :on-exceed="handleExceed" :before-upload="beforeUpload" :show-file-list="false">
+              <el-upload :action="webHost + '/common/upload'" :headers="headers" :limit="1" :on-success="handleSuccess"
+                :on-exceed="handleExceed" :before-upload="beforeUpload" :show-file-list="false"
+                :on-change="handleChange" :file-list="fileList">
                 <el-button icon="Upload"></el-button>
               </el-upload>
             </template>
@@ -139,6 +147,7 @@ const single = ref(true)
 const multiple = ref(true)
 const total = ref(0)
 const title = ref('')
+const fileList = ref([])
 const versionNameReg = /^([1-9]\d|[1-9])(\.([1-9]\d|\d)){2}$/
 const versionCodeReg = /^[1-9][0-9]*$/
 const isVersionName = async (rule, value, callback) => {
@@ -179,12 +188,13 @@ const data = reactive({
 const { queryParams, form, rules } = toRefs(data)
 
 /** 文件上传前的 回调事件 */
-function beforeUpload() {
+function beforeUpload(file) {
+  // console.log(file)
   formLoading.value = true
 }
 /** 文件下载 */
 function handleDownload(url) {
-  console.log(webHost + url)
+  // console.log(webHost + url)
   window.open(webHost + url)
 }
 
@@ -202,10 +212,15 @@ function getList() {
 function handleSuccess(res) {
   form.value.url = res.fileName
   formLoading.value = false
+  fileList.value = []
 }
 
+function handleChange(files) {
+  // console.log("change", files)
+}
 /**文件数量超出的回调 */
 function handleExceed(files) {
+  // console.log("exceed", files)
   form.value.url = files[0].url
 }
 
@@ -291,7 +306,7 @@ function handleDelete(row) {
       getList()
       proxy.$modal.msgSuccess('删除成功')
     })
-    .catch(() => {})
+    .catch(() => { })
 }
 
 /** 导出按钮操作 */

+ 123 - 208
src/views/business/drawing/drawingDetail.vue

@@ -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();

+ 2 - 1
src/views/business/product/index.vue

@@ -94,7 +94,7 @@
             >同步P2产品</el-button
           >
           <el-button
-            v-if="false"
+            v-if="true"
             type="warning"
             @click="handleImport"
             v-hasPermi="['business:product:sync']"
@@ -102,6 +102,7 @@
           >
         </el-form-item>
       </el-form>
+
       <!-- 列表区 -->
       <div class="el-table-container">
         <div class="el-table-inner-container">