From 22b45a79b2ceab7625e0fe248458c398cc26110d Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 25 九月 2023 12:53:59 +0800 Subject: [PATCH] modified: src/components/view/Processingproducts.vue modified: src/components/view/rawInsDetail.vue modified: src/components/view/sale.vue --- src/components/view/rawInsDetail.vue | 1250 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 597 insertions(+), 653 deletions(-) diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index 4b41eba..4bda44d 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -1,697 +1,641 @@ <template> - <div class="rawInsBox"> - <div class="title"> - <el-row> - <el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col> - <el-col :span="12" style="text-align: right;"> - <el-button - icon="el-icon-circle-plus-outline" - v-show="detailId === null" - @click="addNewRawInspect" - style="background-color: #004ea2; color: #ffffff;" - >鎻� 浜�</el-button - > - <el-button - icon="el-icon-back" - @click=" - () => { - goBack(); - } - " - >杩� 鍥�</el-button - > - </el-col> - </el-row> - </div> - <div - class="raw-detail-info" - :class="detailId === null ? 'raw-detail-info-edit' : ''" - > - <el-form v-model="detailInfo" label-position="right" label-width="120px"> - <el-row> - <el-col :span="7"> - <el-form-item label="鏉ユ枡鏃ユ湡:"> - <el-input - v-if="detailId !== null" - :disabled="detailId !== null" - v-model="detailInfo.formTime" - ></el-input> - <el-date-picker - v-else - type="date" - value-format="yyyy-MM-dd" - v-model="detailInfo.formTime" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍘熸潗鏂欏悕绉�:"> - <el-input - v-if="detailId !== null" - :disabled="detailId !== null" - v-model="detailInfo.name" - ></el-input> - <el-input - v-else - v-model="detailInfo.name" - placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" - ></el-input> </el-form-item - ></el-col> - <el-col :span="7"> - <el-form-item label="鍘熸潗鏂欑紪鐮�:"> - <el-input - v-if="detailId !== null" - :disabled="detailId !== null" - v-model="detailInfo.code" - ></el-input> - <el-input - v-else - v-model="detailInfo.code" - placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input - v-if="detailId !== null" - :disabled="detailId !== null" - v-model="detailInfo.specifications" - ></el-input> - <el-input - v-else - v-model="detailInfo.specifications" - placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍗曚綅:"> - <el-input - v-if="detailId !== null" - :disabled="detailId !== null" - v-model="detailInfo.runit" - ></el-input> - <el-input - v-else - placeholder="璇疯緭鍏ユ楠屽崟浣�" - :disabled="detailId !== null" - v-model="detailInfo.unit" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鏁伴噺:"> - <el-input - :placeholder="detailId !== null ? '' : '璇疯緭鍏ユ楠屾暟閲�'" - :disabled="detailId !== null" - v-model="detailInfo.number" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="渚涘簲鍟嗗悕绉�:"> - <el-input - :placeholder="detailId !== null ? '' : '璇疯緭鍏ヤ緵搴斿晢鍚嶇О'" - :disabled="detailId !== null" - v-model="detailInfo.supplier" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item v-show="detailId !== null" label="鎶ユ鏃ユ湡:"> - <el-input - :disabled="detailId !== null" - v-model="detailInfo.creatTime" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item v-show="detailId !== null" label="鎶ユ浜�:"> - <el-input - :disabled="detailId !== null" - v-model="detailInfo.userName" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <div class="title"> - <el-row> - <el-col :span="12" style="line-height: 32px;">妫�楠岄」鐩�</el-col> - <el-col :span="12" style="line-height: 32px; padding-top: 6px;"> - <el-button - style="float: right;" - @click="clickDeleteInspectionColumn()" - >鍒犻櫎妫�楠屽�煎垪</el-button - > - <el-button - style="float: right;margin-right: 30px;" - @click="clickAddInspectionColumn()" - >娣诲姞妫�楠屽�煎垪</el-button - > - <el-button - v-if="detailId == null" - style="float: right;margin-right: 30px;" - @click="clickAddLine()" - >娣诲姞妫�楠岃</el-button - > - </el-col> - </el-row> - </div> - <div class="raw-project-table"> - <el-table :data="projectTable" style="width: 100%" height="320"> - <el-table-column type="index" label="搴忓彿" width="60"> - </el-table-column> - <el-table-column prop="rpName" label="椤圭洰" width="212"> - <template slot-scope="scope"> - <el-input - v-if="detailId == null" - v-model="scope.row.name" - placeholder="璇疯緭鍏ラ」鐩悕绉�" - ></el-input> - <el-input v-else v-model="scope.row.rpName" disabled></el-input> - </template> - </el-table-column> - <el-table-column prop="unit" label="鍗曚綅" width="148"> - <template slot-scope="scope"> - <el-input - v-if="detailId == null" - v-model="scope.row.unit" - placeholder="璇疯緭鍏ュ崟浣�" - ></el-input> - <el-input v-else v-model="scope.row.rpUnit" disabled></el-input> - </template> - </el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�" min-width="150"> - <template slot-scope="scope"> - <el-input - :disabled="detailId != null" - @blur="assertTest(scope.row)" - v-model="scope.row.required" - placeholder="璇疯緭鍏ユ爣鍑嗗��" - ></el-input> - </template> - </el-table-column> - <el-table-column prop="internal" label="鍐呮帶鍊�" min-width="150"> - <template slot-scope="scope"> - <el-input - @blur="assertTest(scope.row)" - :disabled="detailId != null" - v-model="scope.row.internal" - placeholder="璇疯緭鍏ュ唴鎺у��" - ></el-input> - </template> - </el-table-column> - <el-table-column - prop="testValue" - label="妫�娴嬪��" - min-width="150" - v-for="(item, index) in empiricalValueAdd" - :key="index" - > - <template slot-scope="scope"> - <el-tooltip - :disabled="scope.row.deviceId != null" - class="item" - effect="dark" - content="璇峰厛閫夋嫨璁惧锛�" - placement="top-start" - > - <el-input - :disabled="scope.row.deviceId == null" - v-model="scope.row.testValueList[index]" - @blur="changeState(scope.row, index)" - placeholder="璇疯緭鍏ユ娴嬪��" - ></el-input> - </el-tooltip> - </template> - </el-table-column> - <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="100"> - <template slot-scope="scope"> - <el-button type="text" @click="clickTableSelect(scope)">{{ - scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName - }}</el-button> - </template> - </el-table-column> - <el-table-column - v-if="detailId !== null" - prop="testState" - label="缁撹" - min-width="100" - > - <template slot-scope="scope"> - <span - v-show="scope.row.testState != null" - :style="{ - color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' - }" - >{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span - > - <span v-show="scope.row.testState == null">鏆傛湭缁撹</span> - </template> - </el-table-column> - <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100"> - <template slot-scope="scope"> - <el-button type="text" @click="clickDeleteline(scope)" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </div> - <div class="title"> - <el-row> - <el-col :span="12" style="line-height: 32px;">妫�楠岀粨璁�</el-col> - </el-row> - </div> - <div class="raw-conclusion-table"> - <el-table :data="conclusionTable" style="100%"> - <el-table-column prop="code" label="鐗╂枡缂栧彿"> </el-table-column> - <el-table-column prop="name" label="鐗╂枡鍚嶇О"> </el-table-column> - <el-table-column v-if="detailId != null" prop="uName" label="妫�楠屽憳"> - <template slot-scope="scope"> - <span - v-for="item in scope.row.uName" - :key="item && item.uName" - :style="{ marginRight: '8px' }" - >{{ item }}</span - > - </template> - </el-table-column> - <el-table-column prop="testState" label="妫�楠岀粨璁�"> - <template slot-scope="scope"> - <span - v-show="scope.row.testState != null" - :style="{ - color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' - }" - >{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span - > - <span v-show="scope.row.testState == null">鏆傛湭缁撹</span> - </template> - </el-table-column> - <el-table-column v-if="detailId !== null" label="鎿嶄綔" width="120"> - <template> - <el-button type="text" size="small" @click.once="submitSave" - >涓婃姤</el-button - > - </template> - </el-table-column> - </el-table> - </div> - <el-dialog - title="璇烽�夋嫨璁惧" - :visible.sync="centerDialogVisible" - width="20%" - > - <div class="div_device_dialog"> - <el-input - placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" - v-model="filterText" - style="margin-bottom: 6px;" - > - </el-input> - <el-tree - class="filter-tree" - :data="materialOptions" - :props="defaultProps" - default-expand-all - highlight-current - @node-click="nodeClick" - :filter-node-method="filterNode" - ref="tree" - > - <div class="custom-tree-node" slot-scope="{ data }"> - <span - ><i - :class=" - `node_i ${ - data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' - }` - " - ></i> - {{ data.name }}</span - > - </div> - </el-tree> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> + <div class="rawInsBox"> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button icon="el-icon-circle-plus-outline" v-show="detailId === null" @click="addNewRawInspect" + style="background-color: #004ea2; color: #ffffff;">鎻� 浜�</el-button> + <el-button icon="el-icon-back" @click="() => { + goBack(); + } + ">杩� 鍥�</el-button> + </el-col> + </el-row> + </div> + <div class="raw-detail-info" :class="detailId === null ? 'raw-detail-info-edit' : ''"> + <el-form v-model="detailInfo" label-position="right" label-width="120px"> + <el-row> + <el-col :span="7"> + <el-form-item label="鏉ユ枡鏃ユ湡:"> + <el-input v-if="detailId !== null" :disabled="detailId !== null" + v-model="detailInfo.formTime"></el-input> + <el-date-picker v-else type="date" value-format="yyyy-MM-dd" v-model="detailInfo.formTime" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍘熸潗鏂欏悕绉�:"> + <el-input v-if="detailId !== null" :disabled="detailId !== null" + v-model="detailInfo.name"></el-input> + <el-input v-else v-model="detailInfo.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О"></el-input> + </el-form-item></el-col> + <el-col :span="7"> + <el-form-item label="鍘熸潗鏂欑紪鐮�:"> + <el-input v-if="detailId !== null" :disabled="detailId !== null" + v-model="detailInfo.code"></el-input> + <el-input @blur="blurCode" v-else v-model="detailInfo.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input v-if="detailId !== null" :disabled="detailId !== null" + v-model="detailInfo.specifications"></el-input> + <el-input v-else v-model="detailInfo.specifications" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍗曚綅:"> + <el-input v-if="detailId !== null" :disabled="detailId !== null" + v-model="detailInfo.runit"></el-input> + <el-input v-else placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId !== null" + v-model="detailInfo.unit"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鏁伴噺:"> + <el-input :placeholder="detailId !== null ? '' : '璇疯緭鍏ユ楠屾暟閲�'" :disabled="detailId !== null" + v-model="detailInfo.number"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="渚涘簲鍟嗗悕绉�:"> + <el-input :placeholder="detailId !== null ? '' : '璇疯緭鍏ヤ緵搴斿晢鍚嶇О'" :disabled="detailId !== null" + v-model="detailInfo.supplier"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item v-show="detailId !== null" label="鎶ユ鏃ユ湡:"> + <el-input :disabled="detailId !== null" v-model="detailInfo.creatTime"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item v-show="detailId !== null" label="鎶ユ浜�:"> + <el-input :disabled="detailId !== null" v-model="detailInfo.userName"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">妫�楠岄」鐩�</el-col> + <el-col :span="12" style="line-height: 32px; padding-top: 6px;"> + <el-button style="float: right;" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button> + <el-button style="float: right;margin-right: 30px;" + @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button> + <el-button v-if="detailId == null" style="float: right;margin-right: 30px;" + @click="clickAddLine()">娣诲姞妫�楠岃</el-button> + </el-col> + </el-row> + </div> + <div class="raw-project-table"> + <el-table :data="projectTable" style="width: 100%" height="320"> + <el-table-column type="index" label="搴忓彿" width="60"> + </el-table-column> + <el-table-column prop="rpName" label="椤圭洰" width="212"> + <template slot-scope="scope"> + <!-- <el-input v-if="detailId == null" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> --> + <el-autocomplete v-if="detailId == null" class="inline-input" v-model="scope.row.name" + :fetch-suggestions="querySearch" placeholder="璇疯緭鍏ラ」鐩悕绉�" @select="handleSelect(scope.row)" + @blur="handleSelect(scope.row)"></el-autocomplete> + <el-input v-else v-model="scope.row.rpName" disabled></el-input> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅" width="148"> + <template slot-scope="scope"> + <el-input v-if="detailId == null" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> + <el-input v-else v-model="scope.row.rpUnit" disabled></el-input> + </template> + </el-table-column> + <el-table-column prop="required" label="鏍囧噯鍊�" min-width="150"> + <template slot-scope="scope"> + <el-input :disabled="detailId != null" @blur="assertTest(scope.row)" v-model="scope.row.required" + placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input> + </template> + </el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" min-width="150"> + <template slot-scope="scope"> + <el-input @blur="assertTest(scope.row)" :disabled="detailId != null" v-model="scope.row.internal" + placeholder="璇疯緭鍏ュ唴鎺у��"></el-input> + </template> + </el-table-column> + <el-table-column prop="testValue" label="妫�娴嬪��" min-width="150" v-for="(item, index) in empiricalValueAdd" + :key="index"> + <template slot-scope="scope"> + <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" + placement="top-start"> + <el-input :disabled="scope.row.deviceId == null" v-model="scope.row.testValueList[index]" + @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + </el-tooltip> + </template> + </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="100"> + <template slot-scope="scope"> + <el-button type="text" @click="clickTableSelect(scope)">{{ + scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName + }}</el-button> + </template> + </el-table-column> + <el-table-column v-if="detailId !== null" prop="testState" label="缁撹" min-width="100"> + <template slot-scope="scope"> + <span v-show="scope.row.testState != null" :style="{ + color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' + }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span> + <span v-show="scope.row.testState == null">鏆傛湭缁撹</span> + </template> + </el-table-column> + <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100"> + <template slot-scope="scope"> + <el-button type="text" @click="clickDeleteline(scope)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </div> + <div class="title"> + <el-row> + <el-col :span="12" style="line-height: 32px;">妫�楠岀粨璁�</el-col> + </el-row> + </div> + <div class="raw-conclusion-table"> + <el-table :data="conclusionTable" style="100%"> + <el-table-column prop="code" label="鐗╂枡缂栧彿"> </el-table-column> + <el-table-column prop="name" label="鐗╂枡鍚嶇О"> </el-table-column> + <el-table-column v-if="detailId != null" prop="uName" label="妫�楠屽憳"> + <template slot-scope="scope"> + <span v-for="item in scope.row.uName" :key="item && item.uName" :style="{ marginRight: '8px' }">{{ + item }}</span> + </template> + </el-table-column> + <el-table-column prop="testState" label="妫�楠岀粨璁�"> + <template slot-scope="scope"> + <span v-show="scope.row.testState != null" :style="{ + color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C' + }">{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span> + <span v-show="scope.row.testState != null">{{ null }}</span> + </template> + </el-table-column> + <el-table-column v-if="detailId !== null" label="鎿嶄綔" width="120"> + <template> + <el-button type="text" size="small" @click="submitSave">涓婃姤</el-button> + </template> + </el-table-column> + </el-table> + </div> + <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%"> + <div class="div_device_dialog"> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;"> + </el-input> + <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all + highlight-current @node-click="nodeClick" :filter-node-method="filterNode" ref="tree"> + <div class="custom-tree-node" slot-scope="{ data }"> + <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' + }` + "></i> + {{ data.name }}</span> + </div> + </el-tree> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> </template> <script> -import { triggerRef } from "vue"; +import { + triggerRef +} from "vue"; import RawIns from "./raw-ins.vue"; export default { - components: { RawIns }, - props: ["goBack", "detailId"], - created() { - // 娓呯┖ - this.detailInfo = {}; - if (this.detailId) { - this.getDetailInfo(); - } - this.getOptions(); - }, - mounted() { + components: { + RawIns + }, + props: ["goBack", "detailId"], + created() { + // 娓呯┖ + this.detailInfo = {}; + if (this.detailId) { + this.getDetailInfo(); + } + this.getOptions(); + }, + mounted() { - }, - computed: { - conclusionTable() { - const conclusion = {}; - conclusion.name = this.detailInfo.name; - conclusion.code = this.detailInfo.code; - conclusion.uName = [ - ...new Set(this.projectTable.map(item => item.uName)) - ]; - if ( - this.projectTable.filter(item => item.testState === undefined).length === - this.projectTable.length - ) { - conclusion.testState = null; - return [conclusion]; - } - if (this.projectTable.filter(item => item.testState === 0).length > 0) { - conclusion.testState = 0; - } else { - conclusion.testState = 1; - } - console.log([conclusion]); - return [conclusion]; - } - }, - data() { - return { - // 娣诲姞鍒� - empiricalValueAdd: 1, - // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂� - empiricalValueAddMaxNumber: 0, - // 璁惧閫夋嫨鏍戞樉绀� - centerDialogVisible: false, - // 璇︽儏椤靛氨鏄鎯呬俊鎭� - detailInfo: {}, - // 琛ㄦ牸 - projectTable: [], - // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄 - rawInsParams: {}, - // 椤圭洰鍚嶇Оoptions - specificationOptions: [], - filterText: "", - materialOptions: [], // 鏍戞暟鎹� - defaultProps: { - // 璁惧鏍戞暟鎹缃� - children: "children", - label: "name" - }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 - clickSelectDevice: { - index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� - rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d - } - }; - }, - watch: { - filterText(val) { - this.$refs.tree.filter(val); - } - }, - methods: { - assertTest(row){ - let fuArr=['>', '<', '='] - if(!fuArr.includes(row.required[0])){ - this.$message({ - message: "鏍囧噯鍊糩"+row.required+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", - type: 'warning' - }); - return - } - if(!fuArr.includes(row.internal[0])){ - this.$message({ - message: "鍐呮帶鍊糩"+row.internal+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", - type: 'warning' - }); - return - } - }, - // 璁惧鏍戣繃婊ゆ悳绱� - filterNode(value, data) { - if (!value) return true; - return data.name.indexOf(value) !== -1; - }, + }, + computed: { + conclusionTable() { + const conclusion = {}; + conclusion.name = this.detailInfo.name; + conclusion.code = this.detailInfo.code; + conclusion.uName = [ + ...new Set(this.projectTable.map(item => item.uName)) + ]; + return [conclusion]; + } + }, + data() { + return { + // 娣诲姞鍒� + empiricalValueAdd: 1, + // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂� + empiricalValueAddMaxNumber: 0, + // 璁惧閫夋嫨鏍戞樉绀� + centerDialogVisible: false, + // 璇︽儏椤靛氨鏄鎯呬俊鎭� + detailInfo: {}, + //浜у搧淇℃伅 + ifsInfo: {}, + // 琛ㄦ牸 + projectTable: [], + // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄 + rawInsParams: {}, + // 椤圭洰鍚嶇Оoptions + specificationOptions: [], + filterText: "", + materialOptions: [], // 鏍戞暟鎹� + defaultProps: { + // 璁惧鏍戞暟鎹缃� + children: "children", + label: "name" + }, + nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + clickSelectDevice: { + index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� + rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d + }, + restaurants: [] + }; + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + } + }, + methods: { + blurCode() { + // this.detailId=10 + let data = { + code: this.detailInfo.code + } + console.log(data); + this.$axios.post( + this.$api.url.rawInspectChooseIFS, { + code: this.detailInfo.code + } + ).then(res => { + this.ifsInfo = res.data + console.log("ifs", this.ifsInfo); + this.$set(this.detailInfo, "formTime", this.ifsInfo.formTime) + this.detailInfo.formTime = this.ifsInfo.formTime + this.detailInfo.name = this.ifsInfo.name + this.detailInfo.supplier = this.ifsInfo.supplier + this.detailInfo.unit = this.ifsInfo.unit + this.detailInfo.userName = this.ifsInfo.userName + this.detailInfo.number = this.ifsInfo.number + this.detailInfo.specifications = this.ifsInfo.specifications + this.restaurants = JSON.parse(JSON.stringify(this.ifsInfo.rawInsProducts)) + this.restaurants.forEach(item => { + this.$set(item, "value", item.name) + }) + console.log("restaurants", this.restaurants); + }) + }, + querySearch(queryString, cb) { + var restaurants = this.restaurants; + var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; + // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� + cb(results); + }, + createFilter(queryString) { + return (restaurant) => { + return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + }; + }, + handleSelect(row) { + let select = this.restaurants.filter(item => { + return item.name === row.name + })[0] + if (select != undefined) { + this.$set(row, "internal", select.internal) + this.$set(row, "required", select.required) + this.$set(row, "unit", select.unit) + //妫�楠屽�� + } + }, + assertTest(row) { + // let fuArr=['>', '<', '='] + // if(!fuArr.includes(row.required[0])){ + // this.$message({ + // message: "鏍囧噯鍊糩"+row.required+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", + // type: 'warning' + // }); + // return + // } + // if(!fuArr.includes(row.internal[0])){ + // this.$message({ + // message: "鍐呮帶鍊糩"+row.internal+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", + // type: 'warning' + // }); + // return + // } + }, + // 璁惧鏍戣繃婊ゆ悳绱� + filterNode(value, data) { + if (!value) return true; + return data.name.indexOf(value) !== -1; + }, - // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭� - async getDetailInfo() { - await this.$axios - .get(this.$api.url.selectRawInspectsListById + `${this.detailId}`, { - params: { id: this.detailId } - }) - .then(res => { - console.log(res); - this.detailInfo = res.data; - this.projectTable = res.data.children; - this.projectTable.forEach(i => { - // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣� - if (i.testValue == null) { - this.$set(i, "testValueList", []); - } else { - this.$set(i, "testValueList", i.testValue.split(",")); - } - // 鍙栨渶闀跨殑鍒楄〃鏁� - if (i.testValueList.length > this.empiricalValueAdd) { - this.empiricalValueAdd = i.testValueList.length; - this.empiricalValueAddMaxNumber = i.testValueList.length - 1; - } - }); - }); - }, - // 鏂板妫�楠屽崟 - async addNewRawInspect() { - //TODO: - console.log(this.projectTable); - if(this.projectTable.length>0){ - let filterTable= this.projectTable.filter(item=>{ - return item.required===''||item.internal===''|| - item.required===null||item.internal===null||item.name==='' - }) - if(filterTable.length>0) { - this.$message({ - message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒", - type: 'warning' - }); - return - } - } - this.projectTable.forEach(i => { - // 灏嗗垪琛ㄨ浆鎹负瀛楃涓� - i.testValue = i.testValueList.join(","); - }); - this.detailInfo.rawInsProducts = this.projectTable; - this.$axios.post( - this.$api.url.addRawInspects, - { ...this.detailInfo }, - { headers: { "Content-Type": "application/json" } } - ).then(res=>{ - console.log(res); - if(res.code=="201"){ - this.$message({ - message: res.message, - type: 'warning' - }); - return - }else{ - // this.detailId = res.data; - // this.getDetailInfo(); - // // this.$message.success(res.message); - // this.goBack(); - } - }); - }, + // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭� + async getDetailInfo() { + await this.$axios + .get(this.$api.url.selectRawInspectsListById + `${this.detailId}`, { + params: { + id: this.detailId + } + }) + .then(res => { + console.log(res); + this.detailInfo = res.data; + this.projectTable = res.data.children; + this.projectTable.forEach(i => { + // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣� + if (i.testValue == null) { + this.$set(i, "testValueList", []); + } else { + this.$set(i, "testValueList", i.testValue.split(",")); + } + // 鍙栨渶闀跨殑鍒楄〃鏁� + if (i.testValueList.length > this.empiricalValueAdd) { + this.empiricalValueAdd = i.testValueList.length; + this.empiricalValueAddMaxNumber = i.testValueList.length - 1; + } + }); + }); + }, + // 鏂板妫�楠屽崟 + async addNewRawInspect() { + //TODO: + console.log(this.projectTable); + if (this.projectTable.length > 0) { + let filterTable = this.projectTable.filter(item => { + return item.name === null || item.name === '' + }) + if (filterTable.length > 0) { + this.$message({ + message: "椤圭洰鍚嶇О涓嶈兘涓虹┖锛�", + type: 'warning' + }); + return + } + } + this.projectTable.forEach(i => { + // 灏嗗垪琛ㄨ浆鎹负瀛楃涓� + i.testValue = i.testValueList.join(","); + }); + this.detailInfo.rawInsProducts = this.projectTable; + this.$axios.post( + this.$api.url.addRawInspects, { + ...this.detailInfo + }, { + headers: { + "Content-Type": "application/json" + } + } + ).then(res => { + console.log(res); + if (res.code == "201") { + this.$message({ + message: res.message, + type: 'warning' + }); + return + } else { + // this.detailId = res.data; + // this.getDetailInfo(); + // // this.$message.success(res.message); + // this.goBack(); + } + }); + }, - // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� - async changeState(row, index) { - if (this.detailId !== null) { - const res = await this.$axios.post(this.$api.url.updaterawInsProduct, { - DevId: row.deviceId, - rpId: row.rpId, - testValue: row.testValueList.join(",") - }); - this.$message.success("鎻愪氦鎴愬姛"); - this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁 - } - }, - async submitSave() { - const res = await this.$axios.post( - this.$api.url.updateRawInspectsById + `${this.detailId}` - ).then(res=>{ - this.$message.success("鎻愪氦鎴愬姛"); - this.getDetailInfo(); - this.goBack() -聽 聽 聽 }); - }, - // 鑾峰彇璁惧鏍戝唴瀹� - getOptions() { - this.$axios.get(this.$api.url.rawSelectDevice).then(res => { - this.materialOptions = res.data; - }); - }, - // 娣诲姞琛� - clickAddLine() { - let obj = { - deviceId: null, - deviceName: "", - internal: "", - name: "", - required: "", - textValue: "", - testState:null, - testValueList: [], - unit: "" - }; - this.projectTable.push(obj); - }, - // 鍒犻櫎琛� - clickDeleteline(scope) { - this.projectTable.splice(scope.$index, 1); - }, - // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰� - nodeClick(data) { - if (data.id != undefined) this.nodeData = data; - }, - // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 - clickTableSelect(scope) { - this.centerDialogVisible = true; - this.clickSelectDevice.index = scope.$index; - this.clickSelectDevice.rpId = scope.row.rpId; - }, - // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 - clickNodeSure() { - if (this.detailId == null) { - this.projectTable[ - this.clickSelectDevice.index - ].deviceId = this.nodeData.id; - this.projectTable[ - this.clickSelectDevice.index - ].deviceName = this.nodeData.name; - this.centerDialogVisible = false; - } else { - this.$axios - .post(this.$api.url.updateDevByRpId, { - rpId: this.clickSelectDevice.rpId, - devId: this.nodeData.id - }) - .then(res => { - this.getDetailInfo(); - this.centerDialogVisible = false; - }); - } - }, - // 鍒犻櫎妫�楠屽�煎垪 - clickDeleteInspectionColumn() { - if (this.empiricalValueAdd - 1 === 0) { - } else { - if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { - this.empiricalValueAdd = this.empiricalValueAdd - 1; - this.projectTable.forEach(i => { - i.testValueList.splice(this.empiricalValueAdd, 1); - }); - } - } - }, - // 娣诲姞妫�楠屽�煎垪 - clickAddInspectionColumn() { - this.empiricalValueAdd = this.empiricalValueAdd + 1; - } - } + // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� + async changeState(row, index) { + if (this.detailId !== null) { + const res = await this.$axios.post(this.$api.url.updaterawInsProduct, { + DevId: row.deviceId, + rpId: row.rpId, + testValue: row.testValueList.join(",") + }); + this.$message.success("鎻愪氦鎴愬姛"); + this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁 + } + }, + submitSave() { + let pro = this.projectTable.filter(item => { + return item.testState === 0; + }) + if (pro.length > 0) { + this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + inputPattern: /^\d+$/, + inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�' + }).then(({ value }) => { + this.$axios.post( + this.$api.url.updateRawInspectsById+`${this.detailId}`, {"number": value } + ).then(res => { + this.$message.success("鎻愪氦鎴愬姛"); + this.getDetailInfo(); + this.goBack() + }); + }).catch(() => { + this.$message({ + type: 'info', + message: '鍙栨秷杈撳叆' + }); + }); + }else{ + this.$axios.post( + this.$api.url.updateRawInspectsById + `${this.detailId}` + ).then(res => { + this.$message.success("鎻愪氦鎴愬姛"); + this.getDetailInfo(); + this.goBack() + }); + } + }, + // 鑾峰彇璁惧鏍戝唴瀹� + getOptions() { + this.$axios.get(this.$api.url.rawSelectDevice).then(res => { + this.materialOptions = res.data; + }); + }, + // 娣诲姞琛� + clickAddLine() { + let obj = { + deviceId: null, + deviceName: "", + internal: "", + name: "", + required: "", + textValue: "", + testState: null, + testValueList: [], + unit: "" + }; + this.projectTable.push(obj); + }, + // 鍒犻櫎琛� + clickDeleteline(scope) { + this.projectTable.splice(scope.$index, 1); + }, + // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰� + nodeClick(data) { + if (data.id != undefined) this.nodeData = data; + }, + // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 + clickTableSelect(scope) { + this.centerDialogVisible = true; + this.clickSelectDevice.index = scope.$index; + this.clickSelectDevice.rpId = scope.row.rpId; + }, + // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 + clickNodeSure() { + if (this.detailId == null) { + this.projectTable[ + this.clickSelectDevice.index + ].deviceId = this.nodeData.id; + this.projectTable[ + this.clickSelectDevice.index + ].deviceName = this.nodeData.name; + this.centerDialogVisible = false; + } else { + this.$axios + .post(this.$api.url.updateDevByRpId, { + rpId: this.clickSelectDevice.rpId, + devId: this.nodeData.id + }) + .then(res => { + this.getDetailInfo(); + this.centerDialogVisible = false; + }); + } + }, + // 鍒犻櫎妫�楠屽�煎垪 + clickDeleteInspectionColumn() { + if (this.empiricalValueAdd - 1 === 0) { } else { + if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { + this.empiricalValueAdd = this.empiricalValueAdd - 1; + this.projectTable.forEach(i => { + i.testValueList.splice(this.empiricalValueAdd, 1); + }); + } + } + }, + // 娣诲姞妫�楠屽�煎垪 + clickAddInspectionColumn() { + this.empiricalValueAdd = this.empiricalValueAdd + 1; + } + } }; </script> <style scoped> .node_i { - color: orange; + color: orange; } + .div_device_dialog { - min-height: 400px; - overflow: auto; + min-height: 400px; + overflow: auto; } + .rawInsBox { - height: 100%; - width: 100%; - overflow-y: scroll; - display: flex; - flex-direction: column; + height: 100%; + width: 100%; + overflow-y: scroll; + display: flex; + flex-direction: column; } + .el-table__fixed-body-wrapper { - top: 48px; + top: 48px; } + .rawInsBox .title .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; } + .rawInsBox .title { - margin-bottom: 10px; - padding: 0 20px; + margin-bottom: 10px; + padding: 0 20px; } + /* 妫�楠岃鎯� */ .raw-detail-info { - background: #fff; - padding: 26px 0px 11px 80px; + background: #fff; + padding: 26px 0px 11px 80px; } -.raw-detail-info >>> .el-form-item__label { - color: rgb(51, 51, 51); - font-family: 寰蒋闆呴粦; - font-size: 16px; - font-weight: 400; - letter-spacing: 0px; + +.raw-detail-info>>>.el-form-item__label { + color: rgb(51, 51, 51); + font-family: 寰蒋闆呴粦; + font-size: 16px; + font-weight: 400; + letter-spacing: 0px; } + .raw-detail-info .el-input { - width: auto; + width: auto; } -.raw-detail-info.raw-detail-info-edit >>> .el-input__inner { - background: #fff; + +.raw-detail-info.raw-detail-info-edit>>>.el-input__inner { + background: #fff; } -.raw-detail-info >>> .el-input__inner { - width: 224px; - height: 32px; - box-sizing: border-box; - background: rgb(238, 238, 238); - border: 1px solid rgb(221, 221, 221); - border-radius: 4px; + +.raw-detail-info>>>.el-input__inner { + width: 224px; + height: 32px; + box-sizing: border-box; + background: rgb(238, 238, 238); + border: 1px solid rgb(221, 221, 221); + border-radius: 4px; } + .raw-detail-info .el-form-item { - margin-bottom: 24px; + margin-bottom: 24px; } + .raw-detail-info .el-form-item .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; } /* 妫�楠岄」鐩� */ .raw-project-table { - padding: 24px 14px; - background: #fff; - flex: 1; - /* max-height: 360px; */ - /* overflow-y: hidden; */ + padding: 24px 14px; + background: #fff; + flex: 1; + /* max-height: 360px; */ + /* overflow-y: hidden; */ } + /* 妫�楠岀粨璁� */ .raw-conclusion-table { - padding: 9px 14px; - background: #fff; + padding: 9px 14px; + background: #fff; } -</style> +</style> \ No newline at end of file -- Gitblit v1.9.3