配件库存、维修单签名、报废附件校验、报告loding
This commit is contained in:
		
							parent
							
								
									58739a7637
								
							
						
					
					
						commit
						2d2de874d2
					
				| 
						 | 
				
			
			@ -0,0 +1,155 @@
 | 
			
		|||
<template>
 | 
			
		||||
    <div class="app-container">
 | 
			
		||||
      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
 | 
			
		||||
        <el-form-item  prop="keyWord">
 | 
			
		||||
            <el-input
 | 
			
		||||
                v-model="queryParams.keyWord"
 | 
			
		||||
                placeholder="请输入关键词"
 | 
			
		||||
                clearable
 | 
			
		||||
                @keyup.enter.native="handleQuery"
 | 
			
		||||
                maxlength="20"
 | 
			
		||||
            />
 | 
			
		||||
        </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">
 | 
			
		||||
            <el-col :span="1.5">
 | 
			
		||||
                <el-button
 | 
			
		||||
                    type="warning" plain
 | 
			
		||||
                    icon="el-icon-download"
 | 
			
		||||
                    size="mini"
 | 
			
		||||
                    @click="handleExport"
 | 
			
		||||
                >导出数据</el-button>
 | 
			
		||||
            </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      <el-table v-loading="loading" :data="tableList" ref="multipleTable" row-key="taskId" border>
 | 
			
		||||
        <el-table-column label="序号" align="center" width="80" type="index">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
            <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="配件名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="规格型号" align="center" prop="typeModelName" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="单位" align="center" prop="unit" :show-overflow-tooltip="true"/>
 | 
			
		||||
        <el-table-column label="库存" align="center" prop="storeNum"  :show-overflow-tooltip="true"/>
 | 
			
		||||
      </el-table>
 | 
			
		||||
 | 
			
		||||
      <pagination
 | 
			
		||||
        v-show="total>0"
 | 
			
		||||
        :total="total"
 | 
			
		||||
        :page.sync="queryParams.pageNum"
 | 
			
		||||
        :limit.sync="queryParams.pageSize"
 | 
			
		||||
        @pagination="getList"
 | 
			
		||||
      />
 | 
			
		||||
    </div>
 | 
			
		||||
  </template>
 | 
			
		||||
 | 
			
		||||
  <script>
 | 
			
		||||
  import {getPartPersonNumApi} from '@/api/part/partArrived';
 | 
			
		||||
import vueEasyPrint from "vue-easy-print";
 | 
			
		||||
  export default {
 | 
			
		||||
    name: "PartAccept",
 | 
			
		||||
    dicts: ['part_task_status'],
 | 
			
		||||
    components: { vueEasyPrint },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        // 遮罩层
 | 
			
		||||
        loading: false,
 | 
			
		||||
        // 非单个禁用
 | 
			
		||||
        single: true,
 | 
			
		||||
        // 非多个禁用
 | 
			
		||||
        multiple: true,
 | 
			
		||||
        // 显示搜索条件
 | 
			
		||||
        showSearch: true,
 | 
			
		||||
        // 总条数
 | 
			
		||||
        total: 0,
 | 
			
		||||
        //表格数据
 | 
			
		||||
        tableList: [],
 | 
			
		||||
        // 弹出层标题
 | 
			
		||||
        title: "",
 | 
			
		||||
        // 是否显示弹出层
 | 
			
		||||
        open: false,
 | 
			
		||||
        // 查询参数
 | 
			
		||||
        queryParams: {
 | 
			
		||||
          pageNum: 1,
 | 
			
		||||
          pageSize: 10,
 | 
			
		||||
          keyWord:undefined,
 | 
			
		||||
        },
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    created() {
 | 
			
		||||
      this.getList();
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
        /** 查询列表 */
 | 
			
		||||
        getList() {
 | 
			
		||||
            this.loading = true;
 | 
			
		||||
          getPartPersonNumApi(this.queryParams).then(response => {
 | 
			
		||||
                this.tableList = response.data.rows;
 | 
			
		||||
                this.total = response.data.total;
 | 
			
		||||
                this.loading = false;
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
        /** 重置按钮操作 */
 | 
			
		||||
        resetQuery() {
 | 
			
		||||
            this.resetForm("queryForm");
 | 
			
		||||
            this.queryParams.keyWord=null;
 | 
			
		||||
            this.handleQuery();
 | 
			
		||||
        },
 | 
			
		||||
        /** 搜索按钮操作 */
 | 
			
		||||
        handleQuery() {
 | 
			
		||||
        this.queryParams.pageNum = 1;
 | 
			
		||||
        this.getList();
 | 
			
		||||
        },
 | 
			
		||||
        handleExport() {
 | 
			
		||||
          const formatTime = (date) => {
 | 
			
		||||
            const year = date.getFullYear();
 | 
			
		||||
            const month = String(date.getMonth() + 1).padStart(2, '0');
 | 
			
		||||
            const day = String(date.getDate()).padStart(2, '0');
 | 
			
		||||
            const hours = String(date.getHours()).padStart(2, '0');
 | 
			
		||||
            const minutes = String(date.getMinutes()).padStart(2, '0');
 | 
			
		||||
            const seconds = String(date.getSeconds()).padStart(2, '0');
 | 
			
		||||
            return `${year}${month}${day}_${hours}${minutes}${seconds}`;
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          const currentTime = formatTime(new Date());
 | 
			
		||||
            this.download(
 | 
			
		||||
                "/material/complex_query/export",
 | 
			
		||||
                { ...this.queryParams},
 | 
			
		||||
                `配件库存_${currentTime}.xlsx`
 | 
			
		||||
            );
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
  </script>
 | 
			
		||||
  <style lang="scss" scoped>
 | 
			
		||||
  .uploadImg {
 | 
			
		||||
    padding-top: 20px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
  }
 | 
			
		||||
  .deviceCode {
 | 
			
		||||
      margin-top: 10px;
 | 
			
		||||
      padding-bottom: 20px;
 | 
			
		||||
      font-size: 18px;
 | 
			
		||||
  }
 | 
			
		||||
  ::v-deep.el-table .fixed-width .el-button--mini {
 | 
			
		||||
      width: 60px !important;
 | 
			
		||||
      margin-bottom: 10px;
 | 
			
		||||
  }
 | 
			
		||||
  //隐藏图片上传框的css
 | 
			
		||||
  ::v-deep.disabled {
 | 
			
		||||
      .el-upload--picture-card {
 | 
			
		||||
          display: none;
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
  </style>
 | 
			
		||||
| 
						 | 
				
			
			@ -348,25 +348,43 @@
 | 
			
		|||
                <!-- <el-table-column label="报告日期" align="center" prop="orgName" :show-overflow-tooltip="true"/>
 | 
			
		||||
                <el-table-column label="截止有效期" align="center" prop="orgName" :show-overflow-tooltip="true"/> -->
 | 
			
		||||
                <el-table-column label="操作" align="center" width="100">
 | 
			
		||||
                <template slot-scope="scope">
 | 
			
		||||
                  <template slot-scope="scope">
 | 
			
		||||
                    <div style="display: flex; align-items: center; justify-content: space-between">
 | 
			
		||||
                    <el-upload ref="upload"  :headers="upload.headers"
 | 
			
		||||
                    :action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
 | 
			
		||||
                    :on-success="(response, file, fileList) => handleFileSuccess(scope.row, response, file, fileList)"   :auto-upload="true"
 | 
			
		||||
                    :before-upload="(file) => beforeUpload(scope.row,  file)"
 | 
			
		||||
                    >
 | 
			
		||||
                    <el-button size="mini" type="text" @click="beforeFileUpload(scope.row)">
 | 
			
		||||
                            上传
 | 
			
		||||
                    </el-button>
 | 
			
		||||
                    </el-upload>
 | 
			
		||||
                      <el-upload
 | 
			
		||||
                        ref="upload"
 | 
			
		||||
                        :headers="upload.headers"
 | 
			
		||||
                        :action="upload.url"
 | 
			
		||||
                        :show-file-list="false"
 | 
			
		||||
                        accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
 | 
			
		||||
                        :auto-upload="true"
 | 
			
		||||
                        :on-success="(response, file, fileList) => handleFileSuccess(scope.row, response, file, fileList)"
 | 
			
		||||
                        :before-upload="(file) => beforeUpload(scope.row, file)"
 | 
			
		||||
                        :on-error="handleUploadError"
 | 
			
		||||
                        :on-change="(file, fileList) => handleFileChange(file, fileList, scope.row)"
 | 
			
		||||
                      >
 | 
			
		||||
                        <el-button
 | 
			
		||||
                          size="mini"
 | 
			
		||||
                          type="text"
 | 
			
		||||
                          @click="beforeFileUpload(scope.row)"
 | 
			
		||||
                          :loading="uploadLoading && currentUploadRow === scope.row"
 | 
			
		||||
                          :disabled="uploadLoading && currentUploadRow !== scope.row"
 | 
			
		||||
                        >
 | 
			
		||||
                          {{ (uploadLoading && currentUploadRow === scope.row) ? '上传中...' : '上传' }}
 | 
			
		||||
                        </el-button>
 | 
			
		||||
                      </el-upload>
 | 
			
		||||
 | 
			
		||||
                    <el-button size="mini" type="text" @click="picturePreviewFile(scope.row)" v-if="scope.row.fileListTemp!=0" style="margin-left: 20px;">
 | 
			
		||||
                      <el-button
 | 
			
		||||
                        size="mini"
 | 
			
		||||
                        type="text"
 | 
			
		||||
                        @click="picturePreviewFile(scope.row)"
 | 
			
		||||
                        v-if="scope.row.fileListTemp != 0"
 | 
			
		||||
                        style="margin-left: 20px;"
 | 
			
		||||
                        :disabled="uploadLoading"
 | 
			
		||||
                      >
 | 
			
		||||
                        查看
 | 
			
		||||
                    </el-button>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                </template>
 | 
			
		||||
                      </el-button>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
            </el-table>
 | 
			
		||||
        </el-dialog>
 | 
			
		||||
| 
						 | 
				
			
			@ -552,7 +570,9 @@ export default {
 | 
			
		|||
            currentMatchIndex: -1, // 当前匹配项索引
 | 
			
		||||
            matchedOptions: [], // 匹配的选项
 | 
			
		||||
            keepSelectOpen: false, // 控制下拉框是否保持打开
 | 
			
		||||
            isSearching: false // 添加搜索状态标记
 | 
			
		||||
            isSearching: false, // 添加搜索状态标记
 | 
			
		||||
            uploadLoading: false, // 上传加载状态
 | 
			
		||||
            currentUploadRow: null, // 当前正在上传的行
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    computed: {
 | 
			
		||||
| 
						 | 
				
			
			@ -609,7 +629,7 @@ export default {
 | 
			
		|||
            this.maForm.arrivalTime = this.formatDate(new Date());
 | 
			
		||||
        }
 | 
			
		||||
        this.supplierInfoList()
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
        handleDateTypeChange(val) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1107,142 +1127,121 @@ export default {
 | 
			
		|||
            })
 | 
			
		||||
                .catch(() => {})
 | 
			
		||||
        },
 | 
			
		||||
        beforeFileUpload(row){
 | 
			
		||||
            this.rowData.fileType = row.fileType
 | 
			
		||||
        },
 | 
			
		||||
      // 点击上传按钮前准备
 | 
			
		||||
      beforeFileUpload(row) {
 | 
			
		||||
        this.rowData.fileType = row.fileType;
 | 
			
		||||
        this.currentUploadRow = row;
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
        beforeUpload(row, file) {
 | 
			
		||||
            row.fileList.push(file);
 | 
			
		||||
            console.log('6666666',row.fileList)
 | 
			
		||||
            if (row.fileList.length > 3) {
 | 
			
		||||
                this.$message.warning('最多只能上传三张图片');
 | 
			
		||||
                // 删除最后一个文件
 | 
			
		||||
                row.fileList.pop();
 | 
			
		||||
                return false; // 阻止上传
 | 
			
		||||
            }
 | 
			
		||||
                return true; // 允许上传
 | 
			
		||||
        },
 | 
			
		||||
      // 文件上传前的处理
 | 
			
		||||
      beforeUpload(row, file) {
 | 
			
		||||
        this.uploadLoading = true;
 | 
			
		||||
        row.fileList.push(file);
 | 
			
		||||
        if (row.fileList.length > 3) {
 | 
			
		||||
          this.$message.warning('最多只能上传三张图片');
 | 
			
		||||
          row.fileList.pop();
 | 
			
		||||
          this.uploadLoading = false;
 | 
			
		||||
          return false;
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
      },
 | 
			
		||||
      // 文件选择变化(包括取消选择)
 | 
			
		||||
      handleFileChange(file, fileList, row) {
 | 
			
		||||
        // 当用户取消文件选择时,fileList为空
 | 
			
		||||
        if (!fileList || fileList.length === 0) {
 | 
			
		||||
          this.uploadLoading = false;
 | 
			
		||||
          this.currentUploadRow = null;
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
        // 文件上传成功处理
 | 
			
		||||
        handleFileSuccess(row,response, file, fileList) {
 | 
			
		||||
            if (response.code == 200) {
 | 
			
		||||
                if (this.taskId == "") {//新增逻辑
 | 
			
		||||
                row.fileListTemp.push({
 | 
			
		||||
                    "name": response.data.name,
 | 
			
		||||
                    "url": response.data.url,
 | 
			
		||||
                })
 | 
			
		||||
                // console.log(response)
 | 
			
		||||
                // console.log(this.rowData)
 | 
			
		||||
                // console.log(this.rowData.bmFileInfos)
 | 
			
		||||
                let obj = {
 | 
			
		||||
                    "taskId": this.taskId,
 | 
			
		||||
                    "taskType": "0",
 | 
			
		||||
                    "name": response.data.name,
 | 
			
		||||
                    "url": response.data.url,
 | 
			
		||||
                    "modelId": this.rowData.partId,
 | 
			
		||||
                    "fileType": this.rowData.fileType,
 | 
			
		||||
                    //   "dictLabel": this.rowData.dictLabel,
 | 
			
		||||
                }
 | 
			
		||||
                //根据文件上传返回更新文件管理弹窗内容
 | 
			
		||||
                let index = this.fileDataList.findIndex(v=>v.fileType==this.rowData.fileType)
 | 
			
		||||
                this.fileDataList[index].name = response.data.name
 | 
			
		||||
                this.fileDataList[index].url = response.data.url
 | 
			
		||||
                //判断当前上传的文件是否已上传过-再往机具类型数据中插入
 | 
			
		||||
                if(this.rowData.bmFileInfos.length>0){
 | 
			
		||||
                    let index2 = this.rowData.bmFileInfos.findIndex(v=>v.fileType==this.rowData.fileType)
 | 
			
		||||
                    if(index2>-1){//相同类型文件重复上传-替换
 | 
			
		||||
                        this.rowData.bmFileInfos.splice(index2,0,obj)
 | 
			
		||||
                    }else{//不存在相同类型文件-添加
 | 
			
		||||
                        this.rowData.bmFileInfos.push(obj)
 | 
			
		||||
                    }
 | 
			
		||||
                }else{
 | 
			
		||||
                    this.rowData.bmFileInfos.push(obj)
 | 
			
		||||
                }
 | 
			
		||||
      handleFileSuccess(row, response, file, fileList) {
 | 
			
		||||
        this.uploadLoading = false;
 | 
			
		||||
        this.currentUploadRow = null;
 | 
			
		||||
 | 
			
		||||
                } else {//编辑逻辑
 | 
			
		||||
                row.fileListTemp.push({
 | 
			
		||||
                    "name": response.data.name,
 | 
			
		||||
                    "url": response.data.url,
 | 
			
		||||
                })
 | 
			
		||||
                let obj = {
 | 
			
		||||
                "taskId": this.taskId,
 | 
			
		||||
                "taskType": "0",
 | 
			
		||||
                "name": response.data.name,
 | 
			
		||||
                "url": response.data.url,
 | 
			
		||||
                "modelId": this.rowData.partId,
 | 
			
		||||
                "fileType": this.rowData.fileType,
 | 
			
		||||
                //   "dictLabel": this.rowData.dictLabel,
 | 
			
		||||
                    }
 | 
			
		||||
                //根据文件上传返回更新文件管理弹窗内容
 | 
			
		||||
                let index = this.fileDataList.findIndex(v=>v.fileType==this.rowData.fileType)
 | 
			
		||||
                this.fileDataList[index].name = response.data.name
 | 
			
		||||
                this.fileDataList[index].url = response.data.url
 | 
			
		||||
                //判断当前上传的文件是否已上传过-再往机具类型数据中插入
 | 
			
		||||
                if(this.rowData.bmFileInfos.length>0){
 | 
			
		||||
                    let index2 = this.rowData.bmFileInfos.findIndex(v=>v.fileType==this.rowData.fileType)
 | 
			
		||||
                    if(index2>-1){//相同类型文件重复上传-替换
 | 
			
		||||
                        this.rowData.bmFileInfos.splice(index2,0,obj)
 | 
			
		||||
                    }else{//不存在相同类型文件-添加
 | 
			
		||||
                        this.rowData.bmFileInfos.push(obj)
 | 
			
		||||
                    }
 | 
			
		||||
                }else{
 | 
			
		||||
                    this.rowData.bmFileInfos.push(obj)
 | 
			
		||||
                }
 | 
			
		||||
                uploadPurchaseFile(obj).then((response) => {
 | 
			
		||||
                    this.$modal.msgSuccess('上传成功')
 | 
			
		||||
        if (response.code === 200) {
 | 
			
		||||
          // 新增逻辑
 | 
			
		||||
          row.fileListTemp.push({
 | 
			
		||||
            name: response.data.name,
 | 
			
		||||
            url: response.data.url,
 | 
			
		||||
          });
 | 
			
		||||
 | 
			
		||||
                }).catch(() => {
 | 
			
		||||
                    this.$modal.msgError('上传失败')
 | 
			
		||||
                })
 | 
			
		||||
          const obj = {
 | 
			
		||||
            taskId: this.taskId,
 | 
			
		||||
            taskType: "0",
 | 
			
		||||
            name: response.data.name,
 | 
			
		||||
            url: response.data.url,
 | 
			
		||||
            modelId: this.rowData.partId,
 | 
			
		||||
            fileType: this.rowData.fileType,
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          const index = this.fileDataList.findIndex(v => v.fileType == this.rowData.fileType);
 | 
			
		||||
          if (index > -1) {
 | 
			
		||||
            this.fileDataList[index].name = response.data.name;
 | 
			
		||||
            this.fileDataList[index].url = response.data.url;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          if (this.rowData.bmFileInfos.length > 0) {
 | 
			
		||||
            const index2 = this.rowData.bmFileInfos.findIndex(v => v.fileType == this.rowData.fileType);
 | 
			
		||||
            if (index2 > -1) {
 | 
			
		||||
              this.rowData.bmFileInfos.splice(index2, 0, obj);
 | 
			
		||||
            } else {
 | 
			
		||||
              this.rowData.bmFileInfos.push(obj);
 | 
			
		||||
            }
 | 
			
		||||
          } else {
 | 
			
		||||
            this.rowData.bmFileInfos.push(obj);
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        picturePreviewFile(row) {
 | 
			
		||||
            row.fileList = []
 | 
			
		||||
            row.fileListTemp.forEach(item=>{
 | 
			
		||||
                row.fileList.push({
 | 
			
		||||
                    "name": item.name,
 | 
			
		||||
                    "url": item.url,
 | 
			
		||||
                })
 | 
			
		||||
            })
 | 
			
		||||
            this.fileId = row.fileType
 | 
			
		||||
            this.fileListInfo = row.fileListTemp
 | 
			
		||||
 | 
			
		||||
            this.dialogVisibleFile = true
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        //图片查看
 | 
			
		||||
        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)
 | 
			
		||||
          }else{
 | 
			
		||||
            this.dialogVisible = true
 | 
			
		||||
          // 若是编辑逻辑
 | 
			
		||||
          if (this.taskId !== "") {
 | 
			
		||||
            uploadPurchaseFile(obj)
 | 
			
		||||
              .then(() => this.$modal.msgSuccess("上传成功"))
 | 
			
		||||
              .catch(() => this.$modal.msgError("上传失败"));
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      // 上传失败
 | 
			
		||||
      handleUploadError(error, file, fileList) {
 | 
			
		||||
        this.uploadLoading = false;
 | 
			
		||||
        this.currentUploadRow = null;
 | 
			
		||||
        this.$modal.msgError("上传失败");
 | 
			
		||||
        console.error("上传失败:", error);
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
        //删除图片
 | 
			
		||||
        pictureDelete(row, id) {
 | 
			
		||||
            let index = id
 | 
			
		||||
            this.fileListInfo = this.fileListInfo.filter(item => item.url !== row.url);
 | 
			
		||||
            this.fileDataList[this.fileId].fileList = this.fileDataList[this.fileId].fileList.filter(item => item.url !== row.url);
 | 
			
		||||
            this.fileDataList[this.fileId].fileListTemp = this.fileDataList[this.fileId].fileListTemp.filter(item => item.url !== row.url);
 | 
			
		||||
            let bmFiles = []
 | 
			
		||||
            this.rowData.bmFileInfos.forEach((item)=>{
 | 
			
		||||
                if (item.fileType != this.fileId) {
 | 
			
		||||
                    bmFiles.push(item)
 | 
			
		||||
                }else{
 | 
			
		||||
                    if (item.url!= row.url) {
 | 
			
		||||
                        bmFiles.push(item)
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
            this.rowData.bmFileInfos = bmFiles;
 | 
			
		||||
        },
 | 
			
		||||
      picturePreviewFile(row) {
 | 
			
		||||
        row.fileList = row.fileListTemp.map(item => ({
 | 
			
		||||
          name: item.name,
 | 
			
		||||
          url: item.url,
 | 
			
		||||
        }));
 | 
			
		||||
        this.fileId = row.fileType;
 | 
			
		||||
        this.fileListInfo = row.fileListTemp;
 | 
			
		||||
        this.dialogVisibleFile = true;
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      // 图片预览
 | 
			
		||||
      picturePreview(file) {
 | 
			
		||||
        this.dialogImageUrl = file.url.replaceAll("#", "%23");
 | 
			
		||||
        const ext = file.name.split('.').pop().toLowerCase();
 | 
			
		||||
        if (["doc", "docx", "pdf"].includes(ext)) {
 | 
			
		||||
          window.open(file.url, file.name);
 | 
			
		||||
        } else {
 | 
			
		||||
          this.dialogVisible = true;
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      // 删除图片
 | 
			
		||||
      pictureDelete(row, id) {
 | 
			
		||||
        this.fileListInfo = this.fileListInfo.filter(item => item.url !== row.url);
 | 
			
		||||
        this.fileDataList[this.fileId].fileList =
 | 
			
		||||
          this.fileDataList[this.fileId].fileList.filter(item => item.url !== row.url);
 | 
			
		||||
        this.fileDataList[this.fileId].fileListTemp =
 | 
			
		||||
          this.fileDataList[this.fileId].fileListTemp.filter(item => item.url !== row.url);
 | 
			
		||||
 | 
			
		||||
        this.rowData.bmFileInfos = this.rowData.bmFileInfos.filter(item => {
 | 
			
		||||
          if (item.fileType !== this.fileId) return true;
 | 
			
		||||
          return item.url !== row.url;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
        /** 删除按钮操作 */
 | 
			
		||||
        handleDelete(row) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,7 @@
 | 
			
		|||
            clearable style="width: 240px" disabled/>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="维修单号" prop="repairCode">
 | 
			
		||||
          <el-input v-model="queryParams.repairCode" placeholder="维修单号" 
 | 
			
		||||
          <el-input v-model="queryParams.repairCode" placeholder="维修单号"
 | 
			
		||||
            clearable style="width: 240px" disabled/>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-row>
 | 
			
		||||
| 
						 | 
				
			
			@ -23,7 +23,7 @@
 | 
			
		|||
          @click="goBack">维修管理</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button type="success" plain icon="el-icon-plus" size="mini" 
 | 
			
		||||
        <el-button type="success" plain icon="el-icon-plus" size="mini"
 | 
			
		||||
          @click="handlePass">合格</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +35,7 @@
 | 
			
		|||
      <el-table-column label="规格型号" align="center" prop="type" :show-overflow-tooltip="true"/>
 | 
			
		||||
      <el-table-column label="计量单位" align="center" prop="unitName" />
 | 
			
		||||
      <el-table-column label="退料数量" align="center" prop="typeRepairNum" show-overflow-tooltip></el-table-column>
 | 
			
		||||
      <el-table-column label="已修数量" align="center" prop="typeRepairedNum" show-overflow-tooltip></el-table-column> 
 | 
			
		||||
      <el-table-column label="已修数量" align="center" prop="typeRepairedNum" show-overflow-tooltip></el-table-column>
 | 
			
		||||
      <el-table-column label="待报废数量" align="center" prop="typeScrapNum" show-overflow-tooltip></el-table-column>
 | 
			
		||||
      <el-table-column label="待修数量" align="center" prop="disrepairNum" show-overflow-tooltip></el-table-column>
 | 
			
		||||
      <el-table-column label="管理模式" align="center" prop="manageType">
 | 
			
		||||
| 
						 | 
				
			
			@ -131,12 +131,12 @@
 | 
			
		|||
              :normalizer="normalizer"
 | 
			
		||||
              :searchable="true"
 | 
			
		||||
              :disable-branch-nodes="true"
 | 
			
		||||
              :show-count="false" 
 | 
			
		||||
              :show-count="false"
 | 
			
		||||
              :expand-on-click-node="false"
 | 
			
		||||
              placeholder="请选择配件型号"
 | 
			
		||||
              style="width: 80%;"
 | 
			
		||||
              @select="partChange"
 | 
			
		||||
            /> 
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="1.5">
 | 
			
		||||
| 
						 | 
				
			
			@ -295,7 +295,7 @@
 | 
			
		|||
              </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-form-item label="照片">
 | 
			
		||||
          <el-form-item label="照片" required>
 | 
			
		||||
            <el-upload
 | 
			
		||||
              action="#"
 | 
			
		||||
              :file-list="fileList"
 | 
			
		||||
| 
						 | 
				
			
			@ -338,21 +338,21 @@
 | 
			
		|||
      <el-row :gutter="24" style="padding-bottom: 20px;border-bottom: 2px solid #dcdfe6;">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <div style="font-weight: 600;">
 | 
			
		||||
            物资名称: {{ typeNameTemp }} 
 | 
			
		||||
            物资名称: {{ typeNameTemp }}
 | 
			
		||||
          </div>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <div style="font-weight: 600;">
 | 
			
		||||
            规格型号: {{   typeTemp }} 
 | 
			
		||||
            规格型号: {{   typeTemp }}
 | 
			
		||||
        </div>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <div style="font-weight: 600;">
 | 
			
		||||
            待维修数量: {{ disrepairNumTemp }} 
 | 
			
		||||
            待维修数量: {{ disrepairNumTemp }}
 | 
			
		||||
        </div>
 | 
			
		||||
        </el-col> 
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
      <div class="dialog-content">
 | 
			
		||||
        <div class="left">
 | 
			
		||||
          <!-- 左侧内容 -->
 | 
			
		||||
| 
						 | 
				
			
			@ -375,7 +375,7 @@
 | 
			
		|||
                      :options="partTypeTreeTwo"
 | 
			
		||||
                      :searchable="true"
 | 
			
		||||
                      :disable-branch-nodes="true"
 | 
			
		||||
                      :show-count="false" 
 | 
			
		||||
                      :show-count="false"
 | 
			
		||||
                      :expand-on-click-node="false"
 | 
			
		||||
                      placeholder="请选择配件型号"
 | 
			
		||||
                      style="width: 200px;"
 | 
			
		||||
| 
						 | 
				
			
			@ -401,7 +401,7 @@
 | 
			
		|||
                <el-col :span="16">
 | 
			
		||||
                  <el-form-item
 | 
			
		||||
                    label="是否收费"
 | 
			
		||||
                    prop="partType" 
 | 
			
		||||
                    prop="partType"
 | 
			
		||||
                  >
 | 
			
		||||
                    <el-select
 | 
			
		||||
                      v-model="item.partType"
 | 
			
		||||
| 
						 | 
				
			
			@ -443,7 +443,7 @@
 | 
			
		|||
                  <el-input v-model.number="formMiddle.repairNum" placeholder="请输入返厂维修数量" maxlength="20" type="number" min="0"  style="width: 220px" @input="waitRepairCount"/>
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
              </el-col>
 | 
			
		||||
            </el-row> 
 | 
			
		||||
            </el-row>
 | 
			
		||||
            <el-row :gutter="24">
 | 
			
		||||
              <el-col :span="20">
 | 
			
		||||
                <el-form-item label="物资厂家" prop="supplierId">
 | 
			
		||||
| 
						 | 
				
			
			@ -477,7 +477,7 @@
 | 
			
		|||
              <el-row :gutter="24">
 | 
			
		||||
                <el-col :span="9">
 | 
			
		||||
                  <el-form-item label="配件数量" prop="partNum" label-width="80px"  >
 | 
			
		||||
                    <el-input v-model.number="item.partNum" placeholder="请输入配件数量" 
 | 
			
		||||
                    <el-input v-model.number="item.partNum" placeholder="请输入配件数量"
 | 
			
		||||
                      maxlength="20" type="number" :min="0" style="width: 90px" @change="partNumChange(item, $event)"></el-input>
 | 
			
		||||
                  </el-form-item>
 | 
			
		||||
                </el-col>
 | 
			
		||||
| 
						 | 
				
			
			@ -518,7 +518,7 @@
 | 
			
		|||
            <el-form-item label="报废原因" prop="scrapReason">
 | 
			
		||||
              <el-input v-model="formRight.scrapReason" placeholder="请输入报废原因" clearable maxlength="150" type="textarea" style="width: 240px" rows="4"></el-input>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          <el-form-item label="照片">
 | 
			
		||||
          <el-form-item label="照片" required>
 | 
			
		||||
            <el-upload
 | 
			
		||||
              action="#"
 | 
			
		||||
              :file-list="fileList"
 | 
			
		||||
| 
						 | 
				
			
			@ -604,7 +604,7 @@ export default {
 | 
			
		|||
        repairCode: "",
 | 
			
		||||
        equipmentList: [],
 | 
			
		||||
      },
 | 
			
		||||
      equipmentList: [], 
 | 
			
		||||
      equipmentList: [],
 | 
			
		||||
 | 
			
		||||
      //编码维修
 | 
			
		||||
      openCode: false,
 | 
			
		||||
| 
						 | 
				
			
			@ -620,13 +620,13 @@ export default {
 | 
			
		|||
        headers: { Authorization: "Bearer " + getToken() },
 | 
			
		||||
        // 上传的地址
 | 
			
		||||
        url: process.env.VUE_APP_BASE_API + "/file/upload",
 | 
			
		||||
      }, 
 | 
			
		||||
      },
 | 
			
		||||
      //内部维修
 | 
			
		||||
      openInner: false,
 | 
			
		||||
      innerRowData: {},
 | 
			
		||||
      //配件表格数据
 | 
			
		||||
      partTableList: [],
 | 
			
		||||
      //选中的配件 
 | 
			
		||||
      //选中的配件
 | 
			
		||||
      partTypeId: null,
 | 
			
		||||
      // 配件树结构数据
 | 
			
		||||
      partTypeTree: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -796,7 +796,7 @@ export default {
 | 
			
		|||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        scrapType: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
| 
						 | 
				
			
			@ -823,7 +823,7 @@ export default {
 | 
			
		|||
      //待维修数量
 | 
			
		||||
      disrepairNumTemp: undefined,
 | 
			
		||||
      //数量维修是否能保存
 | 
			
		||||
      flagSave: true, 
 | 
			
		||||
      flagSave: true,
 | 
			
		||||
      //合格勾选对象数组
 | 
			
		||||
      idsList:[],
 | 
			
		||||
      //一级页面传来的id
 | 
			
		||||
| 
						 | 
				
			
			@ -865,7 +865,7 @@ export default {
 | 
			
		|||
      // this.GetDeviceTypeTreeFn(data.backApplyInfo.agreementId)
 | 
			
		||||
    },
 | 
			
		||||
    //是否可用勾选框
 | 
			
		||||
    selectable(row) { 
 | 
			
		||||
    selectable(row) {
 | 
			
		||||
      if (row.disrepairNum != 0) {
 | 
			
		||||
      return true;
 | 
			
		||||
      } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -950,7 +950,7 @@ export default {
 | 
			
		|||
        this.disrepairNumTemp = row.typeRepairNum - row.typeRepairedNum - row.typeScrapNum;
 | 
			
		||||
        this.repairRowData = row;
 | 
			
		||||
        this.repairDeviceList = [];
 | 
			
		||||
        const params = {}; 
 | 
			
		||||
        const params = {};
 | 
			
		||||
        partTypeTreeList(params).then((res) => {
 | 
			
		||||
          this.partTypeTreeTwo = this.filterTree(res.data);
 | 
			
		||||
          this.resetForm("formLeft");
 | 
			
		||||
| 
						 | 
				
			
			@ -964,7 +964,7 @@ export default {
 | 
			
		|||
        });
 | 
			
		||||
      }
 | 
			
		||||
      if (this.repairRowData.repairDeviceList&&this.repairRowData.repairDeviceList.length > 0) {
 | 
			
		||||
        this.repairDeviceList = this.repairRowData.repairDeviceList; 
 | 
			
		||||
        this.repairDeviceList = this.repairRowData.repairDeviceList;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    //遍历树状数据
 | 
			
		||||
| 
						 | 
				
			
			@ -979,7 +979,7 @@ export default {
 | 
			
		|||
        return node;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // ********编码维修********
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,10 +1008,10 @@ export default {
 | 
			
		|||
      this.equipmentList = res.data;
 | 
			
		||||
      this.equipmentList.forEach((e) => {
 | 
			
		||||
        e.disrepairNum = Number(e.typeRepairNum) - Number(e.typeRepairedNum)-Number(e.typeScrapNum);
 | 
			
		||||
      }); 
 | 
			
		||||
      });
 | 
			
		||||
      this.openCode = false;
 | 
			
		||||
      // console.log(this.equipmentList)
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
    // 编码维修弹窗取消
 | 
			
		||||
    async cancelCodeDialog(){
 | 
			
		||||
      let param = {
 | 
			
		||||
| 
						 | 
				
			
			@ -1023,7 +1023,7 @@ export default {
 | 
			
		|||
      this.equipmentList = res.data;
 | 
			
		||||
      this.equipmentList.forEach((e) => {
 | 
			
		||||
        e.disrepairNum = Number(e.typeRepairNum) - Number(e.typeRepairedNum)-Number(e.typeScrapNum);
 | 
			
		||||
      }); 
 | 
			
		||||
      });
 | 
			
		||||
      this.openCode = false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1046,7 +1046,7 @@ export default {
 | 
			
		|||
      const params = {};
 | 
			
		||||
      const res = await partTypeTreeList(params);
 | 
			
		||||
      console.log("treeData==========", res);
 | 
			
		||||
      this.partTypeTree = res.data; 
 | 
			
		||||
      this.partTypeTree = res.data;
 | 
			
		||||
    },
 | 
			
		||||
    //编码-内部维修- 反显 树结构数据获取父 -旧组件
 | 
			
		||||
    getSelectId(list, id) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1155,7 +1155,7 @@ export default {
 | 
			
		|||
      return null; // 未找到父节点时返回null
 | 
			
		||||
    },
 | 
			
		||||
    //编码-内部维修- 重置按钮操作
 | 
			
		||||
    resetInner() { 
 | 
			
		||||
    resetInner() {
 | 
			
		||||
      this.partTypeId=null;
 | 
			
		||||
      this.partTableList = [];
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -1310,6 +1310,11 @@ export default {
 | 
			
		|||
      this.uploadKey = Date.now();
 | 
			
		||||
      this.$refs["scrapForm"].validate(async(valid) => {
 | 
			
		||||
          if(valid){
 | 
			
		||||
            // 添加文件必传验证
 | 
			
		||||
            if(this.fileList.length === 0){
 | 
			
		||||
              this.$message.error('请上传照片');
 | 
			
		||||
              return;
 | 
			
		||||
            }
 | 
			
		||||
            if(this.fileList.length!=0){
 | 
			
		||||
            await  this.getImaUpload(),
 | 
			
		||||
            await this.addWaitRepairPic(this.scrapForm);
 | 
			
		||||
| 
						 | 
				
			
			@ -1336,7 +1341,7 @@ export default {
 | 
			
		|||
      this.fileList = [];
 | 
			
		||||
      this.fileListTemp = [];
 | 
			
		||||
      this.resetForm("scrapForm");
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
    //编码-待报废-上传文件库
 | 
			
		||||
    async getImaUpload(){
 | 
			
		||||
        this.fileListTemp = [];
 | 
			
		||||
| 
						 | 
				
			
			@ -1447,7 +1452,7 @@ export default {
 | 
			
		|||
        };
 | 
			
		||||
        // this.scrapForm={}
 | 
			
		||||
      }
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1512,7 +1517,7 @@ export default {
 | 
			
		|||
        this.partItems.splice(index, 1);
 | 
			
		||||
        this.dividerHeight -= 200; // 每次删除配件时,竖线高度减少
 | 
			
		||||
      }
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
    //数量管理中间-返厂维修-添加
 | 
			
		||||
    addPartItemMiddle() {
 | 
			
		||||
      this.partItemsMiddle.push({ partTypeName: "", partNum: "", partType: "0" });
 | 
			
		||||
| 
						 | 
				
			
			@ -1539,6 +1544,13 @@ export default {
 | 
			
		|||
        })
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
      if((Number(this.formLeft.repairNum) + Number(this.formMiddle.repairNum)+ Number(this.formRight.scrapNum)) ==0) {
 | 
			
		||||
        this.$message({
 | 
			
		||||
          message: '请输入维修数量 ',
 | 
			
		||||
          type: 'warning'
 | 
			
		||||
        })
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
      let refTemp = [];
 | 
			
		||||
      if(this.formLeft.repairNum!=0){
 | 
			
		||||
          refTemp.push(this.$refs.formLeft)
 | 
			
		||||
| 
						 | 
				
			
			@ -1548,6 +1560,11 @@ export default {
 | 
			
		|||
      }
 | 
			
		||||
      if(this.formRight.scrapNum!=0){
 | 
			
		||||
        refTemp.push(this.$refs.formRight)
 | 
			
		||||
        // 添加文件必传验证
 | 
			
		||||
        if(this.fileList.length === 0){
 | 
			
		||||
          this.$message.error('请上传照片');
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      const valid = await this.validateForms(refTemp)
 | 
			
		||||
      if(valid){
 | 
			
		||||
| 
						 | 
				
			
			@ -1596,7 +1613,7 @@ export default {
 | 
			
		|||
            this.equipmentList = res.data;
 | 
			
		||||
            this.equipmentList.forEach((e) => {
 | 
			
		||||
              e.disrepairNum = Number(e.typeRepairNum) - Number(e.typeRepairedNum)-Number(e.typeScrapNum);
 | 
			
		||||
            }); 
 | 
			
		||||
            });
 | 
			
		||||
            this.openNum=false;
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
| 
						 | 
				
			
			@ -1659,7 +1676,7 @@ export default {
 | 
			
		|||
    //       this.equipmentList = res.data;
 | 
			
		||||
    //       this.equipmentList.forEach((e) => {
 | 
			
		||||
    //          e.disrepairNum = Number(e.typeRepairNum) - Number(e.typeRepairedNum)-Number(e.typeScrapNum);
 | 
			
		||||
    //       }); 
 | 
			
		||||
    //       });
 | 
			
		||||
    //       this.openNum=false;
 | 
			
		||||
    //     }
 | 
			
		||||
    //   });
 | 
			
		||||
| 
						 | 
				
			
			@ -1713,12 +1730,12 @@ export default {
 | 
			
		|||
    //       this.equipmentList = res.data;
 | 
			
		||||
    //       this.equipmentList.forEach((e) => {
 | 
			
		||||
    //         e.disrepairNum = Number(e.typeRepairNum) - Number(e.typeRepairedNum)-Number(e.typeScrapNum);
 | 
			
		||||
    //       }); 
 | 
			
		||||
    //       });
 | 
			
		||||
 | 
			
		||||
    //   }
 | 
			
		||||
    // })
 | 
			
		||||
    // }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    //数量维修取消
 | 
			
		||||
    saveCancelAll(){
 | 
			
		||||
| 
						 | 
				
			
			@ -1730,7 +1747,7 @@ export default {
 | 
			
		|||
      this.partItems =  [{ partNum: "", partType: "0", partId:null, storageNum:"" }],
 | 
			
		||||
      this.partItemsMiddle = [{ partName: "", partNum: "", partPrice: "0", partType: "0" }],
 | 
			
		||||
      this.openNum=false;
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
    //待维修数量限制统计
 | 
			
		||||
    waitRepairCount(){
 | 
			
		||||
      if((Number(this.formLeft.repairNum) + Number(this.formMiddle.repairNum)+ Number(this.formRight.scrapNum)) >this.disrepairNumTemp){
 | 
			
		||||
| 
						 | 
				
			
			@ -1748,7 +1765,7 @@ export default {
 | 
			
		|||
      if(Number(this.formRight.scrapNum)==0){
 | 
			
		||||
        this.resetForm("formRight")
 | 
			
		||||
      }
 | 
			
		||||
    }, 
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			@ -1794,4 +1811,4 @@ export default {
 | 
			
		|||
    margin: 0 10px;
 | 
			
		||||
    flex-shrink: 0; /* 防止竖线在内容较少时缩小 */
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -311,40 +311,50 @@
 | 
			
		|||
              </tbody>
 | 
			
		||||
            </table>
 | 
			
		||||
 | 
			
		||||
            <div class="fillIn" style=" margin-top: 20px; display: flex; justify-content: space-between;">
 | 
			
		||||
              <div class="item" style="width: 50%">
 | 
			
		||||
                <div>
 | 
			
		||||
                  <span>负责人:</span>
 | 
			
		||||
            <div class="fillIn" style="margin-top: 20px; display: flex; align-items: center; justify-content: space-between;">
 | 
			
		||||
              <!-- 负责人 + 签名 -->
 | 
			
		||||
              <div class="item" style="width: 50%; display: flex; align-items: center;">
 | 
			
		||||
                <div style="width: 30%; white-space: nowrap; display: flex; align-items: center;">
 | 
			
		||||
                  维修人员:
 | 
			
		||||
                </div>
 | 
			
		||||
                <div
 | 
			
		||||
                  v-if="repairTicketlLevelOne.signUrl"
 | 
			
		||||
                  style="width: 70%; display: flex; justify-content: flex-start;"
 | 
			
		||||
                >
 | 
			
		||||
                  <img
 | 
			
		||||
                    :src="repairTicketlLevelOne.signUrl"
 | 
			
		||||
                    style="width: 40px; height: 100px; object-fit: contain;"
 | 
			
		||||
                    :class="{ 'is-rotate': repairTicketlLevelOne.signType == 0 }"
 | 
			
		||||
                    alt=""
 | 
			
		||||
                  />
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="item" style="width: 50%">
 | 
			
		||||
                <div>
 | 
			
		||||
                  <span>完成日期:</span>
 | 
			
		||||
                  {{ repairTicketlLevelOne.finishTime }}
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="fillIn" style="margin-top: 20px; display: flex; justify-content: space-between;">
 | 
			
		||||
              <div class="item" style="width: 33%">
 | 
			
		||||
                <div>
 | 
			
		||||
                  <span>维修人员:</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="item" style="width: 33%">
 | 
			
		||||
                <div>
 | 
			
		||||
                  <span>试验人员:</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="item" style="width: 33%">
 | 
			
		||||
                <div>
 | 
			
		||||
                  <span>检验人员:</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              <!-- 完成日期 -->
 | 
			
		||||
              <div class="item" style="width: 50%; display: flex; align-items: center;">
 | 
			
		||||
                <span>完成日期:</span>
 | 
			
		||||
                <span style="margin-left: 4px;">{{ repairTicketlLevelOne.repairTime }}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
<!--            <div class="fillIn" style="margin-top: 20px; display: flex; justify-content: space-between;">-->
 | 
			
		||||
<!--              <div class="item" style="width: 33%">-->
 | 
			
		||||
<!--                <div>-->
 | 
			
		||||
<!--                  <span>维修人员:</span>-->
 | 
			
		||||
<!--                </div>-->
 | 
			
		||||
<!--              </div>-->
 | 
			
		||||
 | 
			
		||||
<!--              <div class="item" style="width: 33%">-->
 | 
			
		||||
<!--                <div>-->
 | 
			
		||||
<!--                  <span>试验人员:</span>-->
 | 
			
		||||
<!--                </div>-->
 | 
			
		||||
<!--              </div>-->
 | 
			
		||||
 | 
			
		||||
<!--              <div class="item" style="width: 33%">-->
 | 
			
		||||
<!--                <div>-->
 | 
			
		||||
<!--                  <span>检验人员:</span>-->
 | 
			
		||||
<!--                </div>-->
 | 
			
		||||
<!--              </div>-->
 | 
			
		||||
<!--            </div>-->
 | 
			
		||||
          </div>
 | 
			
		||||
        <!-- </vue-easy-print> -->
 | 
			
		||||
      </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -510,8 +520,8 @@ export default {
 | 
			
		|||
            //维修单显示
 | 
			
		||||
            openPrint:false,
 | 
			
		||||
            printData: {},
 | 
			
		||||
            //选择的taskId数组
 | 
			
		||||
            ids:[],
 | 
			
		||||
            // //选择的taskId数组
 | 
			
		||||
            // ids:[],
 | 
			
		||||
            taskList:[],
 | 
			
		||||
            //维修任务单上部分数据
 | 
			
		||||
            repairTicketlLevelOne:{},
 | 
			
		||||
| 
						 | 
				
			
			@ -866,4 +876,8 @@ export default {
 | 
			
		|||
.part-info .total-price {
 | 
			
		||||
    margin-left: 20px; /* 调整间距大小 */
 | 
			
		||||
}
 | 
			
		||||
.is-rotate {
 | 
			
		||||
  transform: rotate(-90deg);
 | 
			
		||||
  transform-origin: center center;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue