From a3f101de24b13b2ca7553840aadb4b949a035827 Mon Sep 17 00:00:00 2001 From: Houjie <714924425@qq.com> Date: 星期五, 13 六月 2025 13:12:10 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/tms/PreparationOrderDetailList.vue | 205 +++++ src/views/tms/modules/preparationOrder/PreparationOrderModal.vue | 328 ++++++++ src/views/tms/modules/preparationOrder/PreparationOrderDetailModal.vue | 143 +++ src/views/tms/modules/baseTools/ParaBaseModal.vue | 288 +++++++ src/views/tms/PreparationOrderList.vue | 363 ++++++++ src/views/tms/modules/baseTools/DncToolsSelectModal.vue | 1081 ++++++++++++++++++++++++++ 6 files changed, 2,408 insertions(+), 0 deletions(-) diff --git a/src/views/tms/PreparationOrderDetailList.vue b/src/views/tms/PreparationOrderDetailList.vue new file mode 100644 index 0000000..fac235e --- /dev/null +++ b/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> diff --git a/src/views/tms/PreparationOrderList.vue b/src/views/tms/PreparationOrderList.vue new file mode 100644 index 0000000..22f735f --- /dev/null +++ b/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("璇疯缃畊rl.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> \ No newline at end of file diff --git a/src/views/tms/modules/baseTools/DncToolsSelectModal.vue b/src/views/tms/modules/baseTools/DncToolsSelectModal.vue new file mode 100644 index 0000000..586fdf5 --- /dev/null +++ b/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> + <!-- 閾e墛鍒�鍏风被鏌ヨ鍙傛暟 --> + <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="铻虹汗浠e彿" :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="璇疯緭鍏ヨ灪绾瑰叕宸甫浠e彿/绮惧害绛夌骇妫�绱�" + 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="鍒�灏朢" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> + <a-input + placeholder="璇疯緭鍏ュ垁灏朢妫�绱�" + 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> \ No newline at end of file diff --git a/src/views/tms/modules/baseTools/ParaBaseModal.vue b/src/views/tms/modules/baseTools/ParaBaseModal.vue new file mode 100644 index 0000000..1229690 --- /dev/null +++ b/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: '璇疯緭鍏ュ垁灏朢' } + ], + 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> \ No newline at end of file diff --git a/src/views/tms/modules/preparationOrder/PreparationOrderDetailModal.vue b/src/views/tms/modules/preparationOrder/PreparationOrderDetailModal.vue new file mode 100644 index 0000000..a282342 --- /dev/null +++ b/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> diff --git a/src/views/tms/modules/preparationOrder/PreparationOrderModal.vue b/src/views/tms/modules/preparationOrder/PreparationOrderModal.vue new file mode 100644 index 0000000..95121b5 --- /dev/null +++ b/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> \ No newline at end of file -- Gitblit v1.9.3