|
|
@@ -0,0 +1,440 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div>
|
|
|
+ <templateTable :formList="formList" :searchData.sync="queryFrom" :tableConfig="tableConfig" :btnGroup="btnGroup"
|
|
|
+ :data="pageResult" @getList="findPage" @handleSearchList="handleSearchList" :pagination="pageData">
|
|
|
+ <template slot="companyId">
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="queryFrom.companyId"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in companyselect"
|
|
|
+ :key="index.id"
|
|
|
+ :label="item.namesimple"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ <template slot="enabled" slot-scope="scope">
|
|
|
+ <el-switch
|
|
|
+ v-model="scope.row.enabled"
|
|
|
+ active-text="启动"
|
|
|
+ inactive-text="关闭"
|
|
|
+ :inactive-value="0"
|
|
|
+ :active-value="1"
|
|
|
+ @change="switchChange(scope.row)"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
+ </template>
|
|
|
+ </templateTable>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 新增修改界面 -->
|
|
|
+ <el-dialog :title="dialogTitle" width="40%" :visible.sync="dialogVisible" :close-on-click-modal="false"
|
|
|
+ :before-close="handleDialogBefore" @close="closeDialog" v-dialogDrag>
|
|
|
+ <el-form :model="formData" :rules="rules" ref="formData" :inline="true" label-width="110px" size="small">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="保险公司编号" prop="companyId">
|
|
|
+ <el-input v-model="formData.companyId" disabled placeholder="请选择保险公司"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="保险公司" prop="companyId">
|
|
|
+ <el-select
|
|
|
+ class="widths1"
|
|
|
+ filterable
|
|
|
+ v-model="formData.companyId"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in companyselect"
|
|
|
+ :key="index.id"
|
|
|
+ :label="item.namesimple"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="请求地址" prop="url">
|
|
|
+ <el-input v-model="formData.url"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="是否开启" prop="enabled">
|
|
|
+ <el-radio-group v-model="formData.enabled" style="line-height: 32px;">
|
|
|
+ <el-radio :label="0">关闭</el-radio>
|
|
|
+ <el-radio :label="1">启动</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="核心用户名" prop="username">
|
|
|
+ <el-input v-model="formData.username"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="核心密码" prop="password">
|
|
|
+ <el-input v-model="formData.password"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <p>链接</p>
|
|
|
+ <div class="edit-list">
|
|
|
+ <div>{{ sysQueryVehicleUrlDTOList[0].type }}</div>
|
|
|
+ <div style="width: 100px;">车架号查询</div>
|
|
|
+ <div>
|
|
|
+ <el-input v-model="sysQueryVehicleUrlDTOList[0].link" size="small" style="width: 200px;"></el-input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="edit-list">
|
|
|
+ <div>{{ sysQueryVehicleUrlDTOList[1].type }}</div>
|
|
|
+ <div style="width: 100px;">车型查询</div>
|
|
|
+ <div>
|
|
|
+ <el-input v-model="sysQueryVehicleUrlDTOList[1].link" size="small" style="width: 200px;"></el-input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="submitForm">提交</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import templateTable from "@/components/TemplateTable/index.vue";
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ templateTable,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ formList: [
|
|
|
+ {
|
|
|
+ label: "保险公司",
|
|
|
+ name: "companyId",
|
|
|
+ type: "slot",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "是否启动",
|
|
|
+ prop: "enabled",
|
|
|
+ type: "select",
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ label: "启动",
|
|
|
+ value: '1',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "关闭",
|
|
|
+ value: '0',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ btnGroup: [
|
|
|
+ {
|
|
|
+ name: "新增",
|
|
|
+ click: (row, index) => { return this.handleAddButton() },
|
|
|
+
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ tableConfig: {
|
|
|
+ columns: [
|
|
|
+ // 数据列
|
|
|
+ { prop: "companyId", label: "保险公司编号", type: "text" },
|
|
|
+ { prop: "companyName", label: "保险公司", type: "text" },
|
|
|
+ { name: "enabled", label: "是否开启", type: "slot" },
|
|
|
+ { prop: "username", label: "核心用户名", type: "text" },
|
|
|
+ { prop: "password", label: "核心账号密码", type: "text" },
|
|
|
+ ],
|
|
|
+ loading: true,
|
|
|
+ isPaginationShow: true,
|
|
|
+ isShowIndex: true,
|
|
|
+ optBtns: [
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ label: "编辑",
|
|
|
+ perm: "sys:agent:edit",
|
|
|
+ icon: "fa fa-edit",
|
|
|
+ click: (row, index) => {
|
|
|
+ return this.handleTableEdit(row);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ label: "删除",
|
|
|
+ icon: "el-icon-delete",
|
|
|
+ click: (row, index) => {
|
|
|
+ return this.handleTableDeleteFlag(row);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ companyId: [
|
|
|
+ { required: true, message: '请选择保险公司', trigger: ['blur', 'change'] },
|
|
|
+ ],
|
|
|
+ password: [
|
|
|
+ { required: true, message: '请输入保险公司核心密码', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ url: [
|
|
|
+ { required: true, message: '请输入请求地址', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ username: [
|
|
|
+ { required: true, message: '请输入保险公司核心用户名', trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ sysQueryVehicleUrlDTOList: [
|
|
|
+ {
|
|
|
+ type: 1,
|
|
|
+ link: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 2,
|
|
|
+ link: '',
|
|
|
+ }
|
|
|
+ ], // 新增编辑列表
|
|
|
+ pageData: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ totalSize: 0,
|
|
|
+ },
|
|
|
+ formData: {
|
|
|
+ enabled: 0,
|
|
|
+ companyId: '',
|
|
|
+ companyName: '',
|
|
|
+ password: '',
|
|
|
+ url: '',
|
|
|
+ username: '',
|
|
|
+ },
|
|
|
+ queryFrom: {},
|
|
|
+ pageResult: [],
|
|
|
+ dialogTitle: "",
|
|
|
+ dialogVisible: false, // 新增编辑界面是否显示
|
|
|
+ companyselect: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.$api.insCompany.gainTopList("1").then((res) => {
|
|
|
+ this.companyselect = res.data;
|
|
|
+ });
|
|
|
+ this.findPage()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 开关
|
|
|
+ switchChange(data) {
|
|
|
+ this.$api.sys
|
|
|
+ .vehicleConfigOpen(data.id)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "设置成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: `设置失败,(${res.msg})`,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 右侧列表的方法Start
|
|
|
+ findPage(data) {
|
|
|
+ this.tableConfig.loading = true;
|
|
|
+ this.$api.sys
|
|
|
+ .vehicleConfigInquire({
|
|
|
+ ...this.pageData,
|
|
|
+ ...data,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.tableConfig.loading = false;
|
|
|
+ this.pageResult = res.data.content;
|
|
|
+ this.pageData.pageNum = res.data.pageNum;
|
|
|
+ this.pageData.pageSize = res.data.pageSize;
|
|
|
+ this.pageData.totalSize = res.data.totalSize;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleSearchList(data) {
|
|
|
+ this.findPage({...data, ...this.queryFrom});
|
|
|
+ },
|
|
|
+ //编辑
|
|
|
+ async handleTableEdit(params) {
|
|
|
+ this.dialogTitle = "编辑";
|
|
|
+ // this.formData = {...params}
|
|
|
+ this.$api.sys.vehicleConfigDetail(params.id).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.formData = res.data.sysQueryVehicleConfig
|
|
|
+ this.sysQueryVehicleUrlDTOList = res.data.sysQueryVehicleUrlList
|
|
|
+ this.dialogVisible = true
|
|
|
+ } else {
|
|
|
+ this.$message.error
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ handleTableDeleteFlag(data) {
|
|
|
+ this.$confirm("确认删除?")
|
|
|
+ .then(() => {
|
|
|
+ this.$api.sys.vehicleConfigDelete(data.id).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "删除成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => { });
|
|
|
+ },
|
|
|
+ //添加人员
|
|
|
+ handleAddButton() {
|
|
|
+ this.dialogTitle = "新增";
|
|
|
+ this.formData = {
|
|
|
+ enabled: 0,
|
|
|
+ companyId: '',
|
|
|
+ companyName: '',
|
|
|
+ password: '',
|
|
|
+ url: '',
|
|
|
+ username: '',
|
|
|
+ }
|
|
|
+ if (this.$refs["formData"]) {
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
+ }
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+ handleDialogBefore(done) {
|
|
|
+ // 退出对话框之前确认提示
|
|
|
+ this.$confirm("确认关闭?")
|
|
|
+ .then((_) => {
|
|
|
+ done();
|
|
|
+ })
|
|
|
+ .catch((_) => { });
|
|
|
+ },
|
|
|
+ closeDialog() {
|
|
|
+ // 清空数据
|
|
|
+ this.deptInfo = {};
|
|
|
+ this.dialogVisible = false;
|
|
|
+ },
|
|
|
+ // 提交
|
|
|
+ submitForm() {
|
|
|
+ this.$refs.formData.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.$confirm("确认提交吗?", "提示", {}).then(() => {
|
|
|
+ this.companyselect.forEach((val) => {
|
|
|
+ if (val.id == this.formData.companyId) {
|
|
|
+ this.formData.companyName = val.namesimple
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (this.dialogTitle == "新增") {
|
|
|
+ this.$api.sys
|
|
|
+ .vehicleConfig({
|
|
|
+ sysQueryVehicleConfigDTO: {...this.formData},
|
|
|
+ sysQueryVehicleUrlDTOList: this.sysQueryVehicleUrlDTOList
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "保存成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: `保存失败,请重新添加,(${res.msg})`,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$api.sys
|
|
|
+ .vehicleConfigEdit({
|
|
|
+ sysQueryVehicleConfigDTO: {...this.formData},
|
|
|
+ sysQueryVehicleUrlDTOList: this.sysQueryVehicleUrlDTOList
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "编辑成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: `编辑失败,请重新添加,(${res.msg})`,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 下一步
|
|
|
+
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+.el-divider--horizontal {
|
|
|
+ margin: 4px 0;
|
|
|
+}
|
|
|
+
|
|
|
+/* 顶部查询条件样式Start */
|
|
|
+.queryFrom .el-row {
|
|
|
+ margin: 10px 0px;
|
|
|
+}
|
|
|
+
|
|
|
+.queryFrom .el-form-item {
|
|
|
+ margin-bottom: 0px;
|
|
|
+}
|
|
|
+
|
|
|
+.queryFrom .queryButton .el-form-item__content {
|
|
|
+ margin-left: 0px !important;
|
|
|
+}
|
|
|
+
|
|
|
+.disc {
|
|
|
+ -webkit-text-security: disc;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.none {
|
|
|
+ -webkit-text-security: none;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.icon {
|
|
|
+ color: #ccc;
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 10px;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+
|
|
|
+.edit-list {
|
|
|
+ padding: 0 30px;
|
|
|
+ display: flex;
|
|
|
+ text-align: center;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ > div {
|
|
|
+ line-height: 32px;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|