yuyu
2023-08-15 80740c17e5c742d8de2d7b2c7493ebc7704ead4e
Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
已修改7个文件
已添加3个文件
1836 ■■■■ 文件已修改
src/api/CNAS/reviewAnnualPlan.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/urlEnum/personnel.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/urlEnum/satisfactionSurveys.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/reviewAnnualPlan/index.vue 632 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/satisfactionSurveys/index.vue 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/checkTheReport/index.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/planAssignments/index.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/reportAuditing/index.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/laboratory/ledger/index.vue 438 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/laboratory/personnel/index.vue 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/CNAS/reviewAnnualPlan.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
import request from '@/utils/request'
//查询审查计划
export function selectAllList(params) {
  return request({
    url: '/cnasAnnualPlan/selectAllList',
    method: 'get',
    params
  })
}
//新增审查计划
export function addCnasAnnualPlan(data) {
    return request({
      url: '/cnasAnnualPlan/addCnasAnnualPlan',
      method: 'post',
      data
    })
  }
  //上传附件
export function addAccessory(data) {
  return request({
    url: '/cnasAnnualPlan/addAccessory',
    method: 'post',
    data
  })
}
//删除审核年度计划
export function deleteCnasAnnualPlan(params) {
  return request({
    url: '/cnasAnnualPlan/deleteCnasAnnualPlan',
    method: 'get',
    params
  })
}
src/api/urlEnum/personnel.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
const baseurl='/user'
const url={
    "list_new_personnel": baseurl+"/list_new_personnel",//获取人员信息
}
export default{
    url
}
src/api/urlEnum/satisfactionSurveys.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
const baseurl='/cnasSatisfactionSurvey'
const url={
    "getCnasSatisfactionSurvey": baseurl+"/getCnasSatisfactionSurvey",//获取不合格品反馈
    "getFillNameAndId": baseurl+"/getFillNameAndId",//当前录入人
    "uploadFile": baseurl+"/uploadFile",//文件上传
    "addSurvey": baseurl+"/addSurvey",//满意度新增
}
export default{
    url
}
src/views/CNAS/reviewAnnualPlan/index.vue
@@ -1,5 +1,633 @@
<template>
    <div>
        å®¡æ ¸å¹´åº¦è®¡åˆ’
  <div class="content-main">
    <div class="top-bar">
      <el-form ref="form" :inline="true">
        <el-form-item>
          <el-date-picker
            v-model="input"
            class="input-form"
            type="month"
            placeholder="请选择查询日期"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="getData()">查询</el-button>
          <el-button type="primary" plain @click="resetData()">重置</el-button>
        </el-form-item>
      </el-form>
      <el-form class="rightBtn">
        <!-- ä¸Šä¼ é™„ä»¶ -->
        <el-form-item class="createBtn">
          <el-button
            type="primary"
            icon="el-icon-upload2"
            @click="
              dialogFormVisible1 = true;
              uploading = {};
              resetForm('uploading');
            "
            >上传附件</el-button
          >
          <el-dialog
            title="上传附件"
            :visible.sync="dialogFormVisible1"
            width="30%"
          >
            <el-form :model="uploading" :rules="rules1" ref="uploading">
              <el-form-item
                label="审核日期:"
                :label-width="formLabelWidth1"
                prop="auditTime"
                style="margin-bottom: 20px"
              >
                <el-date-picker
                  class="uploading-form"
                  v-model="uploading.auditTime"
                  type="date"
                  placeholder="请选择日期"
                  autocomplete="off"
                >
                </el-date-picker>
              </el-form-item>
              <el-form-item
                prop="accessoryFile"
                label="上传附件:"
                :label-width="formLabelWidth1"
              >
                <el-input
                  class="uploading-form"
                  v-model="uploading.accessoryFile"
                  autocomplete="off"
                  placeholder="请选择文件"
                ></el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footer">
              <el-button @click="dialogFormVisible1 = false">取 æ¶ˆ</el-button>
              <el-button type="primary" @click="submitUp('uploading')"
                >ç¡® å®š</el-button
              >
            </div>
          </el-dialog>
        </el-form-item>
        <!-- æ–°å¢žè®¡åˆ’ -->
        <el-form-item class="createBtn">
          <el-button
            type="primary"
            icon="el-icon-document-add"
            @click="
              dialogFormVisible2 = true;
              newly = {};
              resetForm('newly');
            "
            >新增计划</el-button
          >
          <el-dialog
            title="新增计划"
            :visible.sync="dialogFormVisible2"
            width="55%"
          >
            <el-form :model="newly" :rules="rules2" ref="newly">
              <!-- ç¬¬ä¸€è¡Œ -->
              <el-row class="newly-margin-bottom">
                <el-col :span="12">
                  <el-form-item
                    label="计划时间:"
                    :label-width="formLabelWidth2"
                    prop="planTime"
                  >
                    <el-date-picker
                      class="newly-form"
                      v-model="newly.planTime"
                      type="date"
                      placeholder="请选择计划日期"
                      autocomplete="off"
                    >
                    </el-date-picker>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item
                    label="部门:"
                    :label-width="formLabelWidth2"
                    prop="department"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.department"
                      placeholder="请选择部门"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <!-- ç¬¬äºŒè¡Œ -->
              <el-row class="newly-margin-bottom">
                <el-col :span="12">
                  <el-form-item
                    label="性质:"
                    :label-width="formLabelWidth2"
                    prop="auditType"
                  >
                    <el-select
                      class="newly-form"
                      v-model="newly.auditType"
                      placeholder="请选择性质"
                      autocomplete="off"
                    >
                      <el-option label="内审" value="0"></el-option>
                      <el-option label="管理评审" value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item
                    label="审核目的:"
                    :label-width="formLabelWidth2"
                    prop="auditPurpose"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.auditPurpose"
                      placeholder="请输入审核目的"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <!-- ç¬¬ä¸‰è¡Œ -->
              <el-row class="newly-margin-bottom">
                <el-col :span="12">
                  <el-form-item
                    label="审核组长:"
                    :label-width="formLabelWidth2"
                    prop="auditLeader"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.auditLeader"
                      placeholder="请输入审核组长"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item
                    label="审核范围:"
                    :label-width="formLabelWidth2"
                    prop="auditScope"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.auditScope"
                      placeholder="请输入审核范围"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <!-- ç¬¬å››è¡Œ -->
              <el-row class="newly-margin-bottom">
                <el-col :span="12">
                  <el-form-item
                    label="组员:"
                    :label-width="formLabelWidth2"
                    prop="auditEmp"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.auditEmp"
                      placeholder="请输入组员"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item
                    label="审核依据:"
                    :label-width="formLabelWidth2"
                    prop="auditPursuant"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.auditPursuant"
                      placeholder="请输入审核依据"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <!-- ç¬¬äº”行 -->
              <el-row class="newly-margin-bottom">
                <el-col :span="12">
                  <el-form-item
                    label="编制人:"
                    :label-width="formLabelWidth2"
                    prop="writeUser"
                  >
                    <el-input
                      class="newly-form"
                      v-model="newly.writeUser"
                      placeholder="请输入编制人"
                      autocomplete="off"
                    ></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item
                    label="审核日期:"
                    :label-width="formLabelWidth2"
                  >
                    <el-date-picker
                      class="newly-form"
                      v-model="newly.auditTime"
                      type="date"
                      placeholder="请选择审核日期"
                      autocomplete="off"
                    >
                    </el-date-picker>
                  </el-form-item>
                </el-col>
              </el-row>
            </el-form>
            <div slot="footer" class="dialog-footer">
              <el-button @click="dialogFormVisible2 = false">取 æ¶ˆ</el-button>
              <el-button type="primary" @click="submitAddData('newly')"
                >ç¡® å®š</el-button
              >
            </div>
          </el-dialog>
        </el-form-item>
        <!-- å¯¼å‡ºå¹´åº¦è®¡åˆ’ -->
        <el-form-item class="createBtn">
          <el-button type="primary" icon="el-icon-document-checked"
            >导出年度计划</el-button
          >
        </el-form-item>
        <el-form-item class="createBtn">
          <el-button type="primary" icon="el-icon-document-checked"
            >导出内部实施计划</el-button
          >
        </el-form-item>
      </el-form>
    </div>
    <div class="library-table">
      <div class="table-box">
        <el-table
          ref="auditTable"
          border
          :max-height="800"
          :cell-style="{ textAlign: 'center' }"
          :header-cell-style="{
            border: '0px',
            background: '#f5f7fa',
            color: '#606266',
            boxShadow: 'inset 0 1px 0 #ebeef5',
            textAlign: 'center',
          }"
          :data="auditTable"
          style="width: 100%"
        >
          <el-table-column type="index" label="序号" min-width="30px">
            <template>
              <el-checkbox type="checkbox" />
            </template>
          </el-table-column>
          <el-table-column prop="year" label="年度" min-width="60px" />
          <el-table-column prop="month" label="月度" min-width="60px" />
          <el-table-column prop="planTime" label="计划时间" min-width="100px" />
          <el-table-column prop="auditType" label="性质" min-width="80px">
            <template slot-scope="scope">
              <span>
                {{ scope.row.auditType == 0 ? "内审" : "管理评审" }}
              </span>
            </template>
          </el-table-column>
          <el-table-column prop="department" label="部门" min-width="80px" />
          <el-table-column
            prop="auditLeader"
            label="审核组长"
            min-width="80px"
          />
          <el-table-column prop="auditEmp" label="组员" min-width="80px" />
          <el-table-column
            prop="auditPurpose"
            label="审核目的"
            min-width="100px"
          />
          <el-table-column
            prop="auditScope"
            label="审核范围"
            min-width="100px"
          />
          <el-table-column
            prop="auditPursuant"
            label="审核依据"
            min-width="100px"
          />
          <el-table-column prop="writeUser" label="编制人" min-width="80px" />
          <el-table-column prop="createTime" label="编制日期" min-width="100px">
          </el-table-column>
          <el-table-column prop="keyboarder" label="录入人" min-width="80px" />
          <el-table-column prop="checker" label="检验人" min-width="80px" />
          <el-table-column
            prop="auditTime"
            label="审核日期"
            min-width="100px"
          />
          <el-table-column prop="count" label="不符合项目数" min-width="60px" />
          <el-table-column prop="auditState" label="状态" min-width="100px">
            <template slot-scope="scope">
              <div v-if="scope.row.auditState === 0">
                <el-tag class="tag-item" type="warning">即将开始</el-tag>
              </div>
              <div v-else-if="scope.row.auditState === 1">
                <el-tag class="tag-item" type="success">完成</el-tag>
              </div>
              <div v-else>
                <el-tag class="tag-item" type="danger">逾期</el-tag>
    </div>
</template>
          </el-table-column>
          <el-table-column label="操作" min-width="100" fixed="right">
            <template slot-scope="scope">
              <el-button type="text" size="small">查看</el-button>
              <el-button
                type="text"
                size="small"
                @click="deleteClick(scope.row.id)"
                >删除</el-button
              >
            </template>
          </el-table-column>
        </el-table>
        <!-- åˆ†é¡µå™¨ -->
        <div>
          <el-pagination
            :current-page="page"
            :page-sizes="[10, 20, 30, 40]"
            :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
          />
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import {
  selectAllList,
  addCnasAnnualPlan,
  addAccessory,
  deleteCnasAnnualPlan,
} from "@/api/CNAS/reviewAnnualPlan";
import { P } from "af-table-column";
export default {
  data() {
    return {
      input: "",
      auditTable: [],
      page: 1,
      total: 0,
      pageSize: 10,
      dialogFormVisible1: false,
      dialogFormVisible2: false,
      formLabelWidth1: "80px",
      formLabelWidth2: "80px",
      //上传附件参数
      uploading: {
        auditTime: "",
        //====================文件上传还没做,此处是应是文件参数,暂时还是文本
        accessoryFile: "",
      },
      rules1: {
        auditTime: [
          {
            type: "date",
            required: true,
            message: "请选择日期",
            trigger: "blur",
          },
        ],
        accessoryFile: [
          { required: true, message: "请输入活动名称", trigger: "blur" },
          { min: 3, max: 5, message: "长度在 3 åˆ° 5 ä¸ªå­—符", trigger: "blur" },
        ],
      },
      //新增计划对象
      newly: {
        planTime: "",
        auditType: "",
        department: "",
        auditPurpose: "",
        auditLeader: "",
        auditEmp: "",
        auditPursuant: "",
        auditScope: "",
        writeUser: "",
        auditTime: "",
      },
      rules2: {
        planTime: [
          {
            type: "date",
            required: true,
            message: "请选择日期",
            trigger: "blur",
          },
        ],
        auditType: [
          { required: true, message: "请选择性质", trigger: "change" },
        ],
        department: [
          { required: true, message: "请输入部门", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
        auditPurpose: [
          { required: true, message: "请输入审核目的", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
        auditLeader: [
          { required: true, message: "请输入审核组长", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
        auditEmp: [
          { required: true, message: "请输入组员", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
        auditPursuant: [
          { required: true, message: "请输入审核依据", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
        auditScope: [
          { required: true, message: "请输入审核范围", trigger: "blur" },
          { min: 1, max: 5, message: "字数过长", trigger: "blur" },
        ],
        writeUser: [
          { required: true, message: "请输入编制人", trigger: "blur" },
          { min: 1, max: 25, message: "字数过长", trigger: "blur" },
        ],
      },
    };
  },
  created() {
    this.getData();
  },
  methods: {
    //====================================================上传附件
    //上传附件字段确认
    submitUp(uploading) {
      this.$refs[uploading].validate((valid) => {
        if (!valid) {
          return false;
        } else {
          //   this.upData();
        }
      });
    },
    // //上传附件
    // async upData() {
    //   try {
    //     const res = await addAccessory(this.uploading);
    //     console.log(res);
    //   } catch (error) {
    //     this.$message.error("添加失败");
    //   }
    //   this.resetData();
    //   this.dialogFormVisible1 = false;
    // },
    //新增计划字段确认
    submitAddData(newly) {
      this.$refs[newly].validate((valid) => {
        if (!valid) {
          return false;
        } else {
          this.addData();
        }
      });
    },
    //新增计划
    async addData() {
      try {
        const res = await deleteCnasAnnualPlan(this.newly);
      } catch (error) {
        this.$message.error("添加失败");
      }
      this.getData();
      this.dialogFormVisible2 = false;
    },
    // æ¯é¡µæ¡æ•°æ”¹å˜æ—¶è§¦å‘ é€‰æ‹©ä¸€é¡µæ˜¾ç¤ºå¤šå°‘行
    handleSizeChange(val) {
      console.log(`每页 ${val} æ¡`);
      this.pageSize = val;
      this.getData();
    },
    // å½“前页改变时触发 è·³è½¬å…¶ä»–页
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.page = val;
      this.getData();
    },
    // é‡ç½®æŒ‰é’®
    resetData() {
      this.input = undefined;
      this.page = 1;
      this.pageSize = 10;
      this.getData();
    },
    // æŸ¥è¯¢åˆ—表
    async getData() {
      const params = {
        page: this.page,
        pageSize: this.pageSize,
        planTime: this.input ? this.input : undefined,
      };
      const { data } = await selectAllList(params);
      this.auditTable = data.row;
      this.total = data.total;
    },
    async deleteOneData(planId) {
      await deleteCnasAnnualPlan({ planId: planId });
      this.getData();
      console.log(planId);
    },
    deleteClick(planId) {
      this.$confirm("确认删除?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
      }).then(() => {
        this.deleteOneData(planId);
      });
    },
    //重置表单
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
  },
};
</script>
<style lang="scss" scoped>
.top-bar {
  margin: -25px -15px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding: 5px 24px 0px 24px;
  .input-form {
    width: 400px;
  }
  .uploading-form {
    // margin-bottom: 20px;
    width: 400px;
  }
  .newly-form {
    // margin-bottom: 20px;
    width: 400px;
  }
  .newly-margin-bottom {
    margin-bottom: 23px;
  }
}
.library-table {
  background-color: #fff;
  flex: 1;
  margin: 0px -15px;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  .table-box {
    padding: 0px 20px;
    margin-top: 20px;
    flex: 1;
    background: #fff;
    display: flex;
    flex-direction: column;
    > div:nth-child(2) {
      display: flex;
      justify-content: end;
      margin: 10px 0;
    }
    .tag-item {
      width: 80px;
    }
  }
}
.rightBtn {
  display: flex;
  justify-content: flex-end;
}
.createBtn {
  margin-left: 10px;
}
</style>
src/views/CNAS/satisfactionSurveys/index.vue
@@ -5,13 +5,21 @@
          <!-- <el-input v-model="input" class="input-form" placeholder="请直接输入样式编号/样品名称/型号规格/进行搜索或下拉选择进行组合查询"
              @keyup.enter.native="getData" /> -->
          <el-form-item style="width: 800px;">
            <el-col style="display: flex; justify-content: space-around;" :span="8">
          <el-col style="display: flex; justify-content: space-around;" :span="12">
              <el-row>调查日期:</el-row>
              <el-row><el-input type="date" style="width: 130px;" v-model="materialCode" placeholder="请选择调查日期"></el-input></el-row>
            <el-row style="width: 300px;">
              <el-date-picker style="width: 270px;" class="newly-form" v-model="surveyDate" type="date"
                placeholder="请选择调查日期" autocomplete="off">
              </el-date-picker>
            </el-row>
            </el-col>
            <el-col style="display: flex; justify-content: space-around;" :span="8">
          <el-col style="display: flex; justify-content: space-around;" :span="12">
              <el-row>录入日期:</el-row>
              <el-row><el-input style="width: 130px;" v-model="materialName" placeholder="请选择录入日期"></el-input></el-row>
            <el-row style="width: 300px;">
              <el-date-picker style="width: 270px;" class="newly-form" v-model="entryDate" type="date"
                placeholder="请选择录入日期" autocomplete="off">
              </el-date-picker>
            </el-row>
            </el-col>
          </el-form-item>
          <el-form-item>
@@ -20,7 +28,7 @@
          </el-form-item>
        </el-form>
        <el-form>
          <el-button size="40" icon="el-icon-document-add" type="primary">新增记录</el-button>
        <el-button size="40" @click="getFillName()" icon="el-icon-document-add" type="primary">新增记录</el-button>
        </el-form>
      </div>
      <div class="library-table">
@@ -28,30 +36,17 @@
          <el-table ref="tableData" :max-height="800" :cell-style="{ textAlign: 'center' }"
            :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
            :data="tableData" style="width: 100%">
            <el-table-column type="selection" label="" min-width="5%" />
            <el-table-column  label="样品编号" min-width="10%">
          <el-table-column prop="id" type="index" label="序号" min-width="20%"/>
          <el-table-column prop="surveyDate" label="调查日期" min-width="10%" />
          <el-table-column prop="userUnit" label="客户单位名称" min-width="10%" />
          <el-table-column prop="projectName" label="项目名称" min-width="10%" />
          <el-table-column prop="fillName" label="填表人姓名" min-width="10%" />
          <el-table-column prop="post" label="职位" min-width="10%" />
          <el-table-column prop="telephone" label="联系电话" min-width="10%" />
          <el-table-column prop="userName" label="录入人" min-width="10%" />
          <el-table-column label="附件" min-width="10%">
              <template slot-scope="scope">
                <a style="color: #3894d1;">{{ scope.row.materialCode }}</a>
              </template>
            </el-table-column>
            <el-table-column prop="materialName" label="样品名称" min-width="10%" />
            <el-table-column label="申请单号" min-width="10%" >
              <template slot-scope="scope">
                <a style="color: #3894d1;">{{ scope.row.inspectionCode }}</a>
              </template>
            </el-table-column>
            <el-table-column prop="createTime" label="登记日期" min-width="10%" />
            <el-table-column prop="testManager" label="检验负责人" min-width="10%" />
            <el-table-column prop="specifications" label="规格型号" min-width="10%" />
            <el-table-column prop="inspectionStatus" label="结论" min-width="10%">
              <template slot-scope="scope">
                <el-tag type="danger">不合格</el-tag>
              </template>
            </el-table-column>
            <el-table-column label="操作" min-width="8%">
              <template slot-scope="scope">
                <el-button type="text" size="small">操作</el-button>
                <el-button type="text" size="small">作废</el-button>
              <a style="color: #3894d1;" @click="look(scope.row.id)">查看附件</a>
              </template>
            </el-table-column>
          </el-table>
@@ -63,12 +58,149 @@
          </div>
        </div>
      </div>
    <el-dialog title="满意度调查" :visible.sync="dialogVisible" width="50%">
      <table class="table" style="width: 100%;">
        <tr>
          <td> </td>
          <td>满意</td>
          <td>一般</td>
          <td>不满意</td>
          <td>建议</td>
        </tr>
        <tr>
          <td>服务态度</td>
          <td><el-radio v-model="serviceAttitude" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="serviceAttitude" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="serviceAttitude" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="serviceAttitudeInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>技术能力</td>
          <td><el-radio v-model="technicalPower" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="technicalPower" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="technicalPower" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="technicalPowerInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>检测工作</td>
          <td><el-radio v-model="testJob" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="testJob" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="testJob" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="testJobInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>收费合理性</td>
          <td><el-radio v-model="reasonableCharge" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="reasonableCharge" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="reasonableCharge" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="reasonableChargeInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>改进要求</td>
          <td colspan="4">
            <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
              v-model="improvementRequirements">
            </el-input>
          </td>
        </tr>
        <tr>
          <td>其他补充</td>
          <td colspan="4">
            <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
              v-model="otherSupplements">
            </el-input>
          </td>
        </tr>
      </table>
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="dialogVisible = false">ç¡® å®š</el-button>
      </span> -->
    </el-dialog>
    <el-dialog title="新增满意度调查记录" :visible.sync="dialogVisible2" width="50%">
      <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
        <el-row>
          <el-col :span="12">
            <el-form-item label="调查日期:" prop="surveyDate">
              <el-date-picker style="width: 200px;" class="newly-form" v-model="ruleForm.surveyDate" type="date"
                placeholder="请选择调查日期" autocomplete="off">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="客户单位:" prop="userUnit">
              <el-input style="width: 200px;" type="text" placeholder="请输入客户单位名称" v-model="ruleForm.userUnit"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="项目名称:" prop="projectName">
              <el-input style="width: 200px;" type="text" placeholder="请输入项目名称" v-model="ruleForm.projectName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="联系电话:" prop="telephone">
              <el-input style="width: 200px;" type="text" placeholder="请输入联系电话" v-model="ruleForm.telephone"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- å¡«è¡¨äººå§“名 -->
        <el-row>
          <el-col :span="12">
            <el-form-item label="填表人姓名:" prop="fillName">
              <el-input style="width: 200px;" type="text" placeholder="请输入填表人姓名" v-model="ruleForm.fillName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="职位:" prop="post">
              <el-input style="width: 200px;" type="text" placeholder="请输入职位" v-model="ruleForm.post"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- è”系电话/录入日期 -->
        <el-row>
          <el-col :span="12">
            <el-form-item label="录入人:" prop="userName">
              <el-input style="width: 200px;" type="text" placeholder="请输入录入人姓名" v-model="ruleForm.userName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="录入日期:" prop="entryDate">
              <el-date-picker style="width: 200px;" class="newly-form" v-model="ruleForm.entryDate" type="date"
                placeholder="请选择录入日期" autocomplete="off">
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="附件上传:">
              <el-upload class="upload-demo" :action="path" :on-preview="handlePreview" :on-remove="handleRemove" multiple
                :limit="1" :on-exceed="handleExceed" :file-list="fileList" :on-success="handleSuccess"
                :before-upload="beforeAvatarUpload">
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- æäº¤ -->
        <el-row>
          <el-col :span="24" style="display: flex;justify-content: center;">
            <el-form-item>
              <el-button @click="resetForm('ruleForm')">取消</el-button>
              <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </el-dialog>
    </div>
  </template>
  
  <script>
  import { get, post } from '@/api/util/requestUtil';
  import urlInfo from '../../../api/urlEnum/nonConformanceReview.js'
import urlInfo from '../../../api/urlEnum/satisfactionSurveys.js'
  export default {
    data() {
      return {
@@ -77,9 +209,57 @@
        page: 1,
        total: 0,
        pageSize: 10,
        materialCode: null,
        materialName: null,
        inspectionCode: null
      entryDate: null,
      surveyDate: null,
      id: 0,
      dialogVisible: false,
      serviceAttitude: 3,
      serviceAttitudeInput: "无",
      technicalPower: 3,
      technicalPowerInput: "无",
      testJob: 3,
      testJobInput: "无",
      reasonableCharge: 3,
      reasonableChargeInput: "无",
      otherSupplements: "无",
      improvementRequirements: "无",
      dialogVisible2: false,
      path: 'http://192.168.110.254:1234/cnasSatisfactionSurvey/uploadFile',
      ruleForm: {
        surveyDate: '',
        userUnit: '',
        projectName: '',
        fillName: '',
        post: '',
        userId: '',
        telephone: '',
        entryDate: '',
        userName: '',
        serviceAttitude: '',
        technicalPower: '',
        testJob: '',
        reasonableCharge: '',
        improvementRequirements: '',
        otherSupplements: ''
      },
      rules: {
        surveyDate: [
          { type: 'date', required: true, message: '请选择调查日期', trigger: 'change' }
        ],
        userUnit: [
          { required: true, message: '请输入客户单位名称', trigger: 'blur' },
        ],
        projectName: [
          { required: true, message: '请输入项目名称', trigger: 'blur' }
        ],
        entryDate: [
          { type: 'date', required: true, message: '请选择录入日期', trigger: 'change' }
        ],
        telephone: [
          { required: true, message: '请输入联系电话', trigger: 'blur' }
        ]
      },
      fileList: [],
      }
    },
    created() {
@@ -92,6 +272,28 @@
      handleCurrentChange() {
        this.getData();
      },
    look(id) {
      console.log(id);
      let str = "/$";
      this.dialogVisible = true
      let data = this.tableData.filter(res => {
        return res.id == id
      })[0]
      let serviceAttitudeInfo = data.serviceAttitude.split(str);
      this.serviceAttitude = serviceAttitudeInfo[0]
      this.serviceAttitudeInput = serviceAttitudeInfo[1]
      let technicalPowerInfo = data.technicalPower.split(str)
      this.technicalPower = technicalPowerInfo[0]
      this.technicalPowerInput = technicalPowerInfo[1]
      let testJobInfo = data.testJob.split(str)
      this.testJob = testJobInfo[0]
      this.testJobInput = testJobInfo[1]
      let reasonableChargeInfo = data.reasonableCharge.split(str)
      this.reasonableCharge = reasonableChargeInfo[0]
      this.reasonableChargeInput = reasonableChargeInfo[1]
      this.otherSupplements = data.otherSupplements
      this.improvementRequirements = data.improvementRequirements
    },
      handleSizeChange() {
  
      },
@@ -102,22 +304,178 @@
      resetData() {
        this.page = 1
        this.pageSize = 10
        this.materialCode=null
        this.materialName=null
        this.inspectionCode=null
      this.surveyDate = null
      this.entryDate = null
        this.getData()
      },
      async getData() {
        let param = {
          "currentPage": this.page,
          'pageNum': this.pageSize,
          "inspectionCode": this.inspectionCode,
          "materialCode": this.materialCode,
          "materialName": this.materialName
        "surveyDate": this.surveyDate,
        "entryDate": this.entryDate
        }
        let res = await get(urlInfo.url.getNonConformanceReview, param)
        this.tableData = res.data.nonConformanceReviewList
      if (this.surveyDate != null) {
        param.surveyDate = this.dateFormat(this.surveyDate);
      }
      if (this.entryDate !== null) {
        param.entryDate = this.dateFormat(this.entryDate);
      }
      let res = await get(urlInfo.url.getCnasSatisfactionSurvey, param)
      this.tableData = res.data.cnasSatisfactionSurveyList
        this.total = res.data.total
    },
    async getFillName() {
      this.dialogVisible2 = true
      let res = await get(urlInfo.url.getFillNameAndId)
      this.ruleForm.userName = res.data.name
      this.ruleForm.userId = res.data.id
      var now = new Date();
      this.ruleForm.entryDate = now
    },
    async submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.add();
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    async add() {
      let data = JSON.parse(JSON.stringify(this.ruleForm))
      let entryDate = this.format(this.ruleForm.entryDate);
      let surveyDate = this.format(this.ruleForm.surveyDate);
      data.entryDate = entryDate
      data.surveyDate = surveyDate
      // data.dateInfo = dateInfo
      let add = await post(urlInfo.url.addSurvey, data);
      if (add) {
        this.$message({
          message: '添加成功',
          type: 'success'
        });
        this.fileList = []
        this.$refs["ruleForm"].resetFields();
        let res = await get(urlInfo.url.getFillNameAndId)
      this.ruleForm.userName = res.data.name
      this.ruleForm.id = res.data.id
      var now = new Date();
      this.ruleForm.entryDate = now
      this.getData()
      } else {
        this.$message.error('添加失败!请检查内容');
      }
    },
    resetForm(formName) {
      this.dialogVisible2 = false
      this.fileList = []
      this.$refs[formName].resetFields();
    },
    handleRemove(file, fileList) {
      console.log(file, fileList);
    },
    handlePreview(file) {
      console.log(file);
    },
    handleExceed(files, fileList) {
      this.$message.warning(`当前限制选择 1 ä¸ªæ–‡ä»¶ï¼Œæœ¬æ¬¡é€‰æ‹©äº† ${files.length} ä¸ªæ–‡ä»¶ï¼Œå…±é€‰æ‹©äº† ${files.length + fileList.length} ä¸ªæ–‡ä»¶`);
    },
    // beforeRemove(file, fileList) {
    //   return this.$confirm(`确定移除 ${file.name}?`);
    // },
    handleSuccess(response, file, fileList) {
      let data = response.data;
      if (this.ruleForm.userUnit == '') {
        this.ruleForm.userUnit = data.unitName
      }
      if (this.ruleForm.projectName == '') {
        this.ruleForm.projectName = data.projectName
      }
      if (this.ruleForm.post === '') {
        this.ruleForm.post = data.post
      }
      if (this.ruleForm.fillName == '') {
        this.ruleForm.fillName = data.fillName.split("/")[0]
      }
      if (this.ruleForm.telephone == '') {
        this.ruleForm.telephone = data.telephone
      }
      if(this.ruleForm.surveyDate==null||this.ruleForm.surveyDate==''){
        let dates = new Date(data.fillName.split("/")[1]);
        console.log(dates);
        if(dates!=''&&dates!=''){
          this.ruleForm.surveyDate=dates
        }
      }
      this.ruleForm.serviceAttitude = data.serviceAttitude
      this.ruleForm.technicalPower = data.technicalPower
      this.ruleForm.testJob = data.testJob
      this.ruleForm.improvementRequirements = data.improvementRequirements
      this.ruleForm.otherSupplements = data.otherSupplements
      this.ruleForm.reasonableCharge=data.reasonableCharge
    },
    beforeAvatarUpload(file) {
      let split = file.name.split(".");
      let fileName = split[split.length - 1];
      const isWord = fileName == 'doc' || fileName == 'docx';
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isWord) {
        this.$message.error('上传word文件只能是 doc/docx æ ¼å¼!');
      }
      if (!isLt2M) {
        this.$message.error('上传word文件大小不能超过 2MB!');
      }
      return isWord && isLt2M;
    },
    dateFormat(longTypeDate) {
      var dateTypeDate = "";
      var date = new Date();
      date.setTime(longTypeDate);
      dateTypeDate += date.getFullYear();   //å¹´
      dateTypeDate += "-" + this.getMonth(date); //月
      dateTypeDate += "-" + this.getDay(date);   //日
      return dateTypeDate;
    },
    //返回 01-12 çš„æœˆä»½å€¼
    getMonth(date) {
      var month = "";
      month = date.getMonth() + 1; //getMonth()得到的月份是0-11
      if (month < 10) {
        month = "0" + month;
      }
      return month;
    },
    //返回01-30的日期
    getDay(date) {
      var day = "";
      day = date.getDate();
      if (day < 10) {
        day = "0" + day;
      }
      return day;
    },
    datetimeFormat(longTypeDate) {
      var dateTypeDate = "";
      var date = new Date();
      date.setTime(longTypeDate);
      dateTypeDate += date.getFullYear();   //å¹´
      dateTypeDate += "-" + this.getMonth(date); //月
      dateTypeDate += "-" + this.getDay(date);   //日
      return dateTypeDate;
    },
    format(d) {
      var y = d.getFullYear();
      var m = d.getMonth() + 1;
      if (m < 10) {
        m = "0" + m;
      }
      var day = d.getDate();
      if (day < 10) {
        day = "0" + day;
      }
      return y + "-" + m + "-" + day;
      }
    }
  }
@@ -181,6 +539,12 @@
  
    }
  }
.table,
tr,
td {
  padding: 10px;
}
  </style>
  <style >
  .content-main {
src/views/experiment/checkTheReport/index.vue
@@ -24,11 +24,7 @@
        </el-dropdown>
      </el-form>
      <el-form>
        <el-button
          class="rightBtn"
          type="primary"
          icon="el-icon-document"
          @click="exportData"
        <el-button class="rightBtn" type="primary" icon="el-icon-document"
          >导出报告</el-button
        >
      </el-form>
@@ -70,19 +66,37 @@
            label="样品编号"
            sortable
            min-width="10%"
          />
          >
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.materialCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column
            prop="reportCode"
            prop="materialCode"
            label="报告单号"
            sortable
            min-width="10%"
          />
          >
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.materialCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column
            prop="inspectionCode"
            label="申请单号"
            sortable
            min-width="10%"
          />
          >
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.inspectionCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column prop="approver" label="审批人" min-width="8%">
            <template slot-scope="scope">
              <span>
@@ -216,7 +230,7 @@
  }
  .el-dropdown-link {
    cursor: pointer;
    color: #409EFF;
    color: #409eff;
  }
  .el-icon-arrow-down {
    font-size: 12px;
@@ -250,6 +264,5 @@
      margin: 10px 0;
    }
  }
}
</style>
src/views/experiment/planAssignments/index.vue
@@ -6,7 +6,7 @@
          <el-select
            v-model="searchData.devicename"
            placeholder="全部"
            style="width: 100px"
            style="width: 120px"
          >
            <el-option
              v-for="item in options1"
@@ -21,6 +21,7 @@
          <el-date-picker
            v-model="searchData.time"
            type="daterange"
            value-format="yyyy-MM-dd"
            range-separator="~"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
@@ -31,7 +32,7 @@
          <el-select
            v-model="searchData.person"
            placeholder="全部"
            style="width: 80px; margin-right: 100px"
            style="width: 100px; margin-right: 100px"
          >
            <el-option
              v-for="item in options2"
@@ -43,10 +44,14 @@
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" plain style="margin-right: 10px"
          <el-button
            type="primary"
            plain
            style="margin-right: 10px"
            @click="resetData()"
            >重置</el-button
          >
          <el-button type="primary">查询</el-button>
          <el-button type="primary" @click="getData()">查询</el-button>
        </el-form-item>
      </el-form>
    </div>
@@ -154,38 +159,76 @@
    return {
      searchData: {
        devicename: "",
        time: "",
        time: [],
        person: "",
      },
      options1: [],
      options2: [],
      planTable: [],
      planTableView: [],
    };
  },
  created() {
    this.getData();
  },
  methods: {
    // æŸ¥è¯¢åˆ—表
    async getData() {
      const params = {};
      const params = {
        device: this.searchData.devicename
          ? this.searchData.devicename
          : undefined,
        user: this.searchData.person ? this.searchData.person : undefined,
        beginTime:
          this.searchData.time && this.searchData.time.length > 0
            ? this.searchData.time[0]
            : undefined,
        endTime:
          this.searchData.time && this.searchData.time.length > 0
            ? this.searchData.time[1]
            : undefined,
      };
      const { data } = await selectAllPlan(params);
      this.planTable = data;
      if (this.options1.length === 0) {
        //添加设备名称
        const deviceData = [];
      this.planTable.forEach((res) => {
        let o1 = {
          value: res.device,
          label: res.device,
        };
        this.options1.push(o1);
        if(res.userId == undefined) {
          if (!deviceData.includes(res.device)) {
            deviceData.push(res.device);
        }
      });
      let d=this.options1.filter((val,index,self)=>{
        return self.indexOf(val)==index;
      })
      console.log(d);
        deviceData.forEach((item) => {
          this.options1.push({
            value: item,
            label: item,
          });
        });
        //添加用户
        const userData = [];
        this.planTable.forEach((res) => {
          if (res.checker != undefined && !userData.includes(res.checker)) {
            userData.push(res.checker);
          }
        });
        userData.forEach((item) => {
          this.options2.push({
            value: item,
            label: item,
          });
        });
        console.log(this.options2);
      }
    },
    // é‡ç½®æŒ‰é’®
    resetData() {
      (this.searchData = {
        devicename: "",
        time: [],
        person: "",
      }),
        this.getData();
    },
  },
};
@@ -216,7 +259,7 @@
  height: 78vh;
  .formwrapper {
    padding: 0px 20px;
    margin-top: 0px;
    margin-top: 20px;
    flex: 1;
    background: #fff;
    /* padding: 20px 20px 10px 20px; */
src/views/experiment/reportAuditing/index.vue
@@ -2,7 +2,7 @@
  <div class="content-main">
    <div class="top-bar">
      <el-form ref="form" :inline="true">
        <el-form-item class="sermargin">
        <el-form-item>
          <el-input
            v-model="input"
            class="input-form"
@@ -24,9 +24,7 @@
        </el-dropdown>
      </el-form>
      <el-form>
        <el-button class="rightBtn" type="primary" @click="exportData"
          >审核</el-button
        >
        <el-button class="rightBtn" type="primary">审核</el-button>
      </el-form>
    </div>
    <div class="library-table">
@@ -58,12 +56,20 @@
          style="width: 100%"
        >
          <el-table-column type="selection" label="" min-width="5%" />
          <el-table-column
            prop="materialCode"
            label="样品编号"
            min-width="10%"
          />
          <el-table-column prop="reportCode" label="报告单号" min-width="10%" />
          <el-table-column prop="materialCode" label="样品编号" min-width="10%">
            <template slot-scope="scope">
              <span style="color: #409eff">
                {{ scope.row.materialCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column prop="reportCode" label="报告单号" min-width="10%">
            <template slot-scope="scope">
              <span style="color: #409eff">
                {{ scope.row.reportCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column
            prop="materialName"
            label="样品名称"
src/views/laboratory/ledger/index.vue
@@ -4,10 +4,7 @@
      <div class="search-bar">
        <el-form ref="form" :inline="true" :model="searchData">
          <el-form-item>
            <el-input
              v-model="searchData.keyword"
              placeholder="请输入编号/设备名称/型号规格"
            >
            <el-input v-model="searchData.keyword" placeholder="请输入编号/设备名称/型号规格">
              <i slot="prefix" class="el-input__icon el-icon-search" />
            </el-input>
          </el-form-item>
@@ -27,24 +24,16 @@
        <div class="bom-item-search">
          <el-row>
            <el-col :span="19">
              <el-input
                v-model="filterText"
                placeholder="输入关键字进行过滤"
              />
              <el-input v-model="filterText" placeholder="输入关键字进行过滤" />
            </el-col>
            <el-col :span="5">
              <el-button type="primary" size="small" @click="addClassVisible = true"><i class="el-icon-plus" /></el-button>
              <el-button type="primary" size="small" @click="addClassVisible = true"><i
                  class="el-icon-plus" /></el-button>
            </el-col>
          </el-row>
        </div>
        <el-tree
          ref="classTree"
          :data="classTree"
          :props="defaultProps"
          :default-expand-all="true"
          :filter-node-method="filterNode"
          @node-click="nodeClickHandler"
        />
        <el-tree ref="classTree" :data="classTree" :props="defaultProps" :default-expand-all="true"
          :filter-node-method="filterNode" @node-click="nodeClickHandler" />
      </div>
      <div class="library-table">
        <div class="table-header">
@@ -62,67 +51,24 @@
          </div>
        </div>
        <div class="table-box">
          <el-table
            ref="equipmentTable"
            node-key="father_name"
            :cell-style="{textAlign: 'center'}"
          <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'center' }"
            :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
            :data="equipmentTable"
            style="width: 100%"
          >
            <el-table-column
              type="index"
              label="序号"
              min-width="90"
            />
            <el-table-column
              prop="equipment_code"
              label="仪器设备编号"
              min-width="200"
            />
            <el-table-column
              prop="equipment_name"
              label="仪器设备名称"
              min-width="150"
            />
            <el-table-column
              prop="specifications_models"
              label="规格型号"
              min-width="150"
            />
            <el-table-column
              prop="name"
              label="保管人"
              min-width="200"
            />
            <el-table-column
              prop="termValidity"
              label="计量截止有效期"
              min-width="200"
            />
            <el-table-column
              prop="conditions"
              label="设备状态"
              min-width="120"
            >
            :data="equipmentTable" style="width: 100%">
            <el-table-column type="index" label="序号" min-width="90" />
            <el-table-column prop="equipment_code" label="仪器设备编号" min-width="200" />
            <el-table-column prop="equipment_name" label="仪器设备名称" min-width="150" />
            <el-table-column prop="specifications_models" label="规格型号" min-width="150" />
            <el-table-column prop="name" label="保管人" min-width="200" />
            <el-table-column prop="termValidity" label="计量截止有效期" min-width="200" />
            <el-table-column prop="conditions" label="设备状态" min-width="120">
              <template slot-scope="scope">
                <el-tag
                  :type="scope.row.conditions === 0 ? 'primary' : 'success'"
                  disable-transitions
                >{{ scope.row.conditions | conditionsFilter }}</el-tag>
                <el-tag :type="scope.row.conditions === 0 ? 'primary' : 'success'" disable-transitions>{{
                  scope.row.conditions | conditionsFilter }}</el-tag>
              </template>
            </el-table-column>
            <el-table-column
              prop="storage_place"
              label="存放地"
              min-width="200"
            />
            <el-table-column prop="storage_place" label="存放地" min-width="200" />
            <el-table-column
              label="操作"
              min-width="120"
              fixed="right"
            >
            <el-table-column label="操作" min-width="120" fixed="right">
              <template slot-scope="scope">
                <el-button type="text" size="small" @click="openDetail(scope.row)">编辑</el-button>
                <el-button type="text" size="small" @click="clickDelete(scope.row)">删除</el-button>
@@ -133,45 +79,36 @@
          <div>
            <!-- æ·»åŠ åˆ†ç±» -->
            <el-dialog title="添加分类" :visible.sync="addClassVisible" width="33%">
              <el-form :model="addTreeForm">
                <el-form-item label="分类名称" label-width="100px">
                  <el-input v-model="addTreeForm.name" autocomplete="off" />
              <el-form :model="addTreeForm" ref="addTreeForm">
                <el-form-item prop="name" label="分类名称" label-width="100px" :rules="[
                  { required: true, message: '分类名称不能为空' }
                ]">
                  <el-input  v-model="addTreeForm.name"
                   />
                </el-form-item>
                <el-form-item label="父级分类" label-width="100px">
                  <el-select v-model="addTreeForm.type" placeholder="请选择">
                  <el-select style="width: 100%;" v-model="addTreeForm.type" placeholder="请选择">
                    <el-option label="原材料" value="0" />
                    <el-option label="电线电缆" value="1" />
                  </el-select>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="addClassVisible = false">取 æ¶ˆ</el-button>
                <el-button type="primary">ç¡® å®š</el-button>
                <el-button @click="resetTreeForm('addTreeForm')">取 æ¶ˆ</el-button>
                <el-button type="primary" @click="submitTreeForm('addTreeForm')">ç¡® å®š</el-button>
              </div>
            </el-dialog>
          </div>
          <div>
            <el-pagination
              :current-page="currentPage"
              :page-sizes="[10, 15, 20, 25]"
              :page-size="pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="total"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
            />
            <el-pagination :current-page="currentPage" :page-sizes="[10, 15, 20, 25]" :page-size="pageSize"
              layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
              @current-change="handleCurrentChange" />
          </div>
        </div>
      </div>
    </div>
    <!-- ä»ªå™¨è¯¦æƒ…-->
    <el-drawer
      title="仪器设备详情"
      :visible.sync="detailDrawer"
      size="80%"
      class="detailDrawer"
      @close="closeDetailDrawer"
    >
    <el-drawer title="仪器设备详情" :visible.sync="detailDrawer" size="80%" class="detailDrawer" @close="closeDetailDrawer">
      <div>
        <div class="detail-info">
          <div class="tips-main">
@@ -220,7 +157,8 @@
              <span><i class="el-icon-edit" />保管人:{{ equipmentDetail.userId }}</span>
            </div>
            <div class="message-item">
              <span><i class="el-icon-edit" />是否支持数采:{{ equipmentDetail.whetherDataAcquisition==1 ? '支持': '不支持' }}</span>
              <span><i class="el-icon-edit" />是否支持数采:{{ equipmentDetail.whetherDataAcquisition == 1 ? '支持' : '不支持'
              }}</span>
            </div>
            <div class="message-item">
              <span><i class="el-icon-edit" />仪器设备计量:{{ equipmentDetail.equipmentMeasurement==1 ? '需要': '不需要' }}</span>
@@ -235,71 +173,40 @@
        </div>
        <el-tabs v-model="activeTabsName">
          <el-tab-pane label="设备码点" name="codePoints">
            <el-button v-show="!codePointesTableStatus" :style="{marginBottom: '18px'}" @click="addCodePoints">新增设备码点</el-button>
            <el-button v-show="!codePointesTableStatus" :style="{ marginBottom: '18px' }"
              @click="addCodePoints">新增设备码点</el-button>
            <div v-show="codePointesTableStatus" :style="{marginBottom: '18px'}" class="btns">
              <el-button @click="addNewCodePoints">添加</el-button>
              <el-button @click="saveCodePoins">保存</el-button>
              <el-button @click="closeCodePoins">取消</el-button>
            </div>
            <el-table
              ref="codePointsTable"
              :cell-style="{textAlign: 'center'}"
            <el-table ref="codePointsTable" :cell-style="{ textAlign: 'center' }"
              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
              :data="codePointsTable"
              style="width: 100%"
            >
              <el-table-column
                type="index"
                label="序号"
                min-width="90"
              />
              <el-table-column
                prop="equipmentPoint"
                label="码点编码"
                min-width="150"
              >
              :data="codePointsTable" style="width: 100%">
              <el-table-column type="index" label="序号" min-width="90" />
              <el-table-column prop="equipmentPoint" label="码点编码" min-width="150">
                <template slot-scope="scope">
                  <span v-show="!codePointesTableStatus">{{ scope.row.equipmentPoint }}</span>
                  <el-input v-show="codePointesTableStatus" v-model="scope.row.equipmentPoint" />
                </template>
              </el-table-column>
              <el-table-column
                prop="equipmentPointName"
                label="码点名称"
                min-width="150"
              >
              <el-table-column prop="equipmentPointName" label="码点名称" min-width="150">
                <template slot-scope="scope">
                  <span v-show="!codePointesTableStatus">{{ scope.row.equipmentPointName }}</span>
                  <el-input v-show="codePointesTableStatus" v-model="scope.row.equipmentPointName" />
                </template>
              </el-table-column>
              <el-table-column
                prop="unit"
                label="单位"
                min-width="150"
              >
              <el-table-column prop="unit" label="单位" min-width="150">
                <template slot-scope="scope">
                  <span v-show="!codePointesTableStatus">{{ scope.row.unit }}</span>
                  <el-input v-show="codePointesTableStatus" v-model="scope.row.unit" />
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                label="更新人"
                min-width="100"
              />
              <el-table-column
                prop="updateTime"
                label="更新日期"
                min-width="120"
              />
              <el-table-column
                prop="descriptiveness"
                label="描述"
                min-width="200"
              >
              <el-table-column prop="name" label="更新人" min-width="100" />
              <el-table-column prop="updateTime" label="更新日期" min-width="120" />
              <el-table-column prop="descriptiveness" label="描述" min-width="200">
                <template slot-scope="scope">
                  <span v-show="!codePointesTableStatus">{{ scope.row.descriptiveness }}</span>
                  <el-input v-show="codePointesTableStatus" v-model="scope.row.descriptiveness" />
@@ -310,53 +217,17 @@
          </el-tab-pane>
          <el-tab-pane label="计量信息" name="measure">
            <el-button :style="{marginBottom: '18px'}" @click="measureFormVisible = true">新增计量信息</el-button>
            <el-table
              ref="measureTable"
              :cell-style="{textAlign: 'center'}"
            <el-table ref="measureTable" :cell-style="{ textAlign: 'center' }"
              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
              :data="measureTable"
              style="width: 100%"
            >
              <el-table-column
                type="index"
                label="序号"
                min-width="90"
              />
              <el-table-column
                prop="name"
                label="负责人"
                min-width="200"
              />
              <el-table-column
                prop="measurement_unit"
                label="计量单位"
                min-width="150"
              />
              <el-table-column
                prop="beginDate"
                label="开始日期"
                min-width="150"
              />
              <el-table-column
                prop="endDate"
                label="结束日期"
                min-width="150"
              />
              <el-table-column
                prop="performance_index"
                label="性能指标"
                min-width="200"
              />
              <el-table-column
                prop="uncertainty"
                label="不确定度"
                min-width="200"
              />
              <el-table-column
                prop="conditions"
                label="结果"
                min-width="120"
              >
              :data="measureTable" style="width: 100%">
              <el-table-column type="index" label="序号" min-width="90" />
              <el-table-column prop="name" label="负责人" min-width="200" />
              <el-table-column prop="measurement_unit" label="计量单位" min-width="150" />
              <el-table-column prop="beginDate" label="开始日期" min-width="150" />
              <el-table-column prop="endDate" label="结束日期" min-width="150" />
              <el-table-column prop="performance_index" label="性能指标" min-width="200" />
              <el-table-column prop="uncertainty" label="不确定度" min-width="200" />
              <el-table-column prop="conditions" label="结果" min-width="120">
                <template slot-scope="scope">
                  {{ scope.row.result }}
                  <!-- <el-tag
@@ -365,26 +236,15 @@
                  >{{ scope.row.result === 0 ? '未同意' : '已同意' }}</el-tag> -->
                </template>
              </el-table-column>
              <el-table-column
                prop="remarks"
                label="备注"
                min-width="200"
              />
              <el-table-column prop="remarks" label="备注" min-width="200" />
            </el-table>
          </el-tab-pane>
        </el-tabs>
      </div>
    </el-drawer>
    <!-- æ·»åŠ ä»ªå™¨/修改仪器信息 -->
    <el-drawer
      ref="addDrawer"
      :title="equipmentDetail.id?'修改仪器设备信息':'新增仪器设备'"
      :append-to-body="true"
      :visible.sync="addDrawerVisible"
      class="addDrawer"
      size="40%"
      @close="closeAddOrChangeDrawer"
    >
    <el-drawer ref="addDrawer" :title="equipmentDetail.id ? '修改仪器设备信息' : '新增仪器设备'" :append-to-body="true"
      :visible.sync="addDrawerVisible" class="addDrawer" size="40%" @close="closeAddOrChangeDrawer">
      <div class="demo-drawer__content">
        <el-form label-position="top" :model="equipmentform">
          <el-row :gutter="50">
@@ -407,20 +267,10 @@
            </el-col>
            <el-col :span="11">
              <el-form-item label="状态:" label-width="80">
                <el-select
                  v-model="equipmentform.conditions"
                  clearable
                  filterable
                  :allow-create="true"
                  placeholder="请选择仪器设备状态"
                  style="width:100%"
                >
                  <el-option
                    v-for="item in conditionsOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  />
                <el-select v-model="equipmentform.conditions" clearable filterable :allow-create="true"
                  placeholder="请选择仪器设备状态" style="width:100%">
                  <el-option v-for="item in conditionsOptions" :key="item.value" :label="item.label"
                    :value="item.value" />
                </el-select>
              </el-form-item>
            </el-col>
@@ -457,42 +307,23 @@
            </el-col>
            <el-col :span="11">
              <el-form-item label="到货日期:" label-width="80">
                <el-date-picker
                  v-model="equipmentform.arrivalDate"
                  type="date"
                  placeholder="请选择到货日期"
                  style="width:100%"
                />
                <el-date-picker v-model="equipmentform.arrivalDate" type="date" placeholder="请选择到货日期"
                  style="width:100%" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row :gutter="50">
            <el-col :span="11">
              <el-form-item label="验收日期:" label-width="80">
                <el-date-picker
                  v-model="equipmentform.acceptanceDate"
                  type="date"
                  placeholder="请选择验收日期"
                  style="width:100%"
                />
                <el-date-picker v-model="equipmentform.acceptanceDate" type="date" placeholder="请选择验收日期"
                  style="width:100%" />
              </el-form-item>
            </el-col>
            <el-col :span="11">
              <el-form-item label="保管人:" label-width="80">
                <el-select
                  v-model="equipmentform.userId"
                  clearable
                  filterable
                  :allow-create="true"
                  placeholder="请选择保管人"
                  style="width:100%"
                >
                  <el-option
                    v-for="item in userOpetions"
                    :key="item.id"
                    :label="item.label"
                    :value="item.value"
                  />
                <el-select v-model="equipmentform.userId" clearable filterable :allow-create="true" placeholder="请选择保管人"
                  style="width:100%">
                  <el-option v-for="item in userOpetions" :key="item.id" :label="item.label" :value="item.value" />
                </el-select>
              </el-form-item>
            </el-col>
@@ -521,13 +352,8 @@
          <el-row :gutter="50">
            <el-col :span="11">
              <el-form-item label="描述:" label-width="80">
                <el-input
                  v-model="equipmentform.descriptiveness"
                  type="textarea"
                  :rows="2"
                  placeholder="请输入内容"
                  style="width:217%"
                />
                <el-input v-model="equipmentform.descriptiveness" type="textarea" :rows="2" placeholder="请输入内容"
                  style="width:217%" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -544,20 +370,9 @@
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="负责人">
              <el-select
                v-model="measureForm.userId"
                clearable
                filterable
                :allow-create="true"
                placeholder="负责人"
                style="width:100%"
              >
                <el-option
                  v-for="item in userOpetions"
                  :key="item.id"
                  :label="item.label"
                  :value="item.value"
                />
              <el-select v-model="measureForm.userId" clearable filterable :allow-create="true" placeholder="负责人"
                style="width:100%">
                <el-option v-for="item in userOpetions" :key="item.id" :label="item.label" :value="item.value" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -570,13 +385,8 @@
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="检定有效期">
              <el-date-picker
                v-model="measureForm.date"
                type="daterange"
                range-separator="至"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
              />
              <el-date-picker v-model="measureForm.date" type="daterange" range-separator="至" start-placeholder="开始日期"
                end-placeholder="结束日期" />
            </el-form-item>
          </el-col>
        </el-row>
@@ -588,20 +398,9 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="结果">
              <el-select
                v-model="measureForm.result"
                clearable
                filterable
                :allow-create="true"
                placeholder="负责人"
                style="width:100%"
              >
                <el-option
                  v-for="item in resultOptions"
                  :key="item.id"
                  :label="item.label"
                  :value="item.value"
                />
              <el-select v-model="measureForm.result" clearable filterable :allow-create="true" placeholder="负责人"
                style="width:100%">
                <el-option v-for="item in resultOptions" :key="item.id" :label="item.label" :value="item.value" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -609,36 +408,21 @@
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="性能指标">
              <el-input
                v-model="measureForm.performanceIndex"
                type="textarea"
                :rows="2"
                placeholder="请输入内容"
              />
              <el-input v-model="measureForm.performanceIndex" type="textarea" :rows="2" placeholder="请输入内容" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="备注">
              <el-input
                v-model="measureForm.remarks"
                type="textarea"
                :rows="2"
                placeholder="请输入内容"
              />
              <el-input v-model="measureForm.remarks" type="textarea" :rows="2" placeholder="请输入内容" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="">
              <el-upload
                class="upload-demo"
                action="#"
                :on-change="handleUpload"
                :auto-upload="false"
              >
              <el-upload class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false">
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item>
@@ -652,11 +436,7 @@
      </span>
    </el-dialog>
    <!-- åˆ é™¤ä»ªå™¨å¼¹å‡ºæ¡† -->
    <el-dialog
      title="提示"
      :visible.sync="deletedialogVisible"
      width="30%"
      :before-close="handleClose">
    <el-dialog title="提示" :visible.sync="deletedialogVisible" width="30%">
      <span>确定删除该仪器吗?</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="deletedialogVisible = false">取 æ¶ˆ</el-button>
@@ -667,10 +447,12 @@
</template>
<script>
import { getClassifyList, getInstrumentList,
import {
  getClassifyList, getInstrumentList,
  addInstrumentUser, addInstrument, getInstrumentDetail,
  getEquipmentPointList, addEquipmentPoint,
  getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument } from '@/api/laboratory/ledger'
  getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument
} from '@/api/laboratory/ledger'
import { parseTime } from '@/utils/index'
export default {
  filters: {
@@ -1115,6 +897,20 @@
      // console.log(row.id)
      await deleteInstrument({ instrumentId: this.instrumentId })
      this.deletedialogVisible = false
    },
    submitTreeForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert('submit!');
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    resetTreeForm(formName) {
      this.$refs[formName].resetFields();
      this.addClassVisible=false
    }
  }
}
@@ -1124,6 +920,7 @@
.demo-drawer__content{
  margin-left: 50px;
}
.demo-drawer__footer {
  display: flex;
  justify-content: space-between;
@@ -1143,24 +940,29 @@
  margin-right: 60px;
  margin-bottom: 24px;
}
.ledger-main{
  width: 100%;
  height: 100%;
    // é¡µé¢å¤´éƒ¨æ¡ä»¶æœç´¢
  .page-header-search{
    background: #fff;
    display: flex;
    justify-content: space-between;
    padding: 0 24px 12px 24px;
     .search-bar{
      .el-radio-button.is-active{
        color: #409EFF !important;
        background: #ecf5ff !important;
        border-color: #b3d8ff !important;
      }
      .el-form{
       .el-form-item{
         margin-bottom: 0px !important;
         .el-input{
          width: 360px;
         }
@@ -1175,15 +977,19 @@
    height: 100%;
    min-height: calc(100vh - 88px);
    padding: 15px;
    >div{
      padding: 20px;
      background: #fff;
    }
    .library-bom{
      flex: 2;
      margin-right: 12px;
      .bom-item-search{
        margin-bottom: 12px;
        ::v-deep .el-input{
          input{
            height: 33px;
@@ -1191,31 +997,38 @@
          }
        }
      }
         .bom-item-search .el-row{
          // display: flex;
          .el-col{
            text-align: right;
           }
          }
      .el-tree {
        margin-top: 12px;
      }
    }
    .library-table{
      flex: 8;
      max-width: 80%;
      margin-left: 12px;
      display: flex;
      flex-direction: column;
      .table-box{
          margin-top: 30px;
          flex: 1;
          background: #fff;
          display: flex;
          flex-direction: column;
          .el-table {
            flex: 1;
          }
          >div:nth-child(2){
            display: flex;
            justify-content: end;
@@ -1226,6 +1039,7 @@
  }
}
.addDrawer{
  ::v-deep .el-drawer__body{
      // padding: 24px !important;
@@ -1233,11 +1047,13 @@
      overflow-x: hidden;
    }
}
.detailDrawer{
    ::v-deep .el-drawer__body{
      padding: 24px !important;
      overflow-y: scroll;
    }
    .detail-info{
    background: #fff;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 5px 15px;
@@ -1245,21 +1061,25 @@
    margin-bottom: 12px;
    border-radius: 6px;
    overflow: hidden;
    .tips-main{
      padding: 10px 20px 0 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 50px;
      .tips-btn{
        margin-bottom: 10px;
      }
      .tips{
      height: 100%;
      display: flex;
      height: 24px;
      align-items: center;
      font-size: 16px;
      >span{
        display: inline-block;
        margin-right: 10px;
@@ -1267,10 +1087,12 @@
        height: 16px;
        background: #0077DB;
      }
      >div{
        height: 100%;
        line-height: 26px;
      }
      .el-button{
        padding: 0;
      }
@@ -1284,6 +1106,7 @@
      display: flex;
      flex-wrap: wrap;
      border-top: 1px solid #F2F6FC;
      >div{
        flex: 30%;
        max-width: 30%;
@@ -1294,9 +1117,11 @@
        height: 40px;
        display: flex;
        align-items: center;
        >span{
          color: #303133;
          font-size: 14px;
          >i{
            margin-right: 8px;
          }
@@ -1305,9 +1130,12 @@
    }
  }
  }
.measureForm{
  //
  .el-form-item{
    //
    .el-date-editor{
      width: 100%;
src/views/laboratory/personnel/index.vue
@@ -2,17 +2,14 @@
  <div class="personnel-main ">
    <div class="page-header-search">
      <div class="search-bar">
        <el-form ref="form" inline="true" :model="searchData">
        <el-form ref="form" :inline="true">
          <el-form-item>
            <el-input
              v-model="keyword"
              placeholder="请输入人员名称"
            >
            <el-input v-model="keyword" placeholder="请输入人员名称">
              <i slot="prefix" class="el-input__icon el-icon-search" />
            </el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" @click="searchData()">查询</el-button>
            <el-button type="primary" @click="getData()">查询</el-button>
            <el-button type="primary" plain @click="resetData()">重置</el-button>
            <!-- <el-button type="text">高级搜索<i class="el-icon-arrow-down el-icon--right" /></el-button> -->
          </el-form-item>
@@ -52,64 +49,24 @@
    </div>
    <div class="content-main">
      <div class="personner-table">
        <el-table
          ref="personnerlTable"
          :height="700"
          :max-height="700"
          :cell-style="{textAlign: 'center'}"
        <el-table ref="personnerlTable" :max-height="700" :cell-style="{ textAlign: 'center' }"
          :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
          :data="personnerlTable"
          style="width: 100%"
        >
          <el-table-column
            prop="username"
            label="角色名称"
            min-width="120"
          />
          <el-table-column
            prop="roleName"
            label="角色权限"
            min-width="120"
          />
          <el-table-column
            prop="age"
            label="年龄"
            min-width="150"
          />
          <el-table-column
            prop="createTime"
            label="创建时间"
            min-width="180"
          />
          <el-table-column
            prop="phone"
            label="电话"
            min-width="200"
          />
          <el-table-column
            prop="email"
            label="邮箱"
            min-width="200"
          />
          <el-table-column
            prop="jobState"
            label="在职状态"
            min-width="120"
            :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]"
            :filter-method="filterTag"
            filter-placement="bottom-end"
          >
          :data="personnerlTable" style="width: 100%">
          <el-table-column prop="username" label="角色名称" min-width="120" />
          <el-table-column prop="roleName" label="角色权限" min-width="120" />
          <el-table-column prop="age" label="年龄" min-width="150" />
          <el-table-column prop="createTime" label="创建时间" min-width="180" />
          <el-table-column prop="phone" label="电话" min-width="200" />
          <el-table-column prop="email" label="邮箱" min-width="200" />
          <el-table-column prop="jobState" label="在职状态" min-width="120"
            :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]" :filter-method="filterTag"
            filter-placement="bottom-end">
            <template slot-scope="scope">
              <el-tag
                :type="scope.row.businessStatus === 0 ? 'primary' : 'success'"
                disable-transitions
              >{{ scope.row.businessStatus === 0 ? '未同意' : '已同意' }}</el-tag>
              <el-tag :type="scope.row.jobState === 0 ? 'danger' : 'success'" disable-transitions>{{
                scope.row.jobState === 0 ? '离岗' : '在职' }}</el-tag>
            </template>
          </el-table-column>
          <el-table-column
            label="操作"
            min-width="120"
          >
          <el-table-column label="操作" min-width="120">
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="handleClick(scope.row)">编辑</el-button>
              <!-- <el-button type="text" size="small">编辑</el-button> -->
@@ -118,15 +75,9 @@
        </el-table>
        <div>
          <!-- åˆ†é¡µå™¨ -->
          <el-pagination
            :current-page="currentPage"
            :page-sizes="[100, 200, 300, 400]"
            :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="this.personnerlTable.length"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
          />
          <el-pagination :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper" :total="this.personnerlTable.length"
            @size-change="handleSizeChange" @current-change="handleCurrentChange" />
        </div>
      </div>
    </div>
@@ -134,8 +85,8 @@
</template>
<script>
import axios from 'axios'
axios.defaults.baseURL = 'http://192.168.110.167:1234'
import { get, post } from '@/api/util/requestUtil';
import urlInfo from '../../../api/urlEnum/personnel.js'
export default {
  data() {
    return {
@@ -146,7 +97,7 @@
      filteredpersonnerlTable: [],
      currentindex: 1,
      currentPage: 1, // å½“前页码
      total: 20, // æ€»æ¡æ•°
      total: 0, // æ€»æ¡æ•°
      pageSize: 100, // æ¯é¡µçš„æ•°æ®æ¡æ•°
      personData: [], // ç”¨æ¥å­˜æ”¾æŽ¥å£ä¼ è¿‡æ¥çš„人员列表数据
      dialogFormVisible: false,
@@ -193,24 +144,23 @@
      this.currentPage = 1
      this.pageSize = val
    },
    filterTag() {
      console.log(11);
    },
    // å½“前页改变时触发 è·³è½¬å…¶ä»–页
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`)
      this.currentPage = val
    },
    getData() {
      axios.get('/user/list_new_personnel', {
        params: {
    async getData() {
      let data = {
          pageNo: 0,
          pageSize: 20
        pageSize: 20,
        name: this.keyword
        }
      }).then(res => {
        // console.log(res)
        this.personData = res.data.data.row
        this.personnerlTable = this.personData
      }).catch(res => {
        console.log('error')
      })
      let res = await get(urlInfo.url.list_new_personnel, data);
      this.personnerlTable=res.data.row
      this.total=res.data.total
    },
    searchData() {
      this.filteredpersonnerlTable = this.personnerlTable.filter((item) => {
@@ -245,7 +195,7 @@
          return false
        }
      })
    }
    },
  }
}
@@ -253,6 +203,7 @@
<style lang="scss" scoped>
.personnel-main{
  // width: 100%;
  // height: 100%;
  .page-header-search{
@@ -260,10 +211,12 @@
    display: flex;
    justify-content: space-between;
    padding: 0 24px 12px 24px;
     .search-bar{
      .el-form{
       .el-form-item{
         margin-bottom: 0px !important;
         .el-input{
          width: 360px;
         }
@@ -271,9 +224,11 @@
      }
    }
  }
  .personner-table{
    background: #fff;
    padding: 20px 20px 10px 20px;
    >div:nth-child(2){
      display: flex;
      justify-content: end;