From 4008d83696a6998ce987133ae2d2b0ec912cf178 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期日, 07 四月 2024 09:40:12 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue | 271 +++++++++++++++++++++++++++--------------------------
1 files changed, 139 insertions(+), 132 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue b/north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue
index a1aa829..eb54c7a 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue
@@ -1,50 +1,55 @@
<script setup>
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
+import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue";
+import {useRouter, useRoute} from 'vue-router'
+import request from "@/utils/request";
+import {ElMessage} from "element-plus";
+import {changeFilterEvent, filterChanged} from "@/hook"
+import userInfo from "@/stores/userInfo"
+import {useI18n} from 'vue-i18n'
+import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove";
+//璇█鑾峰彇
+const {t} = useI18n()
+const route = useRoute()
+const user = userInfo()
+let router = useRouter()
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
+//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
+const titleSelectJson = ref({
+ processType: [],
+
+})
+//绗竴娆″姞杞芥暟鎹�
+request.post(`/basicDataProduce/selectProcess`).then((res) => {
+ if (res.code == 200) {
+
+ titleSelectJson.value.processType = res.data.process;
+ } else {
+ ElMessage.warning(res.msg)
+ }
+})
+
+onMounted(() => {
+ //鍚敤琛ㄦ牸鎷栧姩閫変腑
+ addListener(xGrid.value, gridOptions)
+})
+
//瀛愮粍浠舵帴鏀跺弬鏁�
-
+const xGrid = ref()
const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
+ border: "full",//琛ㄦ牸鍔犺竟妗�
keepSource: true,//淇濇寔婧愭暟鎹�
align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ stripe: true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true, height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
id: 'CustomerList',
showFooter: true,//鏄剧ず鑴�
printConfig: {},
importConfig: {},
exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
+ scrollY: {enabled: true},//寮�鍚櫄鎷熸粴鍔�
+ showOverflow: true,
columnConfig: {
resizable: true,
useKey: true
@@ -60,78 +65,41 @@
mode: 'row',
showStatus: true
},//琛ㄥご鍙傛暟
- columns:[
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
+ columns: [
+ {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+ {
+ field: 'basicName',
+ title: '璁惧鍚嶇О',
+ width: 500,
+ editRender: {name: 'input', attrs: {placeholder: ''}},
+ },
- {field: 'standardName', title: '鏍囧噯鍚嶇О',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'deviceName', title: '璁惧鍚嶇О',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'buyingTime', title: '璐拱鏃堕棿',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'installationTime',title: '瀹夎鏃堕棿',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'serviceInterval', title: '淇濆吇鍛ㄦ湡',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'process', title: '鎵�鍦ㄥ伐鑹�', editRender: { name: 'input', attrs: { placeholder: '' } }},
+ {
+ field: 'basicCategory',
+ title: '鎵�鍦ㄥ伐搴�',
+ width: 500,
+ editRender: {},
+ slots: {default: 'basicCategory_default', edit: 'basicCategory'}
+ },
],
//琛ㄥご鎸夐挳
toolbarConfig: {
buttons: [
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
+ {code: 'removeRow', name: t('basicData.delete'), status: 'primary', icon: 'vxe-icon-delete'},
+ {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
+ {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
],
- import: false,
- export: true,
- print: true,
+ // import: false,
+ // export: true,
+ // print: true,
zoom: true,
custom: true
},
- data: [
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- ],//table body瀹為檯鏁版嵁
+ data: [],//table body瀹為檯鏁版嵁
//鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['maintenanceFrequency','MaintenancesFrequency']
- return[
+ footerMethod({columns, data}) {//椤佃剼鍑芥暟
+ let footList = ['', '']
+ return [
columns.map((column, columnIndex) => {
if (columnIndex === 0) {
return '鍚堣:'
@@ -146,69 +114,108 @@
})
+const teamGridEvents = {
+ toolbarButtonClick({code}) {
+ const $grid = xGrid.value
+ if ($grid) {
+ switch (code) {
+ case 'addRow': {
+ $grid.insertAt({})
+ break
+ }
+
+ case 'removeRow': {
+ let result = toolbarButtonClickEvent()
+ if (result) {
+ $grid.remove(result.row)
+ }
+ break
+ }
+ case 'save': {
+ const tableData = $grid.getTableData().fullData
+ //console.log(tableData)
+ let machineData = ref({
+ machine: tableData
+ })
+ request.post("/maintenance/saveMachine", machineData.value).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success("淇濆瓨鎴愬姛")
+ //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
+ router.push({
+ path: '/main/machine/AddMachine',
+ query: {random: Math.random()}
+ })
+
+ //location.reload();
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ })
+ break
+ }
+ }
+ }
+ }
+}
+
const size = ref<'default' | 'large' | 'small'>('default')
const value1 = ref('')
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
</script>
<template>
<div class="main-div-customer">
<vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
ref="xGrid"
+ class="mytable-scrollbar"
+ height="650px"
+ max-height="100%"
v-bind="gridOptions"
+ v-on="teamGridEvents"
+ @filter-change="filterChanged"
>
- <!-- @toolbar-button-click="toolbarButtonClickEvent"-->
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <template #content="{ row}">
- <ul class="expand-wrapper">
- <li v-for="(item,key,index) in row">
- <span style="font-weight: bold">{{key+': '}}</span>
- <span>{{ item }}</span>
- </li>
- </ul>
- </template>
-
- <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
- <template #button_slot="{ row }">
- <el-button @click="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
- </template>
<template #num1_filter="{ column, $panel }">
<div>
<div v-for="(option, index) in column.filters" :key="index">
- <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ <input v-model="option.data" type="type" @input="changeFilterEvent($event, option, $panel)"/>
</div>
</div>
</template>
-
-
+ <!--宸ュ簭-->
+ <template #basicCategory="{ row }">
+ <vxe-select v-model="row.basicCategory"
+ clearable
+ filterable
+ placeholder="">
+ <vxe-option v-for="item in titleSelectJson.processType"
+ :key="item.basic_name"
+ :label="item.basic_name"
+ :value="item.basic_name"/>
+ </vxe-select>
+ </template>
+ <template #basicCategory_default="{ row }">
+ <span>{{ row.basicCategory }}</span>
+ </template>
</vxe-grid>
</div>
</template>
<style scoped>
-.main-div-customer{
- width: 99%;
+.main-div-customer {
+ width: 80%;
+ margin: 0 auto;
height: 100%;
}
+.vxe-grid {
+ /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0