From 8527b19d2b64db40db7b152ac9dcb207784a1b64 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期四, 11 一月 2024 16:07:05 +0800
Subject: [PATCH] modified: src/api/plan/manufacturingorder.js new file: src/views/common/processinspect-part.vue modified: src/views/plan/manufacturingorder/productorder-form.vue modified: src/views/quality/processInspect/processInspect-form.vue modified: src/views/technology/routing/routing-form.vue modified: vue.config.js
---
vue.config.js | 6
src/views/technology/routing/routing-form.vue | 12 -
src/views/common/processinspect-part.vue | 258 ++++++++++++++++++++++++++++++++
src/views/plan/manufacturingorder/productorder-form.vue | 118 +++++++++++++-
src/api/plan/manufacturingorder.js | 9 +
src/views/quality/processInspect/processInspect-form.vue | 19 ++
6 files changed, 400 insertions(+), 22 deletions(-)
diff --git a/src/api/plan/manufacturingorder.js b/src/api/plan/manufacturingorder.js
index e9b8d5d..ffa8ee1 100644
--- a/src/api/plan/manufacturingorder.js
+++ b/src/api/plan/manufacturingorder.js
@@ -24,6 +24,15 @@
data: obj
})
}
+
+export function changeOrder(obj) {
+ return request({
+ url: '/mes/plan/manufacturingOrder/changeOrder',
+ method: 'post',
+ data: obj
+ })
+}
+
export function refreshIfsOrderNo(obj) {
return request({
url: '/mes/plan/manufacturingOrder/refreshIfsOrderNo',
diff --git a/src/views/common/processinspect-part.vue b/src/views/common/processinspect-part.vue
new file mode 100644
index 0000000..f7f7ade
--- /dev/null
+++ b/src/views/common/processinspect-part.vue
@@ -0,0 +1,258 @@
+<template>
+ <div class="body">
+ <el-dialog
+ v-diadrag
+ width="60%"
+ title="鎶ユ淇℃伅"
+ top="5vh"
+ :visible.sync="innerVisible"
+ append-to-body
+ @close="$emit('update:currshowlist', false)"
+ :show="currshowlist"
+ class="part-dialog"
+ id="rawMaterial-part-dialog"
+ >
+ <ttable
+ :table="table"
+ @handleSelectionChange="handleSelectionChange"
+ @currentChange="handleCurrentChange"
+ :uploadInfo="uploadInfo"
+ :prelang="prelang"
+ :options="options"
+ :bottomOffset="150"
+ :ajaxFun="ajaxFun"
+ :paramObj="paramObj"
+ :isShowPagination="false"
+ ref="rawPartTable"
+ >
+ <template #toolbar></template>
+ </ttable>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="innerVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="saveSelectRow">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+ </template>
+ <script>
+ import ttable from '@/views/common/ztt-table'
+ import { chooseIFS } from '@/api/quality/rawMaterial'
+ export default {
+ props: {
+ currshowlist: {
+ type: Boolean,
+ default: false
+ },
+ paramObj: {
+ type: Object,
+ default: () => {
+ return {}
+ }
+ },
+ multiSelect: {
+ type: Boolean,
+ default: false
+ },
+ parentSelectedObj: {
+ type: Object,
+ default: null
+ },
+ parentSelectedIndex: {
+ type: Number,
+ default: null
+ }
+ },
+ data() {
+ return {
+ ajaxFun: chooseIFS,
+ innerVisible: false,
+ currentRow: null,
+ multipleSelection: [],
+ uploadInfo: {
+ // 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl
+ isShow: false,
+ url: ''
+ },
+ prelang: 'operation',
+ options: {
+ height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+ stripe: true, // 鏄惁涓烘枒椹汗 table
+ highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+ border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+ lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+ fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+ multiSelect: false, //
+ seqNo: true,
+ isGeneralSearch: false,
+ isRefresh: false, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+ isShowHide: false, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
+ isSearch: false, // 楂樼骇鏌ヨ鎸夐挳
+ defaultOrderBy: { column: 'formTime', direction: 'desc' }
+ },
+ table: {
+ total: 0,
+ currentPage: 1,
+ pageSize: 20,
+ data: [],
+ // 鏍囬
+ column: [
+ {
+ minWidth: '100',
+ prop: 'message',
+ label: 'message',
+ isTrue: false,
+ },
+ {
+ minWidth: '100',
+ prop: 'code',
+ label: '闆朵欢鍙�',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '120',
+ prop: 'projectName',
+ label: '椤圭洰鍚嶇О',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'name',
+ label: '鍘熸潗鏂欏悕绉�',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'formTime',
+ label: '鏉ユ枡鏃ユ湡',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'specs',
+ label: '瑙勬牸鍨嬪彿',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'unit',
+ label: '鍗曚綅',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'supplier',
+ label: '渚涘簲鍟�',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ {
+ minWidth: '100',
+ prop: 'number',
+ label: '鏁伴噺',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text'
+ },
+ ],
+ },
+ }
+ },
+ components: {
+ ttable
+ },
+ created(){
+
+ },
+ mounted() {
+ console.log(this.currshowlist,"寮�");
+ },
+ // props:['currentRow'],
+ methods: {
+ getData() {
+ if (this.$refs.rawPartTable !== undefined) {
+ this.$refs.rawPartTable.getDataList()
+ }
+ },
+ saveSelectRow() {
+ if (this.multiSelect) {
+ this.$emit('handleSelectionChange', this.multipleSelection)
+ } else {
+ this.$emit(
+ 'listenToPartEvent',
+ this.currentRow,
+ this.parentSelectedObj,
+ this.parentSelectedIndex
+ )
+ }
+ this.innerVisible = false
+ this.$parent.costPlannedAmountChange(this.currentRow)
+ },
+ handleCurrentChange(row) {
+ this.currentRow = row
+ },
+ handleSelectionChange(val) {
+ // 澶氳閫変腑
+ this.multipleSelection = val
+ },
+ },
+ watch: {
+ currshowlist() {
+ console.log(this.currshowlist,"寮�锛�");
+ this.innerVisible = this.currshowlist
+ if (this.currshowlist) {
+ this.$nextTick(() => {
+ // this.table.data=[]
+ this.getData()
+ })
+ }
+ }
+ },
+ }
+ </script>
+ <style>
+ .part-dialog .el-dialog__header {
+ padding: 10px 20px 10px;
+ }
+ .part-dialog .el-dialog__header .el-dialog__headerbtn {
+ top: 10px;
+ }
+ .part-dialog .el-dialog__body {
+ padding: 5px 20px;
+ }
+
+ .part-dialog .el-dialog__footer {
+ padding: 5px 20px 10px;
+ }
+
+ .part-dialog .el-dialog__body .avue-crud__pagination {
+ margin-top: 0px;
+ margin-bottom: 5px;
+ }
+ /* @media screen and (max-width: 800px) {
+ .el-dialog {
+ height: 600px !important;
+ }
+ } */
+ </style>
+
\ No newline at end of file
diff --git a/src/views/plan/manufacturingorder/productorder-form.vue b/src/views/plan/manufacturingorder/productorder-form.vue
index 6ff61e4..e825e10 100644
--- a/src/views/plan/manufacturingorder/productorder-form.vue
+++ b/src/views/plan/manufacturingorder/productorder-form.vue
@@ -257,11 +257,22 @@
</el-form-item>
</el-col>
</el-row>
-
<el-row>
<el-col :span="24" class="productorder-operates-col">
- <el-card class="productorder-operates">
- <el-table
+ <el-card class="productorder-operates" >
+ <el-row>
+ <el-col :span="2" class="frame1">搴忓彿
+ </el-col>
+ <el-col :span="4" class="frame1">宸ュ簭鍙�
+ </el-col>
+ <el-col :span="5" class="frame1">宸ュ簭鎻忚堪
+ </el-col>
+ <el-col :span="9" class="frame1">闆朵欢
+ </el-col>
+ <el-col :span="3" class="frame1">鎿嶄綔
+ </el-col>
+ </el-row>
+ <!-- <el-table
ref="operationTable"
:data="operations"
style="width: 100%;"
@@ -309,10 +320,56 @@
</el-button>
</template>
</el-table-column>
- </el-table>
+ </el-table> -->
+ <zttdraggable
+ :forceFallback="true"
+ :list="operations"
+ :animation="200"
+ fallbackClass="fallbackStyle"
+ ghostClass="item_ghost"
+ @end="dragEnd"
+ >
+ <div
+ :class="{ dragItem: true, active: x.active }"
+ v-for="(x, i) in operations"
+ :key="i"
+ >
+ <!-- <div class="dragBody">
+ <div class="info">{{ x.operationNo }}</div>
+ <div class="info">{{ x.operationName }}</div>
+ <div class="info">{{ x.partName }}</div>
+ </div> -->
+ <el-row>
+ <el-col :span="2" class="frame">{{ i+1 }}
+ </el-col>
+ <el-col :span="4" class="frame">{{ x.operationNo }}
+ </el-col>
+ <el-col :span="5" class="frame">{{ x.operationName }}
+ </el-col>
+ <el-col :span="9" class="frame">{{ x.partName }}
+ </el-col>
+ <el-col :span="3" class="frame">
+ <el-button
+ type="text"
+ size="mini"
+ @click="openOrderOperation(x)"
+ >缂栬緫
+ </el-button>
+ </el-col>
+ </el-row>
+ </div>
+ </zttdraggable>
</el-card>
</el-col>
</el-row>
+
+
+
+
+
+
+
+
</el-col>
<el-col :span="16">
<el-tabs type="card" ref="paramTabs">
@@ -918,7 +975,27 @@
/>
</div>
</template>
-<style>
+<style lang="scss">
+.frame{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100px;
+ // border-width: 1px;
+ // border-color: rgb(129, 129, 129);
+ // border-style: solid;
+ font-size: 15px;
+}
+.frame1{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 50px;
+ // border-width: 1px;
+ // border-color: rgb(129, 129, 129);
+ // border-style: solid;
+ font-size: 15px;
+}
.productorder-basic {
background-color: #fff;
height: 150px;
@@ -957,6 +1034,7 @@
.productorder-operates {
height: 605px;
border: 1px solid #ddd;
+ overflow: auto;
}
.productorder-params-template {
@@ -1008,7 +1086,8 @@
addRoutingTemplateParamLedForOrder,
updateMoBom,
delMoBom,
- bomSelectChange
+ bomSelectChange,
+ changeOrder,
} from '@/api/plan/manufacturingorder'
import { qryMoSamplingRule, delMoSamplingRule } from '@/api/plan/mosamplingrule'
import {
@@ -1038,7 +1117,7 @@
import spotCheckRule from './orderSpotCheckRule'
import spotCheckRuleEdit from './orderSpotCheckRuleEdit'
import { mapGetters } from 'vuex'
-
+import zttdraggable from 'vuedraggable'
export default {
components: {
CustomerOrder,
@@ -1054,7 +1133,8 @@
operationDialog,
insertOperationDialog,
spotCheckRule,
- spotCheckRuleEdit
+ spotCheckRuleEdit,
+ zttdraggable
},
data() {
@@ -1319,6 +1399,28 @@
}
},
methods: {
+ dragEnd(e){
+ this.operations.forEach((e, i) => {
+ e.index = i + 1
+ e.operationOrder = i+1
+ })
+ console.log(this.operations,"鎷栨嫿缁撴潫kk");
+ this.dragEndstart()
+ },
+ dragEndstart(){
+ let data = this.operations.map(el =>{
+ return {
+ id:el.id,
+ operationOrder:el.operationOrder,
+ }
+ })
+ console.log(data,"id");
+ changeOrder(data).then((res) =>{
+ console.log(res,"鍥炶皟");
+ }).catch(error => {
+ console.error(error)
+ });
+ },
getSysParam(paramKey) {
getSysParam(paramKey).then((response) => {
var paramVal = response.data.data
diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
index 7695830..d0d066d 100644
--- a/src/views/quality/processInspect/processInspect-form.vue
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -27,6 +27,11 @@
<el-form-item label="杞﹂棿璁㈠崟鍙�" prop="moNo">
<el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
v-model="processInspectVo.moNo" placeholder="璇疯緭鍏ヨ溅闂磋鍗曞彿" autocomplete="off" >
+ <!-- <el-button
+ slot="append"
+ icon="el-icon-search"
+ :disabled="resultVal!=null"
+ @click="queryCode"></el-button> -->
<el-button
slot="append"
icon="el-icon-full-screen"
@@ -251,6 +256,7 @@
<el-button type="primary" @click="deviceCode = false">纭� 瀹�</el-button>
</span>
</el-dialog>
+ <processPart :paramObj="paramObj" :currshowlist.sync="workshop" />
</div>
</template>
@@ -263,15 +269,17 @@
updateProcessInsProduct,
updateProcessInspectsById,
} from '@/api/quality/processInspect'
+import processPart from '@/views/common/processinspect-part'
import { selectDevice } from '@/api/quality/processInspect'
import qrCodeApp from '@/views/common/qrCodeApp'
import { validatePositiveInteger } from '@/util/validate'
export default {
components:{
- qrCodeApp
+ qrCodeApp,processPart
},
data() {
return {
+ paramObj:{},
qrcode: false,
row: null,
proIndex: 0,
@@ -291,6 +299,7 @@
resultVal: null,
technologyList: [],
deviceList: [],
+ workshop:false,//杞﹂棿寮圭獥
hasChildren: true,
optionsSamplename: [],
// 娣诲姞鍒�
@@ -335,6 +344,14 @@
this.init()
},
methods: {
+ queryCode(){
+ console.log("llll");
+ this.workshop = true
+ console.log(this.workshop);
+ // this.paramObj = {
+ // code: this.dataForm.code
+ // }
+ },
cancelCodeDialog(){
this.qrcode = false
},
diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue
index 2f5c33a..f467d9f 100644
--- a/src/views/technology/routing/routing-form.vue
+++ b/src/views/technology/routing/routing-form.vue
@@ -136,16 +136,8 @@
'--dragitemwidth': '250px'
}"
>
- <div
- :style="{
- width: 265 * dataForm.operations.length - 15 + 'px'
- }"
- >
- <div
- class="dragHead"
- v-for="x in dataForm.operations.length"
- :key="x"
- >
+ <div :style="{ width: 265 * dataForm.operations.length - 15 + 'px' }">
+ <div class="dragHead" v-for="x in dataForm.operations.length" :key="x" >
<div class="idx">{{ x }}</div>
</div>
<zttdraggable
diff --git a/vue.config.js b/vue.config.js
index b3ee465..bdb8870 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -4,10 +4,10 @@
*/
-// const url = 'http://192.168.2.7:9999'
-//const url = 'https://ztms-mes.chinaztt.cn/'
+const url = 'http://192.168.2.7:9999'
+// const url = 'https://ztms-mes.chinaztt.cn/'
- const url = 'http://localhost:9999'
+// const url = 'http://localhost:9999'
const localUrl = 'http://localhost:8089'
--
Gitblit v1.9.3