From 809f8b1279bf84f28bccabc4f95a8eba6c22a24d Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期二, 29 八月 2023 10:30:04 +0800 Subject: [PATCH] 放行委托新增 --- src/views/experiment/inspectionApplication/index.vue | 969 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 741 insertions(+), 228 deletions(-) diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index b53ff7c..0ebe171 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -17,17 +17,17 @@ <el-form-item label="妫�楠岀被鍨�:"> <el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> <el-option - v-for="item in options" + v-for="item in typeoptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> - <el-form-item label="妫�楠岀姸鎬�:" style="margin-right: 20px;"> + <el-form-item label="妫�楠岀粨鏋�:" style="margin-right: 20px;"> <el-select v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> <el-option - v-for="item in options" + v-for="item in stateoptions" :key="item.value" :label="item.label" :value="item.value"> @@ -35,8 +35,8 @@ </el-select> </el-form-item> <el-form-item> - <el-button type="primary">鏌ヨ</el-button> - <el-button type="primary" plain>閲嶇疆</el-button> + <el-button type="primary" @click="searchInspections">鏌ヨ</el-button> + <el-button type="primary" plain @click="reset">閲嶇疆</el-button> </el-form-item> </el-form> <el-form class="rightBtn"> @@ -73,51 +73,42 @@ min-width="30px" /> <el-table-column - prop="applicationnum" + prop="icode" label="鐢宠鍗曞彿" min-width="100px" /> <el-table-column - prop="checktype" + prop="type" label="妫�楠岀被鍨�" - min-width="80px" - /> - <el-table-column - prop="checkstate" - label="妫�楠岀姸鎬�" - min-width="70px"> + min-width="80px"> <template slot-scope="scope"> - <div v-if="scope.row.checkstate === '1'"> - <span style="color: green;">宸叉娴�</span> - </div> - <div v-else> - <span style="color: red;">鏈娴�</span> - </div> - + <div v-if="scope.row.type === 0" ><span >鍘熸潗鏂欐楠�</span></div> + <div v-if="scope.row.type === 1" ><span>濮旀墭妫�楠�</span></div> + <div v-if="scope.row.type === 2" ><span>鎴愬搧妫�楠�</span></div> </template> </el-table-column> <el-table-column - prop="deliverydate" + prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="100px" /> <el-table-column - prop="provider" + prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="150px" /> <el-table-column - prop="rawcode" + prop="mcode" label="鍘熸潗鏂欑紪鐮�" - min-width="120px" + min-width="150px" /> <el-table-column - prop="rawname" + prop="name" label="鍘熸潗鏂欏悕绉�" min-width="80px" /> <el-table-column - prop="modelandspecification" + prop="specifications" label="瑙勬牸鍨嬪彿" min-width="160px" /> @@ -127,49 +118,34 @@ min-width="50px" /> <el-table-column - prop="amount" + prop="num" label="鏁伴噺" min-width="50px" /> <el-table-column - prop="registrationdate" + prop="createTime" label="鐧昏鏃ユ湡" min-width="80px" /> <el-table-column - prop="registrator" + prop="userName" label="鐧昏浜�" min-width="80px" /> <el-table-column - prop="qualified" - label="妫�楠岀姸鎬�" + prop="inspection_status" + label="妫�楠岀粨鏋�" min-width="80px"> <template slot-scope="scope"> - <div v-if="scope.row.qualified === null"> - <span></span> - </div> - <div v-else> - <el-tag :type="scope.row.qualified === '0' ? 'success' : 'danger'" + <el-tag class="tag" :type="scope.row.inspection_status === 0 ? 'danger' : 'success'" disable-transitions - >{{ scope.row.qualified === '0' ? '鍚堟牸' : '涓嶅悎鏍�' }}</el-tag> - </div> + >{{ scope.row.inspection_status === 0 ? '涓嶅悎鏍�' : '鍚堟牸' }}</el-tag> </template> </el-table-column> <el-table-column - prop="applier" - label="鐢宠浜�" - min-width="80px" - /> - <el-table-column - prop="checker" - label="妫�楠屼汉" - min-width="80px" - /> - <el-table-column - prop="checktime" + prop="checkdate" label="妫�楠屾棩鏈�" - min-width="80px" + min-width="150px" /> <el-table-column label="鎿嶄綔" @@ -178,7 +154,7 @@ > <template slot-scope="scope"> <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button> - <el-button type="text" size="small" >鎻愪氦</el-button> + <!-- <el-button type="text" size="small" >鎻愪氦</el-button> --> <el-button type="text" size="small" >浣滃簾</el-button> </template> </el-table-column> @@ -188,7 +164,7 @@ <el-pagination class="pagination" :current-page="currentPage" - :page-sizes="[100, 200, 300, 400]" + :page-sizes="[ 10, 20, 30,40]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" @@ -198,180 +174,492 @@ </div> </div> </div> + <!-- 瀵硅瘽妗� --> <div class="checkType"> <el-dialog title="鏂板妫�楠屽崟" :visible.sync="checkTypeVisible" width="50%" + top="10vh" > <div class="check-box"> - <el-radio-group v-model="type"> - <el-radio :label="0" border>鍘熸潗鏂欐楠�</el-radio> - <el-radio :label="1" border>鍗婃垚鍝佹楠�</el-radio> - <el-radio :label="2" border>鎴愬搧妫�楠�</el-radio> + <el-radio-group v-model="type" @click.native="handleRadioChange"> + <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="0" border>鍘熸潗鏂欐楠�</el-radio> + <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>濮旀墭妫�楠�</el-radio> + <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="2" border>鎴愬搧妫�楠�</el-radio> </el-radio-group> </div> - <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="top" label-width="200px" size="mini"> - <el-row :gutter="100"> - <el-col :span="10"> - <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細"> - <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="100"> - <el-col :span="10"> - <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> - <el-input style="width: 300px" type="text" :value="infoForm.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鍘熸潗鏂欏悕绉帮細"> - <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="100"> - <el-col :span="10"> - <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鍗曚綅锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="100"> - <el-col :span="10"> - <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="妫�楠屾椂闂达細"> + <div v-if="type === 0"> + <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="medium"> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏉ユ枡鏃ユ湡锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-input style="width: 300px" type="text" :value="infoForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> + <el-input style="width: 300px" type="text" :value="infoForm.mcode" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欏悕绉帮細"> + <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.specifications" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍗曚綅锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏁伴噺锛�"> + <el-input style="width: 300px" type="text" :value="infoForm.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾椂闂达細"> + <el-date-picker + v-model="infoForm.endTime" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <div v-if="type === 1"> + <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="濮旀墭缂栧彿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="濮旀墭鍗曚綅"> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏍峰搧缂栧彿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鏍峰搧鍚嶇О"> + <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="閫佽揪鏃堕棿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="瀹屾垚鏈熼檺"> + <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾棩鏈燂細"> <el-date-picker - v-model="infoForm.checkdate" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - style="width: 300px;"> + v-model="commisionSelection.checkdate" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + style="width: 300px;"> </el-date-picker> - </el-form-item> - </el-col> - </el-row> - </el-form> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <div v-if="type === 2"> + <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏉ユ枡鏃ユ湡锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> + <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍘熸潗鏂欏悕绉帮細"> + <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鍗曚綅锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="100"> + <el-col :span="10"> + <el-form-item label="鏁伴噺锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="妫�楠屾椂闂达細"> + <el-date-picker + v-model="finishedTable.checkdate" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + style="width: 300px;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> <span slot="footer" class="dialog-footer"> <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="goToForInspectionDetail">纭� 瀹�</el-button> + <!-- <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> --> + <el-button type="primary" @click="QUEding">纭� 瀹�</el-button> </span> </el-dialog> </div> </div> + + <!-- 纭畾璺宠浆鍩烘湰搴撳脊绐� --> + <el-dialog + title="鏍囧噯搴�" + :visible.sync="Standardframe" + width="49%" + > + <el-card> + <template slot-scope="scope" > + <span>鐗堟湰閫夋嫨锛�</span> + <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in BANben" :key="item" :label="item" + :value="item"></el-option> + + </el-select> + </template> + </el-card> + <el-table + :data="tableData" + style="width: 100%; margin-bottom: 20px" + row-key="id" + border + height="calc(80vh - 250px)" + default-expand-all + ref="multipleTable" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + > + <el-table-column type="selection" label="搴忓彿"> </el-table-column> + <el-table-column + type="index" + width="50px" + label="搴忓彿" + ></el-table-column> + <el-table-column label="椤圭洰鍚嶇О" sortable> + <template scope="scope"> + <el-tag + ><div + class="firstDiv" + :style="`color: ${ + scope.row.code == '[1]' ? '#16a7ff' : '#58c173' + }`" + > + {{ scope.row.code == "[1]" ? "01" : "02" }} + </div> + <span style="color: black">{{ scope.row.name }}</span></el-tag + > + </template> + </el-table-column> + <el-table-column + prop="unit" + label="鍗曚綅" + sortable + ></el-table-column> + <el-table-column label="鏍囧噯鍊�" sortable> + <template scope="scope"> + <el-input + v-if="scope.row.edit === true || scope.row.code === '[2]'" + @blur="requiredOnfocus(scope)" + v-model="scope.row.required" + placeholder="璇疯緭鍏ユ爣鍑嗗��" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" sortable> + <template scope="scope"> + <el-input + v-if="scope.row.edit === true || scope.row.code === '[2]'" + @blur="requiredOnfocus(scope)" + v-model="scope.row.internal" + placeholder="璇疯緭鍏ュ唴鎺у��" + ></el-input> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="Standardframe = false">鍙� 娑�</el-button> + <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button> + </span> + + </el-dialog> + + <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> + <el-dialog + title="鍘熸潗鏂欐楠�" + :visible.sync="rawmaterialVisible" + width="60%"> + <div class="table-box"> + <el-table + ref="multipleTable" + :max-height="800" + :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="rawMaterialTable" + style="width: 100%" + @selection-change="handleSelectionChange" + > + <el-table-column + type="selection" + min-width="10%" + /> + <el-table-column + type="index" + label="搴忓彿" + min-width="8%" + /> + <el-table-column + prop="startTime" + label="鏉ユ枡鏃ユ湡" + min-width="8%" + /> + <el-table-column + prop="supplierName" + label="渚涘簲鍟嗗悕绉�" + min-width="12%" + /> + <el-table-column + prop="mcode" + label="鏉愭枡缂栫爜" + min-width="8%" + /> + <el-table-column + prop="name" + label="鏉愭枡鍚嶇О" + min-width="8%" + /> + <el-table-column + prop="specifications" + label="瑙勬牸鍨嬪彿" + min-width="12%" + /> + <el-table-column + prop="unit" + label="鍗曚綅" + min-width="5%" + /> + <el-table-column + prop="num" + label="鏁伴噺" + min-width="5%" + /> + <el-table-column + prop="endTime" + label="鎶ユ鏃ユ湡" + min-width="8%" + /> + <el-table-column + prop="supplier" + label="妫�楠屼汉" + min-width="8%" + /> + <el-table-column + prop="startTime" + label="妫�楠屾棩鏈�" + min-width="8%" + /> + <el-table-column + prop="condition" + label="鐘舵��" + min-width="8%" + > + <template slot-scope="scope"> + <span :style="{ color: scope.row.state === 1 ? 'green' : 'red' }"> + {{ scope.row.state===1 ? '宸叉娴�':'寰呮娴�' }} + </span> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="rawmaterialVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="handleRawMaterialSelection">纭� 瀹�</el-button> + </span> + </div> + </el-dialog> + <!-- 濮旀墭妫�楠屾ā鎬佹 --> + <el-dialog + title="濮旀墭妫�楠�" + :visible.sync="commisionVisible" + width="60%"> + <div class="table-box"> + <el-table + ref="multipleTable" + :max-height="800" + :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="commisionTable" + @selection-change="handleSelectionChange" + style="width: 100%" + > + <el-table-column type="selection" min-width="10%" /> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> + <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> + <el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" /> + <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" /> + <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> + <el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.inspection_status === 1"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">寰呮娴�</span> + </div> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" min-width="8%"> + <template slot-scope="scope"> + <el-button type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="commisionVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="handleCommisionSelection">纭� 瀹�</el-button> + </span> + </div> + </el-dialog> </template> <template v-else> <router-view /> </template> </div> </template> - + <script> - import { getInspectionList } from '@/api/rawMaterials/reportForInspection' + import { selectInspectsList, selectAll, addInspect,chooseVer,lookProByVer} from '@/api/experiment/planAssignments' export default { data() { + return { showDetail: false, searchData: { applicationnumber: '', type: '', - state: '' + state: '', }, - inspectionTable: [{ - applicationnum: 'QC22-09155', - checktype: '鍘熸潗鏂欐楠�', - checkstate: '1', - deliverydate: '2023-07-31', - provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - rawcode: '1010010090124', - rawname: '閾濆寘閽㈢粸绾�', - modelandspecification: 'JLHA1/G1A-185/30-27/7', - unit: 'ml/kg', - amount: '1999', - registrationdate: '2022-09-23', - registrator: '鏉庡皬榫�', - qualified: '0', - applier: '鏉庡皬榫�', - checker: '鏉庡皬榫�', - checktime: '2023-12-09' - },{ - applicationnum: 'QC22-09155', - checktype: '鍘熸潗鏂欐楠�', - checkstate: '1', - deliverydate: '2023-07-31', - provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - rawcode: '1010010090124', - rawname: '閾濆寘閽㈢粸绾�', - modelandspecification: 'JLHA1/G1A-185/30-27/7', - unit: 'ml/kg', - amount: '1999', - registrationdate: '2022-09-23', - registrator: '鏉庡皬榫�', - qualified: '0', - applier: '鏉庡皬榫�', - checker: '鏉庡皬榫�', - checktime: '2023-12-09' - },{ - applicationnum: 'QC22-09155', - checktype: '鍘熸潗鏂欐楠�', - checkstate: '0', - deliverydate: '2023-07-31', - provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - rawcode: '1010010090124', - rawname: '閾濆寘閽㈢粸绾�', - modelandspecification: 'JLHA1/G1A-185/30-27/7', - unit: 'ml/kg', - amount: '1999', - registrationdate: '2022-09-23', - registrator: '鏉庡皬榫�', - qualified: null, - applier: '鏉庡皬榫�', - checker: '鏉庡皬榫�', - checktime: '2023-12-09' - },{ - applicationnum: 'QC22-09155', - checktype: '鍘熸潗鏂欐楠�', - checkstate: '1', - deliverydate: '2023-07-31', - provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - rawcode: '1010010090124', - rawname: '閾濆寘閽㈢粸绾�', - modelandspecification: 'JLHA1/G1A-185/30-27/7', - unit: 'ml/kg', - amount: '1999', - registrationdate: '2022-09-23', - registrator: '鏉庡皬榫�', - qualified: '1', - applier: '鏉庡皬榫�', - checker: '鏉庡皬榫�', - checktime: '2023-12-09' - }], - infoForm:{ + valu:{}, + inputValue: '', + icode:'', + inspectionTable: [], + rawMaterialTable: [], + commisionTable: [], + finishedTable: { deliverydate: '', - provider: '', + supplier: '', code: '', name: '', modelandspecification: '', unit: '', amount: '', - checkdate: '' + checkdate: [] }, + selectedValue:1, + infoForm:{}, + commisionSelection:{ + entrust_coding: '', + entrusted: '', + samples_number: '', + sample_name: '', + specifications_models: '', + dateSurvey: '', + completionDeadline: '', + contacts: '', + inspectionTime: '' + }, + typeoptions:[{ + value: 0, + label:'鍘熸潗鏂欐楠�' + },{ + value: 1, + label: '濮旀墭妫�楠�' + },{ + value: 2, + label: '鎴愬搧妫�楠�' + }], + stateoptions:[{ + value: 0, + label:'涓嶅悎鏍�' + },{ + value: 1, + label:'鍚堟牸' + }], options:[{ value: '0', label: '閫夐」1' @@ -381,10 +669,19 @@ }], currentPage: 1, total: 20, // 鎬绘潯鏁� - pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁� + pageSize: 8, // 姣忛〉鐨勬暟鎹潯鏁� radioValue: '鍏ㄩ儴', checkTypeVisible: false, - type: 0 + type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬� + rawmaterialVisible: false, + commisionVisible: false, + tmp: '', + Standardframe: false, + tableData: [], + tableRow:{}, + BANben:[], + select_1: [], + aa:{} } }, watch: { @@ -397,59 +694,264 @@ deep: true } }, - // beforeRouteEnter(to, from, next) { - // console.log(to, from) - // next() - // // 鍦ㄦ覆鏌撹缁勪欢鐨勫搴旇矾鐢辫 confirm 鍓嶈皟鐢� - // // 涓嶏紒鑳斤紒鑾峰彇缁勪欢瀹炰緥 `this` - // // 鍥犱负褰撻挬瀛愭墽琛屽墠锛岀粍浠跺疄渚嬭繕娌¤鍒涘缓 - // }, - // beforeRouteUpdate(to, from, next) { - // console.log(to, from) - // if (to.name === 'ForInspectionDetail') this.showDetail = true - // this.$nextTick(() => { - // console.log(1) - // this.showDetail = true - // }) - // next() - // // 鍦ㄥ綋鍓嶈矾鐢辨敼鍙橈紝浣嗘槸璇ョ粍浠惰澶嶇敤鏃惰皟鐢� - // // 涓句緥鏉ヨ锛屽浜庝竴涓甫鏈夊姩鎬佸弬鏁扮殑璺緞 /foo/:id锛屽湪 /foo/1 鍜� /foo/2 涔嬮棿璺宠浆鐨勬椂鍊欙紝 - // // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤銆� - // // 鍙互璁块棶缁勪欢瀹炰緥 `this` - // }, created() { - this.getInspectionTableData() + this.selectInspectsList() }, updated() { if (this.$route.name === 'ForInspectionDetail') this.showDetail = true }, methods: { - async getInspectionTableData() { - const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize }) + async selectAll(){ + const res = selectAll({type:0}) + // console.log(res); + this.rawMaterialTable = res.data + }, + async selectAll(){ + const res = selectAll({type:2}) + // console.log(res); + this.commisionTable = res.data + }, + async handleClick(row){ + this.inspectionTable = row; + this.id = row.id + this.$router.push({name:'Viewdetails',query: {id:row.id}}); + this.selectInspectsList() + }, + // validateInput() { + // if (this.inputValue.trim() === '') { + // } + // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞� + // alert('杈撳叆鍊间笉鑳戒负绌�'); + // return; + + //鐗堟湰搴� + async chooseVer() { + console.log(this.tmp.materialCoding); + console.log(this.tmp.materialName); + console.log(this.tmp.specificationsModels); + const res = await chooseVer ({ + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications + }) + this.BANben = res.data + console.log(res.data); + this.aa = this.BANben[0] + this.lookProByVer() + }, + //鏍囧噯搴� + async lookProByVer() { + const res = await lookProByVer({ + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications, + version:this.aa + }) + console.log(res); + this.tableData = res.data + }, + ccc(val){ + // console.log(val); + this.aa = val + this.lookProByVer() + }, + async selectInspectsList() { + // 鑾峰彇鍒嗛〉鍒楄〃 + const res = await selectInspectsList({ countSize: this.pageSize, pageSize: this.currentPage,message:this.id}) // this.inspectionTable = data - console.log(res) + // console.log(res.data.row) + const data = res.data.row + data.forEach((item) => { + var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] + var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] + var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] + var checkdate = startTime + '~' + endTime + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"] + item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 + item['checkdate'] = checkdate // 妫�楠屾棩鏈� + item['createTime'] = createTime // 鐧昏鏃ユ湡 + }) + this.inspectionTable = data + this.total = res.data.total }, - goToForInspectionDetail() { - this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail') - }, - handleClick(row) { - console.log(row) - }, + async searchInspections(){ + const res = await selectInspectsList({countSize:this.pageSize,pageSize:this.currentPage,message:this.searchData.applicationnumber}) + var data = res.data.row + data.forEach((item) => { + var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] + var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] + var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] + var checkdate = startTime + '~' + endTime + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] + item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 + item['checkdate'] = checkdate // 妫�楠屾棩鏈� + item['createTime'] = createTime // 鐧昏鏃ユ湡 + }) + this.inspectionTable = data + if(this.searchData.type !== ''){ + if(this.searchData.state !== ''){ + this.inspectionTable = data.filter((item)=>{ + return item.type===this.searchData.type && item.inspection_status === this.searchData.state + }) + }else{ + this.inspectionTable = data.filter((item)=>{ + return item.type===this.searchData.type + }) + } + }else{ + if(this.searchData.state !== ''){ + this.inspectionTable = data.filter((item)=>{ + return item.inspection_status===this.searchData.state + }) + } + } + this.total = this.inspectionTable.length + }, + reset(){ + this.countSize = 1; + this.pageSize = 8; + this.searchData = { }; + this.selectInspectsList(); + }, + //琚�変腑鐨勪俊鎭� 鍗曢�� + handleSelectionChange(val) { + if (val.length > 1) { + this.$refs.multipleTable.clearSelection(); + this.$refs.multipleTable.toggleRowSelection(val.pop()) + } + this.tmp = val[0] + // console.log(this.tmp); + }, + handleCommisionSelection(){ + this.commisionSelection = this.tmp + this.commisionVisible = false + }, + handleRawMaterialSelection(){ + this.infoForm = this.tmp + // console.log(this.infoForm); + + this.rawmaterialVisible = false + }, + handleRadioChange(){ + setTimeout(()=>{ + if(this.type === 0){ + // 鍘熸潗鏂欐姤妫� + this.rawmaterialVisible = true + selectAll({type:0}).then(res=>{ + // console.log(res); + // var data = res.data + // data.forEach((item)=>{ + // var checkdate = [] + // checkdate.push(item['createTime']) + // checkdate.push(item['updateTime']) + // item['checkdate'] = checkdate // 妫�楠屾棩鏈� + // }) + console.log(res); + this.rawMaterialTable = res.data + }) + + // this.infoForm = res.data + // this.$router.push({ name: 'ReportForInspection' }); + }else if(this.type === 1){ + this.commisionVisible = true + selectAll({type:2}).then(res=>{ + + this.commisionTable = res.data + }) + } + },100) + }, + // 鏂板妫�楠� + async addInspection(){ + if(this.type === 0){ + await addInspect({endTime: this.infoForm.checkdate[1], + formTime: this.infoForm.dateSurvey, + mcode: this.infoForm.materialCoding, + name: this.infoForm.materialName, + num: this.infoForm.quantity, + specifications: this.infoForm.specificationsModels, + startTime: this.infoForm.checkdate[0] , + supplier: this.infoForm.supplierName, + type: this.type, + unit: this.infoForm.unit}) + } + if(this.type === 1){ + console.log(this.commisionSelection) + const res = await addInspect({endTime: this.commisionSelection.checkdate[1], + formTime: this.commisionSelection.formTime, + mcode: this.commisionSelection.mcode, + name: this.commisionSelection.name, + num: this.commisionSelection.num, + specifications: this.commisionSelection.specifications, + startTime: this.commisionSelection.checkdate[0] , + supplier: this.commisionSelection.supplier, + type: this.type, + unit: this.commisionSelection.unit}) + console.log('res',res) + } + if(this.type === 2){ + console.log(this.finishedTable) + const res = await addInspect({ endTime: '2023-08-15', + formTime: this.finishedTable.deliverydate, + mcode: this.finishedTable.code, + name: this.finishedTable.name, + num: parseInt(this.finishedTable.amount), + specifications: this.finishedTable.modelandspecification, + startTime: '2023-08-14', + supplier: this.finishedTable.supplier, + type: this.type, + unit: this.finishedTable.unit }) + } + this.type = 0 + this.checkTypeVisible = false + this.$message({ + message: '娣诲姞鎴愬姛锛�', + type: 'success' + }); + }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { console.log(`姣忛〉 ${val} 鏉) - this.currentPage = 1 + // this.currentPage = 1 this.pageSize = val + this.selectInspectsList() }, // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� handleCurrentChange(val) { console.log(`褰撳墠椤�: ${val}`) this.currentPage = val - } + this.selectInspectsList() + }, + //纭畾璺宠浆 + QUEding(){ + // this.tableRow = a + + this.Standardframe = true + + this.chooseVer() + + }, + //纰哄畾瑭虫儏闋� + GOfrom( ){ + this.Standardframe = false + // console.log(this.tmp.materialCoding); + // console.log(this.tmp.materialName); + // console.log(this.tmp.specificationsModels); + // console.log(this.aa) + // const data = { + // // mcode : this.tmp.mcode, + // // name:this.tmp.name, + // // specifications:this.tmp.specifications, + // version:this.tmp.id + // } + + this.$router.push({name:'Viewdetails',query:{id:this.tmp.id}}) + + }, } } </script> - + <style lang="scss" scoped> .checkType{ .check-box{ @@ -464,12 +966,12 @@ border-color: #b3d8ff; ::v-deep .el-radio__label{ color: #333 !important; - + } } height: auto; font-size: 22px !important; - padding: 20px 40px !important; + padding: 40px 50px !important; ::v-deep .el-radio__label{ font-size: 22px !important; padding-left: 0px !important; @@ -507,14 +1009,13 @@ display: flex; justify-content: flex-end; } - + .getDataBtn, .createBtn { margin-left: 10px; /* Optional: Add some space between the buttons */ } .library-table{ background-color: #fff; flex: 1; - max-width: 100%; margin-left: -15px; margin-right: -15px; margin-top: 50px; @@ -538,6 +1039,9 @@ flex-direction: column; .el-table { flex: 1; + .tag{ + width: 80px; + } } >div:nth-child(2){ display: flex; @@ -547,12 +1051,21 @@ } } } -.infoForm{ +.checkTypeForm{ margin-top: 30px; margin-left: 50px; .el-row{ margin-bottom: 10px; } } +.pagination{ + display: flex; + margin-top: 20px; + justify-content: end; +} +.dialog-footer{ + display: flex; + margin-top: 20px; + justify-content: end; +} </style> - \ No newline at end of file -- Gitblit v1.9.3