Merge branch 'main' of https://dd3skj.picp.vip/zhaoxinyu/v4
# Conflicts: # src/main/resources/views/platform/zhgh/staffbenefit/excellentRecuperation/activityList/basicForm.js
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -37,34 +37,6 @@ $.ajaxSetup({
|
||||
}
|
||||
})
|
||||
|
||||
//初始化pjax
|
||||
// ;(function initPjax() {
|
||||
// if ($.support.pjax) {
|
||||
// $(document).pjax("a[data-pjax]", "#container", {
|
||||
// maxCacheLength: 0,
|
||||
// push: false,
|
||||
// replace: true,
|
||||
// fragment: "#container",
|
||||
// timeout: 8000
|
||||
// })
|
||||
// $(document).on("pjax:send", function () {
|
||||
// NProgress.start()
|
||||
// $(".ele-admin-content-view").hide()
|
||||
// window.customStyleList = document.querySelectorAll('style[id^="style-"]')
|
||||
// })
|
||||
//
|
||||
// $(document).on("pjax:complete", function () {
|
||||
// if (window.customStyleList) {
|
||||
// window.customStyleList.forEach((style) => {
|
||||
// style.parentNode.removeChild(style)
|
||||
// })
|
||||
// }
|
||||
// NProgress.done()
|
||||
// $(".ele-admin-content-view").show()
|
||||
// })
|
||||
// }
|
||||
// })()
|
||||
|
||||
function pjaxReplace(url, data = {}) {
|
||||
const { pathname, search } = location
|
||||
if (url === pathname + search) {
|
||||
@@ -81,35 +53,3 @@ function pjaxReplace(url, data = {}) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
function removeHTMLTag(str) {
|
||||
str = str.replace(/<\/?[^>]*>/g, "") //去除HTML tag
|
||||
str = str.replace(/[ | ]*\n/g, "\n") //去除行尾空白
|
||||
str = str.replace(/\n[\s| | ]*\r/g, "\n") //去除多余空行
|
||||
str = str.replace(/ /gi, "") //去掉
|
||||
return str
|
||||
}
|
||||
|
||||
function GetQueryString(name) {
|
||||
return new URLSearchParams(window.location.search).get(name)
|
||||
}
|
||||
|
||||
function clearAllTimers() {
|
||||
const maxTimeoutId = setTimeout(function () {}, 0)
|
||||
for (let i = 0; i <= maxTimeoutId; i++) {
|
||||
clearTimeout(i)
|
||||
clearInterval(i)
|
||||
}
|
||||
}
|
||||
|
||||
function getNestedValue(obj, path) {
|
||||
return path.split(".").reduce((acc, part) => acc && acc[part], obj)
|
||||
}
|
||||
|
||||
function loc() {
|
||||
return location.href.replace(location.search, "").replace(location.hash, "")
|
||||
}
|
||||
|
||||
function clone(obj) {
|
||||
return JSON.parse(JSON.stringify(obj))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
const flowMixins = {
|
||||
created() {
|
||||
this.$nextTick(async ()=>{
|
||||
await httpVueLoader("/components/plugins/Guava.vue?v=" + new Date().getTime())()
|
||||
this.checkFlowTask();
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
checkFlowTask() {
|
||||
const taskId = GetQueryString("taskId")
|
||||
if (!taskId) return
|
||||
|
||||
// 如果是开始任务,用户自己处理(编辑、删除、撤销等等)
|
||||
const taskKey = GetQueryString("taskKey")
|
||||
if (taskKey === 'startTask') return;
|
||||
|
||||
// 增加loading动画
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
console.log(this.$refs)
|
||||
console.log(this.$refs.guava)
|
||||
|
||||
// this.oepnAudit({})
|
||||
//
|
||||
//
|
||||
// this.$axios.post(location.pathname + '/queryTask', {taskId}).then(res => {
|
||||
// if (res.code === 0) {
|
||||
// // 延迟1.5秒 显示loading动画 解决Guava异步加载 获取不到实例的问题
|
||||
// setTimeout(() => {
|
||||
// if (res.data.taskState === 10) {
|
||||
// this.openAudit(res.data);
|
||||
// } else {
|
||||
// this.openView(res.data);
|
||||
// }
|
||||
// loading.close();
|
||||
// }, 1500)
|
||||
// }
|
||||
// })
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1,23 +1,211 @@
|
||||
Vue.mixin({
|
||||
mounted() {
|
||||
if (this.$options.style) {
|
||||
const styleId = `style-${this._uid}`
|
||||
const style = document.createElement("style")
|
||||
style.id = styleId
|
||||
//支持函数和字符串
|
||||
const css = typeof this.$options.style === "function" ? this.$options.style.call(this) : this.$options.style
|
||||
style.textContent = css
|
||||
document.head.appendChild(style)
|
||||
const styleUtil = {
|
||||
// 为元素及其所有子元素添加scoped属性
|
||||
addScopedAttribute(el, scopedId, vm) {
|
||||
if (!el || !el.setAttribute) return;
|
||||
|
||||
// 跳过Vue组件实例 但是不跳过自己 也就是排除子组件
|
||||
if (el.__vue__ && el.__vue__ !== vm) return;
|
||||
|
||||
// 添加scoped属性到当前元素
|
||||
el.setAttribute(scopedId, '')
|
||||
|
||||
// 只处理普通DOM元素,不处理Vue组件
|
||||
// const children = el.children || el.childNodes;
|
||||
// for (let i = 0; i < children.length; i++) {
|
||||
// const child = children[i];
|
||||
// // 检查是否为普通DOM元素(非Vue组件)
|
||||
// if (child.nodeType === 1 && !child.__vue__) {
|
||||
// styleUtil.addScopedAttribute(child, scopedId, vm);
|
||||
// }
|
||||
// }
|
||||
|
||||
// 使用TreeWalker优化遍历性能
|
||||
const walker = document.createTreeWalker(
|
||||
el,
|
||||
NodeFilter.SHOW_ELEMENT,
|
||||
{
|
||||
acceptNode(node) {
|
||||
// 排除子Vue组件
|
||||
return node.__vue__ && node !== el
|
||||
? NodeFilter.FILTER_REJECT
|
||||
: NodeFilter.FILTER_ACCEPT;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
let node;
|
||||
while (node = walker.nextNode()) {
|
||||
if (node !== el) {
|
||||
node.setAttribute(scopedId, '');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
if (this.$options.style) {
|
||||
const styleId = `style-${this._uid}`
|
||||
const style = document.getElementById(styleId)
|
||||
if (style) {
|
||||
document.head.removeChild(style)
|
||||
// 移除元素及其所有子元素的scoped属性
|
||||
removeScopedAttribute(el, scopedId) {
|
||||
if (!el || !el.removeAttribute) return;
|
||||
|
||||
// 使用querySelectorAll批量处理
|
||||
const elements = el.querySelectorAll(`[${scopedId}]`);
|
||||
elements.forEach(element => element.removeAttribute(scopedId));
|
||||
|
||||
// 处理根元素
|
||||
el.removeAttribute(scopedId);
|
||||
|
||||
// if (el && el.removeAttribute) {
|
||||
// el.removeAttribute(scopedId)
|
||||
//
|
||||
// // 递归处理所有子元素
|
||||
// const children = el.children || el.childNodes
|
||||
// for (let i = 0; i < children.length; i++) {
|
||||
// styleUtil.removeScopedAttribute(children[i], scopedId)
|
||||
// }
|
||||
// }
|
||||
},
|
||||
|
||||
// 为CSS规则添加作用域属性
|
||||
scopeCss(css, scopedId) {
|
||||
// 处理CSS规则,为每个选择器添加[scopedId]
|
||||
const processedCss = css.replace(/([^{]+){/g, (match, selectors) => {
|
||||
return selectors.split(',')
|
||||
.map(selector => {
|
||||
// 处理深度选择器
|
||||
if (selector.includes('::v-deep')) {
|
||||
return selector.replace('::v-deep', `[${scopedId}]`);
|
||||
}
|
||||
|
||||
// 处理媒体查询等特殊情况
|
||||
if (selector.includes('@') || selector.trim().startsWith('@')) {
|
||||
return selector;
|
||||
}
|
||||
|
||||
// 普通选择器
|
||||
return `${selector.trim()}[${scopedId}]`
|
||||
})
|
||||
.join(',') + '{'
|
||||
})
|
||||
|
||||
return processedCss
|
||||
},
|
||||
}
|
||||
|
||||
// 异步DOM观察器
|
||||
const asyncStyleHandler = {
|
||||
observers: new Map(),
|
||||
|
||||
// 为组件设置观察器
|
||||
setupObserver(vm, scopedId) {
|
||||
if (!vm.$el) return;
|
||||
|
||||
// 清除现有观察器
|
||||
this.disconnectObserver(vm._uid);
|
||||
|
||||
// 创建新的MutationObserver
|
||||
const observer = new MutationObserver((mutations) => {
|
||||
let shouldProcess = false;
|
||||
|
||||
for (const mutation of mutations) {
|
||||
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
|
||||
shouldProcess = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (shouldProcess) {
|
||||
// 防抖处理
|
||||
clearTimeout(vm._styleDebounce);
|
||||
vm._styleDebounce = setTimeout(() => {
|
||||
styleUtil.addScopedAttribute(vm.$el, scopedId, vm);
|
||||
}, 0);
|
||||
}
|
||||
});
|
||||
|
||||
// 开始观察
|
||||
observer.observe(vm.$el, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
|
||||
// 存储观察器引用
|
||||
this.observers.set(vm._uid, observer);
|
||||
},
|
||||
|
||||
// 断开观察器
|
||||
disconnectObserver(uid) {
|
||||
if (this.observers.has(uid)) {
|
||||
this.observers.get(uid).disconnect();
|
||||
this.observers.delete(uid);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Vue.mixin({
|
||||
mounted() {
|
||||
if (!this.$options.style) return;
|
||||
|
||||
try {
|
||||
const styleId = `style-${this._uid}`;
|
||||
const scopedId = `data-v-${this._uid}`;
|
||||
|
||||
// 检查样式是否已存在
|
||||
if (document.getElementById(styleId)) {
|
||||
console.warn(`Style with id ${styleId} already exists`);
|
||||
return;
|
||||
}
|
||||
|
||||
const style = document.createElement("style");
|
||||
style.id = styleId;
|
||||
|
||||
// 添加作用域属性
|
||||
if (this.$el) {
|
||||
styleUtil.addScopedAttribute(this.$el, scopedId, this);
|
||||
}
|
||||
|
||||
// 处理CSS
|
||||
let css = typeof this.$options.style === "function"
|
||||
? this.$options.style.call(this)
|
||||
: this.$options.style;
|
||||
|
||||
if (!css || typeof css !== 'string') {
|
||||
console.warn('Invalid style content');
|
||||
return;
|
||||
}
|
||||
|
||||
css = styleUtil.scopeCss(css, scopedId);
|
||||
style.textContent = css;
|
||||
document.head.appendChild(style);
|
||||
|
||||
this._scopedId = scopedId;
|
||||
this._styleId = styleId;
|
||||
|
||||
// 设置异步DOM观察器
|
||||
asyncStyleHandler.setupObserver(this, scopedId);
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error applying scoped styles:', error);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
beforeDestroy() {
|
||||
try {
|
||||
// 清理作用域属性
|
||||
if (this._scopedId && this.$el) {
|
||||
styleUtil.removeScopedAttribute(this.$el, this._scopedId);
|
||||
}
|
||||
|
||||
// 移除样式标签
|
||||
if (this._styleId) {
|
||||
const style = document.getElementById(this._styleId);
|
||||
if (style && style.parentNode) {
|
||||
style.parentNode.removeChild(style);
|
||||
}
|
||||
}
|
||||
|
||||
// 断开观察器
|
||||
asyncStyleHandler.disconnectObserver(this._uid);
|
||||
} catch (error) {
|
||||
console.error('Error cleaning up scoped styles:', error);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -228,3 +228,57 @@ const commonUtil = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function removeHTMLTag(str) {
|
||||
str = str.replace(/<\/?[^>]*>/g, "") //去除HTML tag
|
||||
str = str.replace(/[ | ]*\n/g, "\n") //去除行尾空白
|
||||
str = str.replace(/\n[\s| | ]*\r/g, "\n") //去除多余空行
|
||||
str = str.replace(/ /gi, "") //去掉
|
||||
return str
|
||||
}
|
||||
|
||||
function GetQueryString(name) {
|
||||
return new URLSearchParams(window.location.search).get(name)
|
||||
}
|
||||
|
||||
function clearAllTimers() {
|
||||
const maxTimeoutId = setTimeout(function () {}, 0)
|
||||
for (let i = 0; i <= maxTimeoutId; i++) {
|
||||
clearTimeout(i)
|
||||
clearInterval(i)
|
||||
}
|
||||
}
|
||||
|
||||
function getNestedValue(obj, path) {
|
||||
return path.split(".").reduce((acc, part) => acc && acc[part], obj)
|
||||
}
|
||||
|
||||
function loc() {
|
||||
return location.href.replace(location.search, "").replace(location.hash, "")
|
||||
}
|
||||
|
||||
function clone(obj) {
|
||||
return JSON.parse(JSON.stringify(obj))
|
||||
}
|
||||
|
||||
function base64ToFile(base64Data, filename) {
|
||||
// 将base64的数据部分提取出来
|
||||
const parts = base64Data.split(";base64,")
|
||||
const contentType = parts[0].split(":")[1]
|
||||
const raw = window.atob(parts[1])
|
||||
const rawLength = raw.length
|
||||
const uInt8Array = new Uint8Array(rawLength)
|
||||
|
||||
for (let i = 0; i < rawLength; ++i) {
|
||||
uInt8Array[i] = raw.charCodeAt(i)
|
||||
}
|
||||
|
||||
// 使用Blob对象创建File对象
|
||||
const blob = new Blob([uInt8Array], { type: contentType })
|
||||
blob.lastModifiedDate = new Date()
|
||||
blob.name = filename
|
||||
return new File([blob], filename, { type: contentType })
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
;(function () {
|
||||
const api = {
|
||||
listType() {
|
||||
return $.get("/platform/condolence/common/listType")
|
||||
},
|
||||
|
||||
listOpenType() {
|
||||
return $.get("/platform/condolence/common/listType")
|
||||
}
|
||||
}
|
||||
window.condolenceCommonApi = api
|
||||
})()
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
;(function () {
|
||||
const teacherCongressApi = {
|
||||
//全部教代会
|
||||
listSession() {
|
||||
return $.get("/platform/teacherCongress/common/listSession")
|
||||
},
|
||||
|
||||
//开启的教代会
|
||||
listOpenSession() {
|
||||
return $.get("/platform/teacherCongress/common/listOpenSession")
|
||||
},
|
||||
|
||||
//查询代表团根据教代会
|
||||
listDelegation(sessionId) {
|
||||
return $.get("/platform/teacherCongress/common/listDelegation", { sessionId })
|
||||
},
|
||||
|
||||
//查询所有的代表类型(三种)
|
||||
listDelegateRole() {
|
||||
return $.get("/platform/teacherCongress/common/listDelegateRole")
|
||||
}
|
||||
}
|
||||
window.teacherCongressApi = teacherCongressApi
|
||||
})()
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
(function () {
|
||||
const workersCongressApi = {
|
||||
//全部工代会
|
||||
listSession() {
|
||||
return $.get("/platform/teacherCongress/common/listSession")
|
||||
},
|
||||
|
||||
//开启的工代会
|
||||
listOpenSession() {
|
||||
return $.get("/platform/teacherCongress/common/listOpenSession")
|
||||
},
|
||||
|
||||
//查询代表团根据工代会
|
||||
listDelegation(sessionId) {
|
||||
return $.get("/platform/teacherCongress/common/listDelegation", { sessionId })
|
||||
},
|
||||
|
||||
//查询所有的代表类型(三种)
|
||||
listDelegateRole() {
|
||||
return $.get("/platform/teacherCongress/common/listDelegateRole")
|
||||
}
|
||||
}
|
||||
window.workersCongressApi = workersCongressApi
|
||||
})()
|
||||
@@ -1,101 +0,0 @@
|
||||
const initTableMixins = {
|
||||
data() {
|
||||
return {
|
||||
pageDataUrl: "",
|
||||
submitLoading: false,
|
||||
searchMore: false,
|
||||
tableSize: "",
|
||||
tableKey: "",
|
||||
formData: {},
|
||||
formRules: {},
|
||||
formLoading: false,
|
||||
tableLoading: false,
|
||||
tableData: [],
|
||||
tableColumns: [],
|
||||
pageForm: {
|
||||
searchName: "",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: ""
|
||||
},
|
||||
guavaIndex: "index",
|
||||
unionGroups: [],
|
||||
threeUnits: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand({ action, value }) {
|
||||
if (action) action(value)
|
||||
},
|
||||
columnChange(val) {
|
||||
this.tableLoading = true
|
||||
this.tableColumns = val
|
||||
this.tableLoading = false
|
||||
},
|
||||
tableSizeChange(size) {
|
||||
this.tableSize = size
|
||||
},
|
||||
indexMethod(index) {
|
||||
return index + (this.pageForm.pageNumber - 1) * this.pageForm.pageSize + 1
|
||||
},
|
||||
doSearch() {
|
||||
this.tableKey = new Date().getTime()
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
},
|
||||
pageOrder(column) {
|
||||
this.pageForm.pageOrderName = column.prop
|
||||
this.pageForm.pageOrderBy = column.order
|
||||
this.pageData()
|
||||
},
|
||||
pageNumberChange(val) {
|
||||
this.pageForm.pageNumber = val
|
||||
this.pageData()
|
||||
},
|
||||
pageSizeChange(val) {
|
||||
this.pageForm.pageSize = val
|
||||
this.pageData()
|
||||
},
|
||||
pageData(url = null, data = null) {
|
||||
const address = url ? url : loc() + "/pageData"
|
||||
this.tableLoading = true
|
||||
$.post(
|
||||
address,
|
||||
data ? data : this.pageForm,
|
||||
(data) => {
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list
|
||||
this.pageForm.totalCount = data.data.totalCount
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
},
|
||||
notifySuccess(msg) {
|
||||
this.$notify({
|
||||
title: "成功",
|
||||
message: msg,
|
||||
type: "success"
|
||||
})
|
||||
},
|
||||
notifyWarning(msg) {
|
||||
this.$notify({
|
||||
title: "警告",
|
||||
message: msg,
|
||||
type: "warning"
|
||||
})
|
||||
},
|
||||
notifyError(msg) {
|
||||
this.$notify.error({
|
||||
title: "错误",
|
||||
message: msg
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,530 +0,0 @@
|
||||
/*选择商品品类*/
|
||||
.content-goods-publish {
|
||||
padding: 15px;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
border-radius: 0.8em;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
background: none repeat 0 0 #fff;
|
||||
|
||||
/*商品品类*/
|
||||
.goods-category {
|
||||
min-height: 500px;
|
||||
border-radius: 0.8em;
|
||||
text-align: left;
|
||||
padding: 10px;
|
||||
background: #ededed;
|
||||
|
||||
ul {
|
||||
padding: 12px 8px;
|
||||
list-style: none;
|
||||
width: 300px;
|
||||
background: none repeat 0 0 #fff;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
|
||||
border-radius: 0.4em;
|
||||
display: inline-block;
|
||||
letter-spacing: normal;
|
||||
margin-right: 15px;
|
||||
vertical-align: top;
|
||||
word-spacing: normal;
|
||||
|
||||
li {
|
||||
line-height: 20px;
|
||||
padding: 10px 5px;
|
||||
cursor: pointer;
|
||||
color: #333;
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** 当前品类被选中的样式 */
|
||||
.activeClass {
|
||||
border-radius: 0.4em;
|
||||
background-color: color-mix(in srgb, var(--color-primary) 20%, transparent);
|
||||
border: 1px solid color-mix(in srgb, var(--color-primary) 80%, transparent);
|
||||
/*background-color: rgba(33, 112, 80, 0.2);*/
|
||||
/*border: 1px solid rgba(33, 112, 80, 0.8);*/
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/*!*当前选择的商品品类文字*!*/
|
||||
.current-goods-category {
|
||||
text-align: left;
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
border: 1px solid #fbeed5;
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
margin: 10px auto;
|
||||
padding: 8px 35px 8px 14px;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
/*编辑基本信息*/
|
||||
.el-form {
|
||||
padding-bottom: 80px;
|
||||
|
||||
.el-form-item {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.sku-val {
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
|
||||
>.ivu-form {
|
||||
flex-wrap: wrap !important;
|
||||
}
|
||||
|
||||
/deep/ .sku-item-content-val {
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
div.base-info-item {
|
||||
h4 {
|
||||
margin-bottom: 10px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #ddd;
|
||||
background-color: #f8f8f8;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
line-height: 40px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
>div {
|
||||
padding-left: 5%;
|
||||
}
|
||||
|
||||
.form-item-view {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
// padding-left: 80px;
|
||||
|
||||
.form-item-view-wholesale {
|
||||
display: flex;
|
||||
|
||||
.form-item-view-wholesale-preview {
|
||||
padding-left: 5%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.layout {
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
|
||||
.sku-item-content {
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
width: 100% !important;
|
||||
flex: 1;
|
||||
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
|
||||
>.ivu-card-body {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ivu-card-body {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.sku-item-content-name {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.shop-category-text {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.form-item-view-bottom {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.item-goods-properts-row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
width: 300px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.item-goods-properts {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.form-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/** 审核信息-拒绝原因 */
|
||||
.auth-info {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
width: 30%;
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.goods-name-width {
|
||||
width: 50%;
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.el-form-item__content {
|
||||
margin-left: 120px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
p.goods-group-manager {
|
||||
padding-left: 7.5%;
|
||||
text-align: left;
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/*teatarea*/
|
||||
/deep/ .el-textarea {
|
||||
width: 150%;
|
||||
}
|
||||
|
||||
.seo-text {
|
||||
width: 150%;
|
||||
}
|
||||
}
|
||||
|
||||
/*折叠面板*/
|
||||
.el-collapse-item {
|
||||
/deep/ .el-collapse-item__header {
|
||||
text-align: left;
|
||||
background-color: #f8f8f8;
|
||||
padding: 0 10px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
margin-left: 5%;
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
/deep/ .el-form-item__content {
|
||||
margin-left: 120px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
p.goods-group-manager {
|
||||
padding-left: 12%;
|
||||
text-align: left;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/deep/ .el-collapse-item__content {
|
||||
padding: 10px 0;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.success {
|
||||
>h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
>* {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.operation {
|
||||
>* {
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*商品描述*/
|
||||
.goods-intro {
|
||||
line-height: 40;
|
||||
}
|
||||
|
||||
/** 底部步骤 */
|
||||
.footer {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
padding: 10px;
|
||||
background-color: #ffc;
|
||||
position: sticky;
|
||||
bottom: 0px;
|
||||
text-align: center;
|
||||
z-index: 999;
|
||||
|
||||
>.ivu-btn {
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
/*图片上传组件第一张图设置封面*/
|
||||
.goods-images {
|
||||
/deep/ li.el-upload-list__item:first-child {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/deep/ li.el-upload-list__item:first-child:after {
|
||||
content: "封";
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
left: -15px;
|
||||
top: -6px;
|
||||
width: 40px;
|
||||
height: 24px;
|
||||
padding-top: 6px;
|
||||
background: #13ce66;
|
||||
text-align: center;
|
||||
-webkit-transform: rotate(-45deg);
|
||||
transform: rotate(-45deg);
|
||||
-webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
.el-form-item__label {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.step-list {
|
||||
height: 60px;
|
||||
padding: 10px 30px;
|
||||
background-color: #fff;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 0.8em;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.add-sku-btn {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.sku-item:not(:first-child) {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.sku-upload-list {
|
||||
text-align: center;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
background: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.preview-picture {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
// text-align: center;
|
||||
border: 1px solid transparent;
|
||||
// justify-self: center;
|
||||
// align-self: center;
|
||||
}
|
||||
|
||||
.preview-picture img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sku-upload-list img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sku-upload-list-cover {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.sku-upload-list:hover .sku-upload-list-cover {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sku-upload-list-cover i {
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
margin: 0 2px;
|
||||
}
|
||||
|
||||
.required {
|
||||
/deep/ .ivu-form-item-label::before {
|
||||
content: "*";
|
||||
display: inline-block;
|
||||
margin-right: 4px;
|
||||
line-height: 1;
|
||||
font-family: SimSun;
|
||||
font-size: 14px;
|
||||
color: #ed4014;
|
||||
}
|
||||
}
|
||||
|
||||
.demo-upload-list {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
display: inline-block;
|
||||
background: #fff;
|
||||
position: relative;
|
||||
margin-right: 4px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.demo-upload-list img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.demo-upload-list-cover {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.demo-upload-list:hover .demo-upload-list-cover {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.demo-upload-list-cover div {
|
||||
margin-top: 50px;
|
||||
width: 100%;
|
||||
|
||||
>i {
|
||||
width: 50%;
|
||||
margin-top: 8px;
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.active-goods-type {
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.goods-type-list {
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.template-item {
|
||||
justify-content: flex-start !important;
|
||||
}
|
||||
|
||||
.tree-bar {
|
||||
height: auto !important;
|
||||
max-height: auto !important;
|
||||
min-height: 240px !important;
|
||||
}
|
||||
|
||||
.goods-type-item {
|
||||
padding: 20px 0;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
transition: 0.35s;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
/deep/ img {
|
||||
margin-right: 20px;
|
||||
width: 100px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/deep/ p {
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.goods-type-item:hover {
|
||||
background: #ededed;
|
||||
}
|
||||
|
||||
.goods-list-box {
|
||||
height: 450px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
h2 {
|
||||
cursor: pointer;
|
||||
font-size: 21px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.form-item-view-wholesale-form-col {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.form-item-view-wholesale-row-del {
|
||||
display: "flex";
|
||||
justify-content: "space-between";
|
||||
align-items: "center";
|
||||
}
|
||||
.promise-intro-btn{
|
||||
margin: 10px 0;
|
||||
text-align: left;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "index"
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -36,6 +36,7 @@
|
||||
}
|
||||
"
|
||||
:auto-upload="false"
|
||||
action
|
||||
:limit="1"
|
||||
:file-list="importData.fileList"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user