Sfoglia il codice sorgente

feat(qualityReportApproval): 支持多模板动态渲染与审批意见录入

yusheng 2 mesi fa
parent
commit
087e30212b

+ 8 - 0
src/api/bpm/components/qualityReportApproval/qualityReportApproval.js

@@ -142,3 +142,11 @@ export async function updateData(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+// 详情
+export async function getGroupById(id) {
+  const res = await request.get(`/main/group/getById/${id}`);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 59 - 37
src/views/bpm/handleTask/components/qualityReportApproval/detailDialog.vue

@@ -28,7 +28,14 @@
         ></component>
       </div>
 
-      <div v-html="template" v-show="activeComp === 'main'"> </div>
+      <component
+        :is="form.reportTemplateCode"
+        ref="templateRef"
+        v-show="activeComp == 'main'"
+        :key="form.reportTemplateCode"
+        :view="view"
+      ></component>
+      <!-- <div v-html="template" v-show="activeComp === 'main'"> </div> -->
       <unqualifiedProduct
         ref="unqualifiedProductRef"
         v-show="activeComp == 'unqualifiedList'"
@@ -134,12 +141,18 @@
     getDetailById,
     getList,
     getCertifiById,
+    getGroupById,
     getById
   } from '@/api/bpm/components/qualityReportApproval/qualityReportApproval';
   import { enterprisePage } from '@/api/bpm/components/contractManage/contractBook.js';
   import { fileGetByIdsAPI } from '@/components/addDoc/api/index.js';
   import browse from '@/components/jimureport/browse.vue';
-  import inspection_report3 from './inspection_report3.vue';
+  import inspection_report1 from './template/inspection_report1.vue';
+  import inspection_report2 from './template/inspection_report2.vue';
+  import inspection_report3 from './template/inspection_report3.vue';
+  import inspection_report5 from './template/inspection_report5.vue';
+  import inspection_report6 from './template/inspection_report6.vue';
+  import inspection_report4 from './template/inspection_report4.vue';
   import unqualifiedProduct from './unqualifiedProduct.vue';
   import { getJmPrintViewUrl } from '@/components/jimureport/api.js';
   import { getToken } from '@/utils/token-util';
@@ -164,12 +177,29 @@
       },
       businessType: {
         default: ''
+      },
+      deptName: {
+        default: ''
+      },
+      fromUser: {
+        default: ''
+      },
+      createTime: {
+        default: ''
+      },
+      deptId: {
+        default: ''
       }
     },
     components: {
       browse,
       unqualifiedProduct,
-      inspection_report3
+      inspection_report1,
+      inspection_report2,
+      inspection_report3,
+      inspection_report4,
+      inspection_report5,
+      inspection_report6
     },
     data() {
       return {
@@ -188,7 +218,7 @@
           ...defForm
         },
         inspectionItems: [],
-        form: {},
+        form: { reportTemplateCode: '' },
         tabOptions: [
           { key: 'main', name: '报告' },
           { key: 'unqualifiedList', name: '不良品台账' }
@@ -231,7 +261,13 @@
               inspectImage.push(...item.inspectImage);
             }
           });
-          // console.log(inspectImage, 'inspectImage');
+
+          //  feedbackDepartment: '',
+          //         feedbackPerson: '',
+          //         feedbackDate: '',
+          //         deptHeadPerson: '',
+          //         deptHeadDate: '',
+
           try {
             if (inspectImage.length) {
               vehiclePhotoUrl = await fileGetByIdsAPI(inspectImage);
@@ -246,6 +282,8 @@
           });
 
           this.activeComp = 'unqualifiedHtml';
+          const depData = await getGroupById(this.deptId);
+          console.log(depData, 'depData');
           this.$nextTick(() => {
             if (data.contentText) {
               data.contentText = JSON.parse(data.contentText);
@@ -262,6 +300,11 @@
                     modelType: data.modelType,
                     batchNo: data.batchNo,
                     total: data.quantity,
+                    feedbackDepartment: this.deptName,
+                    feedbackPerson: this.fromUser,
+                    feedbackDate: this.createTime,
+                    deptHeadDate: this.createTime,
+                    deptHeadPerson: depData?.data?.managerFirst[0]?.name,
                     sampleMeasureUnit: data.measureUnit,
                     vehiclePhotoUrl: vehiclePhotoUrl?.map(
                       (item) => item.storagePath[0]?.storePath
@@ -285,36 +328,15 @@
 
         if (detail.data.reportTemplateJson?.template) {
           this.template = detail.data.reportTemplateJson.template;
-
+          console.log(detail.data, 'detail.data');
           this.inspectionItems = detail.data.reportTemplateJson.inspectionItems;
           this.basicInfoData = detail.data.reportTemplateJson?.basicInfoData;
-          if (this.businessType?.includes('检测报告单')) {
-            this.$nextTick(() => {
-              const table = document.querySelector('.inspection-items-table');
-              console.log(table, 'table');
-              if (!table) return;
-
-              // 获取表格主体内的所有行
-              const rows = table.querySelectorAll('tbody tr');
-              for (let row of rows) {
-                const cells = row.querySelectorAll('td');
-                // 遍历当前行的每个 td
-                for (let i = 0; i < cells.length; i++) {
-                  if (cells[i].textContent.trim() === '结论') {
-                    // 找到了“结论”所在的 td,取它后面的兄弟 td
-                    const nextTd = cells[i].nextElementSibling;
-                    if (nextTd) {
-                      // 保存原文本(可选)
-                      const originalText = nextTd.textContent.trim();
-                      // 替换内容为 input,并设置 id
-                      nextTd.innerHTML = `<input class="el-input__inner" style="width: 100%" id="conclusionInput" type="text" value="${originalText}" />`;
-                    }
-                    return; // 找到后结束循环
-                  }
-                }
-              }
-            });
-          }
+          this.$nextTick(() => {
+            this.$refs.templateRef.init(
+              this.basicInfoData,
+              this.inspectionItems
+            );
+          });
         } else {
           this.tabOptions = this.tabOptions.filter(
             (item) => item.key != 'main'
@@ -391,6 +413,7 @@
         }
       },
       async getTableValue() {
+        this.view = true;
         let unqualifiedProducts = this.$refs.unqualifiedProductRef.getValue();
         let contentText = null;
         if (this.businessType?.includes('不良品处置')) {
@@ -399,8 +422,7 @@
         if (unqualifiedProducts == 'isNodisposeType') {
           return unqualifiedProducts;
         }
-        this.basicInfoData.conclusion =
-          document.getElementById('conclusionInput')?.value;
+        const printSection = document.getElementById('printSection');
         const params = {
           id: this.form.id,
           type: 0,
@@ -410,8 +432,8 @@
           contentText: contentText,
           unqualifiedProducts,
           reportTemplateJson: {
-            template: this.template,
-            basicInfoData: this.basicInfoData,
+            template: printSection?.innerHTML || this.template,
+            basicInfoData: this.$refs.templateRef?.getValue(),
             inspectionItems: this.inspectionItems
           }
         };

+ 0 - 1262
src/views/bpm/handleTask/components/qualityReportApproval/inspection_report3.vue

@@ -1,1262 +0,0 @@
-<template>
-  <div
-    id="printSection"
-    style="
-      padding: 20px;
-      background-color: white;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      width: 1200px;
-    "
-  >
-    <div class="table1" style="width: 100%">
-      <div
-        style="
-          text-align: center;
-          font-size: 20px;
-          margin-bottom: 5px;
-          font-weight: bold;
-        "
-        >{{ basicInfoData.groupName || '湖南特瑞精密医疗器器械有限公司' }}</div
-      >
-      <div style="text-align: center; font-size: 18px; margin-bottom: 5px"
-        >不合格品通知及评审处置表</div
-      >
-
-      <!-- 编号和报告单号 -->
-      <div style="margin-bottom: 5px">
-        <el-row style="display: flex">
-          <el-col :span="12" style="width: 50%">
-            <div style="display: flex; align-items: center">
-              <!-- 左侧空白占位 -->
-            </div>
-          </el-col>
-          <el-col :span="12" style="width: 50%">
-            <div
-              style="
-                display: flex;
-                align-items: center;
-                justify-content: flex-end;
-              "
-            >
-              <span style="font-weight: bold; margin-right: 10px"
-                >表单编号:</span
-              >
-              <span v-if="isView">
-                {{ basicInfoData.reportNumber }}
-              </span>
-              <span v-else>
-                <el-input
-                  v-model="basicInfoData.reportNumber"
-                  placeholder="请输入表单编号"
-                ></el-input>
-              </span>
-              <span style="font-weight: bold; margin-left: 3px">
-                <span> 版本:</span>
-                <span v-if="isView">
-                  {{ basicInfoData.version }}
-                </span>
-                <span v-else>
-                  <el-input
-                    style="width: 120px"
-                    v-model="basicInfoData.version"
-                    placeholder="请输入版本"
-                  ></el-input>
-                </span>
-              </span>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-
-      <!-- 基本信息表格 -->
-      <table
-        class="basic-info-table"
-        border="1"
-        style="width: 100%; border-collapse: collapse"
-      >
-        <tbody>
-          <tr align="center">
-            <td style="width: 150px">不合格品类别</td>
-            <td colspan="3" align="left">
-              <el-checkbox-group
-                v-model="basicInfoData.categoryList"
-                style="margin-left: 15px"
-              >
-                <el-checkbox label="原辅料"></el-checkbox>
-                <el-checkbox label="包材"></el-checkbox>
-                <el-checkbox label="中间产品"></el-checkbox>
-                <el-checkbox label="成品"></el-checkbox>
-              </el-checkbox-group>
-            </td>
-            <td style="width: 150px">处置编号</td>
-            <td style="width: 180px">
-              <el-input
-                v-if="!isView"
-                v-model="basicInfoData.disposalNumber"
-                placeholder="请输入处置编号"
-              ></el-input>
-              <span v-else>
-                {{ basicInfoData.disposalNumber }}
-              </span>
-            </td>
-          </tr>
-          <tr align="center"
-            ><td colspan="6"
-              ><span style="font-weight: 800; font-size: 15px"
-                >基本信息</span
-              ></td
-            ></tr
-          >
-          <tr align="center"
-            ><td>品名</td><td>型号规格</td><td>批号</td
-            ><td style="width: 80px">数量</td><td colspan="2">来源</td>
-          </tr>
-          <tr align="center"
-            ><td>{{ basicInfoData.productName }}</td
-            ><td
-              >{{ basicInfoData.specification }}/{{
-                basicInfoData.modelType
-              }}</td
-            ><td>{{ basicInfoData.batchNo }}</td
-            ><td
-              >{{ basicInfoData.total
-              }}{{ basicInfoData.sampleMeasureUnit }}</td
-            ><td colspan="2">
-              <div style="display: flex; flex-direction: column">
-                <div style="flex: 1; display: flex">
-                  <el-checkbox-group
-                    v-model="basicInfoData.sourceList"
-                    style="margin-left: 15px"
-                  >
-                    <el-checkbox label="来料检"></el-checkbox>
-                    <el-checkbox label="过程检"></el-checkbox>
-                    <el-checkbox label="成品检"></el-checkbox>
-                  </el-checkbox-group>
-                </div>
-                <div style="flex: 1; display: flex; align-items: center">
-                  <el-checkbox-group
-                    v-model="basicInfoData.sourceList"
-                    style="margin-left: 15px"
-                  >
-                    <el-checkbox label="库存"></el-checkbox>
-                    <el-checkbox label="交付后"></el-checkbox>
-                    <el-checkbox label="其他:"></el-checkbox>
-                  </el-checkbox-group>
-
-                  <template v-if="!isView">
-                    <input
-                      v-model="basicInfoData.sourceOther"
-                      style="
-                        border: none;
-                        border-bottom: solid 1px #000;
-                        width: 60px;
-                      "
-                    />
-                  </template>
-                  <span
-                    v-else
-                    style="
-                      display: inline-block;
-                      min-height: 20px;
-                      border-bottom: 1px solid #000;
-                      width: 60px;
-                      padding: 0 4px;
-                    "
-                    >{{ basicInfoData.sourceOther }}</span
-                  >
-                </div>
-              </div>
-            </td>
-          </tr>
-          <tr
-            ><td colspan="6">
-              <div>
-                <div
-                  >不合格描述:(来料不合格的,应描述供应商名称、厂家批号等信息)</div
-                >
-                <div style="margin-top: 15px">
-                  <el-input
-                    v-if="!isView"
-                    type="textarea"
-                    v-model="basicInfoData.remark"
-                    style="height: 80px"
-                  ></el-input>
-                  <span v-else>{{ basicInfoData.remark }}</span>
-                </div>
-                <div style="margin-top: 10px; display: flex">
-                  <image-upload
-                    v-if="!isView"
-                    v-model="basicInfoData.vehiclePhotoUrl"
-                    module="qms"
-                    :limit="4"
-                  ></image-upload>
-                  <template v-else>
-                    <img
-                      style="width: 300px; height: 280px; margin-left: 5px"
-                      v-for="url in basicInfoData.vehiclePhotoUrl"
-                      :src="getFmImagePath(url)"
-                      alt=""
-                      srcset=""
-                    />
-                  </template>
-                </div>
-                <div style="display: flex; margin-top: 25px"
-                  >是否有其他物料/中间产品/成品受影响(
-                  <el-checkbox-group
-                    v-model="basicInfoData.affectedList"
-                    style="margin-left: 15px"
-                  >
-                    <el-checkbox label="否"></el-checkbox>,
-                    <el-checkbox label="是"></el-checkbox></el-checkbox-group
-                  >,受影响的物料/中间产品/成品批次如下):</div
-                >
-                <div style="display: flex; margin-top: 25px"
-                  ><span style="font-size: 15px; font-weight: 800"
-                    >处置建议:</span
-                  >
-                  <el-checkbox-group
-                    v-model="basicInfoData.suggestionList"
-                    style="margin-left: 15px"
-                  >
-                    <el-checkbox label="退货"></el-checkbox>
-                    <el-checkbox label="销毁"></el-checkbox>
-                    <el-checkbox label="让步接收"></el-checkbox>
-                    <el-checkbox label="挑选使用"></el-checkbox>
-                    <el-checkbox label="返工"></el-checkbox>
-                    <el-checkbox label="其他:"></el-checkbox>
-                  </el-checkbox-group>
-                  <template v-if="!isView">
-                    <input
-                      v-model="basicInfoData.suggestionOther"
-                      style="
-                        border: none;
-                        border-bottom: solid 1px #000;
-                        width: 100px;
-                      "
-                    />
-                  </template>
-                  <span
-                    v-else
-                    style="
-                      display: inline-block;
-                      min-height: 20px;
-                      border-bottom: 1px solid #000;
-                      width: 100px;
-                      padding: 0 4px;
-                    "
-                    >{{ basicInfoData.suggestionOther }}</span
-                  >
-                </div>
-
-                <div style="margin-top: 25px">
-                  <div style="display: flex; align-items: center">
-                    <div
-                      style="
-                        display: flex;
-                        align-items: center;
-                        margin-bottom: 10px;
-                      "
-                    >
-                      <span
-                        style="
-                          font-weight: bold;
-                          min-width: 80px;
-                          font-size: 15px;
-                        "
-                        >反馈部门:</span
-                      >
-                      <span style="flex: 1; min-width: 150px">
-                        <div
-                          v-if="!isView"
-                          style="display: flex; align-items: center"
-                        >
-                          <el-input
-                            v-model="basicInfoData.feedbackDepartment"
-                            placeholder="请输入反馈部门"
-                            style="width: 140px"
-                          ></el-input>
-                        </div>
-                        <div v-else>{{
-                          basicInfoData.feedbackDepartment || ''
-                        }}</div>
-                      </span>
-                    </div>
-                    <div
-                      style="
-                        display: flex;
-                        align-items: center;
-                        margin-bottom: 10px;
-                      "
-                    >
-                      <span style="font-weight: bold; min-width: 100px"
-                        >反馈人/日期:</span
-                      >
-                      <span style="flex: 1; min-width: 150px">
-                        <div
-                          v-if="!isView"
-                          style="display: flex; align-items: center"
-                        >
-                          <el-input
-                            v-model="basicInfoData.feedbackPerson"
-                            placeholder="请输入反馈人"
-                            style="width: 120px"
-                          ></el-input>
-                          <el-date-picker
-                            v-model="basicInfoData.feedbackDate"
-                            type="date"
-                            value-format="yyyy-MM-dd"
-                            placeholder="选择日期"
-                            style="width: 140px"
-                          />
-                        </div>
-                        <div v-else
-                          >{{ basicInfoData.feedbackPerson || '' }} /
-                          {{ basicInfoData.feedbackDate || '' }}</div
-                        >
-                      </span>
-                    </div>
-                    <div
-                      style="
-                        display: flex;
-                        align-items: center;
-                        margin-bottom: 10px;
-                      "
-                    >
-                      <span style="font-weight: bold; min-width: 120px">
-                        部门负责人/日期:</span
-                      >
-                      <span style="flex: 1; min-width: 150px">
-                        <div
-                          v-if="!isView"
-                          style="display: flex; align-items: center"
-                        >
-                          <el-input
-                            v-model="basicInfoData.deptHeadPerson"
-                            placeholder="请输入部门负责人"
-                            style="width: 120px"
-                          ></el-input>
-                          <el-date-picker
-                            v-model="basicInfoData.deptHeadDate"
-                            type="date"
-                            value-format="yyyy-MM-dd"
-                            placeholder="选择日期"
-                            style="width: 140px"
-                          />
-                        </div>
-                        <div v-else
-                          >{{ basicInfoData.deptHeadPerson || '' }} /
-                          {{ basicInfoData.deptHeadDate || '' }}</div
-                        >
-                      </span>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </td>
-          </tr>
-          <tr
-            ><td colspan="6">
-              <div style="height: 80px"> 质量部QA确认: </div>
-              <div
-                style="
-                  display: flex;
-                  align-items: center;
-                  margin-bottom: 10px;
-                  justify-content: flex-end;
-                  width: 90%;
-                "
-              >
-                <span> 确认人/日期:</span>
-                <span>
-                  <div
-                    v-if="!isView"
-                    style="display: flex; align-items: center"
-                  >
-                    <el-input
-                      v-model="basicInfoData.qaPerson"
-                      placeholder="请输入确认人"
-                      style="width: 140px"
-                    ></el-input>
-                    <el-date-picker
-                      v-model="basicInfoData.qaDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      style="width: 160px"
-                    />
-                  </div>
-                  <div v-else
-                    >{{ basicInfoData.qaPerson || '' }} /
-                    {{ basicInfoData.qaDate || '' }}</div
-                  >
-                </span>
-              </div>
-            </td></tr
-          >
-          <tr
-            ><td colspan="6">
-              <div style="height: 80px"
-                >委托方意见(仅适用于受托不合格品处置):
-              </div>
-              <div
-                style="
-                  display: flex;
-                  align-items: center;
-                  margin-bottom: 10px;
-                  justify-content: flex-end;
-                  width: 90%;
-                "
-              >
-                <span> 确认人/日期:</span>
-                <span>
-                  <div
-                    v-if="!isView"
-                    style="display: flex; align-items: center"
-                  >
-                    <el-input
-                      v-model="basicInfoData.consignorPerson"
-                      placeholder="请输入确认人"
-                      style="width: 140px"
-                    ></el-input>
-                    <el-date-picker
-                      v-model="basicInfoData.consignorDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      style="width: 160px"
-                    />
-                  </div>
-                  <div v-else
-                    >{{ basicInfoData.consignorPerson || '' }} /
-                    {{ basicInfoData.consignorDate || '' }}</div
-                  >
-                </span>
-              </div>
-            </td></tr
-          >
-          <tr align="center"
-            ><td colspan="6"
-              ><span style="font-weight: 800; font-size: 15px"
-                >不合格评审</span
-              ></td
-            ></tr
-          >
-          <tr align="center"
-            ><td rowspan="6"><span style="font-size: 15px">评审意见</span></td>
-            <td>部门</td>
-            <td colspan="3">意见</td>
-            <td>评审人签字/日期</td>
-          </tr>
-          <tr align="center" v-for="value in basicInfoData.remarks">
-            <td style="width: 300px">
-              <el-input
-                v-if="!isView"
-                v-model="value.department"
-                placeholder="请输入部门"
-                style="width: 100%"
-              ></el-input>
-              <span v-else>{{ value.department }}</span>
-            </td>
-            <td colspan="3">
-              <el-input
-                v-if="!isView"
-                v-model="value.opinion"
-                placeholder="请输入意见"
-                style="width: 100%"
-              ></el-input>
-              <span v-else>{{ value.opinion }}</span>
-            </td>
-            <td>
-              <div v-if="!isView" style="display: flex; align-items: center">
-                <el-input
-                  v-model="value.sign"
-                  placeholder="请输入签字人"
-                  style="width: 140px"
-                ></el-input>
-                <el-date-picker
-                  v-model="value.date"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-              </div>
-              <div v-else
-                >{{ value.sign || '' }} / {{ value.date || '' }}</div
-              ></td
-            >
-          </tr>
-        </tbody>
-      </table>
-    </div>
-
-    <div class="table2" style="width: 100%">
-      <div
-        style="
-          text-align: center;
-          font-size: 20px;
-          margin-bottom: 5px;
-          font-weight: bold;
-        "
-        >{{ basicInfoData.groupName || '湖南特瑞精密医疗器器械有限公司' }}</div
-      >
-      <div style="text-align: center; font-size: 18px; margin-bottom: 5px"
-        >不合格品通知及评审处置表</div
-      >
-
-      <!-- 编号和报告单号(与 table1 共用字段) -->
-      <div style="margin-bottom: 5px">
-        <el-row style="display: flex">
-          <el-col :span="12" style="width: 50%">
-            <div style="display: flex; align-items: center"></div>
-          </el-col>
-          <el-col :span="12" style="width: 50%">
-            <div
-              style="
-                display: flex;
-                align-items: center;
-                justify-content: flex-end;
-              "
-            >
-              <span style="font-weight: bold; margin-right: 10px"
-                >表单编号:</span
-              >
-              <span v-if="isView">
-                {{ basicInfoData.reportNumber }}
-              </span>
-              <span v-else>
-                <el-input
-                  v-model="basicInfoData.reportNumber"
-                  placeholder="请输入表单编号"
-                ></el-input>
-              </span>
-              <span style="font-weight: bold; margin-left: 3px">
-                <span> 版本:</span>
-                <span v-if="isView">
-                  {{ basicInfoData.version }}
-                </span>
-                <span v-else>
-                  <el-input
-                    style="width: 120px"
-                    v-model="basicInfoData.version"
-                    placeholder="请输入版本"
-                  ></el-input>
-                </span>
-              </span>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-
-      <table
-        class="basic-info-table"
-        border="1"
-        style="width: 100%; border-collapse: collapse"
-      >
-        <tbody>
-          <!-- 第一行:管代审批 + 总经理审批 -->
-          <tr>
-            <td style="width: 60%; padding: 15px" colspan="2">
-              <div style="font-weight: bold; margin-bottom: 10px"
-                >管代审批:</div
-              >
-              <el-checkbox-group
-                v-model="basicInfoData.managementApprovalList"
-                style="margin-left: 10px"
-              >
-                <el-checkbox label="退货"></el-checkbox>
-                <el-checkbox label="销毁"></el-checkbox>
-                <el-checkbox label="让步接收"></el-checkbox>
-                <el-checkbox label="挑选使用"></el-checkbox>
-                <el-checkbox label="返工"></el-checkbox>
-              </el-checkbox-group>
-              <el-checkbox label="其他" style="margin-left: 10px"></el-checkbox>
-              <template v-if="!isView">
-                <input
-                  v-model="basicInfoData.managementOtherText"
-                  style="
-                    width: 150px;
-                    border: none;
-                    border-bottom: solid 1px #000;
-                  "
-                />
-              </template>
-              <span
-                v-else
-                style="
-                  display: inline-block;
-                  min-height: 20px;
-                  border-bottom: 1px solid #000;
-                  width: 150px;
-                  padding: 0 4px;
-                "
-                >{{ basicInfoData.managementOtherText }}</span
-              >
-              <div style="margin-top: 15px; display: flex">
-                是否采取纠正预防措施:
-                <el-checkbox
-                  v-model="basicInfoData.correctiveActionChecked"
-                ></el-checkbox>
-                ,编号:
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.correctiveActionNo"
-                    style="
-                      width: 180px;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 180px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.correctiveActionNo }}</span
-                >
-              </div>
-              <div style="margin-top: 15px; display: flex">
-                <el-checkbox
-                  v-model="basicInfoData.noCorrectiveReasonChecked"
-                ></el-checkbox>
-                否,理由:
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.noCorrectiveReasonText"
-                    style="
-                      width: 180px;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 180px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.noCorrectiveReasonText }}</span
-                >
-              </div>
-              <div
-                style="
-                  display: flex;
-                  align-items: center;
-                  margin-top: 15px;
-                  width: 90%;
-                "
-              >
-                <span> 签名/日期:</span>
-                <span>
-                  <div
-                    v-if="!isView"
-                    style="display: flex; align-items: center"
-                  >
-                    <el-input
-                      v-model="basicInfoData.managementSign"
-                      placeholder="请输入签名"
-                      style="width: 140px"
-                    ></el-input>
-                    <el-date-picker
-                      v-model="basicInfoData.managementSignDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      style="width: 160px"
-                    />
-                  </div>
-                  <div v-else
-                    >{{ basicInfoData.managementSign || '' }} /
-                    {{ basicInfoData.managementSignDate || '' }}</div
-                  >
-                </span>
-              </div>
-            </td>
-            <td style="width: 40%; padding: 15px">
-              <div
-                style="font-weight: bold; margin-bottom: 10px; font-size: 15px"
-              >
-                总经理/副总经理审批:
-                <span style="font-size: 12px"
-                  >(不适用于受托不合格品处置)</span
-                >
-              </div>
-              <el-checkbox-group
-                v-model="basicInfoData.generalManagerApprovalList"
-                style="margin-left: 10px"
-              >
-                <el-checkbox label="同意"></el-checkbox>
-                <el-checkbox label="不同意"></el-checkbox>
-              </el-checkbox-group>
-              <div
-                style="
-                  display: flex;
-                  align-items: center;
-                  margin-top: 15px;
-                  width: 90%;
-                "
-              >
-                <span> 签名/日期:</span>
-                <span>
-                  <div
-                    v-if="!isView"
-                    style="display: flex; align-items: center"
-                  >
-                    <el-input
-                      v-model="basicInfoData.generalManagerSign"
-                      placeholder="请输入签名"
-                      style="width: 140px"
-                    ></el-input>
-                    <el-date-picker
-                      v-model="basicInfoData.generalManagerSignDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      style="width: 160px"
-                    />
-                  </div>
-                  <div v-else
-                    >{{ basicInfoData.generalManagerSign || '' }} /
-                    {{ basicInfoData.generalManagerSignDate || '' }}</div
-                  >
-                </span>
-              </div>
-            </td>
-          </tr>
-          <!-- 不合格品的处置记录标题 -->
-          <tr align="center"
-            ><td colspan="3"
-              ><span style="font-weight: 800; font-size: 15px"
-                >不合格品的处置记录</span
-              ></td
-            ></tr
-          >
-          <!-- 处理方法 -->
-          <tr>
-            <td colspan="3" style="padding: 15px">
-              <div style="font-weight: bold; margin-bottom: 10px">
-                处理方法:
-              </div>
-              <!-- 退货 -->
-              <div
-                style="margin-bottom: 15px; display: flex; align-items: center"
-              >
-                <el-checkbox
-                  v-model="basicInfoData.returnChecked"
-                ></el-checkbox>
-                退货,退货日期:
-                <el-date-picker
-                  v-if="!isView"
-                  v-model="basicInfoData.returnDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder=" "
-                  style="width: 160px"
-                />
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 160px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.returnDate }}</span
-                >
-                ;退货单号:
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.returnNo"
-                    style="
-                      width: 180px;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 180px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.returnNo }}</span
-                >
-              </div>
-              <!-- 销毁 -->
-              <div>
-                <el-checkbox
-                  v-model="basicInfoData.destroyChecked"
-                ></el-checkbox>
-                销毁,方法(附销毁照片):
-                <el-checkbox-group
-                  v-model="basicInfoData.destroyMethods"
-                  style="display: inline-block; margin-left: 10px"
-                >
-                  <el-checkbox label="撕毁"></el-checkbox>
-                  <el-checkbox label="掩埋"></el-checkbox>
-                  <el-checkbox label="焚烧"></el-checkbox>
-                  <el-checkbox label="破碎"></el-checkbox>
-                  <el-checkbox label="废弃"></el-checkbox>
-                </el-checkbox-group>
-              </div>
-              <div style="margin-bottom: 25px">
-                <el-checkbox
-                  style="margin-left: 50px"
-                  label="其他"
-                ></el-checkbox>
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.destroyOther"
-                    style="
-                      width: 50%;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 50%;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.destroyOther }}</span
-                >
-              </div>
-              <!-- 让步接收 -->
-              <div style="margin-bottom: 25px">
-                <el-checkbox
-                  v-model="basicInfoData.concessionChecked"
-                ></el-checkbox>
-                让步接收,放行日期:
-                <el-date-picker
-                  v-if="!isView"
-                  v-model="basicInfoData.concessionDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 160px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.concessionDate }}</span
-                >
-              </div>
-              <!-- 挑选使用 -->
-              <div style="margin-bottom: 25px">
-                <el-checkbox
-                  v-model="basicInfoData.selectChecked"
-                ></el-checkbox>
-                挑选使用,挑选人:
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.selectPerson"
-                    style="
-                      width: 180px;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 180px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.selectPerson }}</span
-                >
-                ;挑选日期:
-                <el-date-picker
-                  v-if="!isView"
-                  v-model="basicInfoData.selectDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 160px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.selectDate }}</span
-                >
-                ;
-                <div style="margin-top: 5px; margin-left: 24px">
-                  挑选结果:
-                  <template v-if="!isView">
-                    <input
-                      v-model="basicInfoData.selectResult"
-                      style="
-                        width: 50%;
-                        border: none;
-                        border-bottom: solid 1px #000;
-                      "
-                    />
-                  </template>
-                  <span
-                    v-else
-                    style="
-                      display: inline-block;
-                      min-height: 20px;
-                      border-bottom: 1px solid #000;
-                      width: 50%;
-                      padding: 0 4px;
-                    "
-                    >{{ basicInfoData.selectResult }}</span
-                  >
-                </div>
-              </div>
-              <!-- 返工 -->
-              <div style="margin-bottom: 15px">
-                <el-checkbox
-                  v-model="basicInfoData.reworkChecked"
-                ></el-checkbox>
-                返工,返工方案:
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.reworkPlan"
-                    style="
-                      width: 180px;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 180px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.reworkPlan }}</span
-                >
-                ;返工日期:
-                <el-date-picker
-                  v-if="!isView"
-                  v-model="basicInfoData.reworkDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 160px;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.reworkDate }}</span
-                >
-                ;
-                <div style="margin-top: 5px; margin-left: 24px">
-                  返工结果:
-                  <template v-if="!isView">
-                    <input
-                      v-model="basicInfoData.reworkResult"
-                      style="
-                        width: 50%;
-                        border: none;
-                        border-bottom: solid 1px #000;
-                      "
-                    />
-                  </template>
-                  <span
-                    v-else
-                    style="
-                      display: inline-block;
-                      min-height: 20px;
-                      border-bottom: 1px solid #000;
-                      width: 50%;
-                      padding: 0 4px;
-                    "
-                    >{{ basicInfoData.reworkResult }}</span
-                  >
-                </div>
-              </div>
-              <!-- 其他 -->
-              <div style="margin-bottom: 15px">
-                <el-checkbox v-model="basicInfoData.otherChecked"></el-checkbox>
-                其他
-                <template v-if="!isView">
-                  <input
-                    v-model="basicInfoData.otherRemark"
-                    style="
-                      width: 50%;
-                      border: none;
-                      border-bottom: solid 1px #000;
-                    "
-                  />
-                </template>
-                <span
-                  v-else
-                  style="
-                    display: inline-block;
-                    min-height: 20px;
-                    border-bottom: 1px solid #000;
-                    width: 50%;
-                    padding: 0 4px;
-                  "
-                  >{{ basicInfoData.otherRemark }}</span
-                >
-              </div>
-            </td>
-          </tr>
-          <!-- 签名区域 -->
-          <tr>
-            <td style="padding: 15px; height: 80px">
-              <div>执行人/日期:</div>
-              <div v-if="!isView" style="display: flex; align-items: center">
-                <el-input
-                  v-model="basicInfoData.executorSign"
-                  placeholder="请输入执行人"
-                  style="width: 140px"
-                ></el-input>
-                <el-date-picker
-                  v-model="basicInfoData.executorDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-              </div>
-              <div v-else
-                >{{ basicInfoData.executorSign || '' }} /
-                {{ basicInfoData.executorDate || '' }}</div
-              >
-            </td>
-            <td style="padding: 15px; height: 80px">
-              <div>执行部门负责人/日期:</div>
-              <div v-if="!isView" style="display: flex; align-items: center">
-                <el-input
-                  v-model="basicInfoData.departmentSign"
-                  placeholder="请输入部门负责人"
-                  style="width: 140px"
-                ></el-input>
-                <el-date-picker
-                  v-model="basicInfoData.departmentDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-              </div>
-              <div v-else
-                >{{ basicInfoData.departmentSign || '' }} /
-                {{ basicInfoData.departmentDate || '' }}</div
-              >
-            </td>
-            <td style="padding: 15px; height: 80px" colspan="2">
-              <div>监督人(质量部)/日期:</div>
-              <div v-if="!isView" style="display: flex; align-items: center">
-                <el-input
-                  v-model="basicInfoData.supervisorSign"
-                  placeholder="请输入监督人"
-                  style="width: 140px"
-                ></el-input>
-                <el-date-picker
-                  v-model="basicInfoData.supervisorDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-              </div>
-              <div v-else
-                >{{ basicInfoData.supervisorSign || '' }} /
-                {{ basicInfoData.supervisorDate || '' }}</div
-              >
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      注:1.当报废处置金额达5万元及以上时,必须经总经理或其授权代表审批;2.处置过程可另附照片或其他证据等。
-    </div>
-  </div>
-</template>
-<script>
-  import imageUpload from '@/components/upload/imageUpload.vue';
-  import { getFmImagePath } from '@/utils/file';
-
-  export default {
-    name: 'QualityReport',
-    props: {
-      isView: {
-        type: Boolean,
-        default: false
-      }
-    },
-    components: {
-      imageUpload
-    },
-    data() {
-      return {
-        getFmImagePath,
-        basicInfoData: {
-          // 表单编号、版本(两处共用)
-          reportNumber: '',
-          version: '',
-          // 处置编号
-          disposalNumber: '',
-          remark: '',
-          // 不合格品类别
-          categoryList: [],
-          vehiclePhotoUrl: [],
-          // 来源
-          sourceList: [],
-          sourceOther: '',
-          // 是否受影响
-          affectedList: [],
-          // 处置建议
-          suggestionList: [],
-          suggestionOther: '',
-          // 基本信息的显示字段(非输入,但保留)
-          productName: '',
-          specification: '',
-          modelType: '',
-          batchNo: '',
-          total: '',
-          sampleMeasureUnit: '',
-          // 反馈部门、反馈人、部门负责人
-          feedbackDepartment: '',
-          feedbackPerson: '',
-          feedbackDate: '',
-          deptHeadPerson: '',
-          deptHeadDate: '',
-          // 质量部QA确认
-          qaPerson: '',
-          qaDate: '',
-          // 委托方意见
-          consignorPerson: '',
-          consignorDate: '',
-          // 评审意见表格(5行)
-          remarks: [
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' }
-          ],
-          // 管代审批
-          managementApprovalList: [],
-          managementOtherText: '',
-          correctiveActionChecked: false,
-          correctiveActionNo: '',
-          noCorrectiveReasonChecked: false,
-          noCorrectiveReasonText: '',
-          managementSign: '',
-          managementSignDate: '',
-          // 总经理审批
-          generalManagerApprovalList: [],
-          generalManagerSign: '',
-          generalManagerSignDate: '',
-          // 处置记录
-          returnChecked: false,
-          returnDate: '',
-          returnNo: '',
-          destroyChecked: false,
-          destroyMethods: [],
-          destroyOther: '',
-          concessionChecked: false,
-          concessionDate: '',
-          selectChecked: false,
-          selectPerson: '',
-          selectDate: '',
-          selectResult: '',
-          reworkChecked: false,
-          reworkPlan: '',
-          reworkDate: '',
-          reworkResult: '',
-          otherChecked: false,
-          otherRemark: '',
-          // 签名
-          executorSign: '',
-          executorDate: '',
-          departmentSign: '',
-          departmentDate: '',
-          supervisorSign: '',
-          supervisorDate: ''
-        }
-      };
-    },
-    methods: {
-      /* 打开质检报告 */
-      async init(basicInfoData) {
-        console.log(basicInfoData, 'basicInfoData');
-        if (basicInfoData.productName) {
-          this.$set(this, 'basicInfoData', {
-            ...this.basicInfoData,
-            ...basicInfoData
-          });
-        }
-      },
-      /* 保存编辑 */
-      async getValue() {
-        this.isView = true;
-        return new Promise((resolve, reject) => {
-          this.$nextTick(() => {
-            const printSection = document.getElementById('printSection');
-            resolve({
-              basicInfoData: this.basicInfoData,
-              html: printSection.innerHTML
-            });
-          });
-        });
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  td {
-    padding: 4px;
-  }
-  @media print {
-    .table1 {
-      page-break-after: always;
-    }
-    .table2 {
-      page-break-before: always;
-    }
-  }
-</style>

+ 11 - 0
src/views/bpm/handleTask/components/qualityReportApproval/submit.vue

@@ -66,6 +66,8 @@
     generateReport,
     updateData
   } from '@/api/bpm/components/qualityReportApproval/qualityReportApproval';
+  import dayjs from 'dayjs';
+
   // 流程实例的详情页,可用于审批
   export default {
     name: '',
@@ -119,12 +121,21 @@
           if (this.businessType?.includes('检测报告单')) {
             await generateReport(data);
           } else {
+            let userInfo = this.$store.state.user.info;
+            console.log(data, 'data');
+            data.contentText.basicInfoData.remarks.push({
+              department: userInfo?.groupName,
+              opinion: this.form.reason,
+              sign: userInfo?.name,
+              date: dayjs().format('YYYY-MM-DD')
+            });
             await updateData({
               ...data.unqualifiedProducts,
               contentText: data.contentText
             });
           }
         }
+        return;
         let API = !!status ? approveTaskWithVariables : rejectTask;
         await API({
           id: this.taskId,

+ 26 - 41
src/views/bpm/handleTask/components/qualityReportApproval/template/inspection_report3.vue

@@ -358,7 +358,17 @@
           </tr>
           <tr
             ><td colspan="6">
-              <div style="height: 80px"> 质量部QA确认: </div>
+              <div style="height: 80px; display: flex; flex-direction: column">
+                质量部QA确认:
+
+                <el-input
+                  type="textarea"
+                  v-model="basicInfoData.qaRemark"
+                  placeholder=" "
+                  v-if="!isView"
+                ></el-input>
+                <div v-else>{{ basicInfoData.qaRemark || '' }}</div>
+              </div>
               <div
                 style="
                   display: flex;
@@ -399,6 +409,13 @@
             ><td colspan="6">
               <div style="height: 80px"
                 >委托方意见(仅适用于受托不合格品处置):
+                <el-input
+                  type="textarea"
+                  v-model="basicInfoData.consignorRemark"
+                  placeholder=" "
+                  v-if="!isView"
+                ></el-input>
+                <div v-else>{{ basicInfoData.consignorRemark || '' }}</div>
               </div>
               <div
                 style="
@@ -436,7 +453,7 @@
               </div>
             </td></tr
           >
-          <tr align="center"
+          <tr align="center" v-if="!isView"
             ><td colspan="6"
               ><span style="font-weight: 800; font-size: 15px"
                 >不合格评审</span
@@ -451,41 +468,13 @@
           </tr>
           <tr align="center" v-for="value in basicInfoData.remarks">
             <td style="width: 300px">
-              <el-input
-                v-if="!isView"
-                v-model="value.department"
-                placeholder="请输入部门"
-                style="width: 100%"
-              ></el-input>
-              <span v-else>{{ value.department }}</span>
+              <span>{{ value.department }}</span>
             </td>
             <td colspan="3">
-              <el-input
-                v-if="!isView"
-                v-model="value.opinion"
-                placeholder="请输入意见"
-                style="width: 100%"
-              ></el-input>
-              <span v-else>{{ value.opinion }}</span>
+              <span>{{ value.opinion }}</span>
             </td>
             <td>
-              <div v-if="!isView" style="display: flex; align-items: center">
-                <el-input
-                  v-model="value.sign"
-                  placeholder="请输入签字人"
-                  style="width: 140px"
-                ></el-input>
-                <el-date-picker
-                  v-model="value.date"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 160px"
-                />
-              </div>
-              <div v-else
-                >{{ value.sign || '' }} / {{ value.date || '' }}</div
-              ></td
+              <div>{{ value.sign || '' }} / {{ value.date || '' }}</div></td
             >
           </tr>
         </tbody>
@@ -599,7 +588,7 @@
                 <el-checkbox
                   v-model="basicInfoData.correctiveActionChecked"
                 ></el-checkbox>
-                ,编号:
+                是,编号:
                 <template v-if="!isView">
                   <input
                     v-model="basicInfoData.correctiveActionNo"
@@ -1166,17 +1155,13 @@
           // 质量部QA确认
           qaPerson: '',
           qaDate: '',
+          qaRemark: '',
           // 委托方意见
           consignorPerson: '',
           consignorDate: '',
+          consignorRemark: '',
           // 评审意见表格(5行)
-          remarks: [
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' },
-            { department: '', opinion: '', sign: '', date: '' }
-          ],
+          remarks: [],
           // 管代审批
           managementApprovalList: [],
           managementOtherText: '',

+ 11 - 3
src/views/bpm/handleTask/components/qualityReportApproval/template/inspection_report5.vue

@@ -32,7 +32,7 @@
           >
             <span style="font-weight: bold; margin-right: 10px">表单编号:</span>
 
-            <span >
+            <span>
               {{ basicInfoData.reportNumber }}
             </span>
             <!-- <span v-else>
@@ -44,7 +44,7 @@
             <span style="font-weight: bold; margin-left: 3px">
               <span> 版本:</span>
 
-              <span >
+              <span>
                 {{ basicInfoData.version }}
               </span>
               <!-- <span v-else>
@@ -161,6 +161,9 @@
           >
           <th style="border: 1px solid #ccc; padding: 8px">标准规定</th>
           <th style="border: 1px solid #ccc; padding: 8px">检验工具及编号</th>
+          <th style="border: 1px solid #ccc; padding: 8px; width: 90px"
+            >检测内容</th
+          >
           <th style="width: 80px; border: 1px solid #ccc; padding: 8px"
             >检验结果</th
           >
@@ -177,7 +180,12 @@
           <td style="border: 1px solid #ccc; padding: 8px">{{
             item.standardRegulations
           }}</td>
-          <td style="border: 1px solid #ccc; padding: 8px">{{ item.uns }}</td>
+          <td style="border: 1px solid #ccc; padding: 8px">{{
+            item.toolList?.map((item) => item.name + ' ' + item.code).join(',')
+          }}</td>
+          <td style="border: 1px solid #ccc; padding: 8px">{{
+            item.qualityResultContent
+          }}</td>
           <td style="border: 1px solid #ccc; padding: 8px">{{
             item.results
           }}</td>

+ 10 - 2
src/views/bpm/handleTask/components/qualityReportApproval/template/inspection_report6.vue

@@ -32,7 +32,7 @@
           >
             <span style="font-weight: bold; margin-right: 10px">表单编号:</span>
 
-            <span>
+            <span >
               {{ basicInfoData.reportNumber }}
             </span>
             <!-- <span v-else>
@@ -154,6 +154,9 @@
           >
           <th style="border: 1px solid #ccc; padding: 8px">标准规定</th>
           <th style="border: 1px solid #ccc; padding: 8px">检验工具及编号</th>
+          <th style="border: 1px solid #ccc; padding: 8px; width: 90px"
+            >检测内容</th
+          >
           <th style="width: 80px; border: 1px solid #ccc; padding: 8px"
             >检验结果</th
           >
@@ -170,7 +173,12 @@
           <td style="border: 1px solid #ccc; padding: 8px">{{
             item.standardRegulations
           }}</td>
-          <td style="border: 1px solid #ccc; padding: 8px">{{ item.uns }}</td>
+          <td style="border: 1px solid #ccc; padding: 8px">{{
+            item.toolList?.map((item) => item.name + ' ' + item.code).join(',')
+          }}</td>
+          <td style="border: 1px solid #ccc; padding: 8px">{{
+            item.qualityResultContent
+          }}</td>
           <td style="border: 1px solid #ccc; padding: 8px">{{
             item.results
           }}</td>

+ 4 - 0
src/views/bpm/handleTask/index.vue

@@ -27,6 +27,10 @@
             :businessType="listData?.businessType"
             :processDefinitionId="processInstance.processDefinition.id"
             :taskDefinitionKey="listData?.taskDefinitionKey"
+            :fromUser="processInstance.startUser?.nickname"
+            :deptName="processInstance.startUser?.deptName"
+            :deptId="processInstance.startUser?.deptId"
+            :createTime="processInstance.createTime"
             @activeCompChange="activeCompChange"
             @handleClose="handleClose"
             ref="bziRef"