1、设备类管理页面完成增删改查功能
2、产品结构树工序及工步层级引入设备类概念由系统参数配置决定是否展示,若设备类存在时则NC文档挂载在设备类下不存在时则按照对应工序或工步层级下
3、产品结构树工序及工步层级的刀具列表实现增删改查功能
4、新增设备类管理页面并完成布局
5、产品结构树接口调整,产品结构树节点实体信息通过点击后调取接口获取
6、产品结构树搜素输入框增加防抖机制,避免每次输入都重新计算消耗性能使页面卡顿
7、新增工序及工步层级的刀具列表并添加系统权限
8、用户管理页面移除新增用户时的密码校验
9、产品结构树各层级属性信息展示由每行3列调整为每行4列
10、产品结构树页面在工序和工步层级实现对设备类的增删改查功能
| | |
| | | NODE_ENV=development |
| | | # VUE_APP_API_BASE_URL=http://192.168.124.118:3000 |
| | | # VUE_APP_API_BASE_URL=http://192.168.1.118:3000 |
| | | # VUE_APP_API_BASE_URL=http://195.0.1.10:6099 |
| | | VUE_APP_API_BASE_URL=http://192.168.124.26:9999 |
| | | VUE_APP_API_BASE_URL=http://192.168.1.12:9999 |
| | | # VUE_APP_API_BASE_URL=http://127.0.0.1:9999 |
| | | # VUE_APP_API_BASE_URL=http://195.0.1.10:8099 |
| | | VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas |
| | | VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview |
| | |
| | | appointCurrentDocumentVersionApi: fileId => putAction(`/nc/file/assign/version/${fileId}`), |
| | | // ææ¡£æ¯å¯¹ |
| | | fileCompareApi: fileIdArray => getAction(`/nc/file/comparison/${fileIdArray[0]}/${fileIdArray[1]}`), |
| | | // è·åææé¨é¨å表 |
| | | getAllDepartmentsListApi: () => getAction('/ucenter/depart/list/all'), |
| | | // è·åææç¨æ·å表 |
| | | // æéé
置弹çªä¸è·åææè½¦é´å表 |
| | | getAllDepartmentsListApi: () => getAction('/mdc/mdcProduction/queryTreeListByConfig'), |
| | | // æéé
置弹çªä¸è·åææç¨æ·å表 |
| | | getAllUsersListApi: () => getAction('/sys/user/list'), |
| | | // è·åææéçé¨é¨å表 |
| | | // æéé
置弹çªä¸è·åææéçé¨é¨å表 |
| | | getHasPermissionDepartApi: ({ type, id }) => getAction(`/nc/product/get/perm/depart/${type}/${id}`), |
| | | // è·åææéçç¨æ·å表 |
| | | // æéé
置弹çªä¸è·åææéçç¨æ·å表 |
| | | getHasPermissionUserApi: ({ type, id }) => getAction(`/nc/product/get/perm/user/${type}/${id}`), |
| | | // åé
é¨é¨æé |
| | | // æéé
置弹çªä¸åé
é¨é¨æé |
| | | assignPermissionToDepart: ({ treeNodeType, treeNodeId, isAssignSonNode, departIdArray }) => { |
| | | return postAction(`/nc/product/assign/add/department/${treeNodeType}/${treeNodeId}/${isAssignSonNode}`, departIdArray) |
| | | }, |
| | | // ç§»é¤é¨é¨æé |
| | | // æéé
置弹çªä¸ç§»é¤é¨é¨æé |
| | | removePermissionFromDepart: ({ treeNodeType, treeNodeId, isAssignSonNode, departIdArray }) => { |
| | | return postAction(`/nc/product/assign/remove/department/${treeNodeType}/${treeNodeId}/${isAssignSonNode}`, departIdArray) |
| | | }, |
| | | // åé
ç¨æ¶æé |
| | | // æéé
置弹çªä¸åé
ç¨æ¶æé |
| | | assignPermissionToUser: ({ treeNodeType, treeNodeId, isAssignSonNode, userIdArray }) => { |
| | | return postAction(`/nc/product/assign/add/user/${treeNodeType}/${treeNodeId}/${isAssignSonNode}`, userIdArray) |
| | | }, |
| | | // ç§»é¤ç¨æ·æé |
| | | // æéé
置弹çªä¸ç§»é¤ç¨æ·æé |
| | | removePermissionFromUser: ({ treeNodeType, treeNodeId, isAssignSonNode, userIdArray }) => { |
| | | return postAction(`/nc/product/assign/remove/user/${treeNodeType}/${treeNodeId}/${isAssignSonNode}`, userIdArray) |
| | | }, |
| | | // éè¿è½¦é´IDè·å设å¤ç±»å表 |
| | | getDeviceCustomTypeListByProductionIdApi: productionId => getAction('/nc/deviceManagement/getDeviceManagementListByProductionId', { productionId }), |
| | | |
| | | //-------------------------设å¤ç»ææ ------------------------------------------------ |
| | | // è·åè®¾å¤æ |
| | |
| | | // ç§»é¤ç¨æ·æé |
| | | removeDeviceTreePermissionFromUser: ({ treeNodeType, treeNodeId, isAssignSonNode, userIdArray }) => { |
| | | return postAction(`/nc/device/assign/remove/user/${treeNodeType}/${treeNodeId}/${isAssignSonNode}`, userIdArray) |
| | | } |
| | | }, |
| | | //-------------------------设å¤ç±»ç®¡ç------------------------------------------------ |
| | | // è·åææéçè½¦é´æ å表 |
| | | getHasPermissionWorkshopTreeApi: () => getAction('/nc/deviceManagement/getProductionIdsByUserId') |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="车é´"> |
| | | <a-select v-model="queryParam.productionId" placeholder="è¯·éæ©è½¦é´"> |
| | | <a-select-option v-for="item in workshopTreeData" :key="item.id"> |
| | | {{ item.productionName }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="设å¤ç±»åç§°"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤ç±»åç§°" v-model="queryParam.deviceManagementName"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload">éç½®</a-button> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator" style="border-top: 5px"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">æ·»å 设å¤ç±»</a-button> |
| | | <!-- <a-button type="primary" icon="download" @click="handleExportXls('设å¤ç±»ä¿¡æ¯')">导åº</a-button>--> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay" @click="handleMenuClick"> |
| | | <a-menu-item key="1"> |
| | | <a-icon type="delete" @click="batchDel"/> |
| | | å é¤ |
| | | </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" |
| | | bordered |
| | | size="middle" |
| | | rowKey="id" |
| | | :scroll="{y:465}" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | <template slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)"> |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | </a-table> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | | |
| | | <DeviceCustomTypeManagementModal ref="modalForm" :workshopTreeData="workshopTreeData" @ok="loadData"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import dncApi from '@/api/dnc' |
| | | import DeviceCustomTypeManagementModal |
| | | from '@views/dnc/base/modules/DeviceCustomTypeManagement/DeviceCustomTypeManagementModal.vue' |
| | | |
| | | export default { |
| | | name: 'DeviceCustomTypeManagement', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | DeviceCustomTypeManagementModal |
| | | }, |
| | | data() { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: '车é´', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'productionId_dictText' |
| | | }, |
| | | { |
| | | title: '设å¤ç±»', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'deviceManagementCode' |
| | | }, |
| | | { |
| | | title: '设å¤ç±»åç§°', |
| | | align: 'center', |
| | | width: 200, |
| | | dataIndex: 'deviceManagementName' |
| | | }, |
| | | { |
| | | title: '设å¤ç»ç¼å·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentIds', |
| | | width: 400, |
| | | ellipsis: true |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | scopedSlots: { customRender: 'action' }, |
| | | align: 'center', |
| | | width: 80 |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/nc/deviceManagement/query', |
| | | delete: '/nc/deviceManagement/delete', |
| | | deleteBatch: '/nc/deviceManagement/deleteBatch' |
| | | }, |
| | | workshopTreeData: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getWorkshopListByApi() |
| | | }, |
| | | methods: { |
| | | // è°ç¨æ¥å£è·åæ¥è¯¢åºåè½¦é´æ å表 |
| | | getWorkshopListByApi() { |
| | | dncApi.getHasPermissionWorkshopTreeApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.workshopTreeData = res.result |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleAdd: function() { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = 'æ°å¢' |
| | | this.$refs.modalForm.disabledEdit = false |
| | | }, |
| | | |
| | | handleEdit: function(record) { |
| | | this.$refs.modalForm.edit(record) |
| | | this.$refs.modalForm.title = 'ç¼è¾' |
| | | this.$refs.modalForm.disabledEdit = true |
| | | }, |
| | | |
| | | handleMenuClick(e) { |
| | | if (e.key == 1) { |
| | | this.batchDel() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | <!--导å
¥æä»¶å
Œ
±å¼¹çª--> |
| | | <ImportFileModal/> |
| | | |
| | | <!--æ°å¢æç¼è¾è®¾å¤ç±»å
Œ
±å¼¹çª--> |
| | | <DeviceCustomTypeModal/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import ProductStructureTree from './modules/ProductStructure/ProductStructureTree' |
| | | import ProductStructureMain from './modules/ProductStructure/ProductStructureMain' |
| | | import ImportFileModal from '../common/ImportFileModal' |
| | | import DeviceCustomTypeModal from '@views/dnc/base/modules/ProductStructure/DeviceCustomType/DeviceCustomTypeModal.vue' |
| | | |
| | | export default { |
| | | name: 'ProductStructure', |
| | | components: { |
| | | DeviceCustomTypeModal, |
| | | ProductStructureTree, |
| | | ProductStructureMain, |
| | | ImportFileModal |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="700" |
| | | @cancel="close" |
| | | :visible="visible" |
| | | :footer="null" |
| | | style="height: 100%;overflow: auto;padding-bottom: 53px;"> |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules" :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="车é´åé
" prop="productionId"> |
| | | <a-select v-model="model.productionId" placeholder="è¯·éæ©è½¦é´" @change="handleSelectChange" |
| | | :disabled="disabledEdit"> |
| | | <a-select-option v-for="item in workshopTreeData" :key="item.id"> |
| | | {{ item.productionName }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设å¤ç±»" prop="deviceManagementCode"> |
| | | <a-input allow-clear placeholder="请è¾å
¥è®¾å¤ç±»" :readOnly="disabledEdit" |
| | | v-model="model.deviceManagementCode"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设å¤ç±»åç§°" prop="deviceManagementName"> |
| | | <a-input allow-clear placeholder="请è¾å
¥è®¾å¤ç±»åç§°" :readOnly="disabledEdit" |
| | | v-model="model.deviceManagementName"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="设å¤ç»ç¼å·" :labelCol="labelColLong" :wrapperCol="wrapperColLong" |
| | | prop="equipmentIds"> |
| | | <a-input-search v-model="model.equipmentIds" :disabled="!model.productionId" @search="deviceSearch" |
| | | enter-button :placeholder='!model.productionId?"è¯·éæ©è½¦é´":"è¯·éæ©è®¾å¤ç»ç¼å·"'/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | |
| | | |
| | | <div class="drawer-bottom-button"> |
| | | <a-space> |
| | | <a-button @click="close">åæ¶</a-button> |
| | | <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">æäº¤</a-button> |
| | | </a-space> |
| | | </div> |
| | | |
| | | <workshop-device-list-modal :productionId="model.productionId" ref="deviceListModel" |
| | | @sendSelectedRowKeys="getDeviceRowKeys"/> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import WorkshopDeviceListModal from '@views/dnc/base/modules/DeviceCustomTypeManagement/WorkshopDeviceListModal.vue' |
| | | |
| | | export default { |
| | | name: 'DeviceCustomTypeManagementModal', |
| | | components: { WorkshopDeviceListModal }, |
| | | props: { |
| | | workshopTreeData: { |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | form: this.$form.createForm(this), |
| | | validatorRules: { |
| | | productionId: [ |
| | | { |
| | | required: true, message: 'è¯·éæ©è½¦é´!' |
| | | } |
| | | ], |
| | | deviceManagementCode: [ |
| | | { |
| | | required: true, message: '请è¾å
¥è®¾å¤ç±»!' |
| | | } |
| | | ], |
| | | deviceManagementName: [ |
| | | { |
| | | required: true, message: '请è¾å
¥è®¾å¤ç±»åç§°!' |
| | | } |
| | | ], |
| | | equipmentIds: [ |
| | | { |
| | | required: true, message: 'è¯·éæ©è®¾å¤ç¼å·!' |
| | | } |
| | | ] |
| | | }, |
| | | visible: false, |
| | | disabledEdit: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 14 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 4 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 19 } |
| | | }, |
| | | confirmLoading: false, |
| | | url: { |
| | | add: '/nc/deviceManagement/add', |
| | | edit: '/nc/deviceManagement/edit' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | // 车é´éæ©å¨å¼åçæ¹åæ¶è§¦åæ¸
ç©ºå·²éæ©ç设å¤ç¼å·ç» |
| | | handleSelectChange() { |
| | | if (this.model.equipmentIds) delete this.model.equipmentIds |
| | | }, |
| | | |
| | | /** |
| | | * å½è®¾å¤éæ©å®æåæäº¤å°å·²éæ©ç设å¤ç¼å·å表以éå·é弿åå°åæ°ä¸ |
| | | * @param selectedRowKeys |
| | | */ |
| | | getDeviceRowKeys(selectedRowKeys) { |
| | | if (selectedRowKeys.length === 0) return |
| | | this.$set(this.model, 'equipmentIds', selectedRowKeys.join(',')) |
| | | this.$refs.form.clearValidate() |
| | | }, |
| | | |
| | | deviceSearch() { |
| | | this.$refs.deviceListModel.openPage() |
| | | this.$refs.deviceListModel.title = 'éæ©è®¾å¤' |
| | | this.$refs.deviceListModel.disableSubmit = false |
| | | }, |
| | | |
| | | add() { |
| | | this.edit({}) |
| | | }, |
| | | |
| | | edit(record) { |
| | | this.visible = true |
| | | this.model = Object.assign({}, record) |
| | | }, |
| | | |
| | | handleSubmit() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | let apiUrl, method |
| | | if (!this.model.id) { |
| | | apiUrl = this.url.add |
| | | method = 'post' |
| | | } else { |
| | | apiUrl = this.url.edit |
| | | method = 'put' |
| | | } |
| | | httpAction(apiUrl, this.model, method) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$emit('ok') |
| | | that.close() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | } |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .drawer-bottom-button { |
| | | position: absolute; |
| | | bottom: -40px; |
| | | width: 100%; |
| | | border-top: 1px solid #e8e8e8; |
| | | padding: 10px 16px; |
| | | text-align: right; |
| | | left: 0; |
| | | background: #fff; |
| | | border-radius: 0 0 2px 2px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="close" |
| | | cancelText="å
³é"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="8" :sm="8"> |
| | | <a-form-item label="设å¤ç¼å·"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤ç¼å·" v-model="queryParam.equipmentId"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="8" :sm="8"> |
| | | <a-form-item label="设å¤åç§°"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤åç§°" v-model="queryParam.equipmentName"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="3" :sm="3"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload">éç½®</a-button> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <a-table ref="table" size="middle" bordered rowKey="equipmentId" :scroll="{y: 300}" :columns="columns" |
| | | :dataSource="dataSource" :pagination="ipagination" :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" |
| | | @change="handleTableChange"> |
| | | </a-table> |
| | | <!-- tableåºå-end --> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | |
| | | export default { |
| | | name: 'WorkshopDeviceListModal', |
| | | mixins: [JeecgListMixin], |
| | | components: {}, |
| | | props: { |
| | | productionId: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | visible: false, |
| | | disableMixinCreated: true, |
| | | columns: [ |
| | | { |
| | | title: '设å¤ç¼å·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentId' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName' |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentModel' |
| | | }, |
| | | { |
| | | title: 'æºåºIP', |
| | | align: 'center', |
| | | dataIndex: 'equipmentIp' |
| | | }, |
| | | { |
| | | title: '驱å¨ç±»å', |
| | | align: 'center', |
| | | dataIndex: 'driveType' |
| | | }, |
| | | { |
| | | title: '端å£', |
| | | align: 'center', |
| | | dataIndex: 'dataPort' |
| | | }, |
| | | { |
| | | title: 'æ°æ§ç³»ç»', |
| | | align: 'center', |
| | | dataIndex: 'controlSystem' |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/nc/deviceManagement/getEquipmentListByProductionId' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | openPage() { |
| | | this.visible = true |
| | | this.onClearSelected() |
| | | this.dataSource = [] |
| | | this.queryParam = Object.assign({}, { productionId: this.productionId }) |
| | | this.loadData() |
| | | }, |
| | | searchQuery() { |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | searchReset() { |
| | | this.queryParam = Object.assign({}, { productionId: this.productionId }) |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | }, |
| | | handleOk() { |
| | | this.$emit('sendSelectedRowKeys', this.selectedRowKeys) |
| | | this.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <div> |
| | | <a-tabs v-model="activeTabKey" @change="handleTabChange"> |
| | | <div style="height: 100%"> |
| | | <a-tabs style="height: 100%" v-model="activeTabKey" @change="handleTabChange"> |
| | | <a-tab-pane :key="1" tab="设å¤å±æ§" v-if="currentTreeNodeInfo.type===2&&!currentDocumentInfo.docId"> |
| | | <DeviceInfo :currentLevelDetails="currentTreeNodeInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | |
| | | getTreeDataByApi() { |
| | | this.loading = true |
| | | this.cardLoading = true |
| | | this.treeDataSource = [] |
| | | dncApi.getDeviceTreeDataApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | |
| | | <template> |
| | | <a-descriptions bordered :size="size"> |
| | | <a-descriptions-item label="åç§°">{{currentLevelDetails.componentName}}</a-descriptions-item> |
| | | <a-descriptions bordered :size="size" :column="4"> |
| | | <a-descriptions-item label="åç§°" :span="2">{{currentLevelDetails.componentName}}</a-descriptions-item> |
| | | <a-descriptions-item label="代å·">{{currentLevelDetails.componentCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="åå· ">{{currentLevelDetails.componentModel}}</a-descriptions-item> |
| | | <a-descriptions-item label="ç©æç¼ç ">{{currentLevelDetails.materielCode}}</a-descriptions-item> |
| | |
| | | <a-descriptions-item label="ç产类å">{{currentLevelDetails.produceType}}</a-descriptions-item> |
| | | <a-descriptions-item label="å¤çç±»å ">{{currentLevelDetails.processType}}</a-descriptions-item> |
| | | <a-descriptions-item label="ç»æç±»å ">{{currentLevelDetails.structureType}}</a-descriptions-item> |
| | | <a-descriptions-item label="éé" :span="2">{{currentLevelDetails.componentWeight}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´" :span="2">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateName}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´" :span="2">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="3">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | <a-descriptions-item label="éé" >{{currentLevelDetails.componentWeight}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="4">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | </a-descriptions> |
| | | </template> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | switchFullscreen |
| | | :maskClosable="false" |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
| | | cancelText="å
³é"> |
| | | <CutterModalForm ref="realForm" @ok="submitCallback" :disableSubmit="disableSubmit"/> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import CutterModalForm from './CutterModalForm.vue' |
| | | |
| | | export default { |
| | | name: 'CutterModal', |
| | | components: { |
| | | CutterModalForm |
| | | }, |
| | | props: { |
| | | currentTreeNodeInfo: { |
| | | type: Object |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | width: 700, |
| | | visible: false, |
| | | disableSubmit: false |
| | | } |
| | | }, |
| | | methods: { |
| | | // æ·»å æç¨åå
· |
| | | handleCutterAdd() { |
| | | const { id, type } = this.currentTreeNodeInfo |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | if (this.$refs.realForm) { |
| | | this.$refs.realForm.add({ |
| | | attributionId: id, |
| | | attributionType: type |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // ç¼è¾åå
·ä¿¡æ¯ |
| | | handleCutterEdit(record) { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | if (this.$refs.realForm) { |
| | | this.$refs.realForm.edit({ ...record }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleOk() { |
| | | this.$refs.realForm.submitForm() |
| | | }, |
| | | |
| | | submitCallback() { |
| | | this.$emit('submitSuccess') |
| | | this.visible = false |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åå
·ç¼å·" prop="cutterCode"> |
| | | <a-input v-model="model.cutterCode" placeholder="请è¾å
¥åå
·ç¼å·" :readOnly="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åå
·åç§°" prop="cutterName"> |
| | | <a-input v-model="model.cutterName" placeholder="请è¾å
¥åå
·åç§°" :readOnly="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åå
፱Ȍ"> |
| | | <j-dict-select-tag v-model="model.cutterType" placeholder="è¯·éæ©åå
፱Ȍ" dictCode="cutter_type" |
| | | :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="é¢å®å¯¿å½"> |
| | | <a-input-number v-model="model.lifetime" :min="0" placeholder="请è¾å
¥é¢å®å¯¿å½" style="width: 100%" |
| | | :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åä½"> |
| | | <a-input v-model="model.cutterSpacing" placeholder="请è¾å
¥åä½" :readOnly="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åå
·æ°é"> |
| | | <a-input-number v-model="model.quantity" placeholder="请è¾å
¥åå
·æ°é" :min="1" style="width: 100%" |
| | | :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="æè¿°" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> |
| | | <a-textarea v-model="model.description" placeholder="请è¾å
¥æè¿°" :readOnly="disableSubmit"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'CutterModalForm', |
| | | components: {}, |
| | | props: { |
| | | disableSubmit: { |
| | | type: Boolean |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | model: { |
| | | quantity: 1 |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 14 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 4 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 19 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | cutterCode: [ |
| | | { required: true, message: '请è¾å
¥åå
·ç¼å·!' } |
| | | ], |
| | | cutterName: [ |
| | | { required: true, message: '请è¾å
¥åå
·åç§°!' } |
| | | ] |
| | | }, |
| | | url: { |
| | | add: '/nc/cutter/add', |
| | | edit: '/nc/cutter/edit' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)) |
| | | }, |
| | | methods: { |
| | | add(params) { |
| | | this.edit({ ...this.modelDefault, ...params }) |
| | | }, |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | console.log('model', this.model) |
| | | }, |
| | | submitForm() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | let httpUrl, 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.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$emit('ok') |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="5" :sm="5"> |
| | | <a-form-item label="åå
·ç¼å·"> |
| | | <a-input placeholder="请è¾å
¥åå
·ç¼å·" v-model="queryParam.cutterCode" allow-clear/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="5" :sm="5"> |
| | | <a-form-item label="åå
·åç§°"> |
| | | <a-input placeholder="请è¾å
¥åå
·åç§°" v-model="queryParam.cutterName" allow-clear/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="primary" @click="handleAdd" icon="plus" v-has="'cutter_add'">æ°å¢</a-button> |
| | | <a-button type="primary" @click="handleExportXls('åå
·å表')" icon="export">导åº</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> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" :size="size" rowKey="id" |
| | | @change="handleTableChange" :scroll="{y:189}"> |
| | | <template 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 href="javascript:;" @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> |
| | | </template> |
| | | </a-table> |
| | | |
| | | <CutterModal ref="cutterModalRef" :currentTreeNodeInfo="currentLevelInfo" @submitSuccess="loadData"/> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import CutterModal from '@views/dnc/base/modules/ProductStructure/Cutter/CutterModal.vue' |
| | | |
| | | export default { |
| | | name: 'CutterTableList', |
| | | components: { CutterModal }, |
| | | mixins: [JeecgListMixin], |
| | | props: { |
| | | currentLevelInfo: { |
| | | type: Object |
| | | }, |
| | | size: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | disableMixinCreated: true, |
| | | columns: [ |
| | | { |
| | | title: 'åºå·', |
| | | dataIndex: 'rowIndex', |
| | | key: 'rowIndex', |
| | | width: 65, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { title: 'åå
·ç¼å·', dataIndex: 'cutterCode', align: 'center' }, |
| | | { title: 'åå
·åç§°', dataIndex: 'cutterName', align: 'center' }, |
| | | { title: 'åå
፱Ȍ', dataIndex: 'cutterType_dictText', align: 'center' }, |
| | | { title: 'é¢å®å¯¿å½', dataIndex: 'lifetime', width: 150, align: 'center' }, |
| | | { title: 'åä½', dataIndex: 'cutterSpacing', width: 150, align: 'center' }, |
| | | { title: 'åå
·æ°é', dataIndex: 'quantity', width: 150, align: 'center' }, |
| | | { title: 'æä½', dataIndex: 'action', scopedSlots: { customRender: 'action' }, align: 'center', width: 150 } |
| | | ], |
| | | url: { |
| | | list: '/nc/cutter/getByBusinessId', |
| | | delete: '/nc/cutter/delete', |
| | | exportXlsUrl: '/nc/cutter/exportXls', |
| | | importExcelUrl: '/nc/cutter/importExcel' |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | setQueryParamAndLoadData(pageNo = 1) { |
| | | const { id, type } = this.currentLevelInfo |
| | | this.queryParam = Object.assign({}, { attributionId: id, attributionType: type }) |
| | | this.loadData(pageNo) |
| | | }, |
| | | |
| | | handleAdd() { |
| | | if (!this.$refs.cutterModalRef) return |
| | | this.$refs.cutterModalRef.title = 'æ·»å åå
·' |
| | | this.$refs.cutterModalRef.disableSubmit = false |
| | | this.$refs.cutterModalRef.handleCutterAdd() |
| | | }, |
| | | |
| | | /** |
| | | * ç¼è¾è¡¨æ ¼è¡ä¿¡æ¯ |
| | | * @param record è¡¨æ ¼è¡ä¿¡æ¯ |
| | | */ |
| | | handleEdit(record) { |
| | | if (!this.$refs.cutterModalRef) return |
| | | this.$refs.cutterModalRef.title = 'ç¼è¾åå
·ä¿¡æ¯' |
| | | this.$refs.cutterModalRef.disableSubmit = false |
| | | this.$refs.cutterModalRef.handleCutterEdit(record) |
| | | }, |
| | | |
| | | /** |
| | | * æ¥çè¡¨æ ¼å®æ´è¡ä¿¡æ¯ |
| | | * @param record è¡¨æ ¼è¡ä¿¡æ¯ |
| | | */ |
| | | handleDetail: function(record) { |
| | | if (!this.$refs.cutterModalRef) return |
| | | this.$refs.cutterModalRef.title = 'åå
·è¯¦æ
' |
| | | this.$refs.cutterModalRef.disableSubmit = true |
| | | this.$refs.cutterModalRef.handleCutterEdit(record) |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | switchFullscreen |
| | | :maskClosable="false" |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | <DeviceCustomTypeModalForm ref="realForm" @ok="handleCancel"/> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import DeviceCustomTypeModalForm from './DeviceCustomTypeModalForm' |
| | | |
| | | export default { |
| | | name: 'DeviceCustomTypeModal', |
| | | components: { |
| | | DeviceCustomTypeModalForm |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | width: 700, |
| | | visible: false |
| | | } |
| | | }, |
| | | created() { |
| | | this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | }, |
| | | methods: { |
| | | // ç¹å»æ·»å 设å¤ç±»æ°å¢å·¥åºæå·¥æ¥ä¸è®¾å¤ç±» |
| | | handleAddType(treeNodeInfo) { |
| | | this.visible = true |
| | | const { treeKey, type } = treeNodeInfo |
| | | console.log('treeNodeInfo', treeNodeInfo) |
| | | this.$nextTick(() => { |
| | | if (this.$refs.realForm) { |
| | | this.$refs.realForm.add({ |
| | | attributionId: treeKey, |
| | | attributionType: type |
| | | }) |
| | | this.$refs.realForm.getWorkshopListByApi() |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // ç¼è¾è®¾å¤ç±»ä¿¡æ¯ |
| | | handleTypeEdit(_, tableRowInfo) { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | if (this.$refs.realForm) { |
| | | this.$refs.realForm.getWorkshopListByApi() |
| | | this.$refs.realForm.handleProductionChange() |
| | | this.$refs.realForm.edit({ ...tableRowInfo }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.visible = false |
| | | }, |
| | | |
| | | handleOk() { |
| | | this.$refs.realForm.submitForm() |
| | | }, |
| | | |
| | | triggerCorrespondingMethod({ methodName, modalTitle, treeNodeInfo, tableRowInfo }) { |
| | | console.log('触åå³é®èå') |
| | | if (this[methodName]) { |
| | | this.title = modalTitle |
| | | this[methodName](treeNodeInfo, tableRowInfo) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="车é´" prop="productionId"> |
| | | <a-select v-model="model.productionId" placeholder="è¯·éæ©è½¦é´" @change="handleProductionChange"> |
| | | <a-select-option v-for="item in workshopTreeData" :key="item.id"> |
| | | {{ item.productionName }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设å¤ç±»" prop="deviceManagementId"> |
| | | <a-select v-model="model.deviceManagementId" placeholder="è¯·éæ©è®¾å¤ç±»" :disabled="!model.productionId" |
| | | @change="handleCodeSelectChange"> |
| | | <a-select-option v-for="item in deviceCustomTypeList" :key="item.id"> |
| | | {{ item.deviceManagementCode }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="设å¤ç±»åç§°"> |
| | | <a-input v-model="model.deviceManagementId_dictText" placeholder="è¯·éæ©è®¾å¤ç±»" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import dncApi from '@/api/dnc' |
| | | |
| | | export default { |
| | | name: 'DeviceCustomTypeModalForm', |
| | | components: {}, |
| | | data() { |
| | | return { |
| | | model: {}, |
| | | workshopTreeData: [], |
| | | deviceCustomTypeList: [], |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 17 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | productionId: [ |
| | | { required: true, message: 'è¯·éæ©è½¦é´!' } |
| | | ], |
| | | deviceManagementId: [ |
| | | { required: true, message: 'è¯·éæ©è®¾å¤ç±»!' } |
| | | ] |
| | | }, |
| | | url: { |
| | | add: '/nc/deviceType/add', |
| | | edit: '/nc/deviceType/edit' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)) |
| | | }, |
| | | methods: { |
| | | // è°ç¨æ¥å£è·åæ¥è¯¢åºåè½¦é´æ å表 |
| | | getWorkshopListByApi() { |
| | | dncApi.getHasPermissionWorkshopTreeApi() |
| | | .then(res => { |
| | | if (res.success) this.workshopTreeData = res.result |
| | | }) |
| | | }, |
| | | |
| | | // 车é´éæ©æ¹å忏
空设å¤ç±»éæ©å¹¶éæ°è·å设å¤ç±»å表 |
| | | handleProductionChange() { |
| | | if (this.model.deviceManagementId) delete this.model.deviceManagementId |
| | | if (this.model.deviceManagementId_dictText) delete this.model.deviceManagementId_dictText |
| | | dncApi.getDeviceCustomTypeListByProductionIdApi(this.model.productionId) |
| | | .then(res => { |
| | | if (res.success) this.deviceCustomTypeList = res.result |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 设å¤ç±»éæ©æ¹åå触åå¡«å
设å¤ç±»å¯¹åºè®¾å¤ç±»åç§° |
| | | * @param value |
| | | */ |
| | | handleCodeSelectChange(value) { |
| | | this.$set(this.model, 'deviceManagementId_dictText', this.deviceCustomTypeList.find(item => item.id === value).deviceManagementName) |
| | | }, |
| | | |
| | | add(params) { |
| | | this.edit({ ...this.modelDefault, ...params }) |
| | | }, |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | }, |
| | | |
| | | submitForm() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | let httpUrl, method |
| | | if (!this.model.id) { |
| | | httpUrl = that.url.add |
| | | method = 'post' |
| | | } else { |
| | | httpUrl = that.url.edit |
| | | method = 'put' |
| | | } |
| | | httpAction(httpUrl, that.model, method) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$bus.$emit('deviceCustomTypeAddSubmitSuccess') |
| | | that.$emit('ok') |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = false |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div style="flex: 0.25;margin-right: 10px"> |
| | | <a-table :columns="columns" :data-source="dataSource" bordered :pagination="false" |
| | | :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="id" @change="handleTableChange"> |
| | | |
| | | </a-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import DeviceCustomTypeModal from '@views/dnc/base/modules/ProductStructure/DeviceCustomType/DeviceCustomTypeModal.vue' |
| | | import { deleteAction } from '@api/manage' |
| | | |
| | | export default { |
| | | name: 'DeviceCustomTypeTableList', |
| | | components: { DeviceCustomTypeModal }, |
| | | mixins: [JeecgListMixin], |
| | | props: { |
| | | currentTreeNodeInfo: { |
| | | type: Object |
| | | }, |
| | | size: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | disableMixinCreated: true, |
| | | columns: [ |
| | | // { |
| | | // title: '车é´', |
| | | // dataIndex: 'productionId_dictText', |
| | | // align: 'center' |
| | | // }, |
| | | { |
| | | title: '设å¤ç±»', |
| | | dataIndex: 'deviceManagementCode_dictText', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '设å¤ç±»åç§°', |
| | | dataIndex: 'deviceManagementId_dictText', |
| | | align: 'center' |
| | | } |
| | | ], |
| | | dataSource: [], |
| | | currentRightClickedTypeInfo: {}, |
| | | currentClickedTypeInfo: {}, |
| | | url: { |
| | | list: '/nc/deviceType/getByBusinessId', |
| | | delete: '/nc/deviceType/delete' |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | currentTreeNodeInfo: { |
| | | handler(value) { |
| | | this.currentClickedTypeInfo = {} |
| | | }, |
| | | immediate: true |
| | | } |
| | | }, |
| | | created() { |
| | | this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | this.$bus.$on('deviceCustomTypeAddSubmitSuccess', this.loadData) |
| | | }, |
| | | methods: { |
| | | setQueryParamAndLoadData() { |
| | | console.log('currentLevelInfo', this.currentTreeNodeInfo) |
| | | const { id, type } = this.currentTreeNodeInfo |
| | | this.queryParam = Object.assign({}, { attributionId: id, attributionType: type }) |
| | | this.loadData() |
| | | }, |
| | | |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | contextmenu: event => { |
| | | event.preventDefault() |
| | | this.currentRightClickedTypeInfo = Object.assign({ param: 'deviceCustomType' }, record) |
| | | this.$emit('handleTableContextMenuOpen', this.currentRightClickedTypeInfo) |
| | | }, |
| | | click: () => { |
| | | if (this.currentClickedTypeInfo.docId === record.docId) return |
| | | this.currentClickedTypeInfo = Object.assign({}, record) |
| | | // this.$bus.$emit('sendCurrentClickedDocumentInfo', record) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * è¡¨æ ¼å页ãæåºæ¹åãçéæ¶è§¦å |
| | | * @param pagination å页å¨é项 |
| | | * @param filters çéé项 |
| | | * @param sorter æåºé项 |
| | | */ |
| | | handleTableChange(pagination, filters, sorter) { |
| | | if (sorter.order) { |
| | | this.isorter.column = sorter.field |
| | | this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc' |
| | | } else { |
| | | this.isorter.column = 'createTime' |
| | | this.isorter.order = 'desc' |
| | | } |
| | | for (let key in filters) { |
| | | this.filters[key] = filters[key].join(',') |
| | | } |
| | | this.ipagination = pagination |
| | | this.loadData() |
| | | }, |
| | | |
| | | /** |
| | | * å é¤å·¥åºæå·¥æ¥å±çº§æ·»å ç设å¤ç±» |
| | | * @param tableRowInfo |
| | | */ |
| | | handleTypeDelete(tableRowInfo) { |
| | | const { id } = tableRowInfo |
| | | const { $confirm, url, loadData, $notification, $destroyAll } = this |
| | | $confirm({ |
| | | title: 'æç¤º', |
| | | content: '确认å 餿¤æ¡è®°å½åï¼', |
| | | okText: '确认', |
| | | okType: 'danger', |
| | | cancelText: 'åæ¶', |
| | | onOk: () => { |
| | | if (!url.delete) { |
| | | this.$message.error('请设置url.delete屿§!') |
| | | return |
| | | } |
| | | |
| | | deleteAction(url.delete, { id: id }) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | $notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | loadData() |
| | | } else { |
| | | $notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | $destroyAll() |
| | | }) |
| | | }, |
| | | onCancel: () => { |
| | | $destroyAll() |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | triggerCorrespondingMethod({ methodName, modalTitle, tableRowInfo }) { |
| | | if (this[methodName] && tableRowInfo.param === 'deviceCustomType') this[methodName](tableRowInfo, modalTitle) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <div> |
| | | <div style="flex: 1"> |
| | | <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" |
| | | :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="docId" @change="handleTableChange"> |
| | | |
| | |
| | | <template> |
| | | <a-descriptions bordered :size="size"> |
| | | <a-descriptions-item label="é¶ä»¶åç§°">{{currentLevelDetails.partsName}}</a-descriptions-item> |
| | | <a-descriptions bordered :size="size" :column="4"> |
| | | <a-descriptions-item label="é¶ä»¶åç§°" :span="2">{{currentLevelDetails.partsName}}</a-descriptions-item> |
| | | <a-descriptions-item label="é¶ä»¶ä»£å·">{{currentLevelDetails.partsCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="é¶ä»¶åå· ">{{currentLevelDetails.partsModel}}</a-descriptions-item> |
| | | <a-descriptions-item label="ç©æç¼ç ">{{currentLevelDetails.materielCode}}</a-descriptions-item> |
| | |
| | | <a-descriptions-item label="ç产类å">{{currentLevelDetails.produceType}}</a-descriptions-item> |
| | | <a-descriptions-item label="å¤çç±»å ">{{currentLevelDetails.processType}}</a-descriptions-item> |
| | | <a-descriptions-item label="ç»æç±»å ">{{currentLevelDetails.structureType}}</a-descriptions-item> |
| | | <a-descriptions-item label="éé" :span="2">{{currentLevelDetails.partsWeight}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´" :span="2">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateName}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´" :span="2">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="3">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | <a-descriptions-item label="éé">{{currentLevelDetails.partsWeight}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="4">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | </a-descriptions> |
| | | </template> |
| | | |
| | |
| | | import dncApi from '@/api/dnc' |
| | | import DepartPermissionTransfer from './DepartPermissionTransfer' |
| | | import UserPermissionTransfer from './UserPermissionTransfer' |
| | | import { queryProductionTreeList } from '@/api/api' |
| | | |
| | | export default { |
| | | name: 'AssignPermissionModal', |
| | |
| | | // è°ç¨æ¥å£è·åææè½¦é´å表 |
| | | getAllDepartmentsListByApi() { |
| | | this.allTreeKeys = [] |
| | | queryProductionTreeList() |
| | | dncApi.getAllDepartmentsListApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.allDepartmentsList = res.result |
| | |
| | | <template> |
| | | <a-descriptions bordered :size="size"> |
| | | <a-descriptions-item label="å·¥åºåç§°">{{currentLevelDetails.processName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥åºå·">{{currentLevelDetails.processCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥èºç¼å· ">{{currentLevelDetails.craftNo}}</a-descriptions-item> |
| | | <a-descriptions bordered :size="size" :column="4"> |
| | | <a-descriptions-item label="å·¥åºåç§°" :span="2">{{currentLevelDetails.processName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥åºå·" :span="2">{{currentLevelDetails.processCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥èºç¼å·" :span="2">{{currentLevelDetails.craftNo}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥åºç±»å">{{currentLevelDetails.processType}}</a-descriptions-item> |
| | | <a-descriptions-item label="å 工设å¤åå·">{{currentLevelDetails.processingEquipmentModel}}</a-descriptions-item> |
| | | <a-descriptions-item label="å 工设å¤ç±»å">{{currentLevelDetails.processingEquipmentOs}}</a-descriptions-item> |
| | | <a-descriptions-item label="å 工设å¤ç¼å·">{{currentLevelDetails.processingEquipmentCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥è£
ç¼å·">{{currentLevelDetails.assembleStep}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥è£
åç§° ">{{currentLevelDetails.assembleName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´" :span="2">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateName}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´" :span="2">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="3">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="4">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | </a-descriptions> |
| | | </template> |
| | | |
| | |
| | | created() { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)) |
| | | this.$bus.$on('sendAllDeviceList', deviceList => this.deviceList = deviceList) |
| | | }, |
| | | methods: { |
| | | add(params) { |
| | |
| | | <template> |
| | | <a-descriptions bordered :size="size"> |
| | | <a-descriptions bordered :size="size" :column="4"> |
| | | <a-descriptions-item label="å·¥æ¥åç§°">{{currentLevelDetails.stepName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥æ¥å·">{{currentLevelDetails.stepCode}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥æ¥ç±»å">{{currentLevelDetails.stepType}}</a-descriptions-item> |
| | |
| | | <a-descriptions-item label="å 工设å¤ç±»å">{{currentLevelDetails.processingEquipmentOs}}</a-descriptions-item> |
| | | <a-descriptions-item label="å 工设å¤ç¼å·">{{currentLevelDetails.deviceNo}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥è£
ç¼å·">{{currentLevelDetails.assembleStep}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥è£
åç§° " :span="2">{{currentLevelDetails.assembleName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´" :span="2">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateName}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´" :span="2">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="3">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | <a-descriptions-item label="å·¥è£
åç§°">{{currentLevelDetails.assembleName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="æè¿°" :span="4">{{currentLevelDetails.description}}</a-descriptions-item> |
| | | </a-descriptions> |
| | | </template> |
| | | |
| | |
| | | <template> |
| | | <a-descriptions bordered :size="size"> |
| | | <a-descriptions-item label="åç§°">{{currentLevelDetails.productName}}</a-descriptions-item> |
| | | <a-descriptions bordered :size="size" :column="4"> |
| | | <a-descriptions-item label="åç§°" :span="2">{{currentLevelDetails.productName}}</a-descriptions-item> |
| | | <a-descriptions-item label="åå·">{{currentLevelDetails.productModel}}</a-descriptions-item> |
| | | <a-descriptions-item label="代ç ">{{currentLevelDetails.productNo}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´" :span="2">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateName}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´" :span="2">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建人">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="å建æ¶é´">{{currentLevelDetails.createTime}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹äºº">{{currentLevelDetails.updateBy_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="ä¿®æ¹æ¶é´">{{currentLevelDetails.updateTime}}</a-descriptions-item> |
| | | </a-descriptions> |
| | | </template> |
| | | |
| | |
| | | <template> |
| | | <div style="height: 100%;max-height: 748px"> |
| | | <!--产åç»ææ å³ä¾§é¡¶é¨åºå--> |
| | | <div style="height: 45%;overflow: hidden"> |
| | | <div style="height: 55%;overflow: hidden"> |
| | | <ProductStructureMainTop :size="tabContainerSize"/> |
| | | </div> |
| | | |
| | | <!--产åç»ææ å³ä¾§åºé¨åºå--> |
| | | <div style="height: 55%;overflow: hidden"> |
| | | <div style="height: 45%;overflow: hidden"> |
| | | <ProductStructureMainBottom :size="tabContainerSize"/> |
| | | </div> |
| | | </div> |
| | |
| | | <template> |
| | | <div v-if="currentLevelInfo.type!==4"> |
| | | <a-tabs v-model="activeTabKey" v-if="Object.keys(currentLevelInfo).length>0" @change="handleTabChange"> |
| | | <div v-if="+currentLevelInfo.type!==4" style="height: 100%"> |
| | | <a-tabs style="height: 100%" v-model="activeTabKey" v-if="Object.keys(currentLevelInfo).length>0" |
| | | @change="handleTabChange"> |
| | | <a-tab-pane :key="1" tab="屿§ä¿¡æ¯" v-if="+currentLevelInfo.type===1"> |
| | | <ProductInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | |
| | | <ProcessStepInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="åå
·ä¿¡æ¯" v-if="+currentLevelInfo.type===5||+currentLevelInfo.type===6"> |
| | | <CutterInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | <!--ç³»ç»åæ°é
ç½®ä¸è¥åæ°ä¸º1æ¶æå±ç¤ºå¯¹åºå±çº§çåå
·å表--> |
| | | <a-tab-pane :key="2" tab="åå
·å表" |
| | | v-if="+currentLevelInfo.type===5&&isProcessHasCutterList||+currentLevelInfo.type===6&&isProcessStepHasCutterList"> |
| | | <CutterTableList ref="cutterTableListRef" :currentLevelInfo="currentLevelInfo" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <template v-if="currentLevelInfo.hasOwnProperty('attributionType')"> |
| | |
| | | import ComponentInfo from './Component/ComponentInfo' |
| | | import PartInfo from './Part/PartInfo' |
| | | import ProcessInfo from './Process/ProcessInfo' |
| | | import ProcessStepInfo from './ProcessStep/ProcessStepInfo' |
| | | import CutterTableList from './Cutter/CutterTableList' |
| | | import DocumentInfo from '../../../common/DocumentInfo' |
| | | import DocumentVersionTableList from '../../../common/DocumentVersionTableList' |
| | | import UseDocumentEquipmentTableList from './Document/UseNcDocumentEquipmentTableList' |
| | | import ProcessStepInfo from './ProcessStep/ProcessStepInfo' |
| | | import FilePreview from '../../../common/FilePreview' |
| | | import TableContextMenu from '../../../common/TableContextMenu' |
| | | import CutterInfo from '@views/dnc/base/modules/ProductStructure/Cutter/CutterInfo.vue' |
| | | import dncApi from '@/api/dnc' |
| | | import { getAction } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'ProductStructureMainBottom', |
| | | components: { |
| | | CutterInfo, |
| | | CutterTableList, |
| | | TableContextMenu, |
| | | FilePreview, |
| | | ProcessStepInfo, |
| | |
| | | return { |
| | | activeTabKey: 1, |
| | | containerSize: 'small', |
| | | isProcessHasCutterList: false, |
| | | isProcessStepHasCutterList: false, |
| | | currentLevelInfo: {}, |
| | | currentRightClickedTableRowInfo: {}, |
| | | hasLoadedDataTabKeyArray: [] |
| | |
| | | this.$bus.$on('sendCurrentClickedDocumentInfo', this.receiveCurrentLevelInfo) |
| | | this.$bus.$on('sendCurrentTreeNodeInfo', this.receiveCurrentLevelInfo) |
| | | this.$bus.$on('reloadMainBottomTableData', this.reloadMainBottomTableData) |
| | | this.getCutterListDisplayPermission('dnc_cutter_process', 'isProcessHasCutterList') |
| | | this.getCutterListDisplayPermission('dnc_cutter_step', 'isProcessStepHasCutterList') |
| | | }, |
| | | methods: { |
| | | /** |
| | | * è·ååå
·å表å¨å·¥åºåå·¥æ¥å±çº§çå±ç¤ºæé |
| | | * @param settingKey åå±çº§å±ç¤ºæékey |
| | | * @param dataProperty ç»ä»¶dataä¸ç屿§å¼ç¨æ¥æ§å¶æ¯å¦å±ç¤º |
| | | */ |
| | | getCutterListDisplayPermission(settingKey, dataProperty) { |
| | | getAction(`/system/sysParams/query/by/settingKey?settingKey=${settingKey}`).then(res => { |
| | | if (res.success) { |
| | | this[dataProperty] = res.result.settingValue === '1' |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * æ¥æ¶æ ç»ä»¶ä»¥åè¡¨æ ¼ä¼ æ¥çå½åé䏿ç¹å»çé¡¹ä¿¡æ¯ |
| | | * @param levelInfo å½åå±çº§ä¿¡æ¯ |
| | | */ |
| | | receiveCurrentLevelInfo(levelInfo) { |
| | | const { id, type } = levelInfo |
| | | dncApi.getProductStructureTreeNodeEntityApi({ id, type }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | console.log('res-------------', res) |
| | | this.currentLevelInfo = Object.assign(levelInfo, { entity: res.result[0] }) |
| | | } |
| | | }) |
| | | this.currentLevelInfo = levelInfo |
| | | this.activeTabKey = 1 |
| | | this.hasLoadedDataTabKeyArray = [] |
| | | }, |
| | | |
| | | /** |
| | | * tabæ 忢æ¶è§¦å |
| | | * @param activeTabKey å½åæ¿æ´»çtabKey |
| | | */ |
| | | handleTabChange(activeTabKey) { |
| | | if (!this.hasLoadedDataTabKeyArray.includes(activeTabKey)) { |
| | | switch (activeTabKey) { |
| | | case 2: |
| | | if (this.currentLevelInfo.hasOwnProperty('attributionType')) { |
| | | console.log('ref', this.$refs.filePreviewRef) |
| | | this.$nextTick(() => this.$refs.filePreviewRef.getFilePreviewByApi()) |
| | | } else { |
| | | this.$nextTick(() => this.$refs.cutterTableListRef.setQueryParamAndLoadData(1)) |
| | | } |
| | | break |
| | | case 3: |
| | | this.$nextTick(() => this.$refs.documentVersionTableRef.loadData()) |
| | |
| | | } |
| | | |
| | | /deep/ .ant-tabs-tabpane { |
| | | overflow: auto; |
| | | overflow: hidden auto; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div v-if="currentTreeNodeInfo.type!==4"> |
| | | <div v-if="+currentTreeNodeInfo.type!==4"> |
| | | <a-tabs v-model="activeTabKey" @contextmenu.native="e=>e.preventDefault()" @change="handleTabChange" |
| | | v-if="Object.keys(currentTreeNodeInfo).length!==0"> |
| | | <a-tab-pane :key="1" tab="NCææ¡£" v-if="currentTreeNodeInfo.type===5||currentTreeNodeInfo.type===6"> |
| | | <a-tab-pane :key="1" tab="NC管ç" v-if="+currentTreeNodeInfo.type===5||+currentTreeNodeInfo.type===6"> |
| | | <div style="display: flex;"> |
| | | <!--ç³»ç»åæ°é
ç½®ä¸è¥åæ°ä¸º1æ¶æå±ç¤ºå¯¹åºå±çº§ç设å¤ç±»å表--> |
| | | <DeviceCustomTypeTableList |
| | | v-if="+currentTreeNodeInfo.type===5&&isProcessHasDeviceTypeList||+currentTreeNodeInfo.type===6&&isProcessStepHasDeviceTypeList" |
| | | ref="deviceCustomTypeTableList" :currentTreeNodeInfo="currentTreeNodeInfo" |
| | | @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> |
| | | |
| | | <NcDocumentTableList ref="ncDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo" |
| | | @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> |
| | | </div> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="å
¶ä»ææ¡£"> |
| | |
| | | import OtherDocumentTableList from './Document/OtherDocumentTableList' |
| | | import TableContextMenu from '../../../common/TableContextMenu' |
| | | import DocumentBatchDeleteModal from '../../../common/DocumentBatchDeleteModal' |
| | | import DeviceCustomTypeTableList |
| | | from '@views/dnc/base/modules/ProductStructure/DeviceCustomType/DeviceCustomTypeTableList.vue' |
| | | import { getAction } from '@api/manage' |
| | | |
| | | export default { |
| | | name: 'ProductStructureMainTop', |
| | | components: { DocumentBatchDeleteModal, TableContextMenu, OtherDocumentTableList, NcDocumentTableList }, |
| | | components: { |
| | | DeviceCustomTypeTableList, |
| | | DocumentBatchDeleteModal, |
| | | TableContextMenu, |
| | | OtherDocumentTableList, |
| | | NcDocumentTableList |
| | | }, |
| | | data() { |
| | | return { |
| | | activeTabKey: 2, |
| | | tableContainerSize: 'small', |
| | | isProcessHasDeviceTypeList: false, |
| | | isProcessStepHasDeviceTypeList: false, |
| | | currentRightClickedTableRowInfo: {}, |
| | | currentTreeNodeInfo: {}, |
| | | hasLoadedDataTabKeyArray: [] |
| | |
| | | this.$bus.$on('sendCurrentTreeNodeInfo', this.receiveCurrentTreeNodeInfo) |
| | | this.$bus.$on('reloadDocumentListData', this.reloadDocumentListData) |
| | | this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | this.getDeviceTypeListDisplayPermission('dnc_device_type_process', 'isProcessHasDeviceTypeList') |
| | | this.getDeviceTypeListDisplayPermission('dnc_device_type_step', 'isProcessStepHasDeviceTypeList') |
| | | }, |
| | | methods: { |
| | | /** |
| | | * è·å设å¤ç±»åå表å¨å·¥åºåå·¥æ¥å±çº§çå±ç¤ºæé |
| | | * @param settingKey åå±çº§å±ç¤ºæékey |
| | | * @param dataProperty ç»ä»¶dataä¸ç屿§å¼ç¨æ¥æ§å¶æ¯å¦å±ç¤º |
| | | */ |
| | | getDeviceTypeListDisplayPermission(settingKey, dataProperty) { |
| | | getAction(`/system/sysParams/query/by/settingKey?settingKey=${settingKey}`).then(res => { |
| | | if (res.success) { |
| | | this[dataProperty] = res.result.settingValue === '1' |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * æ¥æ¶æ ç»ä»¶ä¼ æ¥çå½åéä¸çæ èç¹ä¿¡æ¯ |
| | | * @param treeNodeInfo æ èç¹ä¿¡æ¯ |
| | | */ |
| | | receiveCurrentTreeNodeInfo(treeNodeInfo) { |
| | | console.log('treeNodeInfo', treeNodeInfo) |
| | | // 仿 ç»ä»¶æ¥åæ èç¹ä¿¡æ¯åä»ç¶ç»ä»¶æµå
¥åç»ä»¶ |
| | | this.currentTreeNodeInfo = treeNodeInfo |
| | | // æ¸
空ä¸ä¸èç¹å·²ç»å è½½è¿å¾ææ¡£å表tabKey |
| | | this.hasLoadedDataTabKeyArray = [] |
| | | if (+treeNodeInfo.type === 5 || +treeNodeInfo.type === 6) { |
| | | this.activeTabKey = 1 |
| | | this.$nextTick(() => { |
| | | if (this.$refs.deviceCustomTypeTableList) this.$refs.deviceCustomTypeTableList.setQueryParamAndLoadData() |
| | | else if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) |
| | | }) |
| | | } else { |
| | | this.activeTabKey = 2 |
| | | this.$nextTick(() => { |
| | | if (this.$refs.otherDocumentTableListRef) this.$refs.otherDocumentTableListRef.loadData(1) |
| | | }) |
| | | } |
| | | this.hasLoadedDataTabKeyArray.push(this.activeTabKey) |
| | | }, |
| | | |
| | | /** |
| | | * æ§å¶å³é®èåå¼å¯ |
| | | * @param record å½åè¡¨æ ¼è¡ä¿¡æ¯ |
| | |
| | | this.$refs.tableContextMenuRef.menuStyle.left = event.clientX + 'px' |
| | | this.$refs.tableContextMenuRef.menuVisible = true |
| | | document.body.addEventListener('click', this.handleMenuClose) |
| | | }, |
| | | |
| | | /** |
| | | * æ¥æ¶æ ç»ä»¶ä¼ æ¥çå½åéä¸çæ èç¹ä¿¡æ¯ |
| | | * @param treeNodeInfo æ èç¹ä¿¡æ¯ |
| | | */ |
| | | receiveCurrentTreeNodeInfo(treeNodeInfo) { |
| | | // 仿 ç»ä»¶æ¥åæ èç¹ä¿¡æ¯åä»ç¶ç»ä»¶æµå
¥åç»ä»¶ |
| | | this.currentTreeNodeInfo = treeNodeInfo |
| | | // æ¸
空ä¸ä¸èç¹å·²ç»å è½½è¿å¾ææ¡£å表tabKey |
| | | this.hasLoadedDataTabKeyArray = [] |
| | | if (treeNodeInfo.type === 5 || treeNodeInfo.type === 6) { |
| | | this.activeTabKey = 1 |
| | | this.$nextTick(() => { |
| | | if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) |
| | | }) |
| | | } else { |
| | | this.activeTabKey = 2 |
| | | this.$nextTick(() => { |
| | | if (this.$refs.otherDocumentTableListRef) this.$refs.otherDocumentTableListRef.loadData(1) |
| | | }) |
| | | } |
| | | this.hasLoadedDataTabKeyArray.push(this.activeTabKey) |
| | | }, |
| | | |
| | | /** |
| | |
| | | <a-card class="tree_con" :loading="cardLoading" :bordered="false" @contextmenu.native="e=>e.preventDefault()"> |
| | | <a-spin :spinning="loading"> |
| | | <div style="display: flex;flex-direction: column;height: 100%"> |
| | | <div style="display: flex"> |
| | | <div style="display: flex;justify-content: space-between"> |
| | | <a-input placeholder="è¾å
¥å
³é®åè¿è¡æç´¢" allowClear v-model="searchInput" |
| | | @change="handleSearchInputChange"/> |
| | | <a-dropdown :trigger="['click']" placement="bottomCenter" style="margin: 0 8px"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="expandedKeys = allTreeKeys">å±å¼ææ</a-menu-item> |
| | | <a-menu-item key="2" @click="expandedKeys = ['-1']">åå¹¶ææ</a-menu-item> |
| | | <a-menu-item key="3" @click="getTreeDataByApi">å·æ°</a-menu-item> |
| | | </a-menu> |
| | | <a-button> |
| | | <a-icon type="bars"/> |
| | | </a-button> |
| | | </a-dropdown> |
| | | <a-button type="primary" v-has="'product_add'" |
| | | <a-tooltip title="å·æ°"> |
| | | <a-button icon="reload" @click="getTreeDataByApi" style="width: 18%;margin-left: 8px"></a-button> |
| | | </a-tooltip> |
| | | <a-button type="primary" v-has="'product_add'" icon="plus" style="margin-left: 8px" |
| | | @click="$refs.productModalFormRef.triggerCorrespondingMethod({modalTitle:'æ·»å 产å',methodName:'handleProductAdd'})"> |
| | | <a-icon type="plus"></a-icon> |
| | | 产å |
| | | æ·»å 产å |
| | | </a-button> |
| | | <!-- <a-dropdown :trigger="['click']" placement="bottomCenter" style="margin: 0 8px">--> |
| | | <!-- <a-menu slot="overlay">--> |
| | | <!-- <a-menu-item key="1" @click="expandedKeys = allTreeKeys">å±å¼ææ</a-menu-item>--> |
| | | <!-- <a-menu-item key="2" @click="expandedKeys = ['-1']">åå¹¶ææ</a-menu-item>--> |
| | | <!-- <a-menu-item key="3" @click="getTreeDataByApi">å·æ°</a-menu-item>--> |
| | | <!-- </a-menu>--> |
| | | <!-- <a-button>--> |
| | | <!-- <a-icon type="bars"/>--> |
| | | <!-- </a-button>--> |
| | | <!-- </a-dropdown>--> |
| | | </div> |
| | | |
| | | <!--产åç»ææ --> |
| | |
| | | <a-tree blockNode show-icon :expandedKeys.sync="expandedKeys" |
| | | :selectedKeys="selectedKeys" :treeData="treeDataSource" :autoExpandParent="autoExpandParent" |
| | | @select="handleTreeSelect" @expand="handleTreeExpand" @rightClick="handleTreeRightClick"> |
| | | <template slot="title" slot-scope="{ label, parentId, entity, key:treeKey,type}"> |
| | | <template slot="title" slot-scope="{ label, parentId, key:treeKey,type}"> |
| | | <ProductStructureTreeContextMenu ref="contextMenuRef" |
| | | :treeParams="{label,treeKey,searchValue,type,entity}"/> |
| | | :treeParams="{label,treeKey,searchValue,type}"/> |
| | | </template> |
| | | |
| | | <a-icon slot="switcherIcon" type="down"/> |
| | |
| | | import ProcessModal from './Process/ProcessModal' |
| | | import ProcessStepModal from './ProcessStep/ProcessStepModal' |
| | | import AssignPermissionModal from './Permission/AssignPermissionModal' |
| | | import DeviceCustomTypeModal from '@views/dnc/base/modules/ProductStructure/DeviceCustomType/DeviceCustomTypeModal.vue' |
| | | |
| | | export default { |
| | | name: 'ProductStructureTree', |
| | | components: { |
| | | DeviceCustomTypeModal, |
| | | AssignPermissionModal, |
| | | ProcessStepModal, |
| | | ProcessModal, |
| | |
| | | autoExpandParent: true, |
| | | checkStrictly: true, |
| | | allTreeKeys: [], |
| | | currentSelected: {}, |
| | | rightClickSelected: {}, |
| | | url: { |
| | | delete: '/nc/product/delete' |
| | |
| | | getTreeDataByApi() { |
| | | this.loading = true |
| | | this.cardLoading = true |
| | | this.treeDataSource = [] |
| | | dncApi.getProductStructureTreeApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | | console.log('res=================', res) |
| | | this.dataList = [] |
| | | this.allTreeKeys = [] |
| | | this.treeDataSource = res.result |
| | |
| | | * @param {node} node èç¹å¯¹è±¡ |
| | | */ |
| | | handleTreeSelect(selectedKeys, { node }) { |
| | | const that = this |
| | | let record = node.dataRef |
| | | this.currentSelected = Object.assign({}, record) |
| | | const { id, type } = record |
| | | dncApi.getProductStructureTreeNodeEntityApi({ id, type }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | let currentSelectedNodeInfo |
| | | if (res.result.length > 0) { |
| | | currentSelectedNodeInfo = Object.assign({}, record, { entity: res.result[0] }) |
| | | } else { |
| | | currentSelectedNodeInfo = {} |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: 'ææ è¯¥èç¹è¯¦ç»ä¿¡æ¯' |
| | | }) |
| | | } |
| | | // åå³ä¾§ç¶çº§ç»ä»¶åéå½åé䏿 èç¹ä¿¡æ¯ |
| | | this.$bus.$emit('sendCurrentTreeNodeInfo', this.currentSelected) |
| | | this.$bus.$emit('sendCurrentTreeNodeInfo', currentSelectedNodeInfo) |
| | | } else { |
| | | that.$notification.error({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | if (selectedKeys.length === 0) return |
| | | this.selectedKeys = selectedKeys |
| | | }, |
| | | |
| | | /** |
| | | * æ èç¹å³é®åå»èç¹æ¶è§¦å |
| | | * @param event äºä»¶å¯¹è±¡ |
| | | * @param node èç¹å¯¹è±¡ |
| | | */ |
| | | handleTreeRightClick({ event, node }) { |
| | | handleTreeRightClick({ node }) { |
| | | const that = this |
| | | const record = node.dataRef |
| | | this.rightClickSelected = Object.assign({}, record) |
| | | const { id, type } = record |
| | | dncApi.getProductStructureTreeNodeEntityApi({ id, type }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | if (res.result.length > 0) { |
| | | that.rightClickSelected = Object.assign({}, record, { entity: res.result[0] }) |
| | | } else { |
| | | that.rightClickSelected = {} |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: 'ææ è¯¥èç¹è¯¦ç»ä¿¡æ¯' |
| | | }) |
| | | } |
| | | } else { |
| | | that.$notification.error({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // æ èç¹å³é®åå»èåä¸å 餿鮿¶è§¦å |
| | |
| | | this.autoExpandParent = false |
| | | }, |
| | | |
| | | /* è¾å
¥æ¥è¯¢å
容ååæ¶è§¦å */ |
| | | // è¾å
¥æ¥è¯¢å
容ååæ¶è§¦åï¼å¢å 鲿æºå¶ï¼ |
| | | handleSearchInputChange() { |
| | | const that = this |
| | | let timer |
| | | if (timer) clearTimeout(timer) |
| | | timer = setTimeout(function() { |
| | | that.searchAndExpandTreeNode() // å å°æ¬å·è°ç¨å½æ° |
| | | }, 1000) |
| | | }, |
| | | |
| | | // 鲿彿°ä¸è§¦åæç´¢å¹¶å±å¼æ èç¹ |
| | | searchAndExpandTreeNode() { |
| | | let search = this.searchInput |
| | | let expandedKeys |
| | | let autoExpandParent |
| | |
| | | expandedKeys = this.beforeSearchExpandedKeys |
| | | autoExpandParent = false |
| | | } |
| | | |
| | | Object.assign(this, { |
| | | expandedKeys, |
| | | searchValue: search, |
| | |
| | | * @param treeNode |
| | | */ |
| | | setTreeNodeIcon(treeNode) { |
| | | switch (treeNode.type) { |
| | | switch (+treeNode.type) { |
| | | case 1: |
| | | treeNode.slots = { icon: 'product' } |
| | | break |
| | |
| | | <template> |
| | | <a-dropdown :trigger="['contextmenu']"> |
| | | <span v-if="treeParams.label.indexOf(treeParams.searchValue) > -1">{{ treeParams.label.substr(0, treeParams.label.indexOf(treeParams.searchValue)) }}<span |
| | | class="replaceSearch">{{ treeParams.searchValue }}</span>{{ treeParams.label.substr(treeParams.label.indexOf(treeParams.searchValue) + treeParams.searchValue.length) }}</span> |
| | | <span v-if="treeParams.label.indexOf(treeParams.searchValue) > -1">{{ |
| | | treeParams.label.substr(0, treeParams.label.indexOf(treeParams.searchValue)) |
| | | }}<span |
| | | class="replaceSearch">{{ |
| | | treeParams.searchValue |
| | | }}</span>{{ |
| | | treeParams.label.substr(treeParams.label.indexOf(treeParams.searchValue) + treeParams.searchValue.length) |
| | | }}</span> |
| | | <span v-else>{{ treeParams.label }}</span> |
| | | <template #overlay> |
| | | <a-menu @click="({ key: menuKey }) => onContextMenuClick(treeParams.treeKey, menuKey)" |
| | |
| | | process: [ |
| | | { label: 'å建工åº', code: 'process_add', icon: 'plus', isCommonMethod: false }, |
| | | { label: 'å建工æ¥', code: 'process_add_child', icon: 'plus', isCommonMethod: false }, |
| | | { label: 'æ·»å 设å¤ç±»', code: 'process_add_type', icon: 'plus', isCommonMethod: true }, |
| | | { label: 'ç¼è¾å·¥åºä¿¡æ¯', code: 'process_edit', icon: 'edit', isCommonMethod: false }, |
| | | { label: 'å é¤', code: 'process_delete', icon: 'delete', isCommonMethod: true }, |
| | | // { label: '导åºNCç¨åº', code: 'process_export', icon: 'export', isCommonMethod: true }, |
| | |
| | | processStep: [ |
| | | { label: 'å建工æ¥', code: 'processStep_add', icon: 'plus', isCommonMethod: false }, |
| | | { label: 'ç¼è¾å·¥æ¥ä¿¡æ¯', code: 'processStep_edit', icon: 'edit', isCommonMethod: false }, |
| | | { label: 'æ·»å 设å¤ç±»', code: 'processStep_add_type', icon: 'plus', isCommonMethod: true }, |
| | | { label: 'å é¤', code: 'processStep_delete', icon: 'delete', isCommonMethod: true }, |
| | | // { label: '导åºNCç¨åº', code: 'processStep_export', icon: 'import', isCommonMethod: true }, |
| | | { label: '导å
¥NCç¨åº', code: 'processStep_import', icon: 'import', isCommonMethod: true }, |
| | |
| | | }, |
| | | computed: { |
| | | getCurrentMenuLevel() { |
| | | switch (this.treeParams.type) { |
| | | switch (+this.treeParams.type) { |
| | | case 1: |
| | | return 'product' |
| | | case 2: |
| | |
| | | } |
| | | }, |
| | | getCurrentDocClassCode() { |
| | | switch (this.treeParams.type) { |
| | | switch (+this.treeParams.type) { |
| | | case 1: |
| | | return 'OTHER' |
| | | case 2: |
| | |
| | | } else { |
| | | methodName = 'handle' + menuKeyArray.map(item => item[0].toUpperCase() + item.slice(1)).join('') |
| | | } |
| | | console.log('methodName', methodName) |
| | | const modalTitle = this.defaultContextMenuList[level].find(item => item.code === menuKey).label |
| | | this.$bus.$emit('treeMenuItemMethodTrigger', { methodName, modalTitle, treeNodeInfo }) |
| | | } |
| | |
| | | }, |
| | | currentMenuLevel: '', |
| | | defaultContextMenuList: { |
| | | //设å¤ç±» |
| | | deviceCustomType:[ |
| | | { label: 'ç¼è¾è®¾å¤ç±»ä¿¡æ¯', code: 'type_edit', subMenu: [], icon: 'edit', isCommonMethod: false }, |
| | | { label: 'å é¤', code: 'type_delete', subMenu: [], icon: 'delete', isCommonMethod: false }, |
| | | { label: '导å
¥NCç¨åº', code: 'type_document_import', subMenu: [], icon: 'import', isCommonMethod: true }, |
| | | ], |
| | | //NCææ¡£ |
| | | NC: [ |
| | | { label: 'ç¼è¾ææ¡£ä¿¡æ¯', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false }, |
| | |
| | | validatorRules: { |
| | | username: [{ required: true, message: '请è¾å
¥ç¨æ·è´¦å·!' }, |
| | | { validator: this.validateUsername }], |
| | | password: [{ |
| | | required: true, |
| | | pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, |
| | | message: 'å¯ç ç±8使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!' |
| | | }, |
| | | password: [ |
| | | // { |
| | | // required: true, |
| | | // pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, |
| | | // message: 'å¯ç ç±8使°åã大å°å忝åç¹æ®ç¬¦å·ç»æ!' |
| | | // }, |
| | | { validator: this.validateToNextPassword, trigger: 'change' }], |
| | | confirmpassword: [{ required: true, message: 'è¯·éæ°è¾å
¥ç»å½å¯ç !' }, |
| | | { validator: this.compareToFirstPassword }], |
| | |
| | | dependencies: |
| | | "@babel/types" "^7.10.4" |
| | | |
| | | "@babel/helper-string-parser@^7.25.9": |
| | | version "7.25.9" |
| | | resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" |
| | | integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== |
| | | |
| | | "@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.25.9": |
| | | version "7.25.9" |
| | | resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" |
| | | integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== |
| | | |
| | | "@babel/helper-wrap-function@^7.10.4": |
| | | version "7.10.4" |
| | |
| | | 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.26.9" |
| | | resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5" |
| | | integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A== |
| | | dependencies: |
| | | "@babel/types" "^7.26.9" |
| | | |
| | | "@babel/plugin-proposal-async-generator-functions@^7.2.0": |
| | | version "7.10.4" |
| | |
| | | lodash "^4.17.13" |
| | | to-fast-properties "^2.0.0" |
| | | |
| | | "@babel/types@^7.26.9": |
| | | version "7.26.9" |
| | | resolved "https://registry.npmmirror.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce" |
| | | integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw== |
| | | dependencies: |
| | | "@babel/helper-string-parser" "^7.25.9" |
| | | "@babel/helper-validator-identifier" "^7.25.9" |
| | | |
| | | "@hapi/address@2.x.x": |
| | | version "2.1.4" |
| | | resolved "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" |
| | |
| | | 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" |
| | | resolved "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz#8213a5ff3202f9f2137fe55370f9e8b9656081c3" |
| | |
| | | version "4.2.2" |
| | | resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" |
| | | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== |
| | | |
| | | abbrev@1: |
| | | version "1.1.1" |
| | | resolved "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" |
| | | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== |
| | | |
| | | abs-svg-path@~0.1.1: |
| | | version "0.1.1" |
| | |
| | | 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" |
| | |
| | | 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== |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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: |
| | |
| | | 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== |
| | | |
| | | diff2html@^3.3.1: |
| | | version "3.4.51" |
| | | resolved "https://registry.npmmirror.com/diff2html/-/diff2html-3.4.51.tgz#6355170d09d8625525f0846be2c73bc2838ab797" |
| | | integrity sha512-/rVCSDyokkzSCEGaGjkkElXtIRwyNDRzIa3S8VUhR6pjk25p6+AMnb1s2zGmhjl66D5m/HnV3IeZoxnWsvTy+w== |
| | | dependencies: |
| | | diff "^7.0.0" |
| | | hogan.js "3.0.2" |
| | | optionalDependencies: |
| | | highlight.js "11.9.0" |
| | | |
| | | diff@^3.5.0: |
| | | version "3.5.0" |
| | | resolved "https://registry.npmmirror.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" |
| | | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== |
| | | |
| | | diff@^7.0.0: |
| | | version "7.0.0" |
| | | resolved "https://registry.npmmirror.com/diff/-/diff-7.0.0.tgz#3fb34d387cd76d803f6eebea67b921dab0182a9a" |
| | | integrity sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw== |
| | | |
| | | diffie-hellman@^5.0.0: |
| | | version "5.0.3" |
| | | resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" |
| | | integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== |
| | | |
| | | highlight.js@11.9.0: |
| | | version "11.9.0" |
| | | resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.9.0.tgz#04ab9ee43b52a41a047432c8103e2158a1b8b5b0" |
| | | integrity sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw== |
| | | |
| | | highlight.js@^9.18.5: |
| | | version "9.18.5" |
| | | resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" |
| | | integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== |
| | | |
| | | highlight.js@^9.6.0: |
| | | version "9.18.1" |
| | | resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" |
| | |
| | | hash.js "^1.0.3" |
| | | minimalistic-assert "^1.0.0" |
| | | minimalistic-crypto-utils "^1.0.1" |
| | | |
| | | hogan.js@3.0.2: |
| | | version "3.0.2" |
| | | resolved "https://registry.npmmirror.com/hogan.js/-/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd" |
| | | integrity sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg== |
| | | dependencies: |
| | | mkdirp "0.3.0" |
| | | nopt "1.0.10" |
| | | |
| | | home-or-tmp@^2.0.0: |
| | | version "2.0.0" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | for-in "^1.0.2" |
| | | is-extendable "^1.0.1" |
| | | |
| | | mkdirp@0.3.0: |
| | | version "0.3.0" |
| | | resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" |
| | | integrity sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew== |
| | | |
| | | mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.0, mkdirp@~0.5.1: |
| | | version "0.5.5" |
| | | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" |
| | | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== |
| | | 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" |
| | |
| | | version "2.14.1" |
| | | resolved "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" |
| | | integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== |
| | | |
| | | nanoid@^3.3.8: |
| | | version "3.3.8" |
| | | resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" |
| | | integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== |
| | | |
| | | nanomatch@^1.2.9: |
| | | version "1.2.13" |
| | |
| | | resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" |
| | | integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== |
| | | |
| | | nopt@1.0.10: |
| | | version "1.0.10" |
| | | resolved "https://registry.npmmirror.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" |
| | | integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== |
| | | dependencies: |
| | | abbrev "1" |
| | | |
| | | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: |
| | | version "2.5.0" |
| | | resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" |
| | |
| | | version "3.3.0" |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | source-map "^0.6.1" |
| | | supports-color "^6.1.0" |
| | | |
| | | postcss@^8.4.14: |
| | | version "8.5.3" |
| | | resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" |
| | | integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== |
| | | dependencies: |
| | | nanoid "^3.3.8" |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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== |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | resolved "https://registry.npmmirror.com/vue-calendar-component/-/vue-calendar-component-2.8.2.tgz#8f60c05a72c8aacbdd224016f4e1a96664abd8aa" |
| | | integrity sha512-BJh7xOBzM7QVcapcN4EbPQ1eZ8Pii1/oy+dzqjZTilRSIDD7SRPdFpnUJwZvs8lCrhtBAyJbYFsdm2SogXWHVQ== |
| | | |
| | | vue-code-diff@^1.2.0: |
| | | version "1.2.0" |
| | | resolved "https://registry.npmmirror.com/vue-code-diff/-/vue-code-diff-1.2.0.tgz#e38013307bab9296cc3512b2e7c9afed7890ae4a" |
| | | integrity sha512-kgSCl1Cr3I0u0z5DyJFbqQ1Hk7s9uBl7bfGwIn1X8f1xGmWdu4eRqfeOLTS0ut06VfGslaprXdaSvgn7YGDh0Q== |
| | | dependencies: |
| | | diff "^3.5.0" |
| | | diff2html "^3.3.1" |
| | | highlight.js "^9.18.5" |
| | | vue "^2.6.12" |
| | | |
| | | vue-cropper@^0.5.4: |
| | | version "0.5.4" |
| | | resolved "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.4.tgz#0db3776894eea8673a3203a1513882a0eb4558ad" |
| | |
| | | version "2.6.11" |
| | | resolved "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" |
| | | integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ== |
| | | |
| | | vue@^2.6.11, vue@^2.6.12: |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |