spring
2025-04-01 9bf2a515f5ede3acd76ac9312132d49b2e97a44c
可靠性计划详情页编写
已修改4个文件
已添加1个文件
228 ■■■■■ 文件已修改
src/api/standard/standardLibrary.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/reliabilityPlan/index.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/reliabilityPlan/plan.vue 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/performance/manHour/workTimeConfig.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/standard/standardLibrary.js
@@ -92,7 +92,6 @@
  });
}
// é€šè¿‡æ£€éªŒæ ‡å‡†æŸ¥è¯¢æ£€éªŒé¡¹ç›®
export function selectStandardProductListByMethodId(query) {
  return request({
@@ -254,3 +253,12 @@
    params: query,
  });
}
// æ ‡å‡†æ ‘--审核
export function productListCheck(data) {
  return request({
    url: "/standardTree/productListCheck",
    method: "post",
    data: data,
  });
}
src/router/index.js
@@ -178,6 +178,26 @@
    ],
  },
  {
    // å¯é æ€§è®¡åˆ’
    path: "/reliabilityPlan",
    component: Layout,
    hidden: true,
    permissions: ["business:reliabilityPlan"],
    children: [
      {
        // è®¡åˆ’详情
        path: "plan",
        component: () => import("@/views/business/reliabilityPlan/plan"),
        name: "plan",
        meta: {
          title: "计划详情",
          activeMenu: "/business/reliabilityPlan",
          keepAlive: true,
        },
      },
    ],
  },
  {
    // ç”¨æˆ·ç®¡ç†
    path: "/system/user-auth",
    component: Layout,
src/views/business/reliabilityPlan/index.vue
@@ -169,7 +169,33 @@
              type: 'text',
              clickFun: (row) => {
                this.openAddDia('edit', row);
              }
              },
              disabled: (row) => {
                return row.state == 1
              },
            },
            {
              name: '计划',
              type: 'text',
              clickFun: (row) => {
                this.$router.push({
                  path: "/reliabilityPlan/plan", query: {
                    id: row.id,
                    type: '成品',
                    state: row.state
                  }
                });
              },
            },
            {
              name: '提交',
              type: 'text',
              clickFun: (row) => {
                this.openAddDia('submit', row);
              },
              disabled: (row) => {
                return row.state == 1
              },
            },
            {
              name: '审核',
@@ -239,6 +265,29 @@
              }
            },
            {
              name: '计划',
              type: 'text',
              clickFun: (row) => {
                this.$router.push({
                  path: "/reliabilityPlan/plan", query: {
                    id: row.id,
                    type: '原辅材',
                    state: row.state
                  }
                });
              },
            },
            {
              name: '提交',
              type: 'text',
              clickFun: (row) => {
                this.openAddDia('submit', row);
              },
              disabled: (row) => {
                return row.state == 1
              },
            },
            {
              name: '审核',
              type: 'text',
              clickFun: (row) => {
src/views/business/reliabilityPlan/plan.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,136 @@
<template>
  <div class="app-container">
    <div class="search">
      <span></span>
      <div class="btn">
        <el-button type="primary" size="small" @click="openAdd" v-if="planState != 1">新增</el-button>
        <el-button type="primary" size="small" @click="isEdit = true" v-if="planState != 1">编辑</el-button>
        <el-button type="primary" size="small" @click="save" :loading="saveLoading" v-if="planState != 1">保存</el-button>
        <el-button size="small" @click="goback">返回</el-button>
      </div>
    </div>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="检测项" width="180">
      </el-table-column>
      <el-table-column prop="name" label="测试标准" width="180">
        <template slot-scope="scope">
          <el-select v-model="scope.row.name" placeholder="请选择" v-if="isEdit" size="small">
            <el-option v-for="item in standardList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
          <span v-else>{{ scope.row.name }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="address" label="频次">
        <template slot-scope="scope">
          <el-select v-model="scope.row.name" placeholder="请选择" v-if="isEdit" size="small">
            <el-option v-for="item in dict.type.planned_frequency" :key="item.value" :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
          <span v-else>{{ scope.row.name }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="address" label="备注">
        <template slot-scope="scope">
          <el-input size="small" placeholder="请输入" v-model="scope.row.address" v-if="isEdit">
          </el-input>
          <span v-else>{{ scope.row.address }}</span>
        </template>
      </el-table-column>
      <el-table-column fixed="right" label="操作" width="100" v-if="planState != 1">
        <template slot-scope="scope">
          <el-button type="text" size="small" @click="handleDelete(scope.row)" style="color: red;">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <el-dialog title="新增" :visible.sync="addDia" width="500px">
      <el-form :model="addForm" ref="addForm" :rules="addRules" label-position="right" label-width="120px">
        <el-form-item label="检验项" prop="name">
          <el-select v-model="addForm.name" placeholder="请选择" size="small" style="width: 100%;">
            <el-option v-for="item in itemList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="测试标准" prop="number">
          <el-select v-model="addForm.name" placeholder="请选择" size="small" style="width: 100%;">
            <el-option v-for="item in standardList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="频次" prop="number">
          <el-select v-model="addForm.name" placeholder="请选择" size="small" style="width: 100%;">
            <el-option v-for="item in dict.type.planned_frequency" :key="item.value" :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="备注" prop="number">
          <el-input size="small" placeholder="请输入" v-model="addForm.address">
          </el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addDia = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="submitProduct('addForm')">ç¡® è®¤</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
export default {
  dicts: ["planned_frequency"],
  data() {
    return {
      tableData: [
        {}
      ],
      isEdit: false,
      standardList: [],//标准列表
      saveLoading: false,
      addForm: {},
      addRules: {
        name: [{ required: true, message: "请输入检验项", trigger: "blur" }],
      },
      addDia: false,
      itemList: [],//检验项列表
      planId: null,//主计划表id
      planType: null,//主计划表类型
      planState: null,//主计划表审核状态
    }
  },
  mounted() {
    const { id, type, state } = this.$route.query
    this.planId = id;
    this.planType = type;
    this.planState = state
  },
  methods: {
    // åˆ é™¤
    handleDelete(row) { },
    // ä¿å­˜
    save() {
      this.saveLoading = true;
      this.isEdit = false
    },
    goback() {
      this.$tab.closePage();
    },
    openAdd() {
      this.addForm = {}
      this.addDia = true;
    },
    submitProduct() { }
  }
}
</script>
<style scoped>
.search {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
</style>
src/views/performance/manHour/workTimeConfig.vue
@@ -5,17 +5,18 @@
        <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
          <el-form-item label="编号" prop="number">
            <el-input size="small" placeholder="请输入" clearable v-model="queryParams.number"
                      @keyup.enter.native="refreshTable()"></el-input>
              @keyup.enter.native="refreshTable()"></el-input>
          </el-form-item>
          <el-form-item label="实验室" prop="laboratory">
            <el-select v-model="queryParams.laboratory" placeholder="全部" size="small" @change="refreshTable()" clearable>
            <el-select v-model="queryParams.laboratory" placeholder="全部" size="small" @change="refreshTable()"
              clearable>
              <el-option v-for="item in laboratoryList" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="部门" prop="department">
            <el-input size="small" placeholder="请输入" clearable v-model="queryParams.department"
                      @keyup.enter.native="refreshTable()"></el-input>
              @keyup.enter.native="refreshTable()"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" size="mini" @click="refreshTable">查询</el-button>
@@ -25,7 +26,7 @@
      </div>
      <div>
        <el-button size="small" type="primary" @click="openAdd('新增')"
                   v-if="checkPermi(['performance:manHour:workTimeConfig:add'])">新 å¢ž</el-button>
          v-if="checkPermi(['performance:manHour:workTimeConfig:add'])">新 å¢ž</el-button>
      </div>
    </div>
    <div class="table">
@@ -275,7 +276,7 @@
      })
        .then(() => {
          deleteAuxiliaryWorkingHours({ id: row.id }).then((res) => {
            if (res.code == 200){
            if (res.code == 200) {
              this.$message.success("删除成功");
              this.refresh();
            }