From fe898632d423b924c68bf7087c7fe69831c892fe Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Wed, 24 May 2023 10:18:28 +0800
Subject: [PATCH] fix
---
package-lock.json | 71 +-
package.json | 3 +-
src/components/img-upload/Cropper.vue | 186 ++--
src/setting.js | 2 +-
src/utils/api.js | 1 +
src/views/order/AddOrder.vue | 12 +-
src/views/parnerOperation/learnMg.vue | 1483 +++++++++++++------------
src/views/serve/projectList.vue | 794 +++++++------
src/views/shop/addProduct/index.vue | 183 ++-
src/views/shop/list/market/index.vue | 2 +-
src/views/shop/list/product/index.vue | 7 +-
11 files changed, 1504 insertions(+), 1240 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 67cde37..35d09e7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2460,6 +2460,15 @@
"schema-utils": "^1.0.0"
}
},
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
"call-me-maybe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
@@ -5605,6 +5614,24 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
+ "get-intrinsic": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
+ },
+ "dependencies": {
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ }
+ }
+ },
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -6562,6 +6589,11 @@
"sparkles": "^1.0.0"
}
},
+ "has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
+ },
"has-symbols": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
@@ -10223,9 +10255,12 @@
"dev": true
},
"qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
},
"query-string": {
"version": "4.3.4",
@@ -10707,6 +10742,13 @@
"tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
+ }
}
},
"request-promise-core": {
@@ -11272,6 +11314,23 @@
"integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
"dev": true
},
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "dependencies": {
+ "object-inspect": {
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
+ "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
+ }
+ }
+ },
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
@@ -12709,9 +12768,9 @@
}
},
"vue-cropper": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.6.tgz",
- "integrity": "sha512-54Z/AipXDBcE5nzJweTM+BryzSAcC0FCTMQLvLt6f4XanP4AWB3mPkQw3PG3NRICo7knljHO+N+pjZxYAKoTLQ=="
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.8.tgz",
+ "integrity": "sha512-Xgi/aLQCcNCiBTUdovy/i4LWx0G7fQnAENBpDWA3J4i87Zlk9DJRksXrClsQ6nnaFRfQVkMimij5GEvAMaXdYw=="
},
"vue-cropperjs": {
"version": "3.0.0",
diff --git a/package.json b/package.json
index 6b39fb2..040b0db 100644
--- a/package.json
+++ b/package.json
@@ -22,10 +22,11 @@
"mavon-editor": "^2.6.17",
"postcss-px2rem": "^0.3.0",
"px2rem-loader": "^0.1.9",
+ "qs": "^6.11.2",
"sortablejs": "^1.14.0",
"vue": "^2.6.10",
"vue-codemirror": "^4.0.6",
- "vue-cropper": "^0.5.5",
+ "vue-cropper": "^0.5.8",
"vue-cropperjs": "^3.0.0",
"vue-pdf": "^4.3.0",
"vue-quill-editor": "^3.0.6",
diff --git a/src/components/img-upload/Cropper.vue b/src/components/img-upload/Cropper.vue
index a525d3d..91a05c1 100644
--- a/src/components/img-upload/Cropper.vue
+++ b/src/components/img-upload/Cropper.vue
@@ -3,33 +3,31 @@
-
-
+
-
-
-
-
+
+
+
+
@@ -43,11 +41,10 @@
-->
-
+
上传
@@ -59,7 +56,7 @@
import {
VueCropper
} from 'vue-cropper'
-import {compress, compressAccurately} from 'image-conversion'
+import { compress, compressAccurately } from 'image-conversion'
export default {
components: {
VueCropper
@@ -90,7 +87,7 @@ export default {
default: true
}
},
- data() {
+ data () {
return {
previews: {}, // 预览数据
option: {
@@ -113,31 +110,30 @@ export default {
}
},
methods: {
- changeScale(num) {
+ changeScale (num) {
// 图片缩放
num = num || 1
this.$refs.cropper.changeScale(num)
},
- rotateLeft() {
+ rotateLeft () {
// 向左旋转
this.$refs.cropper.rotateLeft()
},
- rotateRight() {
+ rotateRight () {
// 向右旋转
this.$refs.cropper.rotateRight()
},
- updateImg(file) {
+ updateImg (file) {
this.option.img = file.url
this.option.size = file.size / 1024 > 200 ? 0.9 : 0.95
},
- realTimes(data) {
- console.log('data=>',data)
+ realTime (data) {
// 实时预览
this.previews = data
},
- close() {
+ close () {
},
- uploadImg(type) {
+ uploadImg (type) {
this.isDisabled = true
// 将剪裁好的图片回传给父组件
const that = this
@@ -158,81 +154,81 @@ export default {
diff --git a/src/setting.js b/src/setting.js
index 5f0626c..15826f8 100644
--- a/src/setting.js
+++ b/src/setting.js
@@ -12,7 +12,7 @@ if (isDev) {
host = 'http://121.37.12.51/'
// host = 'https://huorantech.cn/'
// host = 'http://192.168.31.151:9000/'// 榕
- // host = 'http://192.168.31.52:9000/'// 赓
+ host = 'http://192.168.31.53:9000/'// 赓
} else if (isPro) {
jumpPath = 'https://www.huorantech.cn/judgmentPoint/'
}
diff --git a/src/utils/api.js b/src/utils/api.js
index 8e61dba..6df6f67 100644
--- a/src/utils/api.js
+++ b/src/utils/api.js
@@ -450,6 +450,7 @@ export default {
deleteTags: `nakadai/tags/deleteTags`,
tagsList: `nakadai/tags/tagsList`,
updateTags: `nakadai/tags/updateTags`,
+ updateTagsSort: `nakadai/tags/updateTagsSort`,
addGoods: `nakadai/mall/addGoods`,
listOfGoods: `nakadai/mall/listOfGoods`,
deletionOfGoods: `nakadai/mall/deletionOfGoods`,
diff --git a/src/views/order/AddOrder.vue b/src/views/order/AddOrder.vue
index 7b89f55..c1ddb19 100644
--- a/src/views/order/AddOrder.vue
+++ b/src/views/order/AddOrder.vue
@@ -175,7 +175,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
- 设置
+ 设置
-
-
+
+
-
+
- 设置
+ 设置
-
-
+
+
-
-
-
-
-
+
+
+
+
+
点击上传
-
-
+
+
-
-
+
+
上传
- 发布
+ 发布
保存草稿
取消
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
{{ scope.row.classificationName }}
- 否
-
+ 否
+
-
-
-
+
+
+
@@ -191,31 +232,54 @@
返回
-
-
+
+
-
+
-
-
-
+
+
+
-
+
{{ scope.row.labelName }}
- 否
-
+ 否
+
-
-
-
+
+
+
@@ -234,461 +298,461 @@ import editorConfig from '@/utils/editor'
import Cropper from '@/components/img-upload/Cropper'
import Axios from 'axios'
export default {
- data() {
- return {
- typeId: +this.$route.query.type,
- headers: {
- token: sessionStorage.getItem('token')
- },
- nameRepeat: false,
- form: {
- id: this.$route.query.id || '',
- author: '',
- edit: '',
- audit: '',
- bannerImg: '',
- lableId: [],
- classificationId: '',
- file: '',
- isRelease: 0,
- mainBody: '',
- releaseTime: new Date(),
- summary : '',
- title: '',
- fileList: [],
- typeId: +this.$route.query.type
- },
- rules: {
- title: [
- { required: true, message: '请输入标题', trigger: 'blur' }
- ],
- classificationId: [
- { required: true, message: '请选择所属分类', trigger: 'change' }
- ],
- releaseTime: [
- { required: true, message: '请选择发布日期', trigger: 'change' }
- ],
- bannerImg: [
- { required: true, message: '请上传封面图', trigger: 'change' }
- ],
- mainBody: [
- { required: true, message: '请输入正文', trigger: 'blur' }
- ],
- },
- editorConfig,
- submiting: false, // 新增编辑防抖标识
- pass: false,
- uploading: 0,
- updateTime: 0,
- cropperModel: false,
- isUpload: false,
- fixedNumber: [1.76, 1],
- file: {}, // 当前被选择的图片文件
- classifications: [],
- classVisible: false,
- labels: [],
- labelVisible: false
- };
- },
- components: {
- Editor,
- Cropper
- },
- watch: {
- // 监听信息是否有更改,有的话页面离开的时候要询问是否要保存
+ data () {
+ return {
+ typeId: +this.$route.query.type,
+ headers: {
+ token: sessionStorage.getItem('token')
+ },
+ nameRepeat: false,
form: {
- handler(val){
- this.updateTime++
- },
- deep:true
- }
- },
- // 页面离开的时候如果没有保存则提示
- beforeRouteLeave(to, from, next) {
- if (this.submiting) {
- next()
- } else if (!this.pass) {
- // 更改了信息才需要提示
- if (this.updateTime) {
- this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', {
- type: 'warning'
- }).then(() => {
- this.submit(this.form.isRelease, next)
- }).catch(() => {
- console.log(55)
- next()
- })
- } else {
+ id: this.$route.query.id || '',
+ author: '',
+ edit: '',
+ audit: '',
+ bannerImg: '',
+ lableId: [],
+ classificationId: '',
+ file: '',
+ isRelease: 0,
+ mainBody: '',
+ releaseTime: new Date(),
+ summary: '',
+ title: '',
+ fileList: [],
+ typeId: +this.$route.query.type
+ },
+ rules: {
+ title: [
+ { required: true, message: '请输入标题', trigger: 'blur' }
+ ],
+ classificationId: [
+ { required: true, message: '请选择所属分类', trigger: 'change' }
+ ],
+ releaseTime: [
+ { required: true, message: '请选择发布日期', trigger: 'change' }
+ ],
+ bannerImg: [
+ { required: true, message: '请上传封面图', trigger: 'change' }
+ ],
+ mainBody: [
+ { required: true, message: '请输入正文', trigger: 'blur' }
+ ],
+ },
+ editorConfig,
+ submiting: false, // 新增编辑防抖标识
+ pass: false,
+ uploading: 0,
+ updateTime: 0,
+ cropperModel: false,
+ isUpload: false,
+ fixedNumber: [1.76, 1],
+ file: {}, // 当前被选择的图片文件
+ classifications: [],
+ classVisible: false,
+ labels: [],
+ labelVisible: false
+ };
+ },
+ components: {
+ Editor,
+ Cropper
+ },
+ watch: {
+ // 监听信息是否有更改,有的话页面离开的时候要询问是否要保存
+ form: {
+ handler (val) {
+ this.updateTime++
+ },
+ deep: true
+ }
+ },
+ // 页面离开的时候如果没有保存则提示
+ beforeRouteLeave (to, from, next) {
+ if (this.submiting) {
+ next()
+ } else if (!this.pass) {
+ // 更改了信息才需要提示
+ if (this.updateTime) {
+ this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', {
+ type: 'warning'
+ }).then(() => {
+ this.submit(this.form.isRelease, next)
+ }).catch(() => {
+ console.log(55)
next()
- }
+ })
} else {
next()
}
+ } else {
+ next()
+ }
+ },
+ mounted () {
+ this.getArticle()
+ this.getLabel()
+ },
+ methods: {
+ // 文章详情
+ getArticle () {
+ const { id } = this.form
+ id ? this.$post(`${this.api.findByIdParnerArticle}?id=${id}`).then(({ data }) => {
+ data.lableId = data.lableId ? data.lableId.split(',').map(e => +e) : []
+ data.fileList.forEach(e => e.name = e.fileName)
+ this.form = data
+ this.getClassification(1)
+ }).catch(err => { }) : this.getClassification(1)
},
- mounted() {
- this.getArticle()
- this.getLabel()
- },
- methods: {
- // 文章详情
- getArticle() {
- const { id } = this.form
- id ? this.$post(`${this.api.findByIdParnerArticle}?id=${id}`).then(({ data }) => {
- data.lableId = data.lableId ? data.lableId.split(',').map(e => +e) : []
- data.fileList.forEach(e => e.name = e.fileName)
- this.form = data
- this.getClassification(1)
- }).catch(err => {}) : this.getClassification(1)
- },
- // 获取所属分类
- getClassification(detail) {
- this.$post(`${this.api.queryClassificationByType}?typeId=${this.typeId}`).then(({ data }) => {
- this.classifications = data
- // 如果所选分类被删除,则清空分类id
- if (detail) {
- const id = this.form.classificationId
- if (!data.find(e => e.id == id)) this.form.classificationId = ''
- setTimeout(() => {
- this.updateTime = 0
- }, 500)
- }
- }).catch(err => {})
- },
- // 显示所属分类弹框
- setClass() {
- this.classVisible = true
- },
- // 新增所属分类
- addClass() {
- this.classifications.push({
- edit: true,
- id: '',
- classificationName: ''
- })
- },
- // 编辑所属分类
- editClass(row) {
- this.$set(row, 'edit', 1)
- },
- // 删除所属分类
- delClass(row, i) {
- if (row.id) {
- this.$confirm('确定要删除吗?', '提示', {
- type: 'warning'
- }).then(() => {
- this.$post(`${this.api.batchDeletionParnerClass}?ids=${row.id}`).then(res => {
- Util.successMsg('删除成功')
- this.getClassification()
- }).catch(res => {})
- }).catch(() => {})
- } else {
- this.classifications.splice(i, 1)
+ // 获取所属分类
+ getClassification (detail) {
+ this.$post(`${this.api.queryClassificationByType}?typeId=${this.typeId}`).then(({ data }) => {
+ this.classifications = data
+ // 如果所选分类被删除,则清空分类id
+ if (detail) {
+ const id = this.form.classificationId
+ if (!data.find(e => e.id == id)) this.form.classificationId = ''
+ setTimeout(() => {
+ this.updateTime = 0
+ }, 500)
}
- },
- // 提交所属分类
- submitClass(row, showMsg = 1) {
- if (!row.classificationName) return Util.errorMsg('请输入分类名称')
- this.$post(`${this.api.checkForHeavyParnerClass}?classificationName=${row.classificationName}&typeId=${this.typeId}&classificationId=${row.id}`).then(res => {
- this.$post(this.api[row.id ? 'updateParnerClass' : 'saveParnerClass'], {
- classificationName: row.classificationName,
- typeId: this.typeId, // 类型(1.学习2.资讯)
- id: row.id,
- }).then(res => {
- showMsg && Util.successMsg((row.id ? '修改' : '新增') + '成功')
+ }).catch(err => { })
+ },
+ // 显示所属分类弹框
+ setClass () {
+ this.classVisible = true
+ },
+ // 新增所属分类
+ addClass () {
+ this.classifications.push({
+ edit: true,
+ id: '',
+ classificationName: ''
+ })
+ },
+ // 编辑所属分类
+ editClass (row) {
+ this.$set(row, 'edit', 1)
+ },
+ // 删除所属分类
+ delClass (row, i) {
+ if (row.id) {
+ this.$confirm('确定要删除吗?', '提示', {
+ type: 'warning'
+ }).then(() => {
+ this.$post(`${this.api.batchDeletionParnerClass}?ids=${row.id}`).then(res => {
+ Util.successMsg('删除成功')
this.getClassification()
- }).catch(res => {})
- }).catch(res => {})
- },
- // 关闭所属分类
- closeClass() {
- const list = this.classifications
- if (list.find(e => e.edit && e.classificationName)) {
- this.$confirm('所填写内容暂未保存,是否保存?', '提示', {
- type: 'warning'
- }).then(() => {
- list.map(e => {
- e.edit && e.classificationName && this.submitClass(e, 0)
- })
- this.classVisible = false
- }).catch(() => {
- this.classVisible = false
+ }).catch(res => { })
+ }).catch(() => { })
+ } else {
+ this.classifications.splice(i, 1)
+ }
+ },
+ // 提交所属分类
+ submitClass (row, showMsg = 1) {
+ if (!row.classificationName) return Util.errorMsg('请输入分类名称')
+ this.$post(`${this.api.checkForHeavyParnerClass}?classificationName=${row.classificationName}&typeId=${this.typeId}&classificationId=${row.id}`).then(res => {
+ this.$post(this.api[row.id ? 'updateParnerClass' : 'saveParnerClass'], {
+ classificationName: row.classificationName,
+ typeId: this.typeId, // 类型(1.学习2.资讯)
+ id: row.id,
+ }).then(res => {
+ showMsg && Util.successMsg((row.id ? '修改' : '新增') + '成功')
+ this.getClassification()
+ }).catch(res => { })
+ }).catch(res => { })
+ },
+ // 关闭所属分类
+ closeClass () {
+ const list = this.classifications
+ if (list.find(e => e.edit && e.classificationName)) {
+ this.$confirm('所填写内容暂未保存,是否保存?', '提示', {
+ type: 'warning'
+ }).then(() => {
+ list.map(e => {
+ e.edit && e.classificationName && this.submitClass(e, 0)
})
- } else {
this.classVisible = false
- }
- // 所选的分类被删了后,要清空所选的分类id
- if (!list.find(e => e.id == this.form.classificationId)) this.form.classificationId = ''
- },
-
- // 获取标签
- getLabel() {
- this.$post(this.api.queryAllArticleSubjectTags).then(({ data }) => {
- this.labels = data
- }).catch(err => {})
- },
- // 显示标签弹框
- setLabel() {
- this.labelVisible = true
- },
- // 新增标签
- addLabel() {
- this.labels.push({
- edit: true,
- id: '',
- labelName: ''
+ }).catch(() => {
+ this.classVisible = false
})
- },
- // 编辑标签
- editLabel(row) {
- this.$set(row, 'edit', 1)
- },
- // 删除标签
- delLabel(row, i) {
- if (row.id) {
- this.$confirm('确定要删除吗?', '提示', {
- type: 'warning'
- }).then(() => {
- this.$post(`${this.api.batchDeletionParnerLabel}?ids=${row.id}`).then(res => {
- Util.successMsg('删除成功')
- this.getLabel()
- }).catch(res => {})
- }).catch(() => {})
- } else {
- this.labels.splice(i, 1)
- }
- },
- // 提交标签
- submitLabel(row, showMsg = 1) {
- if (!row.labelName) return Util.errorMsg('请输入主题名称')
- this.$post(`${this.api.checkForHeavyParnerLabel}?labelName=${row.labelName}&labelId=${row.id}`).then(res => {
- this.$post(this.api[row.id ? 'updateParnerLabel' : 'saveParnerLabel'], {
- labelName: row.labelName,
- id: row.id,
- }).then(res => {
- showMsg && Util.successMsg((row.id ? '修改' : '新增') + '成功')
+ } else {
+ this.classVisible = false
+ }
+ // 所选的分类被删了后,要清空所选的分类id
+ if (!list.find(e => e.id == this.form.classificationId)) this.form.classificationId = ''
+ },
+
+ // 获取标签
+ getLabel () {
+ this.$post(this.api.queryAllArticleSubjectTags).then(({ data }) => {
+ this.labels = data
+ }).catch(err => { })
+ },
+ // 显示标签弹框
+ setLabel () {
+ this.labelVisible = true
+ },
+ // 新增标签
+ addLabel () {
+ this.labels.push({
+ edit: true,
+ id: '',
+ labelName: ''
+ })
+ },
+ // 编辑标签
+ editLabel (row) {
+ this.$set(row, 'edit', 1)
+ },
+ // 删除标签
+ delLabel (row, i) {
+ if (row.id) {
+ this.$confirm('确定要删除吗?', '提示', {
+ type: 'warning'
+ }).then(() => {
+ this.$post(`${this.api.batchDeletionParnerLabel}?ids=${row.id}`).then(res => {
+ Util.successMsg('删除成功')
this.getLabel()
- }).catch(res => {})
- }).catch(res => {})
- },
- // 关闭标签
- closeLabel() {
- const list = this.labels
- if (list.find(e => e.edit && e.labelName)) {
- this.$confirm('所填写内容暂未保存,是否保存?', '提示', {
- type: 'warning'
- }).then(() => {
- list.map(e => {
- e.edit && e.labelName && this.submitLabel(e, 0)
- })
- this.labelVisible = false
- }).catch(() => {
- this.labelVisible = false
+ }).catch(res => { })
+ }).catch(() => { })
+ } else {
+ this.labels.splice(i, 1)
+ }
+ },
+ // 提交标签
+ submitLabel (row, showMsg = 1) {
+ if (!row.labelName) return Util.errorMsg('请输入主题名称')
+ this.$post(`${this.api.checkForHeavyParnerLabel}?labelName=${row.labelName}&labelId=${row.id}`).then(res => {
+ this.$post(this.api[row.id ? 'updateParnerLabel' : 'saveParnerLabel'], {
+ labelName: row.labelName,
+ id: row.id,
+ }).then(res => {
+ showMsg && Util.successMsg((row.id ? '修改' : '新增') + '成功')
+ this.getLabel()
+ }).catch(res => { })
+ }).catch(res => { })
+ },
+ // 关闭标签
+ closeLabel () {
+ const list = this.labels
+ if (list.find(e => e.edit && e.labelName)) {
+ this.$confirm('所填写内容暂未保存,是否保存?', '提示', {
+ type: 'warning'
+ }).then(() => {
+ list.map(e => {
+ e.edit && e.labelName && this.submitLabel(e, 0)
})
- } else {
this.labelVisible = false
- }
- },
+ }).catch(() => {
+ this.labelVisible = false
+ })
+ } else {
+ this.labelVisible = false
+ }
+ },
- // 文章名称判重
- nameChange(){
- const { title, id } = this.form
- if(title && title !== this.originalName){
- this.$post(this.api.checkIfTheTitleIsRepeat, {
- typeId: this.typeId,
- title,
- id: id || ''
- }).then(res => {
- this.nameRepeat = false
- }).catch(res => {
- this.nameRepeat = true
- })
- }else{
+ // 文章名称判重
+ nameChange () {
+ const { title, id } = this.form
+ if (title && title !== this.originalName) {
+ this.$post(this.api.checkIfTheTitleIsRepeat, {
+ typeId: this.typeId,
+ title,
+ id: id || ''
+ }).then(res => {
this.nameRepeat = false
- }
- },
- // 图片裁剪上传事件
- customUpload(data) {
- const formData = new FormData()
- formData.append('file', data, this.file.name)
- this.imgUpload(formData)
- },
- // 压缩图片
- compress(img) {
- const canvas = document.createElement('canvas')
- const ctx = canvas.getContext('2d')
- // let initSize = img.src.length;
- const width = img.width
- const height = img.height
- canvas.width = width
- canvas.height = height
- // 铺底色
- ctx.fillStyle = '#fff'
- ctx.fillRect(0, 0, canvas.width, canvas.height)
- ctx.drawImage(img, 0, 0, width, height)
- // 进行压缩
- const ndata = canvas.toDataURL('image/jpeg', 0.8)
- return ndata
- },
- // base64转成bolb对象
- dataURItoBlob(base64Data) {
- let byteString
- if (base64Data.split(',')[0].indexOf('base64') >= 0) {
- byteString = atob(base64Data.split(',')[1])
- } else {
- byteString = unescape(base64Data.split(',')[1])
- }
- const mimeString = base64Data
- .split(',')[0]
- .split(':')[1]
- .split(';')[0]
- const ia = new Uint8Array(byteString.length)
- for (let i = 0; i < byteString.length; i++) {
- ia[i] = byteString.charCodeAt(i)
- }
- return new Blob([ia], {
- type: mimeString
+ }).catch(res => {
+ this.nameRepeat = true
})
- },
- // 图片上传到服务器
- imgUpload(formData) {
- this.isUpload = true
- Axios({
- method: 'post',
- url: this.api.fileUploadNakadai,
- data: formData,
- headers: {
- 'Content-Type': 'multipart/form-data',
- ...this.headers
- },
- }).then(({ data }) => {
- this.form.bannerImg = data.filesResult.fileUrl
- }).catch(res => {})
- this.$refs.cropper.isDisabled = false
- this.isUpload = false
- this.cropperModel = false
- },
- // 图片改变钩子
- changeFile(file) {
- const { size, name } = file
- const ext = name.substring(name.lastIndexOf('.') + 1)
- if (!Util.isImg(ext)) {
- this.$message.error('请上传图片!')
- return false
- }
- // if (size / 1024 / 1024 > 5) {
- // this.$message.error('请上传5M以内的图片!')
- // return false
- // }
- this.file = file
- this.cropperModel = true
- this.$nextTick(() => {
- this.$refs.cropper.updateImg({
- url: window.URL.createObjectURL(file.raw),
- size: file.size
- })
+ } else {
+ this.nameRepeat = false
+ }
+ },
+ // 图片裁剪上传事件
+ customUpload (data) {
+ const formData = new FormData()
+ formData.append('file', data, this.file.name)
+ this.imgUpload(formData)
+ },
+ // 压缩图片
+ compress (img) {
+ const canvas = document.createElement('canvas')
+ const ctx = canvas.getContext('2d')
+ // let initSize = img.src.length;
+ const width = img.width
+ const height = img.height
+ canvas.width = width
+ canvas.height = height
+ // 铺底色
+ ctx.fillStyle = '#fff'
+ ctx.fillRect(0, 0, canvas.width, canvas.height)
+ ctx.drawImage(img, 0, 0, width, height)
+ // 进行压缩
+ const ndata = canvas.toDataURL('image/jpeg', 0.8)
+ return ndata
+ },
+ // base64转成bolb对象
+ dataURItoBlob (base64Data) {
+ let byteString
+ if (base64Data.split(',')[0].indexOf('base64') >= 0) {
+ byteString = atob(base64Data.split(',')[1])
+ } else {
+ byteString = unescape(base64Data.split(',')[1])
+ }
+ const mimeString = base64Data
+ .split(',')[0]
+ .split(':')[1]
+ .split(';')[0]
+ const ia = new Uint8Array(byteString.length)
+ for (let i = 0; i < byteString.length; i++) {
+ ia[i] = byteString.charCodeAt(i)
+ }
+ return new Blob([ia], {
+ type: mimeString
+ })
+ },
+ // 图片上传到服务器
+ imgUpload (formData) {
+ this.isUpload = true
+ Axios({
+ method: 'post',
+ url: this.api.fileUploadNakadai,
+ data: formData,
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ ...this.headers
+ },
+ }).then(({ data }) => {
+ this.form.bannerImg = data.filesResult.fileUrl
+ }).catch(res => { })
+ this.$refs.cropper.isDisabled = false
+ this.isUpload = false
+ this.cropperModel = false
+ },
+ // 图片改变钩子
+ changeFile (file) {
+ const { size, name } = file
+ const ext = name.substring(name.lastIndexOf('.') + 1)
+ if (!Util.isImg(ext)) {
+ this.$message.error('请上传图片!')
+ return false
+ }
+ // if (size / 1024 / 1024 > 5) {
+ // this.$message.error('请上传5M以内的图片!')
+ // return false
+ // }
+ this.file = file
+ this.cropperModel = true
+ this.$nextTick(() => {
+ this.$refs.cropper.updateImg({
+ url: window.URL.createObjectURL(file.raw),
+ size: file.size
})
- },
- // 附件删除
- handleRemove(e, fileList) {
- e.id ? this.$post(`${this.api.batchDeletionParnerFile}?ids=${e.id}`).then(res => {
- this.form.fileList = fileList
- }).catch(res => {}) : (this.form.fileList = fileList)
- },
- // banner上传成功
- uploadSuccessBanner(res) {
- let url = this.form.bannerImg
- url && this.$del(this.api.delFile, [url.split('/').pop()]).then(res => {}).catch(e => {})
- this.form.bannerImg = res.url
- },
- // 附件上传之前的钩子
- fileBeforeUpload(file) {
- this.uploading++
- },
- // 附件上传成功
- uploadSuccessFile(res) {
- const { originalFileName, fileUrl } = res.filesResult
- this.uploading--
- this.form.id ?
- this.$post(this.api.saveParnerFile, {
- contentId: this.form.id,
- id: '',
- fileName: originalFileName,
- filePath: fileUrl
- }).then(({ data }) => {
- this.form.fileList.push({
- fileName: originalFileName,
- filePath: fileUrl,
- name: originalFileName,
- url: fileUrl,
- id: data
- })
- }).catch(res => {}) :
+ })
+ },
+ // 附件删除
+ handleRemove (e, fileList) {
+ e.id ? this.$post(`${this.api.batchDeletionParnerFile}?ids=${e.id}`).then(res => {
+ this.form.fileList = fileList
+ }).catch(res => { }) : (this.form.fileList = fileList)
+ },
+ // banner上传成功
+ uploadSuccessBanner (res) {
+ let url = this.form.bannerImg
+ url && this.$del(this.api.delFile, [url.split('/').pop()]).then(res => { }).catch(e => { })
+ this.form.bannerImg = res.url
+ },
+ // 附件上传之前的钩子
+ fileBeforeUpload (file) {
+ this.uploading++
+ },
+ // 附件上传成功
+ uploadSuccessFile (res) {
+ const { originalFileName, fileUrl } = res.filesResult
+ this.uploading--
+ this.form.id ?
+ this.$post(this.api.saveParnerFile, {
+ contentId: this.form.id,
+ id: '',
+ fileName: originalFileName,
+ filePath: fileUrl
+ }).then(({ data }) => {
this.form.fileList.push({
fileName: originalFileName,
filePath: fileUrl,
name: originalFileName,
- url: fileUrl
- })
- },
- // 预览
- preview() {
- window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `#/article?articleId=${this.form.id}&siteId=${this.form.siteId}&id=${this.form.columnId}`)
- },
- // 返回
- back() {
- this.pass = true
- // 更改了信息才需要提示
- if (this.updateTime) {
- this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', {
- type: 'warning'
- }).then(() => {
- this.submit(this.form.isRelease)
- }).catch(() => {
- this.$router.back()
+ url: fileUrl,
+ id: data
})
- } else {
+ }).catch(res => { }) :
+ this.form.fileList.push({
+ fileName: originalFileName,
+ filePath: fileUrl,
+ name: originalFileName,
+ url: fileUrl
+ })
+ },
+ // 预览
+ preview () {
+ window.open((Setting.isDev ? `http://${location.hostname}:8095` : this.$store.state.content.site.domainName) + `#/article?articleId=${this.form.id}&siteId=${this.form.siteId}&id=${this.form.columnId}`)
+ },
+ // 返回
+ back () {
+ this.pass = true
+ // 更改了信息才需要提示
+ if (this.updateTime) {
+ this.$confirm(`所填写内容暂未保存,是否保存?`, '提示', {
+ type: 'warning'
+ }).then(() => {
+ this.submit(this.form.isRelease)
+ }).catch(() => {
this.$router.back()
- }
- },
- // 提交
- submit(isRelease, next) {
- if (this.submiting) return false
- const form = JSON.parse(JSON.stringify(this.form))
- console.log('form=>',form)
- if (!form.title) return Util.errorMsg('请填写标题')
- if (this.nameRepeat) return Util.errorMsg('该标题已重复!')
- // 如果是发布
- if (isRelease) {
- if (!form.releaseTime) return Util.errorMsg('请选择发布日期')
- if (!form.classificationId) return Util.errorMsg('请选择所属分类')
- if (!form.bannerImg ) return Util.errorMsg('请上传封面')
- if (!form.mainBody) return Util.errorMsg('请输入正文')
- }
- // if (this.uploading) return Util.errorMsg('文件正在上传,请上传完成后再发布')
- form.lableId = form.lableId.join(',')
+ })
+ } else {
+ this.$router.back()
+ }
+ },
+ // 提交
+ submit (isRelease, next) {
+ if (this.submiting) return false
+ const form = JSON.parse(JSON.stringify(this.form))
+ console.log('form=>', form)
+ if (!form.title) return Util.errorMsg('请填写标题')
+ if (this.nameRepeat) return Util.errorMsg('该标题已重复!')
+ // 如果是发布
+ if (isRelease) {
+ if (!form.releaseTime) return Util.errorMsg('请选择发布日期')
+ if (!form.classificationId) return Util.errorMsg('请选择所属分类')
+ if (!form.bannerImg) return Util.errorMsg('请上传封面')
+ if (!form.mainBody) return Util.errorMsg('请输入正文')
+ }
+ // if (this.uploading) return Util.errorMsg('文件正在上传,请上传完成后再发布')
+ form.lableId = form.lableId.join(',')
- form.releaseTime = Util.formatDate('yyyy-MM-dd', new Date(form.releaseTime)) // 发布日期转化为年月日格式
+ form.releaseTime = Util.formatDate('yyyy-MM-dd', new Date(form.releaseTime)) // 发布日期转化为年月日格式
- form.isRelease = isRelease
- this.submiting = true
- if (form.id) {
- delete form.children
- this.$post(this.api.updateParnerArticle, form).then(res => {
- Util.successMsg('修改成功')
- next ? next() : this.$router.back()
- }).catch(err => {
- this.submiting = false
- })
- } else {
- this.$post(this.api.saveParnerArticle, form).then(({ data }) => {
- Util.successMsg('创建成功')
- next ? next() : this.$router.back()
- }).catch(err => {
- this.submiting = false
- })
- }
+ form.isRelease = isRelease
+ this.submiting = true
+ if (form.id) {
+ delete form.children
+ this.$post(this.api.updateParnerArticle, form).then(res => {
+ Util.successMsg('修改成功')
+ next ? next() : this.$router.back()
+ }).catch(err => {
+ this.submiting = false
+ })
+ } else {
+ this.$post(this.api.saveParnerArticle, form).then(({ data }) => {
+ Util.successMsg('创建成功')
+ next ? next() : this.$router.back()
+ }).catch(err => {
+ this.submiting = false
+ })
}
}
+ }
};
@@ -697,167 +761,170 @@ $upload-width: 220px;
$upload-height: 102px;
$upload-lg-height: 102px;
/deep/ .avatar-uploader {
- .el-upload {
- position: relative;
- width: $upload-width;
- height: $upload-height;
- border: 1px solid #DCDEE0;
- border-radius: 2px;
- cursor: pointer;
- overflow: hidden;
- .uploader-default {
- display: flex;
- height: $upload-height;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
- background: #FAFAFA;
- p {
- margin-top: 10px;
- font-size: 14px;
- color: #333;
- line-height: 20px;
- }
- }
- }
- &.avatar-uploader-lg {
.el-upload {
- width: 100%;
- max-width: 820px;
- height: $upload-lg-height;
+ position: relative;
+ width: $upload-width;
+ height: $upload-height;
+ border: 1px solid #dcdee0;
+ border-radius: 2px;
+ cursor: pointer;
+ overflow: hidden;
+ .uploader-default {
+ display: flex;
+ height: $upload-height;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ background: #fafafa;
+ p {
+ margin-top: 10px;
+ font-size: 14px;
+ color: #333;
+ line-height: 20px;
+ }
+ }
+ }
+ &.avatar-uploader-lg {
+ .el-upload {
+ width: 100%;
+ max-width: 820px;
+ height: $upload-lg-height;
- .uploader-default {
+ .uploader-default {
+ height: $upload-lg-height;
+ }
+ }
+ }
+ .avatar {
+ display: block;
+ width: $upload-width;
+ height: $upload-height;
+ }
+ .avatar-lg {
+ display: block;
+ width: 100%;
height: $upload-lg-height;
- }
}
- }
- .avatar {
- display: block;
- width: $upload-width;
- height: $upload-height;
- }
- .avatar-lg {
- display: block;
- width: 100%;
- height: $upload-lg-height;
- }
- .el-upload__tip {
- margin-top: 0;
- p {
- font-size: 12px;
- color: #333;
+ .el-upload__tip {
+ margin-top: 0;
+ p {
+ font-size: 12px;
+ color: #333;
+ }
}
- }
}
.style-wrap {
- display: flex;
- margin-top: 10px;
- .label {
- margin-right: 30px;
- }
+ display: flex;
+ margin-top: 10px;
+ .label {
+ margin-right: 30px;
+ }
}
.styles {
- display: flex;
- flex-wrap: wrap;
- width: 955px;
- // height: 320px;
- margin-top: 20px;
- overflow: auto;
- li {
- margin: 0 20px 10px 0;
- text-align: center;
- cursor: pointer;
- &:hover .review {
- border-color: #9278FF;
- }
- }
- .review {
display: flex;
- justify-content: center;
- align-items: center;
- width: 170px;
- height: 112px;
- margin-bottom: 10px;
- border: 1px solid #DCDEE0;
- border-radius: 2px;
- img {
- width: 80px;
+ flex-wrap: wrap;
+ width: 955px;
+ // height: 320px;
+ margin-top: 20px;
+ overflow: auto;
+ li {
+ margin: 0 20px 10px 0;
+ text-align: center;
+ cursor: pointer;
+ &:hover .review {
+ border-color: #9278ff;
+ }
}
- .is-link {
- width: 50px;
+ .review {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 170px;
+ height: 112px;
+ margin-bottom: 10px;
+ border: 1px solid #dcdee0;
+ border-radius: 2px;
+ img {
+ width: 80px;
+ }
+ .is-link {
+ width: 50px;
+ }
}
- }
}
.info {
- position: absolute;
- top: 8px;
- left: -32px;
- cursor: pointer;
+ position: absolute;
+ top: 8px;
+ left: -32px;
+ cursor: pointer;
}
.plus {
- margin-bottom: 10px;
- font-size: 18px;
- color: #9278FF;
- text-align: right;
- cursor: pointer;
+ margin-bottom: 10px;
+ font-size: 18px;
+ color: #9278ff;
+ text-align: right;
+ cursor: pointer;
}
.set-btn {
- margin-left: 10px !important;
+ margin-left: 10px !important;
}
.manage-dia {
- .edit, .del {
- font-size: 14px;
- cursor: pointer;
- }
- .edit {
- margin-right: 10px;
- }
+ .edit,
+ .del {
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .edit {
+ margin-right: 10px;
+ }
}
.input-form {
- &.model {
- height: calc(100vh - 340px);
- padding-right: 20px;
- overflow: auto;
- .el-form-item__label {
- padding-right: 20px;
+ &.model {
+ height: calc(100vh - 340px);
+ padding-right: 20px;
+ overflow: auto;
+ .el-form-item__label {
+ padding-right: 20px;
+ }
+ .lg .el-form-item__label {
+ padding-right: 43px;
+ }
}
- .lg .el-form-item__label {
- padding-right: 43px;
+ .item-line {
+ display: flex;
+ .el-form-item:not(:last-child) {
+ margin-right: 200px;
+ }
}
- }
- .item-line {
- display: flex;
- .el-form-item:not(:last-child) {
- margin-right: 200px;
+ .line {
+ margin-bottom: 24px;
+ border-bottom: 1px dashed #c2c2c2;
+ }
+ .el-form-item--small.el-form-item {
+ margin-bottom: 24px;
+ }
+ .el-input,
+ .el-select {
+ width: 300px;
+ }
+ .el-select .el-input {
+ width: auto;
+ }
+ .el-textarea {
+ width: 550px;
+ }
+ .auto,
+ .auto .el-input {
+ width: auto;
+ }
+ .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
+ font-size: 18px;
+ vertical-align: -4px;
+ color: #f5222d;
}
- }
- .line {
- margin-bottom: 24px;
- border-bottom: 1px dashed #C2C2C2;
- }
- .el-form-item--small.el-form-item {
- margin-bottom: 24px;
- }
- .el-input, .el-select {
- width: 300px;
- }
- .el-select .el-input {
- width: auto;
- }
- .el-textarea {
- width: 550px;
- }
- .auto, .auto .el-input {
- width: auto;
- }
- .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
- font-size: 18px;
- vertical-align: -4px;
- color: #F5222D;
- }
}
.btns {
- text-align: center;
+ text-align: center;
}
\ No newline at end of file
diff --git a/src/views/serve/projectList.vue b/src/views/serve/projectList.vue
index 8ba3897..b0c657e 100644
--- a/src/views/serve/projectList.vue
+++ b/src/views/serve/projectList.vue
@@ -1,392 +1,452 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- {{ scope.$index + (page - 1) * pageSize + 1 }}
-
-
-
-
- {{ founderKeys[scope.row.founder] }}
-
-
-
-
- {{ queryData.founder == 1 ? scope.row.schoolName : scope.row.creator }}
-
-
-
-
- {{ permissionsKeys[scope.row.permissions] }}
-
-
-
-
-
- {{ stateKeys[scope.row.state] }}
-
-
-
-
-
- 编辑
-
-
- 删除
-
- 复制
-
-
-
-
-
-
+
+
+
+
+
+ {{ scope.$index + (page - 1) * pageSize + 1 }}
+
+
+
+
+ {{ founderKeys[scope.row.founder] }}
+
+
+
+
+ {{ queryData.founder == 1 ? scope.row.schoolName : scope.row.creator }}
+
+
+
+
+ {{ permissionsKeys[scope.row.permissions] }}
+
+
+
+
+
+ {{ stateKeys[scope.row.state] }}
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+ 复制
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/shop/addProduct/index.vue b/src/views/shop/addProduct/index.vue
index 10fde97..11c9a95 100644
--- a/src/views/shop/addProduct/index.vue
+++ b/src/views/shop/addProduct/index.vue
@@ -106,7 +106,8 @@
+ :value="item.classificationId"
+ :disabled="form.mall.isAssociatedProduct && (item.classificationId !== 4 && item.classificationId !== 6)">
-
- 删除
-
+
@@ -490,10 +487,8 @@
-
+
-
-
-
-
-
- {{ scope.row.tagsName }}
-
-
-
-
-
-
-
-
-
-
-
- 返回
+
+
+
+
+ - {{ data.index + 1 }}
+ -
+
+ {{ data.tagsName }}
+
+ -
+
+
+
+
+
+
+
+
@@ -637,7 +635,6 @@
width="800px"
:close-on-click-modal="false"
class="product-dia">
- (已关联产品的不可重复关联)
+ :label="scope.row.cid">
{
+ res.tagsList.forEach((e, i) => {
+
+ e.index = i
+ })
this.labels = res.tagsList
// 编辑的时候要根据标签列表去除掉已经保存的删除了的标签
if (this.id) {
- console.log("🚀 ~ file: index.vue:735 ~ this.$get ~ id:", this.id)
const ids = []
this.form.tagsIds.forEach(item => {
this.labels.forEach(e => {
@@ -1117,6 +1120,20 @@ export default {
this.labelVisible = false
}
},
+ // 分类标签排序
+ sortLabel () {
+ const list = this.labels
+ list.forEach((e, i) => {
+ e.sort = i
+ })
+ this.$post(this.api.updateTagsSort, {
+ tagsList: list
+ }).then(res => {
+ Util.successMsg('保存成功')
+ this.labelVisible = false
+ this.getLabel()
+ }).catch(err => { })
+ },
@@ -1508,12 +1525,21 @@ $avatar-width: 104px;
margin-top: 10px;
text-align: center;
.pic {
+ position: relative;
margin-right: 20px;
}
img {
width: $avatar-width;
height: $avatar-width;
}
+ .close {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ font-size: 18px;
+ color: #ededed;
+ cursor: pointer;
+ }
}
/deep/ .d-inline-block {
@@ -1601,4 +1627,53 @@ $avatar-width: 104px;
.btns {
text-align: center;
}
+
+.sort-wrap {
+ max-height: 400px;
+ overflow: auto;
+}
+.thead {
+ display: flex;
+ line-height: 44px;
+ background-color: #f7f7f7;
+ li {
+ padding: 0 10px;
+ font-size: 12px;
+ font-weight: 500;
+ font-family: PingFangSC-Medium, PingFang SC;
+ color: #323232;
+ }
+}
+/deep/.sort {
+ .el-tree-node__content {
+ height: auto;
+ }
+ .el-tree-node__expand-icon {
+ display: none;
+ }
+}
+.sort-line {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ height: 30px;
+ padding: 7px 0;
+ border-bottom: 1px solid #ebedf0;
+ li {
+ min-height: 23px;
+ &:first-child {
+ width: 50px;
+ text-align: center;
+ }
+ &:nth-child(2) {
+ position: absolute;
+ width: 280px;
+ left: 100px;
+ }
+ &:last-child {
+ position: absolute;
+ right: 20px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/views/shop/list/market/index.vue b/src/views/shop/list/market/index.vue
index f111c4f..f43b468 100644
--- a/src/views/shop/list/market/index.vue
+++ b/src/views/shop/list/market/index.vue
@@ -136,7 +136,7 @@ export default {
},
cropperModel: false,
isUpload: false,
- fixedNumber: [5.48, 1],
+ fixedNumber: [3.6, 1],
file: ''
};
},
diff --git a/src/views/shop/list/product/index.vue b/src/views/shop/list/product/index.vue
index 50bce0b..efe6a8a 100644
--- a/src/views/shop/list/product/index.vue
+++ b/src/views/shop/list/product/index.vue
@@ -182,6 +182,7 @@