From c7ccbc6510a9350e0a0a5a39a84f46c382d080b3 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期五, 15 九月 2023 15:00:26 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/Technicalindex.vue | 980 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 534 insertions(+), 446 deletions(-) diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue index 6aa8d70..7eff98b 100644 --- a/src/components/view/Technicalindex.vue +++ b/src/components/view/Technicalindex.vue @@ -1,334 +1,287 @@ <template> <div class="record_content"> <div class="title"> - <el-row> + <el-row> <el-col :span="12" style="line-height: 32px;">鎶�鏈寚鏍囩淮鎶�</el-col> <el-col :span="12" style="text-align: right;"> <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">鏂板</el-button> <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> --> - <el-button icon="el-icon-delete" @click="dels" >鍒犻櫎</el-button> + <el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button> </el-col> </el-row> </div> - - <div> - <!-- 缂栬緫寮圭獥 --> - <div> - <el-dialog - title="鎶�鏈寚鏍囩紪杈�" - :visible.sync="modifyevent" - width="40%" - :before-close="handleClose"> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 560px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-row> - <el-col :span="11"> - <el-form-item label="宸ュ簭"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭"></el-input> - </el-form-item> - </el-col> - <el-col :span="11" :offset="2"> - <el-form-item label="宸ヨ壓"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ヨ壓"></el-input> - </el-form-item> - </el-col> - </el-row> + <div style="height: calc(100% - 42px);"> + <!-- 缂栬緫寮圭獥 --> + <div> + <el-dialog title="鎶�鏈寚鏍囩紪杈�" :visible.sync="modifyevent" width="40%" :before-close="handleClose"> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 560px;"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-row> + <el-col :span="11"> + <el-form-item label="宸ュ簭"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="宸ヨ壓"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ヨ壓"></el-input> + </el-form-item> + </el-col> + </el-row> - <el-row> - <el-col :span="11"> - <el-form-item label="椤圭洰缁�"> - <el-input v-model="form.name" placeholder="璇烽�夋嫨"></el-input> - </el-form-item> - </el-col> - <el-col :span="11" :offset="2"> - <el-form-item label="椤圭洰"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input> - </el-form-item> - </el-col> - </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="椤圭洰缁�"> + <el-input v-model="form.name" placeholder="璇烽�夋嫨"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="椤圭洰"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input> + </el-form-item> + </el-col> + </el-row> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> - </el-form-item> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="modifyevent = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> - <!-- 鏂板寮圭獥 --> - <div> - <el-dialog - title="鎶�鏈寚鏍囨柊澧�" - :visible.sync="dialogVisible" - width="40%" - :before-close="handleClose"> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select v-model="form.type" size="small" placeholder="璇烽�夋嫨" @change="TYpe" style="width: 224px;margin-right: 30px;"> - <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> - <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> - <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> - </el-select> - </template> - </el-form-item> - <el-row> - <el-col :span="11"> - <el-form-item label="宸ュ簭"> - <template> - <el-select v-model="form.work" - placeholder="璇烽�夋嫨" - allow-create - filterable - @change="workevent" - > - <el-option - v-for="(item,index) in process" - :key="item.name" - :label="item.name" - :value="item.name"> - </el-option> - </el-select> - </template> - </el-form-item> - </el-col> - <el-col :span="11" :offset="2"> - <el-form-item label="宸ヨ壓"> - <template> - <el-select v-model="form.name" - placeholder="璇烽�夋嫨" - allow-create - filterable - > - <el-option - v-for="item in craftapi" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="11"> - <el-form-item label="椤圭洰缁�"> - <template> - <el-select v-model="form.father" - placeholder="璇烽�夋嫨" - allow-create - filterable - > - <el-option - v-for="item in higherlevel" - :key="item" - :label="item" - :value="item"> - </el-option> - </el-select> - </template> - </el-form-item> - </el-col> - <el-col :span="11" :offset="2"> - <el-form-item label="椤圭洰"> - <el-input v-model="form.project" placeholder="璇疯緭鍏ラ」鐩�"></el-input> - </el-form-item> - </el-col> - </el-row> - - <el-form-item label="鍗曚綅"> - <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> - </el-form-item> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="add">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> - </div> - - - <div class="choose"> - <span>绫诲瀷锛�</span> - <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" @change="TYpe" style="width: 224px;margin-right: 30px;"> - <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> - <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> - <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> - </el-select> - <!-- <span>宸ュ簭锛�</span> + <el-form-item label="鍗曚綅"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="modifyevent = false">鍙� 娑�</el-button> + <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> + <div class="choose"> + <span>绫诲瀷锛�</span> + <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" @change="TYpe" + style="width: 224px;margin-right: 30px;"> + <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> + <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> + <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> + <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> + </el-select> + <!-- <span>宸ュ簭锛�</span> <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> </el-select> <el-button size="mini"><span>閲� 缃�</span></el-button> <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌ヨ</span></el-button> --> - </div> - <div class="thing"> - <!-- 涓讳綋宸� --> - <div class="left"> - <el-input v-model="search.technology" - suffix-icon="el-icon-search" - placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" - size="small" - clearable @input="query" ></el-input> - <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="id" default-expand-all - @node-click="handleNodeClick" - > - <div class="custom-tree-node" slot-scope="{ node, data }"> - <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> - {{data.father}} {{ data.name }}</span> - <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> + </div> + <div class="thing"> + <!-- 涓讳綋宸� --> + <div class="left"> + <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" + clearable @input="query"></el-input> + <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="name" + default-expand-all @node-click="handleNodeClick" highlight-current> + <div class="custom-tree-node" slot-scope="{ node, data }"> + <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> + {{data.code}} {{ data.name }}</span> + <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> <i class="el-icon-delete"></i> </el-button> --> - </div> - </el-tree> - </div> - <!-- 涓讳綋鍙� --> - <div class="right"> - <el-table - :data="tableData" - style="width: 100%;margin-bottom: 20px;" - row-key="name" - border - @selection-change="handleSelectionChange" - default-expand-all - :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column - type="selection" - width="55"> - </el-table-column> - <el-table-column - type="index" - width="50"> - </el-table-column> - <el-table-column - prop="name" - label="椤圭洰" - sortable - width="300px"> - <template slot-scope="scope"> - <el-tag> - <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> - {{ scope.row.children ? "01" : "02" }} - </div> - </el-tag> - <span style="color: black">{{ scope.row.name }}</span> + </div> + </el-tree> + </div> + <!-- 涓讳綋鍙� --> + <div class="right"> + <el-table :data="tableData" style="width: 100%;overflow-y: auto;min-height: 100%" + max-height="100%" row-key="name" border + @select="selectTr" + ref="multipleTable" + @selection-change="handleSelectionChange" + default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> + <el-table-column type="selection" width="55"> + </el-table-column> + <el-table-column type="index" width="50"> + </el-table-column> + <el-table-column prop="name" label="椤圭洰" sortable width="400px"> + <template slot-scope="scope"> + <el-tag> + <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> + {{ scope.row.children ? "01" : "02" }} + </div> + </el-tag> + <span style="color: black">{{ scope.row.name }}</span> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> + </el-table-column> + <el-table-column prop="address" label="鎿嶄綔" width="200px"> + <template slot-scope="scope" style="text-align: center;"> + <div v-if="!scope.row.children"> + <el-button type="text" size="mini" @click="childrenClick(scope.row)">缂栬緫</el-button> + <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button> + </div> + </template> + </el-table-column> + </el-table> + </div> + <div> + <el-dialog title="缂栬緫鎶�鏈唴瀹�" :visible.sync="upDia" width="500px"> + <div class="body"> - </template> - </el-table-column> - <el-table-column - prop="unit" - label="鍗曚綅"> - </el-table-column> - <el-table-column - prop="address" - label="鎿嶄綔" - width="200px"> - <template slot-scope="scope" style="text-align: center;"> - <el-button type="text" size="mini" @click="childrenClick(scope)">缂栬緫</el-button> - <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - </div> - <div> - <el-dialog title="缂栬緫鎶�鏈唴瀹�" :visible.sync="upDia" width="500px"> - <div class="body"> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" @change="TYpe" + style="width: 306px;margin-right: 30px;"> + <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> + <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> + <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> + <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> + </el-select> + </template> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.techFather" placeholder="璇烽�夋嫨" allow-create disabled style="width: 306px;" + filterable @change="workevent"> + <el-option v-for="(item,index) in process" :key="item.name" :label="item.name" :value="item.name"> + </el-option> + </el-select> + </template> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.techName" placeholder="璇烽�夋嫨" disabled style="width: 306px;" allow-create + filterable> + <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </template> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">椤圭洰缁�:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="edit.father" :disabled="true" size="small" clearable></el-input> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">椤圭洰鍚嶇О:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="edit.name" size="small" clearable></el-input> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">鍗曚綅:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="edit.unit" size="small" clearable></el-input> + </el-col> + </el-row> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> + <el-button @click="upDia = false">鍙� 娑�</el-button> + </span> + </el-dialog> + </div> + <!-- 鏂板寮圭獥 --> + <div> + <el-dialog title="鎶�鏈寚鏍囨柊澧�" :visible.sync="dialogVisible" width="40%"> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select v-model="form.type" size="small" placeholder="璇烽�夋嫨" @change="edittype" + style="width: 554px;margin-right: 30px;"> + <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> + <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> + <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> + <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> + </el-select> + </template> + </el-form-item> + <el-row> + <el-col :span="11"> + <el-form-item label="宸ュ簭"> + <template> + <el-select v-model="form.work" placeholder="璇烽�夋嫨" allow-create filterable @change="workevent"> + <el-option v-for="(item,index) in process" :key="item.name" :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="宸ヨ壓"> + <template> + <el-select v-model="form.name" placeholder="璇烽�夋嫨" @change="craftrow" allow-create filterable> + <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col> - <el-col :span="16" :offset="1"> - <template> - <el-select v-model="form.type" size="small" placeholder="璇烽�夋嫨" @change="TYpe" style="width: 224px;margin-right: 30px;"> - <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> - <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> - <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> - </el-select> - </template> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> - <el-col :span="16" :offset="1"> - <template> - <el-select v-model="form.work" - placeholder="璇烽�夋嫨" - allow-create - filterable - @change="workevent" - > - <el-option - v-for="(item,index) in process" - :key="item.name" - :label="item.name" - :value="item.name"> - </el-option> - </el-select> + <el-row> + <el-col :span="11"> + <el-form-item label="椤圭洰缁�"> + <template> + <el-select v-model="form.father" placeholder="璇烽�夋嫨" allow-create filterable @create="electadd"> + <el-option v-for="item in higherlevel" :key="item" :label="item" :value="item"> + </el-option> + </el-select> + <!-- <el-autocomplete + popper-class="my-autocomplete" + v-model="form.father" + :fetch-suggestions="higherlevel" + placeholder="璇疯緭鍏ュ唴瀹�" + @select="electadd"> + <i + class="el-icon-edit el-input__icon" + slot="suffix" + @click="handleIconClick"> + </i> + <template slot-scope="{ item }"> + <div class="name">{{ item }}</div> + <span class="addr">{{ item}}</span> </template> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓:</el-col> - <el-col :span="16" :offset="1"> - <template> - <el-select v-model="form.name" - placeholder="璇烽�夋嫨" - allow-create - filterable - > - <el-option - v-for="item in craftapi" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> - </el-col> - </el-row> + </el-autocomplete> --> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">椤圭洰鍚嶇О:</el-col> - <el-col :span="16" :offset="1"> - <el-input v-model="upData.name" size="small" clearable></el-input> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">鍗曚綅:</el-col> - <el-col :span="16" :offset="1"> - <el-input v-model="upData.device_group" size="small" clearable></el-input> - </el-col> - </el-row> + </template> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="椤圭洰"> + <el-input v-model="form.project" style="width: 200px;" placeholder="璇疯緭鍏ラ」鐩�"></el-input> + </el-form-item> + </el-col> + </el-row> + + <el-form-item label="鍗曚綅"> + <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 200px;"></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="add">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> - <el-button @click="upDia = false">鍙� 娑�</el-button> - </span> - </el-dialog> - </div> </div> </div> </template> <script> -export default { + export default { data() { return { search:{ @@ -337,7 +290,7 @@ }, // handleClose:[], checkTreeNode :{ - id:1, + id:'', }, higherlevel:[], value:{}, @@ -356,23 +309,71 @@ modifyevent:false, dialogVisible:false, tableData: [], + crafval:'', typeselect:0, upData:{}, upDia:false, craftapi:[], edit:{ + techFather:'', + techName:'', + father:'', + name:'', + unit:'', + id:'', - } + }, + isAllSelect:false, } - + }, mounted() { this.selectAllleft() - this.selectAllright() - + this.selectAllright() }, methods:{ - selectDataList() { + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 + // 鍏ㄩ��/鍙栨秷閫夋搷浣� + selectAll(val) { + this.isAllSelect = !this.isAllSelect; + let data = this.tableData; + this.toggleSelect(data, this.isAllSelect, "all"); + }, + //閫夋嫨鏌愯 + selectTr(selection, row) { + console.log(selection,row); + this.$set(row, "isChecked", !row.isChecked); + this.$nextTick(() => { + this.isAllSelect = row.isChecked; + this.toggleSelect(row, row.isChecked, "tr"); + }); + }, + //閫掑綊瀛愮骇 + toggleSelect(data, flag, type) { + if (type === "all") { + console.log('222'); + if (data.length > 0) { + data.forEach((item) => { + this.toggleSelection(item, flag); + if (item.children && item.children.length > 0) { + this.toggleSelect(item.children, flag, type); + } + }); + } + } else { + if (data.children && data.children.length > 0) { + data.children.forEach((item) => { + item.isChecked = !item.isChecked; + this.$refs.multipleTable.toggleRowSelection(item, flag); + this.toggleSelect(item, flag, type); + }); + } + } + }, + handleClose(){ + + }, + selectDataList() { this.list.forEach(a => { a.code = '[1]' if (a.children != undefined) { @@ -388,143 +389,69 @@ }) this.upIndex++ }, - //缂栬緫 - selecTech() { - this.$axios.get(this.$api.url.selecTech,{ - params:{ - id:this.upData.id + //缂栬緫 + selecTech() { + this.$axios.get(this.$api.url.selecTech, { + params: { + id: this.upData.id } }).then(res => { this.edit = res.data[0] console.log(this.edit); }) }, - childrenClick() { - this.selecTech() - this.upDia = true - }, - submitUpData() {//纭畾 - - }, - //鍒犻櫎 - delTechBy() { - console.log(this.$api.url.delTechBy,this.upData.id); - this.$axios.post(this.$api.url.delTechBy,{ - id:this.upData.id - }).then(res =>{ - this.selectAllright() - this.$message.success('鍒犻櫎瀹屾垚') - }) + childrenClick(val) { + this.upData = val + this.selecTech() + this.upDia = true }, - deleteRow(index, rows) { - this.tableData.splice(index,1) - this.upData = rows + writeTechByIdskill() { + // console.log(this.upData.id); + this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id, { + name: this.edit.name, + father: this.edit.father, + techTemId: this.edit.id, + unit: this.edit.unit + }, { + headers: { + "Content-Type": "application/json" + } + }).then(res => { + /* this.selectAllright() */ + this.$parent.removeAllTab() + }) + }, + submitUpData() { //纭畾 + this.writeTechByIdskill() + this.upDia = false + }, + //鍒犻櫎 + delTechBy() { + console.log(this.$api.url.delTechBy, this.upData.id); + this.$axios.post(this.$api.url.delTechBy, { + id: this.upData.id + }).then(res => { + /* this.selectAllright() */ + this.$message.success('鍒犻櫎瀹屾垚') + this.$parent.removeAllTab() + }) + }, + deleteRow(index, rows) { + this.tableData.splice(index, 1) + this.upData = rows this.upData.id = rows.id this.delTechBy() }, - add() { - this.dialogVisible = false - this.addTechMode() - }, - addTechMode() { - this.$axios.post(this.$api.url.addTechMode,{ - father:this.form.father, - name:this.form.project, - techTemId:this.form.name, - unit:this.form.unit, - }, { - headers: { - "Content-Type": "application/json" - } - }).then(res =>{ - this.$message.success('鏂板瀹屾垚') - this.selectAllright() - }) - }, - handleClose() { - - }, - TYpe(val) { - this.typeselect = val - console.log(this.typeselect); - this.selectAllleft() - }, - //涓讳綋宸� - selectAllleft() { - this.$axios.get(this.$api.url.selectAllleft,{ - params:{type:this.typeselect,message:this.search.technology} - }).then(res => { - this.list = res.data; - console.log(this.list); - this.selectDataList() - }) + //鎵归噺鍒犻櫎 + delAllTechskill() { + this.$axios.post(this.$api.url.delAllTechskill, { + ids: this.delete + }).then(res => { + /* this.selectAllright() */ + this.$parent.removeAllTab() + }) }, - // - //鏌ヨ - query(val) { - this.selectAllleft() - }, - selectAllright() { - this.$axios.get(this.$api.url.selectAllright,{ - params:{id:this.checkTreeNode.id} - }).then(res => { - this.tableData = res.data; - console.log(this.tableData); - }); - }, - //涓婄骇 - chooseProFath() { - console.log(this.checkTreeNode.id); - this.$axios.get(this.$api.url.chooseProFath,{ - params:{techTemId:this.checkTreeNode.id} - }).then(res => { - this.higherlevel = res.data; - console.log(this.higherlevel); - }, { - headers: { - "Content-Type": "application/json" - } - }) - }, - //宸ュ簭宸ヨ壓 - chooseTechFath() { - this.$axios.get(this.$api.url.chooseTechFath,{ - params:{type:this.typeselect} - }).then(res => { - this.process = res.data; - console.log(this.process); - }, { - headers: { - "Content-Type": "application/json" - } - }) - }, - workevent(val){ - console.log(val); - let idx = this.process.findIndex(el => el.name === val) - this.craftapi = this.process[idx].children - }, - handleNodeClick(data){ - this.checkTreeNode = data - console.log(this.checkTreeNode.id); - this.selectAllright() - }, - event(){ - this.dialogVisible = true - this.chooseProFath() - this.chooseTechFath() - }, - modify(){ - this.modifyevent = true - }, - // deleteRow(index, rows) { - // console.log(); - // rows.splice(index, 1); - // }, - handleSelectionChange(val) { - this.selects = val; - }, - dels() { + dels() { this.selects.forEach(a => { for (var b = 0; b < this.tableData.length; b++) { if (this.tableData[b].id == a.id) { @@ -533,11 +460,169 @@ } } }) + let cc = this.selects.map(el => { + return el.id + }) + cc.splice(0,1) + this.delete = cc.join(',') + console.log(this.delete); + this.delAllTechskill() this.$message.success('鍒犻櫎瀹屾垚') }, - - } - } + add() { + this.dialogVisible = false + this.addTechMode() + this.form = {}; + }, + electadd(value) { + console.log(value); + this.higherlevel.push({}); + this.form.father = value; + }, + addTechMode() { + this.$axios.post(this.$api.url.addTechMode, { + father: this.form.father, + name: this.form.project, + techTemId: this.form.name, + unit: this.form.unit, + }, { + headers: { + "Content-Type": "application/json" + } + }).then(res => { + this.$message.success('鏂板瀹屾垚') + this.selectAllright() + + }) + }, + TYpe(val) { + this.typeselect = val + console.log(this.typeselect); + this.selectAllleft() + }, + edittype(val) { + this.typeselect = val + this.chooseTechFath() + }, + //涓讳綋宸� + selectAllleft() { + this.$axios.get(this.$api.url.selectAllleft, { + params: { + type: this.typeselect, + message: this.search.technology + } + }).then(res => { + this.list = res.data; + console.log(this.list); + this.selectDataList() + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓� + }) + let one = this.list.filter(item => { + return item.children.length > 0 + })[0] + console.log(one); + let name = one.children[0].id + this.checkTreeNode.id = name + console.log(name); + this.selectAllrightStart(name) + this.selectDataList(); + }); + }, + selectAllrightStart(name) { + this.$axios.get(this.$api.url.selectAllright, { + params: { + id: name + } + }).then(res => { + this.tableData = res.data; + console.log(this.tableData); + }); + }, + // + //鏌ヨ + query(val) { + this.selectAllleft() + }, + //鍙� + selectAllright() { + this.$axios.get(this.$api.url.selectAllright, { + params: { + id: this.checkTreeNode.id + } + }).then(res => { + this.tableData = res.data; + console.log(this.tableData); + }); + }, + craftrow(val){ + this.crafval = val + this.chooseProFath() + }, + //涓婄骇 + chooseProFath() { + console.log(this.checkTreeNode.id); + this.$axios.get(this.$api.url.chooseProFath, { + params: { + techTemId:this.crafval + } + }).then(res => { + this.higherlevel = res.data; + console.log(this.higherlevel); + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + //宸ュ簭宸ヨ壓 + chooseTechFath() { + this.$axios.get(this.$api.url.chooseTechFath, { + params: { + type: this.typeselect + } + }).then(res => { + this.process = res.data; + console.log(this.process); + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + workevent(val) { + console.log(val); + let idx = this.process.findIndex(el => el.name === val) + this.craftapi = this.process[idx].children + }, + + handleNodeClick(data) { + this.checkTreeNode = data + console.log(this.checkTreeNode.id); + this.selectAllright() + }, + event() { + this.dialogVisible = true + this.chooseProFath() + this.chooseTechFath() + }, + modify() { + this.modifyevent = true + }, + + handleSelectionChange(val) { + this.selects = val; + this.deleteList = []; + val.forEach((v) => { + if (v.id !== undefined) { + this.deleteList.push(v.id); + } + }); + }, + //缂栬緫 + + } + } </script> <style scoped> @@ -578,7 +663,7 @@ .thing { width: 100%; - height: calc(100% - 120px); + height: calc(100% - 78px); background-color: #fff; display: flex; } @@ -588,6 +673,7 @@ height: calc(100% - 20px); border-right: 3px solid rgb(245, 247, 251); padding: 16px; + overflow-y: auto; } .thing .left .custom-tree-node span { @@ -627,8 +713,9 @@ color: #004ea0; cursor: pointer; } -.firstDiv { - /* float: left; + + .firstDiv { + /* float: left; width: 20px; height: 20px; border-radius: 60px; @@ -638,11 +725,12 @@ display: flex; align-items: center; margin-right: 8px; */ - /* border-radius: 60px; */ -} -.el-tag{ - border-radius: 50%; -} + /* border-radius: 60px; */ + } + + .el-tag { + border-radius: 50%; + } </style> <style> .record_content .title .el-button * { -- Gitblit v1.9.3