From 49f3321fa839e0ff5fb4d2de75756096a6db7b92 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期日, 24 九月 2023 10:50:08 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mom-before --- src/components/view/standard-table/technology.vue | 319 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 225 insertions(+), 94 deletions(-) diff --git a/src/components/view/standard-table/technology.vue b/src/components/view/standard-table/technology.vue index 3d980c1..cc23708 100644 --- a/src/components/view/standard-table/technology.vue +++ b/src/components/view/standard-table/technology.vue @@ -1,7 +1,225 @@ +<template> + <div class="standard"> + <div style="width: 100%;height: 68vh;overflow-x: auto;"> + <el-table :data="tableData" row-key="rowId" border height="calc(90vh - 200px)" + @select-all="selectAll" @select="selectTr" ref="multipleTable" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" + @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="60" label="搴忓彿" :resizable="false"> + </el-table-column> + <el-table-column prop="father" label="宸ュ簭" width="200" :resizable="false"> + <template slot-scope="scope"> + <el-tag class="tag" v-if="scope.row.children" type="primary">01</el-tag> + <span style="color: black"> + {{ scope.row.father }} + </span> + </template> + </el-table-column> + <el-table-column label="宸ヨ壓鍚嶇О" width="200" :resizable="false"> + <template slot-scope="scope"> + <el-tag class="tag" type="success" v-if="!scope.row.children">02</el-tag> + <span style="color: black">{{ scope.row.name }}</span> + </template> + </el-table-column> + <el-table-column prop="dg" label="璁惧缁�" width="200" :resizable="false"> + <template slot-scope="scope"> + <div class="showDiv"> + <span>{{scope.row.dg}}</span> + <div @click="showDialog(scope.row)">閫夋嫨</div> + </div> + </template> + </el-table-column> + <el-table-column prop="pq" label="鐢熶骇鏁堢巼(涓�/澶�)" :resizable="false"> + <template slot-scope="scope"> + <el-input v-model="scope.row.pq" + v-if="scope.row.dg != null" size="small" + @blur="updatePq(scope.row)" + ></el-input> + </template> + </el-table-column> + </el-table> + </div> + <el-dialog + title="閫夋嫨璁惧缁�" + :visible.sync="deviceGroupDialog" + width="30%"> + <el-form :model="formData"> + <el-form-item prop="deviceGroup" label="璁惧缁勶細" + :rules="{required:true,message:'璁惧缁勪笉鑳戒负绌�',trigger:'change'}"> + <el-select placeholder="璇烽�夋嫨璁惧缁�" size="small" + v-model="formData.deviceGroup"> + <el-option :value="item.father" + v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option> + </el-select> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="confirmUpdate()">纭� 瀹�</el-button> + <el-button @click="deviceGroupDialog = false">鍙� 娑�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> + export default { + data() { + return { + deviceGroupDialog:false, + formData:{ + deviceGroup:'' + }, + row:{}, + selects: [], + deviceList:[], + isAllSelect:false, + } + }, + props:['tableData','tableType'], + created() {}, + mounted() { + }, + methods: { + //宸ヨ壓璺嚎--鑾峰彇璁惧缁勫垪琛� + getDeviceList(){ + this.$axios.get(this.$api.url.chooseDevice).then(res=>{ + this.deviceList = res.data; + }).catch(error=>{ + this.$message.error(error.message); + }) + }, + showDialog(row){ + this.getDeviceList(); + this.formData.deviceGroup = row.dg; + this.row = row; + this.deviceGroupDialog = true + }, + confirmUpdate(){ + this.$axios.post(this.$api.url.writeDevice,{ + id : this.row.id, + deviceGroup : this.formData.deviceGroup + }).then(res=>{ + this.$emit("updateDevice",true); + this.$message.success(res.message); + this.deviceGroupDialog = false + }).catch(error=>{ + + }) + }, + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 + // 鍏ㄩ��/鍙栨秷閫夋搷浣� + //閫夋嫨鏌愯 + selectTr(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") { + 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); + }); + } + } + }, + //鏀瑰彉閫変腑 + toggleSelection(row, flag) { + this.$set(row, "isChecked", flag); + this.$nextTick(() => { + if (flag) { + this.$refs.multipleTable.toggleRowSelection(row, flag); + } else { + this.$refs.multipleTable.clearSelection(); + } + }); + }, + selectAll(val) { + this.isAllSelect = !this.isAllSelect; + let data = this.tableData; + this.toggleSelect(data, this.isAllSelect, "all"); + }, + handleSelectionChange(val) { + this.deleteList = []; + val.forEach((v) => { + this.searchIdFun(v); + }); + this.$emit("childData",this.deleteList); + }, + //閫掑綊鏌ユ壘閫変腑鏁版嵁id + searchIdFun(data){ + let obj = data; + if(obj.children != undefined){ + this.searchIdFun(obj.children); + }else{ + this.deleteList.push(obj.id); + } + }, + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫 + updatePq(row){ + this.$axios.post(this.$api.url.technologyWrite,{ + id : row.id, + productionQuota : row.pq + }).then(res=>{ + this.$message.success(res.message); + }).catch(error=>{ + this.$message.error(error.message); + }) + }, + } + } +</script> + <style scoped> .standard { width: 100%; height: 100%; + } + .tag{ + line-height:24px; + text-align:center; + width:36px; + height:24px; + + border-radius:12px; + } + .tag:nth-child(1){ + margin-left:20px; + } + .standard .showDiv{ + cursor: pointer; + } + .standard .showDiv div{ + color:#407ab9; + display: none; + } + .showDiv span{ + cursor: pointer; + display: block; + width: 100%; + } + .showDiv:hover span{ + display: none; + } + .showDiv:hover div{ + display: block; } </style> <style> @@ -30,101 +248,14 @@ overflow: auto; } - .standard .el-table__body-wrapper { + /* .standard .el-table__body-wrapper { height: 100%; - } + } */ - .standard .el-table__body { + /* .standard .el-table__body { height: 100%; - } + } */ + /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ + padding-left: 23px !important; + } */ </style> - -<template> - <div class="standard"> - <el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" row-key="id" border - default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column type="selection" width="50"> - </el-table-column> - <el-table-column type="index" label="搴忓彿" width="75"> - </el-table-column> - <el-table-column prop="date" label="椤圭洰" width="350"> - </el-table-column> - <el-table-column prop="name" label="鍗曚綅" width="180"> - </el-table-column> - <el-table-column prop="address" label="鏍囧噯鍊�"> - </el-table-column> - <el-table-column prop="address" label="鍐呮帶鍊�"> - </el-table-column> - </el-table> - </div> -</template> - -<script> - export default { - data() { - return { - tableData: [{ - id: 1, - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - id: 2, - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�' - }, { - id: 3, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - children: [{ - id: 31, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�' - }, { - id: 32, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�' - }] - }, { - id: 4, - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }], - tableData1: [{ - id: 1, - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - id: 2, - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�' - }, { - id: 3, - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - hasChildren: true - }, { - id: 4, - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }], - selects: [] - } - }, - mounted() {}, - methods: { - handleSelectionChange(val) { - this.selects = val; - } - } - } -</script> \ No newline at end of file -- Gitblit v1.9.3