src/views/tms/PreparationOrderDetailList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/tms/PreparationOrderList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/tms/modules/baseTools/DncToolsSelectModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/tms/modules/baseTools/ParaBaseModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/tms/modules/preparationOrder/PreparationOrderDetailModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/tms/modules/preparationOrder/PreparationOrderModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/tms/PreparationOrderDetailList.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,205 @@ <template> <a-card :bordered="false" :class="'cust-erp-sub-tab'"> <!-- æ¥è¯¢åºå --> <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> </a-row> </a-form> </div> <!-- æ¥è¯¢åºå-END --> <!-- æä½æé®åºå --> <!-- <div class="table-operator" v-if="mainId">--> <!-- <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button>--> <!-- <a-button type="primary" icon="download" @click="handleExportXls('åå ·åå¤åæç»')">导åº</a-button>--> <!-- <a-upload--> <!-- name="file"--> <!-- :showUploadList="false"--> <!-- :multiple="false"--> <!-- :headers="tokenHeader"--> <!-- :action="importExcelUrl"--> <!-- @change="handleImportExcel">--> <!-- <a-button type="primary" icon="import">å¯¼å ¥</a-button>--> <!-- </a-upload>--> <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> <!-- <a-menu slot="overlay">--> <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>å é¤</a-menu-item>--> <!-- </a-menu>--> <!-- <a-button style="margin-left: 8px"> æ¹éæä½ <a-icon type="down" /></a-button>--> <!-- </a-dropdown>--> <!-- </div>--> <!-- tableåºå-begin --> <div> <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> <!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已鿩 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> <!-- <a style="margin-left: 24px" @click="onClearSelected">æ¸ ç©º</a>--> <!-- </div>--> <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{x:true}" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" :rowSelection="null" @change="handleTableChange"> <!-- <template slot="htmlSlot" slot-scope="text">--> <!-- <div v-html="text"></div>--> <!-- </template>--> <!-- <template slot="imgSlot" slot-scope="text,record">--> <!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">æ å¾ç</span>--> <!-- <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>--> <!-- </template>--> <!-- <template slot="fileSlot" slot-scope="text">--> <!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">æ æä»¶</span>--> <!-- <a-button--> <!-- v-else--> <!-- :ghost="true"--> <!-- type="primary"--> <!-- icon="download"--> <!-- size="small"--> <!-- @click="downloadFile(text)">--> <!-- ä¸è½½--> <!-- </a-button>--> <!-- </template>--> <!-- <span slot="action" slot-scope="text, record">--> <!-- <a @click="handleEdit(record)">ç¼è¾</a>--> <!-- <a-divider type="vertical" />--> <!-- <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)">--> <!-- <a>å é¤</a>--> <!-- </a-popconfirm>--> <!-- </span>--> </a-table> </div> <preparationOrderDetail-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></preparationOrderDetail-modal> </a-card> </template> <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import PreparationOrderDetailModal from './modules/preparationOrder/PreparationOrderDetailModal' export default { name: "PreparationOrderDetailList", mixins:[JeecgListMixin], components: { PreparationOrderDetailModal }, props:{ mainId:{ type:String, default:'', required:false } }, watch:{ mainId:{ immediate: true, handler(val) { if(!this.mainId){ this.clearList() }else{ this.queryParam['preparationOrderId'] = val this.loadData(1); } } } }, data () { return { description: 'åå ·åå¤å管ç页é¢', disableMixinCreated:true, // 表头 columns: [ { title: '#', dataIndex: '', key:'rowIndex', width:60, align:"center", customRender:function (t,r,index) { return parseInt(index)+1; } }, { title:'å·¥å ·ç¼ç ', align:"left", dataIndex: 'toolNum' }, { title:'å·¥å ·ç±»å', align:"center", dataIndex: 'applicationType_dictText' }, { title:'䏿åç§°', align:"center", dataIndex: 'chineseName' }, { title:'åå·/å¾å·', align:"left", dataIndex: 'toolModel' }, { title:'åå ·ææ', align:"center", dataIndex: 'toolMaterial' }, { title:'é¶ä»¶ææ', align:"center", dataIndex: 'partMaterial' }, { title:'åå®¶', align:"center", dataIndex: 'supplierId' }, { title:'åºåºæ°é', align:"left", dataIndex: 'outboundQuantity', scopedSlots: { customRender: 'outboundQuantity' } } ], url: { list: "/tms/preparationOrder/listPreparationOrderDetailByMainId", delete: "/tms/preparationOrder/deletePreparationOrderDetail", deleteBatch: "/tms/preparationOrder/deleteBatchPreparationOrderDetail", exportXlsUrl: "/tms/preparationOrder/exportPreparationOrderDetail", importUrl: "/tms/preparationOrder/importPreparationOrderDetail", }, dictOptions:{ } } }, created() { }, computed: { importExcelUrl(){ return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; } }, methods: { clearList(){ this.dataSource=[] this.selectedRowKeys=[] this.ipagination.current = 1 } } } </script> <style scoped> @import '~@assets/less/common.less' </style> src/views/tms/PreparationOrderList.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,363 @@ <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 :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="åå¤åç¼å·"> <a-input placeholder="请è¾å ¥åå¤åç¼å·" v-model="queryParam.preparationOrderNum"></a-input> </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="åæ®ç¶æ"> <a-select placeholder="请è¾å ¥åå¤åç¼å·" v-model="queryParam.orderStatus"> <a-select-option value="1">å¾ å®¡æ ¸</a-select-option> <a-select-option value="2">å·²å®¡æ ¸</a-select-option> <a-select-option value="3">已转åº</a-select-option> </a-select> </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">éç½®</a-button> <!-- <a @click="handleToggleSearch" style="margin-left: 8px">--> <!-- {{ toggleSearchStatus ? 'æ¶èµ·' : 'å±å¼' }}--> <!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>--> <!-- </a>--> </span> </a-col> </a-row> </a-form> </div> <!-- æ¥è¯¢åºå-END --> <!-- æä½æé®åºå --> <div class="table-operator"> <!-- <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button>--> <a-button @click="handleConvert" type="primary" icon="arrow-right">转åºåºç³è¯·å</a-button> <!-- <a-button type="primary" icon="download" @click="handleExportXls('åå ·åå¤å')">导åº</a-button>--> <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">--> <!-- <a-button type="primary" icon="import">å¯¼å ¥</a-button>--> <!-- </a-upload>--> <!-- é«çº§æ¥è¯¢åºå --> <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>--> </div> <!-- tableåºå-begin --> <div> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> <i class="anticon anticon-info-circle ant-alert-icon"></i> 已鿩 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 <a style="margin-left: 24px" @click="onClearSelected">æ¸ ç©º</a> </div> <a-table ref="table" size="middle" bordered rowKey="id" class="j-table-force-nowrap" :scroll="{x:true}" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" :customRow="clickThenSelect" @change="handleTableChange"> <!-- <template slot="htmlSlot" slot-scope="text">--> <!-- <div v-html="text"></div>--> <!-- </template>--> <!-- <template slot="imgSlot" slot-scope="text,record">--> <!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">æ å¾ç</span>--> <!-- <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>--> <!-- </template>--> <!-- <template slot="fileSlot" slot-scope="text">--> <!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">æ æä»¶</span>--> <!-- <a-button--> <!-- v-else--> <!-- :ghost="true"--> <!-- type="primary"--> <!-- icon="download"--> <!-- size="small"--> <!-- @click="downloadFile(text)">--> <!-- ä¸è½½--> <!-- </a-button>--> <!-- </template>--> <span slot="action" slot-scope="text, record"> <a @click="handleDetail(record)">详æ </a> <span v-if="record.orderStatus === '1'"> <a-divider type="vertical" /> <a @click="handleConfirm(record)">å®¡æ ¸</a> <a-divider type="vertical" /> <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)"> <a>å é¤</a> </a-popconfirm> </span> <!-- <a-divider type="vertical" />--> <!-- <a-dropdown>--> <!-- <a class="ant-dropdown-link">æ´å¤ <a-icon type="down" /></a>--> <!-- <a-menu slot="overlay">--> <!-- <a-menu-item>--> <!-- <a @click="handleEdit(record)">ç¼è¾</a>--> <!-- </a-menu-item>--> <!-- <a-menu-item>--> <!-- <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)">--> <!-- <a>å é¤</a>--> <!-- </a-popconfirm>--> <!-- </a-menu-item>--> <!-- </a-menu>--> <!-- </a-dropdown>--> </span> </a-table> </div> <a-tabs defaultActiveKey="1"> <a-tab-pane tab="åå ·åå¤åæç»" key="1" > <PreparationOrderDetailList :mainId="preparationOrderDetailMainId" /> </a-tab-pane> </a-tabs> <preparationOrder-modal ref="modalForm" @ok="modalFormOk"></preparationOrder-modal> </a-card> </template> <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import PreparationOrderModal from './modules/preparationOrder/PreparationOrderModal' import { getAction } from '@/api/manage' import PreparationOrderDetailList from './PreparationOrderDetailList' import '@/assets/less/TableExpand.less' import { postAction } from '../../api/manage' export default { name: "PreparationOrderList", mixins:[JeecgListMixin], components: { PreparationOrderDetailList, PreparationOrderModal }, data () { return { description: 'åå ·åå¤å管ç页é¢', // 表头 columns: [ { title:'åå¤åç¼å·', align:"left", dataIndex: 'preparationOrderNum' }, { title:'é¶ä»¶å¾å·', align:"center", dataIndex: 'partDrawingNo' }, { title:'é¶ä»¶åç§°', align:"center", dataIndex: 'partName' }, { title:'é¶ä»¶ææ', align:"center", dataIndex: 'partMaterial' }, { title:'å·¥åº', align:"center", dataIndex: 'productionProcessesNo' }, { title:'å å·¥æ¹æ¬¡', align:"center", dataIndex: 'batchCode' }, { title:'å å·¥æ°é', align:"left", dataIndex: 'machiningCount' }, { title:'å 工设å¤', align:"center", dataIndex: 'equipmentCode' }, { title:'ç¨åºå', align:"center", dataIndex: 'ncName' }, { title:'ååç¶æ', align:"center", dataIndex: 'orderStatus_dictText' }, { title:'æäº¤æ¶é´(æäº¤è³åºåºç³è¯·)', align:"center", dataIndex: 'outboundTime' }, { title:'夿³¨', align:"center", dataIndex: 'remark' }, { title:'å建人', align:"center", dataIndex: 'createBy' }, { title:'å建æ¶é´(DNCæ¨éæ¶é´)', align:"center", dataIndex: 'createTime' }, { title: 'æä½', dataIndex: 'action', align:"center", fixed:"right", width:147, scopedSlots: { customRender: 'action' }, } ], url: { list: "/tms/preparationOrder/list", convertToOutboundOrder: "/tms/preparationOrder/convertToOutboundOrder", delete: "/tms/preparationOrder/delete", deleteBatch: "/tms/preparationOrder/deleteBatch", exportXlsUrl: "/tms/preparationOrder/exportXls", importExcelUrl: "tms/preparationOrder/importExcel", }, dictOptions:{ }, /* å页忰 */ ipagination:{ current: 1, pageSize: 5, pageSizeOptions: ['5', '10', '50'], showTotal: (total, range) => { return range[0] + "-" + range[1] + " å ±" + total + "æ¡" }, showQuickJumper: true, showSizeChanger: true, total: 0 }, selectedMainId:'', superFieldList:[], preparationOrderDetailMainId: '', } }, created() { this.getSuperFieldList(); }, computed: { importExcelUrl: function(){ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; } }, methods: { handleConvert() { if (this.selectedRowKeys.length < 1) { this.$message.warning('请è³å°éæ©ä¸æ¡ç³è¯·åæ°æ®ï¼') return } console.log(this.selectionRows) console.log(this.selectedRowKeys) postAction(this.url.convertToOutboundOrder, this.selectedRowKeys).then((res) => { if (res.success) { this.$message.success(res.message) this.loadData(this.ipagination.current) } else { this.$message.warning(res.message) } }) }, handleConfirm(record) { this.$refs.modalForm.edit(record); this.$refs.modalForm.title = "å®¡æ ¸"; this.$refs.modalForm.disableSubmit = false; }, searchReset() { this.queryParam = {} this.preparationOrderDetailMainId = '' this.loadData(1) }, initDictConfig(){ }, clickThenSelect(record) { return { on: { click: () => { this.onClickChange(record.id.split(","), [record]); } } } }, onClickChange(selectedRowKeys, selectionRows) { this.preparationOrderDetailMainId = selectionRows[0]['id'] }, onClearSelected() { this.selectedRowKeys = []; this.selectionRows = []; this.selectedMainId='' }, onSelectChange(selectedRowKeys, selectionRows) { this.selectedMainId=selectedRowKeys[0] this.selectedRowKeys = selectedRowKeys; this.selectionRows = selectionRows; }, loadData(arg) { if(!this.url.list){ this.$message.error("请设置url.list屿§!") return } //å è½½æ°æ® è¥ä¼ å ¥åæ°1åå 载第ä¸é¡µçå 容 if (arg === 1) { this.ipagination.current = 1; } this.onClearSelected() var params = this.getQueryParams();//æ¥è¯¢æ¡ä»¶ this.loading = true; getAction(this.url.list, params).then((res) => { if (res.success) { this.dataSource = res.result.records; this.ipagination.total = res.result.total; } if(res.code===510){ this.$message.warning(res.message) } this.loading = false; }) }, getSuperFieldList(){ let fieldList=[]; fieldList.push({type:'string',value:'preparationOrderNum',text:'åå¤åç¼å·',dictCode:''}) fieldList.push({type:'string',value:'partDrawingNo',text:'é¶ä»¶å¾å·',dictCode:''}) fieldList.push({type:'string',value:'partName',text:'é¶ä»¶åç§°',dictCode:''}) fieldList.push({type:'string',value:'partMaterial',text:'é¶ä»¶ææ',dictCode:''}) fieldList.push({type:'string',value:'productionProcessesNo',text:'å·¥åºï¼å·¥æ¥å·ï¼',dictCode:''}) fieldList.push({type:'string',value:'batchCode',text:'å å·¥æ¹æ¬¡',dictCode:''}) fieldList.push({type:'string',value:'machiningCount',text:'å å·¥æ°é',dictCode:''}) fieldList.push({type:'string',value:'equipmentCode',text:'å 工设å¤',dictCode:''}) fieldList.push({type:'string',value:'ncName',text:'ç¨åºå',dictCode:''}) fieldList.push({type:'BigDecimal',value:'outboundQuantity',text:'åå¤ååºåºæ°é',dictCode:''}) fieldList.push({type:'string',value:'orderStatus',text:'ååç¶æ;1.æªå®¡æ ¸ï¼2.è°æºåå·²å®¡æ ¸ï¼3.已转åºåºç³è¯·',dictCode:''}) fieldList.push({type:'date',value:'outboundTime',text:'åå¤åæäº¤æ¶é´;æäº¤è³åºåºç³è¯·åçæ¶é´'}) fieldList.push({type:'string',value:'remark',text:'夿³¨',dictCode:''}) fieldList.push({type:'string',value:'createBy',text:'å建人',dictCode:''}) fieldList.push({type:'date',value:'createTime',text:'å建æ¶é´;DNCæ¨éæ°æ®æ¶é´'}) this.superFieldList = fieldList } } } </script> <style scoped> @import '~@assets/less/common.less' </style> src/views/tms/modules/baseTools/DncToolsSelectModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1081 @@ <template> <j-modal :title="title" :width="width" :visible="visible" switchFullscreen @ok="handleOk" :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @cancel="handleCancel" cancelText="å ³é" :footer="null" > <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="8" :sm="8"> <a-form-item label="å·¥å ·ç±»å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-select :options="toolTypeList" placeholder="è¯·éæ©å·¥å ·ç±»åæ£ç´¢" v-model="queryParam.classifyId" @change="handleToolTypeChange" ></a-select> </a-form-item> </a-col> <a-col :md="8" :sm="8"> <a-form-item label="å·¥å ·ç®ç§°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input disabled placeholder="请è¾å ¥å·¥å ·ç®ç§°æ£ç´¢" v-model="queryParam.aliasLabel" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8"> <a-form-item label="ç´å¾åæ°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥ç´å¾åæ°æ£ç´¢" v-model="queryParam.diameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8"> <a-form-item label="å·¥å ·ç¼ç " :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å·¥å ·ç¼ç æ£ç´¢" v-model="queryParam.toolCode" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8"> <a-form-item label="åå·/å¾å·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åå·/å¾å·æ£ç´¢" v-model="queryParam.toolModel" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8"> <a-form-item label="䏿åç§°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥ä¸æåç§°æ£ç´¢" v-model="queryParam.chineseName" ></a-input> </a-form-item> </a-col> <!-- åå å·¥å·¥å ·ç±»æ¥è¯¢åæ° --> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="åååé¿" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请åååé¿æ£ç´¢" v-model="queryParam.edgeLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="åæ°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæ°æ£ç´¢" v-model="queryParam.bladeCount" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="ææå å·¥é¿åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥ææå å·¥é¿åº¦æ£ç´¢" v-model="queryParam.effectiveLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="æå°éåç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°éåç´å¾æ£ç´¢" v-model="queryParam.latestBoringDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="æå¤§éåç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå¤§éåç´å¾æ£ç´¢" v-model="queryParam.maxBoringDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="åæç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæç´å¾æ£ç´¢" v-model="queryParam.knifeDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="åå¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å徿£ç´¢" v-model="queryParam.boreDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraHoleToolsFlag"> <a-form-item label="å头æ°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åå¤´æ°æ£ç´¢" v-model="queryParam.headsNumber" ></a-input> </a-form-item> </a-col> <!-- é£ååå ·ç±»æ¥è¯¢åæ° --> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="åååé¿" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åååé¿æ£ç´¢" v-model="queryParam.edgeLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="齿æ°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥é½¿æ°æ£ç´¢" v-model="queryParam.numberOfTeeth" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="é¢å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥é¢å¾æ£ç´¢" v-model="queryParam.neckDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æå°ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°ç´å¾æ£ç´¢" v-model="queryParam.smallDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æé¿" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æé¿æ£ç´¢" v-model="queryParam.handleLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æå¤§åæ·±" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå¤§åæ·±æ£ç´¢" v-model="queryParam.deepestDepth" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æé¢é¿åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æé¢é¿åº¦æ£ç´¢" v-model="queryParam.handleNeckLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æ¬ä¼¸é¿åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æ¬ä¼¸é¿åº¦æ£ç´¢" v-model="queryParam.overhangingLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="èºè·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºè·æ£ç´¢" v-model="queryParam.pitch" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraMillToolFlag"> <a-form-item label="æå°å å·¥ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°å å·¥ç´å¾æ£ç´¢" v-model="queryParam.recentlyDiameter" ></a-input> </a-form-item> </a-col> <!-- 车ååå ·ç±»åæ° --> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="æå°ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°ç´å¾æ£ç´¢" v-model="queryParam.smallDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="é å¥åçå·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥é å¥åçå·æ£ç´¢" v-model="queryParam.matchingNumber" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="ååæ¹å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥ååæ¹åæ£ç´¢" v-model="queryParam.cuttingDirection" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åç尺寸" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åç尺寸æ£ç´¢" v-model="queryParam.knifeSize" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="éæç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥éæç´å¾æ£ç´¢" v-model="queryParam.boringBarDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åæé¿åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæé¿åº¦æ£ç´¢" v-model="queryParam.bladeLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åææ¹å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åææ¹åæ£ç´¢" v-model="queryParam.barDirection" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åæé«åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæé«åº¦æ£ç´¢" v-model="queryParam.bladeHeight" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åæå®½åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæå®½åº¦æ£ç´¢" v-model="queryParam.bladeWide" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åçæ§½å®½" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åçæ§½å®½æ£ç´¢" v-model="queryParam.slotWidth" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="æå¤§åå ¥ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå¤§åå ¥ç´å¾æ£ç´¢" v-model="queryParam.maxDiameter" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="æå¤§å槽深度" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå¤§å槽深度æ£ç´¢" v-model="queryParam.maxDepth" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="åæ¿å度" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæ¿å度æ£ç´¢" v-model="queryParam.bladeThickness" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraTurningToolsFlag"> <a-form-item label="æå°å å·¥ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°å å·¥ç´å¾æ£ç´¢" v-model="queryParam.minDiameter" ></a-input> </a-form-item> </a-col> <!-- èºçº¹åå ·ç±»æ¥è¯¢åæ° --> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="åååé¿" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åååé¿æ£ç´¢" v-model="queryParam.edgeLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºè·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºè·æ£ç´¢" v-model="queryParam.pitch" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºçº¹ä»£å·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹ä»£å·æ£ç´¢" v-model="queryParam.threadCode" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºçº¹æå" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹æåæ£ç´¢" v-model="queryParam.rotationDirection" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºçº¹å ¬å·®å¸¦ä»£å·/精度ç级" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹å ¬å·®å¸¦ä»£å·/精度ç级æ£ç´¢" v-model="queryParam.tolerancezoneLevel" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="å¤å尺寸" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å¤å尺寸æ£ç´¢" v-model="queryParam.externalDimensions" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="æé¨è§æ ¼" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æé¨è§æ ¼æ£ç´¢" v-model="queryParam.handleSpecifications" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºåç±»å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºåç±»åæ£ç´¢" v-model="queryParam.screwHoleType" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºçº¹æ å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹æ åæ£ç´¢" v-model="queryParam.threadStandard" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="æå±æ§½å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå±æ§½åæ£ç´¢" v-model="queryParam.fluteSoltType" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="èºçº¹ç±»å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹ç±»åæ£ç´¢" v-model="queryParam.threadType" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="导å尺寸" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å¯¼å尺寸æ£ç´¢" v-model="queryParam.guidingSize" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="è¿æ¥åå¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥è¿æ¥å徿£ç´¢" v-model="queryParam.connectionAperture" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraThreadingToolFlag"> <a-form-item label="è¿æ¥é®æ§½" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥è¿æ¥é®æ§½æ£ç´¢" v-model="queryParam.connectingKeyway" ></a-input> </a-form-item> </a-col> <!-- åçç±»åæ° --> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="èºè·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºè·æ£ç´¢" v-model="queryParam.pitch" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="ååæ¹å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥ååæ¹åæ£ç´¢" v-model="queryParam.cuttingDirection" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åç尺寸" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åç尺寸æ£ç´¢" v-model="queryParam.knifeSize" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åæé¿åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæé¿åº¦æ£ç´¢" v-model="queryParam.bladeLength" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åæå®½åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åæå®½åº¦æ£ç´¢" v-model="queryParam.bladeWide" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="èºçº¹æ å" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥èºçº¹æ åæ£ç´¢" v-model="queryParam.threadStandard" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åçå½¢ç¶" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åçå½¢ç¶æ£ç´¢" v-model="queryParam.bladeShape" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åååæ°" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åååæ°æ£ç´¢" v-model="queryParam.cuttingEdgeCount" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="夹åºåå¼" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å¤¹åºå弿£ç´¢" v-model="queryParam.clampingType" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åå°R" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åå°Ræ£ç´¢" v-model="queryParam.noseAngleR" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="å å·¥åç±»" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å å·¥åç±»æ£ç´¢" v-model="queryParam.processingClassify" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åçåè§" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åçåè§æ£ç´¢" v-model="queryParam.bladePosterior" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="åç尺寸" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥åç尺寸æ£ç´¢" v-model="queryParam.bladeSize" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="å å¤èºçº¹" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥å å¤èºçº¹æ£ç´¢" v-model="queryParam.inOutThread" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="çåè§åº¦" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥çåè§åº¦æ£ç´¢" v-model="queryParam.dentalAngle" ></a-input> </a-form-item> </a-col> <a-col :md="8" :sm="8" v-if="paraBladeFlag"> <a-form-item label="æå°å å·¥å èºçº¹å ¬ç§°ç´å¾" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="请è¾å ¥æå°å å·¥å èºçº¹å ¬ç§°ç´å¾æ£ç´¢" v-model="queryParam.minInternalThread" ></a-input> </a-form-item> </a-col> <a-col :md="6" :sm="24"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">éç½®</a-button> </span> </a-col> </a-row> </a-form> </div> <!-- æ¥è¯¢åºå-END --> <!-- æä½æé®åºå --> <div class="table-operator"> </div> <!-- tableåºå-begin --> <div> <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" class="j-table-force-nowrap" :customRow="customRow" @change="handleTableChange"> <span slot="action" slot-scope="text, record"> <a @click="handleDetail(record)">详æ </a> <a-divider type="vertical" /> <a @click="handleSelect(record)">éæ©</a> </span> </a-table> </div> <a-tabs defaultActiveKey="1"> <a-tab-pane key="1"> <span slot="tab"> <a-badge>åæ° </a-badge> </span> <para-hole-tools-list ref="paraHoleToolsList"></para-hole-tools-list> <para-threading-tool-list ref="paraThreadingToolList"></para-threading-tool-list> <para-mill-tool-list ref="paraMillToolList"></para-mill-tool-list> <para-turning-tools-list ref="paraTurningToolsList"></para-turning-tools-list> <para-blade-list ref="paraBladeList"></para-blade-list> <para-common-tool-list ref="paraCommonToolList"></para-common-tool-list> </a-tab-pane> <a-tab-pane key="2" forceRender > <span slot="tab"> <a-badge>管çåæ° </a-badge> </span> <tools-config-property-list ref="toolsConfigPropertyList"></tools-config-property-list> </a-tab-pane> </a-tabs> <base-tools-modal ref="modalForm" @ok="modalFormOk" :nodeSelected="nodeSelected"></base-tools-modal> <para-hole-tools-modal ref="paraHoleToolsModal" @ok="modalFormOk" :nodeSelected="nodeSelected"></para-hole-tools-modal> <para-threading-tool-modal ref="paraThreadingToolModal"></para-threading-tool-modal> <para-mill-tool-modal ref="paraMillToolModal"></para-mill-tool-modal> <para-turning-tools-modal ref="paraTurningToolsModal"></para-turning-tools-modal> <para-blade-modal ref="paraBladeModal"></para-blade-modal> <para-common-tool-modal ref="paraCommonToolModal"></para-common-tool-modal> <para-base-modal ref="paraBaseModal"></para-base-modal> </a-card> </j-modal> </template> <script> import '@/assets/less/TableExpand.less' import { mixinDevice } from '@/utils/mixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import BaseToolsModal from './BaseToolsModal' import Tooltip from 'ant-design-vue/es/tooltip' import { getAction, postAction, deleteAction, requestPut } from '@api/manage' import ParaBaseModal from './ParaBaseModal.vue' import ParaHoleToolsModal from './ParaHoleToolsModal' import ParaMillToolModal from './ParaMillToolModal' import ParaThreadingToolModal from './ParaThreadingToolModal' import ParaTurningToolsModal from './ParaTurningToolsModal' import ToolsConfigPropertyModal from './ToolsConfigPropertyModal' import ParaCommonToolModal from './ParaCommonToolModal' import ParaBladeModal from './ParaBladeModal' import ParaHoleToolsList from './ParaHoleToolsList' import ToolsConfigPropertyList from './ToolsConfigPropertyList' import ParaMillToolList from './ParaMillToolList' import ParaThreadingToolList from './ParaThreadingToolList' import ParaTurningToolsList from './ParaTurningToolsList' import ParaCommonToolList from './ParaCommonToolList' import ParaBladeList from './ParaBladeList' export default { name: 'DncToolsSelectListRight', mixins: [JeecgListMixin, mixinDevice], components: { BaseToolsModal, Tooltip, ParaBaseModal, ParaHoleToolsModal, ParaMillToolModal, ParaThreadingToolModal, ParaTurningToolsModal, ToolsConfigPropertyModal, ParaCommonToolModal, ParaBladeModal, ParaHoleToolsList, ToolsConfigPropertyList, ParaMillToolList, ParaThreadingToolList, ParaTurningToolsList, ParaCommonToolList, ParaBladeList }, data() { return { description: 'DNCåå ·éæ©é¡µé¢', title: '', width: 1200, visible: false, disableSubmit: false, toolTypeList: [], param: {}, paraHoleToolsFlag: false, paraMillToolFlag: false, paraThreadingToolFlag: false, paraTurningToolsFlag: false, paraBladeFlag: false, paraCommonToolFlag: false, /* å页忰 */ ipagination: { current: 1, pageSize: 10, pageSizeOptions: ['10', '20', '50'], showTotal: (total, range) => { return range[0] + '-' + range[1] + ' å ±' + total + 'æ¡' }, showQuickJumper: true, showSizeChanger: true, total: 0 }, // 表头 columns: [ { title: '#', dataIndex: '', key: 'rowIndex', width: 60, align: 'center', customRender: function(t, r, index) { return parseInt(index) + 1 } }, { title: 'å·¥å ·ç¼ç ', align: 'center', dataIndex: 'toolCode' }, { title: 'å·¥å ·ç±»å', align: 'center', dataIndex: 'classifyName' }, { title: 'åºå·', align: 'center', dataIndex: 'signCode' }, { title: '䏿åç§°', align: 'center', dataIndex: 'chineseName' }, { title: '夿åç§°', align: 'center', dataIndex: 'foreignLanguageName' }, { title: 'æ æ³¨çº§å«', align: 'center', dataIndex: 'standardLevel' }, { title: 'æ åå·', align: 'center', dataIndex: 'standardCode' }, { title: 'åå·/å¾å·', align: 'center', dataIndex: 'toolModel' }, { title: '夿³¨', align: 'center', dataIndex: 'remark' }, { title: 'æä½', dataIndex: 'action', align: 'center', fixed: 'right', width: 147, scopedSlots: { customRender: 'action' } } ], url: { list: '/tms/toolsToDnc/queryToolByParam', queryToolClassifyByParam: '/tms/toolsToDnc/queryToolClassifyByParam', queryParaByToolCode: '/tms/baseTools/queryByToolCode', queryByToolCode: '/tms/toolsConfigProperty/queryByToolCode', queryToolsClassify: '/tms/toolsClassify/queryById' }, dictOptions: {}, nodeSelected: {}, // å½åéä¸çèç¹æ°æ® disableMixinCreated: true, queryParam: { aliasLabel: '', diameter: '', toolCode: '', toolModel: '', chineseName: '' } } }, created() { }, computed: { }, methods: { open(param) { this.param = param this.visible = true this.queryParam.aliasLabel = param.aliasLabel this.queryParam.diameter = param.diameter getAction(this.url.queryToolClassifyByParam, { aliasLabel: param.aliasLabel }).then((res) => { if (res.success) { this.toolTypeList = res.result } }) this.loadData() }, loadData() { var params = this.getQueryParams();//æ¥è¯¢æ¡ä»¶ console.log(params) if(!params){ return false; } this.loading = true; getAction(this.url.list, params).then((res) => { if (res.success) { this.dataSource = res.result.records||res.result; if(res.result.total) { this.ipagination.total = res.result.total; }else{ this.ipagination.total = 0; } }else{ this.$message.warning(res.message) } }).finally(() => { this.loading = false }) }, handleToolTypeChange(value) { getAction(this.url.queryToolsClassify, { id: value }).then((res) => { if (res.success) { const paraTypeFlag = res.result.paraTypeFlag console.log(paraTypeFlag) switch (paraTypeFlag) { case '1': this.paraHoleToolsFlag = false this.paraMillToolFlag = false this.paraThreadingToolFlag = false this.paraTurningToolsFlag = false this.paraBladeFlag = false this.paraCommonToolFlag = true break case '2': this.paraHoleToolsFlag = true this.paraMillToolFlag = false this.paraThreadingToolFlag = false this.paraTurningToolsFlag = false this.paraBladeFlag = false this.paraCommonToolFlag = false break case '3': this.paraHoleToolsFlag = false this.paraMillToolFlag = false this.paraThreadingToolFlag = true this.paraTurningToolsFlag = false this.paraBladeFlag = false this.paraCommonToolFlag = false break case '4': this.paraHoleToolsFlag = false this.paraMillToolFlag = true this.paraThreadingToolFlag = false this.paraTurningToolsFlag = false this.paraBladeFlag = false this.paraCommonToolFlag = false break case '5': this.paraHoleToolsFlag = false this.paraMillToolFlag = false this.paraThreadingToolFlag = false this.paraTurningToolsFlag = true this.paraBladeFlag = false this.paraCommonToolFlag = false break case '6': this.paraHoleToolsFlag = false this.paraMillToolFlag = false this.paraThreadingToolFlag = false this.paraTurningToolsFlag = false this.paraBladeFlag = true this.paraCommonToolFlag = false break } } else { this.$message.warning(res.message) } }) }, handleCancel() { this.queryParam = {} this.clearQueryFlag() this.clearPara() this.visible = false }, handleOk() { }, onSelectChange(selectedRowKeys, selectedRows) { this.clearPara() this.selectedRowKeys = selectedRowKeys const paraTypeFlag = selectedRows[0].paramaTableName const toolCode = selectedRows[0].toolId //éè¿idæ¥è¯¢ç®¡çåæ°ååæ°æ°æ® if (toolCode) { getAction(this.url.queryByToolCode, { toolCode: selectedRows[0].toolId }).then((res) => { if (res.success) { this.$refs.toolsConfigPropertyList.getPara(res.result) } else { this.$message.warning(res.message) } }) if (paraTypeFlag) { getAction(this.url.queryParaByToolCode, { toolCode: toolCode, paraTypeFlag: paraTypeFlag }).then((res) => { if (res.success) { switch (paraTypeFlag) { case '1': this.$refs.paraCommonToolList.getPara(res.result) break case '2': this.$refs.paraHoleToolsList.getPara(res.result) break case '3': this.$refs.paraThreadingToolList.getPara(res.result) break case '4': this.$refs.paraMillToolList.getPara(res.result) break case '5': this.$refs.paraTurningToolsList.getPara(res.result) break case '6': this.$refs.paraBladeList.getPara(res.result) break } } else { this.$message.warning(res.message) } }) } } }, handleSelect(record) { console.log(record) this.clearQueryFlag() this.clearPara() this.visible = false }, //详æ handleDetail: function(record) { console.log(record) const paramaTableName = record.paramaTableName switch (paramaTableName) { case '1': this.$refs.paraCommonToolModal.edit(record) this.$refs.paraCommonToolModal.title = '详æ ' this.$refs.paraCommonToolModal.disableSubmit = true this.$refs.paraCommonToolModal.disSeach = true break case '2': this.$refs.paraHoleToolsModal.edit(record) this.$refs.paraHoleToolsModal.title = '详æ ' this.$refs.paraHoleToolsModal.disableSubmit = true this.$refs.paraHoleToolsModal.disSeach = true break case '3': this.$refs.paraThreadingToolModal.edit(record) this.$refs.paraThreadingToolModal.title = '详æ ' this.$refs.paraThreadingToolModal.disableSubmit = true this.$refs.paraThreadingToolModal.disSeach = true break case '4': this.$refs.paraMillToolModal.edit(record) this.$refs.paraMillToolModal.title = '详æ ' this.$refs.paraMillToolModal.disableSubmit = true this.$refs.paraMillToolModal.disSeach = true break case '5': this.$refs.paraTurningToolsModal.edit(record) this.$refs.paraTurningToolsModal.title = '详æ ' this.$refs.paraTurningToolsModal.disableSubmit = true this.$refs.paraTurningToolsModal.disSeach = true break case '6': this.$refs.paraBladeModal.edit(record) this.$refs.paraBladeModal.title = '详æ ' this.$refs.paraBladeModal.disableSubmit = true this.$refs.paraBladeModal.disSeach = true break default: this.$refs.paraBaseModal.edit(record) this.$refs.paraBaseModal.title = '详æ ' this.$refs.paraBaseModal.disableSubmit = true this.$refs.paraBaseModal.disSeach = true break } }, onClearSelected() { this.selectedKeys = [] this.nodeSelected = {} // æ¸ ç©ºéä¸çèç¹ this.dataSource = [] // æ¸ ç©ºè¡¨æ ¼æ°æ® }, searchQuery() { this.clearPara() this.loadData(1); }, //éç½® searchReset() { this.queryParam = { aliasLabel: this.param.aliasLabel, diameter: this.param.diameter } this.clearQueryFlag() this.clearPara() this.loadData(1) }, clearQueryFlag() { this.paraHoleToolsFlag = false this.paraMillToolFlag = false this.paraThreadingToolFlag = false this.paraTurningToolsFlag = false this.paraBladeFlag = false this.paraCommonToolFlag = false }, //æ¸ ç©ºéä¸ååæ° clearPara() { this.selectedRowKeys = [] this.$refs.paraCommonToolList.visable = false this.$refs.paraHoleToolsList.visable = false this.$refs.paraThreadingToolList.visable = false this.$refs.paraMillToolList.visable = false this.$refs.paraTurningToolsList.visable = false this.$refs.paraBladeList.visable = false this.$refs.toolsConfigPropertyList.visable = false }, customRow(record) { return { on: { click: () => { this.onSelectChange(record.id.split(','), [record]) } } } } } } </script> <style scoped> @import '~@assets/less/common.less'; .enable { color: green; } .disable { color: red; } </style> src/views/tms/modules/baseTools/ParaBaseModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,288 @@ <template> <j-modal :title="title" :width="1200" :visible="visible" centered :confirmLoading="confirmLoading" :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" switchFullscreen @ok="handleOk" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="confirmLoading"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> å·¥å ·åºç¡ä¿¡æ¯ </a-divider> <a-row :gutter="24"> <a-col :span="8"> <a-form-model-item prop="classifyNum" label="å·¥å ·åç±»ç¼ç "> <a-input placeholder="请è¾å ¥å·¥å ·åç±»ç¼ç " v-model="model.classifyNum" :disabled="true" /> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="classifyName" label="å·¥å ·åç±»åç§°"> <a-input placeholder="请è¾å ¥å·¥å ·åç±»åç§°" v-model="model.classifyName" :disabled="true" /> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="toolCode" label="å·¥å ·ç¼ç "> <a-input :placeholder="disableSubmit?'':'请è¾å ¥å·¥å ·ç¼ç '" v-model="model.toolCode" :disabled="disableSubmit"/> </a-form-model-item> </a-col> </a-row> <a-row> <a-col :span="8"> <a-form-model-item prop="chineseName" label="䏿åç§°"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥ä¸æåç§°'" v-model="model.chineseName" :disabled="disableSubmit"/> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="foreignLanguageName" label="夿åç§°"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥å¤æåç§°'" v-model="model.foreignLanguageName" :disabled="disableSubmit" /> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="toolModel" label="åå·/å¾å·"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥åå·/å¾å·'" v-model="model.toolModel" :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row> <a-col :span="8"> <a-form-model-item prop="standardLevel" label="æ æ³¨çº§å«"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥æ å级å«'" v-model="model.standardLevel" :disabled="disableSubmit"/> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="standardCode" label="æ åå·"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥æ åå·'" v-model="model.standardCode" :disabled="disableSubmit"/> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item prop="signCode" label="åºå·"> <a-input :placeholder="disableSubmit?'':'请è¾å ¥åºå·'" v-model="model.signCode" :disabled="disableSubmit"/> </a-form-model-item> </a-col> </a-row> </a-form-model> </a-spin> </j-modal> </template> <script> import { getAction,postAction, httpAction } from '@/api/manage' import { validateDuplicateValueInDelFlag } from '@/utils/util' import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue' import { getSystemConfigValue } from '@api/api' import { duplicateCheck } from '@/api/api'//é夿 ¡éª export default { name: 'ParaBaseModal', components: { JSelectProduction }, data() { return { title: 'æä½', visible: false, //æ§å¶ç¼è¾ editable: false, //è¯¦æ æ§å¶ disableSubmit: false, model: {}, labelCol: { xs: { span: 24 }, sm: { span: 9 } }, wrapperCol: { xs: { span: 24 }, sm: { span: 14 } }, labelColLong: { xs: { span: 24 }, sm: { span: 2 } }, wrapperColLong: { xs: { span: 24 }, sm: { span: 22 } }, confirmLoading: false, validatorRules: { toolCode: [ { required: true, message: '请è¾å ¥å·¥å ·ç¼ç ' }, { validator: this.validateNum } ], classifyNum: [ { required: true, message: '请è¾å ¥å·¥å ·åç±»ç¼ç ' } ], classifyName: [ { required: true, message: '请è¾å ¥å·¥å ·åç±»åç§°' } ], toolModel: [ { required: true, message: '请è¾å ¥åå·/å¾å·' }, { validator: this.validateModel } ], chineseName: [ { required: true, message: '请è¾å ¥ä¸æåç§°' } ], bladeShape: [ { required: true, message: '请è¾å ¥åçå½¢ç¶' } ], bladeLength: [ { required: true, message: '请è¾å ¥åçé¿åº¦' } ], cuttingEdgeCount: [ { required: true, message: '请è¾å ¥åååæ°' } ], bladeThickness: [ { required: true, message: '请è¾å ¥åçå度' } ], clampingType: [ { required: true, message: '请è¾å ¥å¤¹åºåå¼' } ], noseAngleR: [ { required: true, message: '请è¾å ¥åå°R' } ], toolMaterial: [ { required: true, message: '请è¾å ¥åçææ' } ], paintcoatFlag: [ { required: true, message: 'è¯·éæ©æ¯å¦æ¶å±' } ], technicalConditions: [ { required: true, message: '请è¾å ¥éå ææ¯æ¡ä»¶' } ] }, url: { add: '/tms/baseTools/add', edit: '/tms/baseTools/edit', }, } }, created() { }, methods: { add(nodeSelected) { this.editable = false; //åå§åé»è®¤å¼ this.model = {}; this.model.classifyId = nodeSelected.key this.model.classifyNum = nodeSelected.entity.classifyId this.model.classifyName = nodeSelected.entity.typeName this.model.paraTypeFlag = nodeSelected.entity.paraTypeFlag this.visible = true }, edit(record) { this.editable = true; this.model = Object.assign({}, record) this.visible = true }, close() { this.$emit('close') this.visible = false this.$refs.form.clearValidate() }, handleOk() { const that = this // 触å表åéªè¯ this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = true let formData = Object.assign(this.model) let httpUrl = '' let method = 'post' if (!this.model.id) { httpUrl += this.url.add } else { httpUrl += this.url.edit } httpAction(httpUrl, formData, method) .then((res) => { if (res.success) { that.$message.success(res.message) that.$emit('ok') } else { that.$message.warning(res.message) } }) .finally(() => { that.confirmLoading = false that.close() }) } }) }, handleCancel() { this.close() }, //éªè¯å·¥å ·ç¼ç æ¯å¦éå¤ validateNum(rule, value, callback) { var params = { tableName: 'tms_base_tools', fieldName: 'tool_code', fieldVal: value, dataId: this.model.id }; duplicateCheck(params).then((res) => { if (res.success) { callback() } else { callback("å·¥å ·ç¼ç å·²åå¨!") } }) }, //éªè¯åå·/å¾å·æ¯å¦éå¤ validateModel(rule, value, callback) { var params = { tableName: 'tms_base_tools', fieldName: 'tool_model', fieldVal: value, dataId: this.model.id }; duplicateCheck(params).then((res) => { if (res.success) { callback() } else { callback("åå·/å¾å·å·²åå¨!") } }) }, } } </script> <style lang="less" scoped> /deep/ .ant-modal-body { padding: 0 24px; } /deep/ .ant-upload { width: 185px; height: 185px; } /deep/ .img { display: flex; justify-content: center; .ant-upload-picture-card-wrapper { width: auto; } } /deep/ .ant-upload-list-picture-card-container { width: 185px; height: 185px; } /deep/ .ant-upload-list-item { width: 185px; height: 185px; } </style> src/views/tms/modules/preparationOrder/PreparationOrderDetailModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,143 @@ <template> <j-modal :title="title" :width="width" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen @ok="handleOk" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="confirmLoading"> <a-form-model ref="form" :model="model" :rules="validatorRules"> <a-row> <a-col :span="24"> <a-form-model-item label="åå¤åå·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="preparationOrderId"> <a-input v-model="model.preparationOrderId"placeholder="请è¾å ¥åå¤åå·" ></a-input> </a-form-model-item> </a-col> <a-col :span="24"> <a-form-model-item label="åå ·ç¼ç " :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toolCode"> <a-input v-model="model.toolCode"placeholder="请è¾å ¥åå ·ç¼ç " ></a-input> </a-form-model-item> </a-col> <a-col :span="24"> <a-form-model-item label="åå ·ç¼å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toolId"> <a-input v-model="model.toolId"placeholder="请è¾å ¥åå ·ç¼å·" ></a-input> </a-form-model-item> </a-col> <a-col :span="24"> <a-form-model-item label="ç³è¯·åºåºæ°é" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundQuantity"> <a-input-number v-model="model.outboundQuantity"placeholder="请è¾å ¥ç³è¯·åºåºæ°é" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="24"> <a-form-model-item label="ç§æ·å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId"> <a-input v-model="model.tenantId"placeholder="请è¾å ¥ç§æ·å·" ></a-input> </a-form-model-item> </a-col> </a-row> </a-form-model> </a-spin> </j-modal> </template> <script> import { httpAction } from '@/api/manage' import { validateDuplicateValue } from '@/utils/util' export default { name: "PreparationOrderDetailModal", components: { }, props:{ mainId:{ type:String, required:false, default:'' } }, data () { return { title:"æä½", width:800, visible: false, model:{ }, labelCol: { xs: { span: 24 }, sm: { span: 5 }, }, wrapperCol: { xs: { span: 24 }, sm: { span: 16 }, }, confirmLoading: false, validatorRules: { }, url: { add: "/tms/preparationOrder/addPreparationOrderDetail", edit: "/tms/preparationOrder/editPreparationOrderDetail", } } }, created () { //å¤ä»½modelåå§å¼ this.modelDefault = JSON.parse(JSON.stringify(this.model)); }, methods: { add () { this.edit(this.modelDefault); }, edit (record) { this.model = Object.assign({}, record); this.visible = true; }, close () { this.$emit('close'); this.visible = false; this.$refs.form.clearValidate(); }, handleOk () { const that = this; // 触å表åéªè¯ this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = true; let httpurl = ''; let method = ''; if(!this.model.id){ httpurl+=this.url.add; method = 'post'; }else{ httpurl+=this.url.edit; method = 'put'; } this.model['preparationOrderId'] = this.mainId httpAction(httpurl,this.model,method).then((res)=>{ if(res.success){ that.$message.success(res.message); that.$emit('ok'); }else{ that.$message.warning(res.message); } }).finally(() => { that.confirmLoading = false; that.close(); }) }else{ return false } }) }, handleCancel () { this.close() }, } } </script> src/views/tms/modules/preparationOrder/PreparationOrderModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,328 @@ <template> <j-modal :title="title" :width="width" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen @ok="handleOk" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="confirmLoading"> <a-form-model ref="form" :model="model" :rules="validatorRules"> <a-row> <a-col :span="12"> <a-form-model-item label="åå¤åç¼å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="preparationOrderNum"> <a-input v-model="model.preparationOrderNum" placeholder="请è¾å ¥åå¤åç¼å·" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="é¶ä»¶å¾å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="partDrawingNo"> <a-input v-model="model.partDrawingNo" placeholder="请è¾å ¥é¶ä»¶å¾å·" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="é¶ä»¶åç§°" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="partName"> <a-input v-model="model.partName" placeholder="请è¾å ¥é¶ä»¶åç§°" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="é¶ä»¶ææ" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="partMaterial"> <a-input v-model="model.partMaterial" placeholder="请è¾å ¥é¶ä»¶ææ" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="å·¥åºï¼å·¥æ¥å·ï¼" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionProcessesNo"> <a-input v-model="model.productionProcessesNo" placeholder="请è¾å ¥å·¥åºï¼å·¥æ¥å·ï¼" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="å å·¥æ¹æ¬¡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchCode"> <a-input v-model="model.batchCode" placeholder="请è¾å ¥å å·¥æ¹æ¬¡" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="å 工设å¤" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentCode"> <a-input v-model="model.equipmentCode" placeholder="请è¾å ¥å 工设å¤" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="ç¨åºå" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ncName"> <a-input v-model="model.ncName" placeholder="请è¾å ¥ç¨åºå" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="å å·¥æ°é" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="machiningCount"> <a-input v-model="model.machiningCount" placeholder="请è¾å ¥å å·¥æ°é" disabled></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="夿³¨" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> <a-textarea :disable="disableSubmit" v-model="model.remark" placeholder="请è¾å ¥å¤æ³¨" ></a-textarea> </a-form-model-item> </a-col> </a-row> </a-form-model> <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{x:true}" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" :rowSelection="null"> <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index"> <div :key="col.dataIndex"> <a-input-number v-if="col.dataIndex === 'outboundQuantity'" :value="text" @change="(e) => handleChange(e, record.key, col, index)" :min="1" /> </div> </template> <span slot="action" v-if="disableSubmit === false" slot-scope="text, record, index"> <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record, index)"> <a>å é¤</a> </a-popconfirm> </span> </a-table> </a-spin> <template slot="footer"> <a-button :style="{ marginRight: '8px' }" @click="handleCancel">å ³é</a-button> <a-button @click="handleOk" v-if="disableSubmit === false" type="primary">ç¡®å®</a-button> </template> </j-modal> </template> <script> import { httpAction } from '@/api/manage' import { validateDuplicateValue } from '@/utils/util' import { getAction } from '../../../../api/manage' export default { name: "PreparationOrderModal", components: { }, data () { return { title: "æä½", width: 1200, visible: false, model:{ }, labelCol: { xs: { span: 24 }, sm: { span: 5 }, }, wrapperCol: { xs: { span: 24 }, sm: { span: 16 }, }, loading: false, dataSource: [], /* å页忰 */ ipagination:{ current: 1, pageSize: 10, pageSizeOptions: ['10', '20', '30'], showTotal: (total, range) => { return range[0] + "-" + range[1] + " å ±" + total + "æ¡" }, showQuickJumper: true, showSizeChanger: true, total: 0 }, // 表头 columns: [ { title: '#', dataIndex: '', key:'rowIndex', width:60, align:"center", customRender:function (t,r,index) { return parseInt(index)+1; } }, { title:'å·¥å ·ç¼ç ', align:"left", dataIndex: 'toolNum' }, { title:'å·¥å ·ç±»å', align:"center", dataIndex: 'applicationType_dictText' }, { title:'䏿åç§°', align:"center", dataIndex: 'chineseName' }, { title:'åå·/å¾å·', align:"left", dataIndex: 'toolModel' }, { title:'åå ·ææ', align:"center", dataIndex: 'toolMaterial' }, { title:'é¶ä»¶ææ', align:"center", dataIndex: 'partMaterial' }, { title:'åå®¶', align:"center", dataIndex: 'supplierId' }, { title:'åºåºæ°é', align:"left", dataIndex: 'outboundQuantity', scopedSlots: { customRender: 'outboundQuantity' } }, { title: 'æä½', dataIndex: 'action', align:"center", fixed:"right", width:147, scopedSlots: { customRender: 'action' }, } ], confirmLoading: false, validatorRules: { outboundQuantity: [ { required: true, message: '请è¾å ¥åå¤ååºåºæ°é!'}, ], orderStatus: [ { required: true, message: '请è¾å ¥ååç¶æ;1.æªå®¡æ ¸ï¼2.è°æºåå·²å®¡æ ¸ï¼3.已转åºåºç³è¯·!'}, ], outboundTime: [ { required: true, message: '请è¾å ¥åå¤åæäº¤æ¶é´;æäº¤è³åºåºç³è¯·åçæ¶é´!'}, ], }, url: { list: "/tms/preparationOrder/listPreparationOrderDetailByMainId", add: "/tms/preparationOrder/add", edit: "/tms/preparationOrder/editTotal", delete: "/tms/preparationOrder/deletePreparationOrderDetail" } } }, created () { //å¤ä»½modelåå§å¼ this.modelDefault = JSON.parse(JSON.stringify(this.model)); }, methods: { handleChange(value, key, column, index) { console.log(value, key, column, index) const temp = [...this.dataSource] const target = temp.filter(item => key === item.key)[index]; if (target) { target[column.dataIndex] = value this.dataSource = temp if(column.dataIndex === 'outboundQuantity'){ if(target['quantity']<value){ this.$message.error('ç³è¯·åºåºæ°éä¸è½å¤§äºå¯ç¨åºå!') this.isDisabled = true }else{ this.isDisabled = false } } this.dataSource = temp } }, add () { this.edit(this.modelDefault); }, edit (record) { this.model = Object.assign({}, record); getAction(this.url.list, { preparationOrderId: record.id}).then(res => { if (res.success) { this.dataSource = res.result.records || res.result; if (res.result.total) { this.ipagination.total = res.result.total; } else { this.ipagination.total = 0; } } else { this.$message.warning(res.message) } }) this.visible = true; }, handleDelete(record, index) { deleteAction(this.url.delete, { id: record.id }).then((res) => { if (res.success) { this.dataSource.splice(index, 1); this.$message.success(res.message) } else { this.$message.warning(res.message) } }); }, close () { this.$emit('close'); this.visible = false; this.$refs.form.clearValidate(); }, handleOk () { const that = this; // 触å表åéªè¯ this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = true; let httpurl = ''; let method = ''; this.model.preparationOrderDetailList = this.dataSource if(!this.model.id){ httpurl+=this.url.add; method = 'post'; }else{ httpurl+=this.url.edit; method = 'put'; if (this.title === 'å®¡æ ¸') { this.model.orderStatus = '2'; } } console.log(this.model) httpAction(httpurl,this.model,method).then((res)=>{ if(res.success){ that.$message.success(res.message); that.$emit('ok'); }else{ that.$message.warning(res.message); } }).finally(() => { that.confirmLoading = false; that.close(); }) }else{ return false } }) }, handleCancel () { this.close() }, } } </script>