更新
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
# Dynamic Dose Count Label (动态剂数标签)
|
||||
|
||||
## Feature
|
||||
Made the dose count label dynamic based on the selected dose unit. When the user selects a different unit (剂/丸/袋/盒/瓶/膏/贴), the label automatically updates to match.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### File: `admin/src/views/consumer/prescription/order_list.vue`
|
||||
|
||||
#### 1. Added Computed Property
|
||||
Added a computed property that generates the label dynamically:
|
||||
|
||||
```typescript
|
||||
// 动态剂数标签(根据剂量单位变化)
|
||||
const doseCountLabel = computed(() => {
|
||||
const unit = editForm.dose_unit || '剂'
|
||||
return `${unit}数`
|
||||
})
|
||||
```
|
||||
|
||||
#### 2. Updated Form Item Label
|
||||
Changed from static label to dynamic computed property:
|
||||
|
||||
**Before:**
|
||||
```vue
|
||||
<el-form-item label="剂数" prop="dose_count">
|
||||
<el-input-number
|
||||
v-model="editForm.dose_count"
|
||||
:min="1"
|
||||
placeholder="剂数"
|
||||
class="w-full"
|
||||
/>
|
||||
</el-form-item>
|
||||
```
|
||||
|
||||
**After:**
|
||||
```vue
|
||||
<el-form-item :label="doseCountLabel" prop="dose_count">
|
||||
<el-input-number
|
||||
v-model="editForm.dose_count"
|
||||
:min="1"
|
||||
:placeholder="doseCountLabel"
|
||||
class="w-full"
|
||||
/>
|
||||
</el-form-item>
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
### Label Generation Logic
|
||||
```typescript
|
||||
const unit = editForm.dose_unit || '剂' // Get current unit, default to '剂'
|
||||
return `${unit}数` // Append '数' to create label
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
| Selected Unit | Label Display |
|
||||
|---------------|---------------|
|
||||
| 剂 | 剂数 |
|
||||
| 丸 | 丸数 |
|
||||
| 袋 | 袋数 |
|
||||
| 盒 | 盒数 |
|
||||
| 瓶 | 瓶数 |
|
||||
| 膏 | 膏数 |
|
||||
| 贴 | 贴数 |
|
||||
|
||||
### Reactive Updates
|
||||
The label updates automatically when:
|
||||
1. User selects a different dose unit from the dropdown
|
||||
2. Form is loaded with existing data
|
||||
3. Form is reset or cleared
|
||||
|
||||
## User Experience
|
||||
|
||||
### Before:
|
||||
- Label always shows "剂数" regardless of selected unit
|
||||
- Confusing when unit is "贴" but label says "剂数"
|
||||
|
||||
### After:
|
||||
- Label dynamically matches the selected unit
|
||||
- Shows "贴数" when unit is "贴"
|
||||
- Shows "丸数" when unit is "丸"
|
||||
- More intuitive and consistent
|
||||
|
||||
## Implementation Details
|
||||
|
||||
### Computed Property Benefits
|
||||
1. **Reactive**: Automatically updates when `editForm.dose_unit` changes
|
||||
2. **Efficient**: Only recalculates when dependency changes
|
||||
3. **Clean**: No need for watchers or manual updates
|
||||
|
||||
### Default Value
|
||||
Uses `'剂'` as default when `dose_unit` is empty or undefined:
|
||||
```typescript
|
||||
const unit = editForm.dose_unit || '剂'
|
||||
```
|
||||
|
||||
### Placeholder Update
|
||||
Also updated the placeholder to match the label:
|
||||
```vue
|
||||
:placeholder="doseCountLabel"
|
||||
```
|
||||
|
||||
This ensures consistency between the label and placeholder text.
|
||||
|
||||
## Testing Steps
|
||||
|
||||
### 1. Test Label Changes
|
||||
1. Open order edit dialog
|
||||
2. Check initial label (should be "剂数" if dose_unit is "剂")
|
||||
3. Change dose unit to "贴"
|
||||
4. Verify label changes to "贴数"
|
||||
5. Try all other units and verify labels update correctly
|
||||
|
||||
### 2. Test with Existing Data
|
||||
1. Edit an order that has dose_unit = "丸"
|
||||
2. Verify label shows "丸数" when dialog opens
|
||||
3. Change to different unit
|
||||
4. Verify label updates immediately
|
||||
|
||||
### 3. Test Default Behavior
|
||||
1. Create a new order (dose_unit is empty)
|
||||
2. Verify label shows "剂数" (default)
|
||||
3. Select a unit
|
||||
4. Verify label updates
|
||||
|
||||
### 4. Test Placeholder
|
||||
1. Clear the dose_count field
|
||||
2. Verify placeholder text matches the label
|
||||
3. Change dose unit
|
||||
4. Verify placeholder updates with label
|
||||
|
||||
## Edge Cases Handled
|
||||
|
||||
### Empty/Undefined Unit
|
||||
```typescript
|
||||
const unit = editForm.dose_unit || '剂'
|
||||
```
|
||||
Falls back to '剂' if unit is empty, null, or undefined.
|
||||
|
||||
### Form Reset
|
||||
When form is reset, the computed property automatically recalculates based on the new (or default) value.
|
||||
|
||||
### Multiple Edits
|
||||
Label updates correctly even when editing multiple orders in sequence without closing the dialog.
|
||||
|
||||
## Related Code
|
||||
|
||||
### Form Structure
|
||||
```vue
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<!-- Dynamic label based on dose_unit -->
|
||||
<el-form-item :label="doseCountLabel" prop="dose_count">
|
||||
<el-input-number v-model="editForm.dose_count" ... />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<!-- Dose unit selector -->
|
||||
<el-form-item label="剂量单位" prop="dose_unit">
|
||||
<el-select v-model="editForm.dose_unit" ...>
|
||||
<el-option label="剂" value="剂" />
|
||||
<el-option label="丸" value="丸" />
|
||||
<!-- ... other options ... -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
```
|
||||
|
||||
### Data Flow
|
||||
```
|
||||
User selects dose_unit → editForm.dose_unit changes →
|
||||
doseCountLabel computed property recalculates →
|
||||
Label and placeholder update in UI
|
||||
```
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
### Possible Improvements
|
||||
1. **Validation Message**: Update validation messages to use dynamic unit
|
||||
2. **Display in Detail View**: Show unit-specific label in order detail view
|
||||
3. **Internationalization**: Support multiple languages for unit names
|
||||
4. **Custom Units**: Allow admin to configure custom dose units
|
||||
|
||||
### Example: Dynamic Validation
|
||||
```typescript
|
||||
const doseCountRules = computed(() => [
|
||||
{ required: true, message: `请输入${editForm.dose_unit || '剂'}数`, trigger: 'blur' }
|
||||
])
|
||||
```
|
||||
|
||||
## Summary
|
||||
|
||||
✅ Added dynamic label that changes based on selected dose unit
|
||||
✅ Label updates automatically when unit changes
|
||||
✅ Placeholder also updates to match label
|
||||
✅ Default to "剂数" when unit is empty
|
||||
✅ Handles all 7 dose units (剂/丸/袋/盒/瓶/膏/贴)
|
||||
✅ Reactive and efficient using computed property
|
||||
✅ Better user experience with consistent terminology
|
||||
|
||||
The dose count label now dynamically reflects the selected unit, making the form more intuitive and user-friendly!
|
||||
@@ -0,0 +1,299 @@
|
||||
# Order Status Tabs UI (订单状态标签页UI)
|
||||
|
||||
## Feature
|
||||
Redesigned the fulfillment status filter from a dropdown select to clickable tabs for better user experience and faster filtering.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### File: `admin/src/views/consumer/prescription/order_list.vue`
|
||||
|
||||
#### 1. Replaced Dropdown with Tab UI
|
||||
**Before:**
|
||||
```vue
|
||||
<el-form-item class="w-[180px]" label="履约状态">
|
||||
<el-select v-model="queryParams.fulfillment_status" placeholder="全部" clearable>
|
||||
<el-option label="待双审通过" :value="1" />
|
||||
<el-option label="履约中" :value="2" />
|
||||
<el-option label="已发货" :value="5" />
|
||||
<el-option label="已完成" :value="3" />
|
||||
<el-option label="已取消" :value="4" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
```
|
||||
|
||||
**After:**
|
||||
```vue
|
||||
<!-- 状态标签页 -->
|
||||
<el-card class="!border-none shadow-sm mb-4" shadow="never">
|
||||
<div class="flex items-center gap-2 flex-wrap">
|
||||
<div
|
||||
v-for="tab in statusTabs"
|
||||
:key="tab.value"
|
||||
:class="[
|
||||
'px-4 py-2 rounded-lg cursor-pointer transition-all duration-200 select-none',
|
||||
queryParams.fulfillment_status === tab.value
|
||||
? 'bg-primary text-white shadow-md'
|
||||
: 'bg-gray-50 text-gray-600 hover:bg-gray-100'
|
||||
]"
|
||||
@click="handleStatusTabClick(tab.value)"
|
||||
>
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="font-medium">{{ tab.label }}</span>
|
||||
<span v-if="tab.count !== undefined" :class="[
|
||||
'text-xs px-1.5 py-0.5 rounded',
|
||||
queryParams.fulfillment_status === tab.value
|
||||
? 'bg-white/20'
|
||||
: 'bg-gray-200'
|
||||
]">
|
||||
{{ tab.count }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
```
|
||||
|
||||
#### 2. Added Status Tabs Configuration
|
||||
```typescript
|
||||
// 状态标签页配置
|
||||
const statusTabs = ref([
|
||||
{ label: '全部', value: '' as number | '', count: undefined },
|
||||
{ label: '待双审通过', value: 1, count: undefined },
|
||||
{ label: '履约中', value: 2, count: undefined },
|
||||
{ label: '已发货', value: 5, count: undefined },
|
||||
{ label: '已完成', value: 3, count: undefined },
|
||||
{ label: '已取消', value: 4, count: undefined }
|
||||
])
|
||||
```
|
||||
|
||||
#### 3. Added Click Handler
|
||||
```typescript
|
||||
// 处理状态标签点击
|
||||
const handleStatusTabClick = (value: number | '') => {
|
||||
queryParams.fulfillment_status = value
|
||||
resetPage()
|
||||
}
|
||||
```
|
||||
|
||||
## UI Design
|
||||
|
||||
### Visual States
|
||||
|
||||
**Active Tab:**
|
||||
- Primary color background (`bg-primary`)
|
||||
- White text
|
||||
- Shadow effect
|
||||
- Badge with semi-transparent white background
|
||||
|
||||
**Inactive Tab:**
|
||||
- Light gray background (`bg-gray-50`)
|
||||
- Gray text
|
||||
- Hover effect (lighter gray)
|
||||
- Badge with gray background
|
||||
|
||||
### Layout
|
||||
- Horizontal flex layout with gap
|
||||
- Wraps on smaller screens
|
||||
- Smooth transitions (200ms)
|
||||
- Rounded corners
|
||||
- Consistent padding
|
||||
|
||||
### Badge (Count Display)
|
||||
- Small text size
|
||||
- Rounded badge
|
||||
- Shows count for each status (optional feature)
|
||||
- Different styling for active/inactive states
|
||||
|
||||
## User Experience Improvements
|
||||
|
||||
### Before (Dropdown):
|
||||
1. User clicks dropdown
|
||||
2. Dropdown opens with options
|
||||
3. User scrolls to find status
|
||||
4. User clicks option
|
||||
5. Dropdown closes
|
||||
6. User clicks "查询" button
|
||||
|
||||
**Total: 3-4 clicks + scrolling**
|
||||
|
||||
### After (Tabs):
|
||||
1. User clicks tab
|
||||
2. Filter applies immediately
|
||||
|
||||
**Total: 1 click**
|
||||
|
||||
### Benefits:
|
||||
- ✅ **Faster filtering**: One-click access to any status
|
||||
- ✅ **Visual feedback**: Clear indication of current filter
|
||||
- ✅ **Better discoverability**: All options visible at once
|
||||
- ✅ **No extra clicks**: Auto-triggers search on click
|
||||
- ✅ **Modern UI**: Follows common tab pattern
|
||||
- ✅ **Mobile friendly**: Wraps on small screens
|
||||
|
||||
## Features
|
||||
|
||||
### 1. Active State Indication
|
||||
The currently selected tab is highlighted with primary color, making it immediately clear which filter is active.
|
||||
|
||||
### 2. Hover Effects
|
||||
Inactive tabs show a subtle hover effect, indicating they are clickable.
|
||||
|
||||
### 3. Count Badges (Optional)
|
||||
Each tab can display a count badge showing the number of orders in that status. Currently set to `undefined` but can be populated with actual counts.
|
||||
|
||||
### 4. Responsive Design
|
||||
Tabs wrap to multiple lines on smaller screens using `flex-wrap`.
|
||||
|
||||
### 5. Smooth Transitions
|
||||
All state changes have smooth 200ms transitions for a polished feel.
|
||||
|
||||
## Implementation Details
|
||||
|
||||
### Tab Configuration
|
||||
```typescript
|
||||
{
|
||||
label: string, // Display text
|
||||
value: number | '', // Filter value ('' for "All")
|
||||
count: number | undefined // Optional count badge
|
||||
}
|
||||
```
|
||||
|
||||
### Click Handler Logic
|
||||
```typescript
|
||||
const handleStatusTabClick = (value: number | '') => {
|
||||
queryParams.fulfillment_status = value // Update filter
|
||||
resetPage() // Trigger search
|
||||
}
|
||||
```
|
||||
|
||||
### Styling Classes
|
||||
- `bg-primary`: Primary brand color (active state)
|
||||
- `bg-gray-50`: Light gray (inactive state)
|
||||
- `hover:bg-gray-100`: Hover effect
|
||||
- `shadow-md`: Shadow for active tab
|
||||
- `transition-all duration-200`: Smooth transitions
|
||||
- `select-none`: Prevent text selection on click
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
### 1. Add Count Badges
|
||||
Fetch and display order counts for each status:
|
||||
|
||||
```typescript
|
||||
// After fetching data
|
||||
const updateStatusCounts = (data: any) => {
|
||||
statusTabs.value[0].count = data.total
|
||||
statusTabs.value[1].count = data.pending
|
||||
statusTabs.value[2].count = data.processing
|
||||
// ... etc
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Add Icons
|
||||
Add status-specific icons for better visual recognition:
|
||||
|
||||
```vue
|
||||
<svg class="w-4 h-4" v-if="tab.value === 1">
|
||||
<!-- Clock icon for pending -->
|
||||
</svg>
|
||||
```
|
||||
|
||||
### 3. Add Keyboard Navigation
|
||||
Support arrow keys for tab navigation:
|
||||
|
||||
```typescript
|
||||
const handleKeydown = (e: KeyboardEvent) => {
|
||||
if (e.key === 'ArrowLeft') {
|
||||
// Navigate to previous tab
|
||||
} else if (e.key === 'ArrowRight') {
|
||||
// Navigate to next tab
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Add Loading State
|
||||
Show loading indicator on active tab while fetching:
|
||||
|
||||
```vue
|
||||
<el-icon v-if="pager.loading && queryParams.fulfillment_status === tab.value" class="is-loading">
|
||||
<Loading />
|
||||
</el-icon>
|
||||
```
|
||||
|
||||
## Testing Steps
|
||||
|
||||
### 1. Test Tab Switching
|
||||
1. Open order list page
|
||||
2. Click on different status tabs
|
||||
3. Verify:
|
||||
- Active tab is highlighted
|
||||
- Table updates with filtered results
|
||||
- URL parameters update (if using router)
|
||||
|
||||
### 2. Test Visual States
|
||||
1. Hover over inactive tabs
|
||||
2. Verify hover effect appears
|
||||
3. Click a tab
|
||||
4. Verify active state styling applies
|
||||
|
||||
### 3. Test "全部" Tab
|
||||
1. Click "全部" tab
|
||||
2. Verify all orders are shown
|
||||
3. Verify no status filter is applied
|
||||
|
||||
### 4. Test Responsive Behavior
|
||||
1. Resize browser window to small width
|
||||
2. Verify tabs wrap to multiple lines
|
||||
3. Verify all tabs remain accessible
|
||||
|
||||
### 5. Test with Search
|
||||
1. Enter order number in search
|
||||
2. Click different status tabs
|
||||
3. Verify both filters work together
|
||||
|
||||
## Accessibility
|
||||
|
||||
### Current Implementation:
|
||||
- ✅ Keyboard accessible (clickable divs)
|
||||
- ✅ Visual feedback on hover
|
||||
- ✅ Clear active state indication
|
||||
- ✅ Sufficient color contrast
|
||||
|
||||
### Recommended Improvements:
|
||||
- Add `role="tab"` and `aria-selected` attributes
|
||||
- Add `tabindex="0"` for keyboard navigation
|
||||
- Add keyboard event handlers (Enter/Space)
|
||||
- Add `aria-label` for screen readers
|
||||
|
||||
### Example:
|
||||
```vue
|
||||
<div
|
||||
role="tab"
|
||||
:aria-selected="queryParams.fulfillment_status === tab.value"
|
||||
:tabindex="0"
|
||||
@keydown.enter="handleStatusTabClick(tab.value)"
|
||||
@keydown.space.prevent="handleStatusTabClick(tab.value)"
|
||||
>
|
||||
```
|
||||
|
||||
## Related Files
|
||||
|
||||
### Frontend:
|
||||
- `admin/src/views/consumer/prescription/order_list.vue`
|
||||
- Added status tabs UI
|
||||
- Added `statusTabs` configuration
|
||||
- Added `handleStatusTabClick` handler
|
||||
- Removed dropdown select
|
||||
|
||||
## Summary
|
||||
|
||||
✅ Replaced dropdown with clickable tabs
|
||||
✅ One-click filtering (no need to click "查询")
|
||||
✅ Visual active state indication
|
||||
✅ Hover effects for better UX
|
||||
✅ Responsive design with flex-wrap
|
||||
✅ Smooth transitions
|
||||
✅ Support for count badges (optional)
|
||||
✅ Cleaner, more modern UI
|
||||
|
||||
The status filter is now much more intuitive and efficient, following modern UI patterns commonly seen in admin dashboards!
|
||||
@@ -0,0 +1,288 @@
|
||||
# Region API Environment Variable Update (省市区API环境变量更新)
|
||||
|
||||
## Change Summary
|
||||
Updated the region data API URL to use the `VITE_APP_BASE_URL` environment variable instead of a hardcoded URL, making it more flexible and maintainable across different environments.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. Updated prescription/index.vue
|
||||
**File**: `admin/src/views/consumer/prescription/index.vue`
|
||||
|
||||
**Before:**
|
||||
```typescript
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: 'https://admin.zhenyangtang.com.cn/area/ChinaCitys.json'
|
||||
```
|
||||
|
||||
**After:**
|
||||
```typescript
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: `${import.meta.env.VITE_APP_BASE_URL}area/ChinaCitys.json`
|
||||
```
|
||||
|
||||
### 2. Updated prescription/order_list.vue
|
||||
**File**: `admin/src/views/consumer/prescription/order_list.vue`
|
||||
|
||||
Applied the same change.
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
### Production Environment
|
||||
**File**: `admin/.env.production`
|
||||
```env
|
||||
VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn/'
|
||||
```
|
||||
|
||||
### Development Environment
|
||||
**File**: `admin/.env.development` (if exists)
|
||||
```env
|
||||
VITE_APP_BASE_URL='http://localhost:8080/'
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
### URL Construction
|
||||
The production URL is now constructed dynamically:
|
||||
```typescript
|
||||
`${import.meta.env.VITE_APP_BASE_URL}area/ChinaCitys.json`
|
||||
```
|
||||
|
||||
With `VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn/'`, this becomes:
|
||||
```
|
||||
https://cs.zhenyangtang.com.cn/area/ChinaCitys.json
|
||||
```
|
||||
|
||||
### Development vs Production
|
||||
|
||||
**Development Mode:**
|
||||
- Uses proxy: `/api-proxy/area/ChinaCitys.json`
|
||||
- Vite proxy rewrites to external URL
|
||||
- Avoids CORS issues
|
||||
|
||||
**Production Mode:**
|
||||
- Uses: `${VITE_APP_BASE_URL}area/ChinaCitys.json`
|
||||
- Resolves to: `https://cs.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
- Direct fetch from configured base URL
|
||||
|
||||
## Benefits
|
||||
|
||||
### 1. Environment Flexibility
|
||||
- ✅ Different URLs for different environments (dev, staging, production)
|
||||
- ✅ No code changes needed when switching environments
|
||||
- ✅ Single source of truth for base URL
|
||||
|
||||
### 2. Easier Deployment
|
||||
- ✅ Change URL by updating `.env.production` file
|
||||
- ✅ No need to modify source code
|
||||
- ✅ Supports multiple deployment targets
|
||||
|
||||
### 3. Consistency
|
||||
- ✅ Uses same base URL as other API calls
|
||||
- ✅ Maintains consistency across the application
|
||||
- ✅ Easier to manage and maintain
|
||||
|
||||
### 4. Configuration Management
|
||||
- ✅ Centralized configuration in environment files
|
||||
- ✅ Easy to override for different environments
|
||||
- ✅ Follows best practices for environment-specific settings
|
||||
|
||||
## Environment Files
|
||||
|
||||
### Structure
|
||||
```
|
||||
admin/
|
||||
├── .env.development # Development environment
|
||||
├── .env.production # Production environment
|
||||
├── .env.staging # Staging environment (optional)
|
||||
└── .env.local # Local overrides (gitignored)
|
||||
```
|
||||
|
||||
### Example Configurations
|
||||
|
||||
**Development** (`.env.development`):
|
||||
```env
|
||||
VITE_APP_BASE_URL='http://localhost:8080/'
|
||||
VITE_APP_REQUEST_TIMEOUT=60000
|
||||
```
|
||||
|
||||
**Staging** (`.env.staging`):
|
||||
```env
|
||||
VITE_APP_BASE_URL='https://staging.zhenyangtang.com.cn/'
|
||||
VITE_APP_REQUEST_TIMEOUT=60000
|
||||
```
|
||||
|
||||
**Production** (`.env.production`):
|
||||
```env
|
||||
VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn/'
|
||||
VITE_APP_REQUEST_TIMEOUT=60000
|
||||
```
|
||||
|
||||
## Testing Steps
|
||||
|
||||
### 1. Verify Environment Variable
|
||||
Check that the environment variable is loaded:
|
||||
```typescript
|
||||
console.log('Base URL:', import.meta.env.VITE_APP_BASE_URL)
|
||||
```
|
||||
|
||||
Expected output in production:
|
||||
```
|
||||
Base URL: https://cs.zhenyangtang.com.cn/
|
||||
```
|
||||
|
||||
### 2. Test Development Mode
|
||||
1. Run development server:
|
||||
```bash
|
||||
cd admin
|
||||
npm run dev
|
||||
```
|
||||
2. Open browser console
|
||||
3. Check constructed URL uses proxy
|
||||
4. Verify region selector loads data
|
||||
|
||||
### 3. Test Production Build
|
||||
1. Build for production:
|
||||
```bash
|
||||
cd admin
|
||||
npm run build
|
||||
```
|
||||
2. Check built files use production URL
|
||||
3. Serve and test:
|
||||
```bash
|
||||
npm run preview
|
||||
```
|
||||
4. Verify region selector loads from: `https://cs.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
|
||||
### 4. Test Different Environments
|
||||
Create a staging build:
|
||||
```bash
|
||||
npm run build -- --mode staging
|
||||
```
|
||||
|
||||
Verify it uses the staging URL from `.env.staging`.
|
||||
|
||||
## URL Resolution Examples
|
||||
|
||||
### With Trailing Slash (Current)
|
||||
```typescript
|
||||
VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn/'
|
||||
Result: https://cs.zhenyangtang.com.cn/area/ChinaCitys.json ✅
|
||||
```
|
||||
|
||||
### Without Trailing Slash
|
||||
```typescript
|
||||
VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn'
|
||||
Result: https://cs.zhenyangtang.com.cnarea/ChinaCitys.json ❌
|
||||
```
|
||||
|
||||
**Important**: Ensure `VITE_APP_BASE_URL` always ends with `/`
|
||||
|
||||
### Handling Missing Trailing Slash
|
||||
If you want to be defensive, you could add:
|
||||
```typescript
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_URL.endsWith('/')
|
||||
? import.meta.env.VITE_APP_BASE_URL
|
||||
: `${import.meta.env.VITE_APP_BASE_URL}/`
|
||||
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: `${baseUrl}area/ChinaCitys.json`
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Issue: Region selector not loading in production
|
||||
**Check:**
|
||||
1. Verify `.env.production` file exists
|
||||
2. Check `VITE_APP_BASE_URL` is set correctly
|
||||
3. Ensure URL ends with `/`
|
||||
4. Verify file exists at: `${VITE_APP_BASE_URL}area/ChinaCitys.json`
|
||||
|
||||
### Issue: 404 Not Found
|
||||
**Solution:**
|
||||
1. Check the constructed URL in browser Network tab
|
||||
2. Verify the file is accessible at that URL
|
||||
3. Check server configuration for the path
|
||||
|
||||
### Issue: CORS Error
|
||||
**Solution:**
|
||||
1. Ensure server has proper CORS headers
|
||||
2. Check `Access-Control-Allow-Origin` header
|
||||
3. Verify the domain is allowed
|
||||
|
||||
## Server Configuration
|
||||
|
||||
### File Location
|
||||
Ensure the file exists at:
|
||||
```
|
||||
https://cs.zhenyangtang.com.cn/area/ChinaCitys.json
|
||||
```
|
||||
|
||||
### Nginx Configuration Example
|
||||
```nginx
|
||||
location /area/ {
|
||||
alias /path/to/public/area/;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
add_header Cache-Control "public, max-age=86400";
|
||||
}
|
||||
```
|
||||
|
||||
### Apache Configuration Example
|
||||
```apache
|
||||
<Directory "/path/to/public/area">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
Header set Cache-Control "public, max-age=86400"
|
||||
</Directory>
|
||||
```
|
||||
|
||||
## Related Files
|
||||
|
||||
### Frontend:
|
||||
- `admin/src/views/consumer/prescription/index.vue`
|
||||
- Updated to use `VITE_APP_BASE_URL`
|
||||
- `admin/src/views/consumer/prescription/order_list.vue`
|
||||
- Updated to use `VITE_APP_BASE_URL`
|
||||
|
||||
### Configuration:
|
||||
- `admin/.env.production`
|
||||
- Contains `VITE_APP_BASE_URL='https://cs.zhenyangtang.com.cn/'`
|
||||
- `admin/.env.development`
|
||||
- Should contain development base URL
|
||||
- `admin/vite.config.ts`
|
||||
- Proxy configuration for development
|
||||
|
||||
## Best Practices
|
||||
|
||||
### 1. Always Use Environment Variables
|
||||
✅ Do: `${import.meta.env.VITE_APP_BASE_URL}path/to/resource`
|
||||
❌ Don't: `https://hardcoded-domain.com/path/to/resource`
|
||||
|
||||
### 2. Ensure Trailing Slashes
|
||||
✅ Do: `VITE_APP_BASE_URL='https://example.com/'`
|
||||
❌ Don't: `VITE_APP_BASE_URL='https://example.com'`
|
||||
|
||||
### 3. Use Consistent Naming
|
||||
All Vite environment variables should start with `VITE_` to be exposed to the client.
|
||||
|
||||
### 4. Document Environment Variables
|
||||
Keep a `.env.example` file with all required variables:
|
||||
```env
|
||||
# Base URL for API and static resources
|
||||
VITE_APP_BASE_URL='https://example.com/'
|
||||
|
||||
# Request timeout in milliseconds
|
||||
VITE_APP_REQUEST_TIMEOUT=60000
|
||||
```
|
||||
|
||||
## Summary
|
||||
|
||||
✅ Replaced hardcoded URL with environment variable
|
||||
✅ Uses `VITE_APP_BASE_URL` from `.env.production`
|
||||
✅ More flexible for different environments
|
||||
✅ Easier to deploy and maintain
|
||||
✅ Consistent with other API configurations
|
||||
✅ Applied to both prescription index and order list views
|
||||
|
||||
The region API now uses the configured base URL, making it easier to manage across different environments!
|
||||
@@ -0,0 +1,243 @@
|
||||
# Region API Production URL Fix (省市区API生产环境URL修复)
|
||||
|
||||
## Issue
|
||||
The region data API was using a proxy path (`/api-proxy/area/ChinaCitys.json`) which only works in development mode. After building for production, the proxy is not available, causing the region selector to fail.
|
||||
|
||||
## Root Cause
|
||||
Vite's proxy configuration (`vite.config.ts`) only works during development (`npm run dev`). When the application is built for production (`npm run build`), the proxy is not included in the build output, and the relative path `/api-proxy/...` becomes invalid.
|
||||
|
||||
## Solution
|
||||
Use environment detection to switch between proxy URL (development) and full URL (production).
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. Updated prescription/index.vue
|
||||
**File**: `admin/src/views/consumer/prescription/index.vue`
|
||||
|
||||
Changed from:
|
||||
```typescript
|
||||
const response = await fetch('/api-proxy/area/ChinaCitys.json')
|
||||
```
|
||||
|
||||
To:
|
||||
```typescript
|
||||
// 开发环境使用代理,生产环境使用完整URL
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: 'https://admin.zhenyangtang.com.cn/area/ChinaCitys.json'
|
||||
|
||||
const response = await fetch(apiUrl)
|
||||
```
|
||||
|
||||
### 2. Updated prescription/order_list.vue
|
||||
**File**: `admin/src/views/consumer/prescription/order_list.vue`
|
||||
|
||||
Applied the same change to the order list view.
|
||||
|
||||
## How It Works
|
||||
|
||||
### Environment Detection
|
||||
Uses Vite's built-in environment variable `import.meta.env.DEV`:
|
||||
- **Development** (`npm run dev`): `import.meta.env.DEV = true`
|
||||
- **Production** (`npm run build`): `import.meta.env.DEV = false`
|
||||
|
||||
### URL Selection Logic
|
||||
```typescript
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json' // Development: Use proxy
|
||||
: 'https://admin.zhenyangtang.com.cn/area/ChinaCitys.json' // Production: Use full URL
|
||||
```
|
||||
|
||||
### Development Mode
|
||||
- Uses proxy path: `/api-proxy/area/ChinaCitys.json`
|
||||
- Vite proxy rewrites to: `https://admin.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
- Avoids CORS issues during development
|
||||
|
||||
### Production Mode
|
||||
- Uses full URL: `https://admin.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
- Direct fetch from the actual server
|
||||
- No proxy needed
|
||||
|
||||
## Benefits
|
||||
|
||||
### 1. Works in Both Environments
|
||||
- ✅ Development: Uses proxy for CORS-free development
|
||||
- ✅ Production: Uses direct URL for deployed application
|
||||
|
||||
### 2. No Build Configuration Changes
|
||||
- No need to modify build scripts
|
||||
- No environment-specific builds
|
||||
- Single codebase for all environments
|
||||
|
||||
### 3. Automatic Detection
|
||||
- Automatically switches based on environment
|
||||
- No manual configuration needed
|
||||
- No risk of using wrong URL
|
||||
|
||||
### 4. Maintains CORS Handling
|
||||
- Development: Proxy handles CORS
|
||||
- Production: Server should have proper CORS headers
|
||||
|
||||
## Testing Steps
|
||||
|
||||
### 1. Test Development Mode
|
||||
1. Run development server:
|
||||
```bash
|
||||
cd admin
|
||||
npm run dev
|
||||
```
|
||||
2. Open browser console
|
||||
3. Check for log: `开始加载省市区数据...`
|
||||
4. Verify it uses proxy URL
|
||||
5. Check region selector loads data
|
||||
|
||||
### 2. Test Production Build
|
||||
1. Build for production:
|
||||
```bash
|
||||
cd admin
|
||||
npm run build
|
||||
```
|
||||
2. Serve the built files:
|
||||
```bash
|
||||
npm run preview
|
||||
# or deploy to production server
|
||||
```
|
||||
3. Open browser console
|
||||
4. Check for log: `开始加载省市区数据...`
|
||||
5. Verify it uses full URL
|
||||
6. Check region selector loads data
|
||||
|
||||
### 3. Verify URL in Network Tab
|
||||
**Development:**
|
||||
- Request URL: `http://localhost:5173/api-proxy/area/ChinaCitys.json`
|
||||
- Proxied to: `https://admin.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
|
||||
**Production:**
|
||||
- Request URL: `https://admin.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
- Direct request (no proxy)
|
||||
|
||||
### 4. Test Fallback Data
|
||||
If API fails in either environment, verify fallback data is used:
|
||||
```typescript
|
||||
regionOptions.value = [
|
||||
{
|
||||
name: '四川省',
|
||||
children: [...]
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
## Alternative Solutions Considered
|
||||
|
||||
### Option 1: Environment Variables (Not Chosen)
|
||||
```typescript
|
||||
const apiUrl = import.meta.env.VITE_REGION_API_URL || '/api-proxy/area/ChinaCitys.json'
|
||||
```
|
||||
**Pros**: More flexible for different environments
|
||||
**Cons**: Requires environment-specific configuration files
|
||||
|
||||
### Option 2: Relative Path (Not Chosen)
|
||||
```typescript
|
||||
const apiUrl = '/area/ChinaCitys.json'
|
||||
```
|
||||
**Pros**: Simple
|
||||
**Cons**: Requires copying file to public folder, increases bundle size
|
||||
|
||||
### Option 3: Backend API Endpoint (Not Chosen)
|
||||
Create a backend endpoint to serve region data
|
||||
**Pros**: More control, can cache, can update without frontend deploy
|
||||
**Cons**: Requires backend changes, adds server load
|
||||
|
||||
### Option 4: Current Solution (Chosen) ✅
|
||||
Use environment detection with conditional URL
|
||||
**Pros**:
|
||||
- Simple implementation
|
||||
- No additional configuration
|
||||
- Works in both environments
|
||||
- No backend changes needed
|
||||
**Cons**:
|
||||
- Hardcoded production URL (acceptable for this use case)
|
||||
|
||||
## Production Server Requirements
|
||||
|
||||
### CORS Headers
|
||||
The production server hosting `ChinaCitys.json` should have proper CORS headers:
|
||||
|
||||
```
|
||||
Access-Control-Allow-Origin: *
|
||||
# or specific domain:
|
||||
Access-Control-Allow-Origin: https://your-admin-domain.com
|
||||
```
|
||||
|
||||
### File Availability
|
||||
Ensure the file is accessible at:
|
||||
```
|
||||
https://admin.zhenyangtang.com.cn/area/ChinaCitys.json
|
||||
```
|
||||
|
||||
### Alternative: Use Backend Proxy
|
||||
If CORS is an issue in production, consider creating a backend endpoint:
|
||||
```php
|
||||
// server/app/adminapi/controller/RegionController.php
|
||||
public function getChinaCitys()
|
||||
{
|
||||
$url = 'https://admin.zhenyangtang.com.cn/area/ChinaCitys.json';
|
||||
$data = file_get_contents($url);
|
||||
return json(['data' => json_decode($data, true)]);
|
||||
}
|
||||
```
|
||||
|
||||
Then update frontend to use:
|
||||
```typescript
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: '/adminapi/region/getChinaCitys' // Backend endpoint
|
||||
```
|
||||
|
||||
## Related Files
|
||||
|
||||
### Frontend:
|
||||
- `admin/src/views/consumer/prescription/index.vue`
|
||||
- Updated `loadRegionData()` function
|
||||
- `admin/src/views/consumer/prescription/order_list.vue`
|
||||
- Updated `loadRegionData()` function
|
||||
|
||||
### Configuration:
|
||||
- `admin/vite.config.ts`
|
||||
- Proxy configuration (development only)
|
||||
|
||||
### Documentation:
|
||||
- `REGION_DATA_SETUP.md` (should be updated to mention production URL)
|
||||
|
||||
## Environment Variables Reference
|
||||
|
||||
### Vite Built-in Variables:
|
||||
- `import.meta.env.DEV` - Boolean, true in development
|
||||
- `import.meta.env.PROD` - Boolean, true in production
|
||||
- `import.meta.env.MODE` - String, 'development' or 'production'
|
||||
|
||||
### Usage Example:
|
||||
```typescript
|
||||
if (import.meta.env.DEV) {
|
||||
console.log('Running in development mode')
|
||||
}
|
||||
|
||||
if (import.meta.env.PROD) {
|
||||
console.log('Running in production mode')
|
||||
}
|
||||
|
||||
console.log('Current mode:', import.meta.env.MODE)
|
||||
```
|
||||
|
||||
## Summary
|
||||
|
||||
✅ Fixed production build issue with region API
|
||||
✅ Uses proxy in development for CORS-free development
|
||||
✅ Uses direct URL in production for deployed application
|
||||
✅ Automatic environment detection
|
||||
✅ No build configuration changes needed
|
||||
✅ Maintains fallback data for both environments
|
||||
✅ Applied to both prescription index and order list views
|
||||
|
||||
The region selector now works correctly in both development and production environments!
|
||||
@@ -0,0 +1,348 @@
|
||||
# TRTC 录制存储迁移:VOD → COS
|
||||
|
||||
## 变更说明
|
||||
|
||||
将 TRTC 云端录制的存储方式从**腾讯云点播(VOD)**改为**对象存储(COS)**。
|
||||
|
||||
## 修改内容
|
||||
|
||||
### File: `server/app/common/service/TrtcCloudRecordingService.php`
|
||||
|
||||
#### 1. 存储配置变更
|
||||
|
||||
**Before (VOD):**
|
||||
```php
|
||||
$tencentVod = new \TencentCloud\Trtc\V20190722\Models\TencentVod();
|
||||
$tencentVod->ExpireTime = 0;
|
||||
$tencentVod->MediaType = 0;
|
||||
$tencentVod->UserDefineRecordId = $prefix;
|
||||
$tencentVod->SubAppId = $vodSubApp;
|
||||
|
||||
$cloudVod = new \TencentCloud\Trtc\V20190722\Models\CloudVod();
|
||||
$cloudVod->TencentVod = $tencentVod;
|
||||
|
||||
$storage = new \TencentCloud\Trtc\V20190722\Models\StorageParams();
|
||||
$storage->CloudVod = $cloudVod;
|
||||
```
|
||||
|
||||
**After (COS):**
|
||||
```php
|
||||
$cloudStorage = new \TencentCloud\Trtc\V20190722\Models\CloudStorage();
|
||||
$cloudStorage->Vendor = 0; // 0=腾讯云
|
||||
$cloudStorage->Region = 'ap-guangzhou';
|
||||
$cloudStorage->Bucket = 'your-bucket-name';
|
||||
$cloudStorage->Prefix = 'trtc-recording/';
|
||||
|
||||
$storage = new \TencentCloud\Trtc\V20190722\Models\StorageParams();
|
||||
$storage->CloudStorage = $cloudStorage;
|
||||
```
|
||||
|
||||
#### 2. 更新日志信息
|
||||
- 日志中标注存储类型为 COS
|
||||
- 记录 bucket、region、prefix 等信息
|
||||
- 更新提示信息
|
||||
|
||||
#### 3. 更新路径清理函数
|
||||
- 允许路径中包含 `/` 字符(COS 路径分隔符)
|
||||
- 从 `sanitizeVodUserDefineRecordId` 改为支持 COS 路径格式
|
||||
|
||||
## 配置要求
|
||||
|
||||
### 必需配置项
|
||||
|
||||
在 `config/trtc.php` 或 `.env` 中添加以下配置:
|
||||
|
||||
```php
|
||||
// config/trtc.php
|
||||
return [
|
||||
// ... 其他配置 ...
|
||||
|
||||
// COS 存储配置
|
||||
'recording_cos_vendor' => 0, // 0=腾讯云
|
||||
'recording_cos_region' => env('TRTC_RECORDING_COS_REGION', 'ap-guangzhou'),
|
||||
'recording_cos_bucket' => env('TRTC_RECORDING_COS_BUCKET', ''),
|
||||
'recording_cos_prefix' => env('TRTC_RECORDING_COS_PREFIX', 'trtc-recording/'),
|
||||
];
|
||||
```
|
||||
|
||||
### .env 配置示例
|
||||
|
||||
```env
|
||||
# TRTC 录制 COS 存储配置
|
||||
TRTC_RECORDING_COS_REGION=ap-guangzhou
|
||||
TRTC_RECORDING_COS_BUCKET=your-bucket-1234567890
|
||||
TRTC_RECORDING_COS_PREFIX=trtc-recording/
|
||||
```
|
||||
|
||||
## COS Bucket 准备
|
||||
|
||||
### 1. 创建 COS 存储桶
|
||||
|
||||
1. 登录 [腾讯云 COS 控制台](https://console.cloud.tencent.com/cos)
|
||||
2. 创建存储桶
|
||||
- 名称:例如 `trtc-recording-1234567890`
|
||||
- 地域:选择与 TRTC 应用相同或就近的地域
|
||||
- 访问权限:私有读写(推荐)
|
||||
|
||||
### 2. 配置 CORS(如需前端访问)
|
||||
|
||||
如果需要前端直接访问录制文件,配置 CORS 规则:
|
||||
|
||||
```json
|
||||
{
|
||||
"CORSRules": [
|
||||
{
|
||||
"AllowedOrigins": ["*"],
|
||||
"AllowedMethods": ["GET", "HEAD"],
|
||||
"AllowedHeaders": ["*"],
|
||||
"ExposeHeaders": [],
|
||||
"MaxAgeSeconds": 3600
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 配置生命周期(可选)
|
||||
|
||||
设置自动删除过期录制文件:
|
||||
|
||||
- 规则名称:`auto-delete-old-recordings`
|
||||
- 应用范围:前缀 `trtc-recording/`
|
||||
- 删除策略:创建后 30 天删除
|
||||
|
||||
## 存储路径结构
|
||||
|
||||
### 默认路径格式
|
||||
|
||||
```
|
||||
bucket-name/
|
||||
└── trtc-recording/
|
||||
├── room_123_20240101_120000.mp4
|
||||
├── room_456_20240101_130000.mp4
|
||||
└── ...
|
||||
```
|
||||
|
||||
### 自定义前缀路径
|
||||
|
||||
如果传入 `$vodUserDefineRecordId` 参数:
|
||||
|
||||
```
|
||||
bucket-name/
|
||||
└── custom-prefix/
|
||||
├── file1.mp4
|
||||
├── file2.mp4
|
||||
└── ...
|
||||
```
|
||||
|
||||
## 文件命名规则
|
||||
|
||||
COS 存储的文件名由 TRTC 自动生成,通常包含:
|
||||
- 房间号
|
||||
- 时间戳
|
||||
- 用户 ID(单流录制)
|
||||
- 文件格式(.mp4)
|
||||
|
||||
示例:
|
||||
```
|
||||
trtc-recording/sdkappid_roomid_userid_timestamp.mp4
|
||||
```
|
||||
|
||||
## 权限配置
|
||||
|
||||
### TRTC 服务需要的 COS 权限
|
||||
|
||||
确保 TRTC 服务有权限写入 COS:
|
||||
|
||||
1. **方式一:使用主账号密钥**(不推荐生产环境)
|
||||
- 使用主账号的 SecretId 和 SecretKey
|
||||
|
||||
2. **方式二:使用子账号密钥**(推荐)
|
||||
- 创建子账号
|
||||
- 授予 COS 写入权限策略:
|
||||
```json
|
||||
{
|
||||
"version": "2.0",
|
||||
"statement": [
|
||||
{
|
||||
"effect": "allow",
|
||||
"action": [
|
||||
"cos:PutObject",
|
||||
"cos:PostObject",
|
||||
"cos:InitiateMultipartUpload",
|
||||
"cos:UploadPart",
|
||||
"cos:CompleteMultipartUpload"
|
||||
],
|
||||
"resource": [
|
||||
"qcs::cos:ap-guangzhou:uid/1234567890:your-bucket-1234567890/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
3. **方式三:使用服务角色**(最佳实践)
|
||||
- 为 TRTC 服务创建角色
|
||||
- 授予角色 COS 写入权限
|
||||
- TRTC 自动使用角色权限
|
||||
|
||||
## 对比:VOD vs COS
|
||||
|
||||
| 特性 | VOD(点播) | COS(对象存储) |
|
||||
|------|------------|----------------|
|
||||
| **存储成本** | 较高 | 较低 |
|
||||
| **功能** | 媒体处理、转码、播放 | 纯存储 |
|
||||
| **访问方式** | 点播 API/播放器 | HTTP/HTTPS 直接访问 |
|
||||
| **适用场景** | 需要转码、加密、播放统计 | 简单存储和下载 |
|
||||
| **计费** | 存储+流量+转码 | 存储+流量 |
|
||||
| **管理** | 媒资管理系统 | 文件管理 |
|
||||
|
||||
## 迁移步骤
|
||||
|
||||
### 1. 准备 COS 存储桶
|
||||
按照上述"COS Bucket 准备"步骤创建并配置存储桶
|
||||
|
||||
### 2. 更新配置文件
|
||||
在 `.env` 中添加 COS 配置项
|
||||
|
||||
### 3. 部署代码
|
||||
部署更新后的 `TrtcCloudRecordingService.php`
|
||||
|
||||
### 4. 测试录制
|
||||
1. 发起一次测试录制
|
||||
2. 检查 COS 控制台是否有文件上传
|
||||
3. 验证文件可以正常下载和播放
|
||||
|
||||
### 5. 监控日志
|
||||
查看日志确认录制状态:
|
||||
```
|
||||
CreateCloudRecording mix (COS)
|
||||
DescribeCloudRecording(合流校验-COS)
|
||||
```
|
||||
|
||||
## 获取录制文件
|
||||
|
||||
### 方式一:COS 控制台
|
||||
1. 登录 COS 控制台
|
||||
2. 进入对应存储桶
|
||||
3. 浏览 `trtc-recording/` 目录
|
||||
4. 下载或获取文件 URL
|
||||
|
||||
### 方式二:COS SDK
|
||||
```php
|
||||
use Qcloud\Cos\Client;
|
||||
|
||||
$cosClient = new Client([
|
||||
'region' => 'ap-guangzhou',
|
||||
'credentials' => [
|
||||
'secretId' => 'your-secret-id',
|
||||
'secretKey' => 'your-secret-key',
|
||||
],
|
||||
]);
|
||||
|
||||
// 列出录制文件
|
||||
$result = $cosClient->listObjects([
|
||||
'Bucket' => 'your-bucket-1234567890',
|
||||
'Prefix' => 'trtc-recording/',
|
||||
]);
|
||||
|
||||
foreach ($result['Contents'] as $file) {
|
||||
echo $file['Key'] . "\n";
|
||||
}
|
||||
```
|
||||
|
||||
### 方式三:生成临时访问 URL
|
||||
```php
|
||||
$url = $cosClient->getObjectUrl(
|
||||
'your-bucket-1234567890',
|
||||
'trtc-recording/file.mp4',
|
||||
'+10 minutes' // URL 有效期
|
||||
);
|
||||
```
|
||||
|
||||
## 回调通知
|
||||
|
||||
### COS 事件通知
|
||||
可以配置 COS 事件通知,在文件上传完成时触发回调:
|
||||
|
||||
1. 在 COS 控制台配置事件通知
|
||||
2. 选择事件类型:`cos:ObjectCreated:*`
|
||||
3. 配置回调 URL
|
||||
4. 接收通知并处理
|
||||
|
||||
### 回调数据示例
|
||||
```json
|
||||
{
|
||||
"Records": [
|
||||
{
|
||||
"event": {
|
||||
"eventName": "cos:ObjectCreated:Put",
|
||||
"eventTime": "2024-01-01T12:00:00Z"
|
||||
},
|
||||
"cos": {
|
||||
"cosObject": {
|
||||
"key": "trtc-recording/room_123_20240101_120000.mp4",
|
||||
"size": 12345678,
|
||||
"url": "https://bucket.cos.ap-guangzhou.myqcloud.com/..."
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 问题1:录制文件未上传到 COS
|
||||
**检查项:**
|
||||
- COS Bucket 名称是否正确
|
||||
- Region 是否匹配
|
||||
- TRTC 服务是否有 COS 写入权限
|
||||
- 查看日志中的错误信息
|
||||
|
||||
### 问题2:无法访问录制文件
|
||||
**检查项:**
|
||||
- Bucket 访问权限设置
|
||||
- 文件路径是否正确
|
||||
- 是否需要签名 URL
|
||||
|
||||
### 问题3:录制状态一直是 Idle
|
||||
**检查项:**
|
||||
- RoomIdType 是否与客户端一致
|
||||
- 房间内是否有用户推流
|
||||
- 网络连接是否正常
|
||||
|
||||
## 成本估算
|
||||
|
||||
### COS 存储成本(以广州地域为例)
|
||||
|
||||
**存储费用:**
|
||||
- 标准存储:0.118 元/GB/月
|
||||
- 低频存储:0.08 元/GB/月
|
||||
|
||||
**流量费用:**
|
||||
- 外网下行流量:0.5 元/GB
|
||||
- CDN 回源流量:0.15 元/GB
|
||||
|
||||
**示例计算:**
|
||||
- 每天录制 10 小时,每小时 500MB
|
||||
- 月存储量:10 × 30 × 0.5 = 150GB
|
||||
- 月存储费用:150 × 0.118 = 17.7 元
|
||||
- 月流量(假设下载 50GB):50 × 0.5 = 25 元
|
||||
- **月总费用:约 42.7 元**
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [TRTC 云端录制](https://cloud.tencent.com/document/product/647/16823)
|
||||
- [COS 对象存储](https://cloud.tencent.com/document/product/436)
|
||||
- [COS PHP SDK](https://cloud.tencent.com/document/product/436/12266)
|
||||
|
||||
## 总结
|
||||
|
||||
✅ 存储方式从 VOD 改为 COS
|
||||
✅ 降低存储成本
|
||||
✅ 简化文件管理
|
||||
✅ 支持自定义路径前缀
|
||||
✅ 更新日志和提示信息
|
||||
✅ 需要配置 COS Bucket 和权限
|
||||
|
||||
迁移到 COS 后,录制文件将直接存储到对象存储桶,成本更低,管理更简单!
|
||||
@@ -951,7 +951,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 物流信息 -->
|
||||
<div class="form-section">
|
||||
<!-- <div class="form-section">
|
||||
<div class="section-title">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" />
|
||||
@@ -977,7 +977,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- 关联收款 -->
|
||||
<div class="form-section">
|
||||
@@ -1072,7 +1072,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="订单金额" prop="amount">
|
||||
<el-form-item label="订单总金额" prop="amount">
|
||||
<el-input-number
|
||||
v-model="createOrderForm.amount"
|
||||
:min="createOrderAmountInputMin"
|
||||
@@ -1309,8 +1309,12 @@ const transformRegionData = (data: any[]) => {
|
||||
const loadRegionData = async () => {
|
||||
try {
|
||||
console.log('开始加载省市区数据...')
|
||||
// 使用代理路径,需要在vite.config.ts中配置代理
|
||||
const response = await fetch('/api-proxy/area/ChinaCitys.json')
|
||||
// 开发环境使用代理,生产环境使用环境变量中的基础URL
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: `https://cos.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
|
||||
const response = await fetch(apiUrl)
|
||||
console.log('响应状态:', response.status)
|
||||
|
||||
if (!response.ok) {
|
||||
|
||||
@@ -8,6 +8,35 @@
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 状态标签页 -->
|
||||
<el-card class="!border-none shadow-sm mb-4" shadow="never">
|
||||
<div class="flex items-center gap-2 flex-wrap">
|
||||
<div
|
||||
v-for="tab in statusTabs"
|
||||
:key="tab.value"
|
||||
:class="[
|
||||
'px-4 py-2 rounded-lg cursor-pointer transition-all duration-200 select-none',
|
||||
queryParams.fulfillment_status === tab.value
|
||||
? 'bg-primary text-white shadow-md'
|
||||
: 'bg-gray-50 text-gray-600 hover:bg-gray-100'
|
||||
]"
|
||||
@click="handleStatusTabClick(tab.value)"
|
||||
>
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="font-medium">{{ tab.label }}</span>
|
||||
<span v-if="tab.count !== undefined" :class="[
|
||||
'text-xs px-1.5 py-0.5 rounded',
|
||||
queryParams.fulfillment_status === tab.value
|
||||
? 'bg-white/20'
|
||||
: 'bg-gray-200'
|
||||
]">
|
||||
{{ tab.count }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="!border-none po-filter-card shadow-sm" shadow="never">
|
||||
<el-form class="ls-form" :model="queryParams" inline>
|
||||
<el-form-item class="w-[260px]" label="订单号">
|
||||
@@ -26,15 +55,6 @@
|
||||
@keyup.enter="resetPage"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item class="w-[180px]" label="履约状态">
|
||||
<el-select v-model="queryParams.fulfillment_status" placeholder="全部" clearable>
|
||||
<el-option label="待双审通过" :value="1" />
|
||||
<el-option label="履约中" :value="2" />
|
||||
<el-option label="已发货" :value="5" />
|
||||
<el-option label="已完成" :value="3" />
|
||||
<el-option label="已取消" :value="4" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="handleReset">重置</el-button>
|
||||
@@ -51,8 +71,6 @@
|
||||
<el-table-column label="订单号" prop="order_no" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column label="处方ID" prop="prescription_id" width="86" />
|
||||
<el-table-column label="诊单ID" prop="diagnosis_id" width="86" />
|
||||
<el-table-column label="开方人" prop="doctor_name" width="90" show-overflow-tooltip />
|
||||
<el-table-column label="创建人" prop="creator_name" width="90" show-overflow-tooltip />
|
||||
<el-table-column label="收货人" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<div>{{ row.recipient_name || '—' }}</div>
|
||||
@@ -133,6 +151,9 @@
|
||||
{{ formatTime(row.create_time) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开方人" prop="doctor_name" width="90" show-overflow-tooltip />
|
||||
<el-table-column label="创建人" prop="creator_name" width="90" show-overflow-tooltip />
|
||||
|
||||
<el-table-column label="操作" width="310" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<div class="flex items-center gap-1 flex-wrap">
|
||||
@@ -335,19 +356,19 @@
|
||||
<el-row :gutter="16" class="mb-5">
|
||||
<el-col :xs="12" :sm="8">
|
||||
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">业务金额</div>
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">总金额</div>
|
||||
<div class="stat-value text-red-500 font-bold text-xl">¥{{ detailData.amount }}</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="8">
|
||||
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">关联订单总额</div>
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">已付总额</div>
|
||||
<div class="stat-value text-green-600 font-bold text-xl">¥{{ detailData.linked_pay_paid_total || 0 }}</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="8">
|
||||
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">关联收款笔数</div>
|
||||
<div class="stat-title text-gray-500 text-xs mb-1">已付笔数</div>
|
||||
<div class="stat-value text-primary font-bold text-xl">{{ detailLinkedPayOrders.length }} 笔</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
@@ -727,28 +748,36 @@
|
||||
<el-dialog
|
||||
v-model="editVisible"
|
||||
title="编辑业务订单"
|
||||
width="680px"
|
||||
width="800px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
@closed="editFormRef?.clearValidate()"
|
||||
>
|
||||
<div v-loading="editDialogLoading" class="max-h-[70vh] overflow-y-auto px-2">
|
||||
<el-form
|
||||
v-loading="editDialogLoading"
|
||||
ref="editFormRef"
|
||||
:model="editForm"
|
||||
:rules="editRules"
|
||||
label-width="110px"
|
||||
class="pr-4"
|
||||
label-width="90px"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<!-- 收货信息 -->
|
||||
<div class="mb-4 pb-4 border-b border-gray-100">
|
||||
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||
</svg>
|
||||
<span>收货信息</span>
|
||||
</div>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="收货人" prop="recipient_name">
|
||||
<el-input v-model="editForm.recipient_name" maxlength="50" />
|
||||
<el-input v-model="editForm.recipient_name" maxlength="50" placeholder="请输入收货人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="收货手机" prop="recipient_phone">
|
||||
<el-input v-model="editForm.recipient_phone" maxlength="20" />
|
||||
<el-input v-model="editForm.recipient_phone" maxlength="20" placeholder="请输入手机号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -766,31 +795,54 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="详细地址" prop="shipping_address">
|
||||
<el-input v-model="editForm.shipping_address" type="textarea" :rows="2" maxlength="500" show-word-limit />
|
||||
<el-input v-model="editForm.shipping_address" type="textarea" :rows="2" maxlength="500" show-word-limit placeholder="请输入详细地址" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<!-- 处方信息 -->
|
||||
<div class="mb-4 pb-4 border-b border-gray-100">
|
||||
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
||||
</svg>
|
||||
<span>处方信息</span>
|
||||
</div>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否复诊">
|
||||
<el-switch v-model="editForm.is_follow_up" :active-value="1" :inactive-value="0" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="用药疗程">
|
||||
<el-input-number v-model="editForm.medication_days" :min="1" :max="999" :step="1" class="w-full" placeholder="天数(选填)">
|
||||
<template #append>天</template>
|
||||
</el-input-number>
|
||||
<div class="flex items-center gap-2">
|
||||
<el-input-number
|
||||
v-model="editForm.medication_days"
|
||||
:min="1"
|
||||
:max="999"
|
||||
:step="1"
|
||||
class="flex-1"
|
||||
placeholder="天数"
|
||||
controls-position="right"
|
||||
/>
|
||||
<span class="text-gray-600 text-sm">天</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="上次医生">
|
||||
<el-input v-model="editForm.prev_staff" maxlength="100" placeholder="医生/医助" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="剂数" prop="dose_count">
|
||||
<el-form-item :label="doseCountLabel" prop="dose_count">
|
||||
<el-input-number
|
||||
v-model="editForm.dose_count"
|
||||
:min="1"
|
||||
placeholder="剂数"
|
||||
:placeholder="doseCountLabel"
|
||||
class="w-full"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -809,35 +861,20 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 甘草预下单测试按钮 -->
|
||||
<el-row v-if="editForm.id" :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="甘草预下单">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
:loading="gancaoPreviewLoading"
|
||||
:icon="Search"
|
||||
@click="testGancaoPreview"
|
||||
>
|
||||
测试价格
|
||||
</el-button>
|
||||
<span class="ml-3 text-xs text-gray-400">
|
||||
测试当前配置的甘草预下单价格(不会真实提交订单)
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="上次医生">
|
||||
<el-input v-model="editForm.prev_staff" maxlength="100" placeholder="上次诊疗的医生/医助" />
|
||||
</el-form-item>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<!-- 服务信息 -->
|
||||
<div class="mb-4 pb-4 border-b border-gray-100">
|
||||
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
||||
</svg>
|
||||
<span>服务信息</span>
|
||||
</div>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="服务渠道">
|
||||
<el-input v-model="editForm.service_channel" maxlength="100" />
|
||||
<el-input v-model="editForm.service_channel" maxlength="100" placeholder="请输入服务渠道" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -861,7 +898,16 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 物流信息 -->
|
||||
<div class="mb-4 pb-4 border-b border-gray-100">
|
||||
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4" />
|
||||
</svg>
|
||||
<span>物流信息</span>
|
||||
</div>
|
||||
<el-form-item label="物流设置">
|
||||
<div class="flex gap-2 w-full">
|
||||
<el-select v-model="editForm.express_company" placeholder="承运商" class="w-[140px]">
|
||||
@@ -874,6 +920,33 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 甘草预下单测试按钮 -->
|
||||
<el-form-item v-if="editForm.id" label="甘草预下单">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="small"
|
||||
:loading="gancaoPreviewLoading"
|
||||
:icon="Search"
|
||||
@click="testGancaoPreview"
|
||||
>
|
||||
测试价格
|
||||
</el-button>
|
||||
<span class="ml-2 text-xs text-gray-400">
|
||||
测试当前配置的甘草预下单价格(不会真实提交订单)
|
||||
</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<!-- 费用信息 -->
|
||||
<div class="mb-4">
|
||||
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
<span>费用信息</span>
|
||||
</div>
|
||||
|
||||
<el-form-item label="费用类别" prop="fee_type">
|
||||
<el-select v-model="editForm.fee_type" class="w-full">
|
||||
<el-option label="挂号费" :value="1" />
|
||||
@@ -916,7 +989,7 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div class="text-xs text-gray-500 mt-1.5 leading-normal">
|
||||
可对照此处关联收款记录。已选收款合计:<span class="text-primary font-medium">¥{{ formatMoney(editLinkedPaidTotal) }}</span>。
|
||||
已选收款合计:<span class="text-primary font-medium">¥{{ formatMoney(editLinkedPaidTotal) }}</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -929,7 +1002,7 @@
|
||||
class="w-full font-medium"
|
||||
/>
|
||||
<div v-if="editDepositMin > 0" class="text-xs text-amber-500 mt-1.5 leading-normal">
|
||||
须 ≥ 定金门槛 ¥{{ formatMoney(editDepositMin) }}。若您手动填写的金额比关联的支付总额小,请确保符合您的业务逻辑。
|
||||
须 ≥ 定金门槛 ¥{{ formatMoney(editDepositMin) }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -939,10 +1012,13 @@
|
||||
>
|
||||
<el-input-number v-model="editForm.internal_cost" :min="0" :step="0.01" :precision="2" class="w-full" placeholder="内部管理核算(选填)" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注补充">
|
||||
<el-input v-model="editForm.remark_extra" type="textarea" :rows="2" maxlength="500" show-word-limit />
|
||||
<el-input v-model="editForm.remark_extra" type="textarea" :rows="2" maxlength="500" show-word-limit placeholder="可选填备注信息" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button @click="editVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="editSaving" @click="submitEdit">确认保存</el-button>
|
||||
@@ -1518,8 +1594,12 @@ const transformRegionData = (data: any[]) => {
|
||||
const loadRegionData = async () => {
|
||||
try {
|
||||
console.log('开始加载省市区数据...')
|
||||
// 使用代理路径,需要在vite.config.ts中配置代理
|
||||
const response = await fetch('/api-proxy/area/ChinaCitys.json')
|
||||
// 开发环境使用代理,生产环境使用环境变量中的基础URL
|
||||
const apiUrl = import.meta.env.DEV
|
||||
? '/api-proxy/area/ChinaCitys.json'
|
||||
: `https://cos.zhenyangtang.com.cn/area/ChinaCitys.json`
|
||||
|
||||
const response = await fetch(apiUrl)
|
||||
console.log('响应状态:', response.status)
|
||||
|
||||
if (!response.ok) {
|
||||
@@ -1535,40 +1615,7 @@ const loadRegionData = async () => {
|
||||
} catch (error) {
|
||||
console.error('加载省市区数据失败:', error)
|
||||
// 如果加载失败,使用基本的省市数据作为后备
|
||||
regionOptions.value = [
|
||||
{
|
||||
value: '四川省',
|
||||
label: '四川省',
|
||||
children: [
|
||||
{
|
||||
value: '成都市',
|
||||
label: '成都市',
|
||||
children: [
|
||||
{ value: '武侯区', label: '武侯区' },
|
||||
{ value: '锦江区', label: '锦江区' },
|
||||
{ value: '青羊区', label: '青羊区' },
|
||||
{ value: '金牛区', label: '金牛区' },
|
||||
{ value: '成华区', label: '成华区' }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
value: '北京市',
|
||||
label: '北京市',
|
||||
children: [
|
||||
{
|
||||
value: '北京市',
|
||||
label: '北京市',
|
||||
children: [
|
||||
{ value: '朝阳区', label: '朝阳区' },
|
||||
{ value: '海淀区', label: '海淀区' },
|
||||
{ value: '东城区', label: '东城区' }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
regionOptions.value = []
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1584,6 +1631,22 @@ const loadServicePackageOptions = async () => {
|
||||
}
|
||||
}
|
||||
|
||||
// 状态标签页配置
|
||||
const statusTabs = ref([
|
||||
{ label: '全部', value: '' as number | '', count: undefined },
|
||||
{ label: '待双审通过', value: 1, count: undefined },
|
||||
{ label: '履约中', value: 2, count: undefined },
|
||||
{ label: '已发货', value: 5, count: undefined },
|
||||
{ label: '已完成', value: 3, count: undefined },
|
||||
{ label: '已取消', value: 4, count: undefined }
|
||||
])
|
||||
|
||||
// 处理状态标签点击
|
||||
const handleStatusTabClick = (value: number | '') => {
|
||||
queryParams.fulfillment_status = value
|
||||
resetPage()
|
||||
}
|
||||
|
||||
const queryParams = reactive({
|
||||
order_no: '',
|
||||
prescription_id: '' as string | number,
|
||||
@@ -1910,6 +1973,12 @@ const detailFullAddress = computed(() => {
|
||||
return parts.length > 0 ? parts.join(' ') : '—'
|
||||
})
|
||||
|
||||
// 动态剂数标签(根据剂量单位变化)
|
||||
const doseCountLabel = computed(() => {
|
||||
const unit = editForm.dose_unit || '剂'
|
||||
return `${unit}数`
|
||||
})
|
||||
|
||||
function consumerRxAuditText(s: number | undefined) {
|
||||
const n = Number(s)
|
||||
if (n === 1) return '已通过'
|
||||
|
||||
@@ -4,7 +4,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\BaseController;
|
||||
use app\common\model\tcm\PrescriptionOrder;
|
||||
use app\common\model\tcm\PrescriptionOrderLog;
|
||||
use think\facade\Config;
|
||||
@@ -14,154 +13,143 @@ use think\Response;
|
||||
/**
|
||||
* 甘草订单状态回调控制器
|
||||
*
|
||||
* 回调地址在【中药处方下单】时通过 callback_url 字段传入。
|
||||
* 当订单状态发生变化后,甘草会 POST 回调此地址。
|
||||
* 必须在 5 秒内返回纯文本 "ok",否则甘草视为失败并最多重试 10 次(间隔=失败次数×5分钟)。
|
||||
*
|
||||
* @see https://apidoc.igancao.com/service-doc/scm-outer-recipel.html#订单状态回调
|
||||
*/
|
||||
class GancaoCallbackController extends BaseController
|
||||
class GancaoCallbackController extends BaseApiController
|
||||
{
|
||||
public array $notNeedLogin = ['orderStatus'];
|
||||
/**
|
||||
* 甘草订单状态回调接口
|
||||
*
|
||||
* 回调地址在【中药处方下单】时用 callback_url 字段传入
|
||||
* 当订单状态发生变化后会触发业务回调
|
||||
*
|
||||
* @return Response
|
||||
* 甘草 state → 中文名称映射
|
||||
*/
|
||||
private const STATE_MAP = [
|
||||
10 => '系统审核中',
|
||||
11 => '系统审核通过',
|
||||
110 => '订单药房流转制作中',
|
||||
20 => '物流中',
|
||||
30 => '完成',
|
||||
90 => '拦截',
|
||||
91 => '主动撤单',
|
||||
92 => '驳回',
|
||||
];
|
||||
|
||||
/**
|
||||
* 物流商名称 → express_company 编码映射
|
||||
*/
|
||||
private const EXPRESS_MAP = [
|
||||
'顺丰' => 'sf',
|
||||
'京东' => 'jd',
|
||||
'极兔' => 'jt',
|
||||
'圆通' => 'yt',
|
||||
'中通' => 'zt',
|
||||
'韵达' => 'yd',
|
||||
'申通' => 'st',
|
||||
'邮政' => 'yz',
|
||||
'EMS' => 'ems',
|
||||
];
|
||||
|
||||
/**
|
||||
* 甘草订单状态回调入口
|
||||
*/
|
||||
public function orderStatus(): Response
|
||||
{
|
||||
try {
|
||||
// 获取原始请求体
|
||||
$rawBody = file_get_contents('php://input');
|
||||
|
||||
// 获取请求头
|
||||
$headers = $this->request->header();
|
||||
$accessAppkey = $headers['access-appkey'] ?? '';
|
||||
$accessNonce = $headers['access-nonce'] ?? '';
|
||||
$accessTimestamp = $headers['access-timestamp'] ?? '';
|
||||
$accessSign = $headers['access-sign'] ?? '';
|
||||
$accessAppkey = (string) ($headers['access-appkey'] ?? '');
|
||||
$accessNonce = (string) ($headers['access-nonce'] ?? '');
|
||||
$accessTimestamp = (string) ($headers['access-timestamp'] ?? '');
|
||||
$accessSign = (string) ($headers['access-sign'] ?? '');
|
||||
|
||||
// 记录回调请求
|
||||
Log::info('Gancao callback received', [
|
||||
'headers' => [
|
||||
'access-appkey' => $accessAppkey,
|
||||
'access-nonce' => $accessNonce,
|
||||
'access-timestamp' => $accessTimestamp,
|
||||
'access-sign' => $accessSign,
|
||||
],
|
||||
'appkey' => $accessAppkey,
|
||||
'nonce' => $accessNonce,
|
||||
'ts' => $accessTimestamp,
|
||||
'sign' => $accessSign,
|
||||
'body' => $rawBody,
|
||||
]);
|
||||
|
||||
// 验证签名
|
||||
if (!$this->verifySign($accessAppkey, $accessNonce, $accessTimestamp, $accessSign, $rawBody)) {
|
||||
Log::warning('Gancao callback sign verification failed', [
|
||||
'access-appkey' => $accessAppkey,
|
||||
'access-sign' => $accessSign,
|
||||
]);
|
||||
return $this->response('sign verification failed', 403);
|
||||
Log::warning('Gancao callback sign verification failed');
|
||||
return $this->ok();
|
||||
}
|
||||
|
||||
// 解析回调数据
|
||||
$data = json_decode($rawBody, true);
|
||||
if (!is_array($data)) {
|
||||
Log::error('Gancao callback invalid json', ['body' => $rawBody]);
|
||||
return $this->response('invalid json', 400);
|
||||
return $this->ok();
|
||||
}
|
||||
|
||||
// 处理回调数据
|
||||
$this->handleCallback($data);
|
||||
|
||||
// 必须在5秒内返回 "ok",否则会认为回调失败
|
||||
return $this->response('ok');
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('Gancao callback exception', [
|
||||
'message' => $e->getMessage(),
|
||||
'file' => $e->getFile(),
|
||||
'line' => $e->getLine(),
|
||||
'trace' => $e->getTraceAsString(),
|
||||
]);
|
||||
}
|
||||
|
||||
// 即使出错也要返回 ok,避免甘草重试
|
||||
return $this->response('ok');
|
||||
}
|
||||
return $this->ok();
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 签名验证 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/**
|
||||
* 验证回调签名
|
||||
*
|
||||
* 签名算法:md5(access-appkey + secret-key + access-nonce + access-timestamp + $sBody)
|
||||
*
|
||||
* @param string $appkey
|
||||
* @param string $nonce
|
||||
* @param string $timestamp
|
||||
* @param string $sign
|
||||
* @param string $body
|
||||
* @return bool
|
||||
* md5(access-appkey + secret-key + access-nonce + access-timestamp + $sBody)
|
||||
*/
|
||||
private function verifySign(string $appkey, string $nonce, string $timestamp, string $sign, string $body): bool
|
||||
{
|
||||
$config = Config::get('gancao_scm', []);
|
||||
|
||||
// 获取配置的 appkey 和 secret-key
|
||||
$configAppkey = (string) ($config['callback_appkey'] ?? $config['biz_ak'] ?? '');
|
||||
$secretKey = (string) ($config['callback_secret_key'] ?? $config['biz_sk'] ?? '');
|
||||
|
||||
// 验证 appkey
|
||||
if ($appkey !== $configAppkey) {
|
||||
Log::warning('Gancao callback appkey mismatch', [
|
||||
'received' => $appkey,
|
||||
'expected' => $configAppkey,
|
||||
]);
|
||||
if ($sign === '' || $appkey === '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 计算签名
|
||||
$expectedSign = md5($appkey . $secretKey . $nonce . $timestamp . $body);
|
||||
$config = Config::get('gancao_scm', []);
|
||||
$cfgAppkey = (string) ($config['biz_ak'] ?? '');
|
||||
$secretKey = (string) ($config['biz_sk'] ?? '');
|
||||
|
||||
// 验证签名
|
||||
if ($sign !== $expectedSign) {
|
||||
Log::warning('Gancao callback sign mismatch', [
|
||||
'received' => $sign,
|
||||
'expected' => $expectedSign,
|
||||
]);
|
||||
if ($appkey !== $cfgAppkey) {
|
||||
Log::warning('Gancao callback appkey mismatch', compact('appkey', 'cfgAppkey'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$expected = md5($appkey . $secretKey . $nonce . $timestamp . $body);
|
||||
if (!hash_equals($expected, $sign)) {
|
||||
Log::warning('Gancao callback sign mismatch', compact('sign', 'expected'));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理回调数据
|
||||
*
|
||||
* @param array<string,mixed> $data
|
||||
* @return void
|
||||
*/
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 回调数据处理 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function handleCallback(array $data): void
|
||||
{
|
||||
$recipelOrderNo = (string) ($data['recipel_order_no'] ?? '');
|
||||
$appOrderNo = (string) ($data['app_order_no'] ?? '');
|
||||
$state = (int) ($data['state'] ?? 0);
|
||||
$ext = $data['ext'] ?? [];
|
||||
$ext = is_array($data['ext'] ?? null) ? $data['ext'] : [];
|
||||
|
||||
if ($recipelOrderNo === '') {
|
||||
Log::warning('Gancao callback missing recipel_order_no', ['data' => $data]);
|
||||
if ($recipelOrderNo === '' && $appOrderNo === '') {
|
||||
Log::warning('Gancao callback missing order no', ['data' => $data]);
|
||||
return;
|
||||
}
|
||||
|
||||
// 查找订单
|
||||
$order = PrescriptionOrder::where('gancao_reciperl_order_no', $recipelOrderNo)
|
||||
->whereNull('delete_time')
|
||||
->find();
|
||||
|
||||
$order = $this->findOrder($recipelOrderNo, $appOrderNo);
|
||||
if (!$order) {
|
||||
Log::warning('Gancao callback order not found', [
|
||||
'recipel_order_no' => $recipelOrderNo,
|
||||
]);
|
||||
Log::warning('Gancao callback order not found', compact('recipelOrderNo', 'appOrderNo'));
|
||||
return;
|
||||
}
|
||||
|
||||
// 更新订单状态
|
||||
$this->updateOrderStatus($order, $state, $ext);
|
||||
|
||||
// 记录日志
|
||||
$this->writeCallbackLog($order, $state, $ext);
|
||||
|
||||
Log::info('Gancao callback processed', [
|
||||
@@ -173,114 +161,90 @@ class GancaoCallbackController extends BaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新订单状态
|
||||
*
|
||||
* 状态说明:
|
||||
* - 10: 系统审核中
|
||||
* - 11: 系统审核通过
|
||||
* - 110: 订单药房流转制作中
|
||||
* - 20: 物流中
|
||||
* - 30: 完成(终态)
|
||||
* - 90: 拦截(终止流转:可恢复)
|
||||
* - 91: 主动撤单(退费:终态)
|
||||
* - 92: 驳回(无法制作并退费:终态)
|
||||
*
|
||||
* @param PrescriptionOrder $order
|
||||
* @param int $state
|
||||
* @param array<string,mixed> $ext
|
||||
* @return void
|
||||
* 通过甘草处方单号或应用商订单号查找本地订单
|
||||
*/
|
||||
private function findOrder(string $recipelOrderNo, string $appOrderNo): ?PrescriptionOrder
|
||||
{
|
||||
if ($recipelOrderNo !== '') {
|
||||
$order = PrescriptionOrder::where('gancao_reciperl_order_no', $recipelOrderNo)
|
||||
->whereNull('delete_time')
|
||||
->find();
|
||||
if ($order) {
|
||||
return $order;
|
||||
}
|
||||
}
|
||||
|
||||
if ($appOrderNo !== '') {
|
||||
return PrescriptionOrder::where('order_no', $appOrderNo)
|
||||
->whereNull('delete_time')
|
||||
->find() ?: null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 订单状态更新 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/**
|
||||
* state 说明:
|
||||
* 10 系统审核中
|
||||
* 11 系统审核通过
|
||||
* 110 订单药房流转制作中(ext: flow_name, supplier)
|
||||
* 20 物流中(ext: shipping_name, nu, supplier)
|
||||
* 30 完成 - 终态(ext: shipping_name, nu, supplier)
|
||||
* 90 拦截 - 可恢复
|
||||
* 91 主动撤单 - 终态(退费)
|
||||
* 92 驳回 - 终态(无法制作并退费)
|
||||
*/
|
||||
private function updateOrderStatus(PrescriptionOrder $order, int $state, array $ext): void
|
||||
{
|
||||
// 保存甘草订单状态
|
||||
$order->gancao_order_state = $state;
|
||||
|
||||
// 根据状态更新订单履约状态
|
||||
switch ($state) {
|
||||
case 10: // 系统审核中
|
||||
case 11: // 系统审核通过
|
||||
// 保持当前状态
|
||||
case 10:
|
||||
case 11:
|
||||
break;
|
||||
|
||||
case 110: // 订单药房流转制作中
|
||||
$flowName = (string) ($ext['flow_name'] ?? '');
|
||||
$supplier = (string) ($ext['supplier'] ?? '');
|
||||
|
||||
// 记录流程信息
|
||||
$order->gancao_flow_name = mb_substr($flowName, 0, 100);
|
||||
$order->gancao_supplier = mb_substr($supplier, 0, 100);
|
||||
|
||||
// 如果是发货流程,更新履约状态
|
||||
if (str_contains($flowName, '发货') || str_contains($flowName, '寄出')) {
|
||||
if ((int) $order->fulfillment_status === 2) {
|
||||
$order->fulfillment_status = 5; // 已发货
|
||||
}
|
||||
}
|
||||
case 110:
|
||||
$this->handleProduction($order, $ext);
|
||||
break;
|
||||
|
||||
case 20: // 物流中
|
||||
$shippingName = (string) ($ext['shipping_name'] ?? '');
|
||||
$nu = (string) ($ext['nu'] ?? '');
|
||||
$supplier = (string) ($ext['supplier'] ?? '');
|
||||
|
||||
// 更新物流信息
|
||||
if ($nu !== '') {
|
||||
$order->tracking_number = mb_substr($nu, 0, 100);
|
||||
}
|
||||
if ($shippingName !== '') {
|
||||
// 转换快递公司名称
|
||||
$expressMap = [
|
||||
'顺丰' => 'sf',
|
||||
'京东' => 'jd',
|
||||
'极兔' => 'jt',
|
||||
];
|
||||
foreach ($expressMap as $name => $code) {
|
||||
if (str_contains($shippingName, $name)) {
|
||||
$order->express_company = $code;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 更新履约状态为已发货
|
||||
if ((int) $order->fulfillment_status === 2) {
|
||||
$order->fulfillment_status = 5;
|
||||
}
|
||||
case 20:
|
||||
$this->handleShipping($order, $ext);
|
||||
break;
|
||||
|
||||
case 30: // 完成
|
||||
// 更新履约状态为已完成
|
||||
case 30:
|
||||
$this->handleShipping($order, $ext);
|
||||
if ((int) $order->fulfillment_status !== 4) {
|
||||
$order->fulfillment_status = 3;
|
||||
$order->fulfillment_status = 3; // 已完成
|
||||
}
|
||||
break;
|
||||
|
||||
case 90: // 拦截
|
||||
// 记录拦截原因
|
||||
$order->gancao_remark = '订单被拦截';
|
||||
case 90:
|
||||
$order->gancao_remark = '甘草订单被拦截(可恢复)';
|
||||
break;
|
||||
|
||||
case 91: // 主动撤单
|
||||
// 更新履约状态为已取消
|
||||
case 91:
|
||||
if ((int) $order->fulfillment_status !== 3) {
|
||||
$order->fulfillment_status = 4;
|
||||
$order->fulfillment_status = 4; // 已取消
|
||||
}
|
||||
$order->gancao_remark = '主动撤单(已退费)';
|
||||
$order->gancao_remark = '甘草主动撤单(已退费)';
|
||||
break;
|
||||
|
||||
case 92: // 驳回
|
||||
// 更新履约状态为已取消
|
||||
case 92:
|
||||
if ((int) $order->fulfillment_status !== 3) {
|
||||
$order->fulfillment_status = 4;
|
||||
$order->fulfillment_status = 4; // 已取消
|
||||
}
|
||||
$order->gancao_remark = '订单被驳回(无法制作并退费)';
|
||||
$order->gancao_remark = '甘草驳回(无法制作并退费)';
|
||||
break;
|
||||
}
|
||||
|
||||
try {
|
||||
$order->save();
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('Gancao callback update order failed', [
|
||||
Log::error('Gancao callback save failed', [
|
||||
'order_id' => $order->id,
|
||||
'error' => $e->getMessage(),
|
||||
]);
|
||||
@@ -288,62 +252,107 @@ class GancaoCallbackController extends BaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* 记录回调日志
|
||||
*
|
||||
* @param PrescriptionOrder $order
|
||||
* @param int $state
|
||||
* @param array<string,mixed> $ext
|
||||
* @return void
|
||||
* state=110:药房流转制作中
|
||||
*/
|
||||
private function writeCallbackLog(PrescriptionOrder $order, int $state, array $ext): void
|
||||
private function handleProduction(PrescriptionOrder $order, array $ext): void
|
||||
{
|
||||
$stateMap = [
|
||||
10 => '系统审核中',
|
||||
11 => '系统审核通过',
|
||||
110 => '订单药房流转制作中',
|
||||
20 => '物流中',
|
||||
30 => '完成',
|
||||
90 => '拦截',
|
||||
91 => '主动撤单',
|
||||
92 => '驳回',
|
||||
];
|
||||
$flowName = (string) ($ext['flow_name'] ?? '');
|
||||
$supplier = (string) ($ext['supplier'] ?? '');
|
||||
|
||||
$stateName = $stateMap[$state] ?? "状态{$state}";
|
||||
|
||||
$summary = "甘草订单状态更新:{$stateName}";
|
||||
|
||||
// 添加扩展信息
|
||||
if (isset($ext['flow_name'])) {
|
||||
$summary .= ",流程:{$ext['flow_name']}";
|
||||
if ($flowName !== '') {
|
||||
$order->gancao_flow_name = mb_substr($flowName, 0, 100);
|
||||
}
|
||||
if (isset($ext['shipping_name']) && isset($ext['nu'])) {
|
||||
$summary .= ",物流:{$ext['shipping_name']} {$ext['nu']}";
|
||||
if ($supplier !== '') {
|
||||
$order->gancao_supplier = mb_substr($supplier, 0, 100);
|
||||
}
|
||||
|
||||
$log = new PrescriptionOrderLog();
|
||||
$log->prescription_order_id = (int) $order->id;
|
||||
$log->admin_id = 0; // 系统回调
|
||||
$log->admin_name = '甘草系统';
|
||||
$log->action = 'gancao_callback';
|
||||
$log->summary = mb_substr($summary, 0, 500);
|
||||
$log->create_time = time();
|
||||
|
||||
try {
|
||||
$log->save();
|
||||
} catch (\Throwable $e) {
|
||||
// 忽略日志写入错误
|
||||
$fs = (int) $order->fulfillment_status;
|
||||
if ($fs === 2 && (str_contains($flowName, '发货') || str_contains($flowName, '寄出'))) {
|
||||
$order->fulfillment_status = 5; // 已发货
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回响应
|
||||
*
|
||||
* @param string $message
|
||||
* @param int $code
|
||||
* @return Response
|
||||
* state=20/30:物流中 / 已完成 — 回写快递单号与快递公司
|
||||
*/
|
||||
private function response(string $message, int $code = 200): Response
|
||||
private function handleShipping(PrescriptionOrder $order, array $ext): void
|
||||
{
|
||||
return response($message, $code, [], 'html');
|
||||
$shippingName = (string) ($ext['shipping_name'] ?? '');
|
||||
$nu = (string) ($ext['nu'] ?? '');
|
||||
$supplier = (string) ($ext['supplier'] ?? '');
|
||||
|
||||
if ($nu !== '') {
|
||||
$order->tracking_number = mb_substr($nu, 0, 80);
|
||||
}
|
||||
if ($shippingName !== '') {
|
||||
$order->gancao_shipping_name = mb_substr($shippingName, 0, 50);
|
||||
$order->express_company = $this->resolveExpressCode($shippingName);
|
||||
}
|
||||
if ($supplier !== '') {
|
||||
$order->gancao_supplier = mb_substr($supplier, 0, 100);
|
||||
}
|
||||
|
||||
$fs = (int) $order->fulfillment_status;
|
||||
if (in_array($fs, [1, 2], true)) {
|
||||
$order->fulfillment_status = 5; // 已发货
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将甘草返回的物流商名称解析为系统内 express_company 短码
|
||||
*/
|
||||
private function resolveExpressCode(string $shippingName): string
|
||||
{
|
||||
foreach (self::EXPRESS_MAP as $keyword => $code) {
|
||||
if (str_contains($shippingName, $keyword)) {
|
||||
return $code;
|
||||
}
|
||||
}
|
||||
return 'auto';
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 操作日志 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function writeCallbackLog(PrescriptionOrder $order, int $state, array $ext): void
|
||||
{
|
||||
$stateName = self::STATE_MAP[$state] ?? "未知状态({$state})";
|
||||
$summary = "甘草回调:{$stateName}";
|
||||
|
||||
if (isset($ext['flow_name'])) {
|
||||
$summary .= " | 流程:{$ext['flow_name']}";
|
||||
}
|
||||
if (isset($ext['supplier'])) {
|
||||
$summary .= " | 药房:{$ext['supplier']}";
|
||||
}
|
||||
if (isset($ext['shipping_name'])) {
|
||||
$summary .= " | 物流:{$ext['shipping_name']}";
|
||||
}
|
||||
if (isset($ext['nu'])) {
|
||||
$summary .= " | 单号:{$ext['nu']}";
|
||||
}
|
||||
|
||||
try {
|
||||
$log = new PrescriptionOrderLog();
|
||||
$log->prescription_order_id = (int) $order->id;
|
||||
$log->admin_id = 0;
|
||||
$log->admin_name = '甘草系统';
|
||||
$log->action = 'gancao_callback';
|
||||
$log->summary = mb_substr($summary, 0, 500);
|
||||
$log->create_time = time();
|
||||
$log->save();
|
||||
} catch (\Throwable $e) {
|
||||
Log::warning('Gancao callback log write failed', ['error' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 响应 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function ok(): Response
|
||||
{
|
||||
return response('ok', 200, [], 'html');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,30 @@ class TrtcController extends BaseApiController
|
||||
public array $notNeedLogin = ['recordingNotify'];
|
||||
|
||||
/**
|
||||
* POST /api/trtc/recording-notify 或 /api/trtc/recordingNotify(与控制台回调 URL 一致即可)
|
||||
* 可选安全:环境变量 TRTC_RECORDING_CALLBACK_TOKEN 非空时,Query 需带 ?token=xxx
|
||||
* 事件类型常量(EventGroupId=3 云端录制)
|
||||
* @see https://cloud.tencent.com/document/product/647/81113
|
||||
*/
|
||||
private const ET_RECORDER_START = 301;
|
||||
private const ET_RECORDER_STOP = 302;
|
||||
private const ET_UPLOAD_START = 303;
|
||||
private const ET_FILE_INFO = 304;
|
||||
private const ET_UPLOAD_STOP = 305;
|
||||
private const ET_FILE_SLICE = 307;
|
||||
private const ET_MP4_STOP = 310; // COS MP4 上传完成
|
||||
private const ET_VOD_COMMIT = 311; // VOD 上传完成
|
||||
private const ET_VOD_STOP = 312;
|
||||
|
||||
private const PROGRESS_EVENTS = [
|
||||
self::ET_RECORDER_START,
|
||||
self::ET_RECORDER_STOP,
|
||||
self::ET_UPLOAD_START,
|
||||
self::ET_FILE_INFO,
|
||||
self::ET_UPLOAD_STOP,
|
||||
self::ET_FILE_SLICE,
|
||||
self::ET_VOD_STOP,
|
||||
306, 308, 309,
|
||||
];
|
||||
|
||||
public function recordingNotify()
|
||||
{
|
||||
$token = (string)config('trtc.recording_callback_token', '');
|
||||
@@ -40,37 +61,78 @@ class TrtcController extends BaseApiController
|
||||
$eventType = (int)($json['EventType'] ?? 0);
|
||||
$roomId = $this->extractRoomId($json);
|
||||
$taskId = trim((string)data_get($json, 'EventInfo.TaskId', ''));
|
||||
$payload = data_get($json, 'EventInfo.Payload');
|
||||
if (!is_array($payload)) {
|
||||
$payload = [];
|
||||
}
|
||||
|
||||
Log::info('TRTC callback recv', [
|
||||
'EventType' => $eventType,
|
||||
'roomId' => $roomId,
|
||||
'TaskId' => $taskId,
|
||||
'PayloadKeys' => implode(',', array_keys($payload)),
|
||||
]);
|
||||
|
||||
// 0. 提前查找 call_record(COS 310 拼 URL 需要它的 diagnosis_id + id 来还原前缀)
|
||||
$record = $this->resolveCallRecordForNotify($roomId, $taskId);
|
||||
|
||||
// 1. 尝试提取 HTTP URL(VOD 311 等)
|
||||
$urls = $this->extractRecordingUrls($json);
|
||||
|
||||
// 2. COS 存储:EventType=310 MP4 上传完成,从文件名拼接 COS URL
|
||||
if ($urls === [] && $eventType === self::ET_MP4_STOP) {
|
||||
$cosPrefix = $this->resolveRecordingCosPrefix($record);
|
||||
$urls = $this->buildCosUrlsFromPayload($payload, $taskId, $cosPrefix);
|
||||
if ($urls === []) {
|
||||
// 301–308 等为进度事件,无播放地址;311=VOD 上传完成带 VideoUrl(见文档 81113)
|
||||
$mayHaveUrl = in_array($eventType, [309, 310, 311], true);
|
||||
$payload = data_get($json, 'EventInfo.Payload');
|
||||
if ($urls === [] && $eventType === 311) {
|
||||
Log::warning('TRTC recording callback: 311 但未解析到 VideoUrl(可能 Status!=0 或字段名变更)', [
|
||||
'PayloadStatus' => is_array($payload) ? ($payload['Status'] ?? null) : null,
|
||||
'Errmsg' => is_array($payload) ? ($payload['Errmsg'] ?? $payload['ErrMsg'] ?? null) : null,
|
||||
'TaskId' => $taskId !== '' ? $taskId : null,
|
||||
'roomId' => $roomId !== '' ? $roomId : null,
|
||||
Log::warning('TRTC 310 (COS MP4) 未解析到文件', [
|
||||
'Status' => $payload['Status'] ?? null,
|
||||
'FileList' => json_encode($payload['FileList'] ?? null, JSON_UNESCAPED_UNICODE),
|
||||
'FileMessage' => json_encode($payload['FileMessage'] ?? null, JSON_UNESCAPED_UNICODE),
|
||||
'TaskId' => $taskId,
|
||||
'roomId' => $roomId,
|
||||
'cosPrefix' => $cosPrefix,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// 2b. COS HLS 兜底:305(上传结束) 时用同样的前缀
|
||||
if ($urls === [] && $eventType === self::ET_UPLOAD_STOP) {
|
||||
$cosPrefix = $this->resolveRecordingCosPrefix($record);
|
||||
$hlsUrls = $this->buildCosHlsUrlFromPayload($payload, $taskId, $roomId, $cosPrefix);
|
||||
if ($hlsUrls !== []) {
|
||||
$urls = $hlsUrls;
|
||||
}
|
||||
}
|
||||
|
||||
// 3. 311 但无 URL(Status!=0 或字段变更)
|
||||
if ($urls === [] && $eventType === self::ET_VOD_COMMIT) {
|
||||
Log::warning('TRTC 311 (VOD) 未解析到 VideoUrl', [
|
||||
'Status' => $payload['Status'] ?? null,
|
||||
'Errmsg' => $payload['Errmsg'] ?? $payload['ErrMsg'] ?? null,
|
||||
'TaskId' => $taskId,
|
||||
'roomId' => $roomId,
|
||||
]);
|
||||
}
|
||||
|
||||
// 4. 无 URL:进度/状态事件,正常跳过
|
||||
if ($urls === []) {
|
||||
if (!in_array($eventType, self::PROGRESS_EVENTS, true)) {
|
||||
Log::info('TRTC callback: no url', [
|
||||
'EventType' => $eventType,
|
||||
'TaskId' => $taskId,
|
||||
'roomId' => $roomId,
|
||||
]);
|
||||
}
|
||||
Log::info(
|
||||
'TRTC recording callback: skip (no playback url in payload) '
|
||||
. 'EventType=' . $eventType
|
||||
. ' EventGroupId=' . (string)($json['EventGroupId'] ?? '')
|
||||
. ' TaskId=' . ($taskId !== '' ? $taskId : '-')
|
||||
. ' roomId=' . ($roomId !== '' ? $roomId : '-')
|
||||
. ' ' . ($mayHaveUrl ? 'expect_url' : 'progress_ok')
|
||||
);
|
||||
return json(['code' => 0, 'msg' => 'ok']);
|
||||
}
|
||||
|
||||
$record = $this->resolveCallRecordForNotify($roomId, $taskId);
|
||||
// 5. 写入 call_record
|
||||
if (!$record) {
|
||||
Log::warning('TRTC recording: no call_record (try room_id + cloud_recording_task_id)', [
|
||||
Log::warning('TRTC recording: no call_record', [
|
||||
'roomId' => $roomId,
|
||||
'TaskId' => $taskId,
|
||||
'EventType' => $eventType,
|
||||
'urls' => json_encode($urls, JSON_UNESCAPED_UNICODE),
|
||||
]);
|
||||
return json(['code' => 0, 'msg' => 'ok']);
|
||||
}
|
||||
@@ -91,11 +153,174 @@ class TrtcController extends BaseApiController
|
||||
'update_time' => time(),
|
||||
]);
|
||||
|
||||
Log::info('TRTC recording saved', ['id' => $record->id, 'urls' => count($merged)]);
|
||||
Log::info('TRTC recording saved', [
|
||||
'id' => $record->id,
|
||||
'EventType' => $eventType,
|
||||
'roomId' => $roomId,
|
||||
'newUrls' => count($urls),
|
||||
'totalUrls' => count($merged),
|
||||
]);
|
||||
|
||||
return json(['code' => 0, 'msg' => 'ok']);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* COS 前缀还原 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/**
|
||||
* 还原 CreateCloudRecording 时使用的 FileNamePrefix。
|
||||
* 录制启动时前缀为 mix_{diagnosisId}_{callRecordId},回调时需还原。
|
||||
*/
|
||||
private function resolveRecordingCosPrefix(?CallRecord $record): string
|
||||
{
|
||||
if ($record && !empty($record->diagnosis_id) && !empty($record->id)) {
|
||||
return 'mix_' . (int)$record->diagnosis_id . '_' . (int)$record->id;
|
||||
}
|
||||
return $this->cosConfig('recording_cos_prefix', 'trtc-recording');
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* COS 配置读取(config() 优先,env() 兜底,兼容 config 文件未同步部署) */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function cosConfig(string $key, string $default = ''): string
|
||||
{
|
||||
$val = trim((string)config("trtc.{$key}", ''));
|
||||
if ($val !== '') {
|
||||
return $val;
|
||||
}
|
||||
return trim((string)env("trtc.{$key}", $default));
|
||||
}
|
||||
|
||||
private function cosBucket(): string
|
||||
{
|
||||
return $this->cosConfig('recording_cos_bucket');
|
||||
}
|
||||
|
||||
private function cosRegion(): string
|
||||
{
|
||||
$r = $this->cosConfig('recording_cos_region');
|
||||
return $r !== '' ? $r : $this->cosConfig('recording_api_region', 'ap-guangzhou');
|
||||
}
|
||||
|
||||
private function cosPrefix(): string
|
||||
{
|
||||
return $this->cosConfig('recording_cos_prefix', 'trtc-recording');
|
||||
}
|
||||
|
||||
private function cosPrefixParts(): array
|
||||
{
|
||||
$raw = $this->cosPrefix();
|
||||
return $raw !== '' ? explode('/', rtrim($raw, '/')) : [];
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* COS 文件 URL 拼接 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/**
|
||||
* EventType=310 的 Payload 中提取文件名,拼接完整 COS 下载 URL。
|
||||
*
|
||||
* COS 路径格式:{FileNamePrefix}/{TaskId}/{FileName}
|
||||
* URL:https://{Bucket}.cos.{Region}.myqcloud.com/{path}
|
||||
*
|
||||
* @return list<string>
|
||||
*/
|
||||
private function buildCosUrlsFromPayload(array $payload, string $taskId, string $prefix): array
|
||||
{
|
||||
$status = (int)($payload['Status'] ?? -1);
|
||||
if ($status === 2 || $status === -1) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$fileNames = [];
|
||||
|
||||
if (!empty($payload['FileMessage']) && is_array($payload['FileMessage'])) {
|
||||
foreach ($payload['FileMessage'] as $fm) {
|
||||
if (is_array($fm) && !empty($fm['FileName'])) {
|
||||
$fileNames[] = trim((string)$fm['FileName']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($fileNames === [] && !empty($payload['FileList'])) {
|
||||
$fl = $payload['FileList'];
|
||||
if (is_array($fl)) {
|
||||
foreach ($fl as $f) {
|
||||
if (is_string($f) && trim($f) !== '') {
|
||||
$fileNames[] = trim($f);
|
||||
}
|
||||
}
|
||||
} elseif (is_string($fl) && trim($fl) !== '') {
|
||||
$fileNames[] = trim($fl);
|
||||
}
|
||||
}
|
||||
|
||||
if ($fileNames === []) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$bucket = $this->cosBucket();
|
||||
$region = $this->cosRegion();
|
||||
|
||||
if ($bucket === '') {
|
||||
Log::warning('TRTC 310: COS bucket 未配置,无法拼接下载 URL', ['files' => implode(', ', $fileNames)]);
|
||||
return [];
|
||||
}
|
||||
|
||||
$prefixParts = $prefix !== '' ? explode('/', rtrim($prefix, '/')) : [];
|
||||
$baseUrl = "https://{$bucket}.cos.{$region}.myqcloud.com";
|
||||
|
||||
$urls = [];
|
||||
foreach ($fileNames as $fn) {
|
||||
$parts = array_merge($prefixParts, [$taskId, $fn]);
|
||||
$path = implode('/', array_filter($parts, fn($p) => $p !== ''));
|
||||
$urls[] = $baseUrl . '/' . $path;
|
||||
}
|
||||
|
||||
return $urls;
|
||||
}
|
||||
|
||||
/**
|
||||
* COS HLS 兜底:OutputFormat=0(hls) 时不会有 310 事件。
|
||||
* 305(UPLOAD_STOP) 后用录制的 m3u8 文件名拼 COS URL。
|
||||
*/
|
||||
private function buildCosHlsUrlFromPayload(array $payload, string $taskId, string $roomId, string $prefix): array
|
||||
{
|
||||
$status = (int)($payload['Status'] ?? -1);
|
||||
if ($status !== 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$bucket = $this->cosBucket();
|
||||
if ($bucket === '') {
|
||||
return [];
|
||||
}
|
||||
$region = $this->cosRegion();
|
||||
|
||||
$prefixParts = $prefix !== '' ? explode('/', rtrim($prefix, '/')) : [];
|
||||
|
||||
$sdkAppId = (int)(config('trtc.sdkAppId', 0) ?: env('trtc.sdk_app_id', 0));
|
||||
$m3u8Name = "{$sdkAppId}_{$roomId}.m3u8";
|
||||
|
||||
$parts = array_merge($prefixParts, [$taskId, $m3u8Name]);
|
||||
$path = implode('/', array_filter($parts, fn($p) => $p !== ''));
|
||||
$url = "https://{$bucket}.cos.{$region}.myqcloud.com/{$path}";
|
||||
|
||||
Log::info('TRTC 305 HLS fallback', [
|
||||
'roomId' => $roomId,
|
||||
'TaskId' => $taskId,
|
||||
'url' => $url,
|
||||
]);
|
||||
|
||||
return [$url];
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 字段提取 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function extractRoomId(array $data): string
|
||||
{
|
||||
$candidates = [
|
||||
@@ -119,9 +344,6 @@ class TrtcController extends BaseApiController
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 先按 room_id,再按 CreateCloudRecording 返回的 TaskId(须库中仍保留 cloud_recording_task_id)
|
||||
*/
|
||||
private function resolveCallRecordForNotify(string $roomId, string $taskId): ?CallRecord
|
||||
{
|
||||
if ($roomId !== '') {
|
||||
@@ -148,7 +370,7 @@ class TrtcController extends BaseApiController
|
||||
}
|
||||
|
||||
/**
|
||||
* 从回调 JSON 中提取录制文件地址(混流/单路字段名在不同版本可能不同)
|
||||
* 从回调 JSON 中递归提取 HTTP URL(适用于 VOD 311 等含 VideoUrl/MediaUrl 的事件)
|
||||
*/
|
||||
private function extractRecordingUrls(array $data): array
|
||||
{
|
||||
@@ -177,11 +399,10 @@ class TrtcController extends BaseApiController
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将腾讯云录制地址拉取到本服务器 public/uploads(需在 .env 开启 trtc.recording_mirror_to_storage=1)
|
||||
* @param array<int, string> $urls
|
||||
* @return array<int, string>
|
||||
*/
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* 可选:镜像录制文件到本服务器 */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
private function mirrorRecordingUrlsIfEnabled(array $urls): array
|
||||
{
|
||||
if (!(int)config('trtc.recording_mirror_to_storage', 0)) {
|
||||
|
||||
@@ -103,10 +103,12 @@ class TrtcCloudRecordingService
|
||||
$req->UserSig = $botUserSig;
|
||||
|
||||
$recordParams = new \TencentCloud\Trtc\V20190722\Models\RecordParams();
|
||||
// 合流录制:RecordMode=2(见 https://cloud.tencent.com/document/product/647/76497 方案二 API 手动录制)
|
||||
$recordParams->RecordMode = self::RECORD_MODE_MIX;
|
||||
$recordParams->StreamType = 0;
|
||||
$recordParams->MaxIdleTime = (int)config('trtc.recording_max_idle_time', 300);
|
||||
// COS 存储时 OutputFormat 决定输出格式:0=hls(默认)、1=hls+mp4、3=mp4。
|
||||
// 310 回调仅在产出 MP4 时触发;默认 hls 不会生成 MP4 → 永远收不到 310。
|
||||
$recordParams->OutputFormat = (int)config('trtc.recording_output_format', 3);
|
||||
// 不订阅录制机器人自身流,避免占混流画面;医患流仍默认全订阅
|
||||
$subscribe = new \TencentCloud\Trtc\V20190722\Models\SubscribeStreamUserIds();
|
||||
$subscribe->UnSubscribeAudioUserIds = [$botUserId];
|
||||
@@ -114,21 +116,25 @@ class TrtcCloudRecordingService
|
||||
$recordParams->SubscribeStreamUserIds = $subscribe;
|
||||
$req->RecordParams = $recordParams;
|
||||
|
||||
$tencentVod = new \TencentCloud\Trtc\V20190722\Models\TencentVod();
|
||||
$tencentVod->ExpireTime = 0;
|
||||
$tencentVod->MediaType = 0;
|
||||
// 使用 COS 对象存储
|
||||
$cloudStorage = new \TencentCloud\Trtc\V20190722\Models\CloudStorage();
|
||||
$cloudStorage->Vendor = (int)config('trtc.recording_cos_vendor', 0);
|
||||
$cosRegion = trim((string)config('trtc.recording_cos_region', ''));
|
||||
$cloudStorage->Region = $cosRegion !== '' ? $cosRegion : $region;
|
||||
$cloudStorage->Bucket = trim((string)config('trtc.recording_cos_bucket', ''));
|
||||
$cosAk = trim((string)config('trtc.recording_cos_access_key', ''));
|
||||
$cosSk = trim((string)config('trtc.recording_cos_secret_key', ''));
|
||||
$cloudStorage->AccessKey = $cosAk !== '' ? $cosAk : $secretId;
|
||||
$cloudStorage->SecretKey = $cosSk !== '' ? $cosSk : $secretKey;
|
||||
|
||||
$prefix = self::sanitizeVodUserDefineRecordId($vodUserDefineRecordId);
|
||||
if ($prefix !== '') {
|
||||
$tencentVod->UserDefineRecordId = $prefix;
|
||||
if ($prefix === '') {
|
||||
$prefix = rtrim((string)config('trtc.recording_cos_prefix', 'trtc-recording'), '/');
|
||||
}
|
||||
$vodSubApp = (int)config('trtc.recording_vod_sub_app_id', 0);
|
||||
if ($vodSubApp > 0) {
|
||||
$tencentVod->SubAppId = $vodSubApp;
|
||||
}
|
||||
$cloudVod = new \TencentCloud\Trtc\V20190722\Models\CloudVod();
|
||||
$cloudVod->TencentVod = $tencentVod;
|
||||
$cloudStorage->FileNamePrefix = $prefix !== '' ? explode('/', $prefix) : [];
|
||||
|
||||
$storage = new \TencentCloud\Trtc\V20190722\Models\StorageParams();
|
||||
$storage->CloudVod = $cloudVod;
|
||||
$storage->CloudStorage = $cloudStorage;
|
||||
$req->StorageParams = $storage;
|
||||
|
||||
// MixTranscodeParams:SDK 说明「若设置该参数则内部字段须填全」。仅填 VideoParams 未填 AudioParams 可能导致合流异常或退化为非预期行为
|
||||
@@ -157,13 +163,19 @@ class TrtcCloudRecordingService
|
||||
$mixLayout->MixLayoutMode = $layoutMode;
|
||||
$req->MixLayoutParams = $mixLayout;
|
||||
|
||||
Log::info('CreateCloudRecording mix', [
|
||||
$usedAk = (string)$cloudStorage->AccessKey;
|
||||
Log::info('CreateCloudRecording mix (COS)', [
|
||||
'sdkAppId' => $sdkAppId,
|
||||
'roomId' => $roomId,
|
||||
'roomIdType' => $roomIdType,
|
||||
'recordMode' => self::RECORD_MODE_MIX,
|
||||
'outputFormat' => $recordParams->OutputFormat,
|
||||
'mixLayoutMode' => $layoutMode,
|
||||
'vodUserDefineRecordId' => $prefix !== '' ? $prefix : null,
|
||||
'bucket' => $cloudStorage->Bucket,
|
||||
'region' => $cloudStorage->Region,
|
||||
'fileNamePrefix' => implode('/', $cloudStorage->FileNamePrefix ?: []),
|
||||
'cosAkSource' => $cosAk !== '' ? 'cos_config' : 'api_secret_id',
|
||||
'cosAkPrefix' => substr($usedAk, 0, 8) . '***',
|
||||
]);
|
||||
|
||||
$resp = $client->CreateCloudRecording($req);
|
||||
@@ -265,20 +277,20 @@ class TrtcCloudRecordingService
|
||||
}
|
||||
|
||||
/**
|
||||
* TencentVod.UserDefineRecordId:仅 a-zA-Z0-9_-
|
||||
* COS 存储路径前缀:仅 a-zA-Z0-9_-/
|
||||
*/
|
||||
private static function sanitizeVodUserDefineRecordId(?string $raw): string
|
||||
{
|
||||
if ($raw === null || $raw === '') {
|
||||
return '';
|
||||
}
|
||||
$s = preg_replace('/[^a-zA-Z0-9_-]/', '', $raw) ?? '';
|
||||
$s = preg_replace('/[^a-zA-Z0-9_\/-]/', '', $raw) ?? '';
|
||||
|
||||
return strlen($s) > 64 ? substr($s, 0, 64) : $s;
|
||||
}
|
||||
|
||||
/**
|
||||
* 混流时 StorageFile.UserId 应为空串;非空则多为单流。用于区分控制台全局单流与 API 合流。
|
||||
* COS 存储时 StorageFile 结构不同于 VOD。
|
||||
* CreateCloudRecording 后立刻查询常为 Idle,约 2s 后再查一次再下结论。
|
||||
*/
|
||||
private static function logDescribeCloudRecordingHint(
|
||||
@@ -315,8 +327,8 @@ class TrtcCloudRecordingService
|
||||
sleep(2);
|
||||
$second = $snap();
|
||||
if (strcasecmp($second['status'], 'Idle') !== 0) {
|
||||
Log::info('DescribeCloudRecording(合流校验): 首次 Idle,约2s 后已非 Idle', $second + [
|
||||
'hint' => '启动瞬间 Idle 属常见;VOD 成片仍以回调311与点播为准',
|
||||
Log::info('DescribeCloudRecording(合流校验-COS): 首次 Idle,约2s 后已非 Idle', $second + [
|
||||
'hint' => '启动瞬间 Idle 属常见;COS 文件以实际上传为准',
|
||||
]);
|
||||
|
||||
return;
|
||||
@@ -329,8 +341,8 @@ class TrtcCloudRecordingService
|
||||
return;
|
||||
}
|
||||
|
||||
Log::info('DescribeCloudRecording(合流校验)', $first + [
|
||||
'hint' => $first['firstFileUserId'] === '' ? 'VOD 场景 StorageFileList 常为空,以点播媒资+311 回调为准' : 'firstFileUserId 非空更像单流',
|
||||
Log::info('DescribeCloudRecording(合流校验-COS)', $first + [
|
||||
'hint' => 'COS 存储场景,文件将直接上传到对象存储桶',
|
||||
]);
|
||||
} catch (\Throwable $e) {
|
||||
Log::info('DescribeCloudRecording 跳过: ' . $e->getMessage());
|
||||
|
||||
@@ -429,7 +429,8 @@ final class GancaoScmRecipelService
|
||||
'taboo'=>$rx['dietary_taboo'],
|
||||
'usage_time'=>$rx['usage_time'],
|
||||
'usage_brief'=>$rx['usage_instruction'],
|
||||
'others'=>$rx['usage_notes']
|
||||
'others'=>$rx['usage_notes'],
|
||||
'notes_doctor'=>$order['remark_extra']
|
||||
];
|
||||
$base['express_type']="general";
|
||||
$base['cradle_store']="线上接诊";
|
||||
@@ -455,6 +456,7 @@ final class GancaoScmRecipelService
|
||||
'sex'=>$rx['gender_desc']=='男'?1:0
|
||||
];
|
||||
}
|
||||
|
||||
if ($dfId === 102) {
|
||||
$base['df102ext'] = [
|
||||
'times_per_day' =>$rx['times_per_day'],
|
||||
@@ -466,8 +468,10 @@ final class GancaoScmRecipelService
|
||||
'taboo'=>$rx['dietary_taboo'],
|
||||
'usage_time'=>$rx['usage_time'],
|
||||
'usage_brief'=>$rx['usage_instruction'],
|
||||
'others'=>$rx['usage_notes']
|
||||
'others'=>$rx['usage_notes'],
|
||||
'notes_doctor'=>$order['remark_extra']
|
||||
];
|
||||
|
||||
$base['express_type']="general";
|
||||
$base['cradle_store']="线上接诊";
|
||||
$base['app_order_no']=$order['order_no'];
|
||||
@@ -626,7 +630,6 @@ final class GancaoScmRecipelService
|
||||
'sex' => $sex,
|
||||
'phone' => $patientPhone,
|
||||
];
|
||||
|
||||
return $preview;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,19 @@ return [
|
||||
// 房间内无上行超过该秒数自动停录(RecordParams.MaxIdleTime)
|
||||
'recording_max_idle_time' => (int)env('trtc.recording_max_idle_time', 5),
|
||||
|
||||
// RecordParams.OutputFormat(仅 COS 存储生效):0=hls(默认 SDK 行为)、1=hls+mp4、3=mp4、4=aac
|
||||
// 需要收到 310(MP4上传完成) 回调必须设为 1 或 3;若只用 hls(0) 则仅有 305/307 回调,无 MP4 文件
|
||||
'recording_output_format' => (int)env('trtc.recording_output_format', 3),
|
||||
|
||||
// COS 对象存储(关闭控制台全局录制后,API 录制仅存 COS 时必填 bucket)
|
||||
// AccessKey/SecretKey 留空 → 自动复用上方 api_secret_id / api_secret_key(同账号下推荐留空)
|
||||
'recording_cos_vendor' => (int)env('trtc.recording_cos_vendor', 0),
|
||||
'recording_cos_region' => env('trtc.recording_cos_region', ''),
|
||||
'recording_cos_bucket' => env('trtc.recording_cos_bucket', ''),
|
||||
'recording_cos_access_key' => env('trtc.recording_cos_access_key', ''),
|
||||
'recording_cos_secret_key' => env('trtc.recording_cos_secret_key', ''),
|
||||
'recording_cos_prefix' => env('trtc.recording_cos_prefix', 'trtc-recording'),
|
||||
|
||||
// 云点播子应用 SubAppId(TencentVod),默认不填使用主应用
|
||||
'recording_vod_sub_app_id' => (int)env('trtc.recording_vod_sub_app_id', 0),
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
-- 甘草订单状态回调:增加回调状态、流程、药房、备注字段
|
||||
ALTER TABLE `zyt_tcm_prescription_order`
|
||||
ADD COLUMN `gancao_order_state` smallint(6) NOT NULL DEFAULT 0 COMMENT '甘草订单状态 10审核中 11审核通过 110制作中 20物流中 30完成 90拦截 91撤单 92驳回' AFTER `gancao_submit_time`,
|
||||
ADD COLUMN `gancao_flow_name` varchar(100) NOT NULL DEFAULT '' COMMENT '甘草当前加工流名(回调ext.flow_name)' AFTER `gancao_order_state`,
|
||||
ADD COLUMN `gancao_supplier` varchar(100) NOT NULL DEFAULT '' COMMENT '甘草制作药房(回调ext.supplier)' AFTER `gancao_flow_name`,
|
||||
ADD COLUMN `gancao_shipping_name` varchar(50) NOT NULL DEFAULT '' COMMENT '甘草物流商名称(回调ext.shipping_name)' AFTER `gancao_supplier`,
|
||||
ADD COLUMN `gancao_remark` varchar(500) NOT NULL DEFAULT '' COMMENT '甘草回调备注(拦截/撤单/驳回原因等)' AFTER `gancao_shipping_name`;
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import r from"./error-t_EkCG7t.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C0pg79pw.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-CYz6RFzi.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default};
|
||||
import r from"./error-DoGOXwVQ.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C0pg79pw.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-CYz6RFzi.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import o from"./error-t_EkCG7t.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C0pg79pw.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-CYz6RFzi.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default};
|
||||
import o from"./error-DoGOXwVQ.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C0pg79pw.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-CYz6RFzi.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./AssignLogPanel.vue_vue_type_script_setup_true_lang-BVePoT2B.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./tcm-BCaX4wIV.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./AssignLogPanel.vue_vue_type_script_setup_true_lang-CrMN_37Q.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./tcm-PvaD3bI2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{L as _,N as f,M as u}from"./element-plus-Dmpg6ayE.js";import{K as w}from"./tcm-BCaX4wIV.js";import{f as h,w as g,ak as n,I as v,aP as b,G as x,aN as y,a as e}from"./@vue/runtime-core-C0pg79pw.js";import{o as l}from"./@vue/reactivity-BIbyPIZJ.js";const I={class:"assign-log-panel"},E=h({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(c,{expose:p}){const t=c,s=l(!1),i=l([]),r=async()=>{if(t.diagnosisId){s.value=!0;try{const o=await w({id:t.diagnosisId});i.value=Array.isArray(o)?o:[]}catch(o){console.error(o),i.value=[]}finally{s.value=!1}}};return g(()=>t.diagnosisId,()=>{r()},{immediate:!0}),p({refresh:r}),(o,L)=>{const a=f,d=u,m=_;return n(),v("div",I,[b((n(),x(d,{data:i.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:y(()=>[e(a,{label:"操作时间",width:"175",prop:"create_time_text"}),e(a,{label:"原医助","min-width":"120",prop:"from_assistant_name"}),e(a,{label:"新医助","min-width":"120",prop:"to_assistant_name"}),e(a,{label:"操作人",width:"110",prop:"operator_name"}),e(a,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),e(a,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[m,s.value]])])}}});export{E as _};
|
||||
import{L as _,N as f,M as u}from"./element-plus-DCRlGjqn.js";import{M as w}from"./tcm-PvaD3bI2.js";import{f as h,w as g,ak as n,I as v,aP as b,G as x,aN as y,a as e}from"./@vue/runtime-core-C0pg79pw.js";import{o as l}from"./@vue/reactivity-BIbyPIZJ.js";const I={class:"assign-log-panel"},E=h({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(c,{expose:p}){const t=c,s=l(!1),i=l([]),r=async()=>{if(t.diagnosisId){s.value=!0;try{const o=await w({id:t.diagnosisId});i.value=Array.isArray(o)?o:[]}catch(o){console.error(o),i.value=[]}finally{s.value=!1}}};return g(()=>t.diagnosisId,()=>{r()},{immediate:!0}),p({refresh:r}),(o,L)=>{const a=f,d=u,m=_;return n(),v("div",I,[b((n(),x(d,{data:i.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:y(()=>[e(a,{label:"操作时间",width:"175",prop:"create_time_text"}),e(a,{label:"原医助","min-width":"120",prop:"from_assistant_name"}),e(a,{label:"新医助","min-width":"120",prop:"to_assistant_name"}),e(a,{label:"操作人",width:"110",prop:"operator_name"}),e(a,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),e(a,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[m,s.value]])])}}});export{E as _};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{K as E,L,N,M as P,a0 as T}from"./element-plus-Dmpg6ayE.js";import{Q as B}from"./tcm-BCaX4wIV.js";import{f as R,w as V,ak as e,I as i,a as o,aP as D,G as u,aN as s,O as n,F,ap as Q}from"./@vue/runtime-core-C0pg79pw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{o as g}from"./@vue/reactivity-BIbyPIZJ.js";import{_ as A}from"./index-DWk_b8Nv.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const G={class:"call-record-panel"},K={key:0,class:"text-primary"},M={key:1,class:"text-gray-400"},O={key:0,class:"recording-list"},S=["src"],$={key:1,class:"text-gray-400"},j=R({__name:"CallRecordPanel",props:{diagnosisId:{}},setup(h,{expose:y}){const p=h,m=g(!1),c=g([]),_=async()=>{if(p.diagnosisId){m.value=!0;try{c.value=await B({diagnosis_id:p.diagnosisId})||[]}catch(a){console.error(a),c.value=[]}finally{m.value=!1}}};V(()=>p.diagnosisId,()=>{_()},{immediate:!0}),y({refresh:_});function b(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}function v(a){return!a||typeof a!="string"?!1:/\.(mp4|webm|ogg)(\?|$)/i.test(a)}return(a,k)=>{const w=E,r=N,x=T,C=P,I=L;return e(),i("div",G,[o(w,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"视频通话与录制回放"}),D((e(),u(C,{data:c.value,border:"",stripe:"","empty-text":"暂无通话记录"},{default:s(()=>[o(r,{label:"开始时间",width:"170",prop:"start_time_text"}),o(r,{label:"结束时间",width:"170",prop:"end_time_text"}),o(r,{label:"通话类型",width:"100"},{default:s(({row:t})=>[n(l(t.call_type===1?"语音":"视频"),1)]),_:1}),o(r,{label:"房间号",width:"140"},{default:s(({row:t})=>[t.room_id?(e(),i("span",K,l(t.room_id),1)):(e(),i("span",M,"—"))]),_:1}),o(r,{label:"时长",width:"110",prop:"duration_text"}),o(r,{label:"状态",width:"90"},{default:s(({row:t})=>[n(l(b(t.status)),1)]),_:1}),o(r,{label:"录制",width:"100"},{default:s(({row:t})=>[n(l(t.recording_status_text||"—"),1)]),_:1}),o(r,{label:"录制回放","min-width":"280"},{default:s(({row:t})=>[(t.recording_urls_list||[]).length?(e(),i("div",O,[(e(!0),i(F,null,Q(t.recording_urls_list,(d,f)=>(e(),i("div",{key:f,class:"recording-item"},[v(d)?(e(),i("video",{key:0,src:d,controls:"",preload:"metadata",class:"recording-video"},null,8,S)):(e(),u(x,{key:1,href:d,target:"_blank",type:"primary"},{default:s(()=>[n(" 打开链接 "+l(f+1),1)]),_:2},1032,["href"]))]))),128))])):(e(),i("span",$,"暂无"))]),_:1})]),_:1},8,["data"])),[[I,m.value]])])}}}),Pt=A(j,[["__scopeId","data-v-b392e2ba"]]);export{Pt as default};
|
||||
import{K as E,L,N,M as P,a1 as T}from"./element-plus-DCRlGjqn.js";import{S as B}from"./tcm-PvaD3bI2.js";import{f as R,w as V,ak as e,I as i,a as o,aP as D,G as u,aN as s,O as n,F,ap as S}from"./@vue/runtime-core-C0pg79pw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{o as g}from"./@vue/reactivity-BIbyPIZJ.js";import{_ as A}from"./index-DsBUBCgs.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const G={class:"call-record-panel"},K={key:0,class:"text-primary"},M={key:1,class:"text-gray-400"},O={key:0,class:"recording-list"},Q=["src"],$={key:1,class:"text-gray-400"},j=R({__name:"CallRecordPanel",props:{diagnosisId:{}},setup(h,{expose:y}){const p=h,m=g(!1),c=g([]),_=async()=>{if(p.diagnosisId){m.value=!0;try{c.value=await B({diagnosis_id:p.diagnosisId})||[]}catch(a){console.error(a),c.value=[]}finally{m.value=!1}}};V(()=>p.diagnosisId,()=>{_()},{immediate:!0}),y({refresh:_});function b(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}function v(a){return!a||typeof a!="string"?!1:/\.(mp4|webm|ogg)(\?|$)/i.test(a)}return(a,k)=>{const w=E,r=N,x=T,C=P,I=L;return e(),i("div",G,[o(w,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"视频通话与录制回放"}),D((e(),u(C,{data:c.value,border:"",stripe:"","empty-text":"暂无通话记录"},{default:s(()=>[o(r,{label:"开始时间",width:"170",prop:"start_time_text"}),o(r,{label:"结束时间",width:"170",prop:"end_time_text"}),o(r,{label:"通话类型",width:"100"},{default:s(({row:t})=>[n(l(t.call_type===1?"语音":"视频"),1)]),_:1}),o(r,{label:"房间号",width:"140"},{default:s(({row:t})=>[t.room_id?(e(),i("span",K,l(t.room_id),1)):(e(),i("span",M,"—"))]),_:1}),o(r,{label:"时长",width:"110",prop:"duration_text"}),o(r,{label:"状态",width:"90"},{default:s(({row:t})=>[n(l(b(t.status)),1)]),_:1}),o(r,{label:"录制",width:"100"},{default:s(({row:t})=>[n(l(t.recording_status_text||"—"),1)]),_:1}),o(r,{label:"录制回放","min-width":"280"},{default:s(({row:t})=>[(t.recording_urls_list||[]).length?(e(),i("div",O,[(e(!0),i(F,null,S(t.recording_urls_list,(d,f)=>(e(),i("div",{key:f,class:"recording-item"},[v(d)?(e(),i("video",{key:0,src:d,controls:"",preload:"metadata",class:"recording-video"},null,8,Q)):(e(),u(x,{key:1,href:d,target:"_blank",type:"primary"},{default:s(()=>[n(" 打开链接 "+l(f+1),1)]),_:2},1032,["href"]))]))),128))])):(e(),i("span",$,"暂无"))]),_:1})]),_:1},8,["data"])),[[I,m.value]])])}}}),Pt=A(j,[["__scopeId","data-v-b392e2ba"]]);export{Pt as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{i as L,L as T,N as V,U as D,M as z,T as M}from"./element-plus-Dmpg6ayE.js";import{R as P}from"./tcm-BCaX4wIV.js";import{f as F,b as R,w as j,ak as r,I as l,J as v,a as i,aN as s,O as m,aP as A,G as g,F as H,H as O}from"./@vue/runtime-core-C0pg79pw.js";import{y as d,o as w}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-DWk_b8Nv.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const J={class:"case-record-list"},Q={class:"mb-3 flex justify-end"},U={key:0},Y={key:1,class:"text-gray-400"},q={class:"void-detail text-xs text-gray-500 mt-1"},K=F({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0}},emits:["view","openPrescription"],setup(k,{expose:x,emit:C}){const _=k,y=C,n=w([]),p=w(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await P({diagnosis_id:_.diagnosisId});n.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),n.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{y("view",e)},E=()=>{y("openPrescription")};return R(()=>{u()}),j(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const h=L,a=V,b=D,N=z,B=M,I=T;return r(),l("div",J,[v("div",Q,[i(h,{type:"primary",size:"small",onClick:E},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})]),A((r(),g(N,{data:d(n),border:""},{default:s(()=>[i(a,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(a,{prop:"visit_no",label:"门诊号",width:"120"}),i(a,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(a,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(r(),l("span",U,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(r(),l("span",Y,"—"))]),_:1}),i(a,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(a,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(r(),l(H,{key:0},[i(b,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),v("div",q,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(r(),g(b,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(a,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(h,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[I,d(p)]]),!d(p)&&d(n).length===0?(r(),g(B,{key:0,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):O("",!0)])}}}),zt=G(K,[["__scopeId","data-v-de802464"]]);export{zt as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as I,L,N as V,U as D,M as z,T as M}from"./element-plus-DCRlGjqn.js";import{T as P}from"./tcm-PvaD3bI2.js";import{f as F,b as j,w as A,ak as r,I as l,J as v,a as i,aN as s,O as m,aP as H,G as g,F as O,H as R}from"./@vue/runtime-core-C0pg79pw.js";import{y as d,o as w}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-DsBUBCgs.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const J={class:"case-record-list"},Q={class:"mb-3 flex justify-end"},U={key:0},Y={key:1,class:"text-gray-400"},q={class:"void-detail text-xs text-gray-500 mt-1"},K=F({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0}},emits:["view","openPrescription"],setup(k,{expose:x,emit:C}){const _=k,y=C,n=w([]),p=w(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await P({diagnosis_id:_.diagnosisId});n.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),n.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{y("view",e)},E=()=>{y("openPrescription")};return j(()=>{u()}),A(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const h=I,a=V,b=D,N=z,T=M,B=L;return r(),l("div",J,[v("div",Q,[i(h,{type:"primary",size:"small",onClick:E},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})]),H((r(),g(N,{data:d(n),border:""},{default:s(()=>[i(a,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(a,{prop:"visit_no",label:"门诊号",width:"120"}),i(a,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(a,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(r(),l("span",U,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(r(),l("span",Y,"—"))]),_:1}),i(a,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(a,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(r(),l(O,{key:0},[i(b,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),v("div",q,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(r(),g(b,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(a,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(h,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,d(p)]]),!d(p)&&d(n).length===0?(r(),g(T,{key:0,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):R("",!0)])}}}),zt=G(K,[["__scopeId","data-v-de802464"]]);export{zt as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-YggogXkm.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BKLtguGT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-crfOjTLK.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-dlM42V9p.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{D as h,B,G as q,I,C as D}from"./element-plus-Dmpg6ayE.js";import{P as F}from"./index-BKLtguGT.js";import{i as b}from"./index-DWk_b8Nv.js";import{f as G,w,ak as j,G as P,aN as r,J as S,a,O as u,A as U}from"./@vue/runtime-core-C0pg79pw.js";import{y as n,u as y,r as A}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";const J={class:"pr-8"},K=G({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=y(),i=d,f=V,o=A({action:1,num:"",remark:""}),m=y(),c=U(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},x=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},C=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},E=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=B,_=I,N=q,v=D,g=h;return j(),P(F,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:C,async:!0,onClose:E},{default:r(()=>[S("div",J,[a(g,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+k(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(N,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:x},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+k(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{K as _};
|
||||
import{D as h,B,G as q,I,C as D}from"./element-plus-DCRlGjqn.js";import{P as F}from"./index-dlM42V9p.js";import{i as b}from"./index-DsBUBCgs.js";import{f as G,w,ak as j,G as P,aN as r,J as S,a,O as u,A as U}from"./@vue/runtime-core-C0pg79pw.js";import{y as n,u as y,r as A}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";const J={class:"pr-8"},K=G({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=y(),i=d,f=V,o=A({action:1,num:"",remark:""}),m=y(),c=U(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},x=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},C=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},E=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=B,_=I,N=q,v=D,g=h;return j(),P(F,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:C,async:!0,onClose:E},{default:r(()=>[S("div",J,[a(g,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+k(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(N,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:x},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+k(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{K as _};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{C as E,B,g as C,i as N}from"./element-plus-Dmpg6ayE.js";import{_ as $}from"./index-DGzewPWT.js";import{_ as z}from"./picker-Df7KkdWk.js";import{_ as A}from"./picker-B5ZiOH7-.js";import{c as D,i as r}from"./index-DWk_b8Nv.js";import{D as I}from"./vuedraggable-C3E4D3Yv.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C0pg79pw.js";import{y as c,a as O}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length)<t.max?m.value.push({image:"",name:"导航名称",link:{},is_show:"1"}):r.msgError(`最多添加${t.max}个`)},g=s=>{var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,h=E,k=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(h,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(k,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _};
|
||||
import{C as E,B,g as C,i as N}from"./element-plus-DCRlGjqn.js";import{_ as $}from"./index-BmvifxBX.js";import{_ as z}from"./picker-BMroZii1.js";import{_ as A}from"./picker-h7OmyGiV.js";import{c as D,i as r}from"./index-DsBUBCgs.js";import{D as I}from"./vuedraggable-C3E4D3Yv.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C0pg79pw.js";import{y as c,a as O}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length)<t.max?m.value.push({image:"",name:"导航名称",link:{},is_show:"1"}):r.msgError(`最多添加${t.max}个`)},g=s=>{var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,h=E,k=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(h,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(k,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r as n}from"./index-DWk_b8Nv.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e};
|
||||
import{r as n}from"./index-DsBUBCgs.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{r as e}from"./index-DWk_b8Nv.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m};
|
||||
import{r as e}from"./index-DsBUBCgs.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{m as b,l as c,D as V}from"./element-plus-Dmpg6ayE.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-C-PhiS38.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C0pg79pw.js";import{y as r}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const yt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{yt as default};
|
||||
import{m as b,l as c,D as V}from"./element-plus-DCRlGjqn.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-B1pCMQ2Y.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C0pg79pw.js";import{y as r}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const yt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{yt as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CxDRo6h6.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CKdpBsQw.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-6feMPF8O.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-B5ZiOH7-.js";import"./index-BKLtguGT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-i7zXlMKf.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./index-DGzewPWT.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-8nl6mPaU.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-h7OmyGiV.js";import"./index-dlM42V9p.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-DrXr9qPh.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-BmvifxBX.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DwghrNvi.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-HG7uja_e.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./picker-B5ZiOH7-.js";import"./index-BKLtguGT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-i7zXlMKf.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./index-DGzewPWT.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BH3CMFHL.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-Dqs8IDbj.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./picker-h7OmyGiV.js";import"./index-dlM42V9p.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-DrXr9qPh.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-BmvifxBX.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-D1CFAoKr.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-HG7uja_e.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CTRtapA_.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-Dqs8IDbj.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CHvdnOTe.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Cc55Bg2h.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-ChVRECak.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CgPvCAfT.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DaJjxgj9.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CcUccVfL.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-CFV6gLtb.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-C3uhURtD.js";import"./attr-BhVdfhGs.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-BSDktndu.js";import"./decoration-img-C01Pis81.js";import"./attr.vue_vue_type_script_setup_true_lang-8nl6mPaU.js";import"./content-1tt_sX8-.js";import"./attr.vue_vue_type_script_setup_true_lang-CKdpBsQw.js";import"./content.vue_vue_type_script_setup_true_lang-DrSRY1kT.js";import"./attr.vue_vue_type_script_setup_true_lang-CgPvCAfT.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import"./content-BIImGJq8.js";import"./attr.vue_vue_type_script_setup_true_lang-CcUccVfL.js";import"./content.vue_vue_type_script_setup_true_lang-C1DG1CXu.js";import"./attr.vue_vue_type_script_setup_true_lang-CfPY9LZg.js";import"./content-RbPN8Ina.js";import"./decoration-B1aWgelJ.js";import"./attr.vue_vue_type_script_setup_true_lang-BH3CMFHL.js";import"./index.vue_vue_type_script_setup_true_lang-Dqs8IDbj.js";import"./content-D3iKOBjB.js";import"./content.vue_vue_type_script_setup_true_lang-Bz6BJBy-.js";import"./attr.vue_vue_type_script_setup_true_lang-eatfXr14.js";import"./content-CqWGwsK_.js";import"./attr.vue_vue_type_script_setup_true_lang-Cc55Bg2h.js";import"./content.vue_vue_type_script_setup_true_lang-DPgrpOzA.js";import"./attr.vue_vue_type_script_setup_true_lang-11IwTsyi.js";import"./content-DIAiU9iD.js";export{o as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-C6lYcUFf.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dyw4Bs8T.js";import"./attr-CBvYrA2k.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-BfxsednI.js";import"./decoration-img-C_6VQE85.js";import"./attr.vue_vue_type_script_setup_true_lang-6feMPF8O.js";import"./content-BBNLXtq1.js";import"./attr.vue_vue_type_script_setup_true_lang-CHvdnOTe.js";import"./content.vue_vue_type_script_setup_true_lang-DHTycTmO.js";import"./attr.vue_vue_type_script_setup_true_lang-ChVRECak.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import"./content-DkpUAg9J.js";import"./attr.vue_vue_type_script_setup_true_lang-DaJjxgj9.js";import"./content.vue_vue_type_script_setup_true_lang-GEFFCTZx.js";import"./attr.vue_vue_type_script_setup_true_lang-CfPY9LZg.js";import"./content--_otKNcP.js";import"./decoration-Bm7sdIO5.js";import"./attr.vue_vue_type_script_setup_true_lang-DwghrNvi.js";import"./index.vue_vue_type_script_setup_true_lang-HG7uja_e.js";import"./content-CzET6ZOY.js";import"./content.vue_vue_type_script_setup_true_lang-C7hhBdwq.js";import"./attr.vue_vue_type_script_setup_true_lang-eatfXr14.js";import"./content-CVQDRtl6.js";import"./attr.vue_vue_type_script_setup_true_lang-CxDRo6h6.js";import"./content.vue_vue_type_script_setup_true_lang-CucsgKGv.js";import"./attr.vue_vue_type_script_setup_true_lang-11IwTsyi.js";import"./content-BkT0XQYO.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as y,s as g}from"./element-plus-Dmpg6ayE.js";import{e as b}from"./index-Dyw4Bs8T.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C0pg79pw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-BIbyPIZJ.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},V=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,N)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{V as _};
|
||||
import{J as y,s as g}from"./element-plus-DCRlGjqn.js";import{e as b}from"./index-C3uhURtD.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C0pg79pw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-BIbyPIZJ.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},V=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,N)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{V as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as V,B as w,C as x,D as b}from"./element-plus-Dmpg6ayE.js";import{_ as g}from"./picker-B5ZiOH7-.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C0pg79pw.js";import{y as o}from"./@vue/reactivity-BIbyPIZJ.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _};
|
||||
import{J as V,B as w,C as x,D as b}from"./element-plus-DCRlGjqn.js";import{_ as g}from"./picker-h7OmyGiV.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C0pg79pw.js";import{y as o}from"./@vue/reactivity-BIbyPIZJ.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as E,B as C,G as F,I as N,C as B,D as z}from"./element-plus-Dmpg6ayE.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-HG7uja_e.js";import{_ as I}from"./picker-B5ZiOH7-.js";import{f as O,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as j}from"./@vue/runtime-core-C0pg79pw.js";import{y as a}from"./@vue/reactivity-BIbyPIZJ.js";const T=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=j({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=I,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{T as _};
|
||||
import{J as E,B as C,G as F,I as N,C as B,D as z}from"./element-plus-DCRlGjqn.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-Dqs8IDbj.js";import{_ as I}from"./picker-h7OmyGiV.js";import{f as O,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as j}from"./@vue/runtime-core-C0pg79pw.js";import{y as a}from"./@vue/reactivity-BIbyPIZJ.js";const T=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=j({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=I,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{T as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as j,B as A,C as F,g as J,i as S,D as z}from"./element-plus-Dmpg6ayE.js";import{_ as G}from"./index-DGzewPWT.js";import{c as H,i as k}from"./index-DWk_b8Nv.js";import{_ as R}from"./picker-Df7KkdWk.js";import{_ as T}from"./picker-B5ZiOH7-.js";import{D as q}from"./vuedraggable-C3E4D3Yv.js";import{l as v}from"./lodash-es-BADexyn7.js";import{f as K,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as _}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=K({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length)<f){const e=v(c.content);e.data.push({is_show:"1",image:"",name:"",link:{}}),p("update:content",e)}else k.msgError(`最多添加${f}张图片`)},E=a=>{var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=T,U=R,C=F,h=A,B=J,D=H,N=G,$=S,I=j,O=z;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(q),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)<f?(d(),b("div",Z,[o($,{class:"w-full",type:"primary",onClick:w},{default:s(()=>[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _};
|
||||
import{J as j,B as A,C as F,g as J,i as S,D as z}from"./element-plus-DCRlGjqn.js";import{_ as G}from"./index-BmvifxBX.js";import{c as H,i as k}from"./index-DsBUBCgs.js";import{_ as R}from"./picker-BMroZii1.js";import{_ as T}from"./picker-h7OmyGiV.js";import{D as q}from"./vuedraggable-C3E4D3Yv.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as K,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as _}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=K({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length)<f){const e=v(c.content);e.data.push({is_show:"1",image:"",name:"",link:{}}),p("update:content",e)}else k.msgError(`最多添加${f}张图片`)},E=a=>{var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=T,U=R,C=F,h=A,B=J,D=H,N=G,$=S,I=j,O=z;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(q),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)<f?(d(),b("div",Z,[o($,{class:"w-full",type:"primary",onClick:w},{default:s(()=>[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{J as I,B as O,C as j,g as A,i as F,D as J}from"./element-plus-Dmpg6ayE.js";import{_ as z}from"./index-DGzewPWT.js";import{c as G,i as g}from"./index-DWk_b8Nv.js";import{_ as H}from"./picker-Df7KkdWk.js";import{_ as R}from"./picker-B5ZiOH7-.js";import{D as S}from"./vuedraggable-C3E4D3Yv.js";import{l as v}from"./lodash-es-BADexyn7.js";import{f as T,ak as _,I as h,a as t,aN as a,J as s,G as q,O as K,H as L,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as p}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=T({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:b}){const d=b,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),k=()=>{var l;if(((l=m.content.data)==null?void 0:l.length)<r){const e=v(m.content);e.data.push({is_show:"1",image:"",name:"",link:{}}),d("update:content",e)}else g.msgError(`最多添加${r}张图片`)},w=l=>{var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=v(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=R,y=j,i=O,E=H,U=A,C=G,B=z,D=F,N=I,$=J;return _(),h("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(S),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),q(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)<r?(_(),h("div",Y,[t(D,{class:"w-full",type:"primary",onClick:k},{default:a(()=>[...e[1]||(e[1]=[K("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _};
|
||||
import{J as I,B as O,C as j,g as A,i as F,D as J}from"./element-plus-DCRlGjqn.js";import{_ as z}from"./index-BmvifxBX.js";import{c as G,i as g}from"./index-DsBUBCgs.js";import{_ as H}from"./picker-BMroZii1.js";import{_ as R}from"./picker-h7OmyGiV.js";import{D as S}from"./vuedraggable-C3E4D3Yv.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as T,ak as _,I as h,a as t,aN as a,J as s,G as q,O as K,H as L,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as p}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=T({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:k}){const d=k,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),b=()=>{var l;if(((l=m.content.data)==null?void 0:l.length)<r){const e=v(m.content);e.data.push({is_show:"1",image:"",name:"",link:{}}),d("update:content",e)}else g.msgError(`最多添加${r}张图片`)},w=l=>{var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=v(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=R,y=j,i=O,E=H,U=A,C=G,B=z,D=F,N=I,$=J;return _(),h("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(S),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),q(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)<r?(_(),h("div",Y,[t(D,{class:"w-full",type:"primary",onClick:b},{default:a(()=>[...e[1]||(e[1]=[K("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as B,G as F,I as N,B as O,P as U,Q as g,D as C}from"./element-plus-Dmpg6ayE.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C0pg79pw.js";import{y as n}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"flex-1 mt-4"},P=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(I,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{P as _};
|
||||
import{J as B,G as F,I as N,B as O,P as U,Q as g,D as C}from"./element-plus-DCRlGjqn.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C0pg79pw.js";import{y as n}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"flex-1 mt-4"},P=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(I,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{P as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{J as b,B as y,C as E,G as w,I as B,D as C}from"./element-plus-Dmpg6ayE.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DbPUenSv.js";import{f as N,ak as k,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C0pg79pw.js";import{y as s}from"./@vue/reactivity-BIbyPIZJ.js";const g={class:"flex-1"},J=N({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return k(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(I,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _};
|
||||
import{J as b,B as y,C as E,G as w,I as B,D as C}from"./element-plus-DCRlGjqn.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DkUMUIoP.js";import{f as N,ak as k,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C0pg79pw.js";import{y as s}from"./@vue/reactivity-BIbyPIZJ.js";const g={class:"flex-1"},J=N({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return k(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(I,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-BkYBxDg5.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-BCs92u6p.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./role-BIezdAsx.js";import"./index-BKLtguGT.js";export{o as default};
|
||||
import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-UrOFcSG-.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-Dy3GlUjf.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./role-ChMtxk-x.js";import"./index-dlM42V9p.js";export{o as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{D as I,s as q,B as G,H as J,$ as M,L as O}from"./element-plus-Dmpg6ayE.js";import{m as U}from"./menu-BCs92u6p.js";import{a as $}from"./role-BIezdAsx.js";import{P as j}from"./index-BKLtguGT.js";import{w as z}from"./index-DWk_b8Nv.js";import{f as Q,ak as k,I as W,a as l,aN as u,aP as X,G as Y,J as y,n as x}from"./@vue/runtime-core-C0pg79pw.js";import{y as c,a as Z,u as f,o as r,r as ee}from"./@vue/reactivity-BIbyPIZJ.js";const te={class:"edit-popup"},ue=Q({__name:"auth",emits:["success","close"],setup(oe,{expose:C,emit:b}){const _=b,a=f(),h=f(),d=f(),g=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,U().then(e=>{p.value=e,v.value=z(e),x(()=>{A()}),m.value=!1})},R=()=>{var o,n;const e=(o=a.value)==null?void 0:o.getCheckedKeys(),t=(n=a.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=a.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let o=0;o<t.length;o++)a.value.store.nodesMap[t[o].id].expanded=e},K=e=>{var t,o;e?(t=a.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(o=a.value)==null||o.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await $(s),(t=d.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=d.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const o=J,n=M,F=G,L=q,N=I,P=O;return k(),W("div",te,[l(j,{ref_key:"popupRef",ref:d,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:u(()=>[X((k(),Y(N,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:u(()=>[l(L,{class:"h-[400px] sm:h-[600px]"},{default:u(()=>[l(F,{label:"权限",prop:"menu_id"},{default:u(()=>[y("div",null,[l(o,{label:"展开/折叠",onChange:D}),l(o,{label:"全选/不全选",onChange:K}),l(o,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=H=>Z(i)?i.value=H:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:a,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(g),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[P,c(m)]])]),_:1},512)])}}});export{ue as _};
|
||||
@@ -0,0 +1 @@
|
||||
import{D as I,s as q,B as G,H as J,a0 as M,L as O}from"./element-plus-DCRlGjqn.js";import{m as U}from"./menu-Dy3GlUjf.js";import{a as j}from"./role-ChMtxk-x.js";import{P as z}from"./index-dlM42V9p.js";import{w as Q}from"./index-DsBUBCgs.js";import{f as W,ak as k,I as X,a as l,aN as u,aP as Y,G as Z,J as y,n as x}from"./@vue/runtime-core-C0pg79pw.js";import{y as c,a as $,u as f,o as r,r as ee}from"./@vue/reactivity-BIbyPIZJ.js";const te={class:"edit-popup"},ue=W({__name:"auth",emits:["success","close"],setup(ae,{expose:C,emit:b}){const _=b,o=f(),h=f(),d=f(),g=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,U().then(e=>{p.value=e,v.value=Q(e),x(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=o.value)==null?void 0:a.getCheckedKeys(),t=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=o.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a<t.length;a++)o.value.store.nodesMap[t[a].id].expanded=e},K=e=>{var t,a;e?(t=o.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=o.value)==null||a.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await j(s),(t=d.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=d.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const a=J,n=M,F=G,L=q,N=I,P=O;return k(),X("div",te,[l(z,{ref_key:"popupRef",ref:d,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:u(()=>[Y((k(),Z(N,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:u(()=>[l(L,{class:"h-[400px] sm:h-[600px]"},{default:u(()=>[l(F,{label:"权限",prop:"menu_id"},{default:u(()=>[y("div",null,[l(a,{label:"展开/折叠",onChange:D}),l(a,{label:"全选/不全选",onChange:K}),l(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=H=>$(i)?i.value=H:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(g),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[P,c(m)]])]),_:1},512)])}}});export{ue as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{K as L,D as N,B as K,C as I,P as O,Q as z,i as J,J as Q,M as R,N as S,L as $}from"./element-plus-Dmpg6ayE.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import{h as q}from"./index-DWk_b8Nv.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-BzILDzNF.js";import{w as G}from"./@vue/runtime-dom-iFk_KP8y.js";import{a as M,g as H}from"./finance-D5VZU_9K.js";import{u as W}from"./useDictOptions-7gUIpUOu.js";import{u as X}from"./usePaging-B_C_SZ2Z.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C0pg79pw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=L,E=I,m=K,u=z,T=O,k=A,f=J,B=N,g=Q,i=S,D=q,P=R,U=j,F=$;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:G(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(P,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[F,o(r).loading]]),_("div",le,[e(U,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default};
|
||||
import{K as L,D as N,B as K,C as I,P as O,Q as z,i as J,J as Q,M as R,N as S,L as $}from"./element-plus-DCRlGjqn.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import{h as q}from"./index-DsBUBCgs.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-B1hInEWx.js";import{w as G}from"./@vue/runtime-dom-iFk_KP8y.js";import{a as M,g as H}from"./finance-vyug3kmy.js";import{u as W}from"./useDictOptions-CvKg9Pzf.js";import{u as X}from"./usePaging-B_C_SZ2Z.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C0pg79pw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=L,E=I,m=K,u=z,T=O,k=A,f=J,B=N,g=Q,i=S,D=q,P=R,U=j,F=$;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:G(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(P,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[F,o(r).loading]]),_("div",le,[e(U,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{K as c,J as _,M as d,N as f,i as u}from"./element-plus-Dmpg6ayE.js";import{i as h,z as b}from"./index-DWk_b8Nv.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C0pg79pw.js";import{y,o as E}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const x={class:"cache"},N=i({name:"cache"}),st=i({...N,setup(g){const m=E([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(v,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:y(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default};
|
||||
import{K as c,J as _,M as d,N as f,i as u}from"./element-plus-DCRlGjqn.js";import{i as h,z as b}from"./index-DsBUBCgs.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C0pg79pw.js";import{y,o as E}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const x={class:"cache"},N=i({name:"cache"}),st=i({...N,setup(g){const m=E([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(v,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:y(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{E as p,B as b,C as v,D as E,i as h}from"./element-plus-Dmpg6ayE.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-DWk_b8Nv.js";import{w as L}from"./@vue/runtime-dom-iFk_KP8y.js";import{u as N}from"./useLockFn-DaSAjE2Q.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-BPq3_KjI.js";import{a as R}from"./vue-router-CYz6RFzi.js";import{f as S,b as U,ak as q,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C0pg79pw.js";import{y as u,u as M,r as O}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();U(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=v,f=b,y=E,k=h;return q(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-bbd4ab41"]]);export{Ro as default};
|
||||
import{E as p,B as b,C as v,D as E,i as h}from"./element-plus-DCRlGjqn.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-DsBUBCgs.js";import{w as L}from"./@vue/runtime-dom-iFk_KP8y.js";import{u as N}from"./useLockFn-DaSAjE2Q.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-DAh5eVjk.js";import{a as R}from"./vue-router-CYz6RFzi.js";import{f as S,b as U,ak as q,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C0pg79pw.js";import{y as u,u as M,r as O}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();U(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=v,f=b,y=E,k=h;return q(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-bbd4ab41"]]);export{Ro as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r as t}from"./index-DWk_b8Nv.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t};
|
||||
import{r as t}from"./index-DsBUBCgs.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-DhUvDxvC.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-wKpWiKEX.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{m as B,l as N,s as T,i as $,Y as j}from"./element-plus-Dmpg6ayE.js";import{c as D,i as d}from"./index-DWk_b8Nv.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C0pg79pw.js";import{a as p,y as _,o as O}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},Q=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const b=r,V=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),y=T,k=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(y,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:Y=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(k,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{Q as _};
|
||||
import{m as B,l as N,s as T,i as $,Z as j}from"./element-plus-DCRlGjqn.js";import{c as D,i as d}from"./index-DsBUBCgs.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C0pg79pw.js";import{a as p,y as _,o as O}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},Q=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const b=r,V=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),y=T,k=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(y,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:Z=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(k,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{Q as _};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{r}from"./index-DWk_b8Nv.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u};
|
||||
import{r}from"./index-DsBUBCgs.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import s from"./decoration-img-C_6VQE85.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C0pg79pw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DWk_b8Nv.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-ed28524a"]]);export{nt as default};
|
||||
import s from"./decoration-img-C01Pis81.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C0pg79pw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DsBUBCgs.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-ed28524a"]]);export{nt as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-GEFFCTZx.js";import"./decoration-img-C_6VQE85.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DrSRY1kT.js";import"./decoration-img-C01Pis81.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{c as y,_ as v}from"./index-DWk_b8Nv.js";import d from"./decoration-img-C_6VQE85.js";import{f as b,ak as t,I as e,J as i,H as m,F as x,ap as f,a as n,A as g}from"./@vue/runtime-core-C0pg79pw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as u}from"./@vue/reactivity-BIbyPIZJ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=b({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=g(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",k,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-2f09c27b"]]);export{xt as default};
|
||||
import{c as y,_ as v}from"./index-DsBUBCgs.js";import d from"./decoration-img-C01Pis81.js";import{f as b,ak as t,I as e,J as i,H as m,F as x,ap as f,a as n,A as g}from"./@vue/runtime-core-C0pg79pw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as u}from"./@vue/reactivity-BIbyPIZJ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=b({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=g(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",k,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-2f09c27b"]]);export{xt as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-C7hhBdwq.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DGzewPWT.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-Df7KkdWk.js";import"./index-BKLtguGT.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./article-CKzso6NG.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-B5ZiOH7-.js";import"./index-i7zXlMKf.js";import"./index-CtFRZE9b.js";import"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import"./file-CSSg91XZ.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-Bz6BJBy-.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BmvifxBX.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BMroZii1.js";import"./index-dlM42V9p.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./article-0uhoq4JM.js";import"./usePaging-B_C_SZ2Z.js";import"./picker-h7OmyGiV.js";import"./index-DrXr9qPh.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-DRO9_cYT.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import c from"./decoration-img-C_6VQE85.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C0pg79pw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as b}from"./@vue/reactivity-BIbyPIZJ.js";import{_ as h}from"./index-DWk_b8Nv.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(b(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=h(k,[["__scopeId","data-v-0405bccb"]]);export{st as default};
|
||||
import c from"./decoration-img-C01Pis81.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C0pg79pw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as b}from"./@vue/reactivity-BIbyPIZJ.js";import{_ as h}from"./index-DsBUBCgs.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(b(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=h(k,[["__scopeId","data-v-0405bccb"]]);export{st as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as i,c as m}from"./index-DWk_b8Nv.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-3514bdd8"]]);export{W as default};
|
||||
import{_ as i,c as m}from"./index-DsBUBCgs.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-3514bdd8"]]);export{W as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{s as _}from"./element-plus-Dmpg6ayE.js";import l from"./decoration-img-C_6VQE85.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C0pg79pw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DWk_b8Nv.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-35c14957"]]);export{ut as default};
|
||||
import{s as _}from"./element-plus-DCRlGjqn.js";import l from"./decoration-img-C01Pis81.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C0pg79pw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DsBUBCgs.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-35c14957"]]);export{ut as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t}from"./index-DWk_b8Nv.js";import{ak as o,I as r}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default};
|
||||
import{_ as t}from"./index-DsBUBCgs.js";import{ak as o,I as r}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-CucsgKGv.js";import"./decoration-img-C_6VQE85.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DPgrpOzA.js";import"./decoration-img-C01Pis81.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as r}from"./index-DWk_b8Nv.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(n,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-4b1b613f"]]);export{T as default};
|
||||
import{_ as r}from"./index-DsBUBCgs.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C0pg79pw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(n,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-4b1b613f"]]);export{T as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BfxsednI.js";import"./decoration-img-C_6VQE85.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-C1DG1CXu.js";import"./decoration-img-C01Pis81.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{c,_ as n}from"./index-DWk_b8Nv.js";import{g as l}from"./decoration-Bm7sdIO5.js";import{f as d,ak as o,I as s,J as t,F as _,ap as x,H as f,a as u}from"./@vue/runtime-core-C0pg79pw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,o as y}from"./@vue/reactivity-BIbyPIZJ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const w={class:"news"},b={key:0,class:"mr-[10px]"},g=["src"],h={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,x(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",b,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,g)])):f("",!0),t("div",h,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),ft=n(N,[["__scopeId","data-v-dba98882"]]);export{ft as default};
|
||||
import{c,_ as n}from"./index-DsBUBCgs.js";import{g as l}from"./decoration-B1aWgelJ.js";import{f as d,ak as o,I as s,J as t,F as _,ap as x,H as f,a as u}from"./@vue/runtime-core-C0pg79pw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,o as y}from"./@vue/reactivity-BIbyPIZJ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const w={class:"news"},b={key:0,class:"mr-[10px]"},g=["src"],h={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,x(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",b,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,g)])):f("",!0),t("div",h,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),ft=n(N,[["__scopeId","data-v-dba98882"]]);export{ft as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DHTycTmO.js";import"./decoration-img-C_6VQE85.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BSDktndu.js";import"./decoration-img-C01Pis81.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import c from"./decoration-img-C_6VQE85.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C0pg79pw.js";import{y as h}from"./@vue/reactivity-BIbyPIZJ.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _};
|
||||
import c from"./decoration-img-C01Pis81.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C0pg79pw.js";import{y as h}from"./@vue/reactivity-BIbyPIZJ.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{K as U,s as j,i as O}from"./element-plus-Dmpg6ayE.js";import{_ as R}from"./index-DGzewPWT.js";import{_ as S}from"./picker-Df7KkdWk.js";import{_ as $}from"./picker-B5ZiOH7-.js";import{P as A}from"./index-BKLtguGT.js";import{i as _}from"./index-DWk_b8Nv.js";import{l as f}from"./lodash-es-BADexyn7.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as P,O as G}from"./@vue/runtime-core-C0pg79pw.js";import{u as I}from"./@vue/reactivity-BIbyPIZJ.js";const J={class:"flex flex-wrap p-4"},K={class:"bg-fill-light w-full p-4"},L={class:"flex items-center"},T={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:x,emit:k}){const u=k,i=I(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),u("update:content",t)}else _.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return _.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),u("update:content",t)};return x({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",J,[(r(!0),h(F,null,P(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",K,[l("div",L,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",T,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[G("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _};
|
||||
import{K as U,s as j,i as O}from"./element-plus-DCRlGjqn.js";import{_ as R}from"./index-BmvifxBX.js";import{_ as S}from"./picker-BMroZii1.js";import{_ as $}from"./picker-h7OmyGiV.js";import{P as A}from"./index-dlM42V9p.js";import{i as _}from"./index-DsBUBCgs.js";import{k as f}from"./lodash-es-C2A-Pj28.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as P,O as G}from"./@vue/runtime-core-C0pg79pw.js";import{u as I}from"./@vue/reactivity-BIbyPIZJ.js";const J={class:"flex flex-wrap p-4"},K={class:"bg-fill-light w-full p-4"},L={class:"flex items-center"},T={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:x,emit:k}){const u=k,i=I(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),u("update:content",t)}else _.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return _.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),u("update:content",t)};return x({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",J,[(r(!0),h(F,null,P(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",K,[l("div",L,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",T,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[G("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import p from"./decoration-img-C_6VQE85.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C0pg79pw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-BIbyPIZJ.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _};
|
||||
import p from"./decoration-img-C01Pis81.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C0pg79pw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-BIbyPIZJ.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import c from"./decoration-img-C_6VQE85.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C0pg79pw.js";import{y as d}from"./@vue/reactivity-BIbyPIZJ.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _};
|
||||
import c from"./decoration-img-C01Pis81.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C0pg79pw.js";import{y as d}from"./@vue/reactivity-BIbyPIZJ.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import i from"./decoration-img-C_6VQE85.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C0pg79pw.js";import{y as h}from"./@vue/reactivity-BIbyPIZJ.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _};
|
||||
import i from"./decoration-img-C01Pis81.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C0pg79pw.js";import{y as h}from"./@vue/reactivity-BIbyPIZJ.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-CCKhdE3_.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-Cp_4CaAu.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import"./index-BKLtguGT.js";import"./usePaging-B_C_SZ2Z.js";export{o as default};
|
||||
import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-SC77PdC_.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-Dqg7h3jf.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-dlM42V9p.js";import"./usePaging-B_C_SZ2Z.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{D as B,B as K,C as N,i as T,M as D,N as R,L as F}from"./element-plus-Dmpg6ayE.js";import{w as b}from"./@vue/runtime-dom-iFk_KP8y.js";import{f as I,h as L}from"./code-Cp_4CaAu.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import{P as U}from"./index-BKLtguGT.js";import{u as z}from"./usePaging-B_C_SZ2Z.js";import{i as M}from"./index-DWk_b8Nv.js";import{f as $,w as j,ak as g,I as h,a as e,aN as l,O as w,aP as q,J,aq as O}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,a as A,u as G,r as H,o as Q}from"./@vue/reactivity-BIbyPIZJ.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=$({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:d}=z({fetchFun:I,params:n,size:10}),p=Q([]),V=o=>{p.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!p.value.length)return M.msgError("请选择数据表");await L({table:p.value}),(o=u.value)==null||o.close(),v("success")};return j(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=N,c=K,_=T,E=B,r=R,x=D,P=F;return g(),h("div",W,[e(U,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[O(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(c,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(d),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(c,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(d),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(c,null,{default:l(()=>[e(_,{type:"primary",onClick:a(d)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),q((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[P,a(s).loading]]),J("div",Y,[e(S,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _};
|
||||
import{D as B,B as K,C as N,i as T,M as D,N as R,L as F}from"./element-plus-DCRlGjqn.js";import{w as b}from"./@vue/runtime-dom-iFk_KP8y.js";import{f as I,h as L}from"./code-Dqg7h3jf.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import{P as U}from"./index-dlM42V9p.js";import{u as z}from"./usePaging-B_C_SZ2Z.js";import{i as M}from"./index-DsBUBCgs.js";import{f as $,w as j,ak as g,I as h,a as e,aN as l,O as w,aP as q,J,aq as O}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,a as A,u as G,r as H,o as Q}from"./@vue/reactivity-BIbyPIZJ.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=$({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:d}=z({fetchFun:I,params:n,size:10}),p=Q([]),V=o=>{p.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!p.value.length)return M.msgError("请选择数据表");await L({table:p.value}),(o=u.value)==null||o.close(),v("success")};return j(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=N,c=K,_=T,E=B,r=R,x=D,P=F;return g(),h("div",W,[e(U,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[O(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(c,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(d),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(c,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(d),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(c,null,{default:l(()=>[e(_,{type:"primary",onClick:a(d)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),q((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[P,a(s).loading]]),J("div",Y,[e(S,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r as t}from"./index-DWk_b8Nv.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s};
|
||||
import{r as t}from"./index-DsBUBCgs.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{t as d,v as l}from"./element-plus-Dmpg6ayE.js";import{e as u,c as _,o,_ as g}from"./index-DWk_b8Nv.js";import{f,ak as h,G as y,aN as i,J as e,a as N,ab as b,A as v}from"./@vue/runtime-core-C0pg79pw.js";import{y as w}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,b({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[N(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-5e0890d2"]]);export{at as default};
|
||||
import{t as d,v as l}from"./element-plus-DCRlGjqn.js";import{e as u,c as _,o,_ as g}from"./index-DsBUBCgs.js";import{f,ak as h,G as y,aN as i,J as e,a as N,ab as b,A as v}from"./@vue/runtime-core-C0pg79pw.js";import{y as w}from"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,b({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[N(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-5e0890d2"]]);export{at as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{K as B,J as D,i as T,M as L,N as A,g as O,L as P}from"./element-plus-Dmpg6ayE.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-pXicZ9qy.js";import{c as J,i as v}from"./index-DWk_b8Nv.js";import{d as j,o as z,e as F}from"./wx_oa-DAhGf1fY.js";import{u as G}from"./usePaging-B_C_SZ2Z.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-DEb_eTOG.js";import{f as I,ak as f,I as K,a as e,aN as n,J as y,O as u,aP as M,G as w,H as Q,A as q,n as h}from"./@vue/runtime-core-C0pg79pw.js";import{y as i,a as W,u as X,o as Y}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-BKLtguGT.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=G({fetchFun:j,params:{reply_type:3}}),C=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},k=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await z({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await F({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=J,_=T,s=A,x=O,R=L,S=U,N=P;return f(),K("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>C())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),M((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(H,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{Ht as default};
|
||||
import{K as B,J as D,i as T,M as L,N as A,g as O,L as P}from"./element-plus-DCRlGjqn.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import{c as J,i as v}from"./index-DsBUBCgs.js";import{d as j,o as z,e as F}from"./wx_oa-B3acFtgG.js";import{u as G}from"./usePaging-B_C_SZ2Z.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-DJWXvPqT.js";import{f as I,ak as f,I as K,a as e,aN as n,J as y,O as u,aP as M,G as w,H as Q,A as q,n as h}from"./@vue/runtime-core-C0pg79pw.js";import{y as i,a as W,u as X,o as Y}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-dlM42V9p.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=G({fetchFun:j,params:{reply_type:3}}),C=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},k=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await z({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await F({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=J,_=T,s=A,x=O,R=L,S=U,N=P;return f(),K("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>C())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),M((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(H,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{Ht as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r as e}from"./index-DWk_b8Nv.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(){return e.get({url:"/dept.dept/all"})}export{u as a,r as b,l as c,s as d,p as e,n as f};
|
||||
import{r as e}from"./index-DsBUBCgs.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(){return e.get({url:"/dept.dept/all"})}export{u as a,r as b,l as c,s as d,p as e,n as f};
|
||||
@@ -0,0 +1 @@
|
||||
@charset "UTF-8";.dept-statistics-page[data-v-edcb5eaf]{padding:20px;background-color:#f5f7fa;min-height:100vh}.card-header[data-v-edcb5eaf]{display:flex;justify-content:space-between;align-items:center}.card-title[data-v-edcb5eaf]{font-size:16px;font-weight:600;color:#303133}.filter-form[data-v-edcb5eaf]{padding:10px 0}.filter-form[data-v-edcb5eaf] .el-form-item{margin-bottom:0}.status-overview[data-v-edcb5eaf]{padding:10px 0}.status-section[data-v-edcb5eaf]{margin-bottom:15px}.section-title[data-v-edcb5eaf]{font-size:14px;font-weight:600;color:#303133;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #ebeef5}.status-tags[data-v-edcb5eaf]{display:flex;flex-wrap:wrap;gap:8px}.compact-tag[data-v-edcb5eaf]{font-size:12px!important;padding:4px 12px!important;margin:0!important;border-radius:12px!important;box-shadow:0 1px 3px #0000001a!important;transition:all .3s ease!important}.compact-tag[data-v-edcb5eaf]:hover{transform:translateY(-1px)!important;box-shadow:0 2px 6px #00000026!important}.empty-data[data-v-edcb5eaf]{padding:40px 0;text-align:center}[data-v-edcb5eaf] .el-table{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:box-shadow .3s ease}[data-v-edcb5eaf] .el-table:hover{box-shadow:0 4px 16px #0000001f}[data-v-edcb5eaf] .el-table th{background-color:#f5f7fa!important;font-weight:600!important;color:#606266!important;border-bottom:1px solid #ebeef5!important}[data-v-edcb5eaf] .el-table tr:hover{background-color:#f5f7fa!important}[data-v-edcb5eaf] .el-table__cell{text-align:left!important;vertical-align:top!important;padding:12px 15px!important}[data-v-edcb5eaf] .el-card{border-radius:8px;box-shadow:0 2px 12px #0000001a!important;margin-bottom:16px!important;transition:box-shadow .3s ease;border:none!important;overflow:hidden}[data-v-edcb5eaf] .el-card:hover{box-shadow:0 4px 16px #00000026!important}[data-v-edcb5eaf] .el-card__header{background-color:#fff!important;border-bottom:1px solid #ebeef5!important;padding:15px 20px!important}[data-v-edcb5eaf] .el-card__body{padding:20px!important;background-color:#fff!important}[data-v-edcb5eaf] .el-button{border-radius:4px!important;transition:all .3s ease!important}[data-v-edcb5eaf] .el-button:hover{transform:translateY(-1px)!important;box-shadow:0 2px 8px #00000026!important}[data-v-edcb5eaf] .el-select{border-radius:4px!important;transition:all .3s ease!important}[data-v-edcb5eaf] .el-select:hover{box-shadow:0 0 0 2px #667eea33!important}[data-v-edcb5eaf] .el-tag{border-radius:4px!important;transition:all .3s ease!important}[data-v-edcb5eaf] .el-tag:hover{transform:translateY(-1px)!important;box-shadow:0 2px 6px #00000026!important}
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{O as q,J as N,D as R,q as A,i as O,B as V}from"./element-plus-Dmpg6ayE.js";import{_ as F}from"./index.vue_vue_type_script_setup_true_lang-DyQAa4vY.js";import{c as I,n as J}from"./index-DWk_b8Nv.js";import{g as M,u as S,a as U}from"./consumer-D59xnCrW.js";import{_ as z}from"./account-adjust.vue_vue_type_script_setup_true_lang-YggogXkm.js";import{u as G}from"./vue-router-CYz6RFzi.js";import{f as C,as as H,ak as u,I as Q,a as t,aN as o,J as d,O as n,aP as c,G as y}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,r as g,u as T}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-BKLtguGT.js";const K={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Se=C({...Y,setup(Z){const w=G(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=T(),k=async()=>{const i=await M({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{J(i)||(await S({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await U({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=O,m=V,b=I,x=F,$=R,_=H("perms");return u(),Q("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",K,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[n(" ¥"+l(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[n(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[n(l(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[n(l(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[n(l(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[n(l(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[n(l(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[n(l(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[n(l(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[n(l(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(z,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Se as default};
|
||||
import{O as q,J as N,D as R,q as A,i as O,B as V}from"./element-plus-DCRlGjqn.js";import{_ as F}from"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import{c as I,n as J}from"./index-DsBUBCgs.js";import{g as M,u as S,a as U}from"./consumer-Bal4E4gg.js";import{_ as z}from"./account-adjust.vue_vue_type_script_setup_true_lang-crfOjTLK.js";import{u as G}from"./vue-router-CYz6RFzi.js";import{f as C,as as H,ak as u,I as Q,a as t,aN as o,J as d,O as n,aP as c,G as y}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,r as g,u as T}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-dlM42V9p.js";const K={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Se=C({...Y,setup(Z){const w=G(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=T(),k=async()=>{const i=await M({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{J(i)||(await S({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await U({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=O,m=V,b=I,x=F,$=R,_=H("perms");return u(),Q("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",K,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[n(" ¥"+l(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[n(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[n(l(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[n(l(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[n(l(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[n(l(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[n(l(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[n(l(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[n(l(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[n(l(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(z,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Se as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./detail.vue_vue_type_script_setup_true_lang-KAUod-LS.js";import"./index-BKLtguGT.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./tcm-BCaX4wIV.js";export{o as default};
|
||||
import{_ as o}from"./detail.vue_vue_type_script_setup_true_lang-_-oRg12d.js";import"./index-dlM42V9p.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./tcm-PvaD3bI2.js";export{o as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{P as B}from"./index-BKLtguGT.js";import{a7 as I,a8 as V,U as C,v as F}from"./element-plus-Dmpg6ayE.js";import{F as O}from"./tcm-BCaX4wIV.js";import{m as H}from"./index-DWk_b8Nv.js";import{f as L,ak as n,I as p,a as l,aN as a,O as r,F as m,ap as y,G as d,H as P,J as g,A as R}from"./@vue/runtime-core-C0pg79pw.js";import{Q as o}from"./@vue/shared-mAAVTE9n.js";import{y as t,o as h}from"./@vue/reactivity-BIbyPIZJ.js";const T={class:"detail-popup"},z={key:0},A={key:0,class:"flex gap-2"},G={key:1},J={key:0,class:"flex flex-wrap gap-2"},Q={key:1},S={style:{"white-space":"pre-wrap"}},U={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},te=L({__name:"detail",setup(q,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const i=await H({type:"past_history"});v.value=(i==null?void 0:i.past_history)||[]}catch(i){console.error("获取字典数据失败:",i)}},w=R(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(i=>{const _=v.value.find(s=>s.value===i);return _?_.name:i}));return x({open:async i=>{b.value.open(),await D(),e.value=await O({id:i})}}),(i,_)=>{const s=V,u=C,k=F,E=I,N=B;return n(),p("div",T,[l(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[l(E,{column:2,border:""},{default:a(()=>[l(s,{label:"患者ID"},{default:a(()=>[r(o(t(e).patient_id),1)]),_:1}),l(s,{label:"患者姓名"},{default:a(()=>[r(o(t(e).patient_name),1)]),_:1}),l(s,{label:"性别"},{default:a(()=>[r(o(t(e).gender_desc),1)]),_:1}),l(s,{label:"年龄"},{default:a(()=>[r(o(t(e).age)+"岁 ",1)]),_:1}),l(s,{label:"诊断日期"},{default:a(()=>[r(o(t(e).diagnosis_date_text),1)]),_:1}),l(s,{label:"诊断类型"},{default:a(()=>[r(o(t(e).diagnosis_type),1)]),_:1}),l(s,{label:"证型",span:2},{default:a(()=>[r(o(t(e).syndrome_type),1)]),_:1}),l(s,{label:"既往史",span:2},{default:a(()=>[(n(!0),p(m,null,y(t(w),c=>(n(),d(u,{key:c,class:"mr-2",type:"info"},{default:a(()=>[r(o(c),1)]),_:2},1024))),128)),t(w).length?P("",!0):(n(),p("span",z,"无"))]),_:1}),l(s,{label:"外伤史"},{default:a(()=>[r(o(t(e).trauma_history?"有":"无"),1)]),_:1}),l(s,{label:"手术史"},{default:a(()=>[r(o(t(e).surgery_history?"有":"无"),1)]),_:1}),l(s,{label:"过敏史"},{default:a(()=>[r(o(t(e).allergy_history?"有":"无"),1)]),_:1}),l(s,{label:"家族病史"},{default:a(()=>[r(o(t(e).family_history?"有":"无"),1)]),_:1}),l(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[r(o(t(e).pregnancy_history?"有":"无"),1)]),_:1}),l(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(n(),p("div",A,[(n(!0),p(m,null,y(t(e).tongue_images,(c,f)=>(n(),d(k,{key:f,src:c,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),p("span",G,"暂无"))]),_:1}),l(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(n(),p("div",J,[(n(!0),p(m,null,y(t(e).report_files,(c,f)=>(n(),d(k,{key:f,src:c,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),p("span",Q,"暂无"))]),_:1}),l(s,{label:"症状",span:2},{default:a(()=>[r(o(t(e).symptoms||"无"),1)]),_:1}),l(s,{label:"舌苔"},{default:a(()=>[r(o(t(e).tongue_coating||"无"),1)]),_:1}),l(s,{label:"脉象"},{default:a(()=>[r(o(t(e).pulse||"无"),1)]),_:1}),l(s,{label:"治则",span:2},{default:a(()=>[r(o(t(e).treatment_principle||"无"),1)]),_:1}),l(s,{label:"在用药物",span:2},{default:a(()=>[g("div",S,o(t(e).current_medications||"无"),1)]),_:1}),l(s,{label:"处方",span:2},{default:a(()=>[g("div",U,o(t(e).prescription||"无"),1)]),_:1}),l(s,{label:"医嘱",span:2},{default:a(()=>[g("div",j,o(t(e).doctor_advice||"无"),1)]),_:1}),l(s,{label:"备注",span:2},{default:a(()=>[r(o(t(e).remark||"无"),1)]),_:1}),l(s,{label:"状态"},{default:a(()=>[t(e).status==1?(n(),d(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[r("启用",-1)])]),_:1})):(n(),d(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[r("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间"},{default:a(()=>[r(o(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{te as _};
|
||||
import{P as B}from"./index-dlM42V9p.js";import{a8 as I,a9 as V,U as C,v as H}from"./element-plus-DCRlGjqn.js";import{H as O}from"./tcm-PvaD3bI2.js";import{m as F}from"./index-DsBUBCgs.js";import{f as L,ak as n,I as p,a as l,aN as a,O as r,F as m,ap as y,G as d,H as P,J as g,A as R}from"./@vue/runtime-core-C0pg79pw.js";import{Q as o}from"./@vue/shared-mAAVTE9n.js";import{y as t,o as h}from"./@vue/reactivity-BIbyPIZJ.js";const T={class:"detail-popup"},z={key:0},A={key:0,class:"flex gap-2"},G={key:1},J={key:0,class:"flex flex-wrap gap-2"},Q={key:1},S={style:{"white-space":"pre-wrap"}},U={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},te=L({__name:"detail",setup(q,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const i=await F({type:"past_history"});v.value=(i==null?void 0:i.past_history)||[]}catch(i){console.error("获取字典数据失败:",i)}},w=R(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(i=>{const _=v.value.find(s=>s.value===i);return _?_.name:i}));return x({open:async i=>{b.value.open(),await D(),e.value=await O({id:i})}}),(i,_)=>{const s=V,u=C,k=H,E=I,N=B;return n(),p("div",T,[l(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[l(E,{column:2,border:""},{default:a(()=>[l(s,{label:"患者ID"},{default:a(()=>[r(o(t(e).patient_id),1)]),_:1}),l(s,{label:"患者姓名"},{default:a(()=>[r(o(t(e).patient_name),1)]),_:1}),l(s,{label:"性别"},{default:a(()=>[r(o(t(e).gender_desc),1)]),_:1}),l(s,{label:"年龄"},{default:a(()=>[r(o(t(e).age)+"岁 ",1)]),_:1}),l(s,{label:"诊断日期"},{default:a(()=>[r(o(t(e).diagnosis_date_text),1)]),_:1}),l(s,{label:"诊断类型"},{default:a(()=>[r(o(t(e).diagnosis_type),1)]),_:1}),l(s,{label:"证型",span:2},{default:a(()=>[r(o(t(e).syndrome_type),1)]),_:1}),l(s,{label:"既往史",span:2},{default:a(()=>[(n(!0),p(m,null,y(t(w),c=>(n(),d(u,{key:c,class:"mr-2",type:"info"},{default:a(()=>[r(o(c),1)]),_:2},1024))),128)),t(w).length?P("",!0):(n(),p("span",z,"无"))]),_:1}),l(s,{label:"外伤史"},{default:a(()=>[r(o(t(e).trauma_history?"有":"无"),1)]),_:1}),l(s,{label:"手术史"},{default:a(()=>[r(o(t(e).surgery_history?"有":"无"),1)]),_:1}),l(s,{label:"过敏史"},{default:a(()=>[r(o(t(e).allergy_history?"有":"无"),1)]),_:1}),l(s,{label:"家族病史"},{default:a(()=>[r(o(t(e).family_history?"有":"无"),1)]),_:1}),l(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[r(o(t(e).pregnancy_history?"有":"无"),1)]),_:1}),l(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(n(),p("div",A,[(n(!0),p(m,null,y(t(e).tongue_images,(c,f)=>(n(),d(k,{key:f,src:c,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),p("span",G,"暂无"))]),_:1}),l(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(n(),p("div",J,[(n(!0),p(m,null,y(t(e).report_files,(c,f)=>(n(),d(k,{key:f,src:c,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),p("span",Q,"暂无"))]),_:1}),l(s,{label:"症状",span:2},{default:a(()=>[r(o(t(e).symptoms||"无"),1)]),_:1}),l(s,{label:"舌苔"},{default:a(()=>[r(o(t(e).tongue_coating||"无"),1)]),_:1}),l(s,{label:"脉象"},{default:a(()=>[r(o(t(e).pulse||"无"),1)]),_:1}),l(s,{label:"治则",span:2},{default:a(()=>[r(o(t(e).treatment_principle||"无"),1)]),_:1}),l(s,{label:"在用药物",span:2},{default:a(()=>[g("div",S,o(t(e).current_medications||"无"),1)]),_:1}),l(s,{label:"处方",span:2},{default:a(()=>[g("div",U,o(t(e).prescription||"无"),1)]),_:1}),l(s,{label:"医嘱",span:2},{default:a(()=>[g("div",j,o(t(e).doctor_advice||"无"),1)]),_:1}),l(s,{label:"备注",span:2},{default:a(()=>[r(o(t(e).remark||"无"),1)]),_:1}),l(s,{label:"状态"},{default:a(()=>[t(e).status==1?(n(),d(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[r("启用",-1)])]),_:1})):(n(),d(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[r("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间"},{default:a(()=>[r(o(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{te as _};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r as i}from"./index-DWk_b8Nv.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i};
|
||||
import{r as i}from"./index-DsBUBCgs.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{r}from"./index-DWk_b8Nv.js";function e(t){return r.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function n(t){return r.get({url:"/doctor.roster/lists",params:t})}function s(t){return r.post({url:"/doctor.roster/save",params:t})}function a(t){return r.post({url:"/doctor.roster/delete",params:t})}function i(t){return r.post({url:"/doctor.roster/batchSave",params:t})}function c(t){return r.get({url:"/doctor.appointment/availableSlots",params:t})}function u(t){return r.post({url:"/doctor.appointment/create",params:t})}function l(t){return r.post({url:"/doctor.appointment/cancel",params:t})}function p(t){return r.get({url:"/doctor.appointment/lists",params:t})}function d(t){return r.post({url:"/doctor.appointment/complete",params:t})}function m(t){return r.get({url:"/doctor.statistics/lists",params:t})}export{p as a,s as b,a as c,e as d,i as e,m as f,c as g,l as h,d as i,u as j,n as r};
|
||||
import{r}from"./index-DsBUBCgs.js";function o(t){return r.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function s(t){return r.get({url:"/doctor.roster/lists",params:t})}function n(t){return r.post({url:"/doctor.roster/save",params:t})}function a(t){return r.post({url:"/doctor.roster/delete",params:t})}function i(t){return r.post({url:"/doctor.roster/batchSave",params:t})}function c(t){return r.get({url:"/doctor.appointment/availableSlots",params:t})}function u(t){return r.post({url:"/doctor.appointment/create",params:t})}function l(t){return r.post({url:"/doctor.appointment/cancel",params:t})}function p(t){return r.get({url:"/doctor.appointment/lists",params:t})}function d(t){return r.post({url:"/doctor.appointment/complete",params:t})}function f(t){return r.get({url:"/doctor.statistics/lists",params:t})}function m(){return r.get({url:"/dept.dept/all"})}function g(t){return r.get({url:"/doctor.statistics/deptLists",params:t})}export{m as a,g as b,p as c,o as d,n as e,a as f,c as g,i as h,f as i,l as j,d as k,u as l,s as r};
|
||||
@@ -1 +0,0 @@
|
||||
@charset "UTF-8";.edit-drawer[data-v-f111c5ee]{font-size:12px}.edit-drawer[data-v-f111c5ee] .el-form{padding-bottom:20px;font-size:12px}.edit-drawer[data-v-f111c5ee] .el-divider{margin:24px 0 20px}.edit-drawer[data-v-f111c5ee] .el-divider .el-divider__text{font-size:13px;font-weight:600;color:#303133;background:#f5f7fa;padding:0 16px}.edit-drawer[data-v-f111c5ee] .el-form-item{margin-bottom:18px}.edit-drawer[data-v-f111c5ee] .el-form-item__label{font-size:12px;font-weight:500;color:#606266}.edit-drawer[data-v-f111c5ee] .el-input__inner,.edit-drawer[data-v-f111c5ee] .el-textarea__inner,.edit-drawer[data-v-f111c5ee] .el-radio-button__inner,.edit-drawer[data-v-f111c5ee] .el-checkbox-button__inner,.edit-drawer[data-v-f111c5ee] .el-button{font-size:12px}.edit-drawer .compact-form-item[data-v-f111c5ee] .el-radio-group{display:flex;flex-wrap:wrap;gap:12px}.edit-drawer .compact-form-item[data-v-f111c5ee] .el-radio-group .el-radio{margin-right:0;margin-bottom:0}.edit-drawer .checkbox-form-item[data-v-f111c5ee] .el-checkbox-group{display:flex;flex-wrap:wrap;gap:12px 16px}.edit-drawer .checkbox-form-item[data-v-f111c5ee] .el-checkbox-group .el-checkbox{margin-right:0;margin-bottom:0}.edit-drawer[data-v-f111c5ee] .el-radio-group .el-radio{margin-right:16px;margin-bottom:8px}.edit-drawer[data-v-f111c5ee] .el-radio-group .el-radio:last-child{margin-right:0}.edit-drawer[data-v-f111c5ee] .el-checkbox-group .el-checkbox{margin-right:16px;margin-bottom:8px}.edit-drawer .form-tips[data-v-f111c5ee]{font-size:12px;color:#909399;margin-top:4px;line-height:1.5}.edit-drawer .bingli-tab-content[data-v-f111c5ee]{padding:0 4px}.edit-drawer .bingli-diagnosis-section[data-v-f111c5ee]{margin-bottom:24px;padding:16px;background:#f5f7fa;border-radius:6px}.edit-drawer .bingli-label[data-v-f111c5ee]{font-size:13px;font-weight:500;color:#606266;margin-bottom:10px}.edit-drawer .bingli-images[data-v-f111c5ee]{display:flex;flex-wrap:wrap;gap:10px}.edit-drawer .bingli-img[data-v-f111c5ee]{width:80px;height:80px;border-radius:4px;cursor:pointer}.edit-drawer .bingli-empty[data-v-f111c5ee]{font-size:13px;color:#909399}.edit-drawer[data-v-f111c5ee] .el-input__inner,.edit-drawer[data-v-f111c5ee] .el-textarea__inner,.edit-drawer[data-v-f111c5ee] .el-select .el-input__inner,.edit-drawer[data-v-f111c5ee] .el-date-editor .el-input__inner{border-radius:4px}.high-z-index[data-v-f111c5ee]{z-index:3000!important}.el-drawer[data-v-f111c5ee]{z-index:1500!important}.el-overlay[data-v-f111c5ee]{z-index:1499}.el-picker__popper[data-v-f111c5ee],.el-select__popper[data-v-f111c5ee],.el-popper[data-v-f111c5ee],.el-picker-panel[data-v-f111c5ee],.el-select-dropdown[data-v-f111c5ee]{z-index:3000!important}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CT55bh5g.js";import"./element-plus-Dmpg6ayE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DsycZ37q.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-_OsdLnQ0.js";import"./index-DWk_b8Nv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-BKLtguGT.js";export{o as default};
|
||||
import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CPtpnars.js";import"./element-plus-DCRlGjqn.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./post-BT5vbLl2.js";import"./index-DsBUBCgs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-dlM42V9p.js";export{o as default};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
@charset "UTF-8";.edit-drawer[data-v-80508d0c]{font-size:12px}.edit-drawer[data-v-80508d0c] .el-form{padding-bottom:20px;font-size:12px}.edit-drawer[data-v-80508d0c] .el-divider{margin:24px 0 20px}.edit-drawer[data-v-80508d0c] .el-divider .el-divider__text{font-size:13px;font-weight:600;color:#303133;background:#f5f7fa;padding:0 16px}.edit-drawer[data-v-80508d0c] .el-form-item{margin-bottom:18px}.edit-drawer[data-v-80508d0c] .el-form-item__label{font-size:12px;font-weight:500;color:#606266}.edit-drawer[data-v-80508d0c] .el-input__inner,.edit-drawer[data-v-80508d0c] .el-textarea__inner,.edit-drawer[data-v-80508d0c] .el-radio-button__inner,.edit-drawer[data-v-80508d0c] .el-checkbox-button__inner,.edit-drawer[data-v-80508d0c] .el-button{font-size:12px}.edit-drawer .compact-form-item[data-v-80508d0c] .el-radio-group{display:flex;flex-wrap:wrap;gap:12px}.edit-drawer .compact-form-item[data-v-80508d0c] .el-radio-group .el-radio{margin-right:0;margin-bottom:0}.edit-drawer .checkbox-form-item[data-v-80508d0c] .el-checkbox-group{display:flex;flex-wrap:wrap;gap:12px 16px}.edit-drawer .checkbox-form-item[data-v-80508d0c] .el-checkbox-group .el-checkbox{margin-right:0;margin-bottom:0}.edit-drawer[data-v-80508d0c] .el-radio-group .el-radio{margin-right:16px;margin-bottom:8px}.edit-drawer[data-v-80508d0c] .el-radio-group .el-radio:last-child{margin-right:0}.edit-drawer[data-v-80508d0c] .el-checkbox-group .el-checkbox{margin-right:16px;margin-bottom:8px}.edit-drawer .form-tips[data-v-80508d0c]{font-size:12px;color:#909399;margin-top:4px;line-height:1.5}.edit-drawer .bingli-tab-content[data-v-80508d0c]{padding:0 4px}.edit-drawer .bingli-diagnosis-section[data-v-80508d0c]{margin-bottom:24px;padding:16px;background:#f5f7fa;border-radius:6px}.edit-drawer .bingli-label[data-v-80508d0c]{font-size:13px;font-weight:500;color:#606266;margin-bottom:10px}.edit-drawer .bingli-images[data-v-80508d0c]{display:flex;flex-wrap:wrap;gap:10px}.edit-drawer .bingli-img[data-v-80508d0c]{width:80px;height:80px;border-radius:4px;cursor:pointer}.edit-drawer .bingli-empty[data-v-80508d0c]{font-size:13px;color:#909399}.edit-drawer[data-v-80508d0c] .el-input__inner,.edit-drawer[data-v-80508d0c] .el-textarea__inner,.edit-drawer[data-v-80508d0c] .el-select .el-input__inner,.edit-drawer[data-v-80508d0c] .el-date-editor .el-input__inner{border-radius:4px}.high-z-index[data-v-80508d0c]{z-index:3000!important}.el-drawer[data-v-80508d0c]{z-index:1500!important}.el-overlay[data-v-80508d0c]{z-index:1499}.el-picker__popper[data-v-80508d0c],.el-select__popper[data-v-80508d0c],.el-popper[data-v-80508d0c],.el-picker-panel[data-v-80508d0c],.el-select-dropdown[data-v-80508d0c]{z-index:3000!important}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user