From b500cdcc0e39d392c67d0273800da4c4fffb7b3e Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 08 九月 2023 10:20:44 +0800 Subject: [PATCH] Crunchy-09/08 --- src/components/view/raw-ins.vue | 379 ++++--- src/main.js | 4 src/components/view/rawUnqualifiedBox.vue | 13 src/components/view/Processingproducts.vue | 564 ++++++++---- src/components/view/rawInsDetail.vue | 838 +++++++++--------- src/components/view/rawUnqualified/raw.vue | 490 +++++----- src/components/view/unqualifiedManagement.vue | 245 +++++ src/assets/api/controller.js | 28 8 files changed, 1,515 insertions(+), 1,046 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index e00f9ee..6996f3a 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -10,19 +10,30 @@ } // 鍘熸潗鏂欐楠� const raw = { - selectRawInspectsList: "rawInspect/selectRawInspectsList", //鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃 - selectRawInspectsListById: "rawInspect/selectRawInspectsListById/", //鏍规嵁妫�楠屽崟id鑾峰彇妫�楠屽崟璇︽儏 - updaterawInsProduct: 'rawInsProduct/updaterawInsProduct', //淇敼椤圭洰鐨勬楠屽�� + selectRawInspectsList: "/rawInspect/selectRawInspectsList", //鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃 + selectRawInspectsListById: "/rawInspect/selectRawInspectsListById/", //鏍规嵁妫�楠屽崟id鑾峰彇妫�楠屽崟璇︽儏 + updaterawInsProduct: '/rawInsProduct/updaterawInsProduct', //淇敼椤圭洰鐨勬楠屽�� updateRawInspectsById: "/rawInspect/updateRawInspectsById/", //涓婃姤, - selectRawMaterial: "/rawInspect/selectMaterial", //鏌ヨ鍘熸潗鏂欎俊鎭� + selectDevice: "/rawInsProduct/selectDevice", //鏌ヨ璁惧淇℃伅 selectSpBySt: "/rawInspect/selectSpBySt", //鏍规嵁鏉愭枡id鏌ヨ鎵�鏈夊瀷鍙�, addRawInspects: "/rawInspect/addRawInspects" } //涓嶅悎鏍煎師鏉愭枡 const unqualifiedaa ={ - selectUnRawInspectsList: "/inspectUnaccepted/selectUnRawInspectsList" + selectUnRawInspectsList: "/inspectUnaccepted/selectURawMaterials" } - +// 鏌ヨ鎴愬搧涓嶅悎鏍煎搧绠$悊 +const unRawInspects ={ + inspectUnaccepted: "/inspectUnaccepted/selectUnRawInspectsList" +} +//涓嶅悎鏍煎搧澶勭疆 +const dispose = { + getTable: "/inspectUnaccepted/selectDisposal", // 涓嶅悎鏍煎搧鍒嗛〉鍒楄〃 + descriptionUpdate: "/inspectUnaccepted/descriptionUpdate", // 澶辩劍鏇存柊鐜板儚鎻忚堪 + viewEditorial: "/inspectUnaccepted/viewEditorial", // 鏌ョ湅缂栬緫鎰忚 + clickEditing: "/inspectUnaccepted/clickEditing", // 鐐瑰嚮缂栬緫鎰忚瑙﹀彂鏌ヨ + addOpinion: "/inspectUnaccepted/addOpinion" // 缂栬緫鎰忚-->纭畾鎸夐挳 +} // 鎴愬搧妫�楠� const finishedIns = { finishedInsListPage: "/finished-inspect/list_page", //鑾峰彇鎴愬搧妫�楠屽垪琛� @@ -43,10 +54,6 @@ tableDeviceList: "/device/table_list", // 瀹為獙瀹ゆā鍧楄〃鏍兼暟鎹� deleteDevice: "/device/delete", // 鍒犻櫎瀹為獙瀹よ澶� deleteIdorFather: "/device/deleteIdorFather" // 鍒犻櫎鏍戞ā鍧楁暟鎹� -} -//涓嶅悎鏍煎搧澶勭疆 -const dispose = { - gettable:"/opinion/list_page" } // QMS璁¢噺绠$悊 @@ -89,6 +96,7 @@ ...unqualifiedaa, ...dispose, ...Basicdata, + ...unRawInspects, // ...gettable, selectSaleList: "sale/selectSaleList", //鏌ヨ閿�鍞崟鍒楄〃 selectSaleDatilById: "sale/selectSaleDatilById", //鏍规嵁閿�鍞崟id鏌ョ湅璇︽儏, diff --git a/src/components/view/Processingproducts.vue b/src/components/view/Processingproducts.vue index 19630f9..df007fc 100644 --- a/src/components/view/Processingproducts.vue +++ b/src/components/view/Processingproducts.vue @@ -1,192 +1,400 @@ <template> - <div> - <div class="article-main" style="overflow: hidden;"> - <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-download" size="mini" @click="()=>{}">瀵煎嚭</el-button> - </el-col> - </el-row> - <div> - - <div style="margin-top: 10px;"> - <el-card shadow="hover" class="margin-30"> - <el-form ref="form" :model="searchform" label-width="80px"> - <el-row :gutter="25"> - <el-col :span="7" > - <el-form-item label="浜у搧鍚嶇О:"> - <el-input v-model="searchform.name" placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - </el-col> - <el-col :span="7" > - <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input v-model="searchform.stude" placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-button size="default" @click="">閲嶇疆</el-button> - <el-button type="primary" size="default" style="background:0, 78, 162 ;" @click="getDetailInfo">鏌ヨ</el-button> - - </el-col> - </el-row> - </el-form> - </el-card> - </div> - - <div style="margin-top: 30px;"> - <el-card shadow="hover" class="margin-30"> - <el-table - ref="multipleTable" - :data="tableData" - tooltip-effect="dark" - style="width: 100%" - @selection-change="handleSelectionChange"> - <el-table-column - type="selection" - width="55"> - </el-table-column> - <el-table-column - label="鏃ユ湡" - width="120"> - <template slot-scope="scope">{{ scope.row.date }}</template> - </el-table-column> - <el-table-column - prop="name" - label="濮撳悕" - width="120"> - </el-table-column> - <el-table-column - prop="address" - label="鍦板潃" - show-overflow-tooltip> - </el-table-column> - </el-table> - </el-card> - <el-col style="height: 50px;display: flex;align-items: center;justify-content: right;"> - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="4" - :page-sizes="[1,10, 20, 30, 50]" - :page-size="4" - layout="total, sizes, prev, pager, next, jumper" - :total="countSize"> - </el-pagination> - </el-col> - </div> - </div> + <div class="unqualifiedBox"> + <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-download" size="mini" @click="() => {}" + >瀵煎嚭</el-button + > + </el-col> + </el-row> + <div style="margin-top: 10px;"> + <el-card shadow="hover" class="margin-30" style="height: 80px;"> + <div class="choose"> + <span>浜у搧鍚嶇О锛�</span> + <el-input + size="small" + v-model="search.productName" + style="width: 224px;margin-right: 30px;" + placeholder="璇疯緭鍏�" + clearable + ></el-input> + <span>瑙勬牸鍨嬪彿锛�</span> + <el-input + size="small" + v-model="search.specificationModel" + style="width: 224px;margin-right: 30px;" + placeholder="璇疯緭鍏�" + clearable + ></el-input> + <span>浜у搧澶х被锛�</span> + <el-select + v-model="search.productCategories" + size="small" + placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;" + > + <el-option label="鍘熸潗鏂�" :value="0"></el-option> + <el-option label="鎴愬搧" :value="1"></el-option> + <el-option label="鍗婃垚鍝�" :value="2"></el-option> + </el-select> + <span>鐘舵�侊細</span> + <el-select + v-model="search.state" + size="small" + placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;" + > + <el-option label="杩斾慨涓�" :value="1"></el-option> + <el-option label="寰呭鐞�" :value="0"></el-option> + </el-select> + <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> + <el-button + size="mini" + type="primary" + style="background: #004EA2;" + @click=" + unqualifiedTable = []; + getDetailInfo(); + " + ><span>鏌� 璇�</span></el-button + > </div> - </div> + </el-card> + </div> + <div class="tableno" style="height:300px"> + <el-card shadow="hover" class="margin-30"> + <el-table + :data="unqualifiedTable" + border + ref="multipleTable" + tooltip-effect="dark" + height="calc(100vh - 340px)" + style="width: 100%" + > + <el-table-column type="selection" min-width="50"> </el-table-column> + <el-table-column type="index" label="搴忓彿" width="60"> + <template scope="scope"> + {{ (search.pageSize - 1) * search.countSize + scope.$index + 1 }} + </template> + </el-table-column> + <el-table-column prop="dateArrival" label="浜у搧澶х被"> + <template scope="scope"> + <span v-if="scope.row.type == 0">鍘熸潗鏂�</span> + <span v-if="scope.row.type == 1">鎴愬搧</span> + <span v-if="scope.row.type == 2">鍗婃垚鍝�</span> + </template> + </el-table-column> + <el-table-column + prop="productName" + label="浜у搧鍚嶇О" + min-width="90" + show-overflow-tooltip + > + </el-table-column> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿"> + </el-table-column> + <el-table-column prop="number" label="涓嶅悎鏍煎搧鏁伴噺"> + </el-table-column> + <el-table-column label="鐜板儚鎻忚堪" min-width="150"> + <template scope="scope"> + <el-input + size="small" + v-model="scope.row.description" + @blur="outOfFocusDescription(scope)" + ></el-input> + </template> + </el-table-column> + <el-table-column label="澶勭疆鎰忚"> + <template scope="scope"> + <el-button type="text" @click="showDisposalOpinions(scope)" + >鏌ョ湅澶勭疆鎰忚</el-button + > + </template> + </el-table-column> + <el-table-column prop="user_name" label="鐢宠浜�"> </el-table-column> + <el-table-column prop="date" label="鏃ユ湡"> </el-table-column> + <el-table-column prop="deal_state" label="鐘舵��"> + <template slot-scope="scope"> + <span style="color:#34BD66;" v-if="scope.row.deal_state == 1" + >宸插鐞�</span + > + <span style="color:#E84738;" v-else-if="scope.row.deal_state == 0" + >寰呭鐞�</span + > + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="130"> + <template scope="scope"> + <div style="display: flex;"> + <el-button type="text" siae="small" size="mini">闄勪欢</el-button> + <el-button + type="text" + siae="small" + size="mini" + style=" color:87, 138, 193 ;" + @click="clickEditorialOpinion(scope)" + >缂栬緫鎰忚</el-button + > + </div> + </template> + </el-table-column> + </el-table> + <el-col + style="height: 50px;display: flex;align-items: center;justify-content: right;" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="search.pageSize" + :page-sizes="[10, 15, 20, 30, 50]" + :page-size="search.countSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > + </el-pagination> + </el-col> + </el-card> + </div> + <el-dialog title="鎻愮ず" :visible.sync="dialogVisible" width="30%"> + <el-form label-width="130px"> + <div v-for="item in updateEditList" :key="item.$index"> + <el-form-item + :label=" + item.type == 0 + ? '鎶�鏈儴澶勭疆鎰忚锛�' + : item.type == 1 + ? '鐢熶骇閮ㄥ缃剰瑙侊細' + : item.type == 2 + ? '璐ㄩ噺閮ㄥ缃剰瑙侊細' + : '鎬荤粡鍔炲缃剰瑙侊細' + " + > + <el-input + type="textarea" + :rows="2" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="item.tell" + > + </el-input> + </el-form-item> + <el-row v-if="isShow == true"> + <el-col :span="12"> + <el-form-item label="濉啓浜猴細" v-if="isShow == true"> + {{ item.name }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="濉啓鏃ユ湡锛�" v-if="isShow == true"> + {{ item.fillDate }} + </el-form-item> + </el-col> + </el-row> + <el-form-item label="澶勭疆鏂瑰紡锛�"> + <el-radio-group v-model="item.way"> + <el-radio :label="0">杩斿伐</el-radio> + <el-radio :label="1">杩斾慨</el-radio> + <el-radio :label="2">璁╂鎺ユ敹</el-radio> + <el-radio :label="3">鎷掓敹</el-radio> + <el-radio :label="4">闄嶇骇浣跨敤</el-radio> + <el-radio :label="5">鎶ュ簾</el-radio> + </el-radio-group> + </el-form-item> + <el-divider v-if="item.type != 3"></el-divider> + </div> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateEditDevided()">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> </template> - - <script> +import { watch } from "vue"; export default { - data() { - return { - searchform:{ - name:'', - stude:'' - }, - tableData: [ - { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-08', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-06', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-07', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - } - ], - pageSize:3, - countSize:1, - currentPage:2, - multipleSelection:'' - } - }, - created(){ - // this.getDetailInfo() - }, - methods:{ - handleSelectionChange(val) { - // console.log(val); - // this.multipleSelection = val; + data() { + return { + isShow: false, + search: { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + productCategories: "", // 浜у搧澶х被 + productName: "", // 浜у搧鍚嶇О + specificationModel: "", // 瑙勬牸鍨嬪彿 + state: "" // 鐘舵�� }, - handleSizeChange(val) { - console.log(val); - // this.pageSize = 1 - // this.countSize= val - // this.getDetailInfo() - }, - handleCurrentChange(val) { - // this.pageSize = val - // this.getDetailInfo() - }, - getDetailInfo() { - let aa = [0,5] - aa.map(el =>{ - console.log(el); - }) - console.log(this.searchform.name); - console.log(this.searchform.stude); - // this.tableData - // this.axios.get(this.$api.url.gettable,{ - // params:{pageNo:10, - // pageSize:1, - // productName:this.searchform.name, - // specificationsModels:this.searchform.stude - // }, - // }).then(res=>{ - // console.log(res); - // this.tableData = res.data.row - // }) + unqualifiedTable: [], // 椤甸潰琛ㄦ牸鏁版嵁 + total: 0, // 鎬绘潯鏁� + dialogVisible: false, // 鏄剧ず寮瑰嚭妗� + updateEditList: [] + }; + }, + mounted() { + this.getDetailInfo(); + }, + methods: { + // 鍒嗛〉 + handleSizeChange(val) { + this.search.countSize = val; + this.getDetailInfo(); + }, + // 鍒嗛〉 + handleCurrentChange(val) { + this.search.pageSize = val; + this.getDetailInfo(); + }, + // 鍒嗛〉琛ㄦ牸鏁版嵁 + getDetailInfo() { + this.axios + .get(this.$api.url.getTable, { + params: this.search + }) + .then(res => { + this.unqualifiedTable = res.data.row; + this.total = res.data.total; + }); + }, + // 閲嶇疆鎸夐挳 + clean() { + this.search = { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + productCategories: "", // 浜у搧澶х被 + productName: "", // 浜у搧鍚嶇О + specificationModel: "", // 瑙勬牸鍨嬪彿 + state: "" // 鐘舵�� + }; + this.getDetailInfo(); + }, + // 鐐瑰嚮鏌ョ湅澶勭疆鎰忚 + showDisposalOpinions(scope) { + this.isShow = true; + this.dialogVisible = true; + this.$axios + .get(this.$api.url.viewEditorial, { + params: { + rawUnacceptedId: scope.row.id + } + }) + .then(res => { + this.updateEditList = res.data; + }); + }, + // 鐐瑰嚮缂栬緫鎰忚 + clickEditorialOpinion(scope) { + this.dialogVisible = true; + this.axios + .get(this.$api.url.clickEditing, { + params: { rawUnacceptedId: scope.row.id } + }) + .then(res => { + this.updateEditList = res.data; + }); + }, + // 澶卞幓鐜板儚鎻忚堪鐒︾偣瑙﹀彂 + outOfFocusDescription(scope) { + this.axios + .get(this.$api.url.descriptionUpdate, { + params: { + rawUnacceptedId: scope.row.id, + tell: scope.row.description + } + }) + .then(res => { + this.$message({ + message: res.message, + type: "success" + }); + }); + }, + // 鐐瑰嚮纭畾鎸夐挳 + updateEditDevided() { + this.$axios + .post(this.$api.url.addOpinion, this.updateEditList, { + headers: { "Content-Type": "application/json" } + }) + .then(res => { + console.log(`output->res`, res); + this.dialogVisible = false; + }); + } + }, + watch: { + dialogVisible: { + handler(newVal, oldVal) { + if (newVal == false) { + this.isShow = false; } -}} - // methods:{ - // toggleSelection(rows) { - // if (rows) { - // rows.forEach(row => { - // this.$refs.multipleTable.toggleRowSelection(row); - // }); - // } else { - // this.$refs.multipleTable.clearSelection(); - // } - // }, - - // } - // } - - + } + } + } +}; </script> + <style scoped> -.card-2{ - display: flex; - margin-top: 30px; +.main_div { + padding-top: 15px; +} +.el-radio__label { + font-size: 16px; +} +.el-radio { + margin-right: 60px; + margin-top: 10px; +} +.el-form-item { + margin-bottom: 6px; + font-size: 16px; +} +.unqualifiedBox { + width: 100%; + max-height: 100%; + display: flex; + flex-direction: column; + /* overflow-y: scroll; */ +} +.unqualifiedBox .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; +} +/deep/ .el-table__cell { + padding: 5px 0; +} +.unqualifiedBox .title { + margin-bottom: 10px; + padding: 0 20px; +} +<!-- /* 鏉′欢鏌ヨ澶撮儴鏍峰紡 */ --> + .choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); } -.ssss{ - background-color: #fff; +.choose { + font-size: 14px; +} + +.choose .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; +} +<!-- /* 涓嶅悎鏍艰〃鏍兼牱寮� */ + .unqualifiedTable { + flex: 1; + background: #fff; + margin-top: 11px; + padding: 23px 21px; +} +.tableno { + margin-top: 10px; } </style> diff --git a/src/components/view/raw-ins.vue b/src/components/view/raw-ins.vue index b2dfefe..e2229b3 100644 --- a/src/components/view/raw-ins.vue +++ b/src/components/view/raw-ins.vue @@ -1,79 +1,79 @@ <style scoped> - .raw_ins { - height: 100%; - } +.raw_ins { + height: 100%; +} - .raw_ins .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; - } +.raw_ins .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; +} - .raw_ins .title { - margin-bottom: 10px; - padding: 0 20px; - } +.raw_ins .title { + margin-bottom: 10px; + padding: 0 20px; +} - .choose { - padding: 21px 24px; - display: flex; - align-items: center; - background-color: #fff; - border-bottom: 3px solid rgb(245, 247, 251); - } +.choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); +} - .choose * { - font-size: 14px; - } +.choose * { + font-size: 14px; +} - .choose .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; - } +.choose .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; +} - .thing { - width: calc(100% - 44px); - height: calc(100% - 42px - 82px - 66px); - background-color: #fff; - overflow: auto; - padding: 33px 22px; - } +.thing { + width: calc(100% - 44px); + height: calc(100% - 42px - 82px - 66px); + background-color: #fff; + overflow: auto; + padding: 33px 22px; +} - .table_do { - color: #004ea0; - cursor: pointer; - } +.table_do { + color: #004ea0; + cursor: pointer; +} </style> <style> - .raw_ins .thing * { - font-size: 14px; - } +.raw_ins .thing * { + font-size: 14px; +} - .raw_ins .has-gutter .el-table__cell { - background-color: #F0F1F5 !important; - color: #333; - } +.raw_ins .has-gutter .el-table__cell { + background-color: #f0f1f5 !important; + color: #333; +} - .raw_ins .has-gutter .el-table__cell .cell { - font-size: 16px; - font-weight: 500; - } +.raw_ins .has-gutter .el-table__cell .cell { + font-size: 16px; + font-weight: 500; +} - .raw_ins .cell { - color: #333; - padding-left: 17px !important; - } +.raw_ins .cell { + color: #333; + padding-left: 17px !important; +} - .raw_ins .el-table__body-wrapper { - height: 100%; - } +.raw_ins .el-table__body-wrapper { + height: 100%; +} - .raw_ins .el-table__body { - height: 100%; - } +.raw_ins .el-table__body { + height: 100%; +} </style> <template> @@ -82,81 +82,128 @@ <el-row> <el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col> <el-col :span="12" style="text-align: right;"> - <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="goDetail(null)">鏂板</el-button> - <el-button icon="el-icon-download">鍒犻櫎</el-button> + <el-button + type="primary" + icon="el-icon-plus" + style="background: #004EA2;" + @click="goDetail(null)" + >鏂板</el-button + > + <el-button icon="el-icon-download">瀵煎嚭</el-button> </el-col> </el-row> </div> <div class="choose"> <span>鏉ユ枡鏃ユ湡锛�</span> - <el-date-picker v-model="search.formTime" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 30px;" - clearable value-format="yyyy-MM-dd"></el-date-picker> - <span>鎶ユ鏃ユ湡锛�</span> - <el-date-picker v-model="search.createTime" size="small" placeholder="璇疯緭鍏�" - style="width: 224px;margin-right: 30px;" clearable value-format="yyyy-MM-dd"></el-date-picker> + <el-date-picker + v-model="search.formTime" + size="small" + placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" + clearable + value-format="yyyy-MM-dd" + ></el-date-picker> + <span>鍘熸潗鏂欑紪鐮侊細</span> + <el-input + v-model="search.code" + size="small" + placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" + clearable + ></el-input> <span>妫�娴嬬姸鎬侊細</span> - <el-select v-model="search.insState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> + <el-select + v-model="search.insState" + size="small" + placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;" + > <el-option label="鍏ㄩ儴" :value="2"></el-option> <el-option label="鏈娴�" :value="0"></el-option> <el-option label="宸叉娴�" :value="1"></el-option> </el-select> - <span>鍚堟牸鐘舵�侊細</span> - <el-select v-model="search.judgeState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> - <el-option label="鍏ㄩ儴" :value="2"></el-option> - <el-option label="涓嶅悎鏍�" :value="0"></el-option> - <el-option label="鍚堟牸" :value="1"></el-option> - </el-select> + <span>鍘熸潗鏂欏悕绉帮細</span> + <el-input + v-model="search.name" + size="small" + placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" + clearable + ></el-input> <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectRawInspectsList()"><span>鏌� - 璇�</span></el-button> + <el-button + size="mini" + type="primary" + style="background: #004EA2;" + @click="selectRawInspectsList()" + ><span>鏌� 璇�</span></el-button + > </div> <div class="thing"> - <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: calc(100% - 50px)" - max-height="calc(100% - 50px)" @selection-change="handleSelectionChange" default-expand-all - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" row-key="id"> - <el-table-column type="selection" width="50"> - </el-table-column> + <el-table + :data="tableData" + border + style="width: 100%;overflow-y: auto;min-height: calc(100% - 50px)" + max-height="calc(100% - 50px)" + @selection-change="handleSelectionChange" + default-expand-all + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + row-key="id" + > + <el-table-column type="selection" width="50"> </el-table-column> <el-table-column type="index" label="搴忓彿" width="70"> </el-table-column> - <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡"> - </el-table-column> - <el-table-column prop="code" label="鍘熸潗鏂欑紪鐮�"> - </el-table-column> - <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�"> - </el-table-column> + <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡"> </el-table-column> + <el-table-column prop="code" label="鍘熸潗鏂欑紪鐮�"> </el-table-column> + <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�"> </el-table-column> <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿"> </el-table-column> - <el-table-column prop="unit" label="鍗曚綅"> - </el-table-column> - <el-table-column prop="number" label="鏁伴噺"> - </el-table-column> - <el-table-column prop="createTime" label="鎶ユ鏃ユ湡"> - </el-table-column> - <el-table-column prop="userName" label="鎶ユ浜�"> - </el-table-column> - <el-table-column prop="judgeState" label="鍚堟牸鐘舵��" width="100"> + <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> + <el-table-column prop="number" label="鏁伴噺"> </el-table-column> + <el-table-column prop="createTime" label="鎶ユ鏃ユ湡"> </el-table-column> + <el-table-column prop="user_name" label="鎶ユ浜�"> </el-table-column> + <el-table-column prop="createTime" label="妫�楠屾棩鏈�"> </el-table-column> + <el-table-column prop="createTime" label="妫�娴嬬姸鎬�" width="100"> <template slot-scope="scope"> - <span style="color: #34BD66;" v-if="scope.row.judgeState==1">鍚堟牸</span> - <span style="color: #E84738;" v-else-if="scope.row.judgeState==0">涓嶅悎鏍�</span> + <span style="color: #34BD66;" v-if="scope.row.ins_state == 1" + >宸叉娴�</span + > + <span style="color: #E84738;" v-else-if="scope.row.ins_state == 0" + >鏈娴�</span + > </template> </el-table-column> - <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="100"> + <el-table-column prop="judge_state" label="鍚堟牸鐘舵��" width="100"> <template slot-scope="scope"> - <span style="color: #34BD66;" v-if="scope.row.insState==1">宸叉娴�</span> - <span style="color: #E84738;" v-else-if="scope.row.insState==0">鏈娴�</span> + <span style="color: #34BD66;" v-if="scope.row.judge_state == 1" + >鍚堟牸</span + > + <span style="color: #E84738;" v-else-if="scope.row.judge_state == 0" + >涓嶅悎鏍�</span + > </template> </el-table-column> <el-table-column label="鎿嶄綔" width="100"> <template slot-scope="scope"> - <span class="table_do" @click="changeShowDetail(scope.row)">鏌ョ湅</span> + <span class="table_do" @click="changeShowDetail(scope.row)" + >鏌ョ湅</span + > <span class="table_do">鎵撳嵃</span> </template> </el-table-column> </el-table> - <el-col style="height: 50px;display: flex;align-items: center;justify-content: right;"> - <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" - :page-sizes="[1,10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="countSize"> + <el-col + style="height: 50px;display: flex;align-items: center;justify-content: right;" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="1" + :page-sizes="[10, 15, 20, 30, 50]" + :page-size="search.co" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > </el-pagination> </el-col> </div> @@ -164,71 +211,63 @@ </template> <script> - export default { - data() { - return { - search: { - formTime: null, - createTime: null, - insState: 2, - judgeState: 10 - }, - tableData: [], - selects: [], - currentPage: 1, - countSize: 0, - pageSize: 2 - } +export default { + data() { + return { + search: { + formTime: "", // 鏉ユ枡鏃堕棿 + code: "", // 鍘熸潗鏂欑紪鐮� + insState: "", // 妫�娴嬬姸鎬� + name: "", // + countSize: 10, // 鏉℃暟/椤� + pageSize: 1 // 椤垫暟 + }, + total: 0, + tableData: [], + selects: [] + }; + }, + props: ["goDetail"], + mounted() { + this.selectRawInspectsList(); + }, + methods: { + handleSelectionChange(val) { + this.selects = val; }, - props:['goDetail'], - mounted() { - this.selectRawInspectsList() + handleSizeChange(val) { + this.search.countSize = val; + this.selectRawInspectsList(); }, - methods: { - handleSelectionChange(val) { - this.selects = val; - }, - handleSizeChange(val) { - this.pageSize = val - this.selectRawInspectsList() - }, - handleCurrentChange(val) { - this.currentPage = val - this.selectRawInspectsList() - }, - selectRawInspectsList() { - this.axios.post(this.$api.url.selectRawInspectsList, { - pageSize: this.currentPage, - countSize: this.pageSize, - formTime: this.search.formTime, - createTime: this.search.createTime, - insState: this.search.insState, - judgeState: this.search.judgeState - }).then(res => { - this.tableData = res.data.data - this.countSize = res.data.count - }) - }, - clean() { - this.selects = [] - this.currentPage = 1 - this.countSize = 0 - this.pageSize = 10 - this.search = { - formTime: null, - createTime: null, - insState: 2, - judgeState: 2 - }, - this.selectRawInspectsList() - }, - changeShowDetail({id}){ - this.goDetail(id) - // console.log(id) - // const res = await this.$axios.post(this.$api.url.selectRawInspectsListById,{params:{id}}) - // console.log(res) - - } + handleCurrentChange(val) { + this.search.pageSize = val; + this.selectRawInspectsList(); + }, + selectRawInspectsList() { + this.axios + .post(this.$api.url.selectRawInspectsList, this.search) + .then(res => { + this.tableData = res.data.row; + this.total = res.data.total; + }); + }, + clean() { + this.search = { + formTime: "", // 鏉ユ枡鏃堕棿 + code: "", // 鍘熸潗鏂欑紪鐮� + insState: "", // 妫�娴嬬姸鎬� + name: "", // + countSize: 10, // 鏉℃暟/椤� + pageSize: 1 // 椤垫暟 + }; + this.selectRawInspectsList(); + }, + changeShowDetail({ id }) { + this.goDetail(id); + // console.log(id) + // const res = await this.$axios.post(this.$api.url.selectRawInspectsListById,{params:{id}}) + // console.log(res) } } +}; </script> diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index 7676e68..cd05798 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -1,290 +1,220 @@ -<style scoped> - .rawInsBox{ - height: 100%; - width: 100%; - overflow-y: scroll; - display: flex; - flex-direction: column; - } - .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; - } - .rawInsBox .title { - margin-bottom: 10px; - padding: 0 20px; - } - /* 妫�楠岃鎯� */ - .raw-detail-info{ - 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-input{ - width: auto; - } - .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-form-item{ - 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; - } - - /* 妫�楠岄」鐩� */ - .raw-project-table{ - padding: 24px 14px; - background: #fff; - flex: 1; - /* max-height: 360px; */ - /* overflow-y: hidden; */ - } - /* 妫�楠岀粨璁� */ - .raw-conclusion-table{ - padding: 9px 14px; - background: #fff; - } -</style> - - <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-download" @click="()=>{goBack()}">杩� 鍥�</el-button> + <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-download" + @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.name"></el-input> - <el-select @change="checkRawName" v-else placeholder="璇烽�夋嫨椤圭洰鍚嶇О" v-model="detailInfo.name"> - <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option> - </el-select> - </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.specifications"></el-input> - <el-cascader - placeholder="璇烽�夋嫨瑙勬牸鍨嬪彿" - v-else - :disabled="specificationOptions.length===0" - :props="{label:'name',value:'name'}" - v-model="detailInfo.specificationsArr" - :options="specificationOptions" - ></el-cascader> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍘熸潗鏂欑紪鐮�:"> - <el-input disabled v-model="detailInfo.code"></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.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 placeholder="璇疯緭鍏ユ楠屾暟閲�" :disabled="detailId!==null" v-model="detailInfo.number"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍗曚綅:"> - <el-input placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item v-show="detailId===null" label="" label-width="50px"> - <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button> - </el-form-item> - </el-col> - </el-row> - <el-row> - - <el-col :span="7"> - <el-form-item v-show="detailId!==null" label="鎶ユ鏃ユ湡:"> - <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input> - </el-form-item> - </el-col> - <el-col :span="14"> - <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> - <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" > - <el-row> - <el-col :span="7"> - <el-form-item label="璁㈠崟鍙�:"> - <el-input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="rawInsParams.orderNumber"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="瀹㈡埛鍚嶇О:"> - <el-input placeholder="璇疯緭鍏ュ鎴峰悕绉�" v-model="rawInsParams.customerName"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="宸ョ▼鍚嶇О:"> - <el-input placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" v-model="rawInsParams.projectName"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="璐ㄩ噺杩芥函鍙�:"> - <el-input placeholder="璇疯緭鍏ヨ川閲忚拷婧彿" v-model="rawInsParams.qualityTraceability"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="椤圭洰鍚嶇О:"> - <el-select placeholder="璇疯緭鍏ラ」鐩悕绉�" v-model="rawInsParams.material"> - <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="浜у搧缂栫爜:"> - <el-input placeholder="浜у搧缂栫爜" disabled v-model="code"></el-input> - </el-form-item> - </el-col> - - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input v-model="detailInfo.specificationsModel"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍗曚綅:"> - <el-input placeholder="璇疯緭鍏ュ崟浣�" v-model="rawInsParams.unit"></el-input> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鏁伴噺"> - <el-input placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" v-model="rawInsParams.qualityTraceability"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="21"> - <el-form-item label="涓绘満宸�:"> - <el-input placeholder="璇疯緭鍏ヤ富鏈哄伐" v-model="rawInsParams.userId"></el-input> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item label="" label-width="100px"> - <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button> - </el-form-item> - </el-col> - </el-row> - </el-form> --> + <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 + :disabled="detailId !== null" + v-model="detailInfo.code" + ></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.specificationsArr" + placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍗曚綅:"> + <el-input + 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="璇疯緭鍏ユ楠屾暟閲�" + :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="璇疯緭鍏ユ楠屾暟閲�" + :disabled="detailId !== null" + v-model="detailInfo.number" + ></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.createTime" + ></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 v-if="detailId == null" style="float: right;" + >娣诲姞妫�楠屽�煎垪</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%" - max-height="320" + <el-table :data="projectTable" style="width: 100%" height="320"> + <el-table-column type="index" label="搴忓彿" width="100"> + </el-table-column> + <el-table-column prop="name" label="椤圭洰" width="212"> + <template scope="scope"> + <el-input + v-model="scope.row.name" + placeholder="璇疯緭鍏ラ」鐩悕绉�" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅" width="148"> + <template scope="scope"> + <el-input + v-model="scope.row.unit" + placeholder="璇疯緭鍏ュ崟浣�" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="required" label="鏍囧噯" width="254"> + <template scope="scope"> + <el-input + v-model="scope.row.required" + placeholder="璇疯緭鍏ユ爣鍑嗗��" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" width="254"> + <template scope="scope"> + <el-input + v-model="scope.row.internal" + placeholder="璇疯緭鍏ュ唴鎺у��" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="testValue" label="妫�鏌ュ��" width="254"> + <template slot-scope="scope"> + <el-input + v-model="scope.row.testValue" + @blur="changeState(scope.row)" + placeholder="璇疯緭鍏ユ娴嬪��" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧"> + <el-button type="text">閫夋嫨</el-button> + </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 > - <el-table-column - type="index" - label="搴忓彿" - width="100" - > - </el-table-column> - <el-table-column - prop="name" - label="椤圭洰" - width="212"> - </el-table-column> - <el-table-column - prop="unit" - label="鍗曚綅" - width="148"> - </el-table-column> - <el-table-column - prop="required" - label="鏍囧噯" - width="254"> - </el-table-column> - <el-table-column - prop="internal" - label="鍐呮帶鍊�" - width="291"> - </el-table-column> - <el-table-column - prop="testValue" - label="妫�鏌ュ��" - width="371"> - <template slot-scope="scope"> - <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input> - </template> - </el-table-column> - <el-table-column - prop="deviceName" - label="璇曢獙璁惧" - width="248" - > - </el-table-column> - <el-table-column - prop="testState" - label="缁撹" - width="98" - > - <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> + <span v-show="scope.row.testState == null">鏆傛湭缁撹</span> + </template> + </el-table-column> + <el-table-column v-if="detailId == null" label="鎿嶄綔" fixed="right"> + <template scope="scope"> + <el-button type="text" @click="clickDeleteline(scope)" + >鍒犻櫎</el-button + > + </template> + </el-table-column> + </el-table> </div> <div class="title"> <el-row> @@ -292,154 +222,238 @@ </el-row> </div> <div class="raw-conclusion-table"> - <el-table :data="conclusionTable"> - <el-table-column - prop="code" - label="鐗╂枡缂栧彿" - width="353"> - </el-table-column> - <el-table-column - prop="name" - label="鐗╂枡鍚嶇О" - width="353"> - </el-table-column> - <el-table-column - prop="names" - label="妫�楠屽憳" - width="542"> - <template slot-scope="scope"> - <span v-for="item in scope.row.names" :key="item&&item.userName" :style="{marginRight:'8px'}">{{item}}</span> - </template> - </el-table-column> - <el-table-column - prop="testState" - label="妫�楠岀粨璁�" - width="362"> - <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 - label="鎿嶄綔" - width="120"> - <template> - <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button> - </template> - </el-table-column> - </el-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 prop="names" label="妫�楠屽憳"> + <template slot-scope="scope"> + <span + v-for="item in scope.row.names" + :key="item && item.userName" + :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> </div> </template> <script> -import RawIns from './raw-ins.vue' +import RawIns from "./raw-ins.vue"; export default { - components:{RawIns}, - props:['goBack','detailId'], - created(){ - // 娓呯┖ - this.detailInfo = {} - if(this.detailId){ - console.log(this.detailId) - this.getDetailInfo() - }else{ - this.getOptions() + components: { RawIns }, + props: ["goBack", "detailId"], + created() { + // 娓呯┖ + this.detailInfo = {}; + if (this.detailId) { + this.getDetailInfo(); + } else { + this.getOptions(); + } + }, + mounted() {}, + computed: { + conclusionTable() { + const conclusion = {}; + conclusion.name = this.detailInfo.name; + conclusion.code = this.detailInfo.code; + conclusion.names = [ + ...new Set(this.projectTable.map(item => item.userName)) + ]; + if ( + this.projectTable.filter(item => item.testState === null).length === + this.projectTable.length + ) { + conclusion.testState = null; + return [conclusion]; } - }, - mounted(){ - }, - computed:{ - conclusionTable(){ - // console.log(this.projectTable) - // console.log(this.projectTable.map(item=>item.userName)) - const conclusion = {} - conclusion.name = this.detailInfo.name - conclusion.code = this.detailInfo.code - conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))] - console.log(conclusion,this.projectTable) - console.log(this.projectTable.filter(item=>item.testState===null).length) - if(this.projectTable.filter(item=>item.testState===null).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 - } - return [conclusion] - }, - // 浜у搧缂栫爜 - // code(){ - // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0] - // return material && material.code - // } - }, - data() { - return { - // 璇︽儏椤靛氨鏄鎯呬俊鎭� - detailInfo:{}, - projectTable:[], - // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄 - rawInsParams:{}, - // 椤圭洰鍚嶇Оoptions - materialOptions:[], - specificationOptions:[] - - } - }, - methods:{ - // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭� - async getDetailInfo() { - const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}}) - this.detailInfo = data - this.projectTable = data.rawInsProducts - console.log(data) - }, - // 鏂板妫�楠屽崟 - async addNewRawInspect() { - this.detailInfo.specifications = this.detailInfo.specificationsArr.join("-") - // const time = this.detailInfo.formTime - // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}` - const res = await this.$axios.post(this.$api.url.addRawInspects,{...this.detailInfo},{headers:{'Content-Type':'application/json'}}) - console.log(res) - this.detailId = res.data - this.getDetailInfo() - - this.$message.success('鎻愪氦鎴愬姛') - }, - // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� - async changeState(row){ - // console.log(row) - const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}}) - this.$message.success('鎻愪氦鎴愬姛') - this.getDetailInfo()//閲嶆柊鍒锋柊淇℃伅鏁版嵁 - }, - async submitSave() { - const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`) - this.$message.success('鎻愪氦鎴愬姛') - this.getDetailInfo() - }, - async getOptions() { - // const {data} = await this.$axios.get(this.$api.url.listMaterial) - // this.materialOptions = data - const {data} = await this.$axios.get(this.$api.url.selectRawMaterial) - this.materialOptions = data - console.log(this.materialOptions) - }, - checkRawName(data) { - console.log('閫夋嫨鍘熸潗鏂欏悕绉�',data) - this.materialOptions.forEach(item=>{ - if(item.name===data){ - console.log(item.id) - this.detailInfo.code = item.code - this.$axios.get(this.$api.url.selectSpBySt,{params:{id:item.id}}).then(res=>{ - this.specificationOptions= res.data - }) - } - }) + if (this.projectTable.filter(item => item.testState === 0).length > 0) { + conclusion.testState = 0; + } else { + conclusion.testState = 1; } - } -} + return [conclusion]; + } + }, + data() { + return { + // 璇︽儏椤靛氨鏄鎯呬俊鎭� + detailInfo: {}, + projectTable: [], + // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄 + rawInsParams: {}, + // 椤圭洰鍚嶇Оoptions + materialOptions: [], + specificationOptions: [] + }; + }, + methods: { + // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭� + async getDetailInfo() { + const { data } = await this.$axios.get( + this.$api.url.selectRawInspectsListById + `${this.detailId}`, + { params: { id: this.detailId } } + ); + this.detailInfo = data; + this.projectTable = data.rawInsProducts; + }, + // 鏂板妫�楠屽崟 + async addNewRawInspect() { + this.detailInfo.specifications = this.detailInfo.specificationsArr.join( + "-" + ); + // const time = this.detailInfo.formTime + // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}` + const res = await this.$axios.post( + this.$api.url.addRawInspects, + { ...this.detailInfo }, + { headers: { "Content-Type": "application/json" } } + ); + this.detailId = res.data; + this.getDetailInfo(); + + this.$message.success("鎻愪氦鎴愬姛"); + }, + // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� + async changeState(row) { + const res = await this.$axios.post( + this.$api.url.updaterawInsProduct, + { ...row }, + { headers: { "Content-Type": "application/json" } } + ); + this.$message.success("鎻愪氦鎴愬姛"); + this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁 + }, + async submitSave() { + const res = await this.$axios.post( + this.$api.url.updateRawInspectsById + `${this.detailId}` + ); + this.$message.success("鎻愪氦鎴愬姛"); + this.getDetailInfo(); + }, + async getOptions() { + const { data } = await this.$axios.get(this.$api.url.selectDevice); + this.materialOptions = data; + }, + checkRawName(data) { + this.materialOptions.forEach(item => { + if (item.name === data) { + this.detailInfo.code = item.code; + this.$axios + .get(this.$api.url.selectSpBySt, { params: { id: item.id } }) + .then(res => { + this.specificationOptions = res.data; + }); + } + }); + }, + // 娣诲姞琛� + clickAddLine() { + let obj = { + deviceId: 0, + internal: "", + name: "", + required: "", + testValue: "", + unit: "" + }; + this.projectTable.push(obj); + }, + // 鍒犻櫎琛� + clickDeleteline(scope) { + this.projectTable.splice(scope.$index, 1); + } + } +}; </script> + +<style scoped> +.rawInsBox { + height: 100%; + width: 100%; + overflow-y: scroll; + display: flex; + flex-direction: column; +} +.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; +} +.rawInsBox .title { + margin-bottom: 10px; + padding: 0 20px; +} +/* 妫�楠岃鎯� */ +.raw-detail-info { + 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-input { + width: auto; +} +.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-form-item { + 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; +} + +/* 妫�楠岄」鐩� */ +.raw-project-table { + padding: 24px 14px; + background: #fff; + flex: 1; + /* max-height: 360px; */ + /* overflow-y: hidden; */ +} +/* 妫�楠岀粨璁� */ +.raw-conclusion-table { + padding: 9px 14px; + background: #fff; +} +</style> diff --git a/src/components/view/rawUnqualified/raw.vue b/src/components/view/rawUnqualified/raw.vue index 847f696..ac0b8c4 100644 --- a/src/components/view/rawUnqualified/raw.vue +++ b/src/components/view/rawUnqualified/raw.vue @@ -1,271 +1,255 @@ -<style scoped> -.unqualifiedBox{ - width: 100%; - max-height: 100%; - display: flex; - flex-direction: column; - /* overflow-y: scroll; */ -} - .unqualifiedBox .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; - } - .unqualifiedBox .title { - margin-bottom: 10px; - padding: 0 20px; - } -<!-- /* 鏉′欢鏌ヨ澶撮儴鏍峰紡 */ --> - .choose { - padding: 21px 24px; - display: flex; - align-items: center; - background-color: #fff; - border-bottom: 3px solid rgb(245, 247, 251); - } - - .choose { - font-size: 14px; - } - - .choose .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; - } - <!-- /* 涓嶅悎鏍艰〃鏍兼牱寮� */ - .unqualifiedTable{ - flex: 1; - background: #fff; - margin-top: 11px; - padding: 23px 21px; - } - .tableno{ - margin-top: 30px; - } -</style> - <template> - <div class="unqualifiedBox"> <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-download" size="mini" @click="()=>{}">瀵煎嚭</el-button> - </el-col> - </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-download" size="mini" @click="() => {}" + >瀵煎嚭</el-button + > + </el-col> + </el-row> <div style="margin-top: 10px;"> - <el-card shadow="hover" class="margin-30" style="height: 80px;"> - - <div class="choose" > - <span>澶勭悊鐘舵�侊細</span> - <el-select v-model="search.insState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> - <el-option label="宸插鐞�" :value="2"></el-option> - <el-option label="寰呭鐞�" :value="0"></el-option> - </el-select> - <span>鏉ユ枡鏃ユ湡锛�</span> - <el-date-picker v-model="search.createTime" size="small" placeholder="璇疯緭鍏�" - style="width: 224px;margin-right: 30px;" clearable value-format="yyyy-MM-dd"></el-date-picker> - <span>渚涘簲鍟嗭細</span> - <el-select v-model="search.insState" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> - <el-option label="鍏ㄩ儴" :value="2"></el-option> - <el-option label="鏈娴�" :value="0"></el-option> - <el-option label="宸叉娴�" :value="1"></el-option> - </el-select> - <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectRawInspectsList()"><span>鏌� - 璇�</span></el-button> - - </div> - </el-card> + <el-card shadow="hover" class="margin-30" style="height: 80px;"> + <div class="choose"> + <span>浜у搧鍚嶇О锛�</span> + <el-input + size="small" + v-model="search.productName" + style="width: 224px;margin-right: 30px;" + placeholder="璇疯緭鍏�" + clearable + ></el-input> + <span>鏉ユ枡鏃ユ湡锛�</span> + <el-date-picker + v-model="search.formTime" + size="small" + placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" + clearable + value-format="yyyy-MM-dd" + ></el-date-picker> + <span>澶勭悊鐘舵�侊細</span> + <el-select + v-model="search.processingStatus" + size="small" + placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;" + > + <el-option label="宸插鐞�" :value="1"></el-option> + <el-option label="寰呭鐞�" :value="0"></el-option> + </el-select> + <span>渚涘簲鍟嗭細</span> + <el-input + size="small" + v-model="search.supplier" + style="width: 224px;margin-right: 20px;" + placeholder="璇疯緭鍏�" + ></el-input> + <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> + <el-button + size="mini" + type="primary" + style="background: #004EA2;" + @click=" + unqualifiedTable = []; + getDetailInfo(); + " + ><span>鏌� 璇�</span></el-button + > + </div> + </el-card> </div> - <div class="tableno" style="height:300px"> - <!-- <el-table :data=" unqualifiedTable" border style ="width: 100%;overflow-y: auto;min-height: calc(100% - 50px)" - max-height="calc(100% - 50px)" row-key="id" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> --> - <el-card shadow="hover" class="margin-30"> - - <el-table :data=" unqualifiedTable" border ref="multipleTable" tooltip-effect="dark" - style="width: 100%" @selection-change="handleSelectionChange"> - - <el-table-column - type="selection" - width="50"> - </el-table-column> - <el-table-column - type="index" - label="搴忓彿" - > - </el-table-column> - <el-table-column - prop="鏉ユ枡鏃ユ湡" - label="鏉ユ枡鏃ユ湡" - > - </el-table-column> - <el-table-column - prop="reason" - label="缂洪櫡鍚嶇О" - > - </el-table-column> - <el-table-column - prop="material_code" - label="鏉愭枡缂栫爜" - > - </el-table-column> - <el-table-column - prop="id" - label="鏉愭枡鍚嶇О"> - </el-table-column> - <el-table-column - prop="specifications_model" - label="瑙勬牸鍨嬪彿" - > - </el-table-column> - <el-table-column - prop="unit" - label="鍗曚綅" - > - </el-table-column> - <el-table-column - prop="quantity" - label="鏁伴噺" - > - </el-table-column> - <el-table-column - prop="鎶ユ鏃ユ湡" - label="鎶ユ鏃ユ湡" - > - </el-table-column> - <el-table-column - prop="name" - label="鎶ユ浜�" - > - </el-table-column> - <el-table-column - prop="鎶ユ鏃ユ湡" - label="鎶ユ鏃ユ湡" - > - </el-table-column> - <el-table-column - prop="deal_state" - label="澶勭悊鐘舵��" - width="100"> - <template slot-scope="scope"> - <span style="color:#34BD66;" v-if="scope.row.deal_state==1">宸插鐞�</span> - <span style="color:#E84738;" v-else-if="scope.row.deal_state==0">寰呭鐞�</span> - </template> - </el-table-column> - <el-table-column - prop="deal_reasult" - label="澶勭悊缁撴灉" - width="100"> - - <template slot-scope="scope"> - <span style="color:#34BD66;" v-if="scope.row.deal_reasult==1">涓嶉�氳繃</span> - <span style="color:#E84738;" v-else-if="scope.row.deal_reasult==0">閫氳繃</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - width="100" - > - <template slot-scope="scope"> - <div style="display: flex;"> - <el-button type="text" siae="small" size="mini">璇勫</el-button> - <el-button type="text" siae="small" size="mini" style=" color:87, 138, 193 ;" @click="">鏌ョ湅</el-button> - </div> - </template> - </el-table-column> - - - </el-table> - </el-card> - <el-col style="height: 50px;display: flex;align-items: center;justify-content: right;"> + <div class="tableno" style="height:300px"> + <el-card shadow="hover" class="margin-30"> + <el-table + :data="unqualifiedTable" + border + ref="multipleTable" + tooltip-effect="dark" + height="calc(100vh - 340px)" + style="width: 100%" + > + <el-table-column type="selection" width="50"> </el-table-column> + <el-table-column type="index" label="搴忓彿" width="60"> + <template scope="scope"> + {{ (search.pageSize - 1) * search.countSize + scope.$index + 1 }} + </template> + </el-table-column> + <el-table-column prop="dateArrival" label="鏉ユ枡鏃ユ湡"> + </el-table-column> + <el-table-column prop="supplier" label="渚涘簲鍟�"> </el-table-column> + <el-table-column + prop="reason" + label="缂洪櫡鍚嶇О" + min-width="120" + show-overflow-tooltip + > + </el-table-column> + <el-table-column prop="code" label="鏉愭枡缂栫爜"> </el-table-column> + <el-table-column prop="id" label="鏉愭枡鍚嶇О"> </el-table-column> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿"> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> + <el-table-column prop="number" label="鏁伴噺"> </el-table-column> + <el-table-column prop="inspectionDate" label="鎶ユ鏃ユ湡"> + </el-table-column> + <el-table-column prop="name" label="鎶ユ浜�"> </el-table-column> + <el-table-column prop="processingDate" label="妫�楠屾棩鏈�"> + </el-table-column> + <el-table-column prop="deal_state" label="澶勭悊鐘舵��" width="100"> + <template slot-scope="scope"> + <span style="color:#34BD66;" v-if="scope.row.deal_state == 1" + >宸插鐞�</span + > + <span style="color:#E84738;" v-else-if="scope.row.deal_state == 0" + >寰呭鐞�</span + > + </template> + </el-table-column> + <el-table-column prop="deal_reasult" label="澶勭悊缁撴灉" width="100"> + <template slot-scope="scope"> + <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" + >涓嶉�氳繃</span + > + <span + style="color:#E84738;" + v-else-if="scope.row.deal_reasult == 0" + >閫氳繃</span + > + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="100"> + <template> + <div style="display: flex;"> + <el-button type="text" siae="small" size="mini">璇勫</el-button> + <el-button + type="text" + siae="small" + size="mini" + style=" color:87, 138, 193 ;" + >鏌ョ湅</el-button + > + </div> + </template> + </el-table-column> + </el-table> + <el-col + style="height: 50px;display: flex;align-items: center;justify-content: right;" + > <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="currentPage" - :page-sizes="[1,10, 20, 30, 50]" - :page-size="pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="countSize"> - </el-pagination> - </el-col> + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="search.pageSize" + :page-sizes="[10, 15, 20, 30, 50]" + :page-size="search.countSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > + </el-pagination> + </el-col> + </el-card> </div> </div> - </template> <script> - export default { - data() { - - return { - search:{ - formTime: "null", - deal_state:2, - deal_reasult:2, - }, - unqualifiedTable:[], - // articlelist:[] , - selects:[], - countSize: 0, - pageSize: 2, - currentPage: 10 - - - } - }, - props:['godata'], - created(){ - this.getDetailInfo() - }, - mounted() { - this.getDetailInfo() - }, - methods:{ - - handleSizeChange(val) { - this.pageSize = 1 - this.countSize= val - this.getDetailInfo() + data() { + return { + search: { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + formTime: "", // 鏉ユ枡鏃ユ湡 + processingStatus: "", // 澶勭悊鐘舵�� + productName: "", // 浜у搧鍚嶇О + supplier: "" // 渚涘簲鍟� }, - handleCurrentChange(val) { - this.pageSize = val - this.getDetailInfo() - }, - - getDetailInfo() { - // console.log(this.$api.url.selectUnRawInspectsList); - - this.axios.get(this.$api.url.selectUnRawInspectsList, { - params:{countSize:this.currentPage, pageSize:this.pageSize}, - // pageSize: this.currentPage, - // countSize: this.pageSize, - // formTime: this.search.formTime, - // deal_state: this.search. deal_state, - // deal_reasult: this.search.deal_reasult, - }).then(res=>{ - // console.log(res); - this.unqualifiedTable = res.data.row - // console.log(this.unqualifiedTable); - // this.countSize = res.data.count - // console.log(111); - - }) - }, - changeShowDetail({id}){ - this.godata() - - } + unqualifiedTable: [], // 椤甸潰琛ㄦ牸鏁版嵁 + total: 0 + }; + }, + mounted() { + this.getDetailInfo(); + }, + methods: { + handleSizeChange(val) { + this.search.countSize = val; + this.getDetailInfo(); + }, + handleCurrentChange(val) { + this.search.pageSize = val; + this.getDetailInfo(); + }, + getDetailInfo() { + this.axios + .get(this.$api.url.selectUnRawInspectsList, { + params: this.search + }) + .then(res => { + this.unqualifiedTable = res.data.row; + this.total = res.data.total; + }); + }, + clean() { + this.search = { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + formTime: "", // 鏉ユ枡鏃ユ湡 + processingStatus: "", // 澶勭悊鐘舵�� + productName: "", // 浜у搧鍚嶇О + supplier: "" // 渚涘簲鍟� + }; + this.getDetailInfo(); + } } -} - +}; </script> +<style scoped> +.unqualifiedBox { + width: 100%; + max-height: 100%; + display: flex; + flex-direction: column; + /* overflow-y: scroll; */ +} +.unqualifiedBox .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; +} +.unqualifiedBox .title { + margin-bottom: 10px; + padding: 0 20px; +} +<!-- /* 鏉′欢鏌ヨ澶撮儴鏍峰紡 */ --> + .choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); +} +.choose { + font-size: 14px; +} - +.choose .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; +} +<!-- /* 涓嶅悎鏍艰〃鏍兼牱寮� */ + .unqualifiedTable { + flex: 1; + background: #fff; + margin-top: 11px; + padding: 23px 21px; +} +.tableno { + margin-top: 10px; +} +</style> diff --git a/src/components/view/rawUnqualifiedBox.vue b/src/components/view/rawUnqualifiedBox.vue index 921963c..f43a1fa 100644 --- a/src/components/view/rawUnqualifiedBox.vue +++ b/src/components/view/rawUnqualifiedBox.vue @@ -1,7 +1,4 @@ -<style scoped> - -</style> - +<style scoped></style> <template> <div class="rawUnqualifiedBox"> @@ -10,8 +7,8 @@ </template> <script> -import Unqualified from './rawUnqualified/raw.vue' +import Unqualified from "./rawUnqualified/raw.vue"; export default { - components:{Unqualified} -} -</script> \ No newline at end of file + components: { Unqualified } +}; +</script> diff --git a/src/components/view/unqualifiedManagement.vue b/src/components/view/unqualifiedManagement.vue index ae53842..e1f6686 100644 --- a/src/components/view/unqualifiedManagement.vue +++ b/src/components/view/unqualifiedManagement.vue @@ -1,19 +1,240 @@ -<style scoped> - -</style> - - <template> - <div class="rawUnqualifiedBox"> - <Unqualified></Unqualified> + <div class="unqualifiedBox"> + <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-download" size="mini" @click="() => {}" + >瀵煎嚭</el-button + > + </el-col> + </el-row> + <div style="margin-top: 10px;"> + <el-card shadow="hover" class="margin-30" style="height: 80px;"> + <div class="choose"> + <span>澶勭悊鐘舵�侊細</span> + <el-select + v-model="search.dealState" + size="small" + placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;" + > + <el-option label="宸插鐞�" :value="1"></el-option> + <el-option label="寰呭鐞�" :value="0"></el-option> + </el-select> + <span>鏉ユ枡鏃ユ湡锛�</span> + <el-date-picker + v-model="search.formTime" + size="small" + placeholder="璇疯緭鍏�" + style="width: 224px;margin-right: 30px;" + clearable + value-format="yyyy-MM-dd" + ></el-date-picker> + <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> + <el-button + size="mini" + type="primary" + style="background: #004EA2;" + @click=" + unqualifiedTable = []; + getDetailInfo(); + " + ><span>鏌� 璇�</span></el-button + > + </div> + </el-card> + </div> + <div class="tableno" style="height:300px"> + <el-card shadow="hover" class="margin-30"> + <el-table + :data="unqualifiedTable" + border + ref="multipleTable" + tooltip-effect="dark" + height="calc(100vh - 340px)" + style="width: 100%" + > + <el-table-column type="selection" width="50"> </el-table-column> + <el-table-column type="index" label="搴忓彿" width="60"> + <template scope="scope"> + {{ (search.pageSize - 1) * search.countSize + scope.$index + 1 }} + </template> + </el-table-column> + <el-table-column prop="dateArrival" label="鏉ユ枡鏃ユ湡"> + </el-table-column> + <el-table-column + prop="reason" + label="缂洪櫡鍚嶇О" + min-width="120" + show-overflow-tooltip + > + </el-table-column> + <el-table-column prop="material_code" label="鏉愭枡缂栫爜"> + </el-table-column> + <el-table-column prop="id" label="鏉愭枡鍚嶇О"> </el-table-column> + <el-table-column + prop="specifications_model" + label="瑙勬牸鍨嬪彿" + min-width="120" + > + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> + <el-table-column prop="quantity" label="鏁伴噺"> </el-table-column> + <el-table-column prop="inspectionDate" label="鎶ユ鏃ユ湡"> + </el-table-column> + <el-table-column prop="name" label="鎶ユ浜�"> </el-table-column> + <el-table-column prop="processingDate" label="妫�楠屾棩鏈�"> + </el-table-column> + <el-table-column prop="deal_state" label="澶勭悊鐘舵��" width="100"> + <template slot-scope="scope"> + <span style="color:#34BD66;" v-if="scope.row.deal_state == 1" + >宸插鐞�</span + > + <span style="color:#E84738;" v-else-if="scope.row.deal_state == 0" + >寰呭鐞�</span + > + </template> + </el-table-column> + <el-table-column prop="deal_reasult" label="澶勭悊缁撴灉" width="100"> + <template slot-scope="scope"> + <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" + >涓嶉�氳繃</span + > + <span + style="color:#E84738;" + v-else-if="scope.row.deal_reasult == 0" + >閫氳繃</span + > + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="100"> + <template> + <div style="display: flex;"> + <el-button type="text" siae="small" size="mini">璇勫</el-button> + <el-button + type="text" + siae="small" + size="mini" + style=" color:87, 138, 193 ;" + >鏌ョ湅</el-button + > + </div> + </template> + </el-table-column> + </el-table> + <el-col + style="height: 50px;display: flex;align-items: center;justify-content: right;" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="search.pageSize" + :page-sizes="[10, 15, 20, 30, 50]" + :page-size="search.countSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > + </el-pagination> + </el-col> + </el-card> + </div> </div> </template> <script> -import Unqualified from './rawUnqualified/raw.vue' -// import Unqualified from './rawUnqualified/Subqualified.vue' - export default { - components:{Unqualified} -} + data() { + return { + search: { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + formTime: "", // 鏉ユ枡鏃ユ湡 + dealState: "" // 澶勭悊鐘舵�� + }, + unqualifiedTable: [], // 椤甸潰琛ㄦ牸鏁版嵁 + total: 0 + }; + }, + mounted() { + this.getDetailInfo(); + }, + methods: { + handleSizeChange(val) { + this.search.countSize = val; + this.getDetailInfo(); + }, + handleCurrentChange(val) { + this.search.pageSize = val; + this.getDetailInfo(); + }, + getDetailInfo() { + this.axios + .get(this.$api.url.inspectUnaccepted, { + params: this.search + }) + .then(res => { + this.unqualifiedTable = res.data.row; + this.total = res.data.total; + }); + }, + clean() { + this.search = { + countSize: 10, // 鏉℃暟/椤� + pageSize: 1, // 璧峰椤� + formTime: "", // 鏉ユ枡鏃ユ湡 + dealState: "" // 澶勭悊鐘舵�� + }; + this.getDetailInfo(); + } + } +}; </script> + +<style scoped> +.unqualifiedBox { + width: 100%; + max-height: 100%; + display: flex; + flex-direction: column; + /* overflow-y: scroll; */ +} +.unqualifiedBox .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; +} +.unqualifiedBox .title { + margin-bottom: 10px; + padding: 0 20px; +} +<!-- /* 鏉′欢鏌ヨ澶撮儴鏍峰紡 */ --> + .choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); +} + +.choose { + font-size: 14px; +} + +.choose .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; +} +<!-- /* 涓嶅悎鏍艰〃鏍兼牱寮� */ + .unqualifiedTable { + flex: 1; + background: #fff; + margin-top: 11px; + padding: 23px 21px; +} +.tableno { + margin-top: 10px; +} +</style> diff --git a/src/main.js b/src/main.js index d0bd9ce..72f68aa 100644 --- a/src/main.js +++ b/src/main.js @@ -23,9 +23,7 @@ Vue.use(qs); Vue.use(api); -// const javaApi = 'http://127.0.0.1:8001/' -const javaApi = 'http://192.168.73.249:8001/' - +const javaApi = 'http://localhost:8001/' axios.defaults.baseURL = javaApi axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' -- Gitblit v1.9.3