From 4d5d871dd1cdc90cd1d913a0c696b7662b9d17e0 Mon Sep 17 00:00:00 2001
From: houshuai <17802598606@163.com>
Date: 星期一, 30 六月 2025 17:12:36 +0800
Subject: [PATCH] 线边库基本页面搭建
---
src/views/lsw/modules/LswMaterialModal.vue | 64 +
src/views/lsw/modules/LswMaterialInventoryForm.vue | 129 +++
src/views/lsw/modules/LswMaterialInventoryModal.vue | 60 +
src/views/lsw/LswMaterialOutboundList.vue | 219 +++++
src/views/lsw/modules/LswMaterialForm.vue | 220 +++++
src/views/lsw/LswMaterialInventoryList.vue | 201 +++++
src/views/lsw/modules/LswMaterialOutboundModal.vue | 60 +
src/views/lsw/modules/LswMaterialOutboundForm.vue | 144 +++
yarn.lock | 285 +++++++
src/views/lsw/modules/LswMaterialInboundModal.vue | 60 +
src/views/lsw/LswMaterialInboundList.vue | 219 +++++
src/views/lsw/modules/LswMaterialInboundForm.vue | 144 +++
src/views/lsw/LswMateriaView.vue | 232 ++++++
src/views/lsw/LswMaterialList.vue | 196 +++++
14 files changed, 2,229 insertions(+), 4 deletions(-)
diff --git a/src/views/lsw/LswMateriaView.vue b/src/views/lsw/LswMateriaView.vue
new file mode 100644
index 0000000..0b726ef
--- /dev/null
+++ b/src/views/lsw/LswMateriaView.vue
@@ -0,0 +1,232 @@
+<template>
+ <a-card
+ :bordered="false"
+ title="绾胯竟搴撶墿鏂欎俊鎭�"
+ >
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板鐗╂枡淇℃伅-娴嬭瘯</a-button>
+ <a-spin :spinning="confirmLoading">
+ <div>
+ <!-- 涓昏〃鍗曞尯鍩� -->
+ <a-table
+ ref="table"
+ size="middle"
+ bordered
+ rowKey="id"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{ selectedRowKeys: selectedRowKeys,
+ onChange: onSelectChange,
+ type: 'radio'}"
+ @change="handleTableChange">
+ </a-table>
+ </div>
+ <!-- 瀛愯〃鍗曞尯鍩� -->
+ <a-tabs v-model="activeKey" @change="handleChangeTabs">
+ <a-tab-pane tab="鐗╂枡搴撳瓨淇℃伅" :key="refKeys[0]" :forceRender="true">
+ <div style="display: flex; align-items: center; margin-bottom: 10px;">
+ <span style="margin-right: 10px;">鐗╂枡搴撳瓨淇℃伅</span>
+ <a-tag color="green" style="font-weight: bold;">
+ 搴撳瓨鎬婚噺锛歿{ totalInventoryQuantity }}
+ </a-tag>
+ </div>
+ <j-vxe-table
+ keep-source
+ :ref="refKeys[0]"
+ :loading="lswMaterialInventoryTable.loading"
+ :columns="lswMaterialInventoryTable.columns"
+ :dataSource="lswMaterialInventoryTable.dataSource"
+ :maxHeight="300"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="false"
+ />
+ </a-tab-pane>
+ </a-tabs>
+ </a-spin>
+ <lsw-material-modal ref="modalForm" @ok="modalFormOk" />
+ </a-card>
+</template>
+
+<script>
+
+import { getAction } from '@/api/manage'
+import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+import { JVXETypes } from '@/components/jeecg/JVxeTable'
+import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
+import { validateDuplicateValue } from '@/utils/util'
+import JFormContainer from '@/components/jeecg/JFormContainer'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import LswMaterialModal from '@views/lsw/modules/LswMaterialModal.vue'
+
+export default {
+ name: 'LswMaterialForm',
+ mixins: [JVxeTableModelMixin, JeecgListMixin],
+ components: {
+ LswMaterialModal,
+ JFormContainer
+ },
+ data() {
+ return {
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 }
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 }
+ },
+ model: {},
+ // 鏂板鏃跺瓙琛ㄩ粯璁ゆ坊鍔犲嚑琛岀┖鏁版嵁
+ addDefaultRowNum: 1,
+ validatorRules: {},
+ selectedRowKeys: [], // 鍒濆鍖栦负绌烘暟缁勶紙鍗曢�夋椂瀛樺偍鍗曚釜key锛�
+ selectedRowData: null,
+ refKeys: ['lswMaterialInventory'],
+ tableKeys: ['lswMaterialInventory'],
+ activeKey: 'lswMaterialInventory',
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key: 'rowIndex',
+ width: 60,
+ align: 'center',
+ customRender: function(t, r, index) {
+ return parseInt(index) + 1
+ }
+ },
+ {
+ title: '鐗╂枡缂栫爜',
+ align: 'center',
+ dataIndex: 'materialNumber',
+ customRender: (text) => <strong>{text}</strong>
+ },
+ {
+ title: '鐗╂枡鍚嶇О',
+ align: 'center',
+ dataIndex: 'materialName'
+ },
+ {
+ title: '鐗╂枡鍨嬪彿',
+ align: 'center',
+ dataIndex: 'materialModel'
+ },
+ {
+ title: '鐗╂枡绫诲瀷',
+ align: 'center',
+ dataIndex: 'materialCategory_dictText'
+ },
+ {
+ title: '鍗曚綅',
+ align: 'center',
+ dataIndex: 'materialUnit'
+ }
+ ],
+ // 鐗╂枡搴撳瓨淇℃伅
+ lswMaterialInventoryTable: {
+ loading: false,
+ dataSource: [],
+ columns: [
+ {
+ title: '鎵规鍙�',
+ key: 'batchNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '搴撳瓨绫诲瀷',
+ key: 'inventoryCategory',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鏁伴噺',
+ key: 'quantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '搴撳瓨鍦癐D',
+ key: 'warehouseId',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '搴撳瓨鐘舵��',
+ key: 'inventoryStatus',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ }
+ ]
+ },
+ url: {
+ list: '/lswmaterial/lswMaterial/list',
+ queryById: '/lswmaterial/lswMaterial/queryById',
+ lswMaterialInventory: {
+ list: '/lswmaterial/lswMaterial/queryLswMaterialInventoryByMainId'
+ }
+ }
+ }
+ },
+ props: {
+ //琛ㄥ崟绂佺敤
+ disabled: {
+ type: Boolean,
+ default: false,
+ required: false
+ }
+ },
+ computed: {
+ formDisabled() {
+ return this.disabled
+ },
+ totalInventoryQuantity() {
+ if (!this.lswMaterialInventoryTable.dataSource || this.lswMaterialInventoryTable.dataSource.length === 0) {
+ return '0';
+ }
+ return this.lswMaterialInventoryTable.dataSource.reduce((sum, item) => {
+ const quantity = Number(item.quantity) || 0;
+ return sum + quantity;
+ }, 0);
+ },
+ },
+ created() {
+ },
+ methods: {
+ handleCustomAdd(){
+ console.log('鐐瑰嚮鏂板浜�')
+ },
+ handleTableChange() {
+ console.log('test---->', this.selectedRowKeys[0])
+ },
+ async onSelectChange(selectedRowKeys) {
+ // 鍗曢�夋ā寮忎笅锛宻electedRowKeys 鏄暟缁勶紝浣嗛暱搴︽渶澶氫负1
+ console.log('鐐瑰嚮浜�---->')
+ this.selectedRowKeys = selectedRowKeys
+
+ // 鑾峰彇閫変腑琛岀殑瀹屾暣鏁版嵁
+ if (selectedRowKeys.length > 0) {
+ const selectedId = selectedRowKeys[0] // 閫変腑琛岀殑id
+ const lswMaterialInventoryResult = await getAction(this.url.lswMaterialInventory.list, { 'id': selectedId })
+ this.lswMaterialInventoryTable.dataSource = lswMaterialInventoryResult.result
+ }
+ }
+
+ }
+}
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/LswMaterialInboundList.vue b/src/views/lsw/LswMaterialInboundList.vue
new file mode 100644
index 0000000..97c81f4
--- /dev/null
+++ b/src/views/lsw/LswMaterialInboundList.vue
@@ -0,0 +1,219 @@
+<template>
+ <a-card :bordered="false">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鏌ヨ鍖哄煙-END -->
+
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <a-button type="primary" icon="download" @click="handleExportXls('鐗╂枡鍏ュ簱鍗�')">瀵煎嚭</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+ <a-button type="primary" icon="import">瀵煎叆</a-button>
+ </a-upload>
+ <!-- 楂樼骇鏌ヨ鍖哄煙 -->
+ <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+ <a-dropdown v-if="selectedRowKeys.length > 0">
+ <a-menu slot="overlay">
+ <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+ </a-menu>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+ </a-dropdown>
+ </div>
+
+ <!-- table鍖哄煙-begin -->
+ <div>
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+ <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+ </div>
+
+ <a-table
+ ref="table"
+ size="middle"
+ :scroll="{x:true}"
+ bordered
+ rowKey="id"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ class="j-table-force-nowrap"
+ @change="handleTableChange">
+
+ <template slot="htmlSlot" slot-scope="text">
+ <div v-html="text"></div>
+ </template>
+ <template slot="imgSlot" slot-scope="text,record">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+ <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+ </template>
+ <template slot="fileSlot" slot-scope="text">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+ <a-button
+ v-else
+ :ghost="true"
+ type="primary"
+ icon="download"
+ size="small"
+ @click="downloadFile(text)">
+ 涓嬭浇
+ </a-button>
+ </template>
+
+ <span slot="action" slot-scope="text, record">
+ <a @click="handleEdit(record)">缂栬緫</a>
+
+ <a-divider type="vertical" />
+ <a-dropdown>
+ <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+ <a-menu slot="overlay">
+ <a-menu-item>
+ <a @click="handleDetail(record)">璇︽儏</a>
+ </a-menu-item>
+ <a-menu-item>
+ <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+ <a>鍒犻櫎</a>
+ </a-popconfirm>
+ </a-menu-item>
+ </a-menu>
+ </a-dropdown>
+ </span>
+
+ </a-table>
+ </div>
+
+ <lsw-material-inbound-modal ref="modalForm" @ok="modalFormOk"></lsw-material-inbound-modal>
+ </a-card>
+</template>
+
+<script>
+
+ import '@/assets/less/TableExpand.less'
+ import { mixinDevice } from '@/utils/mixin'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import LswMaterialInboundModal from './modules/LswMaterialInboundModal'
+
+ export default {
+ name: 'LswMaterialInboundList',
+ mixins:[JeecgListMixin, mixinDevice],
+ components: {
+ LswMaterialInboundModal
+ },
+ data () {
+ return {
+ description: '鐗╂枡鍏ュ簱鍗曠鐞嗛〉闈�',
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key:'rowIndex',
+ width:60,
+ align:"center",
+ customRender:function (t,r,index) {
+ return parseInt(index)+1;
+ }
+ },
+ {
+ title:'鍒犻櫎鏍囪',
+ align:"center",
+ dataIndex: 'delFlag'
+ },
+ {
+ title:'浜х嚎ID',
+ align:"center",
+ dataIndex: 'factoryId'
+ },
+ {
+ title:'搴撳瓨鍦癐D',
+ align:"center",
+ dataIndex: 'warehouseId'
+ },
+ {
+ title:'鐗╂枡缂栫爜',
+ align:"center",
+ dataIndex: 'materialNumber'
+ },
+ {
+ title:'鐗╂枡鍚嶇О',
+ align:"center",
+ dataIndex: 'materialName'
+ },
+ {
+ title:'鎵规鍙�',
+ align:"center",
+ dataIndex: 'batchNumber'
+ },
+ {
+ title:'鍏ュ簱鏁伴噺',
+ align:"center",
+ dataIndex: 'quantity'
+ },
+ {
+ title:'鎺ユ敹浜�',
+ align:"center",
+ dataIndex: 'receiver'
+ },
+ {
+ title:'鎺ユ敹鏃堕棿',
+ align:"center",
+ dataIndex: 'receiveTime'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align:"center",
+ fixed:"right",
+ width:147,
+ scopedSlots: { customRender: 'action' }
+ }
+ ],
+ url: {
+ list: "/lswmaterialinbound/lswMaterialInbound/list",
+ delete: "/lswmaterialinbound/lswMaterialInbound/delete",
+ deleteBatch: "/lswmaterialinbound/lswMaterialInbound/deleteBatch",
+ exportXlsUrl: "/lswmaterialinbound/lswMaterialInbound/exportXls",
+ importExcelUrl: "lswmaterialinbound/lswMaterialInbound/importExcel",
+
+ },
+ dictOptions:{},
+ superFieldList:[],
+ }
+ },
+ created() {
+ this.getSuperFieldList();
+ },
+ computed: {
+ importExcelUrl: function(){
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ },
+ },
+ methods: {
+ initDictConfig(){
+ },
+ getSuperFieldList(){
+ let fieldList=[];
+ fieldList.push({type:'int',value:'delFlag',text:'鍒犻櫎鏍囪',dictCode:''})
+ fieldList.push({type:'string',value:'factoryId',text:'浜х嚎ID',dictCode:''})
+ fieldList.push({type:'string',value:'warehouseId',text:'搴撳瓨鍦癐D',dictCode:''})
+ fieldList.push({type:'string',value:'materialNumber',text:'鐗╂枡缂栫爜',dictCode:''})
+ fieldList.push({type:'string',value:'materialName',text:'鐗╂枡鍚嶇О',dictCode:''})
+ fieldList.push({type:'string',value:'batchNumber',text:'鎵规鍙�',dictCode:''})
+ fieldList.push({type:'int',value:'quantity',text:'鍏ュ簱鏁伴噺',dictCode:''})
+ fieldList.push({type:'string',value:'receiver',text:'鎺ユ敹浜�',dictCode:''})
+ fieldList.push({type:'datetime',value:'receiveTime',text:'鎺ユ敹鏃堕棿'})
+ this.superFieldList = fieldList
+ }
+ }
+ }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/LswMaterialInventoryList.vue b/src/views/lsw/LswMaterialInventoryList.vue
new file mode 100644
index 0000000..b39b983
--- /dev/null
+++ b/src/views/lsw/LswMaterialInventoryList.vue
@@ -0,0 +1,201 @@
+<template>
+ <a-card :bordered="false">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鏌ヨ鍖哄煙-END -->
+
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <a-button type="primary" icon="download" @click="handleExportXls('鐗╂枡搴撳瓨淇℃伅')">瀵煎嚭</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+ <a-button type="primary" icon="import">瀵煎叆</a-button>
+ </a-upload>
+ <!-- 楂樼骇鏌ヨ鍖哄煙 -->
+ <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+ <a-dropdown v-if="selectedRowKeys.length > 0">
+ <a-menu slot="overlay">
+ <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+ </a-menu>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+ </a-dropdown>
+ </div>
+
+ <!-- table鍖哄煙-begin -->
+ <div>
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+ <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+ </div>
+
+ <a-table
+ ref="table"
+ size="middle"
+ :scroll="{x:true}"
+ bordered
+ rowKey="id"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ class="j-table-force-nowrap"
+ @change="handleTableChange">
+
+ <template slot="htmlSlot" slot-scope="text">
+ <div v-html="text"></div>
+ </template>
+ <template slot="imgSlot" slot-scope="text,record">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+ <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+ </template>
+ <template slot="fileSlot" slot-scope="text">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+ <a-button
+ v-else
+ :ghost="true"
+ type="primary"
+ icon="download"
+ size="small"
+ @click="downloadFile(text)">
+ 涓嬭浇
+ </a-button>
+ </template>
+
+ <span slot="action" slot-scope="text, record">
+ <a @click="handleEdit(record)">缂栬緫</a>
+
+ <a-divider type="vertical" />
+ <a-dropdown>
+ <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+ <a-menu slot="overlay">
+ <a-menu-item>
+ <a @click="handleDetail(record)">璇︽儏</a>
+ </a-menu-item>
+ <a-menu-item>
+ <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+ <a>鍒犻櫎</a>
+ </a-popconfirm>
+ </a-menu-item>
+ </a-menu>
+ </a-dropdown>
+ </span>
+
+ </a-table>
+ </div>
+
+ <lsw-material-inventory-modal ref="modalForm" @ok="modalFormOk"></lsw-material-inventory-modal>
+ </a-card>
+</template>
+
+<script>
+
+ import '@/assets/less/TableExpand.less'
+ import { mixinDevice } from '@/utils/mixin'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import LswMaterialInventoryModal from './modules/LswMaterialInventoryModal'
+
+ export default {
+ name: 'LswMaterialInventoryList',
+ mixins:[JeecgListMixin, mixinDevice],
+ components: {
+ LswMaterialInventoryModal
+ },
+ data () {
+ return {
+ description: '鐗╂枡搴撳瓨淇℃伅绠$悊椤甸潰',
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key:'rowIndex',
+ width:60,
+ align:"center",
+ customRender:function (t,r,index) {
+ return parseInt(index)+1;
+ }
+ },
+ {
+ title:'鐗╂枡ID',
+ align:"center",
+ dataIndex: 'materialId'
+ },
+ {
+ title:'鎵规鍙�',
+ align:"center",
+ dataIndex: 'batchNumber'
+ },
+ {
+ title:'搴撳瓨绫诲瀷',
+ align:"center",
+ dataIndex: 'inventoryCategory'
+ },
+ {
+ title:'鏁伴噺',
+ align:"center",
+ dataIndex: 'quantity'
+ },
+ {
+ title:'搴撳瓨鍦癐D',
+ align:"center",
+ dataIndex: 'warehouseId'
+ },
+ {
+ title:'搴撳瓨鐘舵��',
+ align:"center",
+ dataIndex: 'inventoryStatus'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align:"center",
+ fixed:"right",
+ width:147,
+ scopedSlots: { customRender: 'action' }
+ }
+ ],
+ url: {
+ list: "/lswmaterialinventory/lswMaterialInventory/list",
+ delete: "/lswmaterialinventory/lswMaterialInventory/delete",
+ deleteBatch: "/lswmaterialinventory/lswMaterialInventory/deleteBatch",
+ exportXlsUrl: "/lswmaterialinventory/lswMaterialInventory/exportXls",
+ importExcelUrl: "lswmaterialinventory/lswMaterialInventory/importExcel",
+
+ },
+ dictOptions:{},
+ superFieldList:[],
+ }
+ },
+ created() {
+ this.getSuperFieldList();
+ },
+ computed: {
+ importExcelUrl: function(){
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ },
+ },
+ methods: {
+ initDictConfig(){
+ },
+ getSuperFieldList(){
+ let fieldList=[];
+ fieldList.push({type:'string',value:'materialId',text:'鐗╂枡ID',dictCode:''})
+ fieldList.push({type:'string',value:'batchNumber',text:'鎵规鍙�',dictCode:''})
+ fieldList.push({type:'string',value:'inventoryCategory',text:'搴撳瓨绫诲瀷',dictCode:''})
+ fieldList.push({type:'string',value:'quantity',text:'鏁伴噺',dictCode:''})
+ fieldList.push({type:'string',value:'warehouseId',text:'搴撳瓨鍦癐D',dictCode:''})
+ fieldList.push({type:'string',value:'inventoryStatus',text:'搴撳瓨鐘舵��',dictCode:''})
+ this.superFieldList = fieldList
+ }
+ }
+ }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/LswMaterialList.vue b/src/views/lsw/LswMaterialList.vue
new file mode 100644
index 0000000..6fa1ffd
--- /dev/null
+++ b/src/views/lsw/LswMaterialList.vue
@@ -0,0 +1,196 @@
+<template>
+ <a-card :bordered="false">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鏌ヨ鍖哄煙-END -->
+
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <a-button type="primary" icon="download" @click="handleExportXls('绾胯竟搴撶墿鏂欎俊鎭�')">瀵煎嚭</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+ <a-button type="primary" icon="import">瀵煎叆</a-button>
+ </a-upload>
+ <!-- 楂樼骇鏌ヨ鍖哄煙 -->
+ <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+ <a-dropdown v-if="selectedRowKeys.length > 0">
+ <a-menu slot="overlay">
+ <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+ </a-menu>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+ </a-dropdown>
+ </div>
+
+ <!-- table鍖哄煙-begin -->
+ <div>
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+ <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+ </div>
+
+ <a-table
+ ref="table"
+ size="middle"
+ bordered
+ rowKey="id"
+ class="j-table-force-nowrap"
+ :scroll="{x:true}"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ @change="handleTableChange">
+
+ <template slot="htmlSlot" slot-scope="text">
+ <div v-html="text"></div>
+ </template>
+ <template slot="imgSlot" slot-scope="text,record">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+ <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+ </template>
+ <template slot="fileSlot" slot-scope="text">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+ <a-button
+ v-else
+ :ghost="true"
+ type="primary"
+ icon="download"
+ size="small"
+ @click="downloadFile(text)">
+ 涓嬭浇
+ </a-button>
+ </template>
+
+ <span slot="action" slot-scope="text, record">
+ <a @click="handleEdit(record)">缂栬緫</a>
+
+ <a-divider type="vertical" />
+ <a-dropdown>
+ <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+ <a-menu slot="overlay">
+ <a-menu-item>
+ <a @click="handleDetail(record)">璇︽儏</a>
+ </a-menu-item>
+ <a-menu-item>
+ <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+ <a>鍒犻櫎</a>
+ </a-popconfirm>
+ </a-menu-item>
+ </a-menu>
+ </a-dropdown>
+ </span>
+
+ </a-table>
+ </div>
+
+ <lsw-material-modal ref="modalForm" @ok="modalFormOk"/>
+ </a-card>
+</template>
+
+<script>
+
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import LswMaterialModal from './modules/LswMaterialModal'
+ import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
+ import '@/assets/less/TableExpand.less'
+
+ export default {
+ name: "LswMaterialList",
+ mixins:[JeecgListMixin],
+ components: {
+ LswMaterialModal
+ },
+ data () {
+ return {
+ description: '绾胯竟搴撶墿鏂欎俊鎭鐞嗛〉闈�',
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key:'rowIndex',
+ width:60,
+ align:"center",
+ customRender:function (t,r,index) {
+ return parseInt(index)+1;
+ }
+ },
+ {
+ title:'鐗╂枡缂栫爜',
+ align:"center",
+ dataIndex: 'materialNumber'
+ },
+ {
+ title:'鐗╂枡鍚嶇О',
+ align:"center",
+ dataIndex: 'materialName'
+ },
+ {
+ title:'鐗╂枡鍨嬪彿',
+ align:"center",
+ dataIndex: 'materialModel'
+ },
+ {
+ title:'鐗╂枡绫诲瀷',
+ align:"center",
+ dataIndex: 'materialCategory_dictText'
+ },
+ {
+ title:'鍗曚綅',
+ align:"center",
+ dataIndex: 'materialUnit'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align:"center",
+ fixed:"right",
+ width:147,
+ scopedSlots: { customRender: 'action' },
+ }
+ ],
+ url: {
+ list: "/lswmaterial/lswMaterial/list",
+ delete: "/lswmaterial/lswMaterial/delete",
+ deleteBatch: "/lswmaterial/lswMaterial/deleteBatch",
+ exportXlsUrl: "/lswmaterial/lswMaterial/exportXls",
+ importExcelUrl: "lswmaterial/lswMaterial/importExcel",
+
+ },
+ dictOptions:{},
+ superFieldList:[],
+ }
+ },
+ created() {
+ this.getSuperFieldList();
+ },
+ computed: {
+ importExcelUrl: function(){
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ }
+ },
+ methods: {
+ initDictConfig(){
+ },
+ getSuperFieldList(){
+ let fieldList=[];
+ fieldList.push({type:'int',value:'delFlag',text:'鍒犻櫎鏍囪',dictCode:''})
+ fieldList.push({type:'string',value:'materialNumber',text:'鐗╂枡缂栫爜',dictCode:''})
+ fieldList.push({type:'string',value:'materialName',text:'鐗╂枡鍚嶇О',dictCode:''})
+ fieldList.push({type:'string',value:'materialModel',text:'鐗╂枡鍨嬪彿',dictCode:''})
+ fieldList.push({type:'string',value:'materialCategory',text:'鐗╂枡绫诲瀷',dictCode:'material_category'})
+ fieldList.push({type:'string',value:'materialUnit',text:'鍗曚綅',dictCode:''})
+ this.superFieldList = fieldList
+ }
+ }
+ }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/LswMaterialOutboundList.vue b/src/views/lsw/LswMaterialOutboundList.vue
new file mode 100644
index 0000000..7045f44
--- /dev/null
+++ b/src/views/lsw/LswMaterialOutboundList.vue
@@ -0,0 +1,219 @@
+<template>
+ <a-card :bordered="false">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鏌ヨ鍖哄煙-END -->
+
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <a-button type="primary" icon="download" @click="handleExportXls('鐗╂枡鍑哄簱鍗�')">瀵煎嚭</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+ <a-button type="primary" icon="import">瀵煎叆</a-button>
+ </a-upload>
+ <!-- 楂樼骇鏌ヨ鍖哄煙 -->
+ <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+ <a-dropdown v-if="selectedRowKeys.length > 0">
+ <a-menu slot="overlay">
+ <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+ </a-menu>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+ </a-dropdown>
+ </div>
+
+ <!-- table鍖哄煙-begin -->
+ <div>
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+ <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+ </div>
+
+ <a-table
+ ref="table"
+ size="middle"
+ :scroll="{x:true}"
+ bordered
+ rowKey="id"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ class="j-table-force-nowrap"
+ @change="handleTableChange">
+
+ <template slot="htmlSlot" slot-scope="text">
+ <div v-html="text"></div>
+ </template>
+ <template slot="imgSlot" slot-scope="text,record">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+ <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+ </template>
+ <template slot="fileSlot" slot-scope="text">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+ <a-button
+ v-else
+ :ghost="true"
+ type="primary"
+ icon="download"
+ size="small"
+ @click="downloadFile(text)">
+ 涓嬭浇
+ </a-button>
+ </template>
+
+ <span slot="action" slot-scope="text, record">
+ <a @click="handleEdit(record)">缂栬緫</a>
+
+ <a-divider type="vertical" />
+ <a-dropdown>
+ <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+ <a-menu slot="overlay">
+ <a-menu-item>
+ <a @click="handleDetail(record)">璇︽儏</a>
+ </a-menu-item>
+ <a-menu-item>
+ <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+ <a>鍒犻櫎</a>
+ </a-popconfirm>
+ </a-menu-item>
+ </a-menu>
+ </a-dropdown>
+ </span>
+
+ </a-table>
+ </div>
+
+ <lsw-material-outbound-modal ref="modalForm" @ok="modalFormOk"></lsw-material-outbound-modal>
+ </a-card>
+</template>
+
+<script>
+
+ import '@/assets/less/TableExpand.less'
+ import { mixinDevice } from '@/utils/mixin'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import LswMaterialOutboundModal from './modules/LswMaterialOutboundModal'
+
+ export default {
+ name: 'LswMaterialOutboundList',
+ mixins:[JeecgListMixin, mixinDevice],
+ components: {
+ LswMaterialOutboundModal
+ },
+ data () {
+ return {
+ description: '鐗╂枡鍑哄簱鍗曠鐞嗛〉闈�',
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key:'rowIndex',
+ width:60,
+ align:"center",
+ customRender:function (t,r,index) {
+ return parseInt(index)+1;
+ }
+ },
+ {
+ title:'鍒犻櫎鏍囪',
+ align:"center",
+ dataIndex: 'delFlag'
+ },
+ {
+ title:'鐗╂枡缂栫爜',
+ align:"center",
+ dataIndex: 'materialNumber'
+ },
+ {
+ title:'鐗╂枡鍚嶇О',
+ align:"center",
+ dataIndex: 'materialName'
+ },
+ {
+ title:'浜х嚎ID',
+ align:"center",
+ dataIndex: 'factoryId'
+ },
+ {
+ title:'鎵规鍙�',
+ align:"center",
+ dataIndex: 'batchNumber'
+ },
+ {
+ title:'鍑哄簱浜�',
+ align:"center",
+ dataIndex: 'outboundStaff'
+ },
+ {
+ title:'鍑哄簱鏃堕棿',
+ align:"center",
+ dataIndex: 'outboundTime'
+ },
+ {
+ title:'鍑哄簱鏁伴噺',
+ align:"center",
+ dataIndex: 'quantity'
+ },
+ {
+ title:'宸ュ崟ID',
+ align:"center",
+ dataIndex: 'workOrderId'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align:"center",
+ fixed:"right",
+ width:147,
+ scopedSlots: { customRender: 'action' }
+ }
+ ],
+ url: {
+ list: "/lswmaterialoutbound/lswMaterialOutbound/list",
+ delete: "/lswmaterialoutbound/lswMaterialOutbound/delete",
+ deleteBatch: "/lswmaterialoutbound/lswMaterialOutbound/deleteBatch",
+ exportXlsUrl: "/lswmaterialoutbound/lswMaterialOutbound/exportXls",
+ importExcelUrl: "lswmaterialoutbound/lswMaterialOutbound/importExcel",
+
+ },
+ dictOptions:{},
+ superFieldList:[],
+ }
+ },
+ created() {
+ this.getSuperFieldList();
+ },
+ computed: {
+ importExcelUrl: function(){
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ },
+ },
+ methods: {
+ initDictConfig(){
+ },
+ getSuperFieldList(){
+ let fieldList=[];
+ fieldList.push({type:'int',value:'delFlag',text:'鍒犻櫎鏍囪',dictCode:''})
+ fieldList.push({type:'string',value:'materialNumber',text:'鐗╂枡缂栫爜',dictCode:''})
+ fieldList.push({type:'string',value:'materialName',text:'鐗╂枡鍚嶇О',dictCode:''})
+ fieldList.push({type:'string',value:'factoryId',text:'浜х嚎ID',dictCode:''})
+ fieldList.push({type:'string',value:'batchNumber',text:'鎵规鍙�',dictCode:''})
+ fieldList.push({type:'string',value:'outboundStaff',text:'鍑哄簱浜�',dictCode:''})
+ fieldList.push({type:'datetime',value:'outboundTime',text:'鍑哄簱鏃堕棿'})
+ fieldList.push({type:'string',value:'quantity',text:'鍑哄簱鏁伴噺',dictCode:''})
+ fieldList.push({type:'string',value:'workOrderId',text:'宸ュ崟ID',dictCode:''})
+ this.superFieldList = fieldList
+ }
+ }
+ }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialForm.vue b/src/views/lsw/modules/LswMaterialForm.vue
new file mode 100644
index 0000000..8c4958e
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialForm.vue
@@ -0,0 +1,220 @@
+<template>
+ <a-spin :spinning="confirmLoading">
+ <j-form-container :disabled="formDisabled">
+ <!-- 涓昏〃鍗曞尯鍩� -->
+ <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+ <a-row>
+ <a-col :span="12" >
+ <a-form-model-item label="鐗╂枡缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
+ <a-input v-model="model.materialNumber" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12" >
+ <a-form-model-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName">
+ <a-input v-model="model.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12" >
+ <a-form-model-item label="鐗╂枡鍨嬪彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialModel">
+ <a-input v-model="model.materialModel" placeholder="璇疯緭鍏ョ墿鏂欏瀷鍙�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12" >
+ <a-form-model-item label="鐗╂枡绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialCategory">
+ <j-dict-select-tag type="list" v-model="model.materialCategory" dictCode="material_category" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷" />
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12" >
+ <a-form-model-item label="鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialUnit">
+ <a-input v-model="model.materialUnit" placeholder="璇疯緭鍏ュ崟浣�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ </a-row>
+ </a-form-model>
+ </j-form-container>
+ <!-- 瀛愯〃鍗曞尯鍩� -->
+ <a-tabs v-model="activeKey" @change="handleChangeTabs">
+ <a-tab-pane tab="鐗╂枡搴撳瓨淇℃伅" :key="refKeys[0]" :forceRender="true">
+ <j-vxe-table
+ keep-source
+ :ref="refKeys[0]"
+ :loading="lswMaterialInventoryTable.loading"
+ :columns="lswMaterialInventoryTable.columns"
+ :dataSource="lswMaterialInventoryTable.dataSource"
+ :maxHeight="300"
+ :disabled="formDisabled"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="true"
+ />
+ </a-tab-pane>
+ </a-tabs>
+ </a-spin>
+</template>
+
+<script>
+
+ import { getAction } from '@/api/manage'
+ import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+ import { JVXETypes } from '@/components/jeecg/JVxeTable'
+ import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
+ import { validateDuplicateValue } from '@/utils/util'
+ import JFormContainer from '@/components/jeecg/JFormContainer'
+
+ export default {
+ name: 'LswMaterialForm',
+ mixins: [JVxeTableModelMixin],
+ components: {
+ JFormContainer,
+ },
+ data() {
+ return {
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 },
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 },
+ },
+ model:{
+ },
+ // 鏂板鏃跺瓙琛ㄩ粯璁ゆ坊鍔犲嚑琛岀┖鏁版嵁
+ addDefaultRowNum: 1,
+ validatorRules: {
+ },
+ refKeys: ['lswMaterialInventory', ],
+ tableKeys:['lswMaterialInventory', ],
+ activeKey: 'lswMaterialInventory',
+ // 鐗╂枡搴撳瓨淇℃伅
+ lswMaterialInventoryTable: {
+ loading: false,
+ dataSource: [],
+ columns: [
+ {
+ title: '鐗╂枡ID',
+ key: 'materialId',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ {
+ title: '鎵规鍙�',
+ key: 'batchNumber',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ {
+ title: '搴撳瓨绫诲瀷',
+ key: 'inventoryCategory',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ {
+ title: '鏁伴噺',
+ key: 'quantity',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ {
+ title: '搴撳瓨鍦癐D',
+ key: 'warehouseId',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ {
+ title: '搴撳瓨鐘舵��',
+ key: 'inventoryStatus',
+ type: JVXETypes.input,
+ width:"200px",
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue:'',
+ },
+ ]
+ },
+ url: {
+ add: "/lswmaterial/lswMaterial/add",
+ edit: "/lswmaterial/lswMaterial/edit",
+ queryById: "/lswmaterial/lswMaterial/queryById",
+ lswMaterialInventory: {
+ list: '/lswmaterial/lswMaterial/queryLswMaterialInventoryByMainId'
+ },
+ }
+ }
+ },
+ props: {
+ //琛ㄥ崟绂佺敤
+ disabled: {
+ type: Boolean,
+ default: false,
+ required: false
+ }
+ },
+ computed: {
+ formDisabled(){
+ return this.disabled
+ },
+ },
+ created () {
+ },
+ methods: {
+ addBefore(){
+ this.lswMaterialInventoryTable.dataSource=[]
+ },
+ getAllTable() {
+ let values = this.tableKeys.map(key => getRefPromise(this, key))
+ return Promise.all(values)
+ },
+ /** 璋冪敤瀹宔dit()鏂规硶涔嬪悗浼氳嚜鍔ㄨ皟鐢ㄦ鏂规硶 */
+ editAfter() {
+ this.$nextTick(() => {
+ })
+ // 鍔犺浇瀛愯〃鏁版嵁
+ if (this.model.id) {
+ let params = { id: this.model.id }
+ this.requestSubTableData(this.url.lswMaterialInventory.list, params, this.lswMaterialInventoryTable)
+ }
+ },
+ //鏍¢獙鎵�鏈変竴瀵逛竴瀛愯〃琛ㄥ崟
+ validateSubForm(allValues){
+ return new Promise((resolve,reject)=>{
+ Promise.all([
+ ]).then(() => {
+ resolve(allValues)
+ }).catch(e => {
+ if (e.error === VALIDATE_FAILED) {
+ // 濡傛灉鏈夋湭閫氳繃琛ㄥ崟楠岃瘉鐨勫瓙琛紝灏辫嚜鍔ㄨ烦杞埌瀹冩墍鍦ㄧ殑tab
+ this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
+ } else {
+ console.error(e)
+ }
+ })
+ })
+ },
+ /** 鏁寸悊鎴恌ormData */
+ classifyIntoFormData(allValues) {
+ let main = Object.assign(this.model, allValues.formValue)
+ return {
+ ...main, // 灞曞紑
+ lswMaterialInventoryList: allValues.tablesValue[0].tableData,
+ }
+ },
+ validateError(msg){
+ this.$message.error(msg)
+ },
+
+ }
+ }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialInboundForm.vue b/src/views/lsw/modules/LswMaterialInboundForm.vue
new file mode 100644
index 0000000..80c577d
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialInboundForm.vue
@@ -0,0 +1,144 @@
+<template>
+ <a-spin :spinning="confirmLoading">
+ <j-form-container :disabled="formDisabled">
+ <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+ <a-row>
+ <a-col :span="12">
+ <a-form-model-item label="鍒犻櫎鏍囪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">
+ <a-input-number v-model="model.delFlag" placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" style="width: 100%" />
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="浜х嚎ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId">
+ <a-input v-model="model.factoryId" placeholder="璇疯緭鍏ヤ骇绾縄D" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="搴撳瓨鍦癐D" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouseId">
+ <a-input v-model="model.warehouseId" placeholder="璇疯緭鍏ュ簱瀛樺湴ID" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鐗╂枡缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
+ <a-input v-model="model.materialNumber" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName">
+ <a-input v-model="model.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNumber">
+ <a-input v-model="model.batchNumber" placeholder="璇疯緭鍏ユ壒娆″彿" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鍏ュ簱鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="quantity">
+ <a-input-number v-model="model.quantity" placeholder="璇疯緭鍏ュ叆搴撴暟閲�" style="width: 100%" />
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鎺ユ敹浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiver">
+ <a-input v-model="model.receiver" placeholder="璇疯緭鍏ユ帴鏀朵汉" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鎺ユ敹鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiveTime">
+ <j-date placeholder="璇烽�夋嫨鎺ユ敹鏃堕棿" v-model="model.receiveTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
+ </a-form-model-item>
+ </a-col>
+ </a-row>
+ </a-form-model>
+ </j-form-container>
+ </a-spin>
+</template>
+
+<script>
+
+ import { httpAction, getAction } from '@/api/manage'
+ import { validateDuplicateValue } from '@/utils/util'
+
+ export default {
+ name: 'LswMaterialInboundForm',
+ components: {
+ },
+ props: {
+ //琛ㄥ崟绂佺敤
+ disabled: {
+ type: Boolean,
+ default: false,
+ required: false
+ }
+ },
+ data () {
+ return {
+ model:{
+ },
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 },
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 },
+ },
+ confirmLoading: false,
+ validatorRules: {
+ },
+ url: {
+ add: "/lswmaterialinbound/lswMaterialInbound/add",
+ edit: "/lswmaterialinbound/lswMaterialInbound/edit",
+ queryById: "/lswmaterialinbound/lswMaterialInbound/queryById"
+ }
+ }
+ },
+ computed: {
+ formDisabled(){
+ return this.disabled
+ },
+ },
+ created () {
+ //澶囦唤model鍘熷鍊�
+ this.modelDefault = JSON.parse(JSON.stringify(this.model));
+ },
+ methods: {
+ add () {
+ this.edit(this.modelDefault);
+ },
+ edit (record) {
+ this.model = Object.assign({}, record);
+ this.visible = true;
+ },
+ submitForm () {
+ const that = this;
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true;
+ let httpurl = '';
+ let method = '';
+ if(!this.model.id){
+ httpurl+=this.url.add;
+ method = 'post';
+ }else{
+ httpurl+=this.url.edit;
+ method = 'put';
+ }
+ httpAction(httpurl,this.model,method).then((res)=>{
+ if(res.success){
+ that.$message.success(res.message);
+ that.$emit('ok');
+ }else{
+ that.$message.warning(res.message);
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ })
+ }
+
+ })
+ },
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialInboundModal.vue b/src/views/lsw/modules/LswMaterialInboundModal.vue
new file mode 100644
index 0000000..45eb4f4
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialInboundModal.vue
@@ -0,0 +1,60 @@
+<template>
+ <j-modal
+ :title="title"
+ :width="width"
+ :visible="visible"
+ switchFullscreen
+ @ok="handleOk"
+ :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+ @cancel="handleCancel"
+ cancelText="鍏抽棴">
+ <lsw-material-inbound-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></lsw-material-inbound-form>
+ </j-modal>
+</template>
+
+<script>
+
+ import LswMaterialInboundForm from './LswMaterialInboundForm'
+ export default {
+ name: 'LswMaterialInboundModal',
+ components: {
+ LswMaterialInboundForm
+ },
+ data () {
+ return {
+ title:'',
+ width:896,
+ visible: false,
+ disableSubmit: false
+ }
+ },
+ methods: {
+ add () {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.add();
+ })
+ },
+ edit (record) {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.edit(record);
+ })
+ },
+ close () {
+ this.$emit('close');
+ this.visible = false;
+ },
+ handleOk () {
+ this.$refs.realForm.submitForm();
+ },
+ submitCallback(){
+ this.$emit('ok');
+ this.visible = false;
+ },
+ handleCancel () {
+ this.close()
+ }
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialInventoryForm.vue b/src/views/lsw/modules/LswMaterialInventoryForm.vue
new file mode 100644
index 0000000..79637ba
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialInventoryForm.vue
@@ -0,0 +1,129 @@
+<template>
+ <a-spin :spinning="confirmLoading">
+ <j-form-container :disabled="formDisabled">
+ <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+ <a-row>
+ <a-col :span="12">
+ <a-form-model-item label="鐗╂枡ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialId">
+ <a-input v-model="model.materialId" placeholder="璇疯緭鍏ョ墿鏂橧D" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNumber">
+ <a-input v-model="model.batchNumber" placeholder="璇疯緭鍏ユ壒娆″彿" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="搴撳瓨绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inventoryCategory">
+ <a-input v-model="model.inventoryCategory" placeholder="璇疯緭鍏ュ簱瀛樼被鍨�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="quantity">
+ <a-input v-model="model.quantity" placeholder="璇疯緭鍏ユ暟閲�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="搴撳瓨鍦癐D" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouseId">
+ <a-input v-model="model.warehouseId" placeholder="璇疯緭鍏ュ簱瀛樺湴ID" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="搴撳瓨鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inventoryStatus">
+ <a-input v-model="model.inventoryStatus" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ </a-row>
+ </a-form-model>
+ </j-form-container>
+ </a-spin>
+</template>
+
+<script>
+
+ import { httpAction, getAction } from '@/api/manage'
+ import { validateDuplicateValue } from '@/utils/util'
+
+ export default {
+ name: 'LswMaterialInventoryForm',
+ components: {
+ },
+ props: {
+ //琛ㄥ崟绂佺敤
+ disabled: {
+ type: Boolean,
+ default: false,
+ required: false
+ }
+ },
+ data () {
+ return {
+ model:{
+ },
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 },
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 },
+ },
+ confirmLoading: false,
+ validatorRules: {
+ },
+ url: {
+ add: "/lswmaterialinventory/lswMaterialInventory/add",
+ edit: "/lswmaterialinventory/lswMaterialInventory/edit",
+ queryById: "/lswmaterialinventory/lswMaterialInventory/queryById"
+ }
+ }
+ },
+ computed: {
+ formDisabled(){
+ return this.disabled
+ },
+ },
+ created () {
+ //澶囦唤model鍘熷鍊�
+ this.modelDefault = JSON.parse(JSON.stringify(this.model));
+ },
+ methods: {
+ add () {
+ this.edit(this.modelDefault);
+ },
+ edit (record) {
+ this.model = Object.assign({}, record);
+ this.visible = true;
+ },
+ submitForm () {
+ const that = this;
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true;
+ let httpurl = '';
+ let method = '';
+ if(!this.model.id){
+ httpurl+=this.url.add;
+ method = 'post';
+ }else{
+ httpurl+=this.url.edit;
+ method = 'put';
+ }
+ httpAction(httpurl,this.model,method).then((res)=>{
+ if(res.success){
+ that.$message.success(res.message);
+ that.$emit('ok');
+ }else{
+ that.$message.warning(res.message);
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ })
+ }
+
+ })
+ },
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialInventoryModal.vue b/src/views/lsw/modules/LswMaterialInventoryModal.vue
new file mode 100644
index 0000000..5dc57c4
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialInventoryModal.vue
@@ -0,0 +1,60 @@
+<template>
+ <j-modal
+ :title="title"
+ :width="width"
+ :visible="visible"
+ switchFullscreen
+ @ok="handleOk"
+ :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+ @cancel="handleCancel"
+ cancelText="鍏抽棴">
+ <lsw-material-inventory-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></lsw-material-inventory-form>
+ </j-modal>
+</template>
+
+<script>
+
+ import LswMaterialInventoryForm from './LswMaterialInventoryForm'
+ export default {
+ name: 'LswMaterialInventoryModal',
+ components: {
+ LswMaterialInventoryForm
+ },
+ data () {
+ return {
+ title:'',
+ width:896,
+ visible: false,
+ disableSubmit: false
+ }
+ },
+ methods: {
+ add () {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.add();
+ })
+ },
+ edit (record) {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.edit(record);
+ })
+ },
+ close () {
+ this.$emit('close');
+ this.visible = false;
+ },
+ handleOk () {
+ this.$refs.realForm.submitForm();
+ },
+ submitCallback(){
+ this.$emit('ok');
+ this.visible = false;
+ },
+ handleCancel () {
+ this.close()
+ }
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialModal.vue b/src/views/lsw/modules/LswMaterialModal.vue
new file mode 100644
index 0000000..b7b424f
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialModal.vue
@@ -0,0 +1,64 @@
+<template>
+ <j-modal
+ :title="title"
+ :width="1200"
+ :visible="visible"
+ :maskClosable="false"
+ switchFullscreen
+ @ok="handleOk"
+ :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+ @cancel="handleCancel">
+ <lsw-material-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
+ </j-modal>
+</template>
+
+<script>
+
+ import LswMaterialForm from './LswMaterialForm'
+
+ export default {
+ name: 'LswMaterialModal',
+ components: {
+ LswMaterialForm
+ },
+ data() {
+ return {
+ title:'',
+ width:800,
+ visible: false,
+ disableSubmit: false
+ }
+ },
+ methods:{
+ add () {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.add();
+ })
+ },
+ edit (record) {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.edit(record);
+ })
+ },
+ close () {
+ this.$emit('close');
+ this.visible = false;
+ },
+ handleOk () {
+ this.$refs.realForm.handleOk();
+ },
+ submitCallback(){
+ this.$emit('ok');
+ this.visible = false;
+ },
+ handleCancel () {
+ this.close()
+ }
+ }
+ }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialOutboundForm.vue b/src/views/lsw/modules/LswMaterialOutboundForm.vue
new file mode 100644
index 0000000..eebe46f
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialOutboundForm.vue
@@ -0,0 +1,144 @@
+<template>
+ <a-spin :spinning="confirmLoading">
+ <j-form-container :disabled="formDisabled">
+ <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+ <a-row>
+ <a-col :span="12">
+ <a-form-model-item label="鍒犻櫎鏍囪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">
+ <a-input-number v-model="model.delFlag" placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" style="width: 100%" />
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鐗╂枡缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
+ <a-input v-model="model.materialNumber" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName">
+ <a-input v-model="model.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="浜х嚎ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId">
+ <a-input v-model="model.factoryId" placeholder="璇疯緭鍏ヤ骇绾縄D" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNumber">
+ <a-input v-model="model.batchNumber" placeholder="璇疯緭鍏ユ壒娆″彿" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鍑哄簱浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundStaff">
+ <a-input v-model="model.outboundStaff" placeholder="璇疯緭鍏ュ嚭搴撲汉" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鍑哄簱鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundTime">
+ <j-date placeholder="璇烽�夋嫨鍑哄簱鏃堕棿" v-model="model.outboundTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="鍑哄簱鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="quantity">
+ <a-input v-model="model.quantity" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-model-item label="宸ュ崟ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId">
+ <a-input v-model="model.workOrderId" placeholder="璇疯緭鍏ュ伐鍗旾D" ></a-input>
+ </a-form-model-item>
+ </a-col>
+ </a-row>
+ </a-form-model>
+ </j-form-container>
+ </a-spin>
+</template>
+
+<script>
+
+ import { httpAction, getAction } from '@/api/manage'
+ import { validateDuplicateValue } from '@/utils/util'
+
+ export default {
+ name: 'LswMaterialOutboundForm',
+ components: {
+ },
+ props: {
+ //琛ㄥ崟绂佺敤
+ disabled: {
+ type: Boolean,
+ default: false,
+ required: false
+ }
+ },
+ data () {
+ return {
+ model:{
+ },
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 },
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 },
+ },
+ confirmLoading: false,
+ validatorRules: {
+ },
+ url: {
+ add: "/lswmaterialoutbound/lswMaterialOutbound/add",
+ edit: "/lswmaterialoutbound/lswMaterialOutbound/edit",
+ queryById: "/lswmaterialoutbound/lswMaterialOutbound/queryById"
+ }
+ }
+ },
+ computed: {
+ formDisabled(){
+ return this.disabled
+ },
+ },
+ created () {
+ //澶囦唤model鍘熷鍊�
+ this.modelDefault = JSON.parse(JSON.stringify(this.model));
+ },
+ methods: {
+ add () {
+ this.edit(this.modelDefault);
+ },
+ edit (record) {
+ this.model = Object.assign({}, record);
+ this.visible = true;
+ },
+ submitForm () {
+ const that = this;
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true;
+ let httpurl = '';
+ let method = '';
+ if(!this.model.id){
+ httpurl+=this.url.add;
+ method = 'post';
+ }else{
+ httpurl+=this.url.edit;
+ method = 'put';
+ }
+ httpAction(httpurl,this.model,method).then((res)=>{
+ if(res.success){
+ that.$message.success(res.message);
+ that.$emit('ok');
+ }else{
+ that.$message.warning(res.message);
+ }
+ }).finally(() => {
+ that.confirmLoading = false;
+ })
+ }
+
+ })
+ },
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/views/lsw/modules/LswMaterialOutboundModal.vue b/src/views/lsw/modules/LswMaterialOutboundModal.vue
new file mode 100644
index 0000000..a5203a2
--- /dev/null
+++ b/src/views/lsw/modules/LswMaterialOutboundModal.vue
@@ -0,0 +1,60 @@
+<template>
+ <j-modal
+ :title="title"
+ :width="width"
+ :visible="visible"
+ switchFullscreen
+ @ok="handleOk"
+ :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+ @cancel="handleCancel"
+ cancelText="鍏抽棴">
+ <lsw-material-outbound-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></lsw-material-outbound-form>
+ </j-modal>
+</template>
+
+<script>
+
+ import LswMaterialOutboundForm from './LswMaterialOutboundForm'
+ export default {
+ name: 'LswMaterialOutboundModal',
+ components: {
+ LswMaterialOutboundForm
+ },
+ data () {
+ return {
+ title:'',
+ width:896,
+ visible: false,
+ disableSubmit: false
+ }
+ },
+ methods: {
+ add () {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.add();
+ })
+ },
+ edit (record) {
+ this.visible=true
+ this.$nextTick(()=>{
+ this.$refs.realForm.edit(record);
+ })
+ },
+ close () {
+ this.$emit('close');
+ this.visible = false;
+ },
+ handleOk () {
+ this.$refs.realForm.submitForm();
+ },
+ submitCallback(){
+ this.$emit('ok');
+ this.visible = false;
+ },
+ handleCancel () {
+ this.close()
+ }
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 7e59d1e..880d6b2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -355,10 +355,20 @@
dependencies:
"@babel/types" "^7.10.4"
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
"@babel/helper-validator-identifier@^7.10.4":
version "7.10.4"
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
"@babel/helper-wrap-function@^7.10.4":
version "7.10.4"
@@ -392,6 +402,13 @@
version "7.10.4"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64"
integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==
+
+"@babel/parser@^7.23.5":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.7.tgz#1687f5294b45039c159730e3b9c1f1b242e425e9"
+ integrity sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==
+ dependencies:
+ "@babel/types" "^7.27.7"
"@babel/plugin-proposal-async-generator-functions@^7.2.0":
version "7.10.4"
@@ -861,6 +878,14 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
+"@babel/types@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/types/-/types-7.27.7.tgz#40eabd562049b2ee1a205fa589e629f945dce20f"
+ integrity sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@@ -1315,6 +1340,17 @@
request-promise-native "^1.0.7"
semver "^6.0.0"
string.prototype.padstart "^3.0.0"
+
+"@vue/compiler-sfc@2.7.16":
+ version "2.7.16"
+ resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83"
+ integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==
+ dependencies:
+ "@babel/parser" "^7.23.5"
+ postcss "^8.4.14"
+ source-map "^0.6.1"
+ optionalDependencies:
+ prettier "^1.18.2 || ^2.0.0"
"@vue/component-compiler-utils@^3.0.0", "@vue/component-compiler-utils@^3.1.0":
version "3.1.2"
@@ -1919,6 +1955,13 @@
resolved "https://registry.npmjs.org/async-validator/-/async-validator-3.3.0.tgz#1d92193bbe60d6d6c8b246692c7005e9ed14a8ee"
integrity sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg==
+async-validator@~1.8.1:
+ version "1.8.5"
+ resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
+ integrity sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==
+ dependencies:
+ babel-runtime "6.x"
+
async@^2.1.2, async@^2.4.1, async@^2.6.2:
version "2.6.3"
resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
@@ -2164,7 +2207,7 @@
babel-traverse "^6.24.1"
babel-types "^6.24.1"
-babel-helper-vue-jsx-merge-props@^2.0.3:
+babel-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==
@@ -2696,6 +2739,31 @@
version "1.0.0"
resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
+bpmn-js@^7.2.1:
+ version "7.5.0"
+ resolved "https://registry.npmmirror.com/bpmn-js/-/bpmn-js-7.5.0.tgz#0e4675acdbdff676db859f8cb7ec395d20e7bbd8"
+ integrity sha512-0ANaE6Bikg1GmkcvO7RK0MQPX+EKYKBc+q7OWk39/16NcCdNZ/4UiRcCr9n0u1VUCIDsSU/jJ79TIZFnV5CNjw==
+ dependencies:
+ bpmn-moddle "^7.0.4"
+ css.escape "^1.5.1"
+ diagram-js "^6.8.2"
+ diagram-js-direct-editing "^1.6.1"
+ ids "^1.0.0"
+ inherits "^2.0.4"
+ min-dash "^3.5.2"
+ min-dom "^3.1.3"
+ object-refs "^0.3.0"
+ tiny-svg "^2.2.2"
+
+bpmn-moddle@^7.0.4:
+ version "7.1.3"
+ resolved "https://registry.npmmirror.com/bpmn-moddle/-/bpmn-moddle-7.1.3.tgz#5b4592001e8f23dbdb18c557531e06489462bf42"
+ integrity sha512-ZcBfw0NSOdYTSXFKEn7MOXHItz7VfLZTrFYKO8cK6V8ZzGjCcdiLIOiw7Lctw1PJsihhLiZQS8Htj2xKf+NwCg==
+ dependencies:
+ min-dash "^3.5.2"
+ moddle "^5.0.2"
+ moddle-xml "^9.0.6"
brace-expansion@^1.1.7:
version "1.1.11"
@@ -3497,6 +3565,11 @@
resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+component-event@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/component-event/-/component-event-0.1.4.tgz#3de78fc28782381787e24bf2a7c536bf0142c9b4"
+ integrity sha512-GMwOG8MnUHP1l8DZx1ztFO0SJTFnIzZnBDkXAj8RM2ntV2A6ALlDxgbMY1Fvxlg6WPQ+5IM/a6vg4PEYbjg/Rw==
+
component-indexof@0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24"
@@ -3904,6 +3977,11 @@
resolved "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==
+css.escape@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
+ integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
+
css@^2.0.0:
version "2.2.4"
resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
@@ -4044,6 +4122,11 @@
dependencies:
clap "^1.0.9"
source-map "^0.5.3"
+
+csstype@^3.1.0:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
current-script-polyfill@^1.0.0:
version "1.0.0"
@@ -4301,9 +4384,9 @@
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-deepmerge@^1.5.2:
+deepmerge@^1.2.0, deepmerge@^1.5.2:
version "1.5.2"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
+ resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
default-gateway@^4.2.0:
@@ -4432,6 +4515,34 @@
resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
+diagram-js-direct-editing@^1.6.1:
+ version "1.8.0"
+ resolved "https://registry.npmmirror.com/diagram-js-direct-editing/-/diagram-js-direct-editing-1.8.0.tgz#7a178cd9203f262842a3e0023f9644e04a157858"
+ integrity sha512-B4Xj+PJfgBjbPEzT3uZQEkZI5xHFB0Izc+7BhDFuHidzrEMzQKZrFGdA3PqfWhReHf3dp+iB6Tt11G9eGNjKMw==
+ dependencies:
+ min-dash "^3.5.2"
+ min-dom "^3.1.3"
+
+diagram-js@^6.8.2:
+ version "6.8.2"
+ resolved "https://registry.npmmirror.com/diagram-js/-/diagram-js-6.8.2.tgz#d3c37915c62c0cc5d95bc533098c8a35b38e67be"
+ integrity sha512-5EKYHjW2mmGsn9/jSenSkm8cScK5sO9eETBRQNIIzgZjxBDJn6eX964L2d7/vrAW9SeuijGUsztL9+NUinSsNg==
+ dependencies:
+ css.escape "^1.5.1"
+ didi "^4.0.0"
+ hammerjs "^2.0.1"
+ inherits "^2.0.1"
+ min-dash "^3.5.0"
+ min-dom "^3.1.2"
+ object-refs "^0.3.0"
+ path-intersection "^2.2.0"
+ tiny-svg "^2.2.1"
+
+didi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/didi/-/didi-4.0.0.tgz#2b89d892a67fd3777f7642d3bf06697b69e9b622"
+ integrity sha512-AzMElh8mCHOPWPCWfGjoJRla31fMXUT6+287W5ef3IPmtuBcyG9+MkFS7uPP6v3t2Cl086KwWfRB9mESa0OsHQ==
+
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -4549,6 +4660,11 @@
dependencies:
domelementtype "1"
+domify@^1.3.1:
+ version "1.4.2"
+ resolved "https://registry.npmmirror.com/domify/-/domify-1.4.2.tgz#2d3e8ac49cae41206cc84be31ca401050ae780a6"
+ integrity sha512-m4yreHcUWHBncGVV7U+yQzc12vIlq0jMrtHZ5mW6dQMiL/7skSYNVX9wqKwOtyO9SGCgevrAFEgOCAHmamHTUA==
+
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
@@ -4647,6 +4763,18 @@
version "1.3.496"
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz#3f43d32930481d82ad3663d79658e7c59a58af0b"
integrity sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ==
+
+element-ui@^2.12.0, element-ui@^2.13.2, element-ui@^2.15.14:
+ version "2.15.14"
+ resolved "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.14.tgz#3c34df79467636592812d720d2e6784e7a6ec2ea"
+ integrity sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==
+ dependencies:
+ async-validator "~1.8.1"
+ babel-helper-vue-jsx-merge-props "^2.0.0"
+ deepmerge "^1.2.0"
+ normalize-wheel "^1.0.1"
+ resize-observer-polyfill "^1.5.0"
+ throttle-debounce "^1.0.1"
elliptic@^6.0.0, elliptic@^6.5.2:
version "6.5.3"
@@ -5917,6 +6045,11 @@
duplexer "^0.1.1"
pify "^4.0.1"
+hammerjs@^2.0.1:
+ version "2.0.8"
+ resolved "https://registry.npmmirror.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
+ integrity sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==
+
handle-thing@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
@@ -6284,6 +6417,11 @@
dependencies:
postcss "^6.0.1"
+ids@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/ids/-/ids-1.0.5.tgz#0aeb4777e77e0017a983c9f7b0ca0cccf352afe4"
+ integrity sha512-XQ0yom/4KWTL29sLG+tyuycy7UmeaM/79GRtSJq6IG9cJGIPeBz5kwDCguie3TwxaMNIc3WtPi0cTa1XYHicpw==
+
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -6388,6 +6526,11 @@
version "1.0.1"
resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
+
+indexof@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmmirror.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==
infer-owner@^1.0.3, infer-owner@^1.0.4:
version "1.0.4"
@@ -7299,6 +7442,11 @@
resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+ integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
+
lodash.defaults@^3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c"
@@ -7360,6 +7508,11 @@
version "4.1.2"
resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
lodash.pick@^4.4.0:
version "4.4.0"
@@ -7488,6 +7641,11 @@
integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
+
+matches-selector@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/matches-selector/-/matches-selector-1.2.0.tgz#d1814e7e8f43e69d22ac33c9af727dc884ecf12a"
+ integrity sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA==
math-expression-evaluator@^1.2.14:
version "1.2.22"
@@ -7652,6 +7810,22 @@
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+min-dash@^3.0.0, min-dash@^3.5.0, min-dash@^3.5.2, min-dash@^3.8.1:
+ version "3.8.1"
+ resolved "https://registry.npmmirror.com/min-dash/-/min-dash-3.8.1.tgz#09a8bd8a041d65eec4732042cde9cb24a6e84b0d"
+ integrity sha512-evumdlmIlg9mbRVPbC4F5FuRhNmcMS5pvuBUbqb1G9v09Ro0ImPEgz5n3khir83lFok1inKqVDjnKEg3GpDxQg==
+
+min-dom@^3.1.2, min-dom@^3.1.3:
+ version "3.2.1"
+ resolved "https://registry.npmmirror.com/min-dom/-/min-dom-3.2.1.tgz#c272a814397d8bfe97edd12670e7ac34123c043f"
+ integrity sha512-v6YCmnDzxk4rRJntWTUiwggLupPw/8ZSRqUq0PDaBwVZEO/wYzCH4SKVBV+KkEvf3u0XaWHly5JEosPtqRATZA==
+ dependencies:
+ component-event "^0.1.4"
+ domify "^1.3.1"
+ indexof "0.0.1"
+ matches-selector "^1.2.0"
+ min-dash "^3.8.1"
+
mini-css-extract-plugin@^0.8.0:
version "0.8.2"
resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161"
@@ -7759,6 +7933,22 @@
dependencies:
minimist "^1.2.5"
+moddle-xml@^9.0.6:
+ version "9.0.6"
+ resolved "https://registry.npmmirror.com/moddle-xml/-/moddle-xml-9.0.6.tgz#282b2a2232065a82556ba3fbbe3010b374f95cbf"
+ integrity sha512-tl0reHpsY/aKlLGhXeFlQWlYAQHFxTkFqC8tq8jXRYpQSnLVw13T6swMaourLd7EXqHdWsc+5ggsB+fEep6xZQ==
+ dependencies:
+ min-dash "^3.5.2"
+ moddle "^5.0.2"
+ saxen "^8.1.2"
+
+moddle@^5.0.2:
+ version "5.0.4"
+ resolved "https://registry.npmmirror.com/moddle/-/moddle-5.0.4.tgz#1108c9ff210df552ef4589513e620d171e4468e6"
+ integrity sha512-Kjb+hjuzO+YlojNGxEUXvdhLYTHTtAABDlDcJTtTcn5MbJF9Zkv4I1Fyvp3Ypmfgg1EfHDZ3PsCQTuML9JD6wg==
+ dependencies:
+ min-dash "^3.0.0"
+
moment-timezone@^0.5.31:
version "0.5.34"
resolved "https://registry.npmmirror.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c"
@@ -7839,6 +8029,11 @@
version "2.14.1"
resolved "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
nanomatch@^1.2.9:
version "1.2.13"
@@ -8004,6 +8199,11 @@
resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
+normalize-wheel@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
+ integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==
+
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -8091,6 +8291,11 @@
version "0.9.2"
resolved "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5"
integrity sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=
+
+object-refs@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/object-refs/-/object-refs-0.3.0.tgz#934f4f0fb6b409e78be15fa60f616108aed63786"
+ integrity sha512-eP0ywuoWOaDoiake/6kTJlPJhs+k0qNm4nYRzXLNHj6vh+5M3i9R1epJTdxIPGlhWc4fNRQ7a6XJNCX+/L4FOQ==
object-visit@^1.0.0:
version "1.0.1"
@@ -8474,6 +8679,11 @@
resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+path-intersection@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/path-intersection/-/path-intersection-2.2.1.tgz#8476b75fefb7ac402f810d304e0eb0c080c11fe7"
+ integrity sha512-9u8xvMcSfuOiStv9bPdnRJQhGQXLKurew94n4GPQCdH1nj9QKC9ObbNoIpiRq8skiOBxKkt277PgOoFgAt3/rA==
+
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -8547,6 +8757,11 @@
version "4.1.3"
resolved "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.3.tgz#59f49494eeb9ddab5888d03392926a19bc197550"
integrity sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA==
+
+picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.2.2"
@@ -9252,6 +9467,15 @@
source-map "^0.6.1"
supports-color "^6.1.0"
+postcss@^8.4.14:
+ version "8.5.6"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
+ integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ dependencies:
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -9266,6 +9490,11 @@
version "1.19.1"
resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+
+"prettier@^1.18.2 || ^2.0.0":
+ version "2.8.8"
+ resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
+ integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
pretty-error@^2.0.2, pretty-error@^2.1.1:
version "2.1.1"
@@ -9816,7 +10045,7 @@
resolved "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147"
integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=
-resize-observer-polyfill@^1.5.1:
+resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1:
version "1.5.1"
resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
@@ -10018,6 +10247,11 @@
version "1.2.4"
resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+saxen@^8.1.2:
+ version "8.1.2"
+ resolved "https://registry.npmmirror.com/saxen/-/saxen-8.1.2.tgz#e677b32afe93667c9d939d3f3de02e09df108e54"
+ integrity sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw==
schema-utils@^0.3.0:
version "0.3.0"
@@ -10350,6 +10584,11 @@
version "2.0.1"
resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+
+source-map-js@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
version "0.5.3"
@@ -10935,6 +11174,11 @@
loader-utils "^1.1.0"
neo-async "^2.6.0"
+throttle-debounce@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
+ integrity sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==
+
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -10974,6 +11218,11 @@
version "2.1.0"
resolved "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+tiny-svg@^2.2.1, tiny-svg@^2.2.2:
+ version "2.2.4"
+ resolved "https://registry.npmmirror.com/tiny-svg/-/tiny-svg-2.2.4.tgz#8d4a16bd2c4644c8444fd3c2ece91db7631cfb35"
+ integrity sha512-NOi39lBknf4UdDEahNkbEAJnzhu1ZcN2j75IS2vLRmIhsfxdZpTChfLKBcN1ShplVmPIXJAIafk6YY5/Aa80lQ==
tinycolor2@^1.4.1:
version "1.4.1"
@@ -11602,6 +11851,14 @@
resolved "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==
+vue@^2.6.11:
+ version "2.7.16"
+ resolved "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9"
+ integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==
+ dependencies:
+ "@vue/compiler-sfc" "2.7.16"
+ csstype "^3.1.0"
+
vuedraggable@^2.20.0:
version "2.24.0"
resolved "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.0.tgz#1ee069eeb91f61fcb540faf20f1c6b2d4d990a26"
@@ -11946,6 +12203,16 @@
dependencies:
errno "~0.1.7"
+workflow-bpmn-modeler@^0.2.8:
+ version "0.2.8"
+ resolved "https://registry.npmmirror.com/workflow-bpmn-modeler/-/workflow-bpmn-modeler-0.2.8.tgz#632facb1f63bcce6b85378fa7bf3a7e0da07a675"
+ integrity sha512-7Y2+YMx5mFDrpDAMoEK2EMVp5Z4585tYBLuqOxcbB5cdY6Vt1VjE1OBhzcwlFU6MWfpeisMGKbYtlPSHAOzsGg==
+ dependencies:
+ bpmn-js "^7.2.1"
+ element-ui "^2.12.0"
+ vue "^2.6.10"
+ xcrud "0.4.1"
+
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
@@ -11998,6 +12265,16 @@
dependencies:
async-limiter "~1.0.0"
+xcrud@0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmmirror.com/xcrud/-/xcrud-0.4.1.tgz#0b644bb20a307c769b8878b0d81b2791dfe1fce1"
+ integrity sha512-aUbZZDARyNhbdBqT5nrHsXkYMM3Bo0i8EFvVgEyq444cxvYkqz4I71XWN2bPVhK/axfX4RawmIHjOQTz2v/apw==
+ dependencies:
+ element-ui "^2.13.2"
+ lodash.clonedeep "^4.5.0"
+ lodash.merge "^4.6.2"
+ vue "^2.6.11"
+
xe-utils@2.4.8:
version "2.4.8"
resolved "https://registry.yarnpkg.com/xe-utils/-/xe-utils-2.4.8.tgz#0efda3ca81f6b55f68a8a31e276fb17da59c98b3"
--
Gitblit v1.9.3