详解vue+nodejs获取多个表数据的方法_第1页
详解vue+nodejs获取多个表数据的方法_第2页
详解vue+nodejs获取多个表数据的方法_第3页
详解vue+nodejs获取多个表数据的方法_第4页
详解vue+nodejs获取多个表数据的方法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第详解vue+nodejs获取多个表数据的方法el-table:data="state.tableData"border

el-table-columnprop="name"label="Name"width="180"/

el-table-columnprop="relation"label="Relation"width="180"/el-table-column

el-table-columnprop="path"label="Path"

template#default="scope"

divv-for="(item,index)inscope.row.path":key="index"

:src="'http://localhost:3000//'+item.path"

/div

/template

/el-table-column

el-table-columnlabel="Operations"width="120"

template#default="scope"

el-button

type="text"

size="small"

@click.prevent="edit(scope.row)"

el-icon

edit/

/el-icon

/el-button

/template

/el-table-column

/el-table

el-dialogv-model="state.dialogVisible"width="80%"

el-transfer

v-model="state.rightValue"

filterable

:titles="['Source','Target']"

:button-texts="['Toleft','Toright']"

:format="{

noChecked:'${total}',

hasChecked:'${checked}/${total}',

:data="state.data"

template#default="{option}"

span{{option.key}}-{{option.label}}/span

/template

/el-transfer

el-button

type="primary"

size="medium"

@click.prevent="commit"

/el-button

/el-dialog

/div

/template

scriptlang="ts"

import{defineComponent,reactive}from'vue'

import{relationlist,uploadorder,editrelation}from'../utils/api'

import{

ElMessage,ElDialog

}from'element-plus';

import{Edit}from'@element-plus/icons';

exportdefaultdefineComponent({

name:'relation',

components:{

Edit,ElMessage,ElDialog

setup(){

conststate=reactive({

tableData:[],

dialogVisible:false,

data:[],

rightValue:[],

editdata:{}

constinit=function(){

relationlist().then((res)={

if(res.code===200){

res.list.forEach((ele)={

if(ele.relation){

ele.relation=ele.relation.split(',')

for(leti=0;iele.relation.length;i++){

ele.relation[i]=Number(ele.relation[i]);

state.tableData=res.list

constinit1=function(){

uploadorder().then(res={

if(res.code===200){

letdata=[]

res.list.forEach(ele={

data.push({

key:ele.id,

label:

state.data=data

constedit=function(row){

state.editdata=row;

state.dialogVisible=true;

state.rightValue=row.relation||[];

constcommit=function(){

letdata={

rightvalue:state.rightValue,

...state.editdata

editrelation(data).then((res)={

if(res.code===200){

ElMessage.success(res.msg)

state.dialogVisible=false

init()

}else{

ElMessage.error(res.msg)

init()

init1()

return{

state,

edit,

commit

/script

后端实现

//获取关联列表

router.get('/relationlist',async(req,res,next)={

constresult=awaitdb.select(`SELECT*FROMuser`)

for(leti=0;iresult.length;i++){

letele=result[i];

letuploadres=awaitdb.select(`SELECTpathFROMuploadwhereidin(${ele.relation})`)

ele.path=uploadres

res.send(Success(result));

//修改关联列表

router.post('/editrelation',async(req,res,next)={

let{id,rightvalue}=req['body']

console.log(rightvalue);

if(!id||!rightvalue){

res.send(MError('请选择后再提交'))

return

constresult=awaitdb.update('user',{relation:rightvalue},`WHEREid=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论