Forráskód Böngészése

Merge branch 'cheney' into dev

# Conflicts:
#	src/views/sku-manage/company-sku/component/DataTableSlot.vue
#	src/views/sku-manage/product-attribute/component/DataTableSlot.vue
WanGxC 6 hónapja
szülő
commit
d5d8e74534

+ 5 - 6
src/components/PermissionButton/index.vue

@@ -7,6 +7,7 @@
 import { ButtonProps } from 'element-plus';
 import { BtnPermissionStore } from '/@/plugin/permission/store.permission';
 
+
 const { data } = BtnPermissionStore();
 
 const attrs = useAttrs() as any;
@@ -24,12 +25,10 @@ function hasPermission(permissions: string | string[]): boolean {
 </script>
 
 <template>
-  <div>
-    <el-button v-if="attrs.permissions ? hasPermission(attrs.permissions) : true"
-               v-bind="props">
-      <slot></slot>
-    </el-button>
-  </div>
+  <el-button v-if="attrs.permissions ? hasPermission(attrs.permissions) : true"
+             v-bind="props">
+    <slot></slot>
+  </el-button>
 </template>
 
 <style scoped>

+ 60 - 47
src/views/product-manage/competitor-monitor/component/DataTableSlot.vue

@@ -27,8 +27,13 @@ const countryInfoStore = useCountryInfoStore();
 const country = countryInfoStore.Countries.find(c => c.code == row.country_code);
 const color = country ? country.color : '#3875F6';
 
-const statusText = row.status === 1 ? '在售' : '停售';
-const statusType = row.status === 1 ? 'success' : 'info';
+const statusMap: { [key: number]: { text: string, type: string } } = {
+  1: { text: '正常', type: 'success' },
+  2: { text: '失败', type: 'danger' },
+  3: { text: '暂停', type: 'warning' },
+  10: { text: '下架', type: 'info' }
+};
+const { text: statusText, type: statusType } = statusMap[row.status] || { text: '未知', type: 'info' };
 
 function handleEdit() {
   emit('edit-row', row);
@@ -185,54 +190,62 @@ function goto() {
     </div>
     <div v-else-if="field === 'operate'">
       <div class="flex justify-center gap-2 mb-2">
-        <el-tooltip :enterable="false" :show-arrow="false" content="评论详情" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip">
-          <PermissionButton circle plain type="success" @click="goto">
-            <el-icon>
-              <Tickets />
-            </el-icon>
-          </PermissionButton>
-        </el-tooltip>
-        <el-tooltip :enterable="false" :show-arrow="false" content="历史详情" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip-2">
-          <PermissionButton :color="'#6466F1'" circle plain type="success" @click="showDetail('show-history')">
-            <el-icon>
-              <Timer />
-            </el-icon>
-          </PermissionButton>
-        </el-tooltip>
-      </div>
-      <div class="flex justify-center gap-2">
-        <PermissionButton circle plain type="warning" @click="handleEdit">
-          <el-icon>
-            <Operation />
-          </el-icon>
-        </PermissionButton>
-        <el-popconfirm
-            :icon="InfoFilled"
-            icon-color="#626AEF"
-            title="你确定要删除此项吗?"
-            width="220"
-            @confirm="onConfirm"
-        >
-          <template #reference>
-            <PermissionButton circle plain type="danger">
+        <div>
+          <el-tooltip :enterable="false" :show-arrow="false" content="评论详情" hide-after="0"
+                      placement="top" popper-class="custom-btn-tooltip">
+            <PermissionButton circle plain type="success" @click="goto">
               <el-icon>
-                <Delete />
+                <Tickets />
               </el-icon>
             </PermissionButton>
-          </template>
-          <template #actions="{ confirm, cancel }">
-            <el-button size="small" @click="cancel">No!</el-button>
-            <el-button
-                size="small"
-                type="danger"
-                @click="confirm"
-            >
-              Yes?
-            </el-button>
-          </template>
-        </el-popconfirm>
+          </el-tooltip>
+        </div>
+        <div>
+          <el-tooltip :enterable="false" :show-arrow="false" content="历史详情" hide-after="0"
+                      placement="top" popper-class="custom-btn-tooltip-2">
+            <PermissionButton :color="'#6466F1'" circle plain type="success" @click="showDetail('show-history')">
+              <el-icon>
+                <Timer />
+              </el-icon>
+            </PermissionButton>
+          </el-tooltip>
+        </div>
+      </div>
+      <div class="flex justify-center gap-2">
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit">
+            <el-icon>
+              <Operation />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <el-popconfirm
+              :icon="InfoFilled"
+              icon-color="#626AEF"
+              title="你确定要删除此项吗?"
+              width="220"
+              @confirm="onConfirm"
+          >
+            <template #reference>
+              <PermissionButton circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button
+                  size="small"
+                  type="danger"
+                  @click="confirm"
+              >
+                Yes?
+              </el-button>
+            </template>
+          </el-popconfirm>
+        </div>
       </div>
     </div>
     <div v-else>

+ 1 - 1
src/views/product-manage/competitor-monitor/component/EditDrawer.vue

@@ -81,7 +81,7 @@ function closeDrawer() {
                v-model="editOpen"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
-               :title="`竞品监控- 编辑 `"
+               :title="`竞品监控 - 编辑 `"
                size="25%">
       <el-form
           ref="ruleFormRef"

+ 8 - 1
src/views/product-manage/competitor-monitor/index.vue

@@ -44,6 +44,13 @@ provide('groupOptions', groupOptions);
 provide('brandsOptions', brandsOptions);
 provide('shopOptions', shopsOptions);
 
+const statusOptions = [
+  { label: '正常', value: 1 },
+  { label: '失败', value: 2 },
+  { label: '暂停', value: 3 },
+  { label: '下架', value: 10 }
+]
+
 onBeforeMount(() => {
   fetchGroupOptions();
   fetchBrandsOptions();
@@ -119,7 +126,7 @@ function resetParameter() {
                 <div class="flex items-center">
                   <span class="mr-2">状 态</span>
                   <el-select v-model="formInline.status" clearable placeholder="请选择状态">
-                    <el-option v-for="item in staticData.goods_status" :key="item.value" :label="item.label"
+                    <el-option v-for="item in statusOptions" :key="item.value" :label="item.label"
                                :value="item.value" />
                   </el-select>
                 </div>

+ 14 - 10
src/views/product-manage/product-list/component/DataTableSlot.vue

@@ -113,19 +113,23 @@ function handleMonitor() {
     </div>
     <div v-else-if="field === 'operate'">
       <div class="flex justify-center gap-2">
-        <PermissionButton circle plain type="warning" @click="handleEdit" :disabled="row.is_competitors">
-          <el-icon>
-            <Operation />
-          </el-icon>
-        </PermissionButton>
-        <el-tooltip :enterable="false" :show-arrow="false" content="变更通知" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip-info">
-          <PermissionButton circle plain type="info" @click="handleNotice">
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit" :disabled="row.is_competitors">
             <el-icon>
-              <Message />
+              <Operation />
             </el-icon>
           </PermissionButton>
-        </el-tooltip>
+        </div>
+       <div>
+         <el-tooltip :enterable="false" :show-arrow="false" content="变更通知" hide-after="0"
+                     placement="top" popper-class="custom-btn-tooltip-info">
+           <PermissionButton circle plain type="info" @click="handleNotice">
+             <el-icon>
+               <Message />
+             </el-icon>
+           </PermissionButton>
+         </el-tooltip>
+       </div>
       </div>
     </div>
     <div v-else>

+ 11 - 1
src/views/product-manage/product-list/component/EditDrawer.vue

@@ -100,7 +100,7 @@ function mappingShopId(val: any) {
         :close-on-click-modal="false"
         :close-on-press-escape="false"
         size="30%"
-        title="商品列表- 编辑">
+        title="商品列表 - 编辑">
       <el-form
           ref="ruleFormRef"
           :model="ruleForm"
@@ -110,6 +110,16 @@ function mappingShopId(val: any) {
           label-width="auto"
           status-icon>
         <el-form-item class="font-medium" label="SKU:" prop="sku">
+          <template #label>
+            SKU
+            <span class="ml-4" style="color: #909399">
+            <i class="bi bi-info-circle"></i>
+            多个SKU用逗号","连接 
+            <span class="italic ml-2">
+              e.g. sku1,sku2,sku3
+            </span>
+            </span>
+          </template>
           <el-input v-model="ruleForm.sku" />
         </el-form-item>
         <el-form-item class="font-medium" label="店 铺:" prop="shop_name">

+ 61 - 47
src/views/product-manage/product-monitor/component/DataTableSlot.vue

@@ -28,8 +28,13 @@ const countryInfoStore = useCountryInfoStore();
 const country = countryInfoStore.Countries.find(c => c.code == row.country_code);
 const color = country ? country.color : '#3875F6';
 
-const statusText = row.status === 1 ? '在售' : '停售';
-const statusType = row.status === 1 ? 'success' : 'info';
+const statusMap: { [key: number]: { text: string, type: string } } = {
+  1: { text: '正常', type: 'success' },
+  2: { text: '失败', type: 'danger' },
+  3: { text: '暂停', type: 'warning' },
+  10: { text: '下架', type: 'info' }
+};
+const { text: statusText, type: statusType } = statusMap[row.status] || { text: '未知', type: 'info' };
 
 function handleEdit() {
   emit('edit-row', row);
@@ -161,54 +166,63 @@ function goto() {
     </div>
     <div v-else-if="field === 'operate'">
       <div class="flex justify-center gap-2 mb-2">
-        <el-tooltip :enterable="false" :show-arrow="false" content="评论详情" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip">
-          <PermissionButton circle plain type="success" @click="goto">
-            <el-icon>
-              <Tickets />
-            </el-icon>
-          </PermissionButton>
-        </el-tooltip>
-        <el-tooltip :enterable="false" :show-arrow="false" content="历史详情" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip-2">
-          <PermissionButton :color="'#6466F1'" circle plain type="success" @click="showDetail('show-history')">
-            <el-icon>
-              <Timer />
-            </el-icon>
-          </PermissionButton>
-        </el-tooltip>
-      </div>
-      <div class="flex justify-center gap-2">
-        <PermissionButton circle plain type="warning" @click="handleEdit">
-          <el-icon>
-            <Operation />
-          </el-icon>
-        </PermissionButton>
-        <el-popconfirm
-            :icon="InfoFilled"
-            icon-color="#626AEF"
-            title="你确定要删除此项吗?"
-            width="220"
-            @confirm="onConfirm"
-        >
-          <template #reference>
-            <PermissionButton circle plain type="danger">
+        <div>
+          <el-tooltip :enterable="false" :show-arrow="false" content="评论详情" hide-after="0"
+                      placement="top" popper-class="custom-btn-tooltip">
+            <PermissionButton circle plain type="success" @click="goto">
               <el-icon>
-                <Delete />
+                <Tickets />
               </el-icon>
             </PermissionButton>
-          </template>
-          <template #actions="{ confirm, cancel }">
-            <el-button size="small" @click="cancel">No!</el-button>
-            <el-button
-                size="small"
-                type="danger"
-                @click="confirm"
-            >
-              Yes?
-            </el-button>
-          </template>
-        </el-popconfirm>
+          </el-tooltip>
+        </div>
+        <div>
+          <el-tooltip :enterable="false" :show-arrow="false" content="历史详情" hide-after="0"
+                      placement="top" popper-class="custom-btn-tooltip-2">
+            <PermissionButton :color="'#6466F1'" circle plain type="success" @click="showDetail('show-history')">
+              <el-icon>
+                <Timer />
+              </el-icon>
+            </PermissionButton>
+          </el-tooltip>
+        </div>
+      </div>
+      <div class="flex justify-center gap-2">
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit">
+            <el-icon>
+              <Operation />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <el-popconfirm
+              :icon="InfoFilled"
+              icon-color="#626AEF"
+              title="你确定要删除此项吗?"
+              width="220"
+              @confirm="onConfirm"
+          >
+            <template #reference>
+              <PermissionButton circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button
+                  size="small"
+                  type="danger"
+                  @click="confirm"
+              >
+                Yes?
+              </el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+        
       </div>
     </div>
     <div v-else>

+ 17 - 6
src/views/product-manage/product-monitor/component/EditDrawer.vue

@@ -11,6 +11,7 @@ import { DictionaryStore } from '/@/stores/dictionary';
 import { useResponse } from '/@/utils/useResponse';
 import * as api from '../api';
 
+
 const { data: staticData } = DictionaryStore();
 
 const btnLoading = ref(false);
@@ -46,16 +47,16 @@ const ruleForm = reactive<RuleForm>({
   shop_id: rowData?.shop_id,
   tag: rowData?.goods.tag,
   status: rowData?.status.toString(),
-  freq: rowData?.freq,
+  freq: rowData?.freq
 });
 
 const rules = reactive<FormRules<RuleForm>>({
   sku: [ { required: true, message: '请输入SKU', trigger: 'blur' } ],
   shop: [ { required: true, message: '请输入店铺', trigger: 'blur' } ],
-  tag: [ { required: true, message: '请输入分组', trigger: 'blur' } ],
+  tag: [ { required: true, message: '请输入分组', trigger: 'blur' } ]
 });
 
-ruleForm.sku = [rowData.goods.sku, rowData.goods.sku2, rowData.goods.sku3]
+ruleForm.sku = [ rowData.goods.sku, rowData.goods.sku2, rowData.goods.sku3 ]
     .filter(Boolean)
     .join(',');
 
@@ -68,7 +69,7 @@ const submitForm = async (formEl: FormInstance | undefined) => {
     ElMessage.warning('SKU 输入不能超过三个,请检查 SKU');
     return;
   }
-  
+
   await formEl.validate(async (valid, fields) => {
     if (valid) {
       try {
@@ -99,7 +100,7 @@ function closeDrawer() {
                v-model="editOpen"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
-               :title="`商品监控- 编辑 `"
+               :title="`商品监控 - 编辑 `"
                size="25%">
       <el-form
           ref="ruleFormRef"
@@ -113,6 +114,16 @@ function closeDrawer() {
           <el-input v-model="ruleForm.asin" :disabled="true" />
         </el-form-item>
         <el-form-item class="font-medium" label="SKU" prop="sku">
+          <template #label>
+            SKU
+            <span class="ml-4" style="color: #909399">
+            <i class="bi bi-info-circle"></i>
+            多个sku用逗号","连接 
+            <span class="italic ml-2">
+              e.g. sku1,sku2,sku3
+            </span>
+            </span>
+          </template>
           <el-input v-model="ruleForm.sku" />
         </el-form-item>
         <el-form-item class="font-medium" label="店 铺" prop="shop">
@@ -128,7 +139,7 @@ function closeDrawer() {
           </el-select>
         </el-form-item>
         <el-form-item class="font-medium" label="国 家" prop="country_code">
-          <el-select v-model="ruleForm.country_code" placeholder="请选择国家" :disabled="true">
+          <el-select v-model="ruleForm.country_code" :disabled="true" placeholder="请选择国家">
             <el-option
                 v-for="item in staticData.country_code"
                 :key="item.value"

+ 8 - 1
src/views/product-manage/product-monitor/index.vue

@@ -46,6 +46,13 @@ provide('groupOptions', groupOptions);
 provide('brandsOptions', brandsOptions);
 provide('shopOptions', shopsOptions);
 
+const statusOptions = [
+  { label: '正常', value: 1 },
+  { label: '失败', value: 2 },
+  { label: '暂停', value: 3 },
+  { label: '下架', value: 10 }
+]
+
 onBeforeMount(() => {
   fetchOptions();
 });
@@ -110,7 +117,7 @@ function resetParameter() {
                 <div class="flex items-center">
                   <span class="mr-2">状 态</span>
                   <el-select v-model="formInline.status" clearable placeholder="请选择状态">
-                    <el-option v-for="item in staticData.goods_status" :key="item.value" :label="item.label"
+                    <el-option v-for="item in statusOptions" :key="item.value" :label="item.label"
                                :value="item.value" />
                   </el-select>
                 </div>

+ 93 - 83
src/views/sku-manage/company-sku/component/DataTableSlot.vue

@@ -10,111 +10,121 @@ import PermissionButton from '/@/components/PermissionButton/index.vue';
 import { getTagType } from '/@/utils/useTagColor';
 import { handleCopy } from '/@/utils/useCopyText';
 
+
 const props = defineProps<{
-	row: any;
-	field: any;
+  row: any;
+  field: any;
 }>();
 const { row, field } = props;
 
-const emit: any = defineEmits(['edit-row', 'handle-delete', 'show-sku', 'release-sku']);
+const emit: any = defineEmits([ 'edit-row', 'handle-delete', 'show-sku', 'release-sku' ]);
 
 function handleEdit() {
-	emit('edit-row', row);
+  emit('edit-row', row);
 }
 
 function onConfirm() {
-	emit('handle-delete', row);
+  emit('handle-delete', row);
 }
 
 function release() {
-	emit('release-sku', row);
+  emit('release-sku', row);
 }
 
 function showDetail() {
-	emit('show-sku', row);
+  emit('show-sku', row);
 }
 </script>
 
 <template>
-	<div class="font-medium">
-		<div v-if="field === 'operate'">
-			<div class="flex justify-center gap-2 mb-2">
-				<PermissionButton circle plain type="success" @click="showDetail()">
-					<el-icon>
-						<View />
-					</el-icon>
-				</PermissionButton>
-
-			<!--</div>-->
-			<!--<div class="flex justify-center gap-2">-->
-				<PermissionButton circle plain type="warning" @click="handleEdit">
-					<el-icon>
-						<Operation />
-					</el-icon>
-				</PermissionButton>
-				<el-popconfirm :icon="InfoFilled" icon-color="#626AEF" title="发布后此sku将无法更改, 是否继续?" width="220" @confirm="release">
-					<template #reference>
-						<!--div不可以删除,否则会导致popconfirm的弹出框消失-->
-						<div>
-							<el-tooltip :enterable="false" :show-arrow="false" content="发布" hide-after="0" placement="top" popper-class="custom-btn-tooltip-2" :disabled="row.status === 3">
-								<PermissionButton :color="'#6466F1'" circle plain :disabled="row.status === 3">
-									<el-icon>
-										<Position />
-									</el-icon>
-								</PermissionButton>
-							</el-tooltip>
-						</div>
-					</template>
-					<template #actions="{ confirm, cancel }">
-						<el-button size="small" @click="cancel">No!</el-button>
-						<el-button size="small" :color="'#6466F1'" @click="confirm"> Yes?</el-button>
-					</template>
-				</el-popconfirm>
-				<el-popconfirm :icon="InfoFilled" icon-color="#626AEF" title="你确定要删除此项吗?" width="220" @confirm="onConfirm">
-					<template #reference>
-						<PermissionButton circle plain type="danger" :disabled="row.status === 3">
-							<el-icon>
-								<Delete />
-							</el-icon>
-						</PermissionButton>
-					</template>
-					<template #actions="{ confirm, cancel }">
-						<el-button size="small" @click="cancel">No!</el-button>
-						<el-button size="small" type="danger" @click="confirm"> Yes?</el-button>
-					</template>
-				</el-popconfirm>
-			</div>
-		</div>
-		<div v-else-if="field === 'sku'" class="flex flex-nowrap">
-			{{ row.sku }}
-			<el-button :disabled="!row.sku" :icon="DocumentCopy" class="ml-2 cursor-pointer" link @click="handleCopy(row.sku || '')"></el-button>
-		</div>
-		<div v-else-if="field === 'brand'">
-			<el-tag :disable-transitions="true" :type="getTagType(row.brand.brand_name)" effect="plain" round>
-				{{ row.brand.brand_name }}
-			</el-tag>
-		</div>
-		<div v-else-if="field === 'kind'">
-			<el-tag :disable-transitions="true" :type="getTagType(row.kind.name)" effect="plain" round>
-				{{ row.kind.name }}
-			</el-tag>
-		</div>
-		<div v-else-if="field === 'status'">
-			<el-tag :disable-transitions="true" :type="row.status === 1 ? 'warning' : 'success'">
-				{{ row.status === 1 ? '草稿' : '已发布' }}
-			</el-tag>
-		</div>
-		<div v-else>
-			{{ row[field] }}
-		</div>
-	</div>
+  <div class="font-medium">
+    <div v-if="field === 'operate'">
+      <div class="flex justify-center gap-2 mb-2">
+        <div>
+          <PermissionButton circle plain type="success" @click="showDetail()">
+            <el-icon>
+              <View />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit">
+            <el-icon>
+              <Operation />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <el-popconfirm :icon="InfoFilled" icon-color="#626AEF" title="发布后此sku将无法更改, 是否继续?" width="220"
+                         @confirm="release">
+            <template #reference>
+              <!--div不可以删除,否则会导致popconfirm的弹出框消失-->
+              <div>
+                <el-tooltip :enterable="false" :show-arrow="false" content="发布" hide-after="0" placement="top"
+                            popper-class="custom-btn-tooltip-2">
+                  <PermissionButton :color="'#6466F1'" :disabled="row.status === 3" circle plain>
+                    <el-icon>
+                      <Position />
+                    </el-icon>
+                  </PermissionButton>
+                </el-tooltip>
+              </div>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button size="small" type="danger" @click="confirm"> Yes?</el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+        <div>
+          <el-popconfirm :icon="InfoFilled" icon-color="#626AEF" title="你确定要删除此项吗?" width="220"
+                         @confirm="onConfirm">
+            <template #reference>
+              <PermissionButton :disabled="row.status === 3" circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button size="small" type="danger" @click="confirm"> Yes?</el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+      </div>
+    </div>
+    <div v-else-if="field === 'sku'" class="flex flex-nowrap">
+      {{ row.sku }}
+      <el-button :disabled="!row.sku" :icon="DocumentCopy" class="ml-2 cursor-pointer" link
+                 @click="handleCopy(row.sku || '')"></el-button>
+    </div>
+    <div v-else-if="field === 'brand'">
+      <el-tag :disable-transitions="true" :type="getTagType(row.brand.brand_name)" effect="plain" round>
+        {{ row.brand.brand_name }}
+      </el-tag>
+    </div>
+    <div v-else-if="field === 'kind'">
+      <el-tag :disable-transitions="true" :type="getTagType(row.kind.name)" effect="plain" round>
+        {{ row.kind.name }}
+      </el-tag>
+    </div>
+    <div v-else-if="field === 'status'">
+      <el-tag :disable-transitions="true" :type="row.status === 1 ? 'warning' : 'success'">
+        {{ row.status === 1 ? '草稿' : '已发布' }}
+      </el-tag>
+    </div>
+    <div v-else>
+      {{ row[field] }}
+    </div>
+  </div>
 </template>
 
 <style lang="scss">
 .custom-btn-tooltip-2 {
-	background-color: #f0f0fe !important;
-	color: #606266 !important;
-	border: 1px solid #6466f1 !important;
-	font-size: 14px;
+  background-color: #f0f0fe !important;
+  color: #606266 !important;
+  border: 1px solid #6466f1 !important;
+  font-size: 14px;
 }
 </style>

+ 45 - 0
src/views/sku-manage/product-attribute/component/DataTableSlot.vue

@@ -8,6 +8,7 @@
 import { Delete, InfoFilled, Key, Operation, Tools, View } from '@element-plus/icons-vue';
 import PermissionButton from '/@/components/PermissionButton/index.vue';
 
+
 const props = defineProps<{
 	row: any;
 	field: any;
@@ -34,6 +35,50 @@ function handleManage() {
 </script>
 
 <template>
+  <div class="font-medium">
+    <div v-if="field === 'operate'">
+      <div class="flex justify-center gap-2">
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit">
+            <el-icon>
+              <Operation />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <el-popconfirm
+              :icon="InfoFilled"
+              icon-color="#626AEF"
+              title="你确定要删除此项吗?"
+              width="220"
+              @confirm="onConfirm"
+          >
+            <template #reference>
+              <PermissionButton circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button
+                  size="small"
+                  type="danger"
+                  @click="confirm"
+              >
+                Yes?
+              </el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+        
+      </div>
+    </div>
+    <div v-else>
+      {{ row[field] }}
+    </div>
+  </div>
 	<div class="font-medium">
 		<div v-if="field === 'operate'">
 			<div class="flex justify-center gap-2">

+ 1 - 1
src/views/sku-manage/product-attribute/component/EditDrawer.vue

@@ -70,7 +70,7 @@ function closeDrawer() {
                v-model="editOpen"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
-               :title="`产品属性- 编辑 `"
+               :title="`产品属性 - 编辑 `"
                size="25%">
       <el-form
           ref="ruleFormRef"

+ 35 - 30
src/views/sku-manage/product-brand/component/DataTableSlot.vue

@@ -30,36 +30,41 @@ function onConfirm() {
   <div class="font-medium">
     <div v-if="field === 'operate'">
       <div class="flex justify-center gap-2">
-        <PermissionButton circle plain type="warning" @click="handleEdit">
-          <el-icon>
-            <Operation />
-          </el-icon>
-        </PermissionButton>
-        <el-popconfirm
-            :icon="InfoFilled"
-            icon-color="#626AEF"
-            title="你确定要删除此项吗?"
-            width="220"
-            @confirm="onConfirm"
-        >
-          <template #reference>
-            <PermissionButton circle plain type="danger">
-              <el-icon>
-                <Delete />
-              </el-icon>
-            </PermissionButton>
-          </template>
-          <template #actions="{ confirm, cancel }">
-            <el-button size="small" @click="cancel">No!</el-button>
-            <el-button
-                size="small"
-                type="danger"
-                @click="confirm"
-            >
-              Yes?
-            </el-button>
-          </template>
-        </el-popconfirm>
+        <div>
+          <PermissionButton circle plain type="warning" @click="handleEdit">
+            <el-icon>
+              <Operation />
+            </el-icon>
+          </PermissionButton>
+        </div>
+        <div>
+          <el-popconfirm
+              :icon="InfoFilled"
+              icon-color="#626AEF"
+              title="你确定要删除此项吗?"
+              width="220"
+              @confirm="onConfirm"
+          >
+            <template #reference>
+              <PermissionButton circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button
+                  size="small"
+                  type="danger"
+                  @click="confirm"
+              >
+                Yes?
+              </el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+        
       </div>
     </div>
     <div v-else>

+ 1 - 1
src/views/sku-manage/product-brand/component/EditDrawer.vue

@@ -68,7 +68,7 @@ function closeDrawer() {
                v-model="editOpen"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
-               :title="`产品品牌- 编辑 `"
+               :title="`产品品牌 - 编辑 `"
                size="25%">
       <el-form
           ref="ruleFormRef"

+ 0 - 1
src/views/sku-manage/product-category/component/AttributeManageCreate.vue

@@ -15,7 +15,6 @@ const props: any = defineProps({
   rowData: Object
 });
 const { rowData } = props;
-console.log('(AttributeManageCreate.vue: 19)=> rowData', rowData);
 
 const emit = defineEmits([ 'refresh' ]);
 

+ 50 - 35
src/views/sku-manage/product-category/component/DataTableSlot.vue

@@ -35,44 +35,50 @@ function onConfirm() {
   <div class="font-medium">
     <div v-if="field === 'operate'">
       <div class="flex justify-center gap-2">
-        <PermissionButton :disabled="row.status == '3'" circle plain type="warning" @click="handleEdit">
-          <el-icon>
-            <Operation />
-          </el-icon>
-        </PermissionButton>
-        <el-popconfirm
-            :icon="InfoFilled"
-            icon-color="#626AEF"
-            title="你确定要删除此项吗?"
-            width="220"
-            @confirm="onConfirm"
-        >
-          <template #reference>
-            <PermissionButton :disabled="row.status == '3'" circle plain type="danger">
-              <el-icon>
-                <Delete />
-              </el-icon>
-            </PermissionButton>
-          </template>
-          <template #actions="{ confirm, cancel }">
-            <el-button size="small" @click="cancel">No!</el-button>
-            <el-button
-                size="small"
-                type="danger"
-                @click="confirm"
-            >
-              Yes?
-            </el-button>
-          </template>
-        </el-popconfirm>
-        <el-tooltip :disabled="row.status == '3'" :enterable="false" :show-arrow="false" content="属性管理" hide-after="0"
-                    placement="top" popper-class="custom-btn-tooltip-2">
-          <PermissionButton :color="'#6466F1'" :disabled="row.status == '3'" circle plain @click="handleAttribute">
+        <div>
+          <PermissionButton :disabled="row.status == '3'" circle plain type="warning" @click="handleEdit">
             <el-icon>
-              <MessageBox />
+              <Operation />
             </el-icon>
           </PermissionButton>
-        </el-tooltip>
+        </div>
+        <div>
+          <el-popconfirm
+              :icon="InfoFilled"
+              icon-color="#626AEF"
+              title="你确定要删除此项吗?"
+              width="220"
+              @confirm="onConfirm"
+          >
+            <template #reference>
+              <PermissionButton :disabled="row.status == '3'" circle plain type="danger">
+                <el-icon>
+                  <Delete />
+                </el-icon>
+              </PermissionButton>
+            </template>
+            <template #actions="{ confirm, cancel }">
+              <el-button size="small" @click="cancel">No!</el-button>
+              <el-button
+                  size="small"
+                  type="danger"
+                  @click="confirm"
+              >
+                Yes?
+              </el-button>
+            </template>
+          </el-popconfirm>
+        </div>
+        <div>
+          <el-tooltip :disabled="row.status == '3'" :enterable="false" :show-arrow="false" content="属性管理" hide-after="0"
+                      placement="top" popper-class="custom-btn-tooltip-3">
+            <PermissionButton :color="'#00A1D6'" :disabled="row.status == '3'" circle plain @click="handleAttribute">
+              <el-icon>
+                <MessageBox />
+              </el-icon>
+            </PermissionButton>
+          </el-tooltip>
+        </div>
       </div>
     </div>
     <div v-else-if="field === 'main'">
@@ -92,3 +98,12 @@ function onConfirm() {
 <style scoped>
 
 </style>
+
+<style lang="scss">
+.custom-btn-tooltip-3 {
+  background-color: #E6F5FB !important;
+  color: #606266 !important;
+  border: 1px solid #00A1D6 !important;
+  font-size: 14px;
+}
+</style>

+ 1 - 1
src/views/sku-manage/product-category/component/EditDrawer.vue

@@ -68,7 +68,7 @@ function closeDrawer() {
                v-model="editOpen"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
-               :title="`产品种类- 编辑 `"
+               :title="`产品种类 - 编辑 `"
                size="25%">
       <el-form
           ref="ruleFormRef"