From c0b0bb462de82e0fd7bb700ab8bb91a79af70798 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期四, 28 九月 2023 18:10:55 +0800 Subject: [PATCH] 精度管理 --- src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditForm.vue | 353 ++++++++++++++++ src/views/eam/PrecisionParametersNewList.vue | 233 ++++++++++ src/views/eam/modules/precisionParametersNew/PrecisionParametersNewModal.vue | 60 ++ src/views/eam/PrecisionParametersTemplateList.vue | 22 src/views/eam/modules/equipmentNew/EquipmentModal.vue | 385 ++++++++--------- src/views/eam/modules/precisionParametersNew/PrecisionParametersNewForm.vue | 127 +++++ src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditModal.vue | 67 +++ src/views/eam/PrecisionParametersTemplateDetail.vue | 17 src/views/eam/modules/precisionParametersTemplate/JSelectPrecisionParametersModal.vue | 35 - 9 files changed, 1,051 insertions(+), 248 deletions(-) diff --git a/src/views/eam/PrecisionParametersNewList.vue b/src/views/eam/PrecisionParametersNewList.vue new file mode 100644 index 0000000..bdc9372 --- /dev/null +++ b/src/views/eam/PrecisionParametersNewList.vue @@ -0,0 +1,233 @@ +<template> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form + layout="inline" + @keyup.enter.native="searchQuery" + > + <a-row :gutter="24"> + <a-col + :md="8" + :sm="8" + > + <a-form-item label="妫�楠岄」鐩悕绉�"> + <j-input + placeholder="璇疯緭鍏ユ楠岄」鐩悕绉�" + v-model="queryParam.name" + ></j-input> + </a-form-item> + </a-col> + </a-row> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <!-- <a-button type="primary" icon="download" @click="handleExportXls('绮惧害绠$悊')">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import">瀵煎叆</a-button> + </a-upload> --> + <!-- 楂樼骇鏌ヨ鍖哄煙 --> + <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> --> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + :scroll="{x:true}" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + class="j-table-force-nowrap" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="handleDetail(record)">璇︽儏</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + + <precision-parameters-new-modal ref="modalForm" @ok="modalFormOk"></precision-parameters-new-modal> + </a-card> +</template> + +<script> + + import '@/assets/less/TableExpand.less' + import { mixinDevice } from '@/utils/mixin' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import PrecisionParametersNewModal from './modules/precisionParametersNew/PrecisionParametersNewModal' + export default { + name: 'PrecisionParametersNewList', + mixins:[JeecgListMixin, mixinDevice], + components: { + PrecisionParametersNewModal + }, + data () { + return { + description: '绮惧害绠$悊绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title:'妫�楠岄」鐩悕绉�', + align:"center", + dataIndex: 'name', + + }, + { + title:'鏂瑰悜', + align:"center", + dataIndex: 'precisionParametersUda1', + width:240 + }, + { + title:'鍒涘缓浜�', + align:"center", + dataIndex: 'createBy', + width:240 + }, + { + title:'鍒涘缓鏃堕棿', + align:"center", + dataIndex: 'createTime', + customRender:function (text) { + return !text?"":(text.length>10?text.substr(0,10):text) + } + }, + { + title:'淇敼浜�', + align:"center", + dataIndex: 'updateBy', + width:240 + }, + { + title:'淇敼鏃堕棿', + align:"center", + dataIndex: 'updateTime', + customRender:function (text) { + return !text?"":(text.length>10?text.substr(0,10):text) + } + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + fixed:"right", + width:147, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: "/eam/precisionParameters/list", + delete: "/eam/precisionParameters/delete", + deleteBatch: "/eam/precisionParameters/deleteBatch", + exportXlsUrl: "/eam/precisionParameters/exportXls", + importExcelUrl: "eam/precisionParameters/importExcel", + + }, + dictOptions:{}, + superFieldList:[], + } + }, + created() { + this.getSuperFieldList(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + }, + }, + methods: { + initDictConfig(){ + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'name',text:'name',dictCode:''}) + fieldList.push({type:'string',value:'createBy',text:'createBy',dictCode:''}) + fieldList.push({type:'date',value:'createTime',text:'createTime'}) + fieldList.push({type:'string',value:'updateBy',text:'updateBy',dictCode:''}) + fieldList.push({type:'date',value:'updateTime',text:'updateTime'}) + fieldList.push({type:'string',value:'precisionParametersUda1',text:'鏂瑰悜',dictCode:''}) + this.superFieldList = fieldList + } + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/eam/PrecisionParametersTemplateDetail.vue b/src/views/eam/PrecisionParametersTemplateDetail.vue index d13d9d6..2bcbec4 100644 --- a/src/views/eam/PrecisionParametersTemplateDetail.vue +++ b/src/views/eam/PrecisionParametersTemplateDetail.vue @@ -77,27 +77,22 @@ } }, { - title:'绮惧害鍙傛暟缂栫爜', - align:"center", - dataIndex: 'precisionParametersNum', - width:400 - }, - { - title:'绮惧害鍙傛暟鍚嶇О', + title:'妫�楠岄」鐩悕绉�', align:"center", dataIndex: 'precisionParametersName', width:400 }, { - title:'绮惧害鍙傛暟鍒嗙被', + title:'浣嶇疆', align:"center", - dataIndex: 'precisionParametersCategory', + dataIndex: 'precisionParametersUda1', width:400 }, { - title:'璁¢噺鍗曚綅', + title:'鍏佸樊锛坢m锛�', align:"center", - dataIndex: 'unit', + dataIndex: 'tolerance', + width:400 }, ], url: { diff --git a/src/views/eam/PrecisionParametersTemplateList.vue b/src/views/eam/PrecisionParametersTemplateList.vue index ce8524d..759709a 100644 --- a/src/views/eam/PrecisionParametersTemplateList.vue +++ b/src/views/eam/PrecisionParametersTemplateList.vue @@ -31,6 +31,7 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button @click="handleCopy" type="primary" icon="copy" :disabled="selectedRowKeys.length!=1">澶嶅埗</a-button> </div> <!-- table鍖哄煙-begin --> @@ -51,7 +52,7 @@ :dataSource="dataSource" :pagination="ipagination" :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" :customRow="clickThenSelect" @change="handleTableChange"> @@ -85,25 +86,27 @@ </a-tab-pane> </a-tabs> - - <precision-parameters-template-model ref="modalForm" @ok="modalFormOk"></precision-parameters-template-model> + <precision-parameters-template-edit-modal ref="modalForm" @ok="modalFormOk"></precision-parameters-template-edit-modal> + <!-- <precision-parameters-template-model ref="modalForm" @ok="modalFormOk"></precision-parameters-template-model> --> </a-card> </template> <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import PrecisionParametersTemplateModel from './modules/precisionParametersTemplate/PrecisionParametersTemplateModel' + // import PrecisionParametersTemplateModel from './modules/precisionParametersTemplate/PrecisionParametersTemplateModel' import { getAction } from '@/api/manage' import PrecisionParametersTemplateDetail from './PrecisionParametersTemplateDetail' import '@/assets/less/TableExpand.less' + import PrecisionParametersTemplateEditModal from './modules/precisionParametersTemplate/PrecisionParametersTemplateEditModal.vue' export default { name: "PrecisionParametersTemplateList", mixins:[JeecgListMixin], components: { PrecisionParametersTemplateDetail, - PrecisionParametersTemplateModel + // PrecisionParametersTemplateModel, + PrecisionParametersTemplateEditModal }, data () { return { @@ -120,7 +123,7 @@ width: 50, }, { - title:'绮惧害鍙傛暟妯℃澘缂栫爜', + title:'缁熶竴缂栫爜', align:"center", dataIndex: 'num', width:150 @@ -265,7 +268,12 @@ this.queryParam = {}; this.precisionParametersTemplateId=''; this.loadData(1); - }, + }, + handleCopy(){ + let record = this.selectionRows[0]; + record.num = ''; + this.handleEdit(record); + } } } </script> diff --git a/src/views/eam/modules/equipmentNew/EquipmentModal.vue b/src/views/eam/modules/equipmentNew/EquipmentModal.vue index c2d6c38..174b33d 100644 --- a/src/views/eam/modules/equipmentNew/EquipmentModal.vue +++ b/src/views/eam/modules/equipmentNew/EquipmentModal.vue @@ -111,26 +111,6 @@ </a-col> <a-col :span="6"> <a-form-model-item - label="璁惧鍥剧墖" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="equipmentPhoto" - > - <j-image-upload - :isMultiple="false" - v-model="model.equipmentPhoto" - ></j-image-upload> - </a-form-model-item> - </a-col> - </a-row> - <a-row> - <a-divider - orientation="center" - style="font-size: large;font-style: italic;color: #66aeed;" - >缁存姢鍙婁娇鐢ㄤ俊鎭�</a-divider> - - <a-col :span="6"> - <a-form-model-item label="浣跨敤閮ㄩ棬" :labelCol="labelCol" :wrapperCol="wrapperCol" @@ -164,6 +144,27 @@ /> </a-form-model-item> </a-col> + </a-row> + <a-row> + <a-col :span="6"> + <a-form-model-item + label="璁惧鍥剧墖" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="equipmentPhoto" + > + <j-image-upload + :isMultiple="false" + v-model="model.equipmentPhoto" + ></j-image-upload> + </a-form-model-item> + </a-col> + </a-row> + <a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #f20707;" + >缁存姢鍙婁娇鐢ㄤ俊鎭�</a-divider> <a-col :span="6"> <a-form-model-item label="缁翠慨閮ㄩ棬" @@ -199,7 +200,161 @@ /> </a-form-model-item> </a-col> - + <a-col :span="6"> + <a-form-model-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="equipmentImportanceId" + > + <j-dict-select-tag + allow-clear + :disabled="formDisabled" + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + @change="changeNeedSpecific" + v-model="model.equipmentImportanceId" + /> + </a-form-model-item> + </a-col> + <a-col + :span="6" + v-if="needSpecific" + > + <a-form-model-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="specificEquipment" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + :disabled="formDisabled" + :triggerChange="true" + dictCode="specific_equipment" + v-model="model.specificEquipment" + /> + </a-form-model-item> + </a-col> + </a-row> + <a-row> + <a-col :span="6"> + <a-form-model-item + label="瀹夊叏閰嶇疆" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="securityConfiguration" + > + <a-input + v-model="model.securityConfiguration" + :disabled="formDisabled" + placeholder="璇疯緭鍏ュ畨鍏ㄩ厤缃�" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="鍐峰嵈绯荤粺" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="coolingSystem" + > + <a-input + v-model="model.coolingSystem" + :disabled="formDisabled" + placeholder="璇疯緭鍏ュ喎鍗寸郴缁�" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="鐏伀鍣�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="fireExtinguisher" + > + <a-input + v-model="model.fireExtinguisher" + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ伃鐏櫒" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="鐏伀鍣ㄦ湁鏁堟湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="fireExtinguisherValidityPeriod" + > + <a-input + v-model="model.fireExtinguisherValidityPeriod" + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ伃鐏櫒鏈夋晥鏈�" + ></a-input> + </a-form-model-item> + </a-col> + </a-row> + <a-row> + <a-col :span="6"> + <a-form-model-item + label="鎿嶄綔绯荤粺" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="operatingSystem" + > + <a-input + v-model="model.operatingSystem" + :disabled="formDisabled" + placeholder="璇疯緭鍏ユ搷浣滅郴缁�" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="绯荤粺" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="system" + > + <a-input + v-model="model.system" + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ郴缁�" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="绔彛" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="port" + > + <a-input + v-model="model.port" + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ鍙�" + ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="鍧愭爣鏁伴噺" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="coordinateNum" + > + <a-input-number + v-model="model.coordinateNum" + :disabled="formDisabled" + placeholder="璇疯緭鍏ュ潗鏍囨暟閲�" + style="width: 100%" + /> + </a-form-model-item> + </a-col> </a-row> <a-row> <!-- <a-col :span="6"> @@ -455,8 +610,6 @@ ></a-input> </a-form-model-item> </a-col> - </a-row> - <a-row> <a-col :span="6"> <a-form-model-item label="鍔熻兘浣嶇疆" @@ -471,6 +624,8 @@ ></a-input> </a-form-model-item> </a-col> + </a-row> + <a-row> <a-col :span="6"> <a-form-model-item label="璧勯噾鏉ユ簮" @@ -485,7 +640,6 @@ ></a-input> </a-form-model-item> </a-col> - <a-col :span="6"> <a-form-model-item label="璧勪骇鏉ユ簮鍥藉" @@ -502,121 +656,6 @@ </a-col> <a-col :span="6"> <a-form-model-item - label="瀹夊叏閰嶇疆" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="securityConfiguration" - > - <a-input - v-model="model.securityConfiguration" - :disabled="formDisabled" - placeholder="璇疯緭鍏ュ畨鍏ㄩ厤缃�" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="鍐峰嵈绯荤粺" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="coolingSystem" - > - <a-input - v-model="model.coolingSystem" - :disabled="formDisabled" - placeholder="璇疯緭鍏ュ喎鍗寸郴缁�" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="鐏伀鍣�" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="fireExtinguisher" - > - <a-input - v-model="model.fireExtinguisher" - :disabled="formDisabled" - placeholder="璇疯緭鍏ョ伃鐏櫒" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="鐏伀鍣ㄦ湁鏁堟湡" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="fireExtinguisherValidityPeriod" - > - <a-input - v-model="model.fireExtinguisherValidityPeriod" - :disabled="formDisabled" - placeholder="璇疯緭鍏ョ伃鐏櫒鏈夋晥鏈�" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="鎿嶄綔绯荤粺" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="operatingSystem" - > - <a-input - v-model="model.operatingSystem" - :disabled="formDisabled" - placeholder="璇疯緭鍏ユ搷浣滅郴缁�" - ></a-input> - </a-form-model-item> - </a-col> - </a-row> - <a-row> - <a-col :span="6"> - <a-form-model-item - label="绯荤粺" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="system" - > - <a-input - v-model="model.system" - :disabled="formDisabled" - placeholder="璇疯緭鍏ョ郴缁�" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="绔彛" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="port" - > - <a-input - v-model="model.port" - :disabled="formDisabled" - placeholder="璇疯緭鍏ョ鍙�" - ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="鍧愭爣鏁伴噺" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="coordinateNum" - > - <a-input-number - v-model="model.coordinateNum" - :disabled="formDisabled" - placeholder="璇疯緭鍏ュ潗鏍囨暟閲�" - style="width: 100%" - /> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" @@ -629,12 +668,8 @@ ></a-input> </a-form-model-item> </a-col> - <a-divider - orientation="center" - style="font-size: large;font-style: italic;color: #66aeed;" - >ABC鏍囪瘑</a-divider> - </a-row> - <a-row> + </a-row> + <a-row hidden> <a-col :span="6"> <a-form-model-item label="骞冲潎浣跨敤鐜�" @@ -653,6 +688,8 @@ /> </a-form-model-item> </a-col> + </a-row> + <a-row hidden> <a-col :span="6"> <a-form-model-item label="鍙浛鎹㈡��" @@ -707,26 +744,6 @@ /> </a-form-model-item> </a-col> - </a-row> - <a-row> - <a-col :span="6"> - <a-form-model-item - label="鏁呴殰棰戠巼" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="standardE" - > - <j-dict-select-tag - allow-clear - placeholder="璇烽�夋嫨鏁呴殰棰戠巼" - :disabled="formDisabled" - :triggerChange="true" - dictCode="ABC-standardE" - @change="standardResultCompute" - v-model="model.standardE" - /> - </a-form-model-item> - </a-col> <a-col :span="6"> <a-form-model-item label="璁惧浠峰��" @@ -742,44 +759,6 @@ dictCode="ABC-standardF" v-model="model.standardF" @change="standardResultCompute" - /> - </a-form-model-item> - </a-col> - <a-col :span="6"> - <a-form-model-item - label="ABC鏍囪瘑" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="equipmentImportanceId" - > - <j-dict-select-tag - allow-clear - :disabled="formDisabled" - placeholder="璇烽�夋嫨ABC鏍囪瘑" - :triggerChange="true" - dictCode="ABC-standard-result" - @change="changeNeedSpecific" - v-model="model.equipmentImportanceId" - /> - </a-form-model-item> - </a-col> - <a-col - :span="6" - v-if="needSpecific" - > - <a-form-model-item - label="鍏抽敭璁惧鏍囪瘑" - :labelCol="labelCol" - :wrapperCol="wrapperCol" - prop="specificEquipment" - > - <j-dict-select-tag - allow-clear - placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" - :disabled="formDisabled" - :triggerChange="true" - dictCode="specific_equipment" - v-model="model.specificEquipment" /> </a-form-model-item> </a-col> diff --git a/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewForm.vue b/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewForm.vue new file mode 100644 index 0000000..e61284b --- /dev/null +++ b/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewForm.vue @@ -0,0 +1,127 @@ +<template> + <a-spin :spinning="confirmLoading"> + <j-form-container :disabled="formDisabled"> + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> + <a-row> + <a-col :span="24"> + <a-form-model-item label="妫�楠岄」鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> + <a-input v-model="model.name" placeholder="璇疯緭鍏ユ楠岄」鍚嶇О" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="鏂瑰悜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionParametersUda1"> + <a-auto-complete + v-model="model.precisionParametersUda1" + :data-source="dataSource" + placeholder="璇疯緭鍏ユ柟鍚�" + /> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </j-form-container> + </a-spin> +</template> + +<script> + + import { httpAction, getAction } from '@/api/manage' + import { validateDuplicateValue } from '@/utils/util' + + export default { + name: 'PrecisionParametersNewForm', + components: { + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + } + }, + data () { + return { + model:{ + }, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + name: [ + { required: true, message: '璇疯緭鍏ヨ澶囧悕绉�!' }, + { min: 1, max: 60, message: '闀垮害鍦� 2 鍒� 60 涓瓧绗�', trigger: 'blur' }, + ], + precisionParametersUda1:[ + { required: true, message: '璇疯緭鍏ユ柟鍚�!' }, + ] + }, + url: { + add: "/eam/precisionParameters/add", + edit: "/eam/precisionParameters/edit", + queryById: "/eam/precisionParameters/queryById" + }, + dataSource:[ + '绾靛悜', + '妯悜', + 'X杞�', + 'Y杞�', + 'Z杞�' + ] + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + //澶囦唤model鍘熷鍊� + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + add () { + this.edit(this.modelDefault); + }, + edit (record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + submitForm () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + httpAction(httpurl,this.model,method).then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + + }) + }, + } + } +</script> \ No newline at end of file diff --git a/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewModal.vue b/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewModal.vue new file mode 100644 index 0000000..2e9ecc8 --- /dev/null +++ b/src/views/eam/modules/precisionParametersNew/PrecisionParametersNewModal.vue @@ -0,0 +1,60 @@ +<template> + <j-modal + :title="title" + :width="width" + :visible="visible" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel" + cancelText="鍏抽棴"> + <precision-parameters-new-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></precision-parameters-new-form> + </j-modal> +</template> + +<script> + + import PrecisionParametersNewForm from './PrecisionParametersNewForm' + export default { + name: 'PrecisionParametersNewModal', + components: { + PrecisionParametersNewForm + }, + data () { + return { + title:'', + width:800, + visible: false, + disableSubmit: false + } + }, + methods: { + add () { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.add(); + }) + }, + edit (record) { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.edit(record); + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + this.$refs.realForm.submitForm(); + }, + submitCallback(){ + this.$emit('ok'); + this.visible = false; + }, + handleCancel () { + this.close() + } + } + } +</script> \ No newline at end of file diff --git a/src/views/eam/modules/precisionParametersTemplate/JSelectPrecisionParametersModal.vue b/src/views/eam/modules/precisionParametersTemplate/JSelectPrecisionParametersModal.vue index 36889d9..7f60222 100644 --- a/src/views/eam/modules/precisionParametersTemplate/JSelectPrecisionParametersModal.vue +++ b/src/views/eam/modules/precisionParametersTemplate/JSelectPrecisionParametersModal.vue @@ -21,20 +21,9 @@ :md="8" :sm="6" > - <a-form-item label="绮惧害鍙傛暟浠g爜"> + <a-form-item label="妫�楠岄」鐩悕绉�"> <a-input - placeholder="璇疯緭鍏ョ簿搴﹀弬鏁颁唬鐮�" - v-model="queryParam.num" - /> - </a-form-item> - </a-col> - <a-col - :md="8" - :sm="6" - > - <a-form-item label="绮惧害鍙傛暟鍚嶇О"> - <a-input - placeholder="璇疯緭鍏ョ簿搴﹀弬鏁板悕绉�" + placeholder="璇疯緭鍏ユ楠岄」鐩悕绉�" v-model="queryParam.name" /> </a-form-item> @@ -106,24 +95,16 @@ } }, { - title: '绮惧害鍙傛暟浠g爜', - align: 'center', - dataIndex: 'num', - }, - { - title: '绮惧害鍙傛暟鍚嶇О', + title: '妫�楠岄」鐩悕绉�', align: 'center', dataIndex: 'name', + width:400, }, { - title: '绮惧害鍙傛暟鍒嗙被', + title: '鏂瑰悜', align: 'center', - dataIndex: 'precisionParametersCategoryNumName', - }, - { - title: '璁¢噺鍗曚綅', - align: 'center', - dataIndex: 'unitId_dictText', + dataIndex: 'precisionParametersUda1', + width:400, }, ], selectedRowKeys: [], @@ -247,7 +228,7 @@ this.loadData(); }, handleSubmit() { - this.$bus.$emit('selectionRows', this.selectionRows); + this.$emit('selectionRows', this.selectionRows); this.searchReset(0) this.close(); }, diff --git a/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditForm.vue b/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditForm.vue new file mode 100644 index 0000000..a6421e9 --- /dev/null +++ b/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditForm.vue @@ -0,0 +1,353 @@ +<template> + <a-spin :spinning="confirmLoading"> + <j-form-container :disabled="formDisabled"> + <!-- 涓昏〃鍗曞尯鍩� --> + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item + label="缁熶竴缂栫爜" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="num" + > + <a-auto-complete + v-model="model.num" + :data-source="numList" + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ簿搴﹀弬鏁版ā鏉跨紪鐮�" + @search="onSearchNums" + /> + </a-form-model-item> + </a-col> + <a-col :span="12" > + <a-form-model-item + label="鍚嶇О" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="name" + > + <a-input + allowClear + :disabled="formDisabled" + placeholder="璇疯緭鍏ョ簿搴﹀弬鏁版ā鏉垮悕绉�" + v-model="model.name" + /> + </a-form-model-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item + label="澶囨敞" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="remark" + > + <a-textarea + allowClear + :disabled="formDisabled" + placeholder="璇疯緭鍏ュ娉�" + v-model="model.remark" + /> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </j-form-container> + <!-- 瀛愯〃鍗曞尯鍩� --> + <a-tabs v-model="activeKey" @change="handleChangeTabs"> + <a-tab-pane tab="绮惧害鍙傛暟鏄庣粏" :key="refKeys[0]" :forceRender="true"> + <j-vxe-table + keep-source + :ref="refKeys[0]" + :loading="precisionParameters.loading" + :columns="precisionParameters.columns" + :dataSource="precisionParameters.dataSource" + :maxHeight="600" + :disabled="formDisabled" + :rowNumber="true" + :rowSelection="true" + :toolbar="true" + bordered + :alwaysEdit="true" + :toolbarConfig='toolbarConfig' + > + <!-- @valueChange="changeDate" --> + <template slot='toolbarPrefix'> + <a-button type='primary' @click='precisionParametersDetailSelect' :disabled="formDisabled" icon="plus">閫夋嫨绮惧害鍙傛暟 + </a-button> + </template> + </j-vxe-table> + </a-tab-pane> + </a-tabs> + <j-select-precision-parameters-modal @selectionRows='selectionRows' ref='JSelectPrecisionParametersModal' ></j-select-precision-parameters-modal> + </a-spin> +</template> + +<script> + + import { getAction } from '@/api/manage' + import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' + import { duplicateCheck } from '@/api/api' + import { JVXETypes } from '@/components/jeecg/JVxeTable' + import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' + import { validateDuplicateValue } from '@/utils/util' + import JFormContainer from '@/components/jeecg/JFormContainer' + + + import dayjs from 'dayjs' + import JSelectPrecisionParametersModal from './JSelectPrecisionParametersModal' + export default { + name: 'PrecisionParameters', + mixins: [JVxeTableModelMixin], + components: { + JFormContainer, + dayjs, + JSelectPrecisionParametersModal + }, + data() { + return { + toolbarConfig: { + // prefix 鍓嶇紑锛泂uffix 鍚庣紑 + slot: ['prefix', 'suffix'], + // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳 + btn: ['remove', 'clearSelection'] + }, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + model:{ + }, + // 鏂板鏃跺瓙琛ㄩ粯璁ゆ坊鍔犲嚑琛岀┖鏁版嵁 + addDefaultRowNum: 0, + validatorRules: { + num: [ + { required: true, message: '璇疯緭鍏ョ紪鐮�!' }, + { min: 1, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' }, + { validator: this.validateNum }, + ], + name: [ + { required: true, message: '璇疯緭鍏ュ悕绉�!' }, + { min: 1, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' }, + ], + }, + refKeys: ['precisionParametersList', ], + tableKeys:['precisionParametersList', ], + activeKey: 'precisionParametersList', + precisionParameters: { + loading: false, + dataSource: [], + columns: [ + { + title: 'id', + key: 'id', + type: JVXETypes.hidden, + disabled:true, + align:'center', + }, + { + title: '妫�楠岄」鐩悕绉�', + key: 'precisionParametersName', + type: JVXETypes.normal, + width:"350px", + placeholder: '璇疯緭鍏�${title}', + disabled:true, + align:'center', + defaultValue:'', + }, + { + title: '鏂瑰悜', + key: 'precisionParametersUda1', + type: JVXETypes.normal, + width:"350px", + placeholder: '璇疯緭鍏�${title}', + disabled:true, + align:'center', + defaultValue:'', + }, + { + title: '鍏佸樊锛坢m锛�', + key: 'tolerance', + type: JVXETypes.input, + width:"350px", + placeholder: '璇疯緭鍏�${title}', + align:'center', + validateRules: [ + { handler({ cellValue, row, column }, callback, target) { + const regex = /^[+]?\d*\.?\d+\/[+]?\d*\.?\d+$/; + if (!new RegExp(regex).test(cellValue)&&cellValue!=null) { + callback(false, '鍏佸樊瑕佺鍚堛�愪笂闄�/璺濈銆戠殑濉啓瑙勫垯锛屽: 0.16/300') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀� + } else { + callback(true) // true = 閫氳繃楠岃瘉 + } + }, + message: '${title}榛樿鎻愮ず' + }, + ] + }, + ] + }, + url: { + getNums:'/eam/precisionParametersTemplate/getNums', + add: '/eam/precisionParametersTemplate/addNew', + edit:'/eam/precisionParametersTemplate/editNew', + precisionParametersList: { + list: '/eam/precisionParametersTemplateDetail/listByPrecisionParametersTemplateId' + }, + }, + numList:[], + } + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + }, + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + }, + methods: { + addBefore(){ + this.precisionParameters + + }, + getAllTable() { + let values = this.tableKeys.map(key => getRefPromise(this, key)) + return Promise.all(values) + }, + /** 璋冪敤瀹宔dit()鏂规硶涔嬪悗浼氳嚜鍔ㄨ皟鐢ㄦ鏂规硶 */ + editAfter() { + this.$nextTick(() => { + }) + // 鍔犺浇瀛愯〃鏁版嵁 + if (this.model.id) { + let params = { + precisionParametersTemplateId: this.model.id, + pageSize:9999, + } + this.requestSubTableData(this.url.precisionParametersList.list, params, this.precisionParameters) + } + if(this.model.num==''){ + this.model.id = '' + } + }, + //鏍¢獙鎵�鏈変竴瀵逛竴瀛愯〃琛ㄥ崟 + validateSubForm(allValues){ + return new Promise((resolve,reject)=>{ + Promise.all([ + ]).then(() => { + resolve(allValues) + }).catch(e => { + if (e.error === VALIDATE_FAILED) { + // 濡傛灉鏈夋湭閫氳繃琛ㄥ崟楠岃瘉鐨勫瓙琛紝灏辫嚜鍔ㄨ烦杞埌瀹冩墍鍦ㄧ殑tab + this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] + } else { + console.error(e) + } + }) + }) + }, + /** 鏁寸悊鎴恌ormData */ + classifyIntoFormData(allValues) { + let main = Object.assign(this.model, allValues.formValue) + let details = allValues.tablesValue[0].tableData; + for(var i=0;i<details.length;i++){ + details[i].sort=i+1; + if(details[i].tolerance!=null&&details[i].tolerance!=''&&details[i].tolerance!=undefined){ + var inf = details[i].tolerance.split('/'); + var distance = inf[1]; + var upper = inf[0]; + details[i].distance = parseFloat(distance); + details[i].upper = parseFloat(upper); + details[i].lower = 0; + } + } + return { + ...main, // 灞曞紑 + precisionParametersTemplateDetailList: details, + } + }, + validateError(msg){ + this.$message.error(msg) + }, + precisionParametersDetailSelect() { + let ids = [] + let tableData = this.$refs.precisionParametersList.getTableData() + for (let i = 0; i < tableData.length; i++) { + ids.push(tableData[i].precisionParametersId) + } + this.$refs.JSelectPrecisionParametersModal.showModal(ids) + this.$refs.JSelectPrecisionParametersModal.title = '閫夋嫨绮惧害鍙傛暟' + this.$refs.JSelectPrecisionParametersModal.disableSubmit = false + }, + addSelected(data) { + let tableData = this.$refs.precisionParametersList.getTableData() + var tableStr = JSON.stringify(tableData) + const addRows = [] + console.log(data) + console.log(tableStr) + + for (let i = 0; i < data.length; i++) { + var precisionParameters = {} + if (tableStr.indexOf(data[i].id) == -1) { + precisionParameters = { + precisionParametersId:data[i].id, + precisionParametersName: data[i].name, + precisionParametersUda1:data[i].precisionParametersUda1, + precisionParametersTemplateId:this.model.id, + } + } + addRows.push(precisionParameters) + } + this.$refs.precisionParametersList.pushRows(addRows) + }, + selectionRows(data) { + // 澧炲姞閫変腑鐨勮澶囧埌鍒楄〃涓� + + this.addSelected(data) + }, + onSearchNums(searchText){ + getAction(this.url.getNums,{searchText:searchText}).then(res=>{ + if(res.success){ + this.numList = res.result + } + }) + + }, + validateNum(rule, value, callback) { + var params = { + tableName: 'mom_eam_precision_parameters_template', + fieldName: 'num', + fieldVal: value, + dataId: this.model.id, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: '0', + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback(); + } else { + callback("缂栧彿宸插瓨鍦�!"); + } + }) + }, + + } + } +</script> + +<style scoped> +</style> \ No newline at end of file diff --git a/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditModal.vue b/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditModal.vue new file mode 100644 index 0000000..f8bf10f --- /dev/null +++ b/src/views/eam/modules/precisionParametersTemplate/PrecisionParametersTemplateEditModal.vue @@ -0,0 +1,67 @@ +<template> + <j-modal + :title="title" + :width="1198" + :height="600" + :visible="visible" + :maskClosable="true" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel"> + <precision-parameters-template-edit-form + ref="realForm" + @ok="submitCallback" + :disabled="disableSubmit"/> + </j-modal> +</template> +<script> +import PrecisionParametersTemplateEditForm from './PrecisionParametersTemplateEditForm' + + export default { + name: 'WarrantyUpdateModel', + components: { + PrecisionParametersTemplateEditForm + }, + data() { + return { + title:'', + width:1500, + visible: false, + disableSubmit: false + } + }, + methods:{ + add () { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.addBefore(); + }) + }, + edit (record) { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.edit(record); + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + this.$refs.realForm.handleOk(); + }, + submitCallback(){ + this.$emit('ok'); + this.$bus.$emit('loadData') + this.visible = false; + }, + handleCancel () { + this.close() + } + } + } +</script> + +<style scoped> +</style> \ No newline at end of file -- Gitblit v1.9.3