From d94af68ec3f6317124df81296b08c7c110641fca Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期四, 24 八月 2023 09:10:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/chart/work/index.vue | 210 +++++++++++++++++ src/api/laboratory/role.js | 9 src/views/standardLibrary/index.vue | 12 src/api/standardLibrary.js | 5 src/views/laboratory/role/index.vue | 287 +++++++++++------------ src/api/laboratory/organizational.js | 11 src/views/laboratory/organizational/index.vue | 183 +++++++++++++++ 7 files changed, 551 insertions(+), 166 deletions(-) diff --git a/src/api/laboratory/organizational.js b/src/api/laboratory/organizational.js new file mode 100644 index 0000000..a88b77f --- /dev/null +++ b/src/api/laboratory/organizational.js @@ -0,0 +1,11 @@ +import request from '@/utils/request' + +const Api = { + getOrganizational: "/organizational/list", // 鍥涚骇鏍� +} +export function getOrganizationalApi() { + return request({ + url: Api.getOrganizational, + method: 'get' + }) +} \ No newline at end of file diff --git a/src/api/laboratory/role.js b/src/api/laboratory/role.js new file mode 100644 index 0000000..64a2930 --- /dev/null +++ b/src/api/laboratory/role.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getMenusTree(params) { + return request({ + url: '/role-manager/getMenusTree', + method: 'get', + params + }) + } \ No newline at end of file diff --git a/src/api/standardLibrary.js b/src/api/standardLibrary.js index a3fedfb..09b57f9 100644 --- a/src/api/standardLibrary.js +++ b/src/api/standardLibrary.js @@ -1,12 +1,9 @@ import request from '@/utils/request' -export function getMaterialList(params) { +export function getMaterialList() { return request({ url: '/material/list', method: 'get', - params: { - specificationName: params - } }) } diff --git a/src/views/chart/work/index.vue b/src/views/chart/work/index.vue index 1b667ad..59b9b32 100644 --- a/src/views/chart/work/index.vue +++ b/src/views/chart/work/index.vue @@ -1,13 +1,219 @@ <template> - <div>宸ヤ綔缁熻鍥�</div> + <div class="work-main" style="overflow: scroll;width:100%;height:100vh"> + <div class="work-head"> + <el-row :gutter="10"> + <el-col :span="24"> + <el-card> + <el-form :inline="true" :model="formInline" class="demo-form-inline"> + <el-form-item> + <p><span>*</span>妫�娴嬫棩鏈�:</p> + <el-date-picker + v-model="dateTime" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item> + <p><span>*</span>妫�楠岀被鍨�:</p> + <el-select v-model="formInline.region" placeholder="閲囪喘鍏ュ簱"> + <el-option label="鍖哄煙涓�" value="shanghai"></el-option> + <el-option label="鍖哄煙浜�" value="beijing"></el-option> + </el-select> + </el-form-item> + <el-form-item class="buttons"> + <el-button>娓呯┖</el-button> + <el-button type="primary" @click="onSubmit">鏌ヨ</el-button> + </el-form-item> + </el-form> + </el-card> + </el-col> + </el-row> + </div> + <div class="work-center" > + <el-row :gutter="20"> + <el-col :span="12"> + <el-card> + <p>璐熻矗浜虹粺璁�</p> + <div id="leaderStati" style="width:100%;height:400px;"></div> + </el-card> + </el-col> + <el-col :span="12"> + <el-card> + <p>瀹為獙鍛樼粺璁�</p> + <div id="testerStati" style="width:100%;height:400px;"></div> + </el-card> + </el-col> + <el-col :span="12"> + <el-card> + <p>璐熻矗浜哄強鏃剁巼</p> + <div id="leaderTimly" style="width:100%;height:400px;"></div> + </el-card> + </el-col> + <el-col :span="12"> + <el-card> + <p>瀹為獙鍛樺強鏃剁巼</p> + <div id="testerTimly" style="width:100%;height:400px;"></div> + </el-card> + </el-col> + </el-row> + </div> + <div class="work-foot"></div> + </div> </template> <script> +import * as echarts from 'echarts'; export default { + data() { + return { + formInline: { + user: '', + region: '' + }, + dateTime: '', + } + }, + mounted(){ + this.initLeaderStatiChart('leaderStati'); + this.initLeaderTimlyChart(); + this.initLeaderStatiChart('testerStati'); + this.initTesterTimlyChart(); + }, + methods: { + onSubmit() { + console.log('submit!'); + }, + initLeaderStatiChart(id){ + var chartDom = document.getElementById(id); + var myChart = echarts.init(chartDom); + var option; + let xAxisData = []; + let data1 = []; + let data2 = []; + let data3 = []; + let data4 = []; + for (let i = 0; i < 10; i++) { + xAxisData.push('Class' + i); + data1.push(+(Math.random() * 2).toFixed(2)); + data2.push(+(Math.random() * 5).toFixed(2)); + data3.push(+(Math.random() + 0.3).toFixed(2)); + data4.push(+Math.random().toFixed(2)); + } + var emphasisStyle = { + itemStyle: { + shadowBlur: 10, + shadowColor: 'rgba(0,0,0,0.3)' + } + }; + option = { + legend: { + data: ['bar', 'bar2'], + left: 'center' + }, + tooltip: {}, + xAxis: { + data: xAxisData, + name: '濮撳悕', + axisLine: { onZero: true }, + splitLine: { show: false }, + splitArea: { show: false } + }, + yAxis: {}, + grid: { + bottom: 100 + }, + series: [ + { + name: 'bar', + type: 'bar', + stack: 'one', + emphasis: emphasisStyle, + data: data1 + }, + { + name: 'bar2', + type: 'bar', + stack: 'one', + emphasis: emphasisStyle, + data: data2 + } + ] + }; + myChart.on('brushSelected', function (params) { + var brushed = []; + var brushComponent = params.batch[0]; + for (var sIdx = 0; sIdx < brushComponent.selected.length; sIdx++) { + var rawIndices = brushComponent.selected[sIdx].dataIndex; + brushed.push('[Series ' + sIdx + '] ' + rawIndices.join(', ')); + } + myChart.setOption({ + title: { + backgroundColor: '#333', + text: 'SELECTED DATA INDICES: \n' + brushed.join('\n'), + bottom: 0, + right: '10%', + width: 100, + textStyle: { + fontSize: 12, + color: '#fff' + } + } + }); + }); + + option && myChart.setOption(option); + }, + initTesterStatiChart(){ + + }, + initLeaderTimlyChart(){ + + }, + initTesterTimlyChart(){ + + }, + } } </script> <style lang="scss" scoped> - + .work-main{ + width:100%; + margin:0; + padding: 0; + .work-head{ + width:94%; + height:100; + margin: 5px 10px; + position: fixed; + z-index: 10; + .demo-form-inline{ + margin: 0px 10px; + p{ + margin: 0; + font-size: 16px; + font-weight: bold; + span{ + font-size: 16px; + font-weight: bold; + color: red; + } + } + .buttons{ + margin: 40px 0px 0px 900px; + } + } + } + .work-center{ + margin: 0px 0px 5px 10px; + padding: 18vh 0px 5px 0px; + .el-card{ + margin: 5px 0px; + height:500px; + } + } + } </style> diff --git a/src/views/laboratory/organizational/index.vue b/src/views/laboratory/organizational/index.vue index 1a29501..b25fa6a 100644 --- a/src/views/laboratory/organizational/index.vue +++ b/src/views/laboratory/organizational/index.vue @@ -1,11 +1,190 @@ <template> - <div>131</div> + <div class="main-div"> + <div class="side_div"> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> + </el-input> + <el-tree + class="filter-tree" + :data="data" + node-key="id" + :props="defaultProps" + default-expand-all + :filter-node-method="filterNode" + ref="tree" + @node-click="handleNodeClick" + > + </el-tree> + </div> + <div class="table_div"> + <div class="table_top_div"> + <span class="top_span" v-if="msg !== ''">{{ msg }}</span> + <div style="text-align: right; float: right"> + <el-button + type="primary" + size="small" + icon="el-icon-circle-plus-outline" + >鏂板</el-button + > + <el-button size="small" icon="el-icon-delete-solid">鍒犻櫎</el-button> + </div> + </div> + <div class="table-main-div"> + <el-table + ref="multipleTable" + :data="tableData" + border + height="100%" + tooltip-effect="dark" + style="width: 100%" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column label="鏃ユ湡" width="120"> + <template slot-scope="scope">{{ scope.row.date }}</template> + </el-table-column> + <el-table-column prop="name" label="濮撳悕" width="120"> + </el-table-column> + <el-table-column prop="address" label="鍦板潃" show-overflow-tooltip> + </el-table-column> + </el-table> + </div> + </div> + </div> </template> <script> +import { getOrganizationalApi } from "@/api/laboratory/organizational"; export default { name: "Organizational", + data() { + return { + filterText: "", + msg: "", + data: [], + // tree鏍戦粯璁ゅ�奸厤缃� + defaultProps: { + children: "children", + label: "department", + id: "id", + }, + tableData: [ + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�", + }, + { + date: "2016-05-04", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�", + }, + { + date: "2016-05-01", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�", + }, + { + date: "2016-05-03", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�", + }, + ], + }; + }, + methods: { + // 鏍戜笂鏂规悳绱㈡杩囨护鍣� + filterNode(value, data) { + if (!value) return true; + return data.department.indexOf(value) !== -1; + }, + // 鍒濆鍖栬幏鍙栨爲鏁版嵁 + treeInitialization() { + getOrganizationalApi().then((res) => { + this.data = res.data; + }); + }, + // 鑾峰彇鏍戣矾寰� + getParentData(node, department) { + if (node !== null) { + if (node.data.department !== undefined) { + this.msg = node.data.department + " > " + department; + } + this.getParentData(node.parent, this.msg); + } + }, + // 鐐瑰嚮鏍戣妭鐐� + handleNodeClick(data, node, element) { + this.getParentData(node.parent, node.data.department); + console.log(`output->this.msg`, this.msg); + console.log(`output->data`, data); + console.log(`output->node`, node); + console.log(`output->element`, element); + }, + // 鏀瑰彉澶氶�夋鐘舵�� + toggleSelection(rows) { + if (rows) { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row); + }); + } else { + this.$refs.multipleTable.clearSelection(); + } + }, + // 鐐瑰嚮澶氶�夋浠ュ悗鐨勬搷浣� + handleSelectionChange(val) { + this.multipleSelection = val; + }, + }, + mounted() { + this.treeInitialization(); + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + }, }; </script> -<style></style> +<style lang="scss"> +.main-div { + width: 99.2% !important; + height: 94vh !important; + margin: 5px 5px 5px 5px; +} +.side_div { + float: left; + width: 300px; + height: 95%; + margin-bottom: 5px; + background-color: #ffffff; + padding: 15px; +} +.table_div { + margin-left: 6px; + float: left; + width: calc(100% - 306px); + height: 95%; + background-color: #ffffff; +} +.filter-tree { + margin-top: 6px; +} +.table_top_div { + height: 80px; + width: 100%; + padding-top: 23px; + padding-right: 50px; +} +.table-main-div { + width: 100%; + height: 90.3%; + padding: 10px; +} +.top_span { + margin-left: 12px; + font-size: 16px; + font-weight: 500; + color: #999999; +} +</style> diff --git a/src/views/laboratory/role/index.vue b/src/views/laboratory/role/index.vue index 1c01efc..494b9da 100644 --- a/src/views/laboratory/role/index.vue +++ b/src/views/laboratory/role/index.vue @@ -1,140 +1,105 @@ <template> <div> - <div class="content-main"> - <div class="top-bar"> - <el-form ref="form" :inline="true" :model="searchData"> - <el-form-item label="瑙掕壊鍚嶇О锛�" class="sermargin"> - <el-input - v-model="searchData.roleName" - class="input-form" - placeholder="璇疯緭鍏ヨ鑹插悕绉�" - style="width:250px" - > - </el-input> - </el-form-item> - <el-form-item label="鏉冮檺锛�" class="sermargin"> - <el-input - v-model="searchData.permission" - class="input-form" - placeholder="璇疯緭鍏ユ潈闄�" - style="width:250px" - > - </el-input> - </el-form-item> - <el-form-item class="rightBtn"> - <el-button type="primary" @click="search">鏌ヨ</el-button> - <el-button type="primary" plain @click="reset">閲嶇疆</el-button> - </el-form-item> - </el-form> - <el-form> - <el-form-item class="rightBtn"> - <el-button type="primary" @click="addRole" icon="el-icon-plus">鏂板鏉冮檺</el-button> - </el-form-item> - </el-form> - </el-form> - </div> - <div class="library-table"> - <div class="table-box"> - <el-table - :max-height="800" - :cell-style="{textAlign: 'center'}" - :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" - :data="roleTable" - style="width: 100%" - > - <el-table-column - type="selection" - min-width="8%" - /> - <el-table-column - prop="rolename" - label="瑙掕壊鍚嶇О" - min-width="20%" - /> - <el-table-column - prop="permission" - label="鏉冮檺" - min-width="20%" - /> - <el-table-column - prop="create_time" - label="鍒涘缓鏃堕棿" - min-width="20%" - /> - <el-table-column - prop="update_time" - label="鏇存柊鏃堕棿" - min-width="20%" - /> - <el-table-column - label="鎿嶄綔" - min-width="12%" - > - <template slot-scope="scope"> - <el-button type="text" size="small" >缂栬緫</el-button> - <el-button type="text" size="small" >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - <!-- 鍒嗛〉鍣� --> - <div class="pagination"> - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="currentPage" - :page-sizes="[5, 10, 20]" - :page-size="pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="total"> - </el-pagination> - </div> - </div> - </div> - </div> - <el-dialog title="淇敼瀵嗙爜" :visible.sync="dialogTableVisible" width="30%"> - <el-form :model="updateData" ref="updateData" label-position="right" label-width="100px"> - <el-form-item label="鍘熷瘑鐮侊細"> - <el-input style="width: 300px" v-model="updateData.oldPassWord" placeholder="璇疯緭鍏ュ師瀵嗙爜" > + <div class="content-main"> + <div class="top-bar"> + <el-form ref="form" :inline="true" :model="searchData"> + <el-form-item label="瑙掕壊鍚嶇О锛�" class="sermargin"> + <el-input v-model="searchData.roleName" class="input-form" placeholder="璇疯緭鍏ヨ鑹插悕绉�" style="width:250px"> </el-input> </el-form-item> - <el-form-item label="鏂板瘑鐮侊細"> - <el-input style="width: 300px" v-model="updateData.newPassWord" placeholder="璇疯緭鍏ユ柊瀵嗙爜"> + <el-form-item label="鏉冮檺锛�" class="sermargin"> + <el-input v-model="searchData.permission" class="input-form" placeholder="璇疯緭鍏ユ潈闄�" style="width:250px"> </el-input> </el-form-item> - <el-form-item label="纭瀵嗙爜锛�"> - <el-input style="width: 300px" v-model="updateData.confirmPassWord" placeholder="鍐嶆杈撳叆瀵嗙爜"> - </el-input> + <el-form-item class="rightBtn"> + <el-button type="primary">鏌ヨ</el-button> + <el-button type="primary" plain>閲嶇疆</el-button> </el-form-item> </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogTableVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="changePassword">纭� 瀹�</el-button> - </span> - </el-dialog> + <el-form> + <el-form-item class="rightBtn"> + <el-button type="primary" @click="addClickRole" icon="el-icon-plus">鏂板瑙掕壊</el-button> + </el-form-item> + </el-form> + </el-form> + </div> + <div class="library-table"> + <div class="table-box"> + <el-table :max-height="800" :cell-style="{ textAlign: 'center' }" + :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" + :data="roleTable" style="width: 100%"> + <el-table-column type="selection" min-width="8%" /> + <el-table-column prop="rolename" label="瑙掕壊鍚嶇О" min-width="20%" /> + <el-table-column prop="permission" label="鏉冮檺" min-width="20%" /> + <el-table-column prop="create_time" label="鍒涘缓鏃堕棿" min-width="20%" /> + <el-table-column prop="update_time" label="鏇存柊鏃堕棿" min-width="20%" /> + <el-table-column label="鎿嶄綔" min-width="12%"> + <template slot-scope="scope"> + <el-button type="text" size="small">缂栬緫</el-button> + <el-button type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <!-- 鍒嗛〉鍣� --> + <div class="pagination"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="total"> + </el-pagination> + </div> + </div> + </div> + </div> + <el-dialog title="鏂板瑙掕壊" :visible.sync="dialogTableVisible" width="60%"> + <el-form :model="roleAdd" ref="roleAdd" label-position="right" label-width="100px"> + <el-form-item label="瑙掕壊鍚�:"> + <el-input style="width: 300px" v-model="roleAdd.roleName" placeholder="璇疯緭鍏ヨ鑹插悕"> + </el-input> + </el-form-item> + <el-form-item label="鍔熻兘閫夋嫨:"> + <el-cascader size="medium " v-model="roleAdd.menuData" :options="menuInfo"> + <template slot-scope="{ node, data }"> + <span>{{ data.label }}</span> + <span v-if="!node.isLeaf"> ({{ }}) </span> + </template> + </el-cascader> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogTableVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="addRole">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> -import { getPlanPageList, getStandingPageList } from '@/api/laboratory/measure' +import { getMenusTree } from '@/api/laboratory/role' export default { data() { return { - searchData:{ + props: { multiple: true }, + roleAdd: { + roleName: null, + menuData: null + }, + searchData: { roleName: '', permission: '' }, - roleTable:[{ + menuInfo: [], + roleTable: [{ rolename: '閮ㄩ暱', permission: 'ROOT', create_time: '2023-07-04 12:12:12', update_time: '2023-07-04 12:12:12' - },{ + }, { rolename: '缁勯暱', permission: '--', create_time: '2023-07-04 12:12:12', update_time: '2023-07-04 12:12:12' }], - updateData:{ + updateData: { oldPassWord: '', newPassWord: '', confirmPassWord: '' @@ -145,13 +110,37 @@ total: 20 } }, - created(){ - + created() { + }, methods: { - addRole(){ + async addClickRole() { + let res = await getMenusTree(); + this.menuInfo = res.data + this.menuInfo.forEach(item => { + item.select = false + item.add = false + item.update = false + item.delete = false + if (item.children.length == 0) { + delete item['children'] + } else { + item.children.forEach(c => { + c.select = false + c.add = false + c.update = false + c.delete = false + if (c.children.length == 0) { + delete c['children'] + } + }) + } + }) this.dialogTableVisible = true // console.log(this.dialogTableVisible) + }, + addRole() { + console.log(this.roleAdd); }, // search(){}, // reset(){}, @@ -170,44 +159,48 @@ </script> <style scoped> +.top-bar { + margin: -25px -15px; + background: #fff; + display: flex; + justify-content: space-between; + padding: 5px 24px 0px 24px; -.top-bar{ - margin: -25px -15px; + .sermargin { + margin-right: 60px; + } +} + +.rightBtn { + margin-right: 50px +} + +.library-table { + background-color: #fff; + flex: 1; + margin: 0px -15px; + margin-top: 40px; + display: flex; + flex-direction: column; + + .table-box { + padding: 10px 20px; + margin-top: 0px; + flex: 1; background: #fff; + /* padding: 20px 20px 10px 20px; */ display: flex; - justify-content: space-between; - padding: 5px 24px 0px 24px; - .sermargin{ - margin-right: 60px; + flex-direction: column; + + .el-table { + flex: 1; } } -.rightBtn{ - margin-right: 50px -} -.library-table{ - background-color: #fff; - flex: 1; - margin: 0px -15px; - margin-top: 40px; - display: flex; - flex-direction: column; - .table-box{ - padding: 10px 20px; - margin-top: 0px; - flex: 1; - background: #fff; - /* padding: 20px 20px 10px 20px; */ - display: flex; - flex-direction: column; - .el-table { - flex: 1; - } - } - .pagination{ - display:flex; - justify-content:end; - margin-top: 20px - } - } + .pagination { + display: flex; + justify-content: end; + margin-top: 20px + } +} </style> diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index ea759e3..6070828 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -201,11 +201,10 @@ methods: { filterNode(value, data) { if (!value) return true; - return data.label.indexOf(value) !== -1; + return data.name.indexOf(value) !== -1; }, // 鑾峰彇bom鏍戠殑鏍囧噯鏁版嵁 async getStandardTree() { - console.log(`output->鎵ц鍔沗, "鎵ц鍔�"); const { data } = await getMaterialList(); this.standardTree = data.map((item) => { let name = null; @@ -228,14 +227,11 @@ const treeOptions = JSON.parse(JSON.stringify(this.standardTree)); this.getDefault(treeOptions, 0); this.formTypeOptions = treeOptions; - console.log(`output->===========`, "==========="); this.$nextTick().then(() => { const firstNode = document.querySelector( ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node" ); - console.log(`output->firstNode`, firstNode); firstNode.click(); - // console.log(firstNode); }); }, getDefault(arr, index) { @@ -254,10 +250,8 @@ // 鏄瓙鑺傜偣 if (node.level === 4) { this.getParentData(node.parent, node.data.name); - console.log(`output->this.msg`, this.msg); // 瀛樹笅閫変腑鑺傜偣 this.selectData = data; - // eslint-disable-next-line prefer-const this.getTableByClick(data); } if (!("children" in data)) { @@ -289,7 +283,6 @@ } }); this.tableData = res.data; - console.log(`output->this.tableData`, this.tableData); this.selectDataList(); }); }, @@ -361,7 +354,6 @@ this.getTableByClick(this.selectData); }, changeCascader(data) { - console.log(`output->----------`, data); this.addTreeForm.addTypeArr = data; }, closeAddTreeForm() { @@ -422,7 +414,6 @@ } else { this.deleteList.splice(0, this.deleteList.length); } - console.log(`output->this.`, this.deleteList); }, //閫夋嫨鏌愯 selectTr(selection, row) { @@ -458,7 +449,6 @@ } }); } - console.log(`output->this.deleteList`, this.deleteList); }, //閫掑綊瀛愮骇 toggleSelect(data, flag, type) { -- Gitblit v1.9.3