From 80a5a62c65002bec5080d1503d859c3c970c2b0a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 26 二月 2025 13:48:17 +0800
Subject: [PATCH] 修改报告生成
---
src/components/do/b1-ins-order/add.vue | 1540 ++++++------------------------
src/components/view/b1-report-preparation.vue | 1405 ++++++++++++++--------------
2 files changed, 1,019 insertions(+), 1,926 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index a38e38d..7aa1d95 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -70,17 +70,21 @@
line-height: 24px;
margin-top: 5px;
}
+
.circulateTable {
display: flex;
flex-direction: row;
justify-content: space-between;
}
+
.opticalProject {
width: 38%;
}
+
.temperatureList {
width: 60%;
}
+
.temperatureListTitle {
display: flex;
flex-direction: row;
@@ -100,10 +104,7 @@
border-radius: 2px;
}
-.ins_order_add
- .el-tree--highlight-current
- .el-tree-node.is-current
- > .el-tree-node__content {
+.ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
color: #3a7bfa;
}
@@ -137,95 +138,40 @@
<div class="ins_order_add" style=" display: block; ">
<div v-show="!configShow && !equipConfigShow && !cableConfigShow">
<el-row class="title">
- <el-col :span="8" style="padding-left: 20px;text-align: left;"
- >濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span
- style="color: #3A7BFA"
- >锟{ total.toFixed(2) }}</span
- ></el-col
- >
+ <el-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span
+ style="color: #3A7BFA">锟{ total.toFixed(2) }}</span></el-col>
<el-col :span="16" style="text-align: right;">
- <el-select
- v-model="template"
- size="medium"
- placeholder="涓嬪崟妯℃澘"
- style="margin-right: 10px;"
- v-show="active == 1"
- @change="selectInsOrderTemplateById"
- >
- <el-option
- v-for="(a, ai) in templates"
- :key="ai"
- :value="a.id"
- :label="a.name"
- >
+ <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;"
+ v-show="active == 1" @change="selectInsOrderTemplateById">
+ <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name">
<span style="float: left">{{ a.name }}</span>
- <i
- class="el-icon-delete"
- style="float: right; color: #66b1ff; font-size: 16px"
- @click.stop="handleDelete(a)"
- ></i>
+ <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px"
+ @click.stop="handleDelete(a)"></i>
</el-option>
</el-select>
- <el-button
- size="medium"
- @click="templateDia = true"
- v-show="active == 1"
- >
+ <el-button size="medium" @click="templateDia = true" v-show="active == 1">
<span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
</el-button>
- <el-button
- size="medium"
- type="primary"
- @click="openEquipConfig"
- v-if="active == 1"
- >瀛愭牱鍝侀厤缃�</el-button
- >
- <el-button
- size="medium"
- type="primary"
- @click="save"
- :loading="saveLoad"
- v-show="active == 1"
- >鎻愪氦</el-button
- >
+ <el-button size="medium" type="primary" @click="openEquipConfig" v-if="active == 1">瀛愭牱鍝侀厤缃�</el-button>
+ <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active == 1">鎻愪氦</el-button>
<!-- 瀹℃牳 -->
- <el-button
- size="medium"
- @click="upInsOrderOfState(2)"
- :loading="saveLoad"
- v-show="active == 3 && addObj.companyId"
- :disabled="saveLoad"
- >涓嶉�氳繃</el-button
- >
- <el-button
- size="medium"
- type="primary"
- @click="upInsOrderOfState(1)"
- :loading="saveLoad"
- v-show="active == 3 && addObj.companyId"
- >閫氳繃</el-button
- >
+ <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad"
+ v-show="active == 3 && addObj.companyId" :disabled="saveLoad">涓嶉�氳繃</el-button>
+ <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad"
+ v-show="active == 3 && addObj.companyId">閫氳繃</el-button>
<el-button size="medium" @click="$parent.playOrder(0)">
<span style="color: #3A7BFA;">杩斿洖</span>
</el-button>
</el-col>
</el-row>
</div>
- <div
- v-show="!configShow && !equipConfigShow && !cableConfigShow"
- class="container"
- >
+ <div v-show="!configShow && !equipConfigShow && !cableConfigShow" class="container">
<div class="search">
<el-row>
<el-col class="search_thing" :span="6">
<div class="search_label">濮旀墭缂栧彿锛�</div>
<div class="search_input">
- <el-input
- v-model="addObj.entrustCode"
- size="small"
- placeholder="绯荤粺鐢熸垚"
- disabled
- ></el-input>
+ <el-input v-model="addObj.entrustCode" size="small" placeholder="绯荤粺鐢熸垚" disabled></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6">
@@ -233,19 +179,8 @@
<span class="required-span">* </span>妫�楠岀被鍒細
</div>
<div class="search_input">
- <el-select
- size="small"
- style="width: 100%;"
- clearable
- v-model="addObj.orderType"
- :disabled="active > 1"
- >
- <el-option
- v-for="(a, ai) in orderType"
- :key="ai"
- :value="a.value"
- :label="a.label"
- ></el-option>
+ <el-select size="small" style="width: 100%;" clearable v-model="addObj.orderType" :disabled="active > 1">
+ <el-option v-for="(a, ai) in orderType" :key="ai" :value="a.value" :label="a.label"></el-option>
</el-select>
</div>
</el-col>
@@ -254,12 +189,7 @@
<span class="required-span">* </span>鍒跺崟浜猴細
</div>
<div class="search_input">
- <el-input
- size="small"
- clearable
- disabled
- v-model="addObj.custom"
- ></el-input>
+ <el-input size="small" clearable disabled v-model="addObj.custom"></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6">
@@ -267,20 +197,9 @@
<span class="required-span">* </span>濮旀墭鍗曚綅锛�
</div>
<div class="search_input">
- <el-input
- readonly
- size="small"
- v-model="addObj.company"
- placeholder="閫夋嫨濮旀墭鍗曚綅"
- >
- <template slot="append"
- ><el-button
- slot="append"
- icon="el-icon-search"
- @click="(selectUserDia = true), (createState = 1)"
- :disabled="active > 1"
- ></el-button
- ></template>
+ <el-input readonly size="small" v-model="addObj.company" placeholder="閫夋嫨濮旀墭鍗曚綅">
+ <template slot="append"><el-button slot="append" icon="el-icon-search"
+ @click="(selectUserDia = true), (createState = 1)" :disabled="active > 1"></el-button></template>
</el-input>
</div>
</el-col>
@@ -289,13 +208,8 @@
<span class="required-span">* </span>鑱旂郴鏂瑰紡锛�
</div>
<div class="search_input">
- <el-input
- size="small"
- placeholder="閫夋嫨濮旀墭瀹㈡埛"
- clearable
- :readonly="active > 1"
- v-model="addObj.phone"
- ></el-input>
+ <el-input size="small" placeholder="閫夋嫨濮旀墭瀹㈡埛" clearable :readonly="active > 1"
+ v-model="addObj.phone"></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6" v-if="addObj.orderType == 'C'">
@@ -303,20 +217,9 @@
<span class="required-span">* </span>涓嬪崟鑷筹細
</div>
<div class="search_input">
- <el-select
- size="small"
- style="width: 100%;"
- clearable
- v-model="addObj.departmentLimsId"
- :disabled="active > 1"
- placeholder="閮ㄩ棬"
- >
- <el-option
- v-for="(a, ai) in deaprtEnum"
- :key="ai"
- :value="a.id"
- :label="a.name"
- ></el-option>
+ <el-select size="small" style="width: 100%;" clearable v-model="addObj.departmentLimsId"
+ :disabled="active > 1" placeholder="閮ㄩ棬">
+ <el-option v-for="(a, ai) in deaprtEnum" :key="ai" :value="a.id" :label="a.name"></el-option>
</el-select>
</div>
</el-col>
@@ -325,19 +228,8 @@
<span class="required-span">* </span>绱ф�ョ▼搴︼細
</div>
<div class="search_input">
- <el-select
- size="small"
- style="width: 100%;"
- clearable
- v-model="addObj.type"
- :disabled="active > 1"
- >
- <el-option
- v-for="(a, ai) in type"
- :key="ai"
- :value="a.value"
- :label="a.label"
- ></el-option>
+ <el-select size="small" style="width: 100%;" clearable v-model="addObj.type" :disabled="active > 1">
+ <el-option v-for="(a, ai) in type" :key="ai" :value="a.value" :label="a.label"></el-option>
</el-select>
</div>
</el-col>
@@ -347,14 +239,8 @@
</div>
<div class="search_input">
<el-input readonly size="small" v-model="addObj.sample">
- <template slot="append"
- ><el-button
- slot="append"
- icon="el-icon-search"
- @click="selectStandardTree = true"
- :disabled="active > 1"
- ></el-button
- ></template>
+ <template slot="append"><el-button slot="append" icon="el-icon-search"
+ @click="selectStandardTree = true" :disabled="active > 1"></el-button></template>
</el-input>
</div>
</el-col>
@@ -369,16 +255,8 @@
<span class="required-span">* </span>鏍峰搧鏁伴噺锛�
</div>
<div class="search_input">
- <el-input-number
- size="small"
- v-model="addObj.sampleNum"
- :min="1"
- :max="100"
- :precision="0"
- style="width: 100%;"
- @change="addStandardTree"
- :disabled="active > 1"
- ></el-input-number>
+ <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0"
+ style="width: 100%;" @change="addStandardTree" :disabled="active > 1"></el-input-number>
</div>
</el-col>
<!-- <el-col class="search_thing" :span="6">
@@ -394,58 +272,25 @@
<span class="required-span">* </span>璁㈠崟绫诲瀷锛�
</div>
<div class="search_input">
- <el-select
- v-model="addObj.formType"
- size="small"
- :disabled="active > 1"
- style="width: 100%;"
- >
- <el-option
- v-for="(a, ai) in formType"
- :key="ai"
- :label="a.label"
- :value="a.value"
- ></el-option>
+ <el-select v-model="addObj.formType" size="small" :disabled="active > 1" style="width: 100%;">
+ <el-option v-for="(a, ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option>
</el-select>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="6"
- v-if="addObj.formType === '鍏朵粬鎴愬搧'"
- >
+ <el-col class="search_thing" :span="6" v-if="addObj.formType === '鍏朵粬鎴愬搧'">
<div class="search_label">闆朵欢鍙凤細</div>
<div class="search_input">
- <el-input
- size="small"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- clearable
- v-model="addObj.partNo"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.partNo"
+ :readonly="active > 1"></el-input>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="6"
- v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType"
- >
+ <el-col class="search_thing" :span="6" v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType">
<div class="search_label">
<span class="required-span">* </span>閫氱煡鑷虫牱鏈哄憳锛�
</div>
<div class="search_input">
- <el-select
- v-model="addObj.issueUser"
- size="small"
- :disabled="active > 1"
- style="width: 100%;"
- >
- <el-option
- v-for="(a, ai) in personList"
- :key="ai"
- :label="a.label"
- :value="a.value"
- ></el-option>
+ <el-select v-model="addObj.issueUser" size="small" :disabled="active > 1" style="width: 100%;">
+ <el-option v-for="(a, ai) in personList" :key="ai" :label="a.label" :value="a.value"></el-option>
</el-select>
</div>
</el-col>
@@ -470,25 +315,15 @@
<el-col class="search_thing" :span="6">
<div class="search_label">宸ョ▼鍚嶇О锛�</div>
<div class="search_input">
- <el-input
- size="small"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- clearable
- v-model="addObj.engineering"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.engineering"
+ :readonly="active > 1"></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6">
<div class="search_label">宸ョ▼鍚嶇ОEN锛�</div>
<div class="search_input">
- <el-input
- size="small"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- clearable
- v-model="addObj.engineeringEn"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.engineeringEn"
+ :readonly="active > 1"></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6">
@@ -498,20 +333,9 @@
<div class="search_input">
<!-- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.production"
:readonly="active>1"></el-input> -->
- <el-input
- size="small"
- v-model="addObj.production"
- placeholder="閫夋嫨鐢熶骇鍗曚綅"
- :readonly="active > 1"
- >
- <template slot="append"
- ><el-button
- slot="append"
- icon="el-icon-search"
- @click="(selectUserDia = true), (createState = 2)"
- :disabled="active > 1"
- ></el-button
- ></template>
+ <el-input size="small" v-model="addObj.production" placeholder="閫夋嫨鐢熶骇鍗曚綅" :readonly="active > 1">
+ <template slot="append"><el-button slot="append" icon="el-icon-search"
+ @click="(selectUserDia = true), (createState = 2)" :disabled="active > 1"></el-button></template>
</el-input>
</div>
</el-col>
@@ -520,13 +344,8 @@
<span class="required-span">* </span>鐢熶骇鍗曚綅EN锛�
</div>
<div class="search_input">
- <el-input
- size="small"
- placeholder="璇疯緭鍏�"
- clearable
- v-model="addObj.productionEn"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.productionEn"
+ :readonly="active > 1"></el-input>
</div>
</el-col>
<!-- <el-col class="search_thing" :span="6">
@@ -543,11 +362,7 @@
鏄惁娑夊強閰嶅鏍峰搧锛�
</div>
<div class="search_input" style="width: calc(100% - 175px);">
- <el-radio-group
- v-model="addObj.mating"
- @change="$refs.sampleTable.doLayout()"
- :disabled="active > 1"
- >
+ <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active > 1">
<el-radio :label="1">鏄�</el-radio>
<el-radio :label="0">鍚�</el-radio>
</el-radio-group>
@@ -562,13 +377,8 @@
<el-col class="search_thing" :span="6">
<div class="search_label">濮旀墭浜猴細</div>
<div class="search_input">
- <el-input
- size="small"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- clearable
- v-model="addObj.prepareUser"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.prepareUser"
+ :readonly="active > 1"></el-input>
</div>
</el-col>
<el-col class="search_thing" :span="6">
@@ -576,95 +386,43 @@
<span class="required-span">* </span>绾﹀畾鏃堕棿锛�
</div>
<div class="search_input">
- <el-date-picker
- v-model="addObj.appointed"
- :disabled="active > 1"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- size="small"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- style="width: 100%;"
- >
+ <el-date-picker v-model="addObj.appointed" :disabled="active > 1" type="date" placeholder="閫夋嫨鏃ユ湡"
+ size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="6"
- v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType"
- >
+ <el-col class="search_thing" :span="6" v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType">
<div class="search_label">
<span class="required-span">* </span>鏍锋満瀹屾垚鏃堕棿锛�
</div>
<div class="search_input">
- <el-date-picker
- v-model="addObj.issueTime"
- :disabled="active > 1"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- size="small"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- style="width: 100%;"
- >
+ <el-date-picker v-model="addObj.issueTime" :disabled="active > 1" type="date" placeholder="閫夋嫨鏃ユ湡"
+ size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</div>
</el-col>
- <el-col
- class="search_thing upload"
- :span="4"
- style="align-items: flex-start;height: auto"
- v-if="active == 1"
- >
- <el-upload
- style="margin: 8px 0 0px 50px;"
- action="#"
- :auto-upload="false"
- accept=".jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv"
- :on-change="handleChangeUpload"
- >
+ <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active == 1">
+ <el-upload style="margin: 8px 0 0px 50px;" action="#" :auto-upload="false"
+ accept=".jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv" :on-change="handleChangeUpload">
<el-button size="small" type="primary">涓婁紶闄勪欢</el-button>
</el-upload>
</el-col>
<el-col class="search_thing" :span="8">
<div class="search_input" style="width: 100%;margin-left: 40px;">
- <el-radio-group
- v-model="ruleInfo.rule"
- @change="$refs.sampleTable.doLayout()"
- :disabled="active > 1"
- >
+ <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active > 1">
<el-radio :label="1">涓嶈�冭檻涓嶇‘瀹氬害</el-radio>
- <el-radio :label="2"
- >鑰冭檻涓嶇‘瀹氬害<el-input
- placeholder=""
- v-model="ruleInfo.num"
- style="width: 100px;margin-left: 10px;"
- size="mini"
- :disabled="active > 1"
- >
+ <el-radio :label="2">鑰冭檻涓嶇‘瀹氬害<el-input placeholder="" v-model="ruleInfo.num"
+ style="width: 100px;margin-left: 10px;" size="mini" :disabled="active > 1">
<template slot="append">%</template>
- </el-input></el-radio
- >
+ </el-input></el-radio>
</el-radio-group>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="6"
- style="align-items: flex-start;margin: 8px 0;"
- >
+ <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
<div class="search_label">澶囨敞锛�</div>
<div class="search_input">
- <el-input
- type="textarea"
- :autosize="{ minRows: 2, maxRows: 2 }"
- size="small"
- clearable
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- v-model="addObj.remark"
- :readonly="active > 1"
- ></el-input>
+ <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2 }" size="small" clearable
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'" v-model="addObj.remark" :readonly="active > 1"></el-input>
</div>
</el-col>
<!-- <el-col class="search_thing" :span="6" v-if="active==1">
@@ -676,39 +434,19 @@
</el-row>
</div>
<div style="height: auto;">
- <div
- class="search"
- v-if="active == 1"
- style="display: flex;background: transparent;"
- >
+ <div class="search" v-if="active == 1" style="display: flex;background: transparent;">
<div class="search_thing">
<div class="search_label">鏍峰搧鍚嶇О锛�</div>
<div class="search_input">
- <el-input
- size="small"
- v-model="allInfo.sample"
- @change="changeModel('sample')"
- ></el-input>
+ <el-input size="small" v-model="allInfo.sample" @change="changeModel('sample')"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">鏍峰搧绫诲埆锛�</div>
<div class="search_input">
- <el-select
- v-model="allInfo.model"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- filterable
- allow-create
- default-first-option
- size="small"
- @change="changeModel('model')"
- >
- <el-option
- v-for="item in models"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="allInfo.model" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" filterable allow-create
+ default-first-option size="small" @change="changeModel('model')">
+ <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -716,31 +454,15 @@
<div class="search_thing">
<div class="search_label">浜у搧鍨嬪彿锛�</div>
<div class="search_input">
- <el-input
- size="small"
- v-model="allInfo.modelNum"
- @change="changeModel('modelNum')"
- ></el-input>
+ <el-input size="small" v-model="allInfo.modelNum" @change="changeModel('modelNum')"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">璇曢獙鏍囧噯锛�</div>
<div class="search_input">
- <el-select
- v-model="allInfo.testRequirements"
- :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- filterable
- allow-create
- default-first-option
- size="small"
- @change="changeModel('testRequirements')"
- >
- <el-option
- v-for="item in standard"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="allInfo.testRequirements" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" filterable
+ allow-create default-first-option size="small" @change="changeModel('testRequirements')">
+ <el-option v-for="item in standard" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -748,351 +470,128 @@
<div class="search_thing">
<div class="search_label">妫�楠屾爣鍑嗭細</div>
<div class="search_input">
- <el-select
- v-model="standardMethodListId"
- :placeholder="active > 1 ? '' : '璇疯緭閫夋嫨'"
- size="small"
- @focus="methodFocus"
- :loading="methodLoad"
- multiple
- @change="changeStandardMethodListId"
- >
- <el-option
- v-for="item in methods"
- :key="item.id"
- :label="item.code"
- :value="item.id"
- >
+ <el-select v-model="standardMethodListId" :placeholder="active > 1 ? '' : '璇疯緭閫夋嫨'" size="small"
+ @focus="methodFocus" :loading="methodLoad" multiple @change="changeStandardMethodListId">
+ <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
</el-option>
</el-select>
</div>
</div>
</div>
- <el-radio-group
- v-model="currentPage"
- v-if="active > 1"
- size="small"
- style="margin-top: 20px;"
- >
+ <el-radio-group v-model="currentPage" v-if="active > 1" size="small" style="margin-top: 20px;">
<el-radio-button :label="0">鏍峰搧</el-radio-button>
<el-radio-button :label="1">闄勪欢</el-radio-button>
</el-radio-group>
- <el-table
- class="el-table sampleTable"
- ref="sampleTable"
- :data="sampleList"
- max-height="400px"
- tooltip-effect="dark"
- border
- @selection-change="selectSample"
- highlight-current-row
- @row-click="rowClick"
- style="margin-top: 10px;"
- v-show="currentPage == 0"
- >
- <el-table-column
- type="selection"
- width="60"
- :selectable="selectable"
- v-if="active == 1"
- ></el-table-column>
- <el-table-column
- type="index"
- label="搴忓彿"
- width="65"
- align="center"
- ></el-table-column>
- <el-table-column
- prop="sample"
- label="鏍峰搧鍚嶇О"
- align="center"
- min-width="100"
- >
+ <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px"
+ tooltip-effect="dark" border @selection-change="selectSample" highlight-current-row @row-click="rowClick"
+ style="margin-top: 10px;" v-show="currentPage == 0">
+ <el-table-column type="selection" width="60" :selectable="selectable" v-if="active == 1"></el-table-column>
+ <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
+ <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
<template slot-scope="scope">
- <el-input
- size="small"
- v-model="scope.row.sample"
- clearable
- :readonly="active > 1"
- placeholder="蹇呭~"
- ></el-input>
+ <el-input size="small" v-model="scope.row.sample" clearable :readonly="active > 1"
+ placeholder="蹇呭~"></el-input>
</template>
</el-table-column>
- <el-table-column
- prop="sampleCode"
- label="鏍峰搧缂栧彿"
- min-width="100"
- align="center"
- >
+ <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100" align="center">
<template slot-scope="scope">
- <el-input
- size="small"
- v-model="scope.row.sampleCode"
- clearable
- placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
- :readonly="active > 1"
- ></el-input>
+ <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ :readonly="active > 1"></el-input>
</template>
</el-table-column>
- <el-table-column
- prop="model"
- label="鏍峰搧绫诲埆"
- align="center"
- min-width="100"
- >
+ <el-table-column prop="model" label="鏍峰搧绫诲埆" align="center" min-width="100">
<template slot-scope="scope">
- <el-select
- v-model="scope.row.model"
- filterable
- allow-create
- default-first-option
- placeholder="鏍峰搧绫诲埆"
- size="small"
- @change="handleChangeModel"
- :disabled="active > 1"
- style="width: 100%;"
- >
- <el-option
- v-for="item in models"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧绫诲埆"
+ size="small" @change="handleChangeModel" :disabled="active > 1" style="width: 100%;">
+ <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column
- prop="modelNum"
- label="浜у搧鍨嬪彿"
- min-width="100"
- align="center"
- v-if="!(active > 1)"
- >
+ <el-table-column prop="modelNum" label="浜у搧鍨嬪彿" min-width="100" align="center" v-if="!(active > 1)">
<template slot-scope="scope">
- <el-input
- size="small"
- v-model="scope.row.modelNum"
- clearable
- placeholder="蹇呭~"
- @keyup.enter.native="
- methodChange(scope.row.standardMethodListId, scope.row)
- "
- @clear="methodChange(scope.row.standardMethodListId, scope.row)"
- ></el-input>
+ <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="蹇呭~" @keyup.enter.native="
+ methodChange(scope.row.standardMethodListId, scope.row)
+ " @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
</template>
</el-table-column>
- <el-table-column
- prop="testRequirements"
- label="璇曢獙鏍囧噯"
- align="center"
- min-width="100"
- >
+ <el-table-column prop="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
<template slot-scope="scope">
- <el-select
- v-model="scope.row.testRequirements"
- :disabled="scope.row.model == null || active > 1"
- placeholder="璇曢獙鏍囧噯"
- size="small"
- :readonly="active > 1"
- style="width: 100%;"
- clearable
- @change="changeModel0(scope.row)"
- >
- <el-option
- v-for="item in standard"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model == null || active > 1"
+ placeholder="璇曢獙鏍囧噯" size="small" :readonly="active > 1" style="width: 100%;" clearable
+ @change="changeModel0(scope.row)">
+ <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column
- prop="standardMethodListId"
- label="妫�楠屾爣鍑�"
- align="center"
- min-width="100"
- >
+ <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
<template slot-scope="scope">
- <el-select
- v-model="scope.row.standardMethodListId"
- :disabled="scope.row.model == null || active > 1"
- placeholder="妫�楠屾爣鍑�"
- size="small"
- :loading="methodLoad"
- @change="value => methodChange(value, scope.row)"
- @focus="methodFocus"
- :readonly="active > 1"
- style="width: 100%;"
- clearable
- @clear="productList = []"
- multiple
- >
- <el-option
- v-for="item in methods"
- :key="item.id"
- :label="item.code"
- :value="item.id"
- >
+ <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model == null || active > 1"
+ placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="value => methodChange(value, scope.row)"
+ @focus="methodFocus" :readonly="active > 1" style="width: 100%;" clearable @clear="productList = []"
+ multiple>
+ <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column
- prop="joinName"
- label="閰嶅鏍峰搧鍚嶇О"
- width="140"
- align="center"
- v-if="addObj.mating == 1"
- >
+ <el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" width="140" align="center" v-if="addObj.mating == 1">
<template slot-scope="scope">
- <el-input
- size="small"
- type="textarea"
- :autosize="{ minRows: 1, maxRows: 1 }"
- v-model="scope.row.joinName"
- ></el-input>
+ <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }"
+ v-model="scope.row.joinName"></el-input>
</template>
</el-table-column>
- <el-table-column
- prop="joinModel"
- label="閰嶅鏍峰搧鍨嬪彿"
- width="140"
- align="center"
- v-if="addObj.mating == 1"
- >
+ <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" width="140" align="center" v-if="addObj.mating == 1">
<template slot-scope="scope">
- <el-input
- size="small"
- type="textarea"
- :autosize="{ minRows: 1, maxRows: 1 }"
- v-model="scope.row.joinModel"
- ></el-input>
+ <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }"
+ v-model="scope.row.joinModel"></el-input>
</template>
</el-table-column>
- <el-table-column
- prop="joinNum"
- label="閰嶅鏍峰搧鏁伴噺"
- width="140"
- align="center"
- v-if="addObj.mating == 1"
- >
+ <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" width="140" align="center" v-if="addObj.mating == 1">
<template slot-scope="scope">
- <el-input-number
- size="small"
- v-model="scope.row.joinNum"
- :min="1"
- :max="100"
- :precision="0"
- :controls="false"
- style="width: 80%;"
- ></el-input-number>
+ <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
+ :controls="false" style="width: 80%;"></el-input-number>
</template>
</el-table-column>
- <el-table-column
- prop="proNum"
- label="寰呮椤规暟閲�"
- width="105"
- align="center"
- ></el-table-column>
+ <el-table-column prop="proNum" label="寰呮椤规暟閲�" width="105" align="center"></el-table-column>
</el-table>
- <el-table
- class="el-table"
- ref="productTable"
- :data="productList"
- max-height="400px"
- tooltip-effect="dark"
- border
- @selection-change="selectProduct"
- style="margin-bottom: 10px;"
- @select="upProductSelect"
- :row-class-name="tableRowClassName"
- v-loading="getProductLoad"
- @select-all="handleAll"
- v-show="currentPage == 0"
- >
- <el-table-column
- type="selection"
- width="65"
- :selectable="selectable"
- v-if="active == 1"
- ></el-table-column>
- <el-table-column
- prop="inspectionItemClass"
- v-if="PROJECT === '瑁呭鐢电紗'"
- label="妫�楠岄」鍒嗙被"
- min-width="140"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- prop="inspectionItemClassEn"
- v-if="PROJECT === '瑁呭鐢电紗'"
- label="妫�楠岄」鍒嗙被(EN)"
- min-width="140"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- prop="inspectionItem"
- label="妫�楠岄」"
- min-width="140"
- show-overflow-tooltip
- >
+ <el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark"
+ border @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
+ :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll"
+ v-show="currentPage == 0">
+ <el-table-column type="selection" width="65" :selectable="selectable" v-if="active == 1"></el-table-column>
+ <el-table-column prop="inspectionItemClass" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被" min-width="140"
+ show-overflow-tooltip></el-table-column>
+ <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被(EN)" min-width="140"
+ show-overflow-tooltip></el-table-column>
+ <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
- <div
- style="display: flex;align-items: center;flex-direction: column;font-size: 14px"
- >
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>妫�楠岄」</span>
- <el-input
- v-if="active == 1"
- v-model="inspectionItem"
- @input="searchFilterList"
- size="mini"
- placeholder="璇疯緭鍏�"
- />
+ <el-input v-if="active == 1" v-model="inspectionItem" @input="searchFilterList" size="mini"
+ placeholder="璇疯緭鍏�" />
</div>
</template>
</el-table-column>
- <el-table-column
- prop="inspectionItemSubclass"
- label="妫�楠岄」瀛愰」"
- min-width="140"
- show-overflow-tooltip
- >
+ <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
- <div
- style="display: flex;align-items: center;flex-direction: column;font-size: 14px"
- >
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>妫�楠岄」瀛愰」</span>
- <el-input
- v-if="active == 1"
- v-model="inspectionItemSubclass"
- @input="searchFilterList"
- size="mini"
- placeholder="璇疯緭鍏�"
- />
+ <el-input v-if="active == 1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini"
+ placeholder="璇疯緭鍏�" />
</div>
</template>
</el-table-column>
<el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px">
<template slot-scope="scope">
- <el-input
- size="small"
- placeholder="瑕佹眰鎻忚堪"
- v-model="scope.row.tell"
- clearable
- type="textarea"
- :autosize="{ minRows: 1, maxRows: 3 }"
- @change="e => requestChange(e, scope.row, 'tell')"
- v-if="active == 1"
- :disabled="
- !!scope.row.tell &&
- scope.row.tell.includes('[') &&
- scope.row.tell.includes(']') &&
- scope.row.tell.includes(',')
- "
- ></el-input>
+ <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }" @change="e => requestChange(e, scope.row, 'tell')"
+ v-if="active == 1" :disabled="!!scope.row.tell &&
+ scope.row.tell.includes('[') &&
+ scope.row.tell.includes(']') &&
+ scope.row.tell.includes(',')
+ "></el-input>
<span v-else>
<template>{{ scope.row.tell }}</template>
</span>
@@ -1100,22 +599,13 @@
</el-table-column>
<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
<template slot-scope="scope">
- <el-input
- size="small"
- placeholder="瑕佹眰鍊�"
- v-model="scope.row.ask"
- clearable
- type="textarea"
- :autosize="{ minRows: 1, maxRows: 3 }"
- @change="e => requestChange(e, scope.row, 'ask')"
- v-if="active == 1 && scope.row.inspectionValueType != '5'"
- :disabled="
- !!scope.row.ask &&
- scope.row.ask.includes('[') &&
- scope.row.ask.includes(']') &&
- scope.row.ask.includes(',')
- "
- ></el-input>
+ <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }" @change="e => requestChange(e, scope.row, 'ask')"
+ v-if="active == 1 && scope.row.inspectionValueType != '5'" :disabled="!!scope.row.ask &&
+ scope.row.ask.includes('[') &&
+ scope.row.ask.includes(']') &&
+ scope.row.ask.includes(',')
+ "></el-input>
<span v-else>
<!-- <template v-if="(scope.row.ask.indexOf('D')>-1
||scope.row.ask.indexOf('W')>-1
@@ -1125,141 +615,66 @@
||scope.row.ask.indexOf('L')>-1)&&active==1">
<input class="askRts" v-model="scope.row.rts" /><br />{{ scope.row.ask }}
</template>
- <template v-else>{{ scope.row.ask }}</template> -->
+ <template v-else>{{ scope.row.ask }}</template> -->
<template>{{ scope.row.ask }}</template>
</span>
</template>
</el-table-column>
- <el-table-column
- prop="methodS"
- label="璇曢獙鏂规硶"
- min-width="120"
- show-overflow-tooltip
- >
+ <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
- <div
- style="display: flex;align-items: center;flex-direction: column;font-size: 14px"
- >
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>璇曢獙鏂规硶</span>
- <el-input
- v-if="active == 1"
- v-model="methodS"
- @input="searchFilterList"
- size="mini"
- placeholder="璇疯緭鍏�"
- />
+ <el-input v-if="active == 1" v-model="methodS" @input="searchFilterList" size="mini"
+ placeholder="璇疯緭鍏�" />
</div>
</template>
</el-table-column>
- <el-table-column
- prop="unit"
- label="璁¢噺鍗曚綅"
- width="100"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- prop="price"
- label="鍗曚环"
- width="100"
- show-overflow-tooltip
- ></el-table-column>
+ <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
<!-- <el-table-column prop="manDay" label="棰勮鏃堕棿(澶�)" width="120" show-overflow-tooltip></el-table-column>
<el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="100" show-overflow-tooltip></el-table-column> -->
<!-- <el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column> -->
- <el-table-column
- prop="section"
- label="鍖洪棿"
- min-width="120"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- prop="sonLaboratory"
- label="瀛愬疄楠屽"
- min-width="130"
- show-overflow-tooltip
- :filters="filters"
- :filter-method="filterHandler"
- ></el-table-column>
+ <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
+ :filter-method="filterHandler"></el-table-column>
</el-table>
- <ValueTable
- class="value-table"
- ref="fileList"
- :url="$api.insOrderPlan.getFileList"
- :componentData="componentData0"
- :delUrl="$api.insOrderPlan.delfile"
- style="height: 100%;margin-top: 16px;"
- v-show="currentPage == 1"
- />
+ <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
+ :componentData="componentData0" :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;"
+ v-show="currentPage == 1" />
</div>
</div>
<el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
<div class="body" style="height: 60vh;" v-if="selectUserDia">
- <ValueTable
- ref="ValueTable2"
- :url="$api.user.selectCustomPageList"
- :componentData="componentData2"
- />
+ <ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" />
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="selectUserDia = false">鍙� 娑�</el-button>
<el-button type="primary" @click="selectUser">纭� 瀹�</el-button>
</span>
</el-dialog>
- <el-dialog
- title="閫夋嫨鏍峰搧"
- :visible.sync="selectStandardTree"
- width="500px"
- >
- <div
- class="body"
- style="height: 60vh;overflow-y: auto;user-select: none;"
- v-if="selectStandardTree"
- >
+ <el-dialog title="閫夋嫨鏍峰搧" :visible.sync="selectStandardTree" width="500px">
+ <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
<el-row>
<el-col :span="24">
- <el-input
- placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
- suffix-icon="el-icon-search"
- v-model="search"
- size="small"
- style="margin-bottom: 5px;"
- clearable
- @blur="searchFilter"
- @clear="searchFilter"
- @keyup.enter.native="searchFilter"
- ></el-input>
+ <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
+ style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
+ @keyup.enter.native="searchFilter"></el-input>
</el-col>
</el-row>
- <el-tree
- :data="list"
- ref="tree"
- :props="{ children: 'children', label: 'label' }"
- node-key="label"
- :filter-node-method="filterNode"
- @node-click="handleNodeClick"
- highlight-current
- @node-expand="nodeOpen"
- @node-collapse="nodeClose"
- :default-expanded-keys="expandedKeys"
- @dblclick.native="activeStandardTree"
- >
+ <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
+ :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
+ @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
<div class="custom-tree-node" slot-scope="{ node, data }">
<el-row>
<el-col :span="24">
- <span
- ><i
- :class="
- `node_i ${
- data.children != undefined
- ? data.code === '[1]'
- ? 'el-icon-folder-opened'
- : 'el-icon-folder'
- : 'el-icon-tickets'
- }`
- "
- ></i>
- {{ data.code }} {{ data.label }}</span
- >
+ <span><i :class="`node_i ${data.children != undefined
+ ? data.code === '[1]'
+ ? 'el-icon-folder-opened'
+ : 'el-icon-folder'
+ : 'el-icon-tickets'
+ }`
+ "></i>
+ {{ data.code }} {{ data.label }}</span>
</el-col>
</el-row>
</div>
@@ -1271,11 +686,7 @@
</span>
</el-dialog>
<el-dialog title="淇濆瓨妯℃澘" :visible.sync="templateDia" width="400px">
- <div
- class="body"
- style="display: flex;align-items: center;"
- v-if="templateDia"
- >
+ <div class="body" style="display: flex;align-items: center;" v-if="templateDia">
<div class="search_label" style="width: 90px;">
<span class="required-span">* </span>妯℃澘鍚嶇О锛�
</div>
@@ -1285,22 +696,11 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="templateDia = false">鍙� 娑�</el-button>
- <el-button
- type="primary"
- @click="addTemplateDia"
- :loading="templateLoading"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button>
</span>
</el-dialog>
- <el-dialog
- title="妫�楠屼笅鍙�"
- :visible.sync="issuedDialogVisible"
- width="400px"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :show-close="false"
- >
+ <el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="400px" :close-on-click-modal="false"
+ :close-on-press-escape="false" :show-close="false">
<div class="body" style="max-height: 60vh;">
<el-row>
<el-col class="search_thing" :span="22">
@@ -1308,38 +708,19 @@
<span class="required-span">* </span>绾﹀畾鏃堕棿锛�
</div>
<div class="search_input">
- <el-date-picker
- size="small"
- v-model="distributeData.appointed"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd"
- style="width: 100%;"
- format="yyyy-MM-dd"
- >
+ <el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd" style="width: 100%;" format="yyyy-MM-dd">
</el-date-picker>
</div>
</el-col>
<el-col class="search_thing" :span="22">
<div class="search_label">
- <span class="required-span" v-if="addObj.type == 2">* </span
- >鎸囨淳浜哄憳锛�
+ <span class="required-span" v-if="addObj.type == 2">* </span>鎸囨淳浜哄憳锛�
</div>
<div class="search_input">
- <el-select
- v-model="distributeData.userId"
- placeholder="璇烽�夋嫨"
- size="small"
- filterable
- style="width: 100%;"
- @change="changeUser"
- >
- <el-option
- v-for="item in personList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" filterable style="width: 100%;"
+ @change="changeUser">
+ <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -1349,19 +730,9 @@
<span class="required-span">* </span>璇曢獙瀹わ細
</div>
<div class="search_input">
- <el-select
- v-model="distributeData.sonLaboratory"
- placeholder="璇烽�夋嫨"
- size="small"
- filterable
- style="width: 100%;"
- >
- <el-option
- v-for="item in sonLaboratoryList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="distributeData.sonLaboratory" placeholder="璇烽�夋嫨" size="small" filterable
+ style="width: 100%;">
+ <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -1370,16 +741,11 @@
</div>
<span slot="footer" class="dialog-footer">
<el-row>
- <el-button
- @click="
- issuedDialogVisible = false;
- $parent.playOrder(0);
- "
- >鍙� 娑�</el-button
- >
- <el-button type="primary" @click="submitForm2" :loading="upLoad"
- >纭� 瀹�</el-button
- >
+ <el-button @click="
+ issuedDialogVisible = false;
+ $parent.playOrder(0);
+ ">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm2" :loading="upLoad">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
@@ -1391,92 +757,46 @@
<span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�
</div>
<div class="search_input">
- <el-input
- v-model="tell"
- size="small"
- placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"
- ></el-input>
+ <el-input v-model="tell" size="small" placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"></el-input>
</div>
</el-col>
</el-row>
</div>
<span slot="footer" class="dialog-footer">
<el-row>
- <el-button @click="(noDialogVisible = false), (tell = '')"
- >鍙� 娑�</el-button
- >
- <el-button type="primary" @click="submitTell" :loading="noLoading"
- >纭� 瀹�</el-button
- >
+ <el-button @click="(noDialogVisible = false), (tell = '')">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitTell" :loading="noLoading">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
- <fiberOpticConfig
- :currentId="currentId"
- @saveFiberopticConfig="getTotal()"
- v-if="configShow && examine == 0"
- :active="active"
- :inspectionItemST="inspectionItemST"
- />
- <fiberOpticConfigTwo
- :currentId="currentId"
- v-if="configShow && examine == 1"
- :active="active"
- />
- <equipConfig
- :currentId="currentId"
- v-if="equipConfigShow"
- :active="active"
- />
+ <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine == 0"
+ :active="active" :inspectionItemST="inspectionItemST" />
+ <fiberOpticConfigTwo :currentId="currentId" v-if="configShow && examine == 1" :active="active" />
+ <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
<cableConfig v-if="cableConfigShow" :active="active" />
<!-- 鍗曢�夌壒娈婂�煎鐞嗘-->
- <el-dialog
- title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
- :visible.sync="bsm1Dia"
- :close-on-press-escape="false"
- :close-on-click-modal="false"
- min-width="400px"
- :show-close="false"
- :before-close="beforeClose"
- >
+ <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" :close-on-press-escape="false"
+ :close-on-click-modal="false" min-width="400px" :show-close="false" :before-close="beforeClose">
<div class="body" style="max-height: 60vh;">
<el-row v-if="bsm1">
- <el-col
- class="search_thing"
- :span="24"
- style="height: initial;margin: 5px 0;"
- >
+ <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
<div class="search_label" style="width: 80px;">
<span class="required-span">* </span>閫夐」锛�
</div>
<div class="search_input">
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio
- v-for="(a, ai) in JSON.parse(bsmRow.section)"
- :key="ai"
- :label="a"
- style="margin-bottom: 2px;margin-top: 2px;"
- ></el-radio>
+ <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"
+ style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
</el-radio-group>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="24"
- style="height: initial;margin: 5px 0;"
- >
+ <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
<div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div>
- <div
- class="search_input"
- v-show="bsm1Val !== null && bsm1Val !== ''"
- >
+ <div class="search_input" v-show="bsm1Val !== null && bsm1Val !== ''">
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio
- v-for="(a, ai) in JSON.parse(bsmRow.section)"
- :key="ai"
- :label="a"
- >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
- >
+ <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a">{{
+ JSON.parse(bsmRow.ask)[ai]
+ }}</el-radio>
</el-radio-group>
</div>
</el-col>
@@ -1487,57 +807,24 @@
<span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�
</div>
<div class="search_input">
- <el-input-number
- size="medium"
- v-model="bsm2Val"
- :min="1"
- :max="bsm2Val3.length"
- :precision="0"
- style="width: 70%;"
- :controls="false"
- @change="bsm2Up"
- ></el-input-number>
+ <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0"
+ style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number>
<span>MAX锛歿{ bsm2Val3.length }}</span>
</div>
</el-col>
<el-col style="margin-top: 6px;">
<el-col v-for="(a, ai) in bsm2Val2" :key="ai">
<el-col :span="10">
- <el-select
- v-model="a[0]"
- placeholder="璇烽�夋嫨"
- size="small"
- style="width: 100%;"
- >
- <el-option
- v-for="(item, index) in sampleList"
- :key="index"
- :label="index + 1"
- :value="index + 1"
- >
+ <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option v-for="(item, index) in sampleList" :key="index" :label="index + 1" :value="index + 1">
</el-option>
</el-select>
</el-col>
<!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> -->
- <el-col
- :span="4"
- class="pairing"
- style="border: 0;color: rgba(0, 0, 0, 0.2);"
- >鈥斺��</el-col
- >
+ <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>
<el-col :span="10">
- <el-select
- v-model="a[1]"
- placeholder="璇烽�夋嫨"
- size="small"
- style="width: 100%;"
- >
- <el-option
- v-for="(item, index) in sampleList"
- :key="index"
- :label="index + 1"
- :value="index + 1"
- >
+ <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option v-for="(item, index) in sampleList" :key="index" :label="index + 1" :value="index + 1">
</el-option>
</el-select>
</el-col>
@@ -1556,65 +843,32 @@
</div>
<span slot="footer" class="dialog-footer">
<el-row>
- <el-button type="primary" @click="save2" :loading="saveLoad"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="save2" :loading="saveLoad">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
<!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘-->
- <el-dialog
- title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
- :visible.sync="bsm1DiaAll"
- min-width="400px"
- :show-close="false"
- :close-on-press-escape="false"
- :close-on-click-modal="false"
- :before-close="beforeClose"
- >
- <div
- class="body"
- style="max-height: 60vh;"
- v-for="(item, index) in bsm1DiaList"
- :key="index"
- >
+ <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1DiaAll" min-width="400px" :show-close="false"
+ :close-on-press-escape="false" :close-on-click-modal="false" :before-close="beforeClose">
+ <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index">
<el-row v-if="item.bsm1">
- <el-col
- class="search_thing"
- :span="24"
- style="height: initial;margin: 5px 0;"
- >
+ <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
<div class="search_label" style="width: 80px;">
<span class="required-span">* </span>閫夐」锛�
</div>
<div class="search_input">
<el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
- <el-radio
- v-for="(a, ai) in JSON.parse(item.bsmRow.section)"
- :key="ai"
- :label="a"
- style="margin-bottom: 2px;margin-top: 2px;"
- ></el-radio>
+ <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a"
+ style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
</el-radio-group>
</div>
</el-col>
- <el-col
- class="search_thing"
- :span="24"
- style="height: initial;margin: 5px 0;"
- >
+ <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
<div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div>
- <div
- class="search_input"
- v-show="item.bsm1Val !== null && item.bsm1Val !== ''"
- >
+ <div class="search_input" v-show="item.bsm1Val !== null && item.bsm1Val !== ''">
<el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
- <el-radio
- v-for="(a, ai) in JSON.parse(item.bsmRow.section)"
- :key="ai"
- :label="a"
- >{{ JSON.parse(item.bsmRow.ask)[ai] }}</el-radio
- >
+ <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a">{{
+ JSON.parse(item.bsmRow.ask)[ai] }}</el-radio>
</el-radio-group>
</div>
</el-col>
@@ -1625,57 +879,26 @@
<span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�
</div>
<div class="search_input">
- <el-input-number
- size="medium"
- v-model="item.bsm2Val"
- :min="1"
- :max="item.bsm2Val3.length"
- :precision="0"
- style="width: 70%;"
- :controls="false"
- @change="bsm2Up"
- ></el-input-number>
+ <el-input-number size="medium" v-model="item.bsm2Val" :min="1" :max="item.bsm2Val3.length" :precision="0"
+ style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number>
<span>MAX锛歿{ item.bsm2Val3.length }}</span>
</div>
</el-col>
<el-col style="margin-top: 6px;">
<el-col v-for="(a, ai) in item.bsm2Val2" :key="ai">
<el-col :span="10">
- <el-select
- v-model="a[0]"
- placeholder="璇烽�夋嫨"
- size="small"
- style="width: 100%;"
- >
- <el-option
- v-for="(item, index) in item.sampleList"
- :key="index"
- :label="index + 1"
- :value="index + 1"
- >
+ <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option v-for="(item, index) in item.sampleList" :key="index" :label="index + 1"
+ :value="index + 1">
</el-option>
</el-select>
</el-col>
<!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> -->
- <el-col
- :span="4"
- class="pairing"
- style="border: 0;color: rgba(0, 0, 0, 0.2);"
- >鈥斺��</el-col
- >
+ <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>
<el-col :span="10">
- <el-select
- v-model="a[1]"
- placeholder="璇烽�夋嫨"
- size="small"
- style="width: 100%;"
- >
- <el-option
- v-for="(item, index) in item.sampleList"
- :key="index"
- :label="index + 1"
- :value="index + 1"
- >
+ <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option v-for="(item, index) in item.sampleList" :key="index" :label="index + 1"
+ :value="index + 1">
</el-option>
</el-select>
</el-col>
@@ -1686,20 +909,12 @@
</div>
<span slot="footer" class="dialog-footer">
<el-row>
- <el-button type="primary" @click="save1" :loading="saveLoad"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="save1" :loading="saveLoad">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
- <el-dialog
- title="鐗规畩鍊煎~鍐�"
- :visible.sync="bsm3Dia"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- width="800px"
- :show-close="false"
- >
+ <el-dialog title="鐗规畩鍊煎~鍐�" :visible.sync="bsm3Dia" :close-on-click-modal="false" :close-on-press-escape="false"
+ width="800px" :show-close="false">
<el-table :data="editTable" style="width: 100%" height="80vh">
<!-- inspectionItemList -->
<el-table-column prop="inspectionItemList" label="妫�楠岄」" width="180">
@@ -1711,66 +926,38 @@
<el-table-column prop="symbolItem" label="璇嗗埆绗﹀彿"> </el-table-column>
<el-table-column prop="value" label="璇嗗埆绗﹀��">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.value"
- placeholder="璇疯緭鍏�"
- @input="inputValueHandler(scope.row, scope.$index)"
- size="small"
- ></el-input>
+ <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" @input="inputValueHandler(scope.row, scope.$index)"
+ size="small"></el-input>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-row>
<el-button @click="bsm3Dia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="save0" :loading="saveLoad"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="save0" :loading="saveLoad">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
- <el-dialog
- title="娓╁害寰幆瑕佹眰濉啓"
- :visible.sync="circulateShow"
- width="900px"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :before-close="beforeCirculateShowClose"
- :show-close="false"
- >
+ <el-dialog title="娓╁害寰幆瑕佹眰濉啓" :visible.sync="circulateShow" width="900px" :close-on-click-modal="false"
+ :close-on-press-escape="false" :before-close="beforeCirculateShowClose" :show-close="false">
<div class="search" style="display: flex;background: transparent;">
<div class="search_thing">
<div class="search_label">淇濇俯鏃堕棿锛�</div>
<div class="search_input">
- <el-input
- v-model="circulateForm.entrustTime"
- size="small"
- placeholder=""
- type="number"
- ></el-input>
+ <el-input v-model="circulateForm.entrustTime" size="small" placeholder="" type="number"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">寰幆娆℃暟锛�</div>
<div class="search_input">
- <el-input
- v-model="circulateForm.entrustNum"
- size="small"
- placeholder=""
- type="number"
- ></el-input>
+ <el-input v-model="circulateForm.entrustNum" size="small" placeholder="" type="number"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">娓╁害鐐癸細</div>
<div class="search_input">
- <el-input
- @blur="changeTemperatureData"
- v-model="circulateForm.entrustPoint"
- size="small"
- placeholder=""
- type="number"
- ></el-input>
+ <el-input @blur="changeTemperatureData" v-model="circulateForm.entrustPoint" size="small" placeholder=""
+ type="number"></el-input>
</div>
</div>
</div>
@@ -1779,25 +966,12 @@
<div style="line-height: 30px;">鍏夌氦椤圭洰</div>
<el-divider></el-divider>
<div>
- <el-table
- ref="multipleTable"
- border
- :header-cell-style="{ 'text-align': 'center' }"
- :cell-style="{ 'text-align': 'center' }"
- :data="opticalProject"
- tooltip-effect="dark"
- style="width: 100%"
- @row-click="rowClickOptical"
- @select="selectOpticalProject"
- @select-all="selectAllOptical"
- @selection-change="handleSelectionChange"
- >
+ <el-table ref="multipleTable" border :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }" :data="opticalProject" tooltip-effect="dark" style="width: 100%"
+ @row-click="rowClickOptical" @select="selectOpticalProject" @select-all="selectAllOptical"
+ @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column
- prop="value"
- label="鍏夌氦椤圭洰"
- show-overflow-tooltip
- ></el-table-column>
+ <el-table-column prop="value" label="鍏夌氦椤圭洰" show-overflow-tooltip></el-table-column>
</el-table>
</div>
</div>
@@ -1805,59 +979,30 @@
<div class="temperatureListTitle">
<span>娓╁害鐐归泦鍚�</span>
<span>
- <el-button type="primary" size="mini" @click="addTemperatureData"
- >鏂板</el-button
- >
- <el-button size="mini" @click="deleteTemperatureData"
- >鍒犻櫎</el-button
- >
+ <el-button type="primary" size="mini" @click="addTemperatureData">鏂板</el-button>
+ <el-button size="mini" @click="deleteTemperatureData">鍒犻櫎</el-button>
</span>
</div>
<el-divider></el-divider>
- <el-table
- :data="temperatureData"
- border
- :header-cell-style="{ 'text-align': 'center' }"
- :cell-style="{ 'text-align': 'center' }"
- style="width: 100%"
- >
+ <el-table :data="temperatureData" border :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }" style="width: 100%">
<el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px">
<template slot-scope="scope">
- <el-input
- size="small"
- v-model="scope.row.temperaturePoint"
- clearable
- placeholder="璇疯緭鍏�"
- @change="changeTemperature"
- ></el-input>
+ <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�"
+ @change="changeTemperature"></el-input>
</template>
</el-table-column>
<el-table-column prop="name" label="瑕佹眰(dB/Km)">
<template slot-scope="scope">
<span>x</span>
- <el-select
- v-model="scope.row.askSymbol"
- placeholder="璇烽�夋嫨"
- size="small"
- style="width: 120px"
- @change="changeTemperature"
- >
- <el-option
- v-for="item in temperatureDataList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px"
+ @change="changeTemperature">
+ <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label"
+ :value="item.value">
</el-option>
</el-select>
- <el-input
- size="small"
- v-model="scope.row.askNum"
- clearable
- placeholder="璇疯緭鍏�"
- style="width: 120px"
- @change="changeTemperature"
- ></el-input>
+ <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px"
+ @change="changeTemperature"></el-input>
</template>
</el-table-column>
</el-table>
@@ -1868,15 +1013,9 @@
<el-button type="primary" @click="spliceData">淇濆瓨</el-button>
</span>
</el-dialog>
- <el-dialog
- title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�"
- :visible.sync="singleVerticalCombustionShow"
- width="900px"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :before-close="beforeCirculateShowClose"
- :show-close="false"
- >
+ <el-dialog title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�" :visible.sync="singleVerticalCombustionShow" width="900px"
+ :close-on-click-modal="false" :close-on-press-escape="false" :before-close="beforeCirculateShowClose"
+ :show-close="false">
<div>111</div>
<span slot="footer" class="dialog-footer">
<el-button @click="cleanSpliceData">鍙栨秷</el-button>
@@ -1884,56 +1023,28 @@
</span>
</el-dialog>
<!-- 鐢靛姏璇曢獙瀹�---娓╁崌璇曢獙/鐑惊鐜� -->
- <el-dialog
- :title="temperatureTitle"
- :visible.sync="temperatureShow"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- width="260px"
- :before-close="temperatureShowClose"
- :show-close="false"
- >
+ <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow" :close-on-click-modal="false"
+ :close-on-press-escape="false" width="260px" :before-close="temperatureShowClose" :show-close="false">
<div>
<div v-if="isShowInput" style="margin-bottom: 6px">
<span>寰幆娆℃暟:</span>
<!-- <el-input size="small" type="number" v-model="temperatureTestNum" style="width: 120px"></el-input> -->
- <el-input-number
- v-model="temperatureTestNum"
- :min="2"
- :max="1000000"
- size="small"
- label=""
- ></el-input-number>
+ <el-input-number v-model="temperatureTestNum" :min="2" :max="1000000" size="small" label=""></el-input-number>
</div>
- <el-checkbox-group
- v-model="temperatureTest"
- @change="handleTemperatureTestChange"
- style="display: flex;flex-direction: column;"
- >
- <el-checkbox
- v-for="item in temperatureList"
- :label="item"
- :key="item"
- style="margin-bottom: 6px"
- >{{ item }}</el-checkbox
- >
+ <el-checkbox-group v-model="temperatureTest" @change="handleTemperatureTestChange"
+ style="display: flex;flex-direction: column;">
+ <el-checkbox v-for="item in temperatureList" :label="item" :key="item" style="margin-bottom: 6px">{{ item
+ }}</el-checkbox>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="cleanTemperatureTest">鍙栨秷</el-button>
- <el-button type="primary" @click="spliceTemperatureTest"
- >淇濆瓨</el-button
- >
+ <el-button type="primary" @click="spliceTemperatureTest">淇濆瓨</el-button>
</span>
</el-dialog>
<!-- 鍔熺巼瀹归噺--濉啓绔彛 -->
- <el-dialog
- title="濉啓绔彛"
- :visible.sync="powerShow"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- width="50%"
- >
+ <el-dialog title="濉啓绔彛" :visible.sync="powerShow" :close-on-click-modal="false" :close-on-press-escape="false"
+ width="50%">
<el-table :data="powerTable" border style="width: 100%">
<el-table-column fixed prop="sample" label="鏍峰搧" min-width="150">
</el-table-column>
@@ -1943,13 +1054,7 @@
</el-table-column>
<el-table-column prop="ask" label="绔彛" min-width="120">
<template slot-scope="scope">
- <el-input-number
- v-model="scope.row.ask"
- :min="1"
- :max="100"
- label="绔彛"
- size="small"
- ></el-input-number>
+ <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="绔彛" size="small"></el-input-number>
</template>
</el-table-column>
</el-table>
@@ -1958,18 +1063,9 @@
<el-button type="primary" @click="savePowerTest">淇濆瓨</el-button>
</span>
</el-dialog>
- <el-dialog
- title="鏂囦欢棰勮"
- :visible.sync="lookFileVisible"
- width="60%"
- fullscreen
- >
- <filePreview
- v-if="lookFileVisible"
- :fileUrl="currentFile.url"
- :currentFile="currentFile"
- style="max-height: 87vh;overflow-y: auto;"
- />
+ <el-dialog title="鏂囦欢棰勮" :visible.sync="lookFileVisible" width="60%" fullscreen>
+ <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" :currentFile="currentFile"
+ style="max-height: 87vh;overflow-y: auto;" />
</el-dialog>
<p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">
鍙屾柟鎵胯:<br />
@@ -2238,12 +1334,12 @@
sort: false,
init: false,
do: [
- {
- id: "handleDown",
- font: "涓嬭浇",
- type: "text",
- method: "handleDown"
- },
+ // {
+ // id: "handleDown",
+ // font: "涓嬭浇",
+ // type: "text",
+ // method: "handleDown"
+ // },
{
id: "1",
font: "棰勮",
@@ -2436,7 +1532,7 @@
}
}
})
- .catch(error => {});
+ .catch(error => { });
},
handleChangeUpload(file, fileLists) {
this.fileList = fileLists;
@@ -2873,13 +1969,13 @@
return code[index] + "" + num;
}
}
- } catch (e) {}
+ } catch (e) { }
},
handleTell(tell, symbolItem, value) {
try {
let num = this.replaceAll(tell, symbolItem, value);
return num;
- } catch (e) {}
+ } catch (e) { }
},
replaceAll(str, find, value) {
if (str === undefined) {
@@ -2980,16 +2076,16 @@
let num0 = set.size;
set.add(
sampleList[i].insProduct[j].inspectionItem +
- "-" +
- sampleList[i].insProduct[j].inspectionItemSubclass
+ "-" +
+ sampleList[i].insProduct[j].inspectionItemSubclass
);
let num1 = set.size;
if (num0 == num1) {
this.$message.error(
sampleList[i].insProduct[j].inspectionItem +
- "-" +
- sampleList[i].insProduct[j].inspectionItemSubclass +
- "閲嶅"
+ "-" +
+ sampleList[i].insProduct[j].inspectionItemSubclass +
+ "閲嶅"
);
return;
}
@@ -3494,8 +2590,8 @@
a.model =
a.model +
(a.modelNum == null ||
- a.modelNum == "" ||
- a.modelNum == "null"
+ a.modelNum == "" ||
+ a.modelNum == "null"
? ""
: "-" + a.modelNum);
}
@@ -3503,8 +2599,8 @@
a.model =
a.model +
(a.modelNum == null ||
- a.modelNum == "" ||
- a.modelNum == "null"
+ a.modelNum == "" ||
+ a.modelNum == "null"
? ""
: "-" + a.modelNum);
}
@@ -3899,7 +2995,7 @@
row.manHour = arr2[index];
row.price = arr3[index];
row.tell = arr4[index];
- } catch (e) {}
+ } catch (e) { }
}
if (
row.bsm === "1" &&
@@ -4010,8 +3106,8 @@
this.$axios
.get(
this.$api.insOrder.selectInsOrderTemplate +
- "?company=" +
- this.addObj.company
+ "?company=" +
+ this.addObj.company
)
.then(res => {
if (res.code == 201) return;
@@ -4041,7 +3137,7 @@
this.$message.error("鍒犻櫎澶辫触");
});
})
- .catch(() => {});
+ .catch(() => { });
},
// 淇濆瓨妯℃澘
addTemplateDia() {
@@ -4055,7 +3151,7 @@
.then(() => {
this.saveTemplateDia();
})
- .catch(() => {});
+ .catch(() => { });
} else {
this.saveTemplateDia();
}
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index ab759b0..9d8e443 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -1,85 +1,90 @@
<style scoped>
- .title {
- height: 60px;
- line-height: 60px;
- }
+.title {
+ height: 60px;
+ line-height: 60px;
+}
- .search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- }
+.search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+}
- .search_thing {
- display: flex;
- align-items: center;
- height: 50px;
- }
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+}
- .search_label {
- width: 120px;
- font-size: 14px;
- text-align: right;
- }
+.search_label {
+ width: 120px;
+ font-size: 14px;
+ text-align: right;
+}
- .search_input {
- width: calc(100% - 120px);
- }
+.search_input {
+ width: calc(100% - 120px);
+}
- .table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 10px - 40px);
- padding: 20px;
- }
+.table {
+ margin-top: 10px;
+ background-color: #fff;
+ width: calc(100% - 40px);
+ height: calc(100% - 60px - 80px - 10px - 40px);
+ padding: 20px;
+}
- .el-form-item {
- margin-bottom: 16px;
- }
+.el-form-item {
+ margin-bottom: 16px;
+}
- .full-screen {
- position: absolute;
- right: 52px;
- top: 22px;
- }
+.full-screen {
+ position: absolute;
+ right: 52px;
+ top: 22px;
+}
- .btns {
- position: absolute;
- right: 40px;
- top: 50%;
- transform: translate(0, -50%);
- display: flex;
- align-items: center;
- }
+.btns {
+ position: absolute;
+ right: 40px;
+ top: 50%;
+ transform: translate(0, -50%);
+ display: flex;
+ align-items: center;
+}
- .fullscreen {
- height: 82vh
- }
- .img-list{
- width: 100%;
- display: flex;
- }
- .list{
- display: flex;
- justify-content: flex-start;
- align-items: center;
- }
- .list-item{
- width: 120px;
- height: 120px;
- margin: 4px;
- cursor: pointer;
- box-sizing: border-box;
- border: 1px solid #fff;
- }
- .list-item:hover{
- border: 1px solid #3A7BFA;
- }
- .list-item.active{
- border: 1px solid #3A7BFA;
- }
+.fullscreen {
+ height: 82vh
+}
+
+.img-list {
+ width: 100%;
+ display: flex;
+}
+
+.list {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.list-item {
+ width: 120px;
+ height: 120px;
+ margin: 4px;
+ cursor: pointer;
+ box-sizing: border-box;
+ border: 1px solid #fff;
+}
+
+.list-item:hover {
+ border: 1px solid #3A7BFA;
+}
+
+.list-item.active {
+ border: 1px solid #3A7BFA;
+}
</style>
<template>
@@ -88,14 +93,15 @@
<div>
<el-row class="title">
<el-col :span="12" style="text-align: left;">
- <el-radio-group v-model="radio"size="medium" fill="#3A7BFA">
+ <span>鎶ュ憡缂栧埗</span>
+ <!-- <el-radio-group v-model="radio"size="medium" fill="#3A7BFA">
<el-radio-button label="0">鎶ュ憡缂栧埗</el-radio-button>
<el-radio-button label="1">璁㈠崟</el-radio-button>
- </el-radio-group>
+ </el-radio-group> -->
</el-col>
</el-row>
</div>
- <div class="search" style="position: relative;" v-if="radio==0">
+ <div class="search" style="position: relative;" v-if="radio == 0">
<div class="search_thing">
<div class="search_label">鎶ュ憡缂栧彿锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
@@ -113,38 +119,28 @@
<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
</div>
<div class="btns">
- <el-button size="small" type="primary" @click="handleDowns" :loading="outLoading" style="margin-right: 16px;">鎵归噺涓嬭浇</el-button>
- <el-upload
- class="upload-demo"
- :action="action"
- :headers="headers"
- :show-file-list="false"
- accept=".zip"
- :limit="1"
- :before-upload="beforeUpload"
- :on-success="handleSuccess"
- ref="upload"
- :on-error="onError">
+ <el-button size="small" type="primary" @click="handleDowns" :loading="outLoading"
+ style="margin-right: 16px;">鎵归噺涓嬭浇</el-button>
+ <el-upload class="upload-demo" :action="action" :headers="headers" :show-file-list="false" accept=".zip"
+ :limit="1" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload" :on-error="onError">
<el-button size="small" type="primary" :loading="inLoading">鎵归噺涓婁紶</el-button>
</el-upload>
</div>
</div>
- <div class="table" v-if="radio==0">
- <ValueTable ref="ValueTable" :url="$api.insReport.pageInsReport"
- :isColumnWidth="true"
- :componentData="componentData"
- :key="upIndex" />
+ <div class="table" v-if="radio == 0">
+ <ValueTable ref="ValueTable" :url="$api.insReport.pageInsReport" :isColumnWidth="true"
+ :componentData="componentData" :key="upIndex" />
</div>
- <Order v-if="radio==1"/>
+ <Order v-if="radio == 1" />
</div>
<el-dialog title="鍦ㄧ嚎缂栧埗" :visible.sync="claimVisible" width="22cm" :modal-append-to-body="false"
:fullscreen="fullscreen">
<div class="full-screen">
- <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"
+ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
v-if="!fullscreen"></i>
- <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;">
+ <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
</div>
- <Word style="height:70vh" :class="{fullscreen:fullscreen}" v-if="claimVisible" ref="Word" :value="value" />
+ <Word style="height:70vh" :class="{ fullscreen: fullscreen }" v-if="claimVisible" ref="Word" :value="value" />
<span slot="footer" class="dialog-footer">
<el-button @click="claimVisible = false">鍙� 娑�</el-button>
<el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button>
@@ -153,687 +149,688 @@
<el-dialog title="鎶ュ憡瀹℃牳" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
:fullscreen="fullscreen">
<div class="full-screen">
- <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
- <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
+ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
+ v-if="!fullscreen"></i>
+ <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
</div>
<div style="height: 78vh;" v-if="issuedVisible">
- <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
- <!-- <filePreview v-if="issuedVisible" :fileUrl="currentFile.url"
+ <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
+ <!-- <filePreview v-if="issuedVisible" :fileUrl="currentFile.url"
:currentFile="currentFile" style="max-height: 100%;overflow-y: auto;"/> -->
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="issuedReasonVisible=true" :disabled="loadingIssued">涓嶉�氳繃</el-button>
- <el-button type="primary" @click="subIssued" :loading="loadingIssued">閫� 杩�</el-button>
- </span>
- </el-dialog>
+ <el-button @click="issuedReasonVisible = true" :disabled="loadingIssued">涓嶉�氳繃</el-button>
+ <el-button type="primary" @click="subIssued" :loading="loadingIssued">閫� 杩�</el-button>
+ </span>
+ </el-dialog>
<el-dialog title="涓嶉�氳繃鍘熷洜" :visible.sync="issuedReasonVisible" width="400px" :modal-append-to-body="false">
<div class="search_thing">
<div class="search_label">涓嶉�氳繃鍘熷洜锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="reason"></el-input></div>
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="issuedReasonVisible=false" :disabled="loadingIssuedReason">鍙栨秷</el-button>
- <el-button type="primary" @click="handleIssuedReason" :loading="loadingIssuedReason">纭畾</el-button>
- </span>
- </el-dialog>
- <el-dialog title="鎶ュ憡鎵瑰噯" :visible.sync="approveVisible" width="80vw" :modal-append-to-body="false" :fullscreen="fullscreen">
+ <el-button @click="issuedReasonVisible = false" :disabled="loadingIssuedReason">鍙栨秷</el-button>
+ <el-button type="primary" @click="handleIssuedReason" :loading="loadingIssuedReason">纭畾</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="鎶ュ憡鎵瑰噯" :visible.sync="approveVisible" width="80vw" :modal-append-to-body="false"
+ :fullscreen="fullscreen">
<div class="full-screen">
- <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
- <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
+ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
+ v-if="!fullscreen"></i>
+ <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
</div>
<div style="height: 78vh;" v-if="approveVisible">
- <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
- <!-- <filePreview v-if="approveVisible" :fileUrl="currentFile.url"
+ <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
+ <!-- <filePreview v-if="approveVisible" :fileUrl="currentFile.url"
:currentFile="currentFile" style="max-height: 100%;overflow-y: auto;"/> -->
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="approveReasonVisible=true" :disabled="loadingApprove">涓嶆壒鍑�</el-button>
- <el-button type="primary" @click="subApprove" :loading="loadingApprove">鎵� 鍑�</el-button>
- </span>
- </el-dialog>
+ <el-button @click="approveReasonVisible = true" :disabled="loadingApprove">涓嶆壒鍑�</el-button>
+ <el-button type="primary" @click="subApprove" :loading="loadingApprove">鎵� 鍑�</el-button>
+ </span>
+ </el-dialog>
<el-dialog title="鍗扮珷閫夋嫨" :visible.sync="imgVisible" width="50vw" :modal-append-to-body="false"
- :close-on-click-modal="false"
- :close-on-press-escape="false">
+ :close-on-click-modal="false" :close-on-press-escape="false">
<div class="img-list">
<label style="width: 120px;">鍗扮珷閫夋嫨锛�</label>
<div class="list" style="flex: 1;">
- <div class="list-item" :class="{active:currentImg==m.id}" v-for="m in imgList" @click="currentImg = m.id">
- <img :src="javaApi+'/img/'+m.address" alt="" style="width: 118px;height: 118px;">
+ <div class="list-item" :class="{ active: currentImg == m.id }" v-for="m in imgList"
+ @click="currentImg = m.id">
+ <img :src="javaApi + '/img/' + m.address" alt="" style="width: 118px;height: 118px;">
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
- <el-button type="primary" @click="subApprove0" :loading="loadingApprove">纭� 璁�</el-button>
- </span>
- </el-dialog>
+ <el-button type="primary" @click="subApprove0" :loading="loadingApprove">纭� 璁�</el-button>
+ </span>
+ </el-dialog>
<el-dialog title="涓嶆壒鍑嗗師鍥�" :visible.sync="approveReasonVisible" width="400px" :modal-append-to-body="false">
<div class="search_thing">
<div class="search_label">涓嶆壒鍑嗗師鍥狅細</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="reason"></el-input></div>
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="approveReasonVisible=false" :disabled="loadingApproveReason">鍙栨秷</el-button>
- <el-button type="primary" @click="handleApproveReason" :loading="loadingApproveReason">纭畾</el-button>
- </span>
- </el-dialog>
- <el-dialog
- title="鏂囦欢棰勮"
- :visible.sync="lookFileVisible"
- fullscreen :modal="false">
- <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url"
- :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/>
+ <el-button @click="approveReasonVisible = false" :disabled="loadingApproveReason">鍙栨秷</el-button>
+ <el-button type="primary" @click="handleApproveReason" :loading="loadingApproveReason">纭畾</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="鏂囦欢棰勮" :visible.sync="lookFileVisible" fullscreen :modal="false">
+ <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" :currentFile="currentFile"
+ style="max-height: 87vh;overflow-y: auto;" />
</el-dialog>
<!--鎶ュ憡鏌ョ湅-->
- <el-dialog :fullscreen="fullscreen" top="5vh" :modal-append-to-body="false" :visible.sync="viewIssuedVisible" title="鎶ュ憡鏌ョ湅"
- width="80vw">
+ <el-dialog :fullscreen="fullscreen" top="5vh" :modal-append-to-body="false" :visible.sync="viewIssuedVisible"
+ title="鎶ュ憡鏌ョ湅" width="80vw">
<div class="full-screen">
- <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"></i>
- <img v-else alt="" src="../../../static/img/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;" >
+ <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px"
+ @click="fullscreen = true;"></i>
+ <img v-else alt="" src="../../../static/img/no-full.svg" style="cursor: pointer;" @click="fullscreen = false;">
</div>
<div v-if="viewIssuedVisible" style="height: 80vh;">
<onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
</div>
</el-dialog>
- </div>
+ </div>
</template>
<script>
- import ValueTable from '../tool/value-table.vue'
- import onlyoffice from '../tool/onlyoffice.vue'
- import Order from '../do/b1-report-preparation/order.vue'
- import filePreview from '../tool/file-preview.vue'
- export default {
- components: {
- ValueTable,
- onlyoffice,
- Order,
- filePreview
- },
- data() {
+import ValueTable from '../tool/value-table.vue'
+import onlyoffice from '../tool/onlyoffice.vue'
+import Order from '../do/b1-report-preparation/order.vue'
+import filePreview from '../tool/file-preview.vue'
+export default {
+ components: {
+ ValueTable,
+ onlyoffice,
+ Order,
+ filePreview
+ },
+ data() {
+ return {
+ lookFileVisible: false,
+ currentFile: {
+ url: ''
+ },
+ radio: 0,
+ componentData: {
+ entity: {
+ entrustCode: null,
+ code: null,
+ orderBy: {
+ field: 'id',
+ order: 'desc'
+ }
+ },
+ isIndex: true,
+ showSelect: true,
+ select: true,
+ selectMethod: 'handleChange',
+ do: [
+ // {
+ // id: 'handleWeave',
+ // font: '缂栧埗',
+ // type: 'text',
+ // method: 'handleWeave',
+ // disabFun: (row, index) => {
+ // return row.isExamine != null
+ // }
+ // },
+ {
+ id: 'download',
+ font: '涓嬭浇',
+ type: 'text',
+ method: 'download'
+ }, {
+ id: 'handleUpload',
+ font: '涓婁紶',
+ type: 'upload',
+ uploadConfig: {
+ url: this.$api.insReport.inReport,
+ accept: '.docx'
+ },
+ method: 'handleUpload',
+ disabFun: (row, index) => {
+ return row.isExamine != null
+ }
+ }, {
+ id: 'handleRestore',
+ font: '杩樺師',
+ type: 'text',
+ method: 'handleRestore',
+ disabFun: (row, index) => {
+ return row.isExamine != null
+ }
+ }, {
+ id: 'handleSubmit',
+ font: '鎻愪氦',
+ type: 'text',
+ method: 'handleSubmit',
+ disabFun: (row, index) => {
+ return row.state != 0
+ }
+ }, {
+ id: 'handleIssued',
+ font: '瀹℃牳',
+ type: 'text',
+ method: 'handleIssued',
+ disabFun: (row, index) => {
+ return row.state == null || row.state == 0 || row.isExamine == 1
+ }
+ }, {
+ id: 'handleApprove',
+ font: '鎵瑰噯',
+ type: 'text',
+ method: 'handleApprove',
+ disabFun: (row, index) => {
+ return row.state == null || row.state == 0 || row.isExamine == 0 || row.isExamine == null || row
+ .isRatify == 1
+ }
+ }
+ ],
+ linkEvent: {
+ code: {
+ method: 'selectAllByOne'
+ }
+ },
+ tagField: {
+ isRatify: {
+ select: [{
+ value: 0,
+ type: 'danger',
+ label: '涓嶆壒鍑�'
+ }, {
+ value: 1,
+ type: 'success',
+ label: '鎵瑰噯'
+ }]
+ },
+ isExamine: {
+ select: [{
+ value: 0,
+ type: 'danger',
+ label: '涓嶉�氳繃'
+ }, {
+ value: 1,
+ type: 'success',
+ label: '閫氳繃'
+ }]
+ },
+ state: {
+ select: [{
+ value: 0,
+ type: 'danger',
+ label: '寰呮彁浜�'
+ }, {
+ value: 1,
+ type: 'success',
+ label: '宸叉彁浜�'
+ }]
+ }
+ },
+ selectField: {},
+ requiredAdd: [],
+ needSort: ['createTime', 'state', 'writeTime', 'isExamine', 'examineTime', 'ratifyTime'],
+ requiredUp: []
+ },
+ entityCopy: {},
+ upIndex: 0,
+ statusList: [],
+ claimVisible: false,
+ issuedVisible: false,
+ issuedReasonVisible: false,
+ approveVisible: false,
+ approveReasonVisible: false,
+ fullscreen: false,
+ loadingApproveReason: false,
+ loadingApprove: false,
+ loadingIssuedReason: false,
+ loadingIssued: false,
+ value: ``,
+ reason: '',
+ currentInfo: null,
+ option: null,
+ mutiList: [],
+ outLoading: false,
+ inLoading: false,
+ imgList: [],
+ imgVisible: false,
+ currentImg: null,
+ viewIssuedVisible: false
+ }
+ },
+ computed: {
+ headers() {
return {
- lookFileVisible:false,
- currentFile:{
- url:''
- },
- radio:0,
- componentData: {
- entity: {
- entrustCode: null,
- code: null,
- orderBy: {
- field: 'id',
- order: 'desc'
- }
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod: 'handleChange',
- do: [
- // {
- // id: 'handleWeave',
- // font: '缂栧埗',
- // type: 'text',
- // method: 'handleWeave',
- // disabFun: (row, index) => {
- // return row.isExamine != null
- // }
- // },
- {
- id: 'download',
- font: '涓嬭浇',
- type: 'text',
- method: 'download'
- }, {
- id: 'handleUpload',
- font: '涓婁紶',
- type: 'upload',
- uploadConfig: {
- url: this.$api.insReport.inReport,
- accept: '.docx'
- },
- method: 'handleUpload',
- disabFun: (row, index) => {
- return row.isExamine != null
- }
- }, {
- id: 'handleRestore',
- font: '杩樺師',
- type: 'text',
- method: 'handleRestore',
- disabFun: (row, index) => {
- return row.isExamine != null
- }
- }, {
- id: 'handleSubmit',
- font: '鎻愪氦',
- type: 'text',
- method: 'handleSubmit',
- disabFun: (row, index) => {
- return row.state != 0
- }
- }, {
- id: 'handleIssued',
- font: '瀹℃牳',
- type: 'text',
- method: 'handleIssued',
- disabFun: (row, index) => {
- return row.state == null || row.state == 0 || row.isExamine == 1
- }
- }, {
- id: 'handleApprove',
- font: '鎵瑰噯',
- type: 'text',
- method: 'handleApprove',
- disabFun: (row, index) => {
- return row.state == null || row.state == 0 || row.isExamine == 0 || row.isExamine == null || row
- .isRatify == 1
- }
- }
- ],
- linkEvent: {
- code: {
- method: 'selectAllByOne'
- }
- },
- tagField: {
- isRatify: {
- select: [{
- value: 0,
- type: 'danger',
- label: '涓嶆壒鍑�'
- }, {
- value: 1,
- type: 'success',
- label: '鎵瑰噯'
- }]
- },
- isExamine: {
- select: [{
- value: 0,
- type: 'danger',
- label: '涓嶉�氳繃'
- }, {
- value: 1,
- type: 'success',
- label: '閫氳繃'
- }]
- },
- state: {
- select: [{
- value: 0,
- type: 'danger',
- label: '寰呮彁浜�'
- }, {
- value: 1,
- type: 'success',
- label: '宸叉彁浜�'
- }]
- }
- },
- selectField: {},
- requiredAdd: [],
- needSort: ['createTime', 'state', 'writeTime', 'isExamine', 'examineTime', 'ratifyTime'],
- requiredUp: []
- },
- entityCopy: {},
- upIndex: 0,
- statusList: [],
- claimVisible: false,
- issuedVisible: false,
- issuedReasonVisible: false,
- approveVisible: false,
- approveReasonVisible: false,
- fullscreen: false,
- loadingApproveReason: false,
- loadingApprove: false,
- loadingIssuedReason: false,
- loadingIssued: false,
- value: ``,
- reason: '',
- currentInfo: null,
- option:null,
- mutiList:[],
- outLoading:false,
- inLoading:false,
- imgList:[],
- imgVisible:false,
- currentImg:null,
- viewIssuedVisible:false
+ 'token': sessionStorage.getItem('token')
}
},
- computed: {
- headers() {
- return {
- 'token': sessionStorage.getItem('token')
- }
- },
- action() {
- return this.javaApi + this.$api.insReport.upAll
- }
- },
- mounted() {
- this.entityCopy = this.HaveJson(this.componentData.entity)
- this.getPower()
+ action() {
+ return this.javaApi + this.$api.insReport.upAll
+ }
+ },
+ mounted() {
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
- // let that = this;
- // let input = document.getElementById('input');
- // input.onchange = function(){
- // let file = this.files[0];
- // let reader = new FileReader();
- // reader.readAsArrayBuffer(file);
- // reader.onload = function(loadEvent){
- // convertToHtml({
- // arrayBuffer: loadEvent.target.result })
- // .then(res=>{
- // that.value = res.value
- // .replace('<h1>', '<h1 style="text-align: center;">')
- // .replace('<h2>', '<h2 style="text-align: center;">')
- // .replace('<img ','<img style="height:3.6cm;width:3.6cm"')
- // .replace(/<table>/g, '<table style="border-collapse: collapse;border: 1px solid #000;">')
- // .replace(/<tr>/g, '<tr style="height: 30px;">')
- // .replace(/<td>/g, '<td style="border: 1px solid #000;">')
- // .replace(/<p>/g, '<p style="text-indent: 2em;">')
- // .replace(/<a [^>]*>/g, "")
- // .replace(/<\/a>/g, "")
- // console.log(11111111111,that.value)
- // that.claimVisible = true;
- // })
- // .done();
- // }
- // }
+ // let that = this;
+ // let input = document.getElementById('input');
+ // input.onchange = function(){
+ // let file = this.files[0];
+ // let reader = new FileReader();
+ // reader.readAsArrayBuffer(file);
+ // reader.onload = function(loadEvent){
+ // convertToHtml({
+ // arrayBuffer: loadEvent.target.result })
+ // .then(res=>{
+ // that.value = res.value
+ // .replace('<h1>', '<h1 style="text-align: center;">')
+ // .replace('<h2>', '<h2 style="text-align: center;">')
+ // .replace('<img ','<img style="height:3.6cm;width:3.6cm"')
+ // .replace(/<table>/g, '<table style="border-collapse: collapse;border: 1px solid #000;">')
+ // .replace(/<tr>/g, '<tr style="height: 30px;">')
+ // .replace(/<td>/g, '<td style="border: 1px solid #000;">')
+ // .replace(/<p>/g, '<p style="text-indent: 2em;">')
+ // .replace(/<a [^>]*>/g, "")
+ // .replace(/<\/a>/g, "")
+ // console.log(11111111111,that.value)
+ // that.claimVisible = true;
+ // })
+ // .done();
+ // }
+ // }
+ },
+ methods: {
+ handleChange(arr) {
+ this.mutiList = arr
},
- methods: {
- handleChange(arr){
- this.mutiList = arr
- },
- handleDowns(){
- if(this.mutiList.length==0){
- this.$message.error('璇烽�夋嫨鎶ュ憡')
- return
- }
- let str = this.mutiList.map(m=>m.id).join(',')
- this.outLoading = true
- this.$axios.get(this.$api.insReport.downAll+'?ids='+str).then(res => {
- this.outLoading = false
- this.$message.success('瀵煎嚭鎴愬姛')
- // const blob = new Blob([res],{ type: 'application/octet-stream' });
- // const url = URL.createObjectURL(blob);
- // const link = document.createElement('a');
- // link.href = url;
- // link.download = '鎶ュ憡.zip';
- // link.click();
- const link = document.createElement('a');
- link.href = this.javaApi + res.message;
- link.target = '_blank';
- document.body.appendChild(link);
- link.click();
- })
- },
- beforeUpload(file){
- const isZip = file.type === 'application/zip' || file.name.endsWith('.zip');
- if (!isZip) {
- this.$message.error('涓婁紶鏂囦欢鍙兘鏄� ZIP 鏍煎紡!');
- }
- if(isZip){
- this.inLoading = true;
- }
- return isZip;
- },
- handleSuccess(response,){
- this.inLoading = false;
- if (response.code == 200) {
- this.$message.success('瀵煎叆鎴愬姛')
- this.refreshTable()
- }else{
- this.$message.error(response.message)
- }
- },
- async selectSeal(row){
- await this.$axios.post(this.$api.sealScope.selectSeal,{
- entity: {
- labId:row.labId,
- orderBy: {
- field: 'id',
- order: 'asc'
- }
- },
- page:{
- current:-1,
- size:-1
- }
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res=>{
- this.imgList = res.data.body.records.map((m,i)=>{
- m.id = i + 1
- return m
- })
- })
- },
- onError(err, file, fileList,type) {
- this.$message.error('涓婁紶澶辫触')
- this.$refs.upload.clearFiles()
- },
- refreshTable(e) {
- this.$refs['ValueTable'].selectList(e)
- },
- refresh() {
- this.componentData.entity = this.HaveJson(this.entityCopy)
- this.upIndex++
- this.$refs['ValueTable'].selectList(e)
- },
- async handleWeave(row) {
- let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
- fileName = fileName.replace('/word/','')
- const userName = JSON.parse(localStorage.getItem("user")).name;
- //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
- const { href } = this.$router.resolve({
- path: `/wordEdit`,
- query: {
- url: this.javaApi + "/word/" + fileName,
- isEdit: true,
- fileType: "docx",
- title: fileName,
- lang: 'zh-CN',
- isPrint: true,
- user_id: 1,
- user_name: userName,
- editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
- }
- })
- window.open(href, '_blank');
- },
- // 鏉冮檺鍒嗛厤
- getPower(radio) {
- let power = JSON.parse(sessionStorage.getItem('power'))
- let edit = false
- let up = false
- let res = false
- let sub = false
- let issued = true
- let approve = true
- for (var i = 0; i < power.length; i++) {
- if (power[i].menuMethod == 'upReportFile') {
- edit = true
- }
- if (power[i].menuMethod == 'inReport') {
- up = true
- }
- if (power[i].menuMethod == 'upReportUrl') {
- res = true
- }
- if (power[i].menuMethod == 'writeReport') {
- sub = true
- }
- if (power[i].menuMethod == 'ratifyReport') {
- approve = true
- }
- if (power[i].menuMethod == 'examineReport') {
- issued = true
- }
- }
- if (!approve) {
- this.componentData.do.splice(5, 1)
- }
- if (!issued) {
- this.componentData.do.splice(4, 1)
- }
- if (!sub) {
- this.componentData.do.splice(3, 1)
- }
- if (!res) {
- this.componentData.do.splice(2, 1)
- }
- if (!up) {
- this.componentData.do.splice(1, 1)
- }
- // if (!edit) {
- // this.componentData.do.splice(0, 1)
- // }
- },
- confirmClaim() {
- // console.log(this.$refs.Word.getValue())
- },
- async selectAllByOne(row) {
- // let url = row.urlS ? row.urlS : row.url;
- // this.currentFile.url = this.javaApi + url;
- // let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
- // fileName = fileName.replace('/word/','')
- // const userName = JSON.parse(localStorage.getItem("user")).name;
- // //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
- // const { href } = this.$router.resolve({
- // path: `/wordEdit`,
- // query: {
- // url: this.javaApi + "/word/" + fileName,
- // isEdit: false,
- // fileType: "docx",
- // title: fileName,
- // lang: 'zh-CN',
- // isPrint: true,
- // user_id: 1,
- // user_name: userName,
- // }
- // })
- // window.open(href, '_blank');
- // this.lookFileVisible = true
- this.currentInfo = row;
- console.log(`output->row`,row);
- let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
- let fileType = "docx"
- if (row.tempUrlPdf != null || row.tempUrlPdf === '') {
- fileName = row.tempUrlPdf
- fileType = "pdf"
- }
- fileName = fileName.replace('/word/','')
- const userName = JSON.parse(localStorage.getItem("user")).name;
- this.option = {
- url: this.javaApi + "/word/" + fileName,
- isEdit: false,
- fileType: fileType,
- title: fileName,
- lang: 'zh-CN',
- isPrint: false,
- user_id: 1,
- user_name: userName,
- editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
- }
- // console.log(this.javaApi + "/word/" + fileName);
- this.viewIssuedVisible = true;
- },
- download(row) {
- // 鍒ゆ柇row瀵硅薄涓槸鍚﹀瓨鍦╱rlS灞炴�э紝鑻ュ瓨鍦ㄥ垯浣跨敤urlS锛屽惁鍒欎娇鐢╱rl
- let url = row.urlS ? row.urlS : row.url;
-
- // 鍒涘缓涓�涓�<a>鏍囩鍏冪礌
+ handleDowns() {
+ if (this.mutiList.length == 0) {
+ this.$message.error('璇烽�夋嫨鎶ュ憡')
+ return
+ }
+ let str = this.mutiList.map(m => m.id).join(',')
+ this.outLoading = true
+ this.$axios.get(this.$api.insReport.downAll + '?ids=' + str).then(res => {
+ this.outLoading = false
+ this.$message.success('瀵煎嚭鎴愬姛')
+ // const blob = new Blob([res],{ type: 'application/octet-stream' });
+ // const url = URL.createObjectURL(blob);
+ // const link = document.createElement('a');
+ // link.href = url;
+ // link.download = '鎶ュ憡.zip';
+ // link.click();
const link = document.createElement('a');
-
- // 璁剧疆<a>鏍囩鐨刪ref灞炴�э紝涓簀avaApi鍜寀rl鐨勭粍鍚�
- link.href = this.javaApi + url;
-
- // 璁剧疆<a>鏍囩鐨則arget灞炴�т负'_blank'锛岃〃绀哄湪鏂扮獥鍙d腑鎵撳紑閾炬帴
+ link.href = this.javaApi + res.message;
link.target = '_blank';
-
- // 灏�<a>鏍囩娣诲姞鍒版枃妗g殑涓讳綋涓�
document.body.appendChild(link);
-
link.click();
- },
- // 杩樺師鎿嶄綔
- handleRestore(row) {
- this.$axios.post(this.$api.insReport.upReportUrl, {
- id: row.id
- }).then(res => {
- if (res.code === 200) {
- this.$message.success('鎿嶄綔鎴愬姛')
- this.refreshTable('page')
+ })
+ },
+ beforeUpload(file) {
+ const isZip = file.type === 'application/zip' || file.name.endsWith('.zip');
+ if (!isZip) {
+ this.$message.error('涓婁紶鏂囦欢鍙兘鏄� ZIP 鏍煎紡!');
+ }
+ if (isZip) {
+ this.inLoading = true;
+ }
+ return isZip;
+ },
+ handleSuccess(response,) {
+ this.inLoading = false;
+ if (response.code == 200) {
+ this.$message.success('瀵煎叆鎴愬姛')
+ this.refreshTable()
+ } else {
+ this.$message.error(response.message)
+ }
+ },
+ async selectSeal(row) {
+ await this.$axios.post(this.$api.sealScope.selectSeal, {
+ entity: {
+ labId: row.labId,
+ orderBy: {
+ field: 'id',
+ order: 'asc'
}
+ },
+ page: {
+ current: -1,
+ size: -1
+ }
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.imgList = res.data.body.records.map((m, i) => {
+ m.id = i + 1
+ return m
})
- },
- handleIssued(row) {
- this.currentInfo = row;
- // let url = row.urlS ? row.urlS : row.url;
- // this.currentFile.url = this.javaApi + url;
- let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
- fileName = fileName.replace('/word/','')
- const userName = JSON.parse(localStorage.getItem("user")).name;
- //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
- this.option = {
+ })
+ },
+ onError(err, file, fileList, type) {
+ this.$message.error('涓婁紶澶辫触')
+ this.$refs.upload.clearFiles()
+ },
+ refreshTable(e) {
+ this.$refs['ValueTable'].selectList(e)
+ },
+ refresh() {
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ this.upIndex++
+ this.$refs['ValueTable'].selectList(e)
+ },
+ async handleWeave(row) {
+ let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
+ fileName = fileName.replace('/word/', '')
+ const userName = JSON.parse(localStorage.getItem("user")).name;
+ //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
+ const { href } = this.$router.resolve({
+ path: `/wordEdit`,
+ query: {
url: this.javaApi + "/word/" + fileName,
- isEdit: false,
+ isEdit: true,
fileType: "docx",
title: fileName,
lang: 'zh-CN',
isPrint: true,
user_id: 1,
user_name: userName,
+ editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
}
- this.issuedVisible = true;
- },
- // 瀹℃牳閫氳繃
- subIssued() {
- this.loadingIssued = true;
- this.$axios.post(this.$api.insReport.examineReport, {
- id: this.currentInfo.id,
- isExamine: 1
+ })
+ window.open(href, '_blank');
+ },
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ let edit = false
+ let up = false
+ let res = false
+ let sub = false
+ let issued = true
+ let approve = true
+ for (var i = 0; i < power.length; i++) {
+ if (power[i].menuMethod == 'upReportFile') {
+ edit = true
+ }
+ if (power[i].menuMethod == 'inReport') {
+ up = true
+ }
+ if (power[i].menuMethod == 'upReportUrl') {
+ res = true
+ }
+ if (power[i].menuMethod == 'writeReport') {
+ sub = true
+ }
+ if (power[i].menuMethod == 'ratifyReport') {
+ approve = true
+ }
+ if (power[i].menuMethod == 'examineReport') {
+ issued = true
+ }
+ }
+ if (!approve) {
+ this.componentData.do.splice(5, 1)
+ }
+ if (!issued) {
+ this.componentData.do.splice(4, 1)
+ }
+ if (!sub) {
+ this.componentData.do.splice(3, 1)
+ }
+ if (!res) {
+ this.componentData.do.splice(2, 1)
+ }
+ if (!up) {
+ this.componentData.do.splice(1, 1)
+ }
+ // if (!edit) {
+ // this.componentData.do.splice(0, 1)
+ // }
+ },
+ confirmClaim() {
+ // console.log(this.$refs.Word.getValue())
+ },
+ async selectAllByOne(row) {
+ // let url = row.urlS ? row.urlS : row.url;
+ // this.currentFile.url = this.javaApi + url;
+ // let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+ // fileName = fileName.replace('/word/','')
+ // const userName = JSON.parse(localStorage.getItem("user")).name;
+ // //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
+ // const { href } = this.$router.resolve({
+ // path: `/wordEdit`,
+ // query: {
+ // url: this.javaApi + "/word/" + fileName,
+ // isEdit: false,
+ // fileType: "docx",
+ // title: fileName,
+ // lang: 'zh-CN',
+ // isPrint: true,
+ // user_id: 1,
+ // user_name: userName,
+ // }
+ // })
+ // window.open(href, '_blank');
+ // this.lookFileVisible = true
+ this.currentInfo = row;
+ console.log(`output->row`, row);
+ let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
+ let fileType = "docx"
+ if (row.tempUrlPdf != null || row.tempUrlPdf === '') {
+ fileName = row.tempUrlPdf
+ fileType = "pdf"
+ }
+ fileName = fileName.replace('/word/', '')
+ const userName = JSON.parse(localStorage.getItem("user")).name;
+ this.option = {
+ url: this.javaApi + "/word/" + fileName,
+ isEdit: false,
+ fileType: fileType,
+ title: fileName,
+ lang: 'zh-CN',
+ isPrint: false,
+ user_id: 1,
+ user_name: userName,
+ editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
+ }
+ // console.log(this.javaApi + "/word/" + fileName);
+ this.viewIssuedVisible = true;
+ },
+ download(row) {
+ // 鍒ゆ柇row瀵硅薄涓槸鍚﹀瓨鍦╱rlS灞炴�э紝鑻ュ瓨鍦ㄥ垯浣跨敤urlS锛屽惁鍒欎娇鐢╱rl
+ let url = row.urlS ? row.urlS : row.url;
+
+ // 鍒涘缓涓�涓�<a>鏍囩鍏冪礌
+ const link = document.createElement('a');
+
+ // 璁剧疆<a>鏍囩鐨刪ref灞炴�э紝涓簀avaApi鍜寀rl鐨勭粍鍚�
+ link.href = this.javaApi + url;
+
+ // 璁剧疆<a>鏍囩鐨則arget灞炴�т负'_blank'锛岃〃绀哄湪鏂扮獥鍙d腑鎵撳紑閾炬帴
+ link.target = '_blank';
+
+ // 灏�<a>鏍囩娣诲姞鍒版枃妗g殑涓讳綋涓�
+ document.body.appendChild(link);
+
+ link.click();
+ },
+ // 杩樺師鎿嶄綔
+ handleRestore(row) {
+ this.$axios.post(this.$api.insReport.upReportUrl, {
+ id: row.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.refreshTable('page')
+ }
+ })
+ },
+ handleIssued(row) {
+ this.currentInfo = row;
+ // let url = row.urlS ? row.urlS : row.url;
+ // this.currentFile.url = this.javaApi + url;
+ let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
+ fileName = fileName.replace('/word/', '')
+ const userName = JSON.parse(localStorage.getItem("user")).name;
+ //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
+ this.option = {
+ url: this.javaApi + "/word/" + fileName,
+ isEdit: false,
+ fileType: "docx",
+ title: fileName,
+ lang: 'zh-CN',
+ isPrint: true,
+ user_id: 1,
+ user_name: userName,
+ }
+ this.issuedVisible = true;
+ },
+ // 瀹℃牳閫氳繃
+ subIssued() {
+ this.loadingIssued = true;
+ this.$axios.post(this.$api.insReport.examineReport, {
+ id: this.currentInfo.id,
+ isExamine: 1
+ }).then(res => {
+ this.loadingIssued = false;
+ if (res.code === 201) {
+ return
+ }
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.refreshTable('page')
+ this.currentInfo = null;
+ this.issuedVisible = false;
+ }).catch(e => {
+ this.$message.error('鎻愪氦澶辫触')
+ this.loadingIssued = false;
+ })
+ },
+ handleApprove(row) {
+ this.currentInfo = row;
+ // let url = row.urlS ? row.urlS : row.url;
+ // this.currentFile.url = this.javaApi + url;
+ let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
+ fileName = fileName.replace('/word/', '')
+ const userName = JSON.parse(localStorage.getItem("user")).name;
+ //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
+ this.option = {
+ url: this.javaApi + "/word/" + fileName,
+ isEdit: false,
+ fileType: "docx",
+ title: fileName,
+ lang: 'zh-CN',
+ isPrint: true,
+ user_id: 1,
+ user_name: userName,
+ }
+ this.approveVisible = true;
+ },
+ // 鎵瑰噯閫氳繃
+ async subApprove() {
+ // this.currentInfo
+ await this.selectSeal(this.currentInfo)
+ this.approveVisible = false;
+ this.imgVisible = true;
+ },
+ // 鎻愪氦鎿嶄綔
+ handleSubmit(row) {
+ this.$confirm('鏄惁鎻愪氦褰撳墠鎶ュ憡?', "鎻愪氦", {
+ confirmButtonText: "鎻愪氦",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ this.$axios.post(this.$api.insReport.writeReport, {
+ id: row.id
}).then(res => {
- this.loadingIssued = false;
if (res.code === 201) {
return
}
this.$message.success('鎻愪氦鎴愬姛')
this.refreshTable('page')
- this.currentInfo = null;
- this.issuedVisible = false;
}).catch(e => {
this.$message.error('鎻愪氦澶辫触')
- this.loadingIssued = false;
})
- },
- handleApprove(row) {
- this.currentInfo = row;
- // let url = row.urlS ? row.urlS : row.url;
- // this.currentFile.url = this.javaApi + url;
- let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
- fileName = fileName.replace('/word/','')
- const userName = JSON.parse(localStorage.getItem("user")).name;
- //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
- this.option = {
- url: this.javaApi + "/word/" + fileName,
- isEdit: false,
- fileType: "docx",
- title: fileName,
- lang: 'zh-CN',
- isPrint: true,
- user_id: 1,
- user_name: userName,
- }
- this.approveVisible = true;
- },
- // 鎵瑰噯閫氳繃
- async subApprove() {
- // this.currentInfo
- await this.selectSeal(this.currentInfo)
- this.approveVisible = false;
- this.imgVisible = true;
- },
- // 鎻愪氦鎿嶄綔
- handleSubmit(row) {
- this.$confirm('鏄惁鎻愪氦褰撳墠鎶ュ憡?', "鎻愪氦", {
- confirmButtonText: "鎻愪氦",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- this.$axios.post(this.$api.insReport.writeReport, {
- id: row.id
- }).then(res => {
- if (res.code === 201) {
- return
- }
- this.$message.success('鎻愪氦鎴愬姛')
- this.refreshTable('page')
- }).catch(e => {
- this.$message.error('鎻愪氦澶辫触')
- })
- }).catch(() => {})
- },
- // 瀹℃牳涓嶉�氳繃鍘熷洜鎻愪氦
- handleIssuedReason() {
- if (!this.reason) {
- return this.$message.error('璇疯緭鍏ュ師鍥�')
- }
- this.loadingIssuedReason = true;
- this.$axios.post(this.$api.insReport.examineReport, {
- id: this.currentInfo.id,
- isExamine: 0,
- examineTell: this.reason
- }).then(res => {
- this.loadingIssuedReason = false;
- if (res.code === 201) {
- return
- }
- this.$message.success('鎿嶄綔鎴愬姛')
- this.refreshTable('page')
- this.currentInfo = null;
- this.reason = '';
- this.issuedVisible = false;
- this.issuedReasonVisible = false;
- }).catch(e => {
- this.$message.error('鎿嶄綔澶辫触')
- this.loadingIssuedReason = false;
- })
- },
- // 涓嶆壒鍑嗗師鍥犳彁浜�
- handleApproveReason() {
- if (!this.reason) {
- return this.$message.error('璇疯緭鍏ュ師鍥�')
- }
- this.loadingApproveReason = true
- this.$axios.post(this.$api.insReport.examineReport, {
- id: this.currentInfo.id,
- isExamine: 0,
- examineTell: this.reason
- }).then(res => {
- this.loadingApproveReason = false
- if (res.code === 201) {
- return
- }
- this.$message.success('鎿嶄綔鎴愬姛')
- this.refreshTable('page')
- this.currentInfo = null;
- this.reason = '';
- this.issuedVisible = false;
- this.issuedReasonVisible = false;
- }).catch(e => {
- this.$message.error('鎿嶄綔澶辫触')
- this.loadingIssuedReason = false;
- })
- },
- subApprove0(){
- if(!(this.currentImg&&this.imgList.find(m=>m.id==this.currentImg))){
- this.$message.error('璇烽�夋嫨鍗扮珷')
+ }).catch(() => { })
+ },
+ // 瀹℃牳涓嶉�氳繃鍘熷洜鎻愪氦
+ handleIssuedReason() {
+ if (!this.reason) {
+ return this.$message.error('璇疯緭鍏ュ師鍥�')
+ }
+ this.loadingIssuedReason = true;
+ this.$axios.post(this.$api.insReport.examineReport, {
+ id: this.currentInfo.id,
+ isExamine: 0,
+ examineTell: this.reason
+ }).then(res => {
+ this.loadingIssuedReason = false;
+ if (res.code === 201) {
return
}
- this.loadingApprove = true;
- this.$axios.post(this.$api.insReport.ratifyReport, {
- id: this.currentInfo.id,
- isRatify: 1,
- sealUrl:this.imgList.find(m=>m.id==this.currentImg).address
- }).then(res => {
- this.loadingApprove = false;
- if (res.code == 201) {
- this.$message.error('鎵瑰噯澶辫触')
- return
- }
- this.$message.success('宸叉壒鍑�')
- this.refreshTable('page')
- this.currentInfo = null;
- this.currentImg = null;
- this.imgVisible = false;
- })
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.refreshTable('page')
+ this.currentInfo = null;
+ this.reason = '';
+ this.issuedVisible = false;
+ this.issuedReasonVisible = false;
+ }).catch(e => {
+ this.$message.error('鎿嶄綔澶辫触')
+ this.loadingIssuedReason = false;
+ })
+ },
+ // 涓嶆壒鍑嗗師鍥犳彁浜�
+ handleApproveReason() {
+ if (!this.reason) {
+ return this.$message.error('璇疯緭鍏ュ師鍥�')
}
+ this.loadingApproveReason = true
+ this.$axios.post(this.$api.insReport.examineReport, {
+ id: this.currentInfo.id,
+ isExamine: 0,
+ examineTell: this.reason
+ }).then(res => {
+ this.loadingApproveReason = false
+ if (res.code === 201) {
+ return
+ }
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.refreshTable('page')
+ this.currentInfo = null;
+ this.reason = '';
+ this.issuedVisible = false;
+ this.issuedReasonVisible = false;
+ }).catch(e => {
+ this.$message.error('鎿嶄綔澶辫触')
+ this.loadingIssuedReason = false;
+ })
+ },
+ subApprove0() {
+ if (!(this.currentImg && this.imgList.find(m => m.id == this.currentImg))) {
+ this.$message.error('璇烽�夋嫨鍗扮珷')
+ return
+ }
+ this.loadingApprove = true;
+ this.$axios.post(this.$api.insReport.ratifyReport, {
+ id: this.currentInfo.id,
+ isRatify: 1,
+ sealUrl: this.imgList.find(m => m.id == this.currentImg).address
+ }).then(res => {
+ this.loadingApprove = false;
+ if (res.code == 201) {
+ this.$message.error('鎵瑰噯澶辫触')
+ return
+ }
+ this.$message.success('宸叉壒鍑�')
+ this.refreshTable('page')
+ this.currentInfo = null;
+ this.currentImg = null;
+ this.imgVisible = false;
+ })
}
}
+}
</script>
--
Gitblit v1.9.3