This commit is contained in:
		
							parent
							
								
									17ac0b7e6f
								
							
						
					
					
						commit
						f2e49aeba6
					
				| 
						 | 
				
			
			@ -73,10 +73,11 @@ export function bmNoticeInfo(data) {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
//通知-添加人员-未选择人员
 | 
			
		||||
export function getListUnSelected() {
 | 
			
		||||
export function getListUnSelected(params) {
 | 
			
		||||
  return request({
 | 
			
		||||
      url: '/material/purchase_notice_person/listUnSelected',
 | 
			
		||||
      method: 'get',
 | 
			
		||||
      params,
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 通知人员--删除
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -369,6 +369,11 @@
 | 
			
		|||
            <el-form-item label="通知内容:" prop="remark" label-width="100px">
 | 
			
		||||
              <el-input v-model="form.remark" type="textarea" maxlength="100" :autosize="{ minRows: 3, maxRows: 6 }" placeholder="请输入通知内容" style="width: 450px"/>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
            <el-form-item label="人员名称:" prop="userName" label-width="100px">
 | 
			
		||||
              <el-input v-model="form.userName" placeholder="请输入人员名称" style="width: 240px; margin-right: 10px"/>
 | 
			
		||||
              <el-button type="primary" icon="el-icon-search" size="mini" @click="getNoticeList">查询</el-button>
 | 
			
		||||
              <el-button icon="el-icon-refresh" size="mini" @click="resetDiaQuery">重置</el-button>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-form>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
| 
						 | 
				
			
			@ -395,6 +400,13 @@
 | 
			
		|||
 | 
			
		||||
    <!--    人员添加  -->
 | 
			
		||||
    <el-dialog title="人员添加" :visible.sync="peopleOpen" v-if="peopleOpen" width="1000px" append-to-body>
 | 
			
		||||
      <el-form :model="userForm" size="small" inline>
 | 
			
		||||
        <el-form-item label="人员名称:" prop="userName" label-width="100px">
 | 
			
		||||
          <el-input v-model="userForm.userName" placeholder="请输入人员名称" style="width: 240px; margin-right: 10px"/>
 | 
			
		||||
          <el-button type="primary" icon="el-icon-search" size="mini" @click="getAllUserList">查询</el-button>
 | 
			
		||||
          <el-button icon="el-icon-refresh" size="mini" @click="restUser">重置</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionAddUser" height="450">
 | 
			
		||||
        <el-table-column type="selection" width="50" align="center" />
 | 
			
		||||
        <el-table-column label="序号" align="center" type="index" />
 | 
			
		||||
| 
						 | 
				
			
			@ -484,6 +496,8 @@ export default {
 | 
			
		|||
      },
 | 
			
		||||
      form: {
 | 
			
		||||
        remark: "",
 | 
			
		||||
        taskId: "",
 | 
			
		||||
        userName: "",
 | 
			
		||||
      },
 | 
			
		||||
      // 表单校验
 | 
			
		||||
      rules: {
 | 
			
		||||
| 
						 | 
				
			
			@ -491,6 +505,9 @@ export default {
 | 
			
		|||
          { required: true, message: "通知内容不能为空", trigger: "blur" },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
      userForm: {
 | 
			
		||||
        userName: "",
 | 
			
		||||
      },
 | 
			
		||||
      openPrint: false,
 | 
			
		||||
      printData: {},
 | 
			
		||||
      printDataSign: {},
 | 
			
		||||
| 
						 | 
				
			
			@ -665,23 +682,31 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    getNoticeList() {
 | 
			
		||||
      const taskId = this.form.taskId;
 | 
			
		||||
      getNoticePeople({ taskId: taskId }).then((response) => {
 | 
			
		||||
      getNoticePeople({ taskId: taskId, userName: this.form.userName }).then((response) => {
 | 
			
		||||
        this.getListPeople = response.rows;
 | 
			
		||||
        this.showPeople = true;
 | 
			
		||||
        this.loadingTwo = false;
 | 
			
		||||
        this.title = "通知";
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    resetDiaQuery() {
 | 
			
		||||
      this.form.userName = ""
 | 
			
		||||
      this.getNoticeList();
 | 
			
		||||
    },
 | 
			
		||||
    addUserOpen() {
 | 
			
		||||
      this.getAllUserList();
 | 
			
		||||
      this.peopleOpen = true;
 | 
			
		||||
    },
 | 
			
		||||
    /** 查询所有用户列表--可添加人员 */
 | 
			
		||||
    getAllUserList() {
 | 
			
		||||
      getListUnSelected().then((response) => {
 | 
			
		||||
      getListUnSelected({userName: this.userForm.userName}).then((response) => {
 | 
			
		||||
        this.userList = response.rows;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    restUser() {
 | 
			
		||||
      this.userForm.userName = "";
 | 
			
		||||
      this.getAllUserList();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 多选框选中-添加人员
 | 
			
		||||
    handleSelectionAddUser(selection) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,105 +1,195 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="app-container" id="acceptDetail">
 | 
			
		||||
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
 | 
			
		||||
      <el-form-item label="类型规格:" prop="typeId">
 | 
			
		||||
        <el-select v-model="queryParams.typeId" placeholder="请选择类型规格" clearable filterable  >
 | 
			
		||||
          <el-option
 | 
			
		||||
            v-for="dict in materialModelList"
 | 
			
		||||
            :key="dict.value"
 | 
			
		||||
            :label="dict.label"
 | 
			
		||||
            :value="dict.value"
 | 
			
		||||
          />
 | 
			
		||||
        </el-select>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <!-- <el-form-item label="机具厂家:"  prop="supplierId">
 | 
			
		||||
          <el-select v-model="queryParams.supplierId" placeholder="请选择机具厂家" clearable>
 | 
			
		||||
            <el-option
 | 
			
		||||
              v-for="dict in supplierList"
 | 
			
		||||
              :key="dict.value"
 | 
			
		||||
              :label="dict.label"
 | 
			
		||||
              :value="dict.value"
 | 
			
		||||
            />
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item> -->
 | 
			
		||||
      <el-form-item label="出厂日期:" prop="productionTime">
 | 
			
		||||
        <el-date-picker
 | 
			
		||||
          v-model="queryParams.productionTime"
 | 
			
		||||
          placeholder="请选择出厂日期"
 | 
			
		||||
          value-format="yyyy-MM-dd"
 | 
			
		||||
          type="date"
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="19" :offset="0">
 | 
			
		||||
        <el-form
 | 
			
		||||
          :model="queryParams"
 | 
			
		||||
          ref="queryForm"
 | 
			
		||||
          size="small"
 | 
			
		||||
          :inline="true"
 | 
			
		||||
          v-show="showSearch"
 | 
			
		||||
          label-width="90px"
 | 
			
		||||
        >
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item> 
 | 
			
		||||
      <el-form-item>
 | 
			
		||||
        <el-button type="primary" icon="el-icon-search" size="mini" 
 | 
			
		||||
          @click="handleQuery">查询</el-button>
 | 
			
		||||
        <el-button icon="el-icon-refresh" size="mini" 
 | 
			
		||||
          @click="resetQuery">重置</el-button>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
          <el-form-item label="类型规格:" prop="typeId">
 | 
			
		||||
            <el-select v-model="queryParams.typeId" placeholder="请选择类型规格" clearable filterable>
 | 
			
		||||
              <el-option v-for="dict in materialModelList" :key="dict.value" :label="dict.label" :value="dict.value" />
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <!-- <el-form-item label="机具厂家:"  prop="supplierId">
 | 
			
		||||
              <el-select v-model="queryParams.supplierId" placeholder="请选择机具厂家" clearable>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in supplierList"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"
 | 
			
		||||
                />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item> -->
 | 
			
		||||
          <el-form-item label="出厂日期:" prop="productionTime">
 | 
			
		||||
            <el-date-picker
 | 
			
		||||
              v-model="queryParams.productionTime"
 | 
			
		||||
              placeholder="请选择出厂日期"
 | 
			
		||||
              value-format="yyyy-MM-dd"
 | 
			
		||||
              type="date"
 | 
			
		||||
            ></el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item>
 | 
			
		||||
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
 | 
			
		||||
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-form>
 | 
			
		||||
 | 
			
		||||
    <el-row :gutter="10" class="mb8" style="display: flex;align-items: center">
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button type="primary" size="mini" icon="el-icon-back"
 | 
			
		||||
          @click="jumpList">新购到货验收</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button type="warning" plain icon="el-icon-download" size="mini"
 | 
			
		||||
          @click="handleExport">导出</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
        <el-row :gutter="10" class="mb8" style="display: flex; align-items: center">
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="primary" size="mini" icon="el-icon-back" @click="jumpList">新购到货验收</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button type="success"  icon="el-icon-check" size="mini" 
 | 
			
		||||
        @click="batchPass" v-show="!isView" :disabled="multiple">合格</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              icon="el-icon-check"
 | 
			
		||||
              size="mini"
 | 
			
		||||
              @click="batchPass"
 | 
			
		||||
              v-show="!isView"
 | 
			
		||||
              :disabled="multiple"
 | 
			
		||||
            >
 | 
			
		||||
              合格
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button type="danger"  icon="el-icon-close"  size="mini" 
 | 
			
		||||
        @click="batchReject" v-show="!isView" :disabled="multiple">不合格</el-button>
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="danger"
 | 
			
		||||
              icon="el-icon-close"
 | 
			
		||||
              size="mini"
 | 
			
		||||
              @click="batchReject"
 | 
			
		||||
              v-show="!isView"
 | 
			
		||||
              :disabled="multiple"
 | 
			
		||||
            >
 | 
			
		||||
              不合格
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <!-- <el-col :span="1.5">
 | 
			
		||||
            <span>验收人:{{ checkUser }}</span>
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
        </el-row>
 | 
			
		||||
 | 
			
		||||
        <el-table
 | 
			
		||||
          v-loading="loading"
 | 
			
		||||
          :data="tableList"
 | 
			
		||||
          ref="multipleTable"
 | 
			
		||||
          row-key="typeId"
 | 
			
		||||
          @selection-change="handleSelectionChange"
 | 
			
		||||
        >
 | 
			
		||||
          <el-table-column
 | 
			
		||||
            type="selection"
 | 
			
		||||
            width="55"
 | 
			
		||||
            align="center"
 | 
			
		||||
            :selectable="selectable"
 | 
			
		||||
            :reserve-selection="true"
 | 
			
		||||
            v-if="!isView"
 | 
			
		||||
          />
 | 
			
		||||
          <el-table-column label="序号" align="center" width="80" type="index"></el-table-column>
 | 
			
		||||
          <el-table-column label="物资名称" align="center" prop="maTypeName" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="规格型号" align="center" prop="typeName" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="采购数量" align="center" prop="purchaseNum" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="验收数量" align="center" prop="checkNum" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column
 | 
			
		||||
            label="购置单价(元含税)"
 | 
			
		||||
            align="center"
 | 
			
		||||
            prop="purchaseTaxPrice"
 | 
			
		||||
            :show-overflow-tooltip="true"
 | 
			
		||||
          />
 | 
			
		||||
          <!-- <el-table-column
 | 
			
		||||
            label="购置单价(元不含税)"
 | 
			
		||||
            align="center"
 | 
			
		||||
            prop="purchasePrice"
 | 
			
		||||
            :show-overflow-tooltip="true"
 | 
			
		||||
          /> -->
 | 
			
		||||
          <!-- <el-table-column label="供应商" align="center" prop="supplierName" /> -->
 | 
			
		||||
          <el-table-column label="是否未固定资产" align="center" prop="fixCodeStr" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="出厂日期" align="center" prop="productionTime" :show-overflow-tooltip="true" />
 | 
			
		||||
          <el-table-column label="相关配套资料" align="center" prop="" :show-overflow-tooltip="true">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <div
 | 
			
		||||
                style="color: #02a7f0; cursor: pointer"
 | 
			
		||||
                @click="openFileDialog(scope.row)"
 | 
			
		||||
                v-if="scope.row.isExitFile == 0"
 | 
			
		||||
              >
 | 
			
		||||
                报告管理
 | 
			
		||||
              </div>
 | 
			
		||||
              <div
 | 
			
		||||
                style="color: red; cursor: pointer"
 | 
			
		||||
                @click="openFileDialog(scope.row)"
 | 
			
		||||
                v-if="scope.row.isExitFile == 1"
 | 
			
		||||
              >
 | 
			
		||||
                报告管理
 | 
			
		||||
              </div>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <dict-tag :options="dict.type.purchase_task_status" :value="scope.row.status" />
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column label="验收结论" align="center" prop="checkResult" :show-overflow-tooltip="true" />
 | 
			
		||||
          <!-- <el-table-column label="操作" align="center" width="180" v-if="!isView">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-button size="mini" type="success" @click="pass(scope.row)" v-if="scope.row.status==2||scope.row.status==13||scope.row.status==14">
 | 
			
		||||
                合格
 | 
			
		||||
              </el-button>
 | 
			
		||||
              <el-button size="mini" type="danger" @click="reject(scope.row)" v-if="scope.row.status==2||scope.row.status==13||scope.row.status==14">
 | 
			
		||||
                不合格
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column> -->
 | 
			
		||||
        </el-table>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <span>验收人:{{ checkUser }}</span>
 | 
			
		||||
      <el-col :span="5" :offset="0">
 | 
			
		||||
        <div class="right-container">
 | 
			
		||||
          <div class="right-title">
 | 
			
		||||
            <div></div>
 | 
			
		||||
            <div></div>
 | 
			
		||||
            <div>流程记录</div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="process-record">
 | 
			
		||||
            <el-steps :space="120" direction="vertical">
 | 
			
		||||
              <el-step v-for="(step, index) in auditingList" :key="index" :title="step.nodeName">
 | 
			
		||||
                <template slot="description">
 | 
			
		||||
                  <div class="custom-description">
 | 
			
		||||
                    审核结果:
 | 
			
		||||
                    <el-tag size="mini" type="primary" v-if="step.isAccept === 0">待审批</el-tag>
 | 
			
		||||
                    <el-tag size="mini" type="success" v-if="step.isAccept === 1">已通过</el-tag>
 | 
			
		||||
                    <el-tag size="mini" type="danger" v-if="step.isAccept === 2">已驳回</el-tag>
 | 
			
		||||
                  </div>
 | 
			
		||||
 | 
			
		||||
                   <div class="node-info" v-if="step.name">
 | 
			
		||||
                    审核人:
 | 
			
		||||
                    {{ step.name }}
 | 
			
		||||
                  </div>
 | 
			
		||||
 | 
			
		||||
                  <div class="node-info" v-if="step.createTime">
 | 
			
		||||
                    审核时间:
 | 
			
		||||
                    {{ step.createTime }}
 | 
			
		||||
                  </div>
 | 
			
		||||
 | 
			
		||||
                  <div class="node-info" v-if="step.remark">
 | 
			
		||||
                    审核意见:
 | 
			
		||||
                    {{ step.remark }}
 | 
			
		||||
                  </div>
 | 
			
		||||
                </template>
 | 
			
		||||
              </el-step>
 | 
			
		||||
            </el-steps>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
 | 
			
		||||
    <el-table v-loading="loading" :data="tableList" ref="multipleTable" row-key="typeId" @selection-change="handleSelectionChange">
 | 
			
		||||
      <el-table-column type="selection" width="55" align="center" :selectable="selectable" :reserve-selection="true" v-if="!isView"/>
 | 
			
		||||
      <el-table-column label="序号" align="center" width="80" type="index">
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="物资名称" align="center" prop="maTypeName" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="规格型号" align="center" prop="typeName" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="采购数量" align="center" prop="purchaseNum" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="验收数量" align="center" prop="checkNum" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="购置单价(元含税)" align="center" prop="purchaseTaxPrice" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="购置单价(元不含税)" align="center" prop="purchasePrice" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <!-- <el-table-column label="供应商" align="center" prop="supplierName" /> -->
 | 
			
		||||
      <el-table-column label="是否未固定资产" align="center" prop="fixCodeStr" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="出厂日期" align="center" prop="productionTime" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="相关配套资料" align="center" prop="" :show-overflow-tooltip="true">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <div style="color: #02A7F0;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==0">报告管理</div>
 | 
			
		||||
          <div style="color: red;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==1">报告管理</div>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <dict-tag :options="dict.type.purchase_task_status" :value="scope.row.status"/>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="验收结论" align="center" prop="checkResult" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <!-- <el-table-column label="操作" align="center" width="180" v-if="!isView">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-button size="mini" type="success" @click="pass(scope.row)" v-if="scope.row.status==2||scope.row.status==13||scope.row.status==14">
 | 
			
		||||
            合格
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button size="mini" type="danger" @click="reject(scope.row)" v-if="scope.row.status==2||scope.row.status==13||scope.row.status==14">
 | 
			
		||||
            不合格
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column> -->
 | 
			
		||||
    </el-table>
 | 
			
		||||
 | 
			
		||||
    <!-- <pagination
 | 
			
		||||
        v-show="total>0"
 | 
			
		||||
        :total="total"
 | 
			
		||||
| 
						 | 
				
			
			@ -111,8 +201,8 @@
 | 
			
		|||
    <el-dialog title="报告管理" :visible.sync="open" width="900px" append-to-body>
 | 
			
		||||
      <el-table v-loading="dialogLoading" :data="fileDataList" width="100%" height="350px">
 | 
			
		||||
        <el-table-column label="序号" type="index" width="55" align="center" />
 | 
			
		||||
        <el-table-column label="报告类型" align="center" prop="dictLabel" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="文件名称" align="center" prop="name" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="报告类型" align="center" prop="dictLabel" :show-overflow-tooltip="true" />
 | 
			
		||||
        <el-table-column label="文件名称" align="center" prop="name" :show-overflow-tooltip="true" />
 | 
			
		||||
        <el-table-column label="类型名称" align="center" :show-overflow-tooltip="true">
 | 
			
		||||
          <template>
 | 
			
		||||
            <div>{{ this.rowData.maTypeName }}</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -127,19 +217,29 @@
 | 
			
		|||
            <el-table-column label="截止有效期" align="center" prop="orgName" :show-overflow-tooltip="true"/> -->
 | 
			
		||||
        <el-table-column label="操作" align="center" width="100">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
            <div style="display: flex;align-items: center;justify-content: center;">
 | 
			
		||||
                <el-upload ref="upload" :limit="3" :headers="upload.headers"
 | 
			
		||||
                :action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
 | 
			
		||||
                :on-success="handleFileSuccess"   :auto-upload="true"
 | 
			
		||||
                >
 | 
			
		||||
                  <el-button size="mini" type="text" @click="beforeFileUpload(scope.row)" v-if="!isView">
 | 
			
		||||
                          上传
 | 
			
		||||
                  </el-button>
 | 
			
		||||
                </el-upload>
 | 
			
		||||
            <div style="display: flex; align-items: center; justify-content: center">
 | 
			
		||||
              <el-upload
 | 
			
		||||
                ref="upload"
 | 
			
		||||
                :limit="3"
 | 
			
		||||
                :headers="upload.headers"
 | 
			
		||||
                :action="upload.url"
 | 
			
		||||
                :show-file-list="false"
 | 
			
		||||
                accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
 | 
			
		||||
                :on-success="handleFileSuccess"
 | 
			
		||||
                :auto-upload="true"
 | 
			
		||||
              >
 | 
			
		||||
                <el-button size="mini" type="text" @click="beforeFileUpload(scope.row)" v-if="!isView">上传</el-button>
 | 
			
		||||
              </el-upload>
 | 
			
		||||
 | 
			
		||||
                <el-button size="mini" type="text" @click="picturePreview(scope.row)" v-if="scope.row.url" style="margin-left: 10px;">
 | 
			
		||||
                    查看
 | 
			
		||||
                </el-button>
 | 
			
		||||
              <el-button
 | 
			
		||||
                size="mini"
 | 
			
		||||
                type="text"
 | 
			
		||||
                @click="picturePreview(scope.row)"
 | 
			
		||||
                v-if="scope.row.url"
 | 
			
		||||
                style="margin-left: 10px"
 | 
			
		||||
              >
 | 
			
		||||
                查看
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </div>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
| 
						 | 
				
			
			@ -153,11 +253,18 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 验收弹窗 -->
 | 
			
		||||
    <el-dialog title="验收" :visible.sync="confirmShow" width="600px" height="300px">
 | 
			
		||||
      <div style="width: 100%; height: 80%; display: flex;margin-bottom: 10px;">
 | 
			
		||||
        <div style="width:15%;">验收结论:</div>
 | 
			
		||||
        <el-input type="textarea" :rows="3" style="width:80%;" placeholder="请输入结论" v-model="checkResult" maxlength="100"></el-input>
 | 
			
		||||
      <div style="width: 100%; height: 80%; display: flex; margin-bottom: 10px">
 | 
			
		||||
        <div style="width: 15%">验收结论:</div>
 | 
			
		||||
        <el-input
 | 
			
		||||
          type="textarea"
 | 
			
		||||
          :rows="3"
 | 
			
		||||
          style="width: 80%"
 | 
			
		||||
          placeholder="请输入结论"
 | 
			
		||||
          v-model="checkResult"
 | 
			
		||||
          maxlength="100"
 | 
			
		||||
        ></el-input>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div style="width: 100%;height: 20%;display: flex;justify-content: flex-end;align-items: center;">
 | 
			
		||||
      <div style="width: 100%; height: 20%; display: flex; justify-content: flex-end; align-items: center">
 | 
			
		||||
        <el-button type="primary" @click="confirmCheck">确认</el-button>
 | 
			
		||||
        <el-button size="mini" @click="confirmShow = false">取消</el-button>
 | 
			
		||||
      </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -165,25 +272,25 @@
 | 
			
		|||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
  <script>
 | 
			
		||||
import { getDeviceType } from "@/api/ma/device";
 | 
			
		||||
import { getManufacturerSelect } from "@/api/ma/supplier";
 | 
			
		||||
<script>
 | 
			
		||||
import { getDeviceType } from '@/api/ma/device'
 | 
			
		||||
import { getManufacturerSelect } from '@/api/ma/supplier'
 | 
			
		||||
import {
 | 
			
		||||
  getPurchaseDetailsList,
 | 
			
		||||
  acceptInnerVerifyer,
 | 
			
		||||
  getPurchaseFileList,
 | 
			
		||||
  uploadPurchaseFile,
 | 
			
		||||
  getCheckUserList,
 | 
			
		||||
} from "@/api/purchase/goodsAccept";
 | 
			
		||||
import { downloadFile } from "@/utils/download";
 | 
			
		||||
import { getToken } from "@/utils/auth";
 | 
			
		||||
  getCheckUserList
 | 
			
		||||
} from '@/api/purchase/goodsAccept'
 | 
			
		||||
import { downloadFile } from '@/utils/download'
 | 
			
		||||
import { getToken } from '@/utils/auth'
 | 
			
		||||
export default {
 | 
			
		||||
  name: "AcceptDetail",
 | 
			
		||||
  dicts: ["purchase_task_status"],
 | 
			
		||||
  name: 'AcceptDetail',
 | 
			
		||||
  dicts: ['purchase_task_status'],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      Id: "",
 | 
			
		||||
      taskId: "",
 | 
			
		||||
      Id: '',
 | 
			
		||||
      taskId: '',
 | 
			
		||||
      // 遮罩层
 | 
			
		||||
      loading: false,
 | 
			
		||||
      dialogLoading: false,
 | 
			
		||||
| 
						 | 
				
			
			@ -203,18 +310,18 @@ export default {
 | 
			
		|||
      total: 0,
 | 
			
		||||
      //表格数据
 | 
			
		||||
      tableList: [],
 | 
			
		||||
      fixCodeList: ["否", "是"],
 | 
			
		||||
      fixCodeList: ['否', '是'],
 | 
			
		||||
      // 弹出层标题
 | 
			
		||||
      title: "",
 | 
			
		||||
      title: '',
 | 
			
		||||
      // 是否显示弹出层
 | 
			
		||||
      open: false,
 | 
			
		||||
      rowData: {},
 | 
			
		||||
      fileDataList: [
 | 
			
		||||
        { dictLabel: "合格证", fileType: "0", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "型式试验报告", fileType: "1", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "出厂检测报告", fileType: "2", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "第三方监测报告", fileType: "3", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "其他", fileType: "4", name: "", url: "" },
 | 
			
		||||
        { dictLabel: '合格证', fileType: '0', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '型式试验报告', fileType: '1', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '第三方监测报告', fileType: '3', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '其他', fileType: '4', name: '', url: '' }
 | 
			
		||||
      ],
 | 
			
		||||
      // 查询参数
 | 
			
		||||
      queryParams: {
 | 
			
		||||
| 
						 | 
				
			
			@ -222,49 +329,54 @@ export default {
 | 
			
		|||
        // pageSize: 10,
 | 
			
		||||
        typeId: undefined,
 | 
			
		||||
        supplierId: undefined,
 | 
			
		||||
        productionTime: undefined,
 | 
			
		||||
        productionTime: undefined
 | 
			
		||||
      },
 | 
			
		||||
      //确认弹窗
 | 
			
		||||
      confirmShow: false,
 | 
			
		||||
      taskStatus: "", //3合格、1不合格
 | 
			
		||||
      checkResult: "",
 | 
			
		||||
      taskStatus: '', //3合格、1不合格
 | 
			
		||||
      checkResult: '',
 | 
			
		||||
      verifyPass: true, //true合格、false不合格
 | 
			
		||||
      //图片查看弹窗
 | 
			
		||||
      dialogImageUrl: "",
 | 
			
		||||
      dialogImageUrl: '',
 | 
			
		||||
      dialogVisible: false,
 | 
			
		||||
      //上传
 | 
			
		||||
      upload: {
 | 
			
		||||
        // 设置上传的请求头部
 | 
			
		||||
        headers: { Authorization: "Bearer " + getToken() },
 | 
			
		||||
        headers: { Authorization: 'Bearer ' + getToken() },
 | 
			
		||||
        // 上传的地址
 | 
			
		||||
        url: process.env.VUE_APP_BASE_API + "/file/upload",
 | 
			
		||||
        url: process.env.VUE_APP_BASE_API + '/file/upload'
 | 
			
		||||
      },
 | 
			
		||||
      checkUserList: [], // 验收人列表
 | 
			
		||||
      checkUser: '', // 验收人
 | 
			
		||||
    };
 | 
			
		||||
      auditingList: [
 | 
			
		||||
        { nodeName: '供应科审核', isAccept: 1, name: '姚士超', createTime: '2025-05-21' },
 | 
			
		||||
        { nodeName: '技术科审核', isAccept: 0 },
 | 
			
		||||
        { nodeName: '库管班审核', isAccept: 0 }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    const taskId = this.$route.query && this.$route.query.taskId;
 | 
			
		||||
    const Id = this.$route.query && this.$route.query.Id;
 | 
			
		||||
    const isView = this.$route.query && this.$route.query.isView;
 | 
			
		||||
    this.taskId = taskId;
 | 
			
		||||
    this.Id = Id;
 | 
			
		||||
    if (isView == "true") {
 | 
			
		||||
      this.isView = true;
 | 
			
		||||
    const taskId = this.$route.query && this.$route.query.taskId
 | 
			
		||||
    const Id = this.$route.query && this.$route.query.Id
 | 
			
		||||
    const isView = this.$route.query && this.$route.query.isView
 | 
			
		||||
    this.taskId = taskId
 | 
			
		||||
    this.Id = Id
 | 
			
		||||
    if (isView == 'true') {
 | 
			
		||||
      this.isView = true
 | 
			
		||||
    } else {
 | 
			
		||||
      this.isView = false;
 | 
			
		||||
      this.isView = false
 | 
			
		||||
    }
 | 
			
		||||
    this.getDeviceType();
 | 
			
		||||
    this.getDeviceType()
 | 
			
		||||
    // this.getSupplierList()
 | 
			
		||||
    console.log(this.isView);
 | 
			
		||||
    this.getList();
 | 
			
		||||
    console.log(this.isView)
 | 
			
		||||
    this.getList()
 | 
			
		||||
    this.getCheckUser()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // 获取验收人
 | 
			
		||||
    async getCheckUser() {
 | 
			
		||||
      try {
 | 
			
		||||
        const res = await getCheckUserList({taskId: this.taskId})
 | 
			
		||||
        const res = await getCheckUserList({ taskId: this.taskId })
 | 
			
		||||
        console.log('🚀 ~ getCheckUser ~ res:', res)
 | 
			
		||||
        if (res.data) {
 | 
			
		||||
          res.data.forEach(item => {
 | 
			
		||||
| 
						 | 
				
			
			@ -283,195 +395,193 @@ export default {
 | 
			
		|||
    //是否可用勾选框
 | 
			
		||||
    selectable(row) {
 | 
			
		||||
      console.log(row)
 | 
			
		||||
      if (row.status == 2||row.status == 13 ||row.status == 14) {
 | 
			
		||||
          return true
 | 
			
		||||
      if (row.status == 2 || row.status == 13 || row.status == 14) {
 | 
			
		||||
        return true
 | 
			
		||||
      } else {
 | 
			
		||||
          return false
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // 返回列表页
 | 
			
		||||
    jumpList() {
 | 
			
		||||
      const obj = { path: "/purchase/goodsAccept" };
 | 
			
		||||
      this.$tab.closeOpenPage(obj);
 | 
			
		||||
      const obj = { path: '/purchase/goodsAccept' }
 | 
			
		||||
      this.$tab.closeOpenPage(obj)
 | 
			
		||||
    },
 | 
			
		||||
    getDeviceType() {
 | 
			
		||||
      getDeviceType({ level: 4, skipPermission: 1 }).then((response) => {
 | 
			
		||||
        let matModelRes = response.data;
 | 
			
		||||
        this.materialModelList = matModelRes.map((item) => {
 | 
			
		||||
      getDeviceType({ level: 4, skipPermission: 1 }).then(response => {
 | 
			
		||||
        let matModelRes = response.data
 | 
			
		||||
        this.materialModelList = matModelRes.map(item => {
 | 
			
		||||
          return {
 | 
			
		||||
            label: item.typeName,
 | 
			
		||||
            value: item.typeId,
 | 
			
		||||
          };
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
            value: item.typeId
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    getSupplierList() {
 | 
			
		||||
      getManufacturerSelect().then((response) => {
 | 
			
		||||
        let arrRes = response.rows;
 | 
			
		||||
        this.supplierList = arrRes.map((item) => {
 | 
			
		||||
      getManufacturerSelect().then(response => {
 | 
			
		||||
        let arrRes = response.rows
 | 
			
		||||
        this.supplierList = arrRes.map(item => {
 | 
			
		||||
          return {
 | 
			
		||||
            label: item.supplier,
 | 
			
		||||
            value: item.supplierId,
 | 
			
		||||
          };
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
            value: item.supplierId
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    /** 查询列表 */
 | 
			
		||||
    getList() {
 | 
			
		||||
      this.loading = true;
 | 
			
		||||
      this.queryParams.id = this.Id;
 | 
			
		||||
      this.queryParams.taskId = this.taskId;
 | 
			
		||||
      this.queryParams.taskStage = 2;
 | 
			
		||||
      getPurchaseDetailsList(this.queryParams).then((response) => {
 | 
			
		||||
        this.tableList = response.data.purchaseCheckDetailsList;
 | 
			
		||||
        this.tableList.forEach((item) => {
 | 
			
		||||
          item.fixCodeStr = this.fixCodeList[Number(item.fixCode)];
 | 
			
		||||
        });
 | 
			
		||||
      this.loading = true
 | 
			
		||||
      this.queryParams.id = this.Id
 | 
			
		||||
      this.queryParams.taskId = this.taskId
 | 
			
		||||
      this.queryParams.taskStage = 2
 | 
			
		||||
      getPurchaseDetailsList(this.queryParams).then(response => {
 | 
			
		||||
        this.tableList = response.data.purchaseCheckDetailsList
 | 
			
		||||
        this.tableList.forEach(item => {
 | 
			
		||||
          item.fixCodeStr = this.fixCodeList[Number(item.fixCode)]
 | 
			
		||||
        })
 | 
			
		||||
        // this.total = response.total;
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
      });
 | 
			
		||||
        this.loading = false
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    /** 重置按钮操作 */
 | 
			
		||||
    resetQuery() {
 | 
			
		||||
      this.resetForm("queryForm");
 | 
			
		||||
      this.queryParams.keyWord = null;
 | 
			
		||||
      this.handleQuery();
 | 
			
		||||
      this.resetForm('queryForm')
 | 
			
		||||
      this.queryParams.keyWord = null
 | 
			
		||||
      this.handleQuery()
 | 
			
		||||
    },
 | 
			
		||||
    /** 搜索按钮操作 */
 | 
			
		||||
    handleQuery() {
 | 
			
		||||
      this.queryParams.pageNum = 1;
 | 
			
		||||
      this.getList();
 | 
			
		||||
      this.queryParams.pageNum = 1
 | 
			
		||||
      this.getList()
 | 
			
		||||
    },
 | 
			
		||||
    // 多选框选中数据
 | 
			
		||||
    handleSelectionChange(selection) {
 | 
			
		||||
      this.ids = selection;
 | 
			
		||||
      this.single = selection.length != 1;
 | 
			
		||||
      this.multiple = !selection.length;
 | 
			
		||||
      this.ids = selection
 | 
			
		||||
      this.single = selection.length != 1
 | 
			
		||||
      this.multiple = !selection.length
 | 
			
		||||
    },
 | 
			
		||||
    //合格
 | 
			
		||||
    pass(row) {
 | 
			
		||||
      this.taskStatus = "3";
 | 
			
		||||
      this.checkResult = "合格";
 | 
			
		||||
      this.verifyPass = true;
 | 
			
		||||
      this.taskStatus = '3'
 | 
			
		||||
      this.checkResult = '合格'
 | 
			
		||||
      this.verifyPass = true
 | 
			
		||||
      let obj = {
 | 
			
		||||
        taskId: row.taskId,
 | 
			
		||||
        typeId: row.typeId,
 | 
			
		||||
        status: this.taskStatus,
 | 
			
		||||
        checkResult: this.checkResult,
 | 
			
		||||
        manageType: row.manageType,
 | 
			
		||||
      };
 | 
			
		||||
      this.checkList = [];
 | 
			
		||||
      this.checkList.push(obj);
 | 
			
		||||
      this.confirmShow = true;
 | 
			
		||||
        manageType: row.manageType
 | 
			
		||||
      }
 | 
			
		||||
      this.checkList = []
 | 
			
		||||
      this.checkList.push(obj)
 | 
			
		||||
      this.confirmShow = true
 | 
			
		||||
    },
 | 
			
		||||
    //不合格
 | 
			
		||||
    reject(row) {
 | 
			
		||||
      this.taskStatus = "1";
 | 
			
		||||
      this.checkResult = "不合格";
 | 
			
		||||
      this.verifyPass = false;
 | 
			
		||||
      this.taskStatus = '1'
 | 
			
		||||
      this.checkResult = '不合格'
 | 
			
		||||
      this.verifyPass = false
 | 
			
		||||
      let obj = {
 | 
			
		||||
        taskId: row.taskId,
 | 
			
		||||
        typeId: row.typeId,
 | 
			
		||||
        status: this.taskStatus,
 | 
			
		||||
        checkResult: this.checkResult,
 | 
			
		||||
        manageType: row.manageType,
 | 
			
		||||
      };
 | 
			
		||||
      this.checkList = [];
 | 
			
		||||
      this.checkList.push(obj);
 | 
			
		||||
      this.confirmShow = true;
 | 
			
		||||
        manageType: row.manageType
 | 
			
		||||
      }
 | 
			
		||||
      this.checkList = []
 | 
			
		||||
      this.checkList.push(obj)
 | 
			
		||||
      this.confirmShow = true
 | 
			
		||||
    },
 | 
			
		||||
    //批量合格
 | 
			
		||||
    batchPass() {
 | 
			
		||||
      this.taskStatus = "3";
 | 
			
		||||
      this.checkResult = "合格";
 | 
			
		||||
      this.verifyPass = true;
 | 
			
		||||
      this.checkList = [];
 | 
			
		||||
      this.checkList = this.ids.map((item) => {
 | 
			
		||||
      this.taskStatus = '3'
 | 
			
		||||
      this.checkResult = '合格'
 | 
			
		||||
      this.verifyPass = true
 | 
			
		||||
      this.checkList = []
 | 
			
		||||
      this.checkList = this.ids.map(item => {
 | 
			
		||||
        let obj = {
 | 
			
		||||
          taskId: item.taskId,
 | 
			
		||||
          typeId: item.typeId,
 | 
			
		||||
          status: this.taskStatus,
 | 
			
		||||
          checkResult: this.checkResult,
 | 
			
		||||
          manageType: item.manageType,
 | 
			
		||||
        };
 | 
			
		||||
        return obj;
 | 
			
		||||
      });
 | 
			
		||||
      this.confirmShow = true;
 | 
			
		||||
          manageType: item.manageType
 | 
			
		||||
        }
 | 
			
		||||
        return obj
 | 
			
		||||
      })
 | 
			
		||||
      this.confirmShow = true
 | 
			
		||||
    },
 | 
			
		||||
    //批量不合格
 | 
			
		||||
    batchReject() {
 | 
			
		||||
      this.taskStatus = "1";
 | 
			
		||||
      this.checkResult = "不合格";
 | 
			
		||||
      this.verifyPass = false;
 | 
			
		||||
      this.checkList = [];
 | 
			
		||||
      this.checkList = this.ids.map((item) => {
 | 
			
		||||
      this.taskStatus = '1'
 | 
			
		||||
      this.checkResult = '不合格'
 | 
			
		||||
      this.verifyPass = false
 | 
			
		||||
      this.checkList = []
 | 
			
		||||
      this.checkList = this.ids.map(item => {
 | 
			
		||||
        let obj = {
 | 
			
		||||
          taskId: item.taskId,
 | 
			
		||||
          typeId: item.typeId,
 | 
			
		||||
          status: this.taskStatus,
 | 
			
		||||
          checkResult: this.checkResult,
 | 
			
		||||
          manageType: item.manageType,
 | 
			
		||||
        };
 | 
			
		||||
        return obj;
 | 
			
		||||
      });
 | 
			
		||||
      this.confirmShow = true;
 | 
			
		||||
          manageType: item.manageType
 | 
			
		||||
        }
 | 
			
		||||
        return obj
 | 
			
		||||
      })
 | 
			
		||||
      this.confirmShow = true
 | 
			
		||||
    },
 | 
			
		||||
    //验收确认请求
 | 
			
		||||
    confirmCheck() {
 | 
			
		||||
      this.checkList.forEach((item) => {
 | 
			
		||||
        item.checkResult = this.checkResult;
 | 
			
		||||
      });
 | 
			
		||||
      this.checkList.forEach(item => {
 | 
			
		||||
        item.checkResult = this.checkResult
 | 
			
		||||
      })
 | 
			
		||||
      let param = {
 | 
			
		||||
        purchaseCheckDetailsList:this.checkList,
 | 
			
		||||
        verifyPass:this.verifyPass
 | 
			
		||||
        purchaseCheckDetailsList: this.checkList,
 | 
			
		||||
        verifyPass: this.verifyPass
 | 
			
		||||
      }
 | 
			
		||||
      console.log(param);
 | 
			
		||||
      acceptInnerVerifyer(param).then((response) => {
 | 
			
		||||
      console.log(param)
 | 
			
		||||
      acceptInnerVerifyer(param).then(response => {
 | 
			
		||||
        if (response.code == 200) {
 | 
			
		||||
          this.$modal.msgSuccess(response.msg);
 | 
			
		||||
          this.confirmShow = false;
 | 
			
		||||
          this.getList();
 | 
			
		||||
          this.$refs.multipleTable.clearSelection();
 | 
			
		||||
          this.$modal.msgSuccess(response.msg)
 | 
			
		||||
          this.confirmShow = false
 | 
			
		||||
          this.getList()
 | 
			
		||||
          this.$refs.multipleTable.clearSelection()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    //文件管理
 | 
			
		||||
    openFileDialog(row) {
 | 
			
		||||
      this.rowData = row;
 | 
			
		||||
      this.rowData = row
 | 
			
		||||
      this.fileDataList = [
 | 
			
		||||
        { dictLabel: "合格证", fileType: "0", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "型式试验报告", fileType: "1", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "出厂检测报告", fileType: "2", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "第三方监测报告", fileType: "3", name: "", url: "" },
 | 
			
		||||
        { dictLabel: "其他", fileType: "4", name: "", url: "" },
 | 
			
		||||
      ];
 | 
			
		||||
      this.getFileData();
 | 
			
		||||
      this.open = true;
 | 
			
		||||
        { dictLabel: '合格证', fileType: '0', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '型式试验报告', fileType: '1', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '第三方监测报告', fileType: '3', name: '', url: '' },
 | 
			
		||||
        { dictLabel: '其他', fileType: '4', name: '', url: '' }
 | 
			
		||||
      ]
 | 
			
		||||
      this.getFileData()
 | 
			
		||||
      this.open = true
 | 
			
		||||
    },
 | 
			
		||||
    //获取已上传文件
 | 
			
		||||
    getFileData() {
 | 
			
		||||
      let param = {
 | 
			
		||||
        modelId: this.rowData.typeId,
 | 
			
		||||
        taskType: 0,
 | 
			
		||||
        taskId: this.rowData.taskId,
 | 
			
		||||
      };
 | 
			
		||||
        taskId: this.rowData.taskId
 | 
			
		||||
      }
 | 
			
		||||
      getPurchaseFileList(param)
 | 
			
		||||
        .then((response) => {
 | 
			
		||||
        .then(response => {
 | 
			
		||||
          if (response.rows.length > 0) {
 | 
			
		||||
            response.rows.forEach((item) => {
 | 
			
		||||
              let index = this.fileDataList.findIndex(
 | 
			
		||||
                (v) => v.fileType == item.fileType
 | 
			
		||||
              );
 | 
			
		||||
              this.fileDataList[index].name = item.name;
 | 
			
		||||
              this.fileDataList[index].url = item.url;
 | 
			
		||||
            });
 | 
			
		||||
            response.rows.forEach(item => {
 | 
			
		||||
              let index = this.fileDataList.findIndex(v => v.fileType == item.fileType)
 | 
			
		||||
              this.fileDataList[index].name = item.name
 | 
			
		||||
              this.fileDataList[index].url = item.url
 | 
			
		||||
            })
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {});
 | 
			
		||||
        .catch(() => {})
 | 
			
		||||
    },
 | 
			
		||||
    //上传
 | 
			
		||||
    beforeFileUpload(row) {
 | 
			
		||||
      this.rowData.fileType = row.fileType;
 | 
			
		||||
      this.rowData.fileType = row.fileType
 | 
			
		||||
      // this.rowData.dictLabel=row.dictLabel;
 | 
			
		||||
    },
 | 
			
		||||
    // 文件上传成功处理
 | 
			
		||||
| 
						 | 
				
			
			@ -479,47 +589,54 @@ export default {
 | 
			
		|||
      if (response.code == 200) {
 | 
			
		||||
        let param = {
 | 
			
		||||
          taskId: this.taskId,
 | 
			
		||||
          taskType: "0",
 | 
			
		||||
          taskType: '0',
 | 
			
		||||
          name: response.data.name,
 | 
			
		||||
          url: response.data.url,
 | 
			
		||||
          modelId: this.rowData.typeId,
 | 
			
		||||
          fileType: this.rowData.fileType,
 | 
			
		||||
        };
 | 
			
		||||
        console.log(param);
 | 
			
		||||
          fileType: this.rowData.fileType
 | 
			
		||||
        }
 | 
			
		||||
        console.log(param)
 | 
			
		||||
        uploadPurchaseFile(param)
 | 
			
		||||
          .then((response) => {
 | 
			
		||||
            this.$modal.msgSuccess("上传成功");
 | 
			
		||||
            this.getFileData();
 | 
			
		||||
          .then(response => {
 | 
			
		||||
            this.$modal.msgSuccess('上传成功')
 | 
			
		||||
            this.getFileData()
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
            this.$modal.msgError("上传失败");
 | 
			
		||||
          });
 | 
			
		||||
            this.$modal.msgError('上传失败')
 | 
			
		||||
          })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    //图片查看
 | 
			
		||||
    picturePreview(file) {
 | 
			
		||||
      this.dialogImageUrl = file.url.replaceAll('#','%23');
 | 
			
		||||
      const parts = file.name.split(".");
 | 
			
		||||
      const extension = parts.pop();
 | 
			
		||||
      if (extension === 'doc' || extension === 'DOC' || extension === 'docx' || extension === 'DOCX' || extension === 'pdf' || extension === 'PDF') {
 | 
			
		||||
        const windowName = file.name;
 | 
			
		||||
        window.open(file.url, windowName);
 | 
			
		||||
      this.dialogImageUrl = file.url.replaceAll('#', '%23')
 | 
			
		||||
      const parts = file.name.split('.')
 | 
			
		||||
      const extension = parts.pop()
 | 
			
		||||
      if (
 | 
			
		||||
        extension === 'doc' ||
 | 
			
		||||
        extension === 'DOC' ||
 | 
			
		||||
        extension === 'docx' ||
 | 
			
		||||
        extension === 'DOCX' ||
 | 
			
		||||
        extension === 'pdf' ||
 | 
			
		||||
        extension === 'PDF'
 | 
			
		||||
      ) {
 | 
			
		||||
        const windowName = file.name
 | 
			
		||||
        window.open(file.url, windowName)
 | 
			
		||||
      } else {
 | 
			
		||||
        this.dialogVisible = true;
 | 
			
		||||
        this.dialogVisible = true
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    /** 导出按钮操作 */
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      this.download(
 | 
			
		||||
        "/material/purchase_check_info/exportDetails",
 | 
			
		||||
        { taskId: this.taskId, taskStage: 2,id:this.Id },
 | 
			
		||||
        '/material/purchase_check_info/exportDetails',
 | 
			
		||||
        { taskId: this.taskId, taskStage: 2, id: this.Id },
 | 
			
		||||
        `新购到货详情_${new Date().getTime()}.xlsx`
 | 
			
		||||
      );
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
      )
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
  <style lang="scss" scoped>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.uploadImg {
 | 
			
		||||
  padding-top: 20px;
 | 
			
		||||
  display: flex;
 | 
			
		||||
| 
						 | 
				
			
			@ -541,4 +658,70 @@ export default {
 | 
			
		|||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.right-container {
 | 
			
		||||
  padding: 0 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right-title {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
  & div:first-child {
 | 
			
		||||
    width: 16px;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    border-radius: 50%;
 | 
			
		||||
    background-color: #19a4a0;
 | 
			
		||||
    z-index: 9;
 | 
			
		||||
  }
 | 
			
		||||
  & div:nth-child(2) {
 | 
			
		||||
    width: 16px;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    border-radius: 50%;
 | 
			
		||||
    background-color: #b2e1e0;
 | 
			
		||||
    transform: translateX(-50%);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.process-record {
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
  //   height: 60vh;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.btn-container {
 | 
			
		||||
  margin-top: 10px;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-around;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep .el-step__icon.is-text {
 | 
			
		||||
  background-color: #19a4a0;
 | 
			
		||||
  color: #19a4a0;
 | 
			
		||||
  border: none;
 | 
			
		||||
  width: 16px;
 | 
			
		||||
  height: 16px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep .el-step.is-vertical .el-step__line {
 | 
			
		||||
  width: 2px;
 | 
			
		||||
  top: 26px;
 | 
			
		||||
  bottom: 8px;
 | 
			
		||||
  left: 7px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep .el-step__title.is-finish {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  color: #303133;
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep .el-step__title.is-wait {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  color: #303133;
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
}
 | 
			
		||||
// 居中
 | 
			
		||||
.cont-center {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -83,7 +83,7 @@
 | 
			
		|||
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
 | 
			
		||||
    </el-row>
 | 
			
		||||
 | 
			
		||||
    <el-table v-loading="loading" :data="typeList" row-key="id" border>
 | 
			
		||||
    <el-table v-loading="loading" :data="typeList" border>
 | 
			
		||||
      <!-- <el-table-column type="selection" width="55" align="center" /> -->
 | 
			
		||||
      <el-table-column width="50" align="center" label="序号" type="index" :index="indexContinuation(queryParams.pageNum, queryParams.pageSize)" />
 | 
			
		||||
      <el-table-column align="center" width="110" label="到货时间" prop="arrivalTime" :show-overflow-tooltip="true"/>
 | 
			
		||||
| 
						 | 
				
			
			@ -223,11 +223,16 @@
 | 
			
		|||
            <el-form-item label="通知内容:" prop="remark" label-width="100px">
 | 
			
		||||
              <el-input v-model="form.remark" type="textarea" maxlength="100" :autosize="{ minRows: 3, maxRows: 6 }" placeholder="请输入通知内容" style="width: 450px"/>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
            <el-form-item label="人员名称:" prop="userName" label-width="100px">
 | 
			
		||||
              <el-input v-model="form.userName" placeholder="请输入人员名称" style="width: 240px; margin-right: 10px"/>
 | 
			
		||||
              <el-button type="primary" icon="el-icon-search" size="mini" @click="getNoticeList">查询</el-button>
 | 
			
		||||
              <el-button icon="el-icon-refresh" size="mini" @click="resetDiaQuery">重置</el-button>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-form>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
 | 
			
		||||
      <el-table :data="getListPeople" width="600px" height="450" @selection-change="handleSelectionUser">
 | 
			
		||||
      <el-table :data="getListPeople" width="600px" height="450" @selection-change="handleSelectionUser" row-key="id">
 | 
			
		||||
        <el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
 | 
			
		||||
        <el-table-column label="人员名称" align="center" prop="userName" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="所属机构" align="center" prop="deptName" :show-overflow-tooltip="true"/>
 | 
			
		||||
| 
						 | 
				
			
			@ -249,6 +254,13 @@
 | 
			
		|||
 | 
			
		||||
    <!--    人员添加  -->
 | 
			
		||||
    <el-dialog title="人员添加" :visible.sync="peopleOpen" v-if="peopleOpen" width="1000px" append-to-body>
 | 
			
		||||
      <el-form :model="userForm" size="small" inline>
 | 
			
		||||
        <el-form-item label="人员名称:" prop="userName" label-width="100px">
 | 
			
		||||
          <el-input v-model="userForm.userName" placeholder="请输入人员名称" style="width: 240px; margin-right: 10px"/>
 | 
			
		||||
          <el-button type="primary" icon="el-icon-search" size="mini" @click="getAllUserList">查询</el-button>
 | 
			
		||||
          <el-button icon="el-icon-refresh" size="mini" @click="restUser">重置</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionAddUser" height="450">
 | 
			
		||||
        <el-table-column type="selection" width="50" align="center" />
 | 
			
		||||
        <el-table-column label="序号" align="center" type="index" />
 | 
			
		||||
| 
						 | 
				
			
			@ -337,6 +349,8 @@ export default {
 | 
			
		|||
      },
 | 
			
		||||
      form: {
 | 
			
		||||
        remark: "",
 | 
			
		||||
        taskId: "",
 | 
			
		||||
        userName: "",
 | 
			
		||||
      },
 | 
			
		||||
      // 表单校验
 | 
			
		||||
      rules: {
 | 
			
		||||
| 
						 | 
				
			
			@ -344,6 +358,9 @@ export default {
 | 
			
		|||
          { required: true, message: "通知内容不能为空", trigger: "blur" },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
      userForm: {
 | 
			
		||||
        userName: "",
 | 
			
		||||
      },
 | 
			
		||||
      openPrint: false,
 | 
			
		||||
      printData: {},
 | 
			
		||||
      printTableData: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -432,23 +449,31 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    getNoticeList() {
 | 
			
		||||
      const taskId = this.form.taskId;
 | 
			
		||||
      getNoticePeople({ taskId: taskId }).then((response) => {
 | 
			
		||||
      getNoticePeople({ taskId: taskId, userName: this.form.userName }).then((response) => {
 | 
			
		||||
        this.getListPeople = response.rows;
 | 
			
		||||
        this.showPeople = true;
 | 
			
		||||
        this.loadingTwo = false;
 | 
			
		||||
        this.title = "通知";
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    resetDiaQuery()  {
 | 
			
		||||
      this.form.userName = ""
 | 
			
		||||
      this.getNoticeList()
 | 
			
		||||
    },
 | 
			
		||||
    addUserOpen() {
 | 
			
		||||
      this.getAllUserList();
 | 
			
		||||
      this.peopleOpen = true;
 | 
			
		||||
    },
 | 
			
		||||
    /** 查询所有用户列表--可添加人员 */
 | 
			
		||||
    getAllUserList() {
 | 
			
		||||
      getListUnSelected().then((response) => {
 | 
			
		||||
      getListUnSelected({ userName: this.userForm.userName}).then((response) => {
 | 
			
		||||
        this.userList = response.rows;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    restUser() {
 | 
			
		||||
      this.userForm.userName = "";
 | 
			
		||||
      this.getAllUserList();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 多选框选中-添加人员
 | 
			
		||||
    handleSelectionAddUser(selection) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue