jtoms 4 gadi atpakaļ
vecāks
revīzija
61d8cbd5aa

+ 8 - 0
src/api/base/data_info.js

@@ -47,3 +47,11 @@ export function findDataTypeExtendColumn(dataTypeId) {
     params: { dataTypeId }
   })
 }
+
+export function findDataBaseInfoExtends(baseInfoId, dataTypeId) {
+  return request({
+    url: '/bz/data/info/findDataBaseInfoExtends',
+    method: 'post',
+    params: { baseInfoId, dataTypeId }
+  })
+}

+ 42 - 29
src/views/base/baseInfo/DialogForm.vue

@@ -11,38 +11,38 @@
             <el-col :span="12">
               <el-form-item label="场所类型">
                 <el-select v-model="form.dataTypeId" placeholder="请选择场所类型" clearable @change="changeDataType">
-                  <el-option v-for="item in listDataType" :key="item.id" :label="item.name" :value="item.id" />
+                  <el-option v-for="item in listDataType" :key="item.id" :label="item.name" :value="item.id"/>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="场所名称">
-                <el-input v-model="form.name" />
+                <el-input v-model="form.name"/>
               </el-form-item>
             </el-col>
           </el-row>
           <el-form-item label="地址">
-            <el-input v-model="form.address" />
+            <el-input v-model="form.address"/>
           </el-form-item>
           <el-row :gutter="24">
             <el-col :span="12">
               <el-form-item label="联系人">
-                <el-input v-model="form.contacts" />
+                <el-input v-model="form.contacts"/>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="联系电话">
-                <el-input v-model="form.contactNumber" />
+                <el-input v-model="form.contactNumber"/>
               </el-form-item>
             </el-col>
           </el-row>
         </el-tab-pane>
         <el-tab-pane label="扩展信息" name="extend">
           <el-form-item v-for="item in listExtendColumn" :key="item.id" :label="item.fieldLabel">
-            <extend-column :extend-column-info="item" :form="form" />
+            <extend-column :extend-column-info="item" :form="form"/>
           </el-form-item>
           <el-form-item label="简介">
-            <el-input v-model="form.brief" type="textarea" rows="10" />
+            <el-input v-model="form.brief" type="textarea" rows="10"/>
           </el-form-item>
         </el-tab-pane>
         <el-tab-pane label="图片" name="image">
@@ -57,12 +57,12 @@
               :on-remove="handleRemove"
               :auto-upload="true"
             >
-              <i slot="default" class="el-icon-plus" />
+              <i slot="default" class="el-icon-plus"/>
             </el-upload>
           </el-form-item>
         </el-tab-pane>
         <el-tab-pane label="地图标记" name="map">
-          <tencent-map v-if="activeTabPaneName==='map'" id="amapcontainer" :position="[lat,lng]" @click="mapClick" />
+          <tencent-map v-if="activeTabPaneName==='map'" id="amapcontainer" :position="[lat,lng]" @click="mapClick"/>
         </el-tab-pane>
       </el-tabs>
     </el-form>
@@ -76,7 +76,7 @@
 <script>
 
 import { uploaderHandle } from '@/api/upload'
-import { save, updateById } from '@/api/base/data_info'
+import { findDataBaseInfoExtends, save, updateById } from '@/api/base/data_info'
 import TencentMap from '@/components/TencentMap'
 import { findAllDataType, findDataTypeExtendColumn } from '@/api/base/data_info'
 import ExtendColumn from '@/components/ExtendColumn'
@@ -90,9 +90,7 @@ export default {
       isLoading: false,
       listDataType: [],
       listExtendColumn: [],
-      form: {
-        checkbox: []
-      },
+      form: {},
       fileList: [],
       lng: null,
       lat: null
@@ -110,34 +108,49 @@ export default {
       this.fileList = fileList
     },
     changeDataType(dataTypeId) {
-      console.log(dataTypeId)
       findDataTypeExtendColumn(dataTypeId).then(listExtendColumn => {
         listExtendColumn.forEach(v => {
           v.fieldType = v.fieldType.name
+          v.extendColumnId = v.id
         })
         this.listExtendColumn = listExtendColumn
       })
     },
     open(data) {
+      this.activeTabPaneName = 'base'
       this.visible = true
       this.isLoading = false
-      this.fileList = []
+      this.listDataType = []
+      this.listExtendColumn = []
       this.form = {}
+      this.fileList = []
+      this.lng = null
+      this.lat = null
+
       findAllDataType().then(listDataType => {
         this.listDataType = listDataType
       })
-      // if (data && data.id) {
-      //   if (data.litpics) {
-      //     data.litpics.forEach(o => {
-      //       this.fileList.push({ url: o })
-      //     })
-      //   }
-      //
-      //   this.lng = data?.lng
-      //   this.lat = data?.lat
-      //
-      //   this.form = Object.assign({}, data)
-      // }
+
+      if (data && data.id) {
+        if (data.litpics) {
+          data.litpics.forEach(o => {
+            this.fileList.push({ url: o })
+          })
+        }
+
+        this.lng = data?.lng
+        this.lat = data?.lat
+
+        this.form = Object.assign({}, data)
+
+        findDataBaseInfoExtends(data.id, data.dataTypeId).then(listExtendColumn => {
+          listExtendColumn.forEach(v => {
+            v.fieldType = v.fieldType.name
+            v.extendColumnId = v.id
+          })
+          this.listExtendColumn = listExtendColumn
+        })
+      }
     },
     mapClick(e) {
       this.lng = e.latLng.lng
@@ -153,14 +166,14 @@ export default {
       console.log(param.listExtends)
       if (this.form.id) {
         updateById(this.form.id, param).then(() => {
-          // this.visible = false
+          this.visible = false
           this.$emit('ok')
         }).finally(() => {
           this.isLoading = false
         })
       } else {
         save(param).then(res => {
-          // this.visible = false
+          this.visible = false
           this.$emit('ok')
         }).finally(() => {
           this.isLoading = false

+ 12 - 14
src/views/base/baseInfo/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-form :model="queryForm" inline size="small">
       <el-form-item label="关键词">
-        <el-input v-model="queryForm.keyword" placeholder="关键词" />
+        <el-input v-model="queryForm.keyword" placeholder="关键词"/>
       </el-form-item>
     </el-form>
     <el-row class="action-bar-container" type="flex" justify="end">
@@ -24,27 +24,25 @@
       highlight-current-row
       @selection-change="selectionChange"
     >
-      <el-table-column type="selection" width="55" />
-      <el-table-column label="ID" prop="id" width="150" />
-      <el-table-column label="名称" prop="baseDataInfo.name" />
-      <el-table-column label="开放时间" prop="businessHours" />
+      <el-table-column type="selection" width="55"/>
+      <el-table-column label="ID" prop="id" width="150"/>
+      <el-table-column label="名称" prop="name"/>
       <el-table-column label="缩略图" width="80">
         <template slot-scope="scope">
-          {{ scope.row.baseDataInfo.litpics.length }}张
+          {{ scope.row.litpics.length }}张
         </template>
       </el-table-column>
-      <!--      <el-table-column label="简介" prop="baseDataInfo.brief"/>-->
-      <el-table-column label="地址" prop="baseDataInfo.address" />
-      <el-table-column label="联系人" prop="baseDataInfo.contacts" width="150" />
-      <el-table-column label="联系电话" prop="baseDataInfo.contactNumber" width="150" />
+      <el-table-column label="地址" prop="address"/>
+      <el-table-column label="联系人" prop="contacts" width="150"/>
+      <el-table-column label="联系电话" prop="contactNumber" width="150"/>
       <el-table-column label="位置信息" width="200">
         <template slot-scope="scope">
-          [ {{ scope.row.baseDataInfo.lng }}, {{ scope.row.baseDataInfo.lat }} ]
+          [ {{ scope.row.lng }}, {{ scope.row.lat }} ]
         </template>
       </el-table-column>
       <el-table-column label="操作" width="70" fixed="right">
         <template slot-scope="scope">
-          <el-button v-permission="['app.key.edit']" type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-button>
+          <el-button v-permission="['bz.data.info.edit']" type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -56,12 +54,12 @@
       :page-size="pageData.pageSize"
       @current-change="paginationChange"
     />
-    <dialog-form ref="dialogForm" @ok="fetchData" />
+    <dialog-form ref="dialogForm" @ok="fetchData"/>
   </div>
 </template>
 
 <script>
-import { deleteByIds, findPage } from '@/api/bz/base/venue'
+import { deleteByIds, findPage } from '@/api/base/data_info'
 import { dateTimeFormatter } from '@/utils/formater'
 import DialogForm from './DialogForm'