Merge pull request 'dev-qsh' (#13) from dev-qsh into master
Reviewed-on: http://114.55.169.15:3000/qiushanhe/dm-manage-web/pulls/13
This commit was merged in pull request #13.
This commit is contained in:
@@ -95,10 +95,10 @@
|
|||||||
<script src="/loading/index.js"></script>
|
<script src="/loading/index.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window._AMapSecurityConfig = {
|
window._AMapSecurityConfig = {
|
||||||
securityJsCode:'f653df5a2c5f44ae68faaab6f6a6b8ab',
|
securityJsCode: 'f653df5a2c5f44ae68faaab6f6a6b8ab'
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
|
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
|
||||||
<script src="https://webapi.amap.com/maps?v=1.4.15&key=713d839ff505943b0f18e6df45f3b0dc&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder,AMap.Scale"></script>
|
<script src="https://webapi.amap.com/maps?v=1.4.15&key=713d839ff505943b0f18e6df45f3b0dc&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder,AMap.Scale"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -5,21 +5,22 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="题目" prop="question">
|
<el-form-item label="题目" prop="question">
|
||||||
<span>{{ dialogForm.question }}</span>
|
<div>{{ dialogForm.question }}</div>
|
||||||
|
<img v-if="dialogForm.imageUrl" :src="dialogForm.imageUrl" width="100" alt="">
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="选项" prop="question">
|
<el-form-item label="选项" prop="question">
|
||||||
<span v-if="dialogForm.chooseA">a:{{ dialogForm.chooseA }}<span>
|
<span v-if="dialogForm.chooseA">A:{{ dialogForm.chooseA }}<span>
|
||||||
<span v-if="dialogForm.chooseB">b:{{ dialogForm.chooseB }} </span>
|
<span v-if="dialogForm.chooseB">B:{{ dialogForm.chooseB }} </span>
|
||||||
<span v-if="dialogForm.chooseC">c:{{ dialogForm.chooseC }} </span>
|
<span v-if="dialogForm.chooseC">C:{{ dialogForm.chooseC }} </span>
|
||||||
<span v-if="dialogForm.chooseD">d:{{ dialogForm.chooseD }}</span>
|
<span v-if="dialogForm.chooseD">D:{{ dialogForm.chooseD }}</span>
|
||||||
<span v-if="dialogForm.chooseE">e:{{ dialogForm.chooseE }}</span>
|
<span v-if="dialogForm.chooseE">E:{{ dialogForm.chooseE }}</span>
|
||||||
<span v-if="dialogForm.chooseF">f:{{ dialogForm.chooseF }}</span>
|
<span v-if="dialogForm.chooseF">F:{{ dialogForm.chooseF }}</span>
|
||||||
<span v-if="dialogForm.chooseG">g:{{ dialogForm.chooseG }}</span>
|
<span v-if="dialogForm.chooseG">G:{{ dialogForm.chooseG }}</span>
|
||||||
</span></span></el-form-item>
|
</span></span></el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
@@ -99,7 +100,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button plain @click="(visible=false)">取消</el-button>
|
<el-button plain @click="(visible = false)">取消</el-button>
|
||||||
<el-button v-jclick type="primary" :disabled="!canSubmit" @click="dialogFormSubmit()">确定</el-button>
|
<el-button v-jclick type="primary" :disabled="!canSubmit" @click="dialogFormSubmit()">确定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -109,7 +110,7 @@
|
|||||||
import { updateQuestion } from '@/api/question';
|
import { updateQuestion } from '@/api/question';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
canSubmit: true,
|
canSubmit: true,
|
||||||
@@ -130,7 +131,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init (info = undefined) {
|
init(info = undefined) {
|
||||||
// debugger
|
// debugger
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
@@ -141,7 +142,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resetDialogForm () {
|
resetDialogForm() {
|
||||||
this.dialogForm = {
|
this.dialogForm = {
|
||||||
questionId: undefined,
|
questionId: undefined,
|
||||||
isVip: 0,
|
isVip: 0,
|
||||||
@@ -153,16 +154,17 @@ export default {
|
|||||||
examKeys: undefined
|
examKeys: undefined
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
closeDialog () {
|
closeDialog() {
|
||||||
this.$emit('update:dialogVisible', false);
|
this.$emit('update:dialogVisible', false);
|
||||||
},
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dialogFormSubmit () {
|
dialogFormSubmit() {
|
||||||
this.$refs.dialogForm.validate((valid) => {
|
this.$refs.dialogForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
updateQuestion(this.dialogForm).then(response => {
|
updateQuestion(this.dialogForm).then(response => {
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
this.$modal.msgSuccess('修改成功');
|
this.$modal.msgSuccess('修改成功');
|
||||||
|
this.$emit('update');
|
||||||
// this.visible = true;
|
// this.visible = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container" style="text-align:center">
|
<div class="app-container" style="text-align:center">
|
||||||
<el-form size="small" :inline="true" label-width="68px">
|
<el-form size="small" :inline="true" label-width="68px" @submit.native.prevent>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-form-item label="车型">
|
||||||
|
<el-radio-group v-model="queryParams.carTypeId">
|
||||||
|
<el-radio :label="1001">小车</el-radio>
|
||||||
|
<el-radio :label="1002">摩托车</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="科目">
|
||||||
|
<el-radio-group v-model="queryParams.subject">
|
||||||
|
<el-radio :label="1">科一</el-radio>
|
||||||
|
<el-radio :label="4">科四</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-row>
|
||||||
<el-form-item label="题目">
|
<el-form-item label="题目">
|
||||||
<el-input v-model="queryParams.question" placeholder="请输入题目" clearable style="width:400px" @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.question" placeholder="请输入题目" clearable style="width:400px" @keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -15,13 +29,13 @@
|
|||||||
<el-table-column label="题目" align="center" prop="question" min-width="140" />
|
<el-table-column label="题目" align="center" prop="question" min-width="140" />
|
||||||
<el-table-column label="选项" align="center" min-width="140">
|
<el-table-column label="选项" align="center" min-width="140">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<p v-if="row.chooseA">a:{{ row.chooseA }}</p>
|
<p v-if="row.chooseA">A:{{ row.chooseA }}</p>
|
||||||
<p v-if="row.chooseB">b:{{ row.chooseB }}</p>
|
<p v-if="row.chooseB">B:{{ row.chooseB }}</p>
|
||||||
<p v-if="row.chooseC">c:{{ row.chooseC }}</p>
|
<p v-if="row.chooseC">C:{{ row.chooseC }}</p>
|
||||||
<p v-if="row.chooseD">d:{{ row.chooseD }}</p>
|
<p v-if="row.chooseD">D:{{ row.chooseD }}</p>
|
||||||
<p v-if="row.chooseE">e:{{ row.chooseE }}</p>
|
<p v-if="row.chooseE">E:{{ row.chooseE }}</p>
|
||||||
<p v-if="row.chooseF">f:{{ row.chooseF }}</p>
|
<p v-if="row.chooseF">F:{{ row.chooseF }}</p>
|
||||||
<p v-if="row.chooseG">g:{{ row.chooseG }}</p>
|
<p v-if="row.chooseG">G:{{ row.chooseG }}</p>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="答案" align="center" prop="trueAnswer" min-width="100" />
|
<el-table-column label="答案" align="center" prop="trueAnswer" min-width="100" />
|
||||||
@@ -31,7 +45,16 @@
|
|||||||
<p v-if="row.subject == 4">科四</p>
|
<p v-if="row.subject == 4">科四</p>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="是否新规" align="center" min-width="100">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
{{ row.isNew ? '是' : '' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="车型" align="center" min-width="100">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
{{ row.carTypeId == 1001 ? '小车' : '摩托车' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-download" @click="handleEdit(scope.row)">编辑</el-button>
|
<el-button size="mini" type="text" icon="el-icon-download" @click="handleEdit(scope.row)">编辑</el-button>
|
||||||
@@ -54,9 +77,9 @@ import QuestionAddForm from './components/QuestionAddForm.vue';
|
|||||||
export default {
|
export default {
|
||||||
name: 'Question',
|
name: 'Question',
|
||||||
components: {
|
components: {
|
||||||
QuestionForm,QuestionAddForm
|
QuestionForm, QuestionAddForm
|
||||||
},
|
},
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -65,18 +88,20 @@ export default {
|
|||||||
tableList: [],
|
tableList: [],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
question: ''
|
question: '',
|
||||||
|
carTypeId: 1001,
|
||||||
|
subject: 1
|
||||||
},
|
},
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialogAddVisible: false
|
dialogAddVisible: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created () {
|
created() {
|
||||||
// this.getList();
|
// this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询文件列表 */
|
/** 查询文件列表 */
|
||||||
getList () {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
searchQuestion(this.queryParams).then(response => {
|
searchQuestion(this.queryParams).then(response => {
|
||||||
this.tableList = response.data;
|
this.tableList = response.data;
|
||||||
@@ -86,21 +111,25 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery () {
|
handleQuery() {
|
||||||
this.getList();
|
if (this.queryParams.question) {
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
this.$modal.msgWarning('请输入题目');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery () {
|
resetQuery() {
|
||||||
this.queryParams.question = '';
|
this.queryParams.question = '';
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
handleEdit (item) {
|
handleEdit(item) {
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.dialogForm.init(item);
|
this.$refs.dialogForm.init(item);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleAdd (item) {
|
handleAdd(item) {
|
||||||
this.dialogAddVisible = true;
|
this.dialogAddVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.dialogAddForm.init(item);
|
this.$refs.dialogAddForm.init(item);
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
<el-input id="search" v-model="searchBody" class="search-body" placeholder="请输入..." @keyup.enter.native="submitSearch">
|
<el-input id="search" v-model="searchBody" class="search-body" placeholder="请输入..." @keyup.enter.native="submitSearch">
|
||||||
<el-button slot="append" icon="el-icon-search" @click="submitSearch" />
|
<el-button slot="append" icon="el-icon-search" @click="submitSearch" />
|
||||||
</el-input>
|
</el-input>
|
||||||
<div class="asider" :class="showSchool ? '':'hidden-school'">
|
<div class="asider" :class="showSchool ? '' : 'hidden-school'">
|
||||||
<el-card class="box-card" :body-style="{ flex: 1,'overflow-y': 'scroll', padding: 0 }">
|
<el-card class="box-card" :body-style="{ flex: 1, 'overflow-y': 'scroll', padding: 0 }">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<div class="map-card-title">驾校列表</div>
|
<div class="map-card-title">驾校列表</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="school in schoolList" :key="school.schoolId" style="margin:10px;" :class="currentdeptId == school.schoolId?'actived-school':''">
|
<div v-for="school in schoolList" :key="school.schoolId" style="margin:10px;" :class="currentdeptId == school.schoolId ? 'actived-school' : ''">
|
||||||
<el-card :body-style="{ padding: '10px' }">
|
<el-card :body-style="{ padding: '10px' }">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<div class="map-card-title">{{ school.schoolName }}</div>
|
<div class="map-card-title">{{ school.schoolName }}</div>
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
<el-radio v-model="placeForm.recommend" :label="false">否</el-radio>
|
<el-radio v-model="placeForm.recommend" :label="false">否</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="placeForm.remark" placeholder="输入备注" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" />
|
<el-input v-model="placeForm.remark" placeholder="输入备注" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="text-align:right;">
|
<el-form-item style="text-align:right;">
|
||||||
<el-button v-hasPermi="['sch:place:edit']" type="primary" @click="onSubmit">保存</el-button>
|
<el-button v-hasPermi="['sch:place:edit']" type="primary" @click="onSubmit">保存</el-button>
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card :class="placeListDialogShow ? '':'hidden-place-list'" class="place-list-dialog" :style="{ right: showSchool ? '300px' : '0', top : fullScreenPlaceList?'0px':'420px' }" :body-style="{ padding: '10px', height: 'calc(100% - 52px)' }">
|
<el-card :class="placeListDialogShow ? '' : 'hidden-place-list'" class="place-list-dialog" :style="{ right: showSchool ? '300px' : '0', top: fullScreenPlaceList ? '0px' : '420px' }" :body-style="{ padding: '10px', height: 'calc(100% - 52px)' }">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<div class="map-card-title">
|
<div class="map-card-title">
|
||||||
{{ placeListDialogTitle }}
|
{{ placeListDialogTitle }}
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<el-button icon="el-icon-full-screen" class="add-icon" @click="fullScreenPlaceList = !fullScreenPlaceList" />
|
<el-button icon="el-icon-full-screen" class="add-icon" @click="fullScreenPlaceList = !fullScreenPlaceList" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="关闭" placement="top" effect="dark">
|
<el-tooltip content="关闭" placement="top" effect="dark">
|
||||||
<el-button icon="el-icon-close" class="add-icon" @click="() => { placeListDialogShow = false;fullScreenPlaceList = false }" />
|
<el-button icon="el-icon-close" class="add-icon" @click="() => { placeListDialogShow = false; fullScreenPlaceList = false }" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<el-table :data="placeTableData" border stripe class="place-table-list" height="100%">
|
<el-table :data="placeTableData" border stripe class="place-table-list" height="100%">
|
||||||
@@ -139,8 +139,8 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<div v-if="isPointing || isRanging" class="map-tip" :style="{ transform: 'translate3D(' + (tipPostion.x + 15) +'px,' + (tipPostion.y - 10) + 'px, 0)' }">{{ mapHelpText }}</div>
|
<div v-if="isPointing || isRanging" class="map-tip" :style="{ transform: 'translate3D(' + (tipPostion.x + 15) + 'px,' + (tipPostion.y - 10) + 'px, 0)' }">{{ mapHelpText }}</div>
|
||||||
<i v-if="isPointing" class="el-icon-s-flag circle" :style="{ transform: 'translate3D(' + tipPostion.x +'px,' + tipPostion.y + 'px, 0)' }" />
|
<i v-if="isPointing" class="el-icon-s-flag circle" :style="{ transform: 'translate3D(' + tipPostion.x + 'px,' + tipPostion.y + 'px, 0)' }" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<!-- eslint-disable no-undef -->
|
<!-- eslint-disable no-undef -->
|
||||||
@@ -477,7 +477,7 @@ export default {
|
|||||||
if (item.placeId) {
|
if (item.placeId) {
|
||||||
return updatePlace(item);
|
return updatePlace(item);
|
||||||
} else {
|
} else {
|
||||||
return addPlace(item)
|
return addPlace(item);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkPlaceFormValidate() {
|
checkPlaceFormValidate() {
|
||||||
@@ -739,6 +739,7 @@ export default {
|
|||||||
.actived-school {
|
.actived-school {
|
||||||
border: 2px solid #409eff !important;
|
border: 2px solid #409eff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-radio__label {
|
::v-deep .el-radio__label {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,11 +19,12 @@ export default {
|
|||||||
placeSearch: null,
|
placeSearch: null,
|
||||||
currentPoint: undefined,
|
currentPoint: undefined,
|
||||||
marker: null,
|
marker: null,
|
||||||
searchBody: undefined
|
searchBody: undefined,
|
||||||
}
|
geocoder: null
|
||||||
|
};
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
console.log("mapdialog----beforeDestroy")
|
console.log('mapdialog----beforeDestroy');
|
||||||
this.marker = null;
|
this.marker = null;
|
||||||
this.placeSearch = null;
|
this.placeSearch = null;
|
||||||
|
|
||||||
@@ -31,23 +32,23 @@ export default {
|
|||||||
this.dialogMap = null;
|
this.dialogMap = null;
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
console.log("mounted")
|
console.log('mounted');
|
||||||
this.initData()
|
this.initData();
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
console.log("created")
|
console.log('created');
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initData(point = undefined) {
|
initData(point = undefined) {
|
||||||
console.log(point)
|
console.log(point);
|
||||||
this.visible = true
|
this.visible = true;
|
||||||
// this.searchBody = undefined
|
// this.searchBody = undefined
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.resetData();
|
this.resetData();
|
||||||
if (point) {
|
if (point) {
|
||||||
this.currentPoint = point;
|
this.currentPoint = point;
|
||||||
}
|
}
|
||||||
this.initMap()
|
this.initMap();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resetData() {
|
resetData() {
|
||||||
@@ -55,10 +56,10 @@ export default {
|
|||||||
this.dialogMap && this.marker && this.dialogMap.remove(this.marker);
|
this.dialogMap && this.marker && this.dialogMap.remove(this.marker);
|
||||||
this.marker = null;
|
this.marker = null;
|
||||||
// this.placeSearch = null;
|
// this.placeSearch = null;
|
||||||
this.searchBody = null
|
this.searchBody = null;
|
||||||
},
|
},
|
||||||
initMap() {
|
initMap() {
|
||||||
console.log("初始化地图")
|
console.log('初始化地图');
|
||||||
if (!this.dialogMap) {
|
if (!this.dialogMap) {
|
||||||
this.dialogMap = new AMap.Map('dialogMap', {
|
this.dialogMap = new AMap.Map('dialogMap', {
|
||||||
zoom: 12,
|
zoom: 12,
|
||||||
@@ -78,20 +79,19 @@ export default {
|
|||||||
});
|
});
|
||||||
this.dialogMap.addControl(new AMap.Scale());
|
this.dialogMap.addControl(new AMap.Scale());
|
||||||
const auto = new AMap.Autocomplete({
|
const auto = new AMap.Autocomplete({
|
||||||
input: 'search', // 前端搜索框
|
input: 'search' // 前端搜索框
|
||||||
})
|
});
|
||||||
this.placeSearch = new AMap.PlaceSearch({
|
this.placeSearch = new AMap.PlaceSearch({
|
||||||
map: this.dialogMap,
|
map: this.dialogMap,
|
||||||
pageSize: 10, // 单页显示结果条数
|
pageSize: 10, // 单页显示结果条数
|
||||||
pageIndex: 1, // 页码
|
pageIndex: 1, // 页码
|
||||||
autoFitView: true, // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
|
autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
|
||||||
})
|
});
|
||||||
AMap.event.addListener(auto, 'select', this.select)
|
AMap.event.addListener(auto, 'select', this.select);
|
||||||
this.geocoder = new AMap.Geocoder();
|
this.geocoder = new AMap.Geocoder();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.initMapCenter();
|
this.initMapCenter();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 初始化编辑地图的中心点
|
// 初始化编辑地图的中心点
|
||||||
initMapCenter() {
|
initMapCenter() {
|
||||||
@@ -127,7 +127,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//定位地址
|
// 定位地址
|
||||||
regeoCode() {
|
regeoCode() {
|
||||||
this.geocoder.getAddress(
|
this.geocoder.getAddress(
|
||||||
[this.currentPoint.lng, this.currentPoint.lat],
|
[this.currentPoint.lng, this.currentPoint.lat],
|
||||||
@@ -141,11 +141,10 @@ export default {
|
|||||||
},
|
},
|
||||||
handleMapSave() {
|
handleMapSave() {
|
||||||
if (this.currentPoint.lat && this.currentPoint.lng) {
|
if (this.currentPoint.lat && this.currentPoint.lng) {
|
||||||
//通知父组件
|
// 通知父组件
|
||||||
this.$emit("handleMapDialogPoint", this.currentPoint);
|
this.$emit('handleMapDialogPoint', this.currentPoint);
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
this.$emit('update:mapDialogVisible', false);
|
this.$emit('update:mapDialogVisible', false);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('请在地图上选择位置后保存!');
|
this.$message.error('请在地图上选择位置后保存!');
|
||||||
}
|
}
|
||||||
@@ -153,8 +152,8 @@ export default {
|
|||||||
closeDialog() {
|
closeDialog() {
|
||||||
this.$emit('update:mapDialogVisible', false);
|
this.$emit('update:mapDialogVisible', false);
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@@ -162,10 +161,11 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 400px;
|
height: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-body {
|
.search-body {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 90px;
|
top: 90px;
|
||||||
left: 25px;
|
left: 25px;
|
||||||
width: 350px;
|
width: 350px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<!-- eslint-disable no-undef -->
|
<!-- eslint-disable no-undef -->
|
||||||
<script>
|
<script>
|
||||||
import { getFollowRecord } from '@/api/zs/clue';
|
import { getFollowRecord } from '@/api/zs/clue';
|
||||||
import { getClassTypes } from '@/api/tool/common';
|
import { getClassTypes } from '@/api/tool/common';
|
||||||
import { inputtips, regeo, walking } from '@/api/tool/map';
|
import { inputtips, regeo, walking } from '@/api/tool/map';
|
||||||
@@ -452,7 +452,8 @@ export default {
|
|||||||
// );
|
// );
|
||||||
if (this.currentPoint.lng && this.currentPoint.lat) {
|
if (this.currentPoint.lng && this.currentPoint.lat) {
|
||||||
regeo({
|
regeo({
|
||||||
key: 'f2f35d6adc4a16bb879d303cead56237',
|
// key: 'f2f35d6adc4a16bb879d303cead56237',
|
||||||
|
key: '0e62be0896c6b8d27d453445f0fb8bc4',
|
||||||
location: this.currentPoint.lng + ',' + this.currentPoint.lat
|
location: this.currentPoint.lng + ',' + this.currentPoint.lat
|
||||||
}).then((resp) => {
|
}).then((resp) => {
|
||||||
if (resp.status === '1') {
|
if (resp.status === '1') {
|
||||||
@@ -512,7 +513,8 @@ export default {
|
|||||||
async getWalkingDistance(start, end) {
|
async getWalkingDistance(start, end) {
|
||||||
if (start && end) {
|
if (start && end) {
|
||||||
const resp = await walking({
|
const resp = await walking({
|
||||||
key: 'f2f35d6adc4a16bb879d303cead56237',
|
// key: 'f2f35d6adc4a16bb879d303cead56237',
|
||||||
|
key: '0e62be0896c6b8d27d453445f0fb8bc4',
|
||||||
origin: start[0] + ',' + start[1],
|
origin: start[0] + ',' + start[1],
|
||||||
destination: end[0] + ',' + end[1]
|
destination: end[0] + ',' + end[1]
|
||||||
});
|
});
|
||||||
@@ -554,7 +556,8 @@ export default {
|
|||||||
async querySearch(queryString, cb) {
|
async querySearch(queryString, cb) {
|
||||||
if (queryString) {
|
if (queryString) {
|
||||||
const resp = await inputtips({
|
const resp = await inputtips({
|
||||||
key: 'f2f35d6adc4a16bb879d303cead56237',
|
// key: 'f2f35d6adc4a16bb879d303cead56237',
|
||||||
|
key: '0e62be0896c6b8d27d453445f0fb8bc4',
|
||||||
keywords: queryString
|
keywords: queryString
|
||||||
});
|
});
|
||||||
cb(resp.tips);
|
cb(resp.tips);
|
||||||
@@ -577,9 +580,9 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.amap-cavans {
|
.amap-cavans {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 600px;
|
height: 600px;
|
||||||
@@ -589,6 +592,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 400px;
|
height: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address {
|
.address {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 30px;
|
left: 30px;
|
||||||
@@ -596,6 +600,7 @@ export default {
|
|||||||
width: 400px;
|
width: 400px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-card {
|
.box-card {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
@@ -613,14 +618,17 @@ export default {
|
|||||||
.el-divider--horizontal {
|
.el-divider--horizontal {
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.addr {
|
.addr {
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -630,6 +638,5 @@ li {
|
|||||||
.highlighted .addr {
|
.highlighted .addr {
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
}
|
}</style>
|
||||||
</style>
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,9 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="160">
|
<el-table-column label="操作" fixed="right" align="center" width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="{row}">
|
||||||
<el-button v-if="scope.row.checkState == 0||scope.row.checkState == 3" v-hasPermi="['zs:sign:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleAddAndUpdate(scope.row)">修改</el-button>
|
<el-button v-show="row.checkState == 0 || row.checkState == 3" v-hasPermi="['zs:sign:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleAddAndUpdate(scope.row)">修改</el-button>
|
||||||
<el-button v-if="scope.row.checkState == 1 " v-hasPermi="['zs:sign:check']" size="mini" type="text" @click="handleCheck(scope.row)">审核</el-button>
|
<el-button v-if="row.checkState == 1" v-hasPermi="['zs:sign:check']" size="mini" type="text" @click="handleCheck(scope.row)">审核</el-button>
|
||||||
<el-button v-hasPermi="['zs:sign:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
|
<el-button v-hasPermi="['zs:sign:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -67,7 +67,7 @@ export default {
|
|||||||
SignFormDialog,
|
SignFormDialog,
|
||||||
UploadDialog
|
UploadDialog
|
||||||
},
|
},
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
admin: localStorage.getItem('admin'),
|
admin: localStorage.getItem('admin'),
|
||||||
userId: localStorage.getItem('userId'),
|
userId: localStorage.getItem('userId'),
|
||||||
@@ -108,7 +108,7 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created () {
|
created() {
|
||||||
const str = localStorage.getItem(`${this.$route.name}-table-columns`);
|
const str = localStorage.getItem(`${this.$route.name}-table-columns`);
|
||||||
this.columns = str ? JSON.parse(str) : defaultColumns;
|
this.columns = str ? JSON.parse(str) : defaultColumns;
|
||||||
// 回款状态
|
// 回款状态
|
||||||
@@ -129,11 +129,11 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 搜索
|
// 搜索
|
||||||
handleQuery () {
|
handleQuery() {
|
||||||
this.searchForm.pageNum = 1;
|
this.searchForm.pageNum = 1;
|
||||||
this._getTableList();
|
this._getTableList();
|
||||||
},
|
},
|
||||||
_getTableList () {
|
_getTableList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
const tempForm = this.$refs.SearchForm?.searchForm || {};
|
const tempForm = this.$refs.SearchForm?.searchForm || {};
|
||||||
const params = { ...this.searchForm, ...tempForm };
|
const params = { ...this.searchForm, ...tempForm };
|
||||||
@@ -145,14 +145,14 @@ export default {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
getSchools () {
|
getSchools() {
|
||||||
empApi.pageList().then((resp) => {
|
empApi.pageList().then((resp) => {
|
||||||
this.options.schoolOptions = resp.data;
|
this.options.schoolOptions = resp.data;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport () {
|
handleExport() {
|
||||||
this.$confirm('是否确认导出所有成交记录项?', '警告', {
|
this.$confirm('是否确认导出所有成交记录项?', '警告', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
@@ -165,19 +165,19 @@ export default {
|
|||||||
.catch(function () { });
|
.catch(function () { });
|
||||||
},
|
},
|
||||||
/** 导入按钮操作 */
|
/** 导入按钮操作 */
|
||||||
handleImport () {
|
handleImport() {
|
||||||
this.upload.title = '成交记录导入';
|
this.upload.title = '成交记录导入';
|
||||||
this.upload.open = true;
|
this.upload.open = true;
|
||||||
},
|
},
|
||||||
/** 查询员工 */
|
/** 查询员工 */
|
||||||
getEmployee () {
|
getEmployee() {
|
||||||
empApi.getEmployee().then((resp) => {
|
empApi.getEmployee().then((resp) => {
|
||||||
if (resp.code == 200) {
|
if (resp.code == 200) {
|
||||||
this.options.userOptions = resp.data;
|
this.options.userOptions = resp.data;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeSort (val) {
|
changeSort(val) {
|
||||||
if (val.order) {
|
if (val.order) {
|
||||||
this.searchForm.orderName = val.prop;
|
this.searchForm.orderName = val.prop;
|
||||||
if (val.order == 'ascending') {
|
if (val.order == 'ascending') {
|
||||||
@@ -191,13 +191,13 @@ export default {
|
|||||||
}
|
}
|
||||||
this.getPageList();
|
this.getPageList();
|
||||||
},
|
},
|
||||||
handleAddAndUpdate (item) {
|
handleAddAndUpdate(item) {
|
||||||
this.dialog.signVisible = true;
|
this.dialog.signVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.signDialogForm.init(item);
|
this.$refs.signDialogForm.init(item);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleDelete (item) {
|
handleDelete(item) {
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
'是否确认删除该条登记(“' + item.name + '/' + item.phone + '”)?',
|
'是否确认删除该条登记(“' + item.name + '/' + item.phone + '”)?',
|
||||||
'警告',
|
'警告',
|
||||||
@@ -220,7 +220,7 @@ export default {
|
|||||||
.catch(function () { });
|
.catch(function () { });
|
||||||
},
|
},
|
||||||
|
|
||||||
handleCheck (item) {
|
handleCheck(item) {
|
||||||
this.dialog.checkVisible = true;
|
this.dialog.checkVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.checkDialogForm.init(item);
|
this.$refs.checkDialogForm.init(item);
|
||||||
@@ -230,7 +230,7 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss">
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
.el-table .cell {
|
.el-table .cell {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ module.exports = {
|
|||||||
open: true,
|
open: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
[process.env.VUE_APP_BASE_API + '/driver-api']: {
|
[process.env.VUE_APP_BASE_API + '/driver-api']: {
|
||||||
// target: `https://xueche.ahduima.com/duima/`,
|
target: `https://jwl.ahduima.com/driver-api/`,
|
||||||
target: `http://localhost:8888/driver-api/`,
|
// target: `http://localhost:8888/driver-api/`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
['^' + process.env.VUE_APP_BASE_API + '/driver-api']: ''
|
['^' + process.env.VUE_APP_BASE_API + '/driver-api']: ''
|
||||||
@@ -50,7 +50,6 @@ module.exports = {
|
|||||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
disableHostCheck: true
|
disableHostCheck: true
|
||||||
},
|
},
|
||||||
@@ -106,10 +105,12 @@ module.exports = {
|
|||||||
config
|
config
|
||||||
.plugin('ScriptExtHtmlWebpackPlugin')
|
.plugin('ScriptExtHtmlWebpackPlugin')
|
||||||
.after('html')
|
.after('html')
|
||||||
.use('script-ext-html-webpack-plugin', [{
|
.use('script-ext-html-webpack-plugin', [
|
||||||
// `runtime` must same as runtimeChunk name. default is `runtime`
|
{
|
||||||
inline: /runtime\..*\.js$/
|
// `runtime` must same as runtimeChunk name. default is `runtime`
|
||||||
}])
|
inline: /runtime\..*\.js$/
|
||||||
|
}
|
||||||
|
])
|
||||||
.end();
|
.end();
|
||||||
config.optimization.splitChunks({
|
config.optimization.splitChunks({
|
||||||
chunks: 'all',
|
chunks: 'all',
|
||||||
|
|||||||
Reference in New Issue
Block a user