6cd400618f18f69bf354099274c5a7fe2646d173..260db43ff377fe953cb719912f91da9192b66734
2024-12-24 陶杰
1.花材统计报表:统计字段放在表格右上角
260db4 对比 | 目录
2024-12-22 陶杰
1.行政区划对接-高德 2.行政区划对接-腾讯
6159a5 对比 | 目录
已修改1个文件
已添加2个文件
327 ■■■■ 文件已修改
pages/district/gaode/index.vue 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/district/tengxun/index.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/statistics-analysis/flower-material/index.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/district/gaode/index.vue
对比新文件
@@ -0,0 +1,114 @@
<template>
  <div class="custom-crud-page">
    <el-bus-crud ref="crud" v-bind="crudConfig"></el-bus-crud>
  </div>
</template>
<script>
export default {
  data() {
    return {
      crudConfig: {
        url: 'flower/v2/district-gaode/list',
        newUrl: 'flower/v2/district-gaode',
        viewUrl: 'flower/v2/district-gaode',
        viewOnPath: true,
        editUrl: 'flower/v2/district-gaode',
        editMethodType: 'put',
        editOnPath: true,
        deleteUrl: 'flower/v2/district-gaode',
        deleteMethodType: 'delete',
        deleteOnPath: true,
        hasPagination: false,
        saveQuery: false,
        isTree: true,
        hasView: false,
        hasOperation:true,
        hasNew:true,
        deleteMessage: () => '此操作将会删除所有子区划, 是否继续?',
        beforeOpen(row, isNew) {
          if (isNew && row.name) {
            row.parentName = row.name
          }
          if (!isNew) {
            row.parentName = ''
          }
        },
        extraParentKeys: ['parentName'],
        tableAttrs: {
          rowKey: 'id',
          lazy:true,
          load: (row, resolve) => {
            alert(1)
          },
        },
        columns: [
          { label: '名称', prop: 'name' },
          {label: '区域编码',prop: 'adcode',},
          {label: '行政区划级别',prop: 'level',},
          {label: '城市编码',prop: 'citycode',},
          {label: '区域中心点',prop: 'center',},
        ],
        form: [
          {
            label: '父级节点:',
            id: 'parentName',
            type: 'input',
            readonly: true,
            hidden: (row) => !row.parentName,
          },
          {
            label: '名称:',
            id: 'name',
            type: 'input',
            el: { placeholder: '请输入名称:' },
            rules: { required: true, message: '请输入名称:', trigger: 'blur' },
          },
          {
            label: '区域编码:',
            id: 'adcode',
            type: 'input',
            el: {
              min: 0,
              precision: 0,
              controlsPosition: 'right',
              placeholder: '请输入区域编码:',
            },
            rules: { required: true, message: '请输入区域编码', trigger: 'blur' },
          },
          {
            label: '城市编码',
            id: 'citycode',
            type: 'input',
            el: {
              min: 0,
              precision: 0,
              controlsPosition: 'right',
              placeholder: '请输入城市编码:',
            },
          },
          {
            label: '区域中心点',
            id: 'center',
            type: 'input',
            el: { placeholder: '请输入区域中心点' },
          },
          {
            label: '行政区划级别',
            id: 'level',
            type: 'input',
            el: { placeholder: '请输入行政区划级别' },
          },
        ],
      },
    }
  },
  head() {
    return {
      title: '高德行政区划管理',
    }
  },
}
</script>
pages/district/tengxun/index.vue
对比新文件
@@ -0,0 +1,93 @@
<template>
  <div class="custom-crud-page">
    <el-bus-crud ref="crud" v-bind="crudConfig"></el-bus-crud>
  </div>
</template>
<script>
export default {
  data() {
    return {
      crudConfig: {
        url: 'flower/v2/district-tengxun/list',
        newUrl: 'flower/v2/district-tengxun',
        viewUrl: 'flower/v2/district-tengxun',
        viewOnPath: true,
        editUrl: 'flower/v2/district-tengxun',
        editMethodType: 'put',
        editOnPath: true,
        deleteUrl: 'flower/v2/district-tengxun',
        deleteMethodType: 'delete',
        deleteOnPath: true,
        hasPagination: false,
        saveQuery: false,
        isTree: true,
        hasView: false,
        hasOperation:true,
        hasNew:true,
        deleteMessage: () => '此操作将会删除所有子行政区划, 是否继续?',
        beforeOpen(row, isNew) {
          if (isNew && row.name) {
            row.parentName = row.name
          }
          if (!isNew) {
            row.parentName = ''
          }
        },
        extraParentKeys: ['parentName'],
        tableAttrs: {
          rowKey: 'id',
        },
        columns: [
          { label: '名称', prop: 'name' },
          {label: '全称',prop: 'fullname',},
          {label: '编码',prop: 'code',},
          {label: '层级',prop: 'level',},
        ],
        form: [
          {
            label: '父级节点:',
            id: 'parentName',
            type: 'input',
            readonly: true,
            hidden: (row) => !row.parentName,
          },
          {
            label: '名称:',
            id: 'name',
            type: 'input',
            el: { placeholder: '请输入名称:' },
            rules: { required: true, message: '请输入名称:', trigger: 'blur' },
          },
          {
            label: '全称',
            id: 'fullname',
            type: 'input',
            el: { placeholder: '请输入全称:' },
            rules: { required: true, message: '请输入全称', trigger: 'blur' },
          },
          {
            label: '编码',
            id: 'code',
            type: 'input',
            el: { placeholder: '请输入编码' },
            rules: { required: true, message: '请输入编码', trigger: 'blur' },
          },
          {
            label: '层级',
            id: 'level',
            type: 'input-number',
            el: { placeholder: '请输入层级' },
            // rules: {required: true,message: '请输入层级',trigger: 'blur',},
          },
        ],
      },
    }
  },
  head() {
    return {
      title: '腾讯行政区划管理',
    }
  },
}
</script>
pages/statistics-analysis/flower-material/index.vue
@@ -29,20 +29,45 @@
          </el-card>
        </el-col>
      </el-row>
    </div>
    <el-bus-crud ref="crud" v-bind="tableConfig" />
    <el-bus-crud ref="crud" v-bind="tableConfig"
      :extra-query="extraQuery"
    >
      <template #header>
        <div style="float: right;">
          <el-select v-model="extraQuery.orderField" placeholder="排序字段" @change="changeQuery" size="mini" clearable >
            <el-option v-for="item in dict.orderField" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
          <el-select v-model="extraQuery.orderType" placeholder="排序方式" @change="changeQuery"  size="mini" clearable>
            <el-option v-for="item in dict.orderType" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </div>
      </template>
    </el-bus-crud>
  </div>
</template>
<script>
import dayjs from 'dayjs'
import 'dayjs/locale/zh-cn'
import { getSupplierListWithIdConfig,getStationListConfig } from '@/utils/form-item-config'
import { getSupplierListWithIdConfig, getStationListConfig } from '@/utils/form-item-config'
dayjs.locale('zh-cn')
export default {
  data() {
    return {
      extraQuery:{orderField:'', orderType: ''},
      dict:{
        orderFieldVal:'',
        orderTypeVal:'',
        orderField:[],
        orderType:[],
      },
      statistic: {},
      statisticLoading: false,
      tableConfig: {
@@ -59,8 +84,7 @@
          const searchFormRef = this.$refs.crud.$refs.searchForm
          const searchFormValue = searchFormRef.getFormValue()
          const url = this.$router.resolve(
            `/report/finance/${row.orderDate}?partnerId=${
              searchFormValue?.partnerId || ''
            `/report/finance/${row.orderDate}?partnerId=${searchFormValue?.partnerId || ''
            }`
          ).href
          window.open(url, '_blank')
@@ -84,18 +108,19 @@
        },
        columns: [
          { label: '供应商ID', prop: 'supplierId', minWidth: '120px' },
          { label: '供应商名称',prop: 'supplierName', minWidth: '120px',
          // fixed: 'left',
          {
            label: '供应商名称', prop: 'supplierName', minWidth: '120px',
            // fixed: 'left',
          },
          { label: '注册手机号', prop: 'loginName', minWidth: '120px' },
          { label: '联系方式', prop: 'contactTel', minWidth: '120px' },
          { label: '所属集货站', prop: 'stationName', minWidth: '120px' },
          // { label: '品类', prop: 'categoryName', minWidth: '120px' },
          { label: '品类', prop: 'parentCategoryName', minWidth: '120px' },
          { label: '商品名称', prop: 'flowerName', minWidth: 150, },
          { label: '等级', prop: 'flowerLevelStr', minWidth: 80 },
          { label: '商品规格', prop: 'flowerUnit',  minWidth: 80 },
          { label: '商品规格', prop: 'flowerUnit', minWidth: 80 },
          { label: '价格', prop: 'flowerPrice', minWidth: 120 },
          { label: '库存', prop: 'flowerStock', minWidth: 120 },
          { label: '状态', prop: 'flowerStatusStr', minWidth: 120 },
@@ -108,7 +133,7 @@
          {
            type: 'row',
            items: [
            {
              {
                label: '商品状态:',
                id: 'flowerStatus',
                type: 'bus-radio',
@@ -125,7 +150,7 @@
              { label: '供应商名称', id: 'supplierName', type: 'input' },
              { label: '供应商ID', id: 'supplierId', type: 'input' },
              { label: '注册手机号', id: 'loginName', type: 'input' },
              { label: '联系方式', id: 'contactTel',type: 'input'},
              { label: '联系方式', id: 'contactTel', type: 'input' },
              {
                ...getStationListConfig(),
                label: '所属集货站',
@@ -160,39 +185,60 @@
                },
              },
              {
                label: '排序字段',
                id: 'orderField',
                type: 'bus-select-dict',
                el: {
                  code: 'FLOWER_MATERIAL_FIELD',
                  // multiple: true,
                  clearable: true,
                  filterable: true,
                  style: 'width:100%',
                },
              // {
              //   label: '排序字段',
              //   id: 'orderField',
              //   type: 'bus-select-dict',
              //   el: {
              //     code: 'FLOWER_MATERIAL_FIELD',
              //     // multiple: true,
              //     clearable: true,
              //     filterable: true,
              //     style: 'width:100%',
              //   },
              },
              {
                label: '排序方式',
                id: 'orderType',
                type: 'bus-select-dict',
                el: {
                  code: 'ORDER_BY',
                  // multiple: true,
                  clearable: true,
                  filterable: true,
                  style: 'width:100%',
                },
              // },
              // {
              //   label: '排序方式',
              //   id: 'orderType',
              //   type: 'bus-select-dict',
              //   el: {
              //     code: 'ORDER_BY',
              //     // multiple: true,
              //     clearable: true,
              //     filterable: true,
              //     style: 'width:100%',
              //   },
              },
              // },
            ],
          },
        ],
      },
    }
  },
  async mounted() {
    this.dict.orderField=await this.getDictByType('FLOWER_MATERIAL_FIELD');
    this.dict.orderType=await this.getDictByType('ORDER_BY');
  },
  methods: {
    changeQuery(){
      this.$refs.crud.getList()
    },
    async getDictByType(typename) {
      const resp = await this.$elBusHttp.request('flower/api/code/value', {
        params: {type:typename},
      });
      if (resp.code === 0) {
        return resp.data
      }
    },
  },
  head() {
    return {
      title: '财务报表',
@@ -211,10 +257,10 @@
  font-weight: bold;
  margin-bottom: 6px;
}
.statistic-num {
  text-align: center;
  font-size: 16px;
  color: $primary-color;
}
</style>