This commit is contained in:
邱贞招 2024-06-13 16:21:53 +08:00
parent ad691563b7
commit 3206bc349f
6 changed files with 153 additions and 52 deletions

View File

@ -72,8 +72,8 @@ export default {
return {
codeUrl: "",
loginForm: {
username: "admin",
password: "admin123",
username: "",
password: "",
rememberMe: false,
code: "",
uuid: ""

View File

@ -126,6 +126,18 @@
<el-input v-model="form.author" placeholder="请输入作者" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="运营区" prop="areaId" >
<el-select v-model="form.areaId" placeholder="请选择运营区">
<el-option
v-for="item in areaOptions"
:key="item.areaId"
:label="item.areaName"
:value="item.areaId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" type="textarea" placeholder="请输入内容" />
@ -171,14 +183,18 @@
import { listArticle, getArticle, delArticle, addArticle, updateArticle,classifyTreeSelect } from "@/api/system/article";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listArea } from '@/api/system/area'
export default {
name: "Article",
components: { Treeselect },
data() {
return {
// userName: undefined,
//
loading: true,
//
areaOptions: [],
//
ids: [],
//
@ -218,6 +234,8 @@ export default {
};
},
created() {
// console.log("",this.$store.state.user.name)
// this.userName = this.$store.state.user.name;
this.getList();
this.getClassifyTree();
},
@ -282,8 +300,12 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加文章";
listArea(this.queryParams).then(response => {
this.areaOptions = response.rows;
this.open = true;
this.title = "添加文章";
});
},
/** 修改按钮操作 */
handleUpdate(row) {

View File

@ -33,7 +33,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
v-hasPermi="['system:articleClassify:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
@ -75,14 +75,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
v-hasPermi="['system:articleClassify:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
v-hasPermi="['system:articleClassify:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
@ -90,7 +90,7 @@
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
v-hasPermi="['system:articleClassify:remove']"
>删除</el-button>
</template>
</el-table-column>

View File

@ -164,29 +164,48 @@
</el-row>
<div v-if="form.parentId != 0">
<el-row>
<el-col :span="12" v-show="form.isProfitSharing == true">
<el-form-item label="平台服务费(%)" label-width="90" prop="platformServiceFee">
<el-input style="width: 65%" v-model="form.platformServiceFee" placeholder="请输入平台服务费" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启分账" label-width="120" prop="isProfitSharing">
<el-switch v-model="form.isProfitSharing" class="drawer-switch" />
</el-form-item>
</el-col>
<el-col :span="12" v-show="form.isProfitSharing == true">
<el-form-item label="平台服务费(%)" label-width="90" prop="platformServiceFee">
<el-input style="width: 65%" v-model="form.platformServiceFee" placeholder="请输入平台服务费" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否使用创享电动车小程序" label-width="160" prop="isUsePlatformApp">
<el-switch v-model="form.isUsePlatformApp" class="drawer-switch" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="域名" prop="domain">
<el-input style="width: 93%" v-model="form.domain" placeholder="请输入域名" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" v-show="form.isUsePlatformApp != true">
<el-form-item label="appid" prop="appid">
<el-input style="width: 93%" v-model="form.appid" placeholder="请输入appid" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-show="form.isUsePlatformApp != true">
<el-form-item label="appSecret" prop="appSecret">
<el-input v-model="form.appSecret" placeholder="请输入appSecret" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" v-show="form.isUsePlatformApp != true">
<el-form-item label="小程序名称" prop="appName">
<el-input style="width: 93%" v-model="form.appName" placeholder="请输入小程序名称" />
</el-form-item>
</el-col>
</el-row>
<h2 style="font-weight: 700;font-size: 18px">支付相关</h2>
<el-row>
<el-col :span="12">
@ -381,6 +400,7 @@ export default {
this.open = true;
this.title = "修改运营商";
this.form.isProfitSharing = this.form.isProfitSharing === 'true';
this.form.isUsePlatformApp = this.form.isUsePlatformApp === 'true';
listArea().then(response => {
this.areaOptions = response.rows;
});

View File

@ -97,8 +97,8 @@
<el-table-column label="型号" align="center" prop="model" />
<el-table-column label="车牌号" align="center" prop="vehicleNum" />
<el-table-column label="分区" align="center" prop="areaName" />
<el-table-column label="定位" align="center" prop="location" />
<el-table-column label="剩余电量" align="center" prop="remainingPower" />
<el-table-column label="定位" align="center" prop="location" :show-overflow-tooltip="true"/>
<el-table-column label="剩余电量(%)" align="center" prop="remainingPower" />
<el-table-column label="车辆状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.as_device_status" :value="scope.row.status"/>
@ -116,7 +116,7 @@
width="180"
trigger="hover">
<div class="qr-code-box">
<qr-code :text="qrCodeText(d.row.sn)" :width="150" :height="150" />
<qr-code :text="d.row.qrText" :width="150" :height="150" />
</div>
<el-button slot="reference" type="text" icon="el-icon-picture">查看</el-button>
</el-popover>
@ -126,10 +126,10 @@
<el-table-column label="纬度" align="center" prop="latitude" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -145,6 +145,13 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['system:device:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleListing(scope.row)"
v-hasPermi="['system:fault:query']"
>{{ scope.row.status === '0' ? '上架' : '下架' }}</el-button>
<el-button
size="mini"
type="text"
@ -177,9 +184,14 @@
<el-input v-model="form.sn" placeholder="请输入设备SN" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="MAC" prop="mac">
<el-input v-model="form.mac" placeholder="请输入设备MAC" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="型号" prop="modelId" >
<el-select v-model="form.modelId" placeholder="请选择运营区">
<el-select v-model="form.modelId" placeholder="请选择型号">
<el-option
v-for="item in modelOptions"
:key="item.modelId"
@ -194,6 +206,18 @@
<el-input v-model="form.vehicleNum" placeholder="请输入车牌号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运营区" prop="areaId" >
<el-select v-model="form.areaId" placeholder="请选择运营区">
<el-option
v-for="item in areaOptions"
:key="item.areaId"
:label="item.areaName"
:value="item.areaId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="title=='修改设备'">
<el-form-item label="剩余电量" prop="remainingPower">
<el-input v-model="form.remainingPower" placeholder="请输入剩余电量" disabled/>
@ -226,7 +250,8 @@
<el-form ref="form" :model="form" label-width="100px" size="mini">
<el-row>
<el-col :span="8">
<el-form-item label="设备编号:">{{ form.mac }}</el-form-item>
<el-form-item label="设备mac">{{ form.mac }}</el-form-item>
<el-form-item label="设备sn">{{ form.sn }}</el-form-item>
<el-form-item label="车辆状态:" style="color: #12d2ac;font-weight: 700">{{ form.statusStr }}</el-form-item>
</el-col>
<el-col :span="8">
@ -299,6 +324,7 @@ import { parseTime } from '../../../utils/ruoyi';
import LocationMap from '@/components/Map/location/LocationMap.vue';
import { listModel} from "@/api/system/model";
import QrCode from "@/components/QrCode/index.vue";
import { listArea } from '@/api/system/area'
export default {
name: "Device",
@ -339,6 +365,8 @@ export default {
open2: false,
//
modelOptions: [],
//
areaOptions: [],
// keyarea-map
// key: 0,
//
@ -363,19 +391,15 @@ export default {
sn: [
{ required: true, message: "SN不能为空", trigger: "blur" }
],
mac: [
{ required: true, message: "MAC不能为空", trigger: "blur" }
],
areaId: [
{ required: true, message: "运营区不能为空", trigger: "blur" }
],
}
};
},
computed: {
//
qrCodeText() {
return (sn) => {
let text = `https://dianche.chuantewulian.cn?sn=`+ sn;
console.log("qrCodeText===============", text)
return text;
}
},
},
created() {
this.getList();
console.log("------"+this.activeIndex)
@ -428,6 +452,13 @@ export default {
this.deviceList = response.rows;
this.total = response.total;
this.loading = false;
listModel(this.queryParams).then(response => {
this.modelOptions = response.rows;
listArea(this.queryParams).then(response => {
this.areaOptions = response.rows;
});
});
});
},
//
@ -478,11 +509,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
listModel(this.queryParams).then(response => {
this.modelOptions = response.rows;
this.open = true;
this.title = "添加设备";
});
this.open = true;
this.title = "添加设备";
},
/** 详情按钮 */
handleView(row) {
@ -500,6 +528,22 @@ export default {
this.title = "修改设备";
});
},
handleListing(row) {
this.reset();
const deviceId = row.deviceId || this.ids
getDevice(deviceId).then(response => {
let form1 = response.data;
let text = form1.status === '0'? '上架': '下架';
form1.status = form1.status === '0'? '1': '0';
this.$modal.confirm('是否确认'+text+'设备MAC为"' + form1.mac + '"的设备吗?').then(function() {
return updateDevice(form1);
}).then(() => {
this.getList();
this.$modal.msgSuccess("操作成功");
}).catch(() => {
});
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {

View File

@ -77,6 +77,16 @@
<el-form-item label="套餐名称" prop="name">
<el-input v-model="form.name" placeholder="请输入套餐名称" />
</el-form-item>
<el-form-item label="运营区" prop="areaId" v-if="userName == 'admin'">
<el-select v-model="form.areaId" placeholder="请选择运营区">
<el-option
v-for="item in areaOptions"
:key="item.areaId"
:label="item.areaName"
:value="item.areaId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="说明" prop="instructions" :show-overflow-tooltip="true">
<editor v-model="form.instructions" :min-height="192"/>
<!-- <el-input v-model="form.explain" type="textarea" placeholder="请输入内容" /> -->
@ -258,19 +268,19 @@
</div>
<el-form-item v-if="form.rentalUnit != 'day'" label="计费周期" prop="chargingCycle">
<el-radio-group v-model="form.chargingCycle">
<el-radio label="1">
订单生成后
<el-input v-model="time1"
style="width: 80px; display: inline-block; margin-left: 10px;" />
小时
</el-radio>
<el-radio label="2">
自定义时刻
<el-time-picker v-model="time2" value-format="HH:mm:ss" placeholder="选择时间" style="margin-left: 10px;" />
</el-radio>
</el-radio-group>
</el-form-item>
<el-radio-group v-model="form.chargingCycle">
<el-radio label="1">
订单生成后
<el-input v-model="time1"
style="width: 80px; display: inline-block; margin-left: 10px;" />
小时
</el-radio>
<el-radio label="2">
自定义时刻
<el-time-picker v-model="time2" value-format="HH:mm:ss" placeholder="选择时间" style="margin-left: 10px;" />
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.rentalUnit != 'day'">
<div>
@ -301,7 +311,7 @@
<script>
import { listFee, getFee, delFee, addFee, updateFee } from "@/api/system/fee";
import { time } from 'echarts';
import { listArea } from '@/api/system/area'
export default {
name: "Fee",
@ -312,6 +322,8 @@ export default {
loading: true,
ids: [],
single: true,
//
areaOptions: [],
multiple: true,
showSearch: true,
total: 0,
@ -480,8 +492,11 @@ export default {
},
handleAdd() {
this.reset();
this.open = true;
this.title = "添加收费方式";
listArea(this.queryParams).then(response => {
this.areaOptions = response.rows;
this.open = true;
this.title = "添加收费方式";
});
},
handleUpdate(row) {
this.reset();