From 32ec691abab0c837f34ce2c4908a40a10b9dbec7 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 29 七月 2022 17:20:15 +0800
Subject: [PATCH] 1.优化项目2.综合看板静态页面初步实现
---
src/views/zzmx/chda.vue | 593 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 385 insertions(+), 208 deletions(-)
diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index efadb39..17aedb5 100644
--- a/src/views/zzmx/chda.vue
+++ b/src/views/zzmx/chda.vue
@@ -22,10 +22,12 @@
<el-form-item label="瀛樿揣绫诲瀷" style=" display: flex;">
<el-select
v-model="form.stocktypecode"
+ filterable
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
>
+ <!-- @change="val=>stocktypecodeChange(val,'form')"-->
<el-option
v-for="item in stocktypeArr"
:key="item.code"
@@ -34,9 +36,11 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鐗╂枡绫诲瀷" style=" display: flex;">
+ <el-form-item v-if="false" label="鐗╂枡绫诲瀷" style=" display: flex;">
<el-select
v-model="form.materialtypecode"
+ filterable
+ :disabled="form.stocktypecode===''"
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
@@ -52,10 +56,12 @@
<el-form-item label="鎵�灞炰粨搴�" style=" display: flex;">
<el-select
v-model="form.storehousecode"
+ filterable
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
>
+ <!-- @focus="getWareHouseSelect"-->
<el-option
v-for="item in storehouseArr"
:key="item.code"
@@ -74,16 +80,35 @@
<el-divider />
<div style="margin-left: 10px;display: flex">
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
- <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>
- <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>
+ <!-- <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>-->
+ <el-button
+ type="primary"
+ icon="el-icon-refresh-right"
+ @click="syncSeaveSearchUnit"
+ >鍚屾璁¢噺鍗曚綅
+ </el-button>
+ <el-button
+ type="primary"
+ icon="el-icon-refresh-right"
+ @click="syncInventoryFileSelect"
+ >鍚屾瀛樿揣妗f
+ </el-button>
+ <el-button
+ type="primary"
+ icon="el-icon-refresh-right"
+ @click="syncStockTypeSelect"
+ >鍚屾瀛樿揣绫诲瀷
+ </el-button>
+ <!-- <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
</div>
<el-divider />
<div class="elTableDiv">
<el-table
:data="tableData"
border
+ stripe
:height="tableHeight"
- :style="{width: 100+'%',height:tableHeight+'px',}"
+ width="100%"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -97,75 +122,93 @@
prop="RowNum"
width="50"
label="搴忓彿"
+ fixed
/>
<el-table-column
prop="partcode"
label="鐗╂枡缂栫爜"
+ min-width="160"
sortable="custom"
/>
<el-table-column
prop="partname"
+ min-width="160"
label="鐗╂枡鍚嶇О"
sortable="custom"
/>
<el-table-column
prop="partspec"
label="鐗╂枡瑙勬牸"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="uom_name"
label="鍗曚綅"
- width="120"
+ width="75"
sortable="custom"
/>
<el-table-column
prop="stocktypename"
label="瀛樿揣绫诲瀷"
sortable="custom"
+ min-width="110"
/>
- <el-table-column
- prop="materialtypename"
- label="鐗╂枡绫诲埆"
- sortable="custom"
- />
+ <!-- <el-table-column-->
+ <!-- prop="materialtypename"-->
+ <!-- label="鐗╂枡绫诲埆"-->
+ <!-- sortable="custom"-->
+ <!-- />-->
<el-table-column
prop="stck_name"
label="浠撳簱鍚嶇О"
sortable="custom"
+ min-width="110"
/>
<el-table-column
prop="maxqty"
label="搴撳瓨涓婇檺"
- width="120"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="minqty"
label="搴撳瓨涓嬮檺"
- width="120"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="lm_user"
label="鍒涘缓浜哄憳"
sortable="custom"
+ width="110"
/>
<el-table-column
prop="lm_date"
label="鍒涘缓鏃堕棿"
- show-overflow-tooltip
sortable="custom"
+ width="160"
/>
<el-table-column
label="宸ヨ壓璺嚎"
width="80"
+ prop="proute_id"
>
<template slot-scope="{row}">
- <div class="operationClass" style="justify-content: center;width: 100%">
- <i class="el-icon-share" @click="routeClick(row)" />
-
- <!-- <el-button type="text" @click="edit('edit',row)">淇敼</el-button>-->
+ <div class="operationClass">
+ <i v-if="row.proute_id==='Y'" class="el-icon-share" @click="routeClick(row)" />
+ <i v-if="row.proute_id==='N'" style="color:rgb(180 ,181, 185)" class="el-icon-share" @click="routeClick(row)" />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
+ <el-button type="text" @click="del(row)">鍒犻櫎</el-button>
</div>
</template>
</el-table-column>
@@ -183,62 +226,53 @@
@pagination="getInventoryFileSelect"
/>
</div>
+
<!--鏂板缂栬緫瀵硅瘽妗�-->
<el-dialog
- :title="operation==='add'?'鏂板':'淇敼'"
+ :close-on-click-modal="false"
+ :title="operation==='add'?'鏂板':'缂栬緫'"
:visible.sync="dialogVisible"
- width="50%"
+ width="800px"
top="15vh"
@closed="handleClose"
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
- <el-form-item label="鐗╂枡缂栫爜" prop="OrgCode">
- <el-input v-model="dialogForm.OrgCode" :disabled="operation!=='add'" style="width: 220px" />
+ <el-form-item label="鐗╂枡缂栫爜" prop="materialcode">
+ <el-input v-model="dialogForm.materialcode" :disabled="operation!=='add'" style="width: 200px" />
</el-form-item>
- <el-form-item label="鐗╂枡鍚嶇О" prop="OrgName">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鐗╂枡鍚嶇О" prop="materialname">
+ <el-input v-model="dialogForm.materialname" style="width: 200px" />
</el-form-item>
- <el-form-item label="鐗╂枡瑙勬牸" prop="OrgName">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鐗╂枡瑙勬牸" prop="materialspec">
+ <el-input v-model="dialogForm.materialspec" style="width: 200px" />
</el-form-item>
- <el-form-item label="浣跨敤鍗曚綅">
+ <el-form-item label="浣跨敤鍗曚綅" prop="uomcode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.uomcode"
+ filterable
:popper-append-to-body="false"
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
<el-option
- v-for="item in storehouseArr"
+ v-for="item in uomArr"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
- <el-form-item label="鎵�灞炰粨搴�">
+ <el-form-item label="瀛樿揣绫诲瀷" prop="stocktypecode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.stocktypecode"
+ filterable
:popper-append-to-body="false"
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
- <el-option
- v-for="item in storehouseArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="瀛樿揣绫诲瀷">
- <el-select
- v-model="dialogForm.stockcode"
- :popper-append-to-body="false"
- style="width: 220px"
- placeholder="璇烽�夋嫨"
- >
+ <!-- @change="val=>stocktypecodeChange(val,'dialogForm')"-->
+
<el-option
v-for="item in stocktypeArr"
:key="item.code"
@@ -247,26 +281,46 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鐗╂枡绫诲瀷">
+ <el-form-item label="鎵�灞炰粨搴�" prop="warehousecode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.warehousecode"
+ filterable
:popper-append-to-body="false"
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
+ <!-- @focus="getWareHouseSelect2"-->
<el-option
- v-for="item in materialtypeArr"
+ v-for="item in storehouseArr"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
- <el-form-item label="鏈�灏忓簱瀛�" prop="SupUnit">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item v-if="false" label="鐗╂枡绫诲瀷" prop="materialtypecode">
+ <el-select
+ v-model="dialogForm.materialtypecode"
+ :popper-append-to-body="false"
+ style="width: 200px"
+ filterable
+ :disabled="dialogForm.stocktypecode===''"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in materialtypeDialogArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
</el-form-item>
- <el-form-item label="鏈�澶у簱瀛�" prop="SupUnit">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+
+ <el-form-item label="鏈�澶у簱瀛�" prop="maxstockqty">
+ <el-input v-model="dialogForm.maxstockqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px" />
+ <el-form-item label="鏈�灏忓簱瀛�" prop="minstockqty" style="margin-left: 10px">
+ <el-input v-model="dialogForm.minstockqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px" />
+ </el-form-item>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -279,9 +333,10 @@
<!-- 鍗曚綅鎸夐挳瀵硅瘽妗�-->
<el-dialog
+ :close-on-click-modal="false"
title="鍗曚綅璁剧疆"
:visible.sync="officeDialogVisible"
- width="50%"
+ width="800px"
top="15vh"
class="officeDialogVisible"
@close="handleCloseOffice"
@@ -294,7 +349,7 @@
:data="officeTableData"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="300"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfOffice"
@@ -334,7 +389,12 @@
sortable="custom"
>
<template slot-scope="{row}">
- <el-input v-if="row.isVisible===1" v-model="row.digdect" placeholder="璇疯緭鍏�" />
+ <el-input
+ v-if="row.isVisible===1"
+ v-model="row.digdect"
+ oninput="value=value.replace(/[^0-9]/g,'')"
+ placeholder="璇疯緭鍏�"
+ />
<div v-else> {{ row.digdect }}</div>
</template>
</el-table-column>
@@ -344,8 +404,8 @@
label="鍙栨暣瑙勫垯"
sortable="custom"
>
+
<template slot-scope="{row}">
- <!-- <el-input v-if="row.isVisible===1" v-model="row.r_ule" placeholder="璇疯緭鍏�" />-->
<el-select
v-if="row.isVisible===1"
v-model="row.r_ule"
@@ -361,7 +421,9 @@
:value="item.code"
/>
</el-select>
- <div v-else> {{ row.r_ule }}</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RU'">鍚戜笂鍙栨暣</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RD'">鍚戜笅鍙栨暣</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RO'">鍥涜垗浜斿叆</div>
</template>
</el-table-column>
@@ -396,10 +458,12 @@
<!-- 宸ヨ壓璺嚎瀵硅瘽妗�-->
<el-dialog
+ :close-on-click-modal="false"
title="鍏宠仈宸ヨ壓璺嚎"
:visible.sync="dialogVisibleRoute"
- width="50%"
+ width="800px"
top="15vh"
+ :fullscreen="isFullscreen"
class="dialogVisibleRoute"
@closed="handleCloseRoute"
@close="handleCloseRoute"
@@ -432,6 +496,26 @@
<!-- onClick="event.cancelBubble = true"-->
</div>
</div>
+
+ <el-divider />
+ <div>
+ <i class="el-icon-s-operation" style="color:#42b983;" /> 榛樿宸ヨ壓璺嚎
+ </div>
+ <div style="margin-top: 20px">
+ <el-select
+ v-model="defaultroute_code"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in defaultroute_codeArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </div>
<el-divider />
<div style="margin-bottom: 10px">
<i class="el-icon-s-operation" style="color:#42b983;" /> 宸ュ簭鍒楄〃
@@ -440,8 +524,7 @@
<el-table
:data="projectTableData"
border
- :height="tableHeight"
- :style="{width: 100+'%',height:tableHeight+'px',}"
+ height="300"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -477,30 +560,35 @@
</div>
</span>
</el-dialog>
+
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
-import {
- AddUpdateOrganization,
- DeleteOrganization
-} from '@/api/jcsz'
-import { getCookie } from '@/utils/auth'
import { WareHouseSelect } from '@/api/wlgl'
-import { InventoryFileSelect, StockTypeSelect, UomAdd, UomSearch } from '@/api/zzmx'
+import {
+ AddUpdateInventoryFile, DeleteInventoryFile, InventoryFileAssociationRoute,
+ InventoryFileSelect, SaveInventoryFile,
+ StockTypeSelect,
+ StockTypeSelectMaterialType,
+ UomAdd,
+ UomDelete,
+ UomSearch, UomSelect
+} from '@/api/zzmx'
import $ from 'jquery'
+import { SeaveSearchInventory, SeaveSearchInventoryClass, SeaveSearchUnit } from '@/api/ErpSyncMes'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
- name: 'Zzjg',
+ name: 'CHDA',
components: {
Pagination
},
data() {
const validateName = (rule, value, callback) => {
if (!value) {
- return callback(new Error('璇疯緭鍏ョ紪鐮�'))
+ return callback(new Error('璇疯緭鍏ョ墿鏂欑紪鐮�'))
} else {
if (SER_HZ.test(value)) {
return callback(new Error('缂栫爜涓嶈兘涓轰腑鏂�'))
@@ -509,14 +597,8 @@
}
}
}
- const validateTypeCode = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('璇烽�夋嫨涓婄骇'))
- } else {
- callback()
- }
- }
return {
+ isFullscreen: false,
mainHeight: 0,
tableHeight: 0,
form: {
@@ -535,27 +617,54 @@
stocktypeArr: [], // 瀛樿揣绫诲瀷鏁扮粍
materialtypeArr: [], // 鐗╂枡绫诲瀷鏁扮粍
storehouseArr: [], // 鎵�灞炰粨搴撴暟缁�
+ storehouseArr2: [], // 鎵�灞炰粨搴撴暟缁勫璇濇
tableData: [],
dialogVisible: false,
dialogForm: {
- OrgType: '',
- OrgCode: '',
- OrgName: ''
+ id: '', // 鐗╂枡id
+ materialcode: '', // 鐗╂枡缂栫爜
+ materialname: '', // 鐗╂枡鍚嶇О
+ materialspec: '', // 鐗╂枡瑙勬牸
+ uomcode: '', // 鍗曚綅缂栫爜
+ warehousecode: '', // 鎵�灞炰粨搴撶紪鐮�
+ stocktypecode: '', // 瀛樿揣绫诲瀷缂栫爜
+ materialtypecode: '', // 鐗╂枡绫诲瀷缂栫爜
+ minstockqty: '', // 鏈�灏忓簱瀛�
+ maxstockqty: '', // 鏈�澶у簱瀛�
+ OperType: '' // 鎿嶄綔绫诲瀷
},
+ uomArr: [], // 鍗曚綅鏁扮粍缂栫爜
+ materialtypeDialogArr: [], // 瀵硅瘽妗嗕腑鐗╂枡绫诲瀷鏁扮粍
operation: '',
dialogFormRules: {
- OrgType: [
- { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] }
- ],
- OrgCode: [
+ materialcode: [
{ required: true, validator: validateName, trigger: ['blur', 'change'] }
],
- OrgName: [
- { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
+ materialname: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉�', trigger: ['blur', 'change'] }
],
- SupUnit: [
- { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
+ materialspec: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欒鏍�', trigger: ['blur', 'change'] }
+ ],
+ uomcode: [
+ { required: true, message: '璇烽�夋嫨浣跨敤鍗曚綅', trigger: ['blur', 'change'] }
+ ],
+ // warehousecode: [
+ // { required: true, message: '璇烽�夋嫨鎵�灞炰粨搴�', trigger: ['blur', 'change'] }
+ // ],
+ stocktypecode: [
+ { required: true, message: '璇烽�夋嫨瀛樿揣绫诲瀷', trigger: ['blur', 'change'] }
+ ],
+ materialtypecode: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欑被鍨�', trigger: ['blur', 'change'] }
]
+ // minstockqty: [
+ // { required: true, message: '璇疯緭鍏ユ渶灏忓簱瀛�', trigger: ['blur', 'change'] }
+ // ],
+ // maxstockqty: [
+ // { required: true, message: '璇疯緭鍏ユ渶澶у簱瀛�', trigger: ['blur', 'change'] }
+ // ]
+
},
officeDialogVisible: false,
officeForm: {
@@ -578,6 +687,8 @@
routeOperationArr: [] // 宸ヨ壓璺嚎闆嗗悎
// routeOperationSelectedArr: [] // 宸ヨ壓璺嚎閫変腑闆嗗悎鏁扮粍
},
+ defaultroute_code: '', // 榛樿宸ヨ壓璺嚎閫変腑鍊�
+ defaultroute_codeArr: '', // 榛樿宸ヨ壓璺嚎鏁扮粍
projectTableData: []// 璁惧鍒楄〃
}
},
@@ -591,6 +702,77 @@
this.getHeight()
},
methods: {
+ // 鍚屾璁¢噺鍗曚綅
+ async syncSeaveSearchUnit() {
+ const loading = this.$loading({
+ lock: true,
+ text: '姝e湪鍚屾璁¢噺鍗曚綅锛岃绋嶇瓑...',
+ spinner: 'el-icon-loading',
+ customClass: 'osloading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ const res = await SeaveSearchUnit()
+ if (res.code === '200') {
+ setTimeout(() => {
+ // this.getInventoryFileSelect()
+ this.officeTableData = res.data
+ console.log(this.officeTableData, 9)
+ loading.close()
+ this.$message.success('鍚屾鎴愬姛锛�')
+ }, 2000)
+ } else {
+ setTimeout(() => {
+ loading.close()
+ this.$message.error('鍚屾澶辫触锛�')
+ }, 10000)
+ }
+ },
+ // 鍚屾瀛樿揣妗f
+ async syncInventoryFileSelect() {
+ const loading = this.$loading({
+ lock: true,
+ text: '姝e湪鍚屾瀛樿揣妗f锛岃绋嶇瓑...',
+ spinner: 'el-icon-loading',
+ customClass: 'osloading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ const res = await SeaveSearchInventory()
+ if (res.code === '200') {
+ setTimeout(() => {
+ this.getInventoryFileSelect()
+ loading.close()
+ this.$message.success('鍚屾鎴愬姛锛�')
+ }, 2000)
+ } else {
+ setTimeout(() => {
+ loading.close()
+ this.$message.error('鍚屾澶辫触锛�')
+ }, 10000)
+ }
+ },
+ // 鍚屾瀛樿揣绫诲瀷
+ async syncStockTypeSelect() {
+ const loading = this.$loading({
+ lock: true,
+ text: '姝e湪鍚屾瀛樿揣绫诲瀷锛岃绋嶇瓑...',
+ spinner: 'el-icon-loading',
+ customClass: 'osloading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ const res = await SeaveSearchInventoryClass()
+ if (res.code === '200') {
+ setTimeout(() => {
+ this.getStockTypeSelect()
+ loading.close()
+ this.$message.success('鍚屾鎴愬姛锛�')
+ }, 2000)
+ } else {
+ setTimeout(() => {
+ loading.close()
+ this.$message.error('鍚屾澶辫触锛�')
+ }, 10000)
+ }
+ },
async getInventoryFileSelect() {
const res = await InventoryFileSelect(this.form)
this.tableData = res.data
@@ -599,9 +781,28 @@
async getStockTypeSelect() {
const { data: res } = await StockTypeSelect()
this.stocktypeArr = res
- }, async getWareHouseSelect() {
+ },
+ async getWareHouseSelect() {
const { data: res } = await WareHouseSelect()
this.storehouseArr = res
+ },
+ // async getWareHouseSelect2() {
+ // const { data: res } = await WareHouseSelect()
+ // this.storehouseArr2 = res
+ // },
+ async getuomSelect() {
+ const { data: res } = await UomSelect()
+ this.uomArr = res
+ },
+ async stocktypecodeChange(val, param) {
+ const { data: res } = await StockTypeSelectMaterialType({ stocktypecode: val })
+ if (param === 'form') {
+ this.form.materialtypecode = ''
+ this.materialtypeArr = res
+ } else if (param === 'dialogForm') {
+ this.dialogForm.materialtypecode = ''
+ this.materialtypeDialogArr = res
+ }
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -637,26 +838,34 @@
add(operation) {
this.operation = operation
this.dialogVisible = true
+ this.getuomSelect()
},
// 淇敼鎸夐挳
- edit(operation, row) {
+ async edit(operation, row) {
this.operation = operation
this.dialogVisible = true
-
+ // await this.stocktypecodeChange(row.stocktypecode, 'dialogForm')
this.$nextTick(() => {
- this.dialogForm.OrgCode = row.org_code
- this.dialogForm.OrgName = row.org_name
- this.dialogForm.SupUnit = row.parent_id
+ this.dialogForm.id = row.id
+ this.dialogForm.materialcode = row.partcode
+ this.dialogForm.materialname = row.partname
+ this.dialogForm.materialspec = row.partspec
+ this.dialogForm.uomcode = row.uom_code
+ this.dialogForm.warehousecode = row.stck_code
+ this.dialogForm.stocktypecode = row.stocktypecode
+ this.dialogForm.materialtypecode = row.materialtypecode
+ this.dialogForm.minstockqty = row.maxqty
+ this.dialogForm.maxstockqty = row.minqty
})
},
// 鍒犻櫎鎸夐挳
- async del(id) {
+ async del(row) {
this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- DeleteOrganization({ orgid: id }).then(res => {
+ DeleteInventoryFile({ materialcode: row.partcode }).then(res => {
if (res.code === '200') {
this.$message.success('鍒犻櫎鎴愬姛!')
this.getInventoryFileSelect()
@@ -668,10 +877,15 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
- this.dialogForm.OrgType = ''
- this.dialogForm.OrgCode = ''
- this.dialogForm.OrgName = ''
- this.dialogForm.SupUnit = ''
+ this.dialogForm.materialcode = ''
+ this.dialogForm.materialname = ''
+ this.dialogForm.materialspec = ''
+ this.dialogForm.uomcode = ''
+ this.dialogForm.warehousecode = ''
+ this.dialogForm.stocktypecode = ''
+ this.dialogForm.materialtypecode = ''
+ this.dialogForm.minstockqty = ''
+ this.dialogForm.maxstockqty = ''
this.$refs.dialogForm.clearValidate()
},
// 瀵硅瘽妗嗗彇娑�
@@ -680,15 +894,26 @@
},
// 瀵硅瘽妗嗙‘璁�
dialogVisibleConfirm() {
+ if (this.defaultroute_codeArr.length > 0 && this.defaultroute_code === '') {
+ return this.$message.info('榛樿宸ヨ壓璺嚎涓嶈兘涓虹┖锛�')
+ }
+
this.$refs.dialogForm.validate(valid => {
if (valid) {
const data = {
- OrganCode: this.dialogForm.OrgCode,
- OrganName: this.dialogForm.OrgName,
- OperType: this.operation === 'add' ? 'Add' : 'Update',
- Operator: getCookie('admin')
+ id: this.dialogForm.id,
+ materialcode: this.dialogForm.materialcode,
+ materialname: this.dialogForm.materialname,
+ materialspec: this.dialogForm.materialspec,
+ uomcode: this.dialogForm.uomcode,
+ warehousecode: this.dialogForm.warehousecode,
+ stocktypecode: this.dialogForm.stocktypecode,
+ materialtypecode: this.dialogForm.materialtypecode,
+ minstockqty: this.dialogForm.minstockqty === '' ? 0 : this.dialogForm.minstockqty,
+ maxstockqty: this.dialogForm.maxstockqty === '' ? 0 : this.dialogForm.maxstockqty,
+ OperType: this.operation === 'add' ? 'Add' : 'Update'
}
- AddUpdateOrganization(data).then(res => {
+ AddUpdateInventoryFile(data).then(res => {
if (res.code === '200') {
this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
this.dialogVisible = false
@@ -705,95 +930,22 @@
this.$nextTick(() => {
this.mainHeight = window.innerHeight - 250
this.tableHeight = this.mainHeight - 100
+ // this.isFullscreen = window.innerHeight < 800
+ if (window.innerHeight < 800) {
+ this.tableHeight = this.tableHeight - 50
+ }
})
},
/* 鐐瑰嚮鍏宠仈宸ヨ壓璺嚎妯″潡*/
// 宸ヨ壓璺嚎鐐瑰嚮
- async routeClick(row) {
+ async routeClick(row) {
console.log(row)
+ this.defaultroute_code = row.default_route
this.dialogFormRoute.projectCode = row.partcode
this.dialogFormRoute.projectName = row.partname
this.dialogVisibleRoute = true
- this.dialogFormRoute.routeOperationArr = [
- { 'flag': 'Y', code: '001', name: '娴嬭瘯1 ',
- 'Data': [
- {
- 'seq': 1,
- 'stepcode': 'Step01',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'Y'
- }, {
- 'seq': 2,
- 'stepcode': 'Step02',
- 'stepname': '娴嬭瘯宸ュ簭浜�',
- 'enable': 'Y'
- }, {
- 'seq': 3,
- 'stepcode': 'Step03',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'N'
- }
- ]
- },
- { 'flag': 'N', code: '002', name: '娴嬭瘯2 ',
- 'Data': [
- {
- 'seq': 1,
- 'stepcode': 'Step01',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'Y'
- }, {
- 'seq': 2,
- 'stepcode': 'Step02',
- 'stepname': '娴嬭瘯宸ュ簭浜�',
- 'enable': 'Y'
- }, {
- 'seq': 3,
- 'stepcode': 'Step03',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'N'
- }, {
- 'seq': 4,
- 'stepcode': 'Step02',
- 'stepname': '娴嬭瘯宸ュ簭浜�',
- 'enable': 'Y'
- }, {
- 'seq': 5,
- 'stepcode': 'Step03',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'N'
- }
- ]
- },
- { 'flag': 'N', code: '003', name: '娴嬭瘯3 ',
- 'Data': [
- {
- 'seq': 1,
- 'stepcode': 'Step01',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'Y'
- }
- ]
-
- },
- { 'flag': 'N', code: '004', name: '娴嬭瘯4 ',
- 'Data': [
- {
- 'seq': 1,
- 'stepcode': 'Step01',
- 'stepname': '娴嬭瘯宸ュ簭涓�',
- 'enable': 'Y'
- }, {
- 'seq': 2,
- 'stepcode': 'Step02',
- 'stepname': '娴嬭瘯宸ュ簭浜�',
- 'enable': 'Y'
- }
- ]
- }
- ]
- // const res = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
-
+ const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
+ this.dialogFormRoute.routeOperationArr = res
// let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
@@ -822,34 +974,47 @@
// }, 100)
}
})
+
+ this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.flag === 'Y')
+
+ console.log(this.defaultroute_codeArr, 123)
},
// 瀵硅瘽妗嗗叧闂�
handleCloseRoute() {
this.dialogFormRoute.routeOperationArr = []
+ this.defaultroute_codeArr = []
},
// 鍙栨秷
routeDialogVisibleCancel() {
-
+ this.dialogVisibleRoute = false
},
// 纭畾
- async routeDialogVisibleConfirm() {
+ async routeDialogVisibleConfirm() {
+ const temp = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
+ if (this.defaultroute_code === '' && temp.length > 0) {
+ return this.$message.info('榛樿宸ヨ壓璺嚎涓嶈兘涓虹┖锛�')
+ }
+
+ // 鎻愪氦鏍煎紡
const data = []
this.dialogFormRoute.routeOperationArr.forEach(item => {
if (item.isSelected2) {
data.push({ code: item.code, name: item.name })
}
})
- // const res=await xxx()
+
+ const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, this.defaultroute_code, data)
+ if (res.code === '200') {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ await this.getInventoryFileSelect()
+ this.dialogVisibleRoute = false
+ }
},
// 澶х洅瀛愮偣鍑讳簨浠�
myCheckboxClick(val) {
console.log(val, 1)
this.dialogFormRoute.routeOperationArr.forEach(item => {
- if (val.code === item.code) {
- item.isSelected1 = true
- } else {
- item.isSelected1 = false
- }
+ item.isSelected1 = val.code === item.code
})
this.projectTableData = val.Data
@@ -858,6 +1023,16 @@
myCheckboxInputClick(val) {
console.log(val, 2)
val.isSelected2 = !val.isSelected2
+
+ this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
+ if (val.code === item.code) {
+ item.flag = !item.flag
+ }
+ })
+ if (val.code === this.defaultroute_code) {
+ this.defaultroute_code = ''
+ }
+ this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
},
/* 鍗曚綅妯″潡*/
// 鍗曚綅鎸夐挳鐐瑰嚮浜嬩欢
@@ -875,7 +1050,9 @@
},
// 鏂板
addOffice() {
- const data = { code: '', name: '', digdect: '', r_ule: '', isVisible: 1 }
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? (10 + Math.random()) : number
+ const data = { code: '', name: '', digdect: '', r_ule: '', isVisible: 1, number: number }
this.officeTableData.unshift(data)
},
// 鍒犻櫎
@@ -885,12 +1062,12 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- // RoleTypeDelete({ RoleTypeCode: row.code }).then(res => {
- // if (res.code === '200') {
- // this.$message.success('鍒犻櫎鎴愬姛!')
- // this.getRoleTypeSearch()
- // }
- // })
+ UomDelete({ uomcode: row.code }).then(res => {
+ if (res.code === '200') {
+ this.$message.success('鍒犻櫎鎴愬姛!')
+ this.getRoleTypeSearch()
+ }
+ })
}).catch(() => {
this.$message.info('宸插彇娑堝垹闄�')
})
@@ -915,7 +1092,7 @@
digdect: row.digdect,
r_ule: row.r_ule
}
- const res = await UomAdd(data)
+ const res = await UomAdd([data])
if (res.code === '200') {
this.$message.success('淇濆瓨鎴愬姛锛�')
await this.getUomSearch()
@@ -924,7 +1101,7 @@
// 鍙栨秷
cancelOffice(row) {
this.officeTableData.forEach((item, index) => {
- if (item.isVisible === 1 && item.code === row.code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.officeTableData.splice(index, 1)
}
})
@@ -1012,13 +1189,13 @@
padding: 20px 100px !important;
}
-.dialogVisibleRoute{
+.dialogVisibleRoute {
::v-deep .el-dialog__body {
padding: 20px 20px !important;
}
}
-.officeDialogVisible{
+.officeDialogVisible {
::v-deep .el-dialog__body {
padding: 20px 20px !important;
}
@@ -1127,13 +1304,13 @@
color: $main_color;
}
-::v-deep .el-select .el-input .el-select__caret{
+::v-deep .el-select .el-input .el-select__caret {
display: flex;
align-items: center;
justify-content: center;
}
-.dialogVisibleRoute{
+.dialogVisibleRoute {
.myCheckboxGroup {
display: flex;
flex-wrap: wrap;
--
Gitblit v1.9.3