From 1dfede5acec9f6bb97b8769f55501b67262316e0 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期一, 27 三月 2023 17:19:22 +0800 Subject: [PATCH] 搜索bug --- src/views/your/car-manage/carManage.vue | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 409 insertions(+), 18 deletions(-) diff --git a/src/views/your/car-manage/carManage.vue b/src/views/your/car-manage/carManage.vue index 3730dd1..0129cd1 100644 --- a/src/views/your/car-manage/carManage.vue +++ b/src/views/your/car-manage/carManage.vue @@ -8,15 +8,14 @@ <Card> <Row class="operation"> <Button @click="addCar" type="primary" icon="md-add">娣诲姞杞﹁締</Button> - <Button @click="delAll" icon="md-trash">鎵归噺鍒犻櫎</Button> <Button @click="init" icon="md-refresh">鍒锋柊</Button> <Button type="dashed" @click="openTip = !openTip">{{ openTip ? "鍏抽棴鎻愮ず" : "寮�鍚彁绀�" }}</Button> <Input - v-model="searchForm.carNo" + v-model="searchForm2.carNo" suffix="ios-search" - @on-change="getDataList" + @on-change="getDataList2" placeholder="杈撳叆杞︾墝鍙锋悳绱�" clearable style="width: 250px" @@ -60,12 +59,7 @@ :mask-closable="false" :width="500" > - <Form - ref="carForm" - :model="carForm" - :label-width="80" - :rules="carFormValidate" - > + <Form ref="carForm" :model="carForm" :label-width="80" :rules="carFormValidate"> <FormItem label="鍝佺墝" prop="brand"> <Input v-model="carForm.brand"/> </FormItem> @@ -78,19 +72,82 @@ <Form-item label="璐疆骞翠唤"> <Row> <Col span="11"> - <Date-picker @on-change="change1" type="date" value="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" v-model="carForm.buyYear"></Date-picker> + <Date-picker @on-change="change1" type="date" + value="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" v-model="carForm.buyYear"></Date-picker> </Col> </Row> </Form-item> <FormItem label="鐗岀収" prop="carNo"> <Input v-model="carForm.carNo" /> </FormItem> - + <FormItem label="鍔犳补鍗″彿" prop="addOilCode"> + <Input v-model="carForm.addOilCode" /> + </FormItem> + <FormItem label="杞﹁締缂栧彿" prop="code"> + <Input v-model="carForm.code" /> + </FormItem> + <FormItem label="鍙告満" prop="userId"> + <Select v-model="carForm.userId" filterable> + <Option :value="0">璇烽�夋嫨</Option> + <Option v-for="item in userList" :value="item.id" :key="item.id">{{ item.nickname }}</Option> + </Select> + </FormItem> + <FormItem label="閰嶉�佸憳" prop="followUserId"> + <Select v-model="carForm.followUserId" filterable> + <Option :value="0" :key="0">璇烽�夋嫨</Option> + <Option v-for="item in driverList" :value="item.id" :key="item.id">{{ item.nickname }}</Option> + </Select> + </FormItem> </Form> <div slot="footer"> <Button type="text" @click="carRole">鍙栨秷</Button> <Button type="primary" :loading="submitLoading" @click="submitCar" >鎻愪氦</Button + > + </div> + </Modal> + <Modal :title="modalTitle" v-model="equipmentVisible" :mask-closable="false" :width="1044"> + <Row class="operation" style="padding-bottom: 20px"> + <Button @click="addEquipment" type="primary" icon="md-add">娣诲姞璁惧</Button> + <Button @click="init" icon="md-refresh">鍒锋柊</Button> + </Row> + <Table :loading="loading" border :columns="columns2" :data="data2" ref="table" + sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> + + + </Table> + </Modal> + <Modal :title="modalTitle" v-model="addEquipmentVisible" :mask-closable="false" :width="500"> + <Form ref="equipmentForm" :model="equipmentForm" :label-width="80" :rules="equipmentFormValidate"> + <FormItem label="璁惧绫诲瀷" prop="type"> + <Select v-model="equipmentForm.type"> + <Option :value="0">杞︽満</Option> + <Option :value="1">鎽勫儚鏈�</Option> + <Option :value="2">鎶撴媿鏈�</Option> + <Option :value="3">pad</Option> + </Select> + </FormItem> + <FormItem label="鐘舵��" prop="status"> + <Select v-model="equipmentForm.status"> + <Option :value="0">姝e父</Option> + <Option :value="1">寮傚父</Option> + </Select> + </FormItem> + <FormItem label="缂栧彿" prop="code"> + <Input v-model="equipmentForm.code" /> + </FormItem> + <FormItem label="ip鍦板潃" prop="ip"> + <Input v-model="equipmentForm.ip" /> + </FormItem> + <FormItem label="绔彛鍙�" prop="port"> + <Input v-model="equipmentForm.port" /> + </FormItem> + + </Form> + <div slot="footer"> + <Button type="text" @click="carRole">鍙栨秷</Button> + <Button type="primary" :loading="submitLoading" @click="submitEquipment" + >鎻愪氦</Button > </div> </Modal> @@ -191,6 +248,11 @@ getCarList, editCar, deleteCar, + getEquipment, + addEquipment, + getUser, + getDriver, + deleteEquipment, } from "@/api/open"; import util from "@/libs/util.js"; export default { @@ -210,6 +272,8 @@ sortType: "desc", modalType: 0, roleModalVisible: false, + addEquipmentVisible: false, + equipmentVisible: false, carModalVisible: false, permModalVisible: false, depModalVisible: false, @@ -222,7 +286,21 @@ order: "desc", // 榛樿鎺掑簭鏂瑰紡 key: "", }, + searchForm2: { + // 鎼滅储妗嗗垵濮嬪寲瀵硅薄 + pageNumber: 1, // 褰撳墠椤垫暟 + pageSize: 10, // 椤甸潰澶у皬 + sort: "createTime", // 榛樿鎺掑簭瀛楁 + order: "desc", // 榛樿鎺掑簭鏂瑰紡 + key: "", + }, carForm: { + status : 0 + }, + type: { + type : 0 + }, + equipmentForm: { status : 0 }, removeForm: { @@ -249,8 +327,18 @@ { title: "杞︾墝鍙�", key: "carNo", - width: 100, + width: 110, sortable: true, + }, + { + title: "鍙告満", + key: "nickName", + width: 100, + }, + { + title: "閰嶉�佸憳", + key: "followNickName", + width: 100, }, { title: "鍝佺墝", @@ -266,12 +354,35 @@ title: "鎺掗噺", key: "displacement", width: 100, - sortable: true, + }, + { + title: "鍔犳补鍗″彿", + key: "addOilCode", + minWidth: 120, + // sortable: true, + render: (h, params) => { + return h("div",params.row.addOilCode=="undefined" ? '':params.row.addOilCode); + } + }, + { + title: "缂栧彿", + key: "code", + minWidth: 120, + tooltip:true, + // render: (h, params) => { + // return h("div",params.row.code=="undefined" ? '':params.row.code); + // } }, { title: "璐疆骞翠唤", key: "buyYear", minWidth: 120, + sortable: true, + }, + { + title: "鐧昏鏃ユ湡", + key: "createTime", + minWidth: 180, sortable: true, }, { @@ -312,9 +423,26 @@ title: "鎿嶄綔", key: "action", align: "center", + fixed: "right", width: 280, render: (h, params) => { return h("div", [ + h( + "a", + { + on: { + click: () => { + this.equipment(params.row); + }, + }, + }, + "璁惧" + ), + h("Divider", { + props: { + type: "vertical", + }, + }), h( "a", { @@ -362,17 +490,158 @@ }, }, ], + columns2: [ + { + type: "selection", + width: 60, + align: "center", + }, + { + type: "index", + width: 60, + align: "center", + }, + { + title: "璁惧绫诲瀷", + key: "type", + width: 130, + sortable: true, + render: (h, params) => { + let re = ""; + if (params.row.type == 0) { + return h("div", [ + h("Badge", { + props: { + text: "杞︽満", + }, + }), + ]); + } else if (params.row.type == 1) { + return h("div", [ + h("Badge", { + props: { + text: "鎽勫儚鏈�", + }, + }), + ]); + }else if (params.row.type == 2) { + return h("div", [ + h("Badge", { + props: { + text: "鎶撴媿鏈�", + }, + }), + ]); + }else if (params.row.type == 3) { + return h("div", [ + h("Badge", { + props: { + text: "pad", + }, + }), + ]); + } + }, + }, + { + title: "缂栧彿", + key: "code", + width: 120, + }, + { + title: "鐘舵��", + key: "status", + width: 120, + sortable: true, + render: (h, params) => { + let re = ""; + if (params.row.status == 0) { + return h("div", [ + h("Badge", { + props: { + status: "success", + text: "姝e父", + }, + }), + ]); + } else if (params.row.status == 1) { + return h("div", [ + h("Badge", { + props: { + status: "error", + text: "鍋滅敤", + }, + }), + ]); + } + }, + }, + { + title: "ip鍦板潃", + key: "ip", + width: 120, + }, + { + title: "绔彛鍙�", + key: "port", + width: 120, + sortable: true, + }, + { + title: "鎿嶄綔", + key: "action", + align: "center", + width: 280, + render: (h, params) => { + return h("div", [ + h( + "a", + { + on: { + click: () => { + this.editEquipment(params.row); + }, + }, + }, + "缂栬緫" + ), + h("Divider", { + props: { + type: "vertical", + }, + }), + h( + "a", + { + on: { + click: () => { + this.removeEquipment(params.row); + }, + }, + }, + "鍒犻櫎" + ), + ]); + }, + }, + ], data: [], + data2: [], total: 0, + total2: 0, permData: [], editRolePermId: "", selectAllFlag: false, depData: [], dataType: 0, + carId: '', + driverList: [], + userList: [], editDepartments: [], buyYear:'' }; }, + methods: { change1(e){ this.buyYear = e; @@ -380,7 +649,6 @@ init() { this.getDataList(); // 鑾峰彇鎵�鏈夎彍鍗曟潈闄愭爲 - this.getPermList(); }, renderContent(h, { root, node, data }) { let icon = ""; @@ -437,6 +705,22 @@ this.searchForm.pageSize = v; this.getDataList(); }, + getAllUser(){ + getDriver({type:0}).then((res)=>{ + if (res.success){ + this.userList=res.result; + } + }); + //this.type.type=1; + getDriver({type:1}).then((res)=>{ + if (res.success){ + this.driverList=res.result; + } + }); + this.type.type=0; + console.log(this.userList); + console.log(this.driverList); + }, changeSort(e) { this.searchForm.sort = e.key; this.searchForm.order = e.order; @@ -452,6 +736,26 @@ if (res.success) { this.data = res.result.records; this.total = res.result.total; + } + }); + }, + getDataList2() { + this.loading = true; + getCarList(this.searchForm2).then((res) => { + this.loading = false; + if (res.success) { + this.data = res.result.records; + this.total = res.result.total; + } + }); + }, + getEquipmentList(carId) { + this.loading = true; + this.searchForm2.carId=carId; + getEquipment(this.searchForm2).then((res) => { + this.loading = false; + if (res.success) { + this.data2 = res.result.records; } }); }, @@ -483,6 +787,12 @@ this.roleModalVisible = false; }, submitCar() { + if(this.carForm.userId==undefined || this.carForm.userId==0){ + this.carForm.userId=""; + } + if(this.carForm.followUserId==undefined || this.carForm.followUserId==0){ + this.carForm.followUserId=""; + } this.carForm.buyYear = this.buyYear; this.$refs.carForm.validate((valid) => { if (valid) { @@ -511,6 +821,37 @@ } }); }, + submitEquipment() { + this.$refs.equipmentForm.validate((valid) => { + this.equipmentForm.carId = this.carId; + if (valid) { + if (this.modalType == 0) { + // 娣诲姞 + this.submitLoading = true; + addEquipment(this.equipmentForm).then((res) => { + this.submitLoading = false; + if (res.success) { + this.$Message.success("鎿嶄綔鎴愬姛"); + this.getEquipmentList(this.carId); + this.addEquipmentVisible = false; + this.getEquipmentList(this.carId); + } + }); + } else { + this.submitLoading = true; + addEquipment(this.equipmentForm).then((res) => { + this.submitLoading = false; + if (res.success) { + this.$Message.success("鎿嶄綔鎴愬姛"); + this.getEquipmentList(this.carId); + this.addEquipmentVisible = false; + } + }); + } + } + + }); + }, submitRemove(){ this.$refs.removeForm.validate((valid) => { if (valid) { @@ -526,17 +867,37 @@ } }); }, + equipment(row) { + this.carId = row.id + this.getEquipmentList(row.id); + this.modalType = 0; + this.modalTitle = "璁惧淇℃伅"; + this.$refs.carForm.resetFields(); + delete this.carForm.id; + this.equipmentVisible = true; + }, addCar() { + this.carForm={}; + this.getAllUser(); this.modalType = 0; this.modalTitle = "娣诲姞杞﹁締"; this.$refs.carForm.resetFields(); delete this.carForm.id; this.roleModalVisible = true; }, + addEquipment() { + this.equipmentForm={}; + this.modalType = 0; + this.modalTitle = "娣诲姞璁惧"; + this.$refs.carForm.resetFields(); + delete this.carForm.id; + this.addEquipmentVisible = true; + }, edit(v) { + this.getAllUser(); this.buyYear = v.buyYear; this.modalType = 1; - this.modalTitle = "缂栬緫瑙掕壊"; + this.modalTitle = "缂栬緫"; this.$refs.carForm.resetFields(); // 杞崲null涓�"" for (let attr in v) { @@ -546,9 +907,23 @@ } let str = JSON.stringify(v); let roleInfo = JSON.parse(str); - this.carForm = roleInfo; this.roleModalVisible = true; + }, + editEquipment(v) { + this.modalType = 1; + this.modalTitle = "缂栬緫璁惧"; + this.$refs.equipmentForm.resetFields(); + // 杞崲null涓�"" + for (let attr in v) { + if (v[attr] == null) { + v[attr] = ""; + } + } + let str = JSON.stringify(v); + let roleInfo = JSON.parse(str); + this.equipmentForm = roleInfo; + this.addEquipmentVisible = true; }, removeCar(v) { this.dataType = 0; @@ -563,7 +938,6 @@ let str = JSON.stringify(v); let roleInfo = JSON.parse(str); roleInfo.status=1 - console.log(roleInfo); this.removeForm = roleInfo; this.carModalVisible = true; @@ -580,6 +954,23 @@ this.clearSelectAll(); this.$Message.success("鍒犻櫎鎴愬姛"); this.getDataList(); + } + }); + }, + }); + }, + removeEquipment(v) { + this.$Modal.confirm({ + title: "纭鍒犻櫎", + content: "鎮ㄧ‘璁よ鍒犻櫎鍚� ", + loading: true, + onOk: () => { + deleteEquipment({ ids: v.id }).then((res) => { + this.$Modal.remove(); + if (res.success) { + this.clearSelectAll(); + this.$Message.success("鍒犻櫎鎴愬姛"); + this.getEquipmentList(this.carId); } }); }, @@ -863,4 +1254,4 @@ this.init(); }, }; -</script> \ No newline at end of file +</script> -- Gitblit v1.9.1