From 04b8eff075a04db23e6f908855699b4d2954588c Mon Sep 17 00:00:00 2001 From: yyt <306727702@qq.com> Date: 星期四, 23 五月 2024 18:47:01 +0800 Subject: [PATCH] 380新产品,优化 --- jcdm-ui/src/views/main/bs/orderScheduling/index.vue | 414 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 279 insertions(+), 135 deletions(-) diff --git a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue index f2bb687..4fb42a3 100644 --- a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue +++ b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue @@ -2,18 +2,10 @@ <div class="app-container"> <el-card class="box-card"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="璁㈠崟缂栧彿" prop="orderNumber"> + <el-form-item label="璁㈠崟缂栧彿" prop="orderNo"> <el-input - v-model="queryParams.orderNumber" + v-model="queryParams.orderNo" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍙戝姩鏈哄彿" prop="engineNo"> - <el-input - v-model="queryParams.engineNo" - placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable @keyup.enter.native="handleQuery" /> @@ -26,59 +18,87 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="宸ユ椂" prop="workingHours"> - <el-input - v-model="queryParams.workingHours" - placeholder="璇疯緭鍏ュ伐鏃�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="褰撳墠宸ヤ綅" prop="currentWorkstation"> - <el-input - v-model="queryParams.currentWorkstation" - placeholder="璇疯緭鍏ュ綋鍓嶅伐浣�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鏄惁鎵撳嵃" prop="whetherOrPrint"> - <el-input - v-model="queryParams.whetherOrPrint" - placeholder="璇疯緭鍏ユ槸鍚︽墦鍗�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="10鎶ュ伐" prop="report10"> - <el-input - v-model="queryParams.report10" - placeholder="璇疯緭鍏�10鎶ュ伐" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="20鎶ュ伐" prop="report20"> - <el-input - v-model="queryParams.report20" - placeholder="璇疯緭鍏�20鎶ュ伐" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎿嶄綔浜�" prop="operator"> - <el-input - v-model="queryParams.operator" - placeholder="璇疯緭鍏ユ搷浣滀汉" - clearable - @keyup.enter.native="handleQuery" - /> + <el-form-item label="鐢熶骇鐘舵��" prop="productionStatus"> + <el-select v-model="queryParams.productionStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��" clearable> + <el-option + v-for="dict in dict.type.order_scheduling_produce_status" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> </el-form-item> <el-form-item style="float: right"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">楂樼骇鏌ヨ</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> + <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px"> + <el-form-item label="鍙戝姩鏈哄彿" prop="engineNo"> + <el-input + v-model="queryParams.engineNo" + placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="璐ㄩ噺鐘舵��" prop="qualityStatus"> + <el-select v-model="queryParams.qualityStatus" placeholder="璇烽�夋嫨璐ㄩ噺鐘舵��" clearable> + <el-option + v-for="dict in dict.type.quality_status" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> + </el-form-item> + <el-form-item label="鏄惁鎵撳嵃" prop="whetherOrPrint"> + <el-select v-model="queryParams.whetherOrPrint" placeholder="璇烽�夋嫨鏄惁鎵撳嵃" clearable> + <el-option + v-for="dict in dict.type.print_status" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> + </el-form-item> + <br/> + <el-form-item label="鍚堢鎶ュ伐" prop="report10"> + <el-input + v-model="queryParams.report10" + placeholder="璇疯緭鍏ュ悎绠辨姤宸�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鎬昏鎶ュ伐" prop="report20"> + <el-input + v-model="queryParams.report20" + placeholder="璇疯緭鍏ユ�昏鎶ュ伐" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="CVT鎶ュ伐" prop="report30"> + <el-input + v-model="queryParams.report30" + placeholder="璇疯緭鍏VT鎶ュ伐" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <br/> + <el-form-item label="鎿嶄綔鏃堕棿" prop="operateTime"> + <el-date-picker + v-model="queryParams.dateConditions" + type="datetimerange" + :picker-options="pickerOptions" + value-format="yyyy-MM-dd HH:mm:ss" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + align="right"> + </el-date-picker> + </el-form-item> + </el-form> </el-card> <el-card style="margin-top: 10px" class="box-card"> @@ -125,71 +145,102 @@ v-hasPermi="['bs:orderScheduling:export']" >瀵煎嚭</el-button> </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-close" + size="mini" + @click="handleClose" + >鍏抽棴</el-button> + </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table border v-loading="loading" :data="orderSchedulingList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="璁㈠崟缂栧彿" align="center" prop="orderNumber"> + <el-table-column label="鐢熶骇璁㈠崟" align="center" prop="orderNo" width="130"> + </el-table-column> - <el-table-column label="鍙戝姩鏈哄彿" align="center" prop="engineNo"> + <el-table-column label="鍙戝姩鏈哄彿" align="center" prop="engineNo" width="150"> + </el-table-column> <el-table-column label="浜у搧绫诲瀷" align="center" prop="productType"> -<!-- <template slot-scope="scope">--> -<!-- <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.productType"/>--> -<!-- </template>--> - </el-table-column> - <el-table-column label="鏈哄瀷" align="center" prop="model"> - </el-table-column> - <el-table-column label="鐢熶骇鐘舵��" align="center" prop="productionStatus"> - </el-table-column> - <el-table-column label="宸ユ椂" align="center" prop="workingHours"> - </el-table-column> - <el-table-column label="褰撳墠宸ヤ綅" align="center" prop="currentWorkstation"> - </el-table-column> - <el-table-column label="璐ㄩ噺鐘舵��" align="center" prop="qualityStatus"> - </el-table-column> - <el-table-column label="鏄惁鎵撳嵃" align="center" prop="whetherOrPrint"> - </el-table-column> - <el-table-column label="10鎶ュ伐" align="center" prop="report10"> - </el-table-column> - <el-table-column label="20鎶ュ伐" align="center" prop="report20"> - - </el-table-column> - <el-table-column label="鍚堢涓婄嚎" align="center" prop="combinedBoxLaunch"> - - </el-table-column> - <el-table-column label="鎬昏涓嬬嚎" align="center" prop="finalAssemblyOffline"> - - </el-table-column> - <el-table-column label="鎿嶄綔浜�" align="center" prop="operator"> - - </el-table-column> - <el-table-column label="鎿嶄綔鏃堕棿" align="center" prop="operateTime"> - - </el-table-column> - <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="success" - plain - style="width: 72px" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['bs:orderScheduling:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="danger" - plain - style="width: 72px" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['bs:orderScheduling:remove']" - >鍒犻櫎</el-button> + <dict-tag :options="dict.type.material_type" :value="scope.row.productType"/> </template> </el-table-column> + <el-table-column label="鏈哄瀷" align="center" prop="model"> + + </el-table-column> + <el-table-column label="鐢熶骇鐘舵��" align="center" prop="productionStatus"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/> + </template> + </el-table-column> + <el-table-column label="宸ユ椂" align="center" prop="workingHours"> + + </el-table-column> + <el-table-column label="褰撳墠宸ヤ綅" align="center" prop="currentWorkstation"> + + </el-table-column> + <el-table-column label="璐ㄩ噺鐘舵��" align="center" prop="qualityStatus"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.quality_status" :value="scope.row.qualityStatus"/> + </template> + </el-table-column> + <el-table-column label="鏄惁鎵撳嵃" align="center" prop="whetherOrPrint"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/> + </template> + </el-table-column> + <el-table-column label="鍚堢鎶ュ伐" align="center" prop="report10"> + + </el-table-column> + <el-table-column label="鎬昏鎶ュ伐" align="center" prop="report20"> + + </el-table-column> + <el-table-column label="CVT鎶ュ伐" align="center" prop="report30"> + + </el-table-column> + <el-table-column label="鍚堢涓婄嚎鏃堕棿" align="center" prop="boxClosingOnlineTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.boxClosingOnlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="鍚堢涓嬬嚎鏃堕棿" align="center" prop="closingBoxOfflineTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.closingBoxOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="鎬昏涓婄嚎鏃堕棿" align="center" prop="finalAssemblyLaunchTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.finalAssemblyLaunchTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="鎬昏涓嬬嚎鏃堕棿" align="center" prop="finalAssemblyOfflineTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.finalAssemblyOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="CVT涓婄嚎鏃堕棿" align="center" prop="cvtLaunchTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.cvtLaunchTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="CVT涓嬬嚎鏃堕棿" align="center" prop="cvtOfflineTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.cvtOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔浜�" align="center" prop="operator"> + </el-table-column> + <el-table-column label="鎿嶄綔鏃堕棿" align="center" prop="operateTime" width="160"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.operateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + </template> + </el-table-column> + </el-table> </el-card> @@ -202,39 +253,60 @@ /> <!-- 娣诲姞鎴栦慨鏀硅鍗曟帓浜у璇濇 --> - <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body> + <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="700px" append-to-body> <span slot="title"> <i class="el-icon-s-order"></i> {{titleName}} </span> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="璁㈠崟缂栧彿" prop="orderNumber"> - <el-input v-model="form.orderNumber" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> + <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> + <el-form-item label="璁㈠崟缂栧彿" prop="orderNo"> + <el-input v-model="form.orderNo" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> </el-form-item> <el-form-item label="鍙戝姩鏈哄彿" prop="engineNo"> <el-input v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" /> </el-form-item> + <el-form-item label="浜у搧绫诲瀷" prop="productType"> + <el-select v-model="form.productType" placeholder="璇烽�夋嫨浜у搧绫诲瀷"> + + </el-select> + </el-form-item> <el-form-item label="鏈哄瀷" prop="model"> <el-input v-model="form.model" placeholder="璇疯緭鍏ユ満鍨�" /> </el-form-item> + <el-form-item label="宸ユ椂" prop="workingHours"> <el-input v-model="form.workingHours" placeholder="璇疯緭鍏ュ伐鏃�" /> </el-form-item> <el-form-item label="褰撳墠宸ヤ綅" prop="currentWorkstation"> <el-input v-model="form.currentWorkstation" placeholder="璇疯緭鍏ュ綋鍓嶅伐浣�" /> </el-form-item> + <el-form-item label="鏄惁鎵撳嵃" prop="whetherOrPrint"> <el-input v-model="form.whetherOrPrint" placeholder="璇疯緭鍏ユ槸鍚︽墦鍗�" /> </el-form-item> - <el-form-item label="10鎶ュ伐" prop="report10"> - <el-input v-model="form.report10" placeholder="璇疯緭鍏�10鎶ュ伐" /> + + <el-form-item label="鍚堢鎶ュ伐" prop="report10"> + <el-input v-model="form.report10" placeholder="璇疯緭鍏ュ悎绠辨姤宸�" /> </el-form-item> - <el-form-item label="20鎶ュ伐" prop="report20"> - <el-input v-model="form.report20" placeholder="璇疯緭鍏�20鎶ュ伐" /> + <el-form-item label="鎬昏鎶ュ伐" prop="report20"> + <el-input v-model="form.report20" placeholder="璇疯緭鍏ユ�昏鎶ュ伐" /> + </el-form-item> + <el-form-item label="30鎶ュ伐" prop="report20"> + <el-input v-model="form.report30" placeholder="璇疯緭鍏�30鎶ュ伐" /> </el-form-item> <el-form-item label="鎿嶄綔浜�" prop="operator"> <el-input v-model="form.operator" placeholder="璇疯緭鍏ユ搷浣滀汉" /> </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-radio-group v-model="form.status"> +<!-- <el-radio--> +<!-- v-for="dict in dict.type.${dictType}"--> +<!-- :key="dict.value"--> +<!-- :label="dict.value"--> +<!-- >{{dict.label}}</el-radio>--> + </el-radio-group> + </el-form-item> + </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> @@ -249,6 +321,7 @@ export default { name: "OrderScheduling", + dicts: ['order_scheduling_produce_status','quality_status','print_status','material_type'], data() { return { // 閬僵灞� @@ -260,6 +333,7 @@ single: true, // 闈炲涓鐢� multiple: true, + advancedShowSearch: false, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, // 鎬绘潯鏁� @@ -274,7 +348,7 @@ queryParams: { pageNum: 1, pageSize: 10, - orderNumber: null, + orderNo: null, engineNo: null, productType: null, model: null, @@ -285,25 +359,72 @@ whetherOrPrint: null, report10: null, report20: null, - combinedBoxLaunch: null, - finalAssemblyOffline: null, + combinedBoxTime: null, + finalAssemblyTime: null, operator: null, - operateTime: null + operateTime: null, + status: null, + spareField1: null, + spareField2: null, + spareField3: null, + spareField4: null, + createUser: null, + updateUser: null, + remarks: null, + dateConditions: [], }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 rules: { - } + id: [ + { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" } + ], + }, + pickerOptions: { + shortcuts: [{ + text: '鏈�杩戜竴鍛�', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit('pick', [start, end]); + } + }, { + text: '鏈�杩戜竴涓湀', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit('pick', [start, end]); + } + }, { + text: '鏈�杩戜笁涓湀', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit('pick', [start, end]); + } + }] + }, + value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)], + value2: '' }; }, created() { + let workOrderNo = this.$route.query.workOrderNo; + this.queryParams.orderNo = workOrderNo this.getList(); }, methods: { + advancedQuery(){ + this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true; + }, /** 鏌ヨ璁㈠崟鎺掍骇鍒楄〃 */ getList() { this.loading = true; + console.log(this.queryParams) listOrderScheduling(this.queryParams).then(response => { this.orderSchedulingList = response.rows; this.total = response.total; @@ -318,7 +439,8 @@ // 琛ㄥ崟閲嶇疆 reset() { this.form = { - orderNumber: null, + id: null, + orderNo: null, engineNo: null, productType: null, model: null, @@ -329,10 +451,27 @@ whetherOrPrint: null, report10: null, report20: null, - combinedBoxLaunch: null, - finalAssemblyOffline: null, + combinedBoxTime: null, + finalAssemblyTime: null, operator: null, - operateTime: null + operateTime: null, + status: null, + spareField1: null, + spareField2: null, + spareField3: null, + spareField4: null, + createUser: null, + createTime: null, + updateUser: null, + updateTime: null, + remarks: null, + report30: null, + boxClosingOnlineTime: null, + closingBoxOfflineTime: null, + finalAssemblyLaunchTime: null, + finalAssemblyOfflineTime: null, + cvtLaunchTime: null, + cvtOfflineTime: null }; this.resetForm("form"); }, @@ -348,7 +487,7 @@ }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map(item => item.orderNumber) + this.ids = selection.map(item => item.id) this.single = selection.length!==1 this.multiple = !selection.length }, @@ -361,8 +500,8 @@ /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); - const orderNumber = row.orderNumber || this.ids - getOrderScheduling(orderNumber).then(response => { + const id = row.id || this.ids + getOrderScheduling(id).then(response => { this.form = response.data; this.open = true; this.titleName = "淇敼璁㈠崟鎺掍骇"; @@ -372,7 +511,7 @@ submitForm() { this.$refs["form"].validate(valid => { if (valid) { - if (this.form.orderNumber != null) { + if (this.form.id != null) { updateOrderScheduling(this.form).then(response => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; @@ -390,9 +529,9 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const orderNumbers = row.orderNumber || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎璁㈠崟鎺掍骇缂栧彿涓�"' + orderNumbers + '"鐨勬暟鎹」锛�').then(function() { - return delOrderScheduling(orderNumbers); + const ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎璁㈠崟鎺掍骇缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() { + return delOrderScheduling(ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); @@ -403,6 +542,11 @@ this.download('bs/orderScheduling/export', { ...this.queryParams }, `orderScheduling_${new Date().getTime()}.xlsx`) + }, + /** 杩斿洖鎸夐挳鎿嶄綔 */ + handleClose() { + const obj = { path: "/main/om/productionOrde" }; + this.$tab.closeOpenPage(obj); } } }; -- Gitblit v1.9.3