From 9268f16a093f82e2964ca4461aacc42edbd6b7a5 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期二, 05 九月 2023 17:07:13 +0800
Subject: [PATCH] 基础数据
---
src/components/view/equipmentmaintain.vue | 444 +++++++++++++++++++
src/components/view/Technicalindex.vue | 603 ++++++++++++++++++++++++++
src/components/view/routinginspection.vue | 307 +++++++++++++
3 files changed, 1,354 insertions(+), 0 deletions(-)
diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue
new file mode 100644
index 0000000..39c1af3
--- /dev/null
+++ b/src/components/view/Technicalindex.vue
@@ -0,0 +1,603 @@
+<template>
+ <div class="record_content">
+ <div class="title">
+ <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-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>
+
+ <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-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 != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
+ {{data.father}} {{ 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>
+
+ </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="upData.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;">
+ <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">
+ <el-select v-model="upData.father" style="width: 310px;" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in procedure"
+ :key="item"
+ :label="item"
+ :value="item">
+ </el-option>
+ </el-select>
+ </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-select v-model="upData.ele" style="width: 310px;" multiple placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in element"
+ :key="item.index"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </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.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>
+ </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 {
+ data() {
+ return {
+ search:{
+ type:'',
+ technology:'',
+ },
+ // handleClose:[],
+ checkTreeNode :[],
+ higherlevel:[],
+ value:{},
+ options:[],
+ process:[],
+ filterNode:[],
+ list: [],
+ form:{
+ father:'',
+ work:'',
+ name:'',
+ unit:'',
+ project:'',
+ },
+ children:[],
+ modifyevent:false,
+ dialogVisible:false,
+ tableData: [],
+ typeselect:0,
+ upDat:{},
+ craftapi:[],
+ }
+
+ },
+ mounted() {
+ this.selectAllleft()
+
+ },
+ methods:{
+ //鍒犻櫎
+ // delTechBy() {
+ // console.log(this.$api.url.delTechBy,this.upData.id);
+ // this.$axios.post(this.$api.url.delTechBy,{
+ // id:this.upData.id
+ // })
+ // },
+ // deleteRow(index, rows) {
+ // this.tableData.splice(index,1)
+ // 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"
+ }
+ })
+ },
+ 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);
+ })
+ },
+ //
+ //鏌ヨ
+ 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) {
+ rows.splice(index, 1);
+ },
+ handleSelectionChange(val) {
+ this.selects = val;
+ },
+ dels() {
+ this.selects.forEach(a => {
+ for (var b = 0; b < this.tableData.length; b++) {
+ if (this.tableData[b].id == a.id) {
+ this.tableData.splice(b, 1)
+ b--
+ }
+ }
+ })
+ this.$message.success('鍒犻櫎瀹屾垚')
+ },
+
+ }
+ }
+</script>
+
+<style scoped>
+ .title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+ }
+
+ .title * {
+ font-size: 16px;
+ }
+
+ .choose {
+ padding: 21px 24px;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 3px solid rgb(245, 247, 251);
+ }
+
+ .choose * {
+ font-size: 14px;
+ }
+
+ .choose .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .thing {
+ width: 100%;
+ height: calc(100% - 120px);
+ background-color: #fff;
+ display: flex;
+ }
+
+ .thing .left {
+ width: 295px;
+ height: calc(100% - 20px);
+ border-right: 3px solid rgb(245, 247, 251);
+ padding: 16px;
+ }
+
+ .thing .left .custom-tree-node span {
+ font-size: 14px;
+ }
+
+ .thing .left .custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+ }
+
+ .node_i {
+ color: orange;
+ }
+
+ .el-icon-delete {
+ display: none;
+ color: #004EA2;
+ }
+
+ .custom-tree-node:hover .el-icon-delete {
+ display: inline;
+ }
+
+ .thing .right {
+ width: calc(100% - 305px);
+ height: calc(100% - 25px);
+ overflow: hidden;
+ padding: 10px;
+ }
+
+ .table_do {
+ color: #004ea0;
+ cursor: pointer;
+ }
+.firstDiv {
+ /* float: left;
+ width: 20px;
+ height: 20px;
+ border-radius: 60px;
+ /* background-color: #eff5ff;
+ margin-top: 5px;
+ justify-content: center;
+ display: flex;
+ align-items: center;
+ margin-right: 8px; */
+ /* border-radius: 60px; */
+}
+.el-tag{
+ border-radius: 50%;
+}
+</style>
+<style>
+ .record_content .title .el-button * {
+ font-size: 14px;
+ }
+
+ .record_content .title .el-button--default {
+ color: #004EA2;
+ }
+
+ .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+ background: rgba(58, 124, 253, 0.2);
+ color: #004EA2;
+ }
+
+ .record_content .el-tree-node__content {
+ height: 30px;
+ border-radius: 2px;
+ }
+</style>
diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue
new file mode 100644
index 0000000..8992125
--- /dev/null
+++ b/src/components/view/equipmentmaintain.vue
@@ -0,0 +1,444 @@
+<template>
+ <div class="record_content">
+ <div class="title">
+ <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-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>
+
+ <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="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-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="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ </div>
+
+
+ <div class="choose">
+ <span>绫诲瀷锛�</span>
+ <el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" 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 ></el-input>
+ <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
+ highlight-current :filter-node-method="filterNode"
+ @node-click="handleNodeClick"
+ >
+ <div class="custom-tree-node" slot-scope="{ node, data }">
+ <span><i :class="`node_i ${data.code != '[3]'?'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
+ 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="children: black">{{ scope.row.name }}</span>
+
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ 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>
+
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ 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, tableData)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ return {
+ search:{},
+ value:{},
+ TYpe:[],
+ typeselect:0,
+ options:[],
+ process:[],
+ list: [],
+ TYpe:'',
+ selects:'',
+ checkTreeNode:[],
+ form:{},
+ modifyevent:false,
+ dialogVisible:false,
+ tableData: [],
+ }
+
+ },
+ mounted() {
+ this.selectAllleft()
+ },
+ methods:{
+ TYpe() {
+ this.typeselect = val
+ this.selectAllleft()
+ },
+ handleNodeClick(data){
+ this.checkTreeNode = data
+ console.log(this.checkTreeNode.id);
+ this.selectAllTeque()
+
+ },
+ //涓讳綋宸�
+ selectAllleft() {
+ this.$axios.get(this.$api.url.selectAllleft,{
+ params:{type:this.typeselect}
+ }).then(res => {
+ this.list = res.data;
+ console.log(this.list);
+ })
+ },
+ //涓讳綋鍙�
+ selectAllTeque() {
+ this.$axios.get(this.$api.url.selectAllTeque,{
+ params:{id:this.checkTreeNode.id}
+ }).then(res => {
+ this.tableData = res.data;
+ console.log(this.tableData);
+
+ })
+ },
+ event(){
+ this.dialogVisible = true
+ },
+ modify(){
+ this.modifyevent = true
+ },
+ deleteRow(index, rows) {
+ rows.splice(index, 1);
+ },
+ handleSelectionChange(val) {
+ this.selects = val
+ },
+ dels() {
+ this.selects.forEach(a => {
+ for (var b = 0; b < this.tableData.length; b++) {
+ if (this.tableData[b].id == a.id) {
+ this.tableData.splice(b, 1)
+ b--
+ }
+ }
+ })
+ this.$message.success('鍒犻櫎瀹屾垚')
+ },
+ handleClose(){
+ this.$confirm('纭鍏抽棴锛�')
+ .then(_ => {
+ done();
+ })
+ .catch(_ => {})
+ },
+ filterNode(){
+
+ },
+
+ }
+ }
+</script>
+
+<style scoped>
+ .title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+ }
+
+ .title * {
+ font-size: 16px;
+ }
+
+ .choose {
+ padding: 21px 24px;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 3px solid rgb(245, 247, 251);
+ }
+
+ .choose * {
+ font-size: 14px;
+ }
+
+ .choose .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .thing {
+ width: 100%;
+ height: calc(100% - 120px);
+ background-color: #fff;
+ display: flex;
+ }
+
+ .thing .left {
+ width: 295px;
+ height: calc(100% - 20px);
+ border-right: 3px solid rgb(245, 247, 251);
+ padding: 16px;
+ }
+
+ .thing .left .custom-tree-node span {
+ font-size: 14px;
+ }
+
+ .thing .left .custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+ }
+
+ .node_i {
+ color: orange;
+ }
+
+ .el-icon-delete {
+ display: none;
+ color: #004EA2;
+ }
+
+ .custom-tree-node:hover .el-icon-delete {
+ display: inline;
+ }
+
+ .thing .right {
+ width: calc(100% - 305px);
+ height: calc(100% - 25px);
+ overflow: hidden;
+ padding: 10px;
+ }
+
+ .table_do {
+ color: #004ea0;
+ cursor: pointer;
+ }
+.firstDiv {
+ /* float: left;
+ width: 20px;
+ height: 20px;
+ border-radius: 60px; */
+ /* background-color: #eff5ff;
+ margin-top: 5px;
+ justify-content: center;
+ display: flex;
+ align-items: center;
+ margin-right: 8px; */
+}
+</style>
+<style>
+ .record_content .title .el-button * {
+ font-size: 14px;
+ }
+
+ .record_content .title .el-button--default {
+ color: #004EA2;
+ }
+
+ .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+ background: rgba(58, 124, 253, 0.2);
+ color: #004EA2;
+ }
+
+ .record_content .el-tree-node__content {
+ height: 30px;
+ border-radius: 2px;
+ }
+</style>
diff --git a/src/components/view/routinginspection.vue b/src/components/view/routinginspection.vue
new file mode 100644
index 0000000..159b5cf
--- /dev/null
+++ b/src/components/view/routinginspection.vue
@@ -0,0 +1,307 @@
+<style scoped>
+ .title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+ }
+
+ .title * {
+ font-size: 16px;
+ }
+
+ .choose {
+ padding: 21px 24px;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 3px solid rgb(245, 247, 251);
+ }
+
+ .choose * {
+ font-size: 14px;
+ }
+
+ .choose .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+ }
+
+ .thing {
+ width: 100%;
+ height: calc(100% - 120px);
+ background-color: #fff;
+ display: flex;
+ }
+
+ .thing .left {
+ width: 295px;
+ height: calc(100% - 20px);
+ border-right: 3px solid rgb(245, 247, 251);
+ padding: 16px;
+ }
+
+ .thing .left .custom-tree-node span {
+ font-size: 14px;
+ }
+
+ .thing .left .custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+ }
+
+ .node_i {
+ color: orange;
+ }
+
+ .el-icon-delete {
+ display: none;
+ color: #004EA2;
+ }
+
+ .custom-tree-node:hover .el-icon-delete {
+ display: inline;
+ }
+
+ .thing .right {
+ width: calc(100% - 305px);
+ height: calc(100% - 25px);
+ overflow: hidden;
+ padding: 10px;
+ }
+
+ .table_do {
+ color: #004ea0;
+ cursor: pointer;
+ }
+</style>
+<style>
+ .record_content .title .el-button * {
+ font-size: 14px;
+ }
+
+ .record_content .title .el-button--default {
+ color: #004EA2;
+ }
+
+ .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+ background: rgba(58, 124, 253, 0.2);
+ color: #004EA2;
+ }
+
+ .record_content .el-tree-node__content {
+ height: 30px;
+ border-radius: 2px;
+ }
+</style>
+
+<template>
+ <div class="record_content">
+ <div class="title">
+ <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" >淇敼</el-button>
+ <el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="choose">
+ <span>绫诲瀷锛�</span>
+ <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" 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 product" key="ai" :label="a.name" :value="a.id"></el-option>
+ </el-select>
+ <el-button size="mini" @click="clean()"><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="(val)=>$refs.tree.filter(val)"></el-input>
+ <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
+ @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode"
+ :key="upIndex">
+ <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" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
+ @selection-change="handleSelectionChange" default-expand-all>
+ <el-table-column type="selection" width="50">
+ </el-table-column>
+ <el-table-column type="index" label="搴忓彿" width="70">
+ </el-table-column>
+ <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�">
+ </el-table-column>
+ <el-table-column prop="unit" label="鍗曚綅" width="150">
+ </el-table-column>
+ <el-table-column prop="num" label="鏁伴噺" width="300">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.num" size="medium" placeholder="璇疯緭鍏ュ崟浣�" clearable @change="(val)=>submitUpData(scope.row.id, val)"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="100">
+ <template slot-scope="scope">
+ <span class="table_do" @click="deleteRow(scope.$index, tableData)">鍒犻櫎</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ search: {
+ type: 0,
+ name: null
+ },
+ process: [],
+ product: [],
+ list: [{
+ id: 0,
+ name: "宸ヨ壓",
+ children: [{
+ id: 5,
+ name: "宸ュ簭"
+ }]
+ }, {
+ id: 1,
+ name: "鎴愬搧"
+ }, {
+ id: 2,
+ name: "鍗婃垚鍝�"
+ }],
+ checkTreeNode: {},
+ tableData: [{
+ id: 1,
+ name: "鍘熸潗鏂欏悕绉�",
+ unit: "鍗曚綅",
+ num: "鏁伴噺"
+ }, {
+ id: 2,
+ name: "浣滀笟浜哄憳",
+ unit: "dajskda",
+ num: "12348"
+ }, {
+ id: 3,
+ name: "瑙勬牸",
+ unit: "dajskda",
+ num: "12348"
+ }, {
+ id: 4,
+ name: "瑙勬牸",
+ unit: "dajskda",
+ num: "12348"
+ }, {
+ id: 5,
+ name: "瑙勬牸",
+ unit: "dajskda",
+ num: "12348"
+ }],
+ upIndex: 0,
+ selects: [],
+ upData: {
+ id: 0,
+ num: null
+ }
+ }
+ },
+ mounted() {
+ this.selectDataList()
+ },
+ methods: {
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ remove(node, data) {
+ this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", {
+ type: "warning"
+ }).then(res => {
+ const parent = node.parent;
+ const children = parent.data.children || parent.data;
+ const index = children.findIndex(d => d.id === data.id);
+ children.splice(index, 1);
+ }).catch(e => {})
+ },
+ selectDataList() {
+ this.list.forEach(a => {
+ a.code = '[1]'
+ if (a.children != undefined) {
+ a.children.forEach(b => {
+ b.code = '[2]'
+ })
+ }
+ })
+ this.upIndex++
+ },
+ handleNodeClick(data) {
+ this.checkTreeNode = data
+ if (data.code == '[2]') {
+ console.log(data);
+ }
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
+ },
+ handleSelectionChange(val) {
+ this.selects = val;
+ },
+ dels() {
+ this.selects.forEach(a => {
+ for (var b = 0; b < this.tableData.length; b++) {
+ if (this.tableData[b].id == a.id) {
+ this.tableData.splice(b, 1)
+ b--
+ }
+ }
+ })
+ this.$message.success('鍒犻櫎瀹屾垚')
+ },
+ deleteRow(index, rows) {
+ rows.splice(index, 1);
+ },
+ submitUpData(id,val) {
+ this.tableData.forEach(a => {
+ if (a.id == id) {
+ a.num = val
+ }
+ })
+ this.$message.success('淇敼鎴愬姛')
+ this.upIndex++
+ }
+ }
+ }
+</script>
\ No newline at end of file
--
Gitblit v1.9.3