王震
2023-12-27 b1dbfd44f6bafaa4d24e0c1c3a0f7ae548e77f60
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改23个文件
628 ■■■■ 文件已修改
src/page/index/top/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/admin/user/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/param/param-form.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/part/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/staff/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/common/part.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/common/ztt-table.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/equipment/index.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/metering/index.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/auto-operationtask.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/index.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/productorder-form.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/masterproductionschedule/index.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/operationtask/operationtask-form.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/productrecord-tab.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/Packaging_ledger/index.vue 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/packageinspect/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processconfiguration/index.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/teststandard/index.vue 164 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/document/document-form.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/document/teststandard.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/structure/index.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/page/index/top/index.vue
@@ -25,7 +25,7 @@
        </div>
      </el-tooltip> -->
      <el-tooltip
        v-if="showLock"
        v-if="showLock && permissions.product_work_bench"
        effect="dark"
        content="工作台"
        placement="bottom">
@@ -139,6 +139,7 @@
        showColor: state => state.common.showColor
      }),
      ...mapGetters([
        'permissions',
        'userInfo',
        'isFullScreen',
        'tagWel',
src/views/admin/user/index.vue
@@ -222,7 +222,7 @@
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        url: '/mes/user/upload',
        Download: true,
        download: true,
        fileName: '用户模板'
      },
      importDialogVisible: false,
src/views/basic/param/param-form.vue
@@ -13,7 +13,7 @@
      class="l-mes"
    >
      <el-form-item label="参数编号" prop="code">
        <el-input v-model="dataForm.code" placeholder="参数编号"></el-input>
        <el-input v-model="dataForm.code" placeholder="参数编号" disabled></el-input>
      </el-form-item>
      <el-form-item label="参数项" prop="parameterItem">
        <el-input
@@ -99,9 +99,6 @@
        dict: ''
      },
      dataRule: {
        code: [
          { required: true, message: '参数编号不能为空', trigger: 'blur' }
        ],
        parameterItem: [
          { required: true, message: '参数项不能为空', trigger: 'blur' }
        ],
src/views/basic/part/index.vue
@@ -85,6 +85,8 @@
      uploadInfo: {
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        download: true,
        fileName: '已申请物料编码模板',
        url: '/mes/part/upload'
      },
      prelang: 'operation',
src/views/basic/staff/index.vue
@@ -43,7 +43,7 @@
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        url: '/mes/staff/upload',
        Download: true,
        download: true,
        fileName: '员工模板'
      },
      prelang: 'operation',
src/views/common/part.vue
@@ -1,7 +1,7 @@
<template>
  <el-dialog
    v-diadrag
    width="70%"
    width="75%"
    title="零件"
    top="5vh"
    :visible.sync="innerVisible"
src/views/common/ztt-table.vue
@@ -508,9 +508,9 @@
              <div class="el-upload__tip" slot="tip" >
                只能上传xlsx/xls文件,且不超过10M<el-button
                  type="text"
                  style="font-size:12px;"
                  style="font-size:14px;text-decoration: underline;"
                  @click="downDataTemplate(uploadInfo.fileName)"   
                  v-if="uploadInfo.Download"
                  v-if="uploadInfo.download"
                  >下载模板</el-button
                >
              </div>
src/views/equipment/equipment/index.vue
@@ -225,40 +225,8 @@
            searchInfoType: 'text'
          }
        ],
        toolbar: [
          {
            text: '新增',
            type: 'primary',
            fun: this.addOrUpdateHandle
          },
          {
              text: '标签打印',
              type: 'primary',
              fun: this.labelPrint
            },
          {
            text: '同步',
            type: 'primary',
            loading: false,
            fun: this.pullEquipFun
          }
        ],
        operator: [
          {
            text: '修改',
            icon: 'el-icon-edit',
            type: 'text',
            size: 'small',
            fun: this.addOrUpdateHandle
          },
          {
            text: '删除',
            icon: 'el-icon-delete',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
          }
        ],
        toolbar: [],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -279,6 +247,49 @@
    ...mapGetters(['permissions'])
  },
  created() {
    this.uploadInfo.isShow = this.permissions.equipment_equipment_upload
    if(this.permissions.equipment_equipment_add){
      this.table.toolbar.push({
            text: '新增',
            type: 'primary',
            fun: this.addOrUpdateHandle
          })
    }
    if(this.permissions.equipment_equipment_labelprint){
      this.table.toolbar.push({
              text: '标签打印',
              type: 'primary',
              fun: this.labelPrint
            })
    }
    if(this.permissions.equipment_equipment_sync){
      this.table.toolbar.push({
            text: '同步',
            type: 'primary',
            loading: false,
            fun: this.pullEquipFun
          })
    }
    let arr = []
    if(this.permissions.equipment_equipment_edit){
      arr.push({
            text: '修改',
            icon: 'el-icon-edit',
            type: 'text',
            size: 'small',
            fun: this.addOrUpdateHandle
          })
    }
    if(this.permissions.equipment_equipment_del){
      arr.push({
            text: '删除',
            icon: 'el-icon-delete',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
          })
    }
    this.table.operator = arr.length>0 ? arr : null
    remote('work_shop').then((response) => {
      if (response.data.code === 0) {
        this.workshopList = response.data.data
src/views/equipment/metering/index.vue
@@ -68,7 +68,7 @@
        multipleSelection: [],
        uploadInfo: {
          // 是否展示上传EXCEL以及对应的url
          Download:false,
          download:false,
         isShow: true,
          url: '/mes/equipmentDevice/upload'
        },
@@ -261,16 +261,6 @@
            },
          ],
          toolbar: [
            {
              text: '新增',
              type: 'primary',
              fun: this.addOrUpdateHandle
            },
            {
              text: '标签打印',
              type: 'primary',
              fun: this.labelPrint
            },
            // {
            //   text: '同步',
            //   type: 'primary',
@@ -278,22 +268,7 @@
            //   fun: this.pullEquipFun
            // }
          ],
          operator: [
            {
              text: '修改',
              icon: 'el-icon-edit',
              type: 'text',
              size: 'small',
              fun: this.addOrUpdateHandle
            },
            {
              text: '删除',
              icon: 'el-icon-delete',
              type: 'text',
              size: 'small',
              fun: this.deleteHandle
            }
          ],
          operator: null,
          operatorConfig: {
            fixed: 'right',
            label: '操作',
@@ -315,6 +290,41 @@
      ...mapGetters(['permissions'])
    },
    created() {
      this.uploadInfo.isShow = this.permissions.equipment_metering_upload
      if(this.permissions.equipment_metering_add){
        this.table.toolbar.push({
              text: '新增',
              type: 'primary',
              fun: this.addOrUpdateHandle
            })
      }
      if(this.permissions.equipment_metering_labelprint){
        this.table.toolbar.push({
                text: '标签打印',
                type: 'primary',
                fun: this.labelPrint
              })
      }
      let arr = []
      if(this.permissions.equipment_metering_edit){
        arr.push({
              text: '修改',
              icon: 'el-icon-edit',
              type: 'text',
              size: 'small',
              fun: this.addOrUpdateHandle
            })
      }
      if(this.permissions.equipment_metering_del){
        arr.push({
              text: '删除',
              icon: 'el-icon-delete',
              type: 'text',
              size: 'small',
              fun: this.deleteHandle
            })
      }
      this.table.operator = arr.length>0 ? arr : null
      remote('work_shop').then((response) => {
        if (response.data.code === 0) {
          this.workshopList = response.data.data
src/views/plan/manufacturingorder/auto-operationtask.vue
@@ -25,7 +25,7 @@
        prop="operationName"
        label="工序"
        align="center"
        width="80px"
        min-width="80px"
        show-overflow-tooltip
      >
      </el-table-column>
@@ -33,8 +33,7 @@
        prop="workCenter"
        label="工作中心"
        align="center"
        width="200px"
        show-overflow-tooltip
        min-width="220px"
      >
        <template slot-scope="scope">
          <el-select
@@ -54,11 +53,12 @@
          </el-select>
        </template>
      </el-table-column>
      <el-table-column prop="workstationId" label="工作站" align="center">
      <el-table-column prop="workstationId" min-width="150" label="工作站" align="center">
        <template slot-scope="scope">
          <el-select
            v-model="scope.row.workstationId"
            filterable
            :visible-change="initWorkStation"
            placeholder="请选择工作站"
            style="width:100%"
            clearable
@@ -97,6 +97,7 @@
        prop="partNo"
        label="零件号"
        align="center"
        min-width="150"
        show-overflow-tooltip
      >
      </el-table-column>
@@ -104,10 +105,11 @@
        prop="partName"
        label="零件名称"
        align="center"
        min-width="150"
        show-overflow-tooltip
      >
      </el-table-column>
      <el-table-column prop="plannedQuantity" label="计划数量" align="center">
      <el-table-column prop="plannedQuantity" min-width="100" label="计划数量" align="center">
        <template slot-scope="scope">
          <el-input
            v-model="scope.row.plannedQuantity"
@@ -134,7 +136,7 @@
          <el-input v-model="scope.row.discNum"></el-input>
        </template>
      </el-table-column> -->
      <el-table-column prop="remark" label="备注" align="center">
      <el-table-column prop="remark" min-width="150" label="备注" align="center">
        <template slot-scope="scope">
          <el-input v-model="scope.row.remark"></el-input>
        </template>
@@ -143,7 +145,7 @@
        prop="plannedStartDate"
        label="计划开始时间"
        align="center"
        width="200px"
        min-width="200px"
      >
        <template slot-scope="scope">
          <el-date-picker
@@ -160,7 +162,7 @@
        prop="plannedFinishDate"
        label="计划完成时间"
        align="center"
        width="200px"
        min-width="200px"
      >
        <template slot-scope="scope">
          <el-date-picker
@@ -177,7 +179,7 @@
        prop="manufactureAttr"
        label="制造属性"
        align="center"
        width="100px"
        min-width="150px"
        show-overflow-tooltip
      >
        <template slot-scope="scope">
@@ -197,7 +199,7 @@
          </el-select>
        </template>
      </el-table-column>
      <el-table-column label="操作" width="100" align="center">
      <el-table-column label="操作" fixed="right" width="100" align="center">
        <template slot-scope="scope">
          <el-button @click="copyTask(scope.row)" type="text" size="small"
            >复制</el-button
@@ -274,6 +276,15 @@
    this.getManufactureAttrs('manufacture_attr_type')
  },
  methods: {
    initWorkStation(opName,arr){
      let workId = null
      arr.forEach(ele=>{
        if(ele.name.indexOf(opName)>-1){
          workId = ele.id
        }
      })
      return workId
    },
    getManufactureAttrs(type) {
      remote(type).then((response) => {
        const code = response.data.code
@@ -544,7 +555,7 @@
                this.operationData.push({
                  operationName: item.operationName,
                  workCenter: item.workCenter,
                  workstationId: item.workstationId,
                  workstationId: item.workstationId ? item.workstationId : this.initWorkStation(item.operationName,item.workstations),
                  locationId: item.locationId,
                  partNo: item.partNo,
                  partName: item.partName,
src/views/plan/manufacturingorder/index.vue
@@ -451,6 +451,16 @@
        // 标题
        column: [
          {
            minWidth: '120',
            prop: 'moNo',
            label: '车间订单号',
            sort: true,
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text',
            render: { fun: this.addOrUpdateHandle }
          },
          {
            minWidth: '140',
            prop: 'state',
            label: '状态',
@@ -591,16 +601,7 @@
              return this.bomTypeDbOptions
            }
          },
          {
            minWidth: '120',
            prop: 'moNo',
            label: '车间订单号',
            sort: true,
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text',
            render: { fun: this.addOrUpdateHandle }
          },
          {
            minWidth: '120',
            prop: 'manufactureAttr',
src/views/plan/manufacturingorder/productorder-form.vue
@@ -478,7 +478,7 @@
                          </el-table>
                        </el-card>
                      </el-tab-pane>
                      <el-tab-pane
                     <!--  <el-tab-pane
                        label="检测标准"
                        key="tb1"
                        id="tb1"
@@ -491,7 +491,7 @@
                          :moRoutingOperationId="moRoutingOperationId"
                          @refreshTestStandardInfo="refreshTestStandardInfo"
                        ></testStandardTable>
                      </el-tab-pane>
                      </el-tab-pane> -->
                      <!-- <el-tab-pane
                        label="抽检规则"
                        key="tb2"
src/views/plan/masterproductionschedule/index.vue
@@ -595,7 +595,7 @@
        operatorConfig: {
          fixed: 'right',
          label: '操作',
          width: 140,
          width: 100,
          minWidth: 100
        }
      },
@@ -644,14 +644,6 @@
            type: 'text',
            size: 'small',
            fun: this.searchMasterPlanSourceHandle
          })
    }
    if(this.permissions.plan_masterproductionschedule_del){
      optionList.push({
            text: '作废',
            type: 'text',
            size: 'small',
            fun: this.deleteMainPlan
          })
    }
    if(optionList.length>0){
@@ -726,22 +718,6 @@
        }
      }
      return ''
    },
    // 删除
    deleteMainPlan(row) {
      this.$confirm('是否确认作废ID为' + row.id, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        closeOnClickModal: false,
        type: 'warning'
      })
        .then(function() {
          return delObj(row.id)
        })
        .then((data) => {
          this.$message.success('删除成功')
          this.getData()
        })
    },
    // 查看生产计划来源
    searchMasterPlanSourceHandle(row) {
src/views/plan/operationtask/operationtask-form.vue
@@ -671,7 +671,7 @@
        }
      })
    },
    changeWorkCenter() {
    changeWorkCenter(opName) {
      this.workstations = []
      this.dataForm.workstationId = null
      this.locationOptions = []
@@ -681,9 +681,9 @@
        this.$refs.ganttIndex.init(this.workCenter)
      })
      this.changeWorkCenterAction()
      this.changeWorkCenterAction(opName)
    },
    changeWorkCenterAction() {
    changeWorkCenterAction(opName) {
      if (this.dataForm.workCenter) {
        const queryParamStation = Object.assign({
          workCenter: this.dataForm.workCenter
@@ -692,6 +692,15 @@
        getAllWorkstationList(queryParamStation).then((response) => {
          const resData = response.data.data
          if (resData && resData.length > 0) {
            let obj = null
            resData.forEach((ele)=>{
              if(ele.name.indexOf(opName)>-1){
                obj = ele
              }
            })
            if(obj){
              this.dataForm.workstationId = obj.id
            }
            this.workstations = resData
          }
        })
@@ -945,11 +954,10 @@
      this.dataForm.operationName = routingOperation.operationName
      this.dataForm.workCenter = routingOperation.workCenter
      this.changeWorkCenter()
      this.changeWorkCenter(routingOperation.operationName)
      this.dataForm.routingOperationId =
        routingOperation.technologyRoutingOperationId
    },
    // 根据工作站切换库位
    selectLocationByWorkstation() {
      this.locationOptions = []
src/views/product/workbench/productrecord-tab.vue
@@ -120,12 +120,12 @@
                  :show-overflow-tooltip="true"
                >
                  <template slot="header" slot-scope="scope">
                    <div style="line-height: 14px;">SN号</div>
                    <div style="line-height: 14px;">批次号</div>
                    <div class="th" @click.stop>
                      <template>
                        <el-input
                          type="text"
                          placeholder="SN号"
                          placeholder="批次号"
                          v-model="searchContent.outBatchNo"
                          clearable
                          size="mini"
@@ -280,7 +280,7 @@
                </el-table-column>
              </el-table>
            </el-tab-pane>
            <el-tab-pane label="附件">
            <!-- <el-tab-pane label="附件">
              <el-upload
                ref="upload"
                action="/mes/operationTask/upload"
@@ -292,7 +292,7 @@
                :auto-upload="false"
                list-type="picture"
              ></el-upload>
            </el-tab-pane>
            </el-tab-pane> -->
          </el-tabs>
        </div>
      </div>
src/views/quality/Packaging_ledger/index.vue
@@ -33,6 +33,7 @@
                    </el-col>
                    <el-col :span="2">
                    <el-button
                        v-if="permissions.quality_packaging_ledger_info_save"
                        style="float: right; padding: 3px 0"
                        type="text"
                        @click="addpreserve"
@@ -41,7 +42,7 @@
                    </el-col>
                    <el-col :span="2">
                    <el-button
                        v-if="!isCheck"
                        v-if="!isCheck && permissions.quality_packaging_ledger_info_add"
                        style="float: right; padding: 3px 0"
                        type="text"
                        @click="relateOperationParam()"
@@ -110,6 +111,7 @@
                width="80"
              ></el-table-column>
              <el-table-column
                v-if="permissions.quality_packaging_ledger_info_operate"
                fixed="right"
                label="操作"
                align="center"
@@ -171,6 +173,7 @@
import packfromadd from './pack-fromadd.vue'
import vueQr from 'vue-qr'
import PrintJS from 'print-js'
import { mapGetters } from 'vuex'
export default {
    data(){
        return {
@@ -270,33 +273,8 @@
                    searchInfoType: 'datetimerange',
                },
                ],
                toolbar: [
                    {
                      text: '新增',
                      type: 'primary',
                      fun: this.addOrUpdateHandle
                    },
                    {
                      text: '标签打印',
                      type: 'primary',
                      fun: this.printLabel
                    },
                ],
                operator: [
                    {
                      text: '检验',
                      icon: 'el-icon-position',
                      type: 'text',
                      size: 'small',
                      fun: this.check
                    },{
                      text: '删除',
                      icon: 'el-icon-delete',
                      type: 'text',
                      size: 'small',
                      fun: this.deleteHandle
                    }
                  ],
                toolbar: [],
                operator: null,
                  operatorConfig: {
                    fixed: 'right',
                    label: '操作',
@@ -312,6 +290,45 @@
      packfromadd,
      vueQr
    },
    created(){
      if(this.permissions.quality_packaging_ledger_add){
          this.table.toolbar.push({
            text: '新增',
            type: 'primary',
            fun: this.addOrUpdateHandle
          })
      }
      if(this.permissions.quality_packaging_ledger_labelprint){
          this.table.toolbar.push({
            text: '标签打印',
            type: 'primary',
            fun: this.printLabel
          })
      }
      let arr = []
      if(this.permissions.quality_packaging_ledger_inspect){
        arr.push({
              text: '检验',
              icon: 'el-icon-position',
              type: 'text',
              size: 'small',
              fun: this.check
            })
      }
      if(this.permissions.quality_packaging_ledger_del){
        arr.push({
              text: '删除',
              icon: 'el-icon-delete',
              type: 'text',
              size: 'small',
              fun: this.deleteHandle
            })
      }
      this.table.operator = arr.length>0 ? arr : null
    },
    computed:{
      ...mapGetters(['permissions'])
    },
    watch: {
      diaPrintTab(newVal){
        if(!newVal){
src/views/quality/packageinspect/index.vue
@@ -142,13 +142,7 @@
                    },
                ],
                toolbar: [],
                operator: [
                {
                    text: '作废',
                    type: 'text',
                    size: 'small',
                    fun: this.deleteHandle
                }],
                operator: null,
                operatorConfig: {
                fixed: 'right',
                label: '操作',
@@ -161,7 +155,16 @@
    components: {
        ttable,
    },
    created() { },
    created() {
        if(this.permissions.quality_packageinspect_del){
            this.table.operator = [{
                    text: '作废',
                    type: 'text',
                    size: 'small',
                    fun: this.deleteHandle
                }]
        }
     },
    computed: {
        ...mapGetters(['permissions'])
    },
@@ -193,6 +196,10 @@
        },
        // 新增 / 修改
        addOrUpdateHandle(row) {
            if(!this.permissions.quality_packageinspect_edit && row.id!=null){
                this.$message.error("该角色没有操作权限")
                return
            }
            this.$router.push({
                name: 'packageInspectForm',
                query: { 
src/views/quality/processconfiguration/index.vue
@@ -272,26 +272,7 @@
          //   fun: this.handleExport
          // },
        ],
        operator: [
          // {
          //   text: '删除',
          //   type: 'text',
          //   size: 'small',
          //   fun: this.deleteHandle
          // },
          {
            text: '提交审核',
            type: 'text',
            size: 'small',
            fun: this.Submitreview
          },
          {
            text: '审核结果',
            type: 'text',
            size: 'small',
            fun: this.AuditResult
          }
        ],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -314,6 +295,24 @@
  },
  created() {
    // this.getType()
    let arr = []
    if(this.permissions.quality_processconfiguration_submit){
      arr.push({
            text: '提交审核',
            type: 'text',
            size: 'small',
            fun: this.Submitreview
          })
    }
    if(this.permissions.quality_processconfiguration_result){
        arr.push({
            text: '审核结果',
            type: 'text',
            size: 'small',
            fun: this.AuditResult
          })
    }
    this.table.operator = arr.length>0 ? arr : null
  },
  methods: {
    getQueryParam(data){
src/views/quality/teststandard/index.vue
@@ -26,6 +26,7 @@
                </el-col>
                <el-col :span="8" :offset="4">
                  <el-button
                    v-if="permissions.quality_teststandard_layout"
                    style="float: right; padding: 3px 0"
                    type="text"
                    @click="beginItemLayOut"
@@ -39,7 +40,7 @@
                    type="text"
                    :disabled="isSubmit"
                    v-thinclick="`dataFormTestStandardParam`"
                    v-if="editable"
                    v-if="editable && permissions.quality_teststandard_save"
                    >保存
                  </el-button>
                </el-col>
@@ -48,7 +49,7 @@
                    style="float: right; padding: 3px 0"
                    type="text"
                    @click="relateOperationParam()"
                    v-if="editable"
                    v-if="editable && permissions.quality_teststandard_insert"
                    >添加
                  </el-button>
                </el-col>
@@ -191,22 +192,22 @@
                </template>
              </el-table-column><el-table-column
                label="测试方法"
                prop="purpose"
                align="center"
                width="80"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.purpose"></el-input>
                </template>
              </el-table-column>
              <el-table-column
                label="测试目的"
                prop="method"
                align="center"
                width="80"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.method"></el-input>
                </template>
              </el-table-column>
              <el-table-column
                label="测试目的"
                prop="purpose"
                align="center"
                width="80"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.purpose"></el-input>
                </template>
              </el-table-column>
@@ -232,7 +233,7 @@
              </el-table-column> -->
              <el-table-column label="单位" prop="unit" align="center" />
              <!--<el-table-column label="参数类型" prop="type" align="center" :formatter="getParam"/>-->
              <el-table-column label="操作" align="center">
              <el-table-column label="操作" align="center" v-if="permissions.quality_teststandard_table_operate">
                <template slot-scope="scope">
                  <el-button
                    type="text"
@@ -308,6 +309,7 @@
import { copyTestStandard } from '../../../api/quality/teststandard'
import EditParamForm from './edit-param-form'
import itemLayout from './item-layout'
import { mapGetters } from 'vuex'
export default {
  data() {
    return {
@@ -424,71 +426,8 @@
            searchInfoType: 'text'
          }
        ],
        toolbar: [
          {
            text: '新增',
            type: 'primary',
            fun: this.addOrUpdateHandle
          },
          {
            text: '复制',
            type: 'primary',
            fun: this.copy
          },
          {
            text: '批准',
            fun: () => {
              this.changeState('accept')
            },
            disabled: false,
            permitArr: []
          },
          {
            text: '拒绝',
            fun: () => {
              this.changeState('reject')
            },
            disabled: false,
            permitArr: []
          },
          {
            text: '撤销',
            fun: () => {
              this.changeState('cancel')
            },
            disabled: false,
            permitArr: []
          },
          {
            text: '失效',
            fun: () => {
              this.changeState('disabled')
            },
            disabled: false,
            permitArr: []
          },
          {
            text: '删除',
            fun: () => {
              this.deleteAll()
            },
            disabled: false,
            permitArr: []
          }
        ],
        operator: [
          {
            text: '删除',
            icon: 'el-icon-delete',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
            // show: {
            //   val: ['01draft'],
            //   key: 'state'
            // }
          }
        ],
        toolbar: [],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -557,6 +496,7 @@
    itemLayout
  },
  computed: {
    ...mapGetters(['permissions']),
    editable: function() {
      if (!this.currentTestStandard) {
        return true
@@ -575,6 +515,74 @@
    this.rowDrop()
  },
  created() {
    if(this.permissions.quality_teststandard_add){
      this.table.toolbar.push({
        text: '新增',
        disabled: false,
        type: 'primary',
        fun: ()=>{this.addOrUpdateHandle()},
        permitArr: []
      })
    }
    if(this.permissions.quality_teststandard_copy){
      this.table.toolbar.push({
        text: '复制',
        type: 'primary',
        disabled: false,
        fun: ()=>{this.copy()},
        permitArr: []
      })
    }
    if(this.permissions.quality_teststandard_accept){
      this.table.toolbar.push({
        text: '批准',
        disabled: false,
        fun: ()=>{this.changeState('accept')},
        permitArr: [],
      })
    }
    if(this.permissions.quality_teststandard_revoke){
      this.table.toolbar.push({
        text: '拒绝',
        disabled: false,
        fun: ()=>{this.changeState('reject')},
        permitArr: [],
      })
    }
    if(this.permissions.quality_teststandard_cancel){
      this.table.toolbar.push({
        text: '撤销',
        disabled: false,
        fun: () => {this.changeState('cancel')},
        permitArr: [],
      })
    }
    if(this.permissions.quality_teststandard_lose){
      this.table.toolbar.push({
        text: '失效',
        disabled: false,
        fun: () => {this.changeState('disabled')},
        permitArr: [],
      })
    }
    if(this.permissions.quality_teststandard_del){
      this.table.toolbar.push({
        text: '批量删除',
        type:'primary',
        disabled: false,
        permitArr: [],
        fun: ()=>{this.deleteAll()},
      })
    }
    if(this.permissions.quality_teststandard_del){
      this.table.operator = [{
            text: '删除',
            icon: 'el-icon-delete',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
          }]
    }
    this.initDirParamType()
    this.initDirInspectionType()
  },
src/views/technology/document/document-form.vue
@@ -535,7 +535,7 @@
                                :richContent="ele.remark"
                              ></rich-text>
                            </el-tab-pane> -->
                            <el-tab-pane label="检测标准">
                            <!-- <el-tab-pane label="检测标准">
                              <checkStandardTable
                                ref="documentTestStandardTable"
                                :dataFormId="dataForm.id"
@@ -554,7 +554,7 @@
                                  refreshTestStandardInfo
                                "
                              ></checkStandardTable>
                            </el-tab-pane>
                            </el-tab-pane> -->
                            <!-- <el-tab-pane label="抽检规则">
                              <div>
                                <div style="padding: 0px 20px;">
src/views/technology/document/teststandard.vue
@@ -42,6 +42,7 @@
            align="center"
          />
          <el-table-column label="单位" prop="unit" align="center" />
          <el-table-column label="测试方法" prop="method" align="center" />
        </el-table>
      </el-col>
    </el-row>
src/views/technology/structure/index.vue
@@ -6,7 +6,6 @@
        @handleSelectionChange="handleSelectionChange"
        @customUploadPage="structureImport"
        :uploadInfo="uploadInfo"
        :customUpload="customUpload"
        :prelang="prelang"
        :options="options"
        :ajaxFun="ajaxFun"
@@ -19,47 +18,6 @@
          v-if="permissions.technology_structure_copy">复制</el-button>
        </template>
      </ttable>
      <!-- 弹窗, 新增 / 修改 -->
      <el-dialog
        title="导入"
        :visible.sync="importStructureVisible"
        width="50%"
      >
        <span>
          <div style="display:flex;justify-content:space-around;">
            <div>
              <el-upload
                style="margin-left:8px;display: inline;"
                class="upload-demo"
                drag
                :headers="headers"
                :action="zhuangbeiUploadInfo.url"
                :beforeUpload="beforeAvatarUpload"
                :limit="1"
                :show-file-list="false"
                :file-list="zhuangbeifileList"
                :data="zhuangbeiUploadInfo.uploadData"
                :on-success="zhuangbeiFileSuccessUploadScan"
                :on-error="handleError"
                accept=".xlsx,.xls,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
                :auto-upload="true"
                ref="zhuangbeiUploadScan"
                multiple
              >
                <i class="el-icon-upload"></i>
                <div class="el-upload__text"><em>导入产品结构</em></div>
                <div class="el-upload__tip" slot="tip">
                  只能上传xlsx/xls文件,且不超过10M<el-button
                    type="text"
                    style="font-size:12px;"
                    ></el-button
                  >
                </div>
              </el-upload>
            </div>
          </div>
        </span>
      </el-dialog>
    </basic-container>
  </div>
</template>
@@ -98,6 +56,8 @@
      uploadInfo: {
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        fileName: '产品结构模板',
        download: true,
        url: '/mes/structure/uploadExcelPlus'
      },
      prelang: 'structure',
@@ -268,11 +228,6 @@
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        url: '/mes/structure/upload'
      },
      zhuangbeiUploadInfo: {
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        url: '/mes/structure/uploadExcelPlus'
      },
      zhuangbeifileList: [],
      shepinfileList: [],
vue.config.js
@@ -5,7 +5,7 @@
// const url = 'http://192.168.32.45:9999'
const url = 'http://192.168.2.63:9999'
const url = 'http://192.168.2.7:9999'
// const url = 'http://localhost:9999'