From 65cd94b74a6dd5bae9bc2c3a98bc781d97099cb6 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 10 十一月 2023 19:18:10 +0800 Subject: [PATCH] modified: src/views/technology/routing/routing-form.vue --- src/views/technology/routing/routing-form.vue | 256 +++++++++++++++++++++++++++----------------------- 1 files changed, 137 insertions(+), 119 deletions(-) diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue index 5aa9cf5..6bba25d 100644 --- a/src/views/technology/routing/routing-form.vue +++ b/src/views/technology/routing/routing-form.vue @@ -494,119 +494,92 @@ ></rich-text> </div> </el-tab-pane> - <el-tab-pane label="宸ュ簭鍙傛暟" style="height: 100%"> - <el-card class="params-template"> - <div slot="header"> - <span>鍙傛暟闆�</span> - <el-button - style="float: right; padding: 3px 0" - type="text" - size="medium" - v-if="editable && dataForm.operations.length > 0" - @click="openTempalteDialog" - >娣诲姞 - </el-button> - </div> - <el-table - ref="templateTable" - :data="operationTemplateList" - class="l-mes" - height="600" - highlight-current-row - @row-click="templateRowClick" - > - <el-table-column - label="鍚嶇О" - prop="operationTemplateName" - align="center" - > - </el-table-column> - <el-table-column - label="绫诲瀷" - prop="operationTemplateType" - align="center" - > - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> + <el-tab-pane v-if="dataForm.id!=null" label="宸ュ簭鍙傛暟" style="height: 100%;"> + <el-row :gutter="10"> + <el-col :span="9"> + <el-card class="params-template"> + <div slot="header"> + <span>鍙傛暟闆�</span> <el-button + style="float: right; padding: 3px 0" type="text" - size="mini" + size="medium" v-if="editable && dataForm.operations.length > 0" - @click.stop=" - handleTemplateDelete(scope.row, scope.$index) - " - >鍒犻櫎 + @click="openTempalteDialog" + >娣诲姞 </el-button> - </template> - </el-table-column> - </el-table> - </el-card> - <el-card class="template-param"> - <div slot="header"> - <span>鍙傛暟</span> - <div style="float: right;"> - <el-button - style="padding: 3px 0" - type="text" - size="medium" - v-if="editable && routingTemplateId != null" - @click="saveAllParamChange" - >淇濆瓨 - </el-button> - <el-button - style="padding: 3px 0" - type="text" - size="medium" - v-if="editable && routingTemplateId != null" - @click="openTempalteParamDialog" - >娣诲姞 - </el-button> - </div> - </div> - <el-table :data="paramData" class="l-mes" height="600"> - <el-table-column - label="鍙傛暟椤�" - prop="parameterItem" - align="center" - > - <template slot-scope="scope"> - <span - >{{ scope.row.parameterItem }}({{ - scope.row.unit - }})</span + </div> + <el-table + ref="templateTable" + :data="operationTemplateList" + class="l-mes" + height="600" + highlight-current-row + @row-click="templateRowClick" + > + <el-table-column + label="鍚嶇О" + prop="operationTemplateName" + align="center" > - </template> - </el-table-column> - <el-table-column - label="鍙傛暟绫诲瀷" - prop="type" - align="center" - :formatter="getParam" - > - </el-table-column> - <el-table-column label="鍊�" prop="paramValue" align="center"> - <template slot-scope="scope"> - <el-input - v-model="scope.row.paramValue" - placeholder="鍊�" - :disabled="!editable" - ></el-input> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <el-button - type="text" - size="mini" - v-if="editable && routingTemplateId != null" - @click.stop="handleParamDelete(scope.row, scope.$index)" - >鍒犻櫎 - </el-button> - </template> - </el-table-column> - </el-table> - </el-card> + </el-table-column> + <el-table-column + label="绫诲瀷" + prop="operationTemplateType" + align="center" + > + </el-table-column> + <el-table-column label="鎿嶄綔" align="center"> + <template slot-scope="scope"> + <el-button + type="text" + size="mini" + v-if="editable && dataForm.operations.length > 0" + @click.stop=" + handleTemplateDelete(scope.row, scope.$index) + " + >鍒犻櫎 + </el-button> + </template> + </el-table-column> + </el-table> + </el-card> + </el-col> + <el-col :span="15"> + <el-card class="template-param"> + <div slot="header"> + <span>鍙傛暟</span> + <div style="float: right;"> + <el-button + style="padding: 3px 0" + type="text" + size="medium" + v-if="editable && routingTemplateId != null" + @click="saveAllParamChange" + >淇濆瓨 + </el-button> + <el-button + style="padding: 3px 0" + type="text" + size="medium" + v-if="editable && routingTemplateId != null" + @click="openTempalteParamDialog" + >娣诲姞 + </el-button> + </div> + </div> + <div> + <component + :is="paramMergeTemplate" + :key="isShowTree" + :tableTreeData="paramData" + :routingTemplateId="routingTemplateId" + :handleParamDelete="handleParamDelete" + ></component> + </div> + </el-card> + </el-col> + </el-row> </el-tab-pane> </el-tabs> </div> @@ -659,6 +632,7 @@ } from '@/api/technology/routing' import { fetchList as getBomList } from '@/api/technology/completeproductstructure' import { getByOperation } from '@/api/aps/capability' +import { fetchListByFather} from '@/api/basic/param' import { remote } from '@/api/admin/dict' import diagram from './diagram' import operationDialog from '@/views/common/operation.vue' @@ -671,6 +645,7 @@ import ElRow from 'element-ui/packages/row/src/row' import ElCol from 'element-ui/packages/col/src/col' import { getOperationParam } from '../../../api/basic/template' +import paramMergeTemplate from '../../common/param-mergeTemplate.vue' import zttdraggable from 'vuedraggable' const capabilityArray = [ @@ -686,7 +661,9 @@ export default { data() { return { + paramMergeTemplate: '', itemKey: '', + isShowTree: false, typeOptions: [], paramTemplateSelArr: [], paramTemplateSelCol: 'operationTemplateNo', @@ -771,7 +748,8 @@ operationPartDialog, RichText, editRoutingOperation, - zttdraggable + zttdraggable, + paramMergeTemplate }, mounted() { window.addEventListener( @@ -1059,6 +1037,12 @@ }, // 鍙傛暟闆嗘ā鏉跨偣鍑讳簨浠� templateRowClick(row) { + if(this.isShowTree){ + this.isShowTree=false + }else{ + this.isShowTree=true + } + this.paramData=[] this.getRoutingTemplateParam(row.id) }, // 鏍规嵁宸ヨ壓銆佸伐搴廼d銆佹ā鏉縤d鍘昏幏鍙栨ā鏉夸笅鐨勫弬鏁� @@ -1071,7 +1055,9 @@ }) ).then((response) => { if (response.data.data.length > 0) { + this.paramData = [] this.paramData = response.data.data + this.paramMergeTemplate = 'paramMergeTemplate' } else { this.paramData = [] } @@ -1376,6 +1362,17 @@ // 妯℃澘鍙傛暟鐨勯�変腑缁撴灉杩斿洖 selectTemplateParam(param) { + // console.log(param); + // let idList=[] + // param.forEach(item=>{ + // idList.push(item.id) + // }) + // console.log(idList); + // let formData=new FormData() + // formData.append("idList",idList) + // fetchListByFather(formData).then((res) => { + // console.log(res); + // }) if (param.length > 0) { const paramrrs = { id: this.dataForm.id, @@ -1387,9 +1384,7 @@ const data = response.data if (data.code == 0) { const newParams = response.data.data - for (let i = 0; i < newParams.length; i++) { - this.paramData.push(newParams[i]) - } + console.log(newParams); this.$message.success('娣诲姞鎴愬姛') } else { this.$message.error('娣诲姞澶辫触') @@ -1400,13 +1395,23 @@ // 鍒犻櫎鍙傛暟 handleParamDelete(row, index) { - this.$confirm('鏄惁纭鍒犻櫎鍙傛暟椤逛负' + row.parameterItem, '鎻愮ず', { + this.$confirm('鏄惁纭鍒犻櫎鍙傛暟椤逛负銆�' + row.paramItem +'銆戠殑鏁版嵁?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }) .then(function() { - return deleteRoutingTemplateParam(row.id) + let id = null + if(row.treeId && row.treeId!='null'){ + id = row.treeId + }else{ + if(row.twoId && row.twoId!='null'){ + id = row.twoId + }else{ + id = row.oneId + } + } + return deleteRoutingTemplateParam(id) }) .then((response) => { const data = response.data @@ -1434,7 +1439,24 @@ }, // 淇濆瓨鎵�鏈夊弬鏁扮殑淇敼 saveAllParamChange() { - const paramJson = { routingOperationParam: this.paramData } + let data = [] + this.paramData.forEach(ele=>{ + let o = { + id: null, + paramValue: ele.paramValue + } + if(ele.threeId && ele.threeId != 'null'){ + o.id = ele.threeId + }else{ + if(ele.twoId && ele.twoId != 'null'){ + o.id = ele.twoId + }else{ + o.id = ele.oneId + } + } + data.push(o) + }) + const paramJson = { routingOperationParam: data } putRoutingTemplateParam(paramJson).then((response) => { const data = response.data if (data.code == 0) { @@ -1583,18 +1605,14 @@ } .params-template { - float: left; background-color: #fff; - width: 40%; height: 687px; padding: 10px 0px; border: 1px solid #ddd; } .template-param { - float: right; background-color: #fff; - width: calc(60% - 10px); height: 687px; padding: 10px 0px; border: 1px solid #ddd; -- Gitblit v1.9.3