From bd25d9a8a058e8c618ee4188ed5f15a898c0f7e8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 27 一月 2024 11:43:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 platform/src/views/business/baseData.vue |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/platform/src/views/business/baseData.vue b/platform/src/views/business/baseData.vue
new file mode 100644
index 0000000..9d9d3e8
--- /dev/null
+++ b/platform/src/views/business/baseData.vue
@@ -0,0 +1,152 @@
+<template>
+  <TableLayout :permissions="['business:basedata:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="80px" inline>
+      <el-form-item label="鍟嗗搧鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="浜笢sku" prop="sku">
+        <el-input v-model="searchForm.sku" placeholder="璇疯緭鍏ヤ含涓渟ku" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鍝佺墝" prop="brand">
+        <el-input v-model="searchForm.brand" placeholder="璇疯緭鍏ュ搧鐗�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="绫诲埆" prop="category">
+        <el-input v-model="searchForm.category" placeholder="璇疯緭鍏ョ被鍒�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="status">
+        <el-select v-model="searchForm.status" clearable placeholder="璇烽�夋嫨">
+          <el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id">
+          </el-option>
+        </el-select>
+        <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:basedata:create', 'business:basedata:delete']">
+        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete"
+            v-permissions="['business:basedata:delete']">鎵归噺鍒犻櫎</el-button></li>
+      </ul>
+      <el-table v-loading="isWorking.search" :data="tableData.list" border stripe @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="id" label="涓婚敭" min-width="100px"></el-table-column>
+        <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column prop="name" label="鍟嗗搧涓诲浘" min-width="80px">
+          <template slot-scope="{row}">
+              <div style="display: flex; align-items: center;">
+                <div style="width: 70px; height: 70px; flex-shrink: 0;">
+                  <el-image v-if="row.imgurl" style="width: 70px; height: 70px" :src="row.imgurl"
+                    :preview-src-list="[row.imgurl]" fit="cover"></el-image>
+                </div>
+              </div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="name" label="鍟嗗搧鍚嶇О" min-width="150px">
+          <template slot-scope="{row}">
+            <a :href="`${row.url}`" target="_blank">{{ row.name }}</a>
+          </template>
+        </el-table-column>
+        <!--        <el-table-column prop="title" label="鏍囬" min-width="100px"></el-table-column>-->
+        <el-table-column prop="sku" label="浜笢sku" min-width="100px"></el-table-column>
+        <el-table-column prop="brand" label="鍝佺墝" min-width="120px"></el-table-column>
+        <el-table-column prop="category" label="绫诲埆" min-width="100px"></el-table-column>
+        <el-table-column prop="price" label="浠锋牸锛堝厓锛�" min-width="100px"></el-table-column>
+        <el-table-column prop="saleprice" label="閲囪喘浠锋牸锛堝厓锛�" min-width="100px"></el-table-column>
+        <el-table-column prop="haveStock" label="搴撳瓨鎯呭喌" min-width="100px"></el-table-column>
+        <el-table-column prop="bgImgs" label="澶у浘" min-width="80px">
+          <template slot-scope="{row}">
+            <el-button type="text" @click="showImage(row.bgImgs)">鏌ョ湅澶у浘</el-button>
+            <!-- <div style="display: flex; align-items: center;">
+              <div style="width: 70px; height: 70px; flex-shrink: 0;">
+                <el-image v-if="row.bgImgs" style="width: 70px; height: 70px" :src="row.bgImgs"
+                  :preview-src-list="row.bgImgs" fit="cover"></el-image>
+              </div>
+            </div> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="status" label="澶勭悊鐘舵��" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.status == 1 ? "宸插鐞�" : "鏈鐞�" }}
+          </template>
+        </el-table-column>
+        <el-table-column v-if="containPermissions(['business:basedata:update', 'business:basedata:delete'])" label="鎿嶄綔"
+          min-width="80" fixed="right">
+          <template slot-scope="{row}">
+            <!--
+            <el-button type="text" @click="$refs.operaBaseDataWindow.open('缂栬緫鍟嗗搧婧愭暟鎹俊鎭〃', row)" icon="el-icon-edit" v-permissions="['business:basedata:update']">缂栬緫</el-button>
+-->
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+              v-permissions="['business:basedata:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaBaseDataWindow ref="operaBaseDataWindow" @success="handlePageChange" />
+    <el-image-viewer 
+      v-if="showViewer" 
+      :on-close="closeViewer"
+      :initialIndex="0"
+      :url-list="srcList"
+      :z-index="3000"
+    />
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaBaseDataWindow from '@/components/business/OperaBaseDataWindow'
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
+export default {
+  name: 'BaseData',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaBaseDataWindow, ElImageViewer },
+  data() {
+    return {
+      showViewer: false,
+      srcList: [],
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        sku: '',
+        brand: '',
+        category: '',
+        status: null
+      },
+      statusList: [
+        { name: '鏈鐞�', id: 0 },
+        { name: '宸插鐞�', id: 1 }
+      ]
+    }
+  },
+  created() {
+    this.config({
+      module: '鍟嗗搧婧愭暟鎹俊鎭〃',
+      api: '/business/baseData',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    showImage(imgs) {
+      this.srcList = []
+      this.srcList = imgs
+      this.showViewer = true
+    },
+    closeViewer() {
+      this.showViewer = false
+    }
+    
+  },
+}
+</script>

--
Gitblit v1.9.3