Browse Source

重要节点加入操作日志

lxf 1 year ago
parent
commit
2e808260a3

+ 10 - 0
src/api/shengde/group/order/operationLog.js

@@ -0,0 +1,10 @@
+import request from '@/router/axios'
+
+// 操作日志列表
+export function operationLogList(data = {}) {
+  return request({
+    url: '/saas-group/saas/group/operationLog/list',
+    method: 'post',
+    data: data,
+  })
+}

+ 90 - 0
src/components/shengde/operationLog/index.vue

@@ -0,0 +1,90 @@
+<template>
+  <div>
+    <el-table :data="tableList" :cell-style="{ padding: '0' }" :row-style="{ height: '35px' }" v-loading="loading" header-row-class-name="tableHeader">
+      <el-table-column label="操作时间" align="center" prop="createTime" />
+      <el-table-column label="操作人" align="center" prop="createUser" />
+      <el-table-column :label="getLabel()" align="center" prop="businessCode" />
+      <el-table-column label="行为" align="center" prop="remark" />
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+  </div>
+</template>
+
+<script>
+import * as API from '@/api/shengde/group/order/operationLog'
+
+export default {
+  name: 'example',
+  props: {
+    operationLogKey: Number,
+  },
+  data() {
+    return {
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        type: null,
+      },
+      loading: false,
+      tableList: [],
+      total: 0,
+      rowData: {},
+    }
+  },
+  created() {
+    if (this.operationLogKey) {
+      this.queryParams.type = this.operationLogKey
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    getList() {
+      this.loading = true
+      API.operationLogList(this.queryParams).then(
+        (res) => {
+          this.tableList = res.data.data.records
+          this.total = res.data.data.total
+          this.loading = false
+        },
+        (err) => {
+          console.log('operationLogList: ' + err)
+          this.loading = false
+        }
+      )
+    },
+    getLabel() {
+      let text = ''
+      if (this.operationLogKey === 10) {
+        text = '订单号'
+      } else if (this.operationLogKey === 20) {
+        text = 'SKU品号'
+      } else if (this.operationLogKey === 30) {
+        text = 'BOM品号'
+      }
+      return text
+    },
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+* {
+  font-size: 12px;
+}
+::v-deep {
+  .el-input__inner {
+    border-radius: 1px;
+  }
+  .el-button--small {
+    border-radius: 1px;
+  }
+  .tableHeader th {
+    background-color: #edf0f5;
+    height: 35px;
+    padding: 0;
+  }
+}
+</style>

+ 97 - 82
src/views/shengde/group/BOM/library/index.vue

@@ -64,90 +64,95 @@
             </el-form-item>
           </el-form>
 
-          <el-row :gutter="10" style="margin-bottom: 15px" v-if="!selectStatus">
+          <el-row :gutter="10" style="margin-bottom: 10px" v-if="!selectStatus">
             <el-button type="primary" size="mini" @click="handleAdd">添加BOM</el-button>
           </el-row>
 
-          <el-table
-            v-loading="loadingTable"
-            :data="productList"
-            size="small"
-            :row-style="{ height: '35px' }"
-            :cell-style="{ padding: '0' }"
-            header-row-class-name="tableHeader"
-          >
-            <el-table-column label="" type="expand" width="50">
-              <template slot-scope="scope">
-                <div>
-                  <el-table
-                    :data="scope.row.bomColors"
-                    size="small"
-                    :row-style="{ height: '35px' }"
-                    :cell-style="{ padding: '0' }"
-                    header-row-class-name="tableHeader"
-                    :show-header="false"
-                  >
-                    <el-table-column width="150" align="center" />
-                    <el-table-column label="设计图" width="100">
-                      <template slot-scope="scope">
-                        <div v-if="scope.row.magPath">
-                          <img
-                            style="width: 32px; height: 32px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer; margin-bottom: 8px"
-                            :src="pathPrefix + scope.row.magPath"
-                            @click="openFile(pathPrefix + scope.row.magPath)"
-                          />
-                        </div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column label="品号" prop="specCode" width="200" />
-                    <el-table-column label="品名" prop="nameChinese" />
-                    <el-table-column label="单品尺寸(L*W*H)" prop="specCode" width="240">
-                      <template slot-scope="scope">
-                        <span>{{ `${scope.row.productLong} * ${scope.row.productWide} * ${scope.row.productHigh}` }}</span>
-                      </template>
-                    </el-table-column>
-                    <el-table-column label="操作" prop="weight" width="80" v-if="selectStatus">
-                      <template slot-scope="sonScope">
-                        <div>
-                          <el-button type="text" @click="selectBOM(scope.row, sonScope.$index)" v-db-click>选择</el-button>
-                        </div>
-                      </template>
-                    </el-table-column>
-                  </el-table>
-                </div>
-              </template>
-            </el-table-column>
-            <!-- <el-table-column label="图片" width="100">
-              <template width="90" slot-scope="scope">
-                <img
-                  v-if="scope.row.pic"
-                  style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
-                  :src="pathPrefix + scope.row.pic"
-                  @click="openFile(pathPrefix + scope.row.pic)"
-                />
-              </template>
-            </el-table-column>
-            <el-table-column label="群组品号" prop="code" width="160" /> -->
-            <el-table-column label="群组品名" min-width="200">
-              <template slot-scope="scope">
-                <span style="color: #409eff; cursor: pointer" @click="clickProductName(scope.row)">{{ scope.row.nameChinese }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="项目小类" width="120" :formatter="projectTypeFormat" />
-            <el-table-column label="种类" width="120" :formatter="generalCategoryFormat" />
-            <el-table-column label="色层" width="120" :formatter="chromatogramFormat" />
-            <el-table-column label="压纹工艺" width="120" :formatter="formulaFormat" />
-            <el-table-column label="正面纹路" width="120" :formatter="frontalGrainFormat" />
-            <el-table-column label="背面纹路" width="120" :formatter="reverseGrainFormat" />
-            <!-- <el-table-column label="报价规则名称" prop="newSalesQuotationName" width="140" /> -->
-            <el-table-column label="操作" align="center" width="100" fixed="right">
-              <template slot-scope="scope">
-                <el-button type="text" @click="handleUpdate(scope.row)" v-db-click>修改</el-button>
-                <el-button type="text" @click="handleDelete(scope.row)" v-db-click>删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+          <div style="width: 100%; position: relative">
+            <div style="position: absolute; right: 0; top: -34px; width: 120px; text-align: center">
+              <el-button type="primary" size="mini" @click="openOperationLog = true" v-db-click>操作日志</el-button>
+            </div>
+            <el-table
+              v-loading="loadingTable"
+              :data="productList"
+              size="small"
+              :row-style="{ height: '35px' }"
+              :cell-style="{ padding: '0' }"
+              header-row-class-name="tableHeader"
+            >
+              <el-table-column label="" type="expand" width="50">
+                <template slot-scope="scope">
+                  <div>
+                    <el-table
+                      :data="scope.row.bomColors"
+                      size="small"
+                      :row-style="{ height: '35px' }"
+                      :cell-style="{ padding: '0' }"
+                      header-row-class-name="tableHeader"
+                      :show-header="false"
+                    >
+                      <el-table-column width="150" align="center" />
+                      <el-table-column label="设计图" width="100">
+                        <template slot-scope="scope">
+                          <div v-if="scope.row.magPath">
+                            <img
+                              style="width: 32px; height: 32px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer; margin-bottom: 8px"
+                              :src="pathPrefix + scope.row.magPath"
+                              @click="openFile(pathPrefix + scope.row.magPath)"
+                            />
+                          </div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column label="品号" prop="specCode" width="200" />
+                      <el-table-column label="品名" prop="nameChinese" />
+                      <el-table-column label="单品尺寸(L*W*H)" prop="specCode" width="240">
+                        <template slot-scope="scope">
+                          <span>{{ `${scope.row.productLong} * ${scope.row.productWide} * ${scope.row.productHigh}` }}</span>
+                        </template>
+                      </el-table-column>
+                      <el-table-column label="操作" prop="weight" width="80" v-if="selectStatus">
+                        <template slot-scope="sonScope">
+                          <div>
+                            <el-button type="text" @click="selectBOM(scope.row, sonScope.$index)" v-db-click>选择</el-button>
+                          </div>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                  </div>
+                </template>
+              </el-table-column>
+              <!-- <el-table-column label="图片" width="100">
+                <template width="90" slot-scope="scope">
+                  <img
+                    v-if="scope.row.pic"
+                    style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
+                    :src="pathPrefix + scope.row.pic"
+                    @click="openFile(pathPrefix + scope.row.pic)"
+                  />
+                </template>
+              </el-table-column>
+              <el-table-column label="群组品号" prop="code" width="160" /> -->
+              <el-table-column label="群组品名" min-width="200">
+                <template slot-scope="scope">
+                  <span style="color: #409eff; cursor: pointer" @click="clickProductName(scope.row)">{{ scope.row.nameChinese }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="项目小类" width="120" :formatter="projectTypeFormat" />
+              <el-table-column label="种类" width="120" :formatter="generalCategoryFormat" />
+              <el-table-column label="色层" width="120" :formatter="chromatogramFormat" />
+              <el-table-column label="压纹工艺" width="120" :formatter="formulaFormat" />
+              <el-table-column label="正面纹路" width="120" :formatter="frontalGrainFormat" />
+              <el-table-column label="背面纹路" width="120" :formatter="reverseGrainFormat" />
+              <!-- <el-table-column label="报价规则名称" prop="newSalesQuotationName" width="140" /> -->
+              <el-table-column label="操作" align="center" width="120" fixed="right">
+                <template slot-scope="scope">
+                  <el-button type="text" @click="handleUpdate(scope.row)" v-db-click>修改</el-button>
+                  <el-button type="text" @click="handleDelete(scope.row)" v-db-click>删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+          </div>
         </el-card>
       </el-col>
     </el-row>
@@ -159,6 +164,13 @@
     <el-dialog v-if="openBOMDetails" :visible.sync="openBOMDetails" width="90%" append-to-body :close-on-click-modal="false">
       <BOMDetails :rowData="rowData" @clickCancel="clickCancelDetails"></BOMDetails>
     </el-dialog>
+
+    <el-dialog title="操作日志" v-if="openOperationLog" :visible.sync="openOperationLog" width="50%" append-to-body>
+      <OperationLog :operationLogKey="operationLogKey"></OperationLog>
+      <div style="text-align: center; margin-top: 20px">
+        <el-button @click="openOperationLog = false" v-db-click>关 闭</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -168,10 +180,11 @@ import { categoryList } from '@/api/shengde/group/BOM/category'
 import { mapGetters } from 'vuex'
 import BOM from '@/views/AddOrModifiedProduct/BOM'
 import BOMDetails from '@/views/shengde/group/BOM/library/details'
+import OperationLog from '@/components/shengde/operationLog/index'
 
 export default {
   name: 'BOMLibrary',
-  components: { BOM, BOMDetails },
+  components: { BOM, BOMDetails, OperationLog },
   props: {
     selectStatus: {
       type: Boolean,
@@ -229,6 +242,8 @@ export default {
       reverseGrain: [],
       frontalGrain: [],
       projectType: [],
+      openOperationLog: false,
+      operationLogKey: 30,
     }
   },
   created() {

+ 17 - 3
src/views/shengde/group/order/orderManagement/index.vue

@@ -60,8 +60,10 @@
       </el-form-item>
     </el-form>
 
-    <!-- 表格数据 -->
-    <el-row>
+    <div style="width: 100%; position: relative">
+      <div style="position: absolute; right: 0; top: -34px; width: 120px; text-align: center">
+        <el-button type="primary" size="mini" @click="openOperationLog = true" v-db-click>操作日志</el-button>
+      </div>
       <el-table
         :data="tableList"
         :cell-style="{ padding: '0' }"
@@ -163,7 +165,7 @@
       </el-table>
       <!-- 分页器 -->
       <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
-    </el-row>
+    </div>
 
     <el-dialog title="修改税率" v-if="open" :visible.sync="open" width="40%" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
@@ -185,17 +187,27 @@
         </div>
       </el-form>
     </el-dialog>
+
+    <el-dialog title="操作日志" v-if="openOperationLog" :visible.sync="openOperationLog" width="50%" append-to-body>
+      <OperationLog :operationLogKey="operationLogKey"></OperationLog>
+      <div style="text-align: center; margin-top: 20px">
+        <el-button @click="openOperationLog = false" v-db-click>关 闭</el-button>
+      </div>
+    </el-dialog>
   </el-card>
 </template>
 
 <script>
 import * as API from '@/api/shengde/group/order/orderManagement.js'
 import { mapGetters } from 'vuex'
+import OperationLog from '@/components/shengde/operationLog/index'
+
 export default {
   props: {
     selectStatus: Boolean,
     selectStatusDiscount: Boolean,
   },
+  components: { OperationLog },
   data() {
     return {
       loading: false,
@@ -239,6 +251,8 @@ export default {
       rules: {
         taxRate: [{ required: true, message: '请输入税率', trigger: 'blur' }],
       },
+      openOperationLog: false,
+      operationLogKey: 10,
     }
   },
   created() {

+ 142 - 127
src/views/shengde/product/management/index.vue

@@ -35,139 +35,144 @@
               <!-- <el-button type="primary" size="mini" @click="importExcel" v-db-click>导入Excel</el-button> -->
             </el-col>
           </el-row>
-
           <div style="margin-bottom: 15px" v-if="selectStatus"></div>
-          <el-table
-            v-loading="loadingTable"
-            :data="productList"
-            size="small"
-            :row-style="{ height: '35px' }"
-            :cell-style="{ padding: '0' }"
-            header-row-class-name="tableHeader"
-            :default-expand-all="selectStatus"
-          >
-            <el-table-column label="" type="expand" width="50">
-              <template slot-scope="scope">
-                <div style="padding: 0px 20px; box-sizing: border-box">
-                  <div
-                    v-for="(color, index) in scope.row.colors"
-                    :key="color.id"
-                    style="display: flex; padding: 3px 10px; align-items: center; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); margin-bottom: 8px"
-                  >
-                    <div style="width: 80px">
-                      <div v-if="color.colorAccessory">
-                        <img
-                          v-if="!color.colorAccessory.includes('https')"
-                          style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
-                          :src="pathPrefix + color.colorAccessory"
-                          @click="openFile(pathPrefix + color.colorAccessory)"
-                        />
-                        <img
+
+          <div style="width: 100%; position: relative">
+            <div style="position: absolute; right: 0; top: -34px; width: 120px; text-align: center">
+              <el-button type="primary" size="mini" @click="openOperationLog = true" v-db-click>操作日志</el-button>
+            </div>
+            <el-table
+              v-loading="loadingTable"
+              :data="productList"
+              size="small"
+              :row-style="{ height: '35px' }"
+              :cell-style="{ padding: '0' }"
+              header-row-class-name="tableHeader"
+              :default-expand-all="selectStatus"
+            >
+              <el-table-column label="" type="expand" width="50">
+                <template slot-scope="scope">
+                  <div style="padding: 0px 20px; box-sizing: border-box">
+                    <div
+                      v-for="(color, index) in scope.row.colors"
+                      :key="color.id"
+                      style="display: flex; padding: 3px 10px; align-items: center; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); margin-bottom: 8px"
+                    >
+                      <div style="width: 80px">
+                        <div v-if="color.colorAccessory">
+                          <img
+                            v-if="!color.colorAccessory.includes('https')"
+                            style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
+                            :src="pathPrefix + color.colorAccessory"
+                            @click="openFile(pathPrefix + color.colorAccessory)"
+                          />
+                          <img
+                            v-else
+                            style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
+                            :src="color.colorAccessory"
+                            @click="openFile(color.colorAccessory)"
+                          />
+                        </div>
+                        <div
                           v-else
-                          style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
-                          :src="color.colorAccessory"
-                          @click="openFile(color.colorAccessory)"
-                        />
+                          class="el-icon-picture-outline"
+                          style="width: 40px; height: 40px; font-size: 36px; line-height: 40px; text-align: center; color: rgb(229 228 228)"
+                        ></div>
                       </div>
-                      <div
-                        v-else
-                        class="el-icon-picture-outline"
-                        style="width: 40px; height: 40px; font-size: 36px; line-height: 40px; text-align: center; color: rgb(229 228 228)"
-                      ></div>
-                    </div>
-                    <div style="width: 80px" v-if="userInfo.subsidiaryId">
-                      <div v-if="color.designSketch">
-                        <img
-                          v-if="!color.designSketch.includes('https')"
-                          style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
-                          :src="pathPrefix + color.designSketch"
-                          @click="openFile(pathPrefix + color.designSketch)"
-                        />
-                        <img
+                      <div style="width: 80px" v-if="userInfo.subsidiaryId">
+                        <div v-if="color.designSketch">
+                          <img
+                            v-if="!color.designSketch.includes('https')"
+                            style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
+                            :src="pathPrefix + color.designSketch"
+                            @click="openFile(pathPrefix + color.designSketch)"
+                          />
+                          <img
+                            v-else
+                            style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
+                            :src="color.designSketch"
+                            @click="openFile(color.designSketch)"
+                          />
+                        </div>
+                        <div
                           v-else
-                          style="width: 40px; height: 40px; object-fit: contain; vertical-align: middle; border: none; cursor: pointer"
-                          :src="color.designSketch"
-                          @click="openFile(color.designSketch)"
-                        />
+                          class="el-icon-picture-outline"
+                          style="width: 40px; height: 40px; font-size: 36px; line-height: 40px; text-align: center; color: rgb(229 228 228)"
+                        ></div>
+                      </div>
+                      <div style="width: 140px">
+                        {{ color.specCode }}
+                      </div>
+                      <div style="flex: 1">
+                        {{ color.nameChinese }}
+                      </div>
+                      <div style="width: 160px">
+                        {{ `${color.length}  *  ${color.width}  *  ${color.height}(cm³)` }}
+                      </div>
+                      <div style="width: 60px; text-align: center" v-if="selectStatus">
+                        <el-button type="text" @click="handleSelect(scope.row, index)" v-db-click>选择</el-button>
                       </div>
-                      <div
-                        v-else
-                        class="el-icon-picture-outline"
-                        style="width: 40px; height: 40px; font-size: 36px; line-height: 40px; text-align: center; color: rgb(229 228 228)"
-                      ></div>
-                    </div>
-                    <div style="width: 140px">
-                      {{ color.specCode }}
-                    </div>
-                    <div style="flex: 1">
-                      {{ color.nameChinese }}
-                    </div>
-                    <div style="width: 160px">
-                      {{ `${color.length}  *  ${color.width}  *  ${color.height}(cm³)` }}
-                    </div>
-                    <div style="width: 60px; text-align: center" v-if="selectStatus">
-                      <el-button type="text" @click="handleSelect(scope.row, index)" v-db-click>选择</el-button>
                     </div>
                   </div>
-                </div>
-              </template>
-            </el-table-column>
-            <!-- <el-table-column label="图片" width="80">
-              <template slot-scope="scope">
-                <div v-if="scope.row.pic">
-                  <img
-                    v-if="!scope.row.pic.includes('https')"
-                    style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
-                    :src="pathPrefix + scope.row.pic"
-                    @click="openFile(pathPrefix + scope.row.pic)"
-                  />
-                  <img
-                    v-else
-                    style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
-                    :src="scope.row.pic"
-                    @click="openFile(scope.row.pic)"
-                  />
-                </div>
-              </template>
-            </el-table-column> -->
-            <el-table-column label="归属单位" prop="subsidiaryName" width="120" v-if="userInfo.subsidiaryId">
-              <template slot-scope="scope">
-                <span v-if="scope.row.subsidiaryName">{{ scope.row.subsidiaryName }}</span>
-                <span v-else>胜德集团</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="群组品号" prop="code" width="120"> </el-table-column>
-            <el-table-column label="群组品名" min-width="220">
-              <template slot-scope="scope">
-                <div>
-                  <a style="color: #409eff; cursor: pointer" @click="clickProductName(scope.row)">{{ scope.row.nameChinese }}</a>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="产品来源" width="100" v-if="!selectStatus">
-              <template slot-scope="scope">
-                <span v-if="scope.row.dataResource == 0">MES</span>
-                <span v-else>万里牛</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="品牌" prop="brandName" width="100" />
-            <el-table-column label="型号" prop="productModelChinese" min-width="150" />
-            <el-table-column label="材质" prop="materialChinese" min-width="150" />
-            <el-table-column label="操作" align="center" width="120" fixed="right" v-if="!selectStatus">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    type="text"
-                    v-if="!userInfo.subsidiaryId || (userInfo.subsidiaryId && userInfo.subsidiaryId === scope.row.subsidiaryId)"
-                    @click="handleUpdate(scope.row)"
-                    v-db-click
-                    >编辑</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+                </template>
+              </el-table-column>
+              <!-- <el-table-column label="图片" width="80">
+          <template slot-scope="scope">
+            <div v-if="scope.row.pic">
+              <img
+                v-if="!scope.row.pic.includes('https')"
+                style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
+                :src="pathPrefix + scope.row.pic"
+                @click="openFile(pathPrefix + scope.row.pic)"
+              />
+              <img
+                v-else
+                style="width: 50px; height: 50px; object-fit: contain; vertical-align: middle; border: none; padding: 8px 0; cursor: pointer"
+                :src="scope.row.pic"
+                @click="openFile(scope.row.pic)"
+              />
+            </div>
+          </template>
+        </el-table-column> -->
+              <el-table-column label="归属单位" prop="subsidiaryName" width="120" v-if="userInfo.subsidiaryId">
+                <template slot-scope="scope">
+                  <span v-if="scope.row.subsidiaryName">{{ scope.row.subsidiaryName }}</span>
+                  <span v-else>胜德集团</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="群组品号" prop="code" width="120"> </el-table-column>
+              <el-table-column label="群组品名" min-width="220">
+                <template slot-scope="scope">
+                  <div>
+                    <a style="color: #409eff; cursor: pointer" @click="clickProductName(scope.row)">{{ scope.row.nameChinese }}</a>
+                  </div>
+                </template>
+              </el-table-column>
+              <el-table-column label="产品来源" width="100" v-if="!selectStatus">
+                <template slot-scope="scope">
+                  <span v-if="scope.row.dataResource == 0">MES</span>
+                  <span v-else>万里牛</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="品牌" prop="brandName" width="100" />
+              <el-table-column label="型号" prop="productModelChinese" min-width="150" />
+              <el-table-column label="材质" prop="materialChinese" min-width="150" />
+              <el-table-column label="操作" align="center" width="120" fixed="right" v-if="!selectStatus">
+                <template slot-scope="scope">
+                  <div>
+                    <el-button
+                      type="text"
+                      v-if="!userInfo.subsidiaryId || (userInfo.subsidiaryId && userInfo.subsidiaryId === scope.row.subsidiaryId)"
+                      @click="handleUpdate(scope.row)"
+                      v-db-click
+                      >编辑</el-button
+                    >
+                  </div>
+                </template>
+              </el-table-column>
+            </el-table>
+            <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+          </div>
         </el-card>
       </el-col>
     </el-row>
@@ -245,6 +250,13 @@
         </div>
       </div>
     </el-dialog>
+
+    <el-dialog title="操作日志" v-if="openOperationLog" :visible.sync="openOperationLog" width="50%" append-to-body>
+      <OperationLog :operationLogKey="operationLogKey"></OperationLog>
+      <div style="text-align: center; margin-top: 20px">
+        <el-button @click="openOperationLog = false" v-db-click>关 闭</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -256,10 +268,11 @@ import Product from '@/views/AddOrModifiedProduct/Product'
 import ProductOne from '@/views/AddOrModifiedProduct/ProductOne'
 import ProductDetails from '@/views/shengde/product/management/details'
 import { getDetail } from '@/api/shengde/group/subcompany/subcompanyManagement/index.js'
+import OperationLog from '@/components/shengde/operationLog/index'
 
 export default {
   name: 'ProductManagement',
-  components: { Product, ProductOne, ProductDetails },
+  components: { Product, ProductOne, ProductDetails, OperationLog },
   props: {
     selectStatus: {
       type: Boolean,
@@ -331,6 +344,8 @@ export default {
       errMsg: '',
       openImportExcel: false,
       actionProduct: process.env.VUE_APP_ACTION_PRODUCT_URL,
+      openOperationLog: false,
+      operationLogKey: 20,
     }
   },
   created() {