Compare commits
No commits in common. "5be5e65caceb72216594c6681411d2fe7661eb86" and "1d1d04d05dd1488bdbf2d2f5b7c765e140c78b68" have entirely different histories.
5be5e65cac
...
1d1d04d05d
|
|
@ -1,10 +1,9 @@
|
||||||
VUE_APP_IS_SAAS=false
|
VUE_APP_IS_SAAS=false
|
||||||
VUE_APP_SYSTEM_NAME=standard
|
VUE_APP_SYSTEM_NAME=platform
|
||||||
VUE_APP_PRODUCT_MODEL=standard
|
VUE_APP_PRODUCT_MODEL=platform
|
||||||
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
||||||
VUE_APP_BASE_API=/api
|
VUE_APP_BASE_API=/api
|
||||||
# VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
||||||
VUE_APP_PROXY_API=https://slb.birkenstock.net.cn/api
|
|
||||||
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
||||||
VUE_APP_PUBLIC_PATH=/
|
VUE_APP_PUBLIC_PATH=/
|
||||||
VUE_APP_WXIMG_URL=
|
VUE_APP_WXIMG_URL=
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
VUE_APP_IS_SAAS=false
|
VUE_APP_IS_SAAS=false
|
||||||
# VUE_APP_SYSTEM_NAME=platform
|
VUE_APP_SYSTEM_NAME=platform
|
||||||
# VUE_APP_PRODUCT_MODEL=platform
|
VUE_APP_PRODUCT_MODEL=platform
|
||||||
VUE_APP_SYSTEM_NAME=standard
|
|
||||||
VUE_APP_PRODUCT_MODEL=standard
|
|
||||||
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
||||||
VUE_APP_BASE_API=https://test.birkenstock.net.cn/api
|
VUE_APP_BASE_API=http://47.103.169.154:8080/api
|
||||||
# VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
# VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
||||||
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
||||||
VUE_APP_PUBLIC_PATH=/
|
VUE_APP_PUBLIC_PATH=/
|
||||||
|
|
|
||||||
16
.env.slb
16
.env.slb
|
|
@ -1,16 +0,0 @@
|
||||||
NODE_ENV=production
|
|
||||||
VUE_APP_SLB_MODE=true
|
|
||||||
VUE_APP_IS_SAAS=false
|
|
||||||
VUE_APP_SYSTEM_NAME=platform
|
|
||||||
VUE_APP_PRODUCT_MODEL=platform
|
|
||||||
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
|
||||||
VUE_APP_BASE_API=https://slb.birkenstock.net.cn/api
|
|
||||||
# VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
|
||||||
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
|
||||||
VUE_APP_PUBLIC_PATH=/
|
|
||||||
VUE_APP_WXIMG_URL=
|
|
||||||
VUE_APP_WXAUTHCALL_Url=https://ecshopx-shop.ex-sandbox.com
|
|
||||||
VUE_APP_PREFIXES=
|
|
||||||
VUE_APP_QIANKUN_ENTRY=/newpc/
|
|
||||||
VUE_APP_OSS_CDN=false
|
|
||||||
VUE_APP_FREE=false
|
|
||||||
16
.env.test
16
.env.test
|
|
@ -1,16 +0,0 @@
|
||||||
NODE_ENV=production
|
|
||||||
VUE_APP_SLB_MODE=true
|
|
||||||
VUE_APP_IS_SAAS=false
|
|
||||||
VUE_APP_SYSTEM_NAME=platform
|
|
||||||
VUE_APP_PRODUCT_MODEL=platform
|
|
||||||
# VUE_APP_BASE_API=https://ecshopx-shop.ex-sandbox.com/api
|
|
||||||
VUE_APP_BASE_API=https://test.birkenstock.net.cn/api
|
|
||||||
# VUE_APP_PROXY_API=http://47.103.169.154:8080/api
|
|
||||||
# VUE_APP_PUBLIC_PATH=https://ecshopx-vshop.oss-cn-hangzhou.aliyuncs.com/ecshopx-admin
|
|
||||||
VUE_APP_PUBLIC_PATH=/
|
|
||||||
VUE_APP_WXIMG_URL=
|
|
||||||
VUE_APP_WXAUTHCALL_Url=https://ecshopx-shop.ex-sandbox.com
|
|
||||||
VUE_APP_PREFIXES=
|
|
||||||
VUE_APP_QIANKUN_ENTRY=/newpc/
|
|
||||||
VUE_APP_OSS_CDN=false
|
|
||||||
VUE_APP_FREE=false
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
.DS_Store
|
.DS_Store
|
||||||
node_modules/
|
node_modules/
|
||||||
dist/
|
dist/
|
||||||
dist-lsb.*
|
|
||||||
dist-test.*
|
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"version": "3.13.10",
|
"version": "3.13.10",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@riophae/vue-treeselect": "0.0.38",
|
"@riophae/vue-treeselect": "0.0.38",
|
||||||
"@shopex/finder": "^1.0.54",
|
"@shopex/finder": "^1.0.50",
|
||||||
"ali-oss": "^6.5.1",
|
"ali-oss": "^6.5.1",
|
||||||
"aws-sdk": "^2.824.0",
|
"aws-sdk": "^2.824.0",
|
||||||
"axios": "^0.19.2",
|
"axios": "^0.19.2",
|
||||||
|
|
@ -65,6 +65,7 @@
|
||||||
"eslint-plugin-vue": "^6.2.2",
|
"eslint-plugin-vue": "^6.2.2",
|
||||||
"exec-sh": "^0.4.0",
|
"exec-sh": "^0.4.0",
|
||||||
"lint-staged": "^12.1.5",
|
"lint-staged": "^12.1.5",
|
||||||
|
"node-sass-js-importer": "^4.0.2",
|
||||||
"prettier": "^2.5.1",
|
"prettier": "^2.5.1",
|
||||||
"prettier-eslint": "^13.0.0",
|
"prettier-eslint": "^13.0.0",
|
||||||
"prettier-eslint-cli": "^5.0.1",
|
"prettier-eslint-cli": "^5.0.1",
|
||||||
|
|
@ -2423,9 +2424,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@shopex/finder": {
|
"node_modules/@shopex/finder": {
|
||||||
"version": "1.0.54",
|
"version": "1.0.50",
|
||||||
"resolved": "http://registry.npm.ishopex.cn/@shopex%2ffinder/-/finder-1.0.54.tgz",
|
"resolved": "http://registry.npm.ishopex.cn/@shopex%2ffinder/-/finder-1.0.50.tgz",
|
||||||
"integrity": "sha512-45suOmYWdAAp4tQjxdA7kj5eU+Ul562TipvnqzCf3igaSuQfHdHb6k5rQfF32VZJI5kvXE8CeYTvDfFbU4SE1Q==",
|
"integrity": "sha512-G+jIZXq2fvht4yKuX23zmmcejgtPi9S0oz+GuXuy6180d10LtfqkAkmM/aE4lrQVNnil0C4FXBuwUIhTte71Ow==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"element-ui": "^2.14.1",
|
"element-ui": "^2.14.1",
|
||||||
|
|
@ -17239,6 +17240,22 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/node-sass-js-importer": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-sass-js-importer/-/node-sass-js-importer-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-ychArWXht7YsVjOsbazwi6D0zQyJsebjB23P2PNxi0hCF7mubm9LMKrGq1FVI++IaojYIeoof+iwYL6dPCfBgQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"is-plain-object": "^2.0.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"node-sass": ">=3.5.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/normalize-package-data": {
|
"node_modules/normalize-package-data": {
|
||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
||||||
|
|
@ -25876,8 +25893,8 @@
|
||||||
},
|
},
|
||||||
"node_modules/vue-reactive-provide": {
|
"node_modules/vue-reactive-provide": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "http://registry.npm.ishopex.cn/vue-reactive-provide/-/vue-reactive-provide-0.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-reactive-provide/-/vue-reactive-provide-0.3.0.tgz",
|
||||||
"integrity": "sha1-/Q6STz2wzlFJ3vzJjbrEw+l6v68=",
|
"integrity": "sha512-hx2JtRPRvne9NY4s1r7ASsCaO8CIby30qwC1kGQRxsrWApO3he+rziGOzTDSfvmr852zWMb11n6qAwHCz6C/vw==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": ">=2.6"
|
"vue": ">=2.6"
|
||||||
}
|
}
|
||||||
|
|
@ -29122,9 +29139,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@shopex/finder": {
|
"@shopex/finder": {
|
||||||
"version": "1.0.54",
|
"version": "1.0.50",
|
||||||
"resolved": "http://registry.npm.ishopex.cn/@shopex%2ffinder/-/finder-1.0.54.tgz",
|
"resolved": "http://registry.npm.ishopex.cn/@shopex%2ffinder/-/finder-1.0.50.tgz",
|
||||||
"integrity": "sha512-45suOmYWdAAp4tQjxdA7kj5eU+Ul562TipvnqzCf3igaSuQfHdHb6k5rQfF32VZJI5kvXE8CeYTvDfFbU4SE1Q==",
|
"integrity": "sha512-G+jIZXq2fvht4yKuX23zmmcejgtPi9S0oz+GuXuy6180d10LtfqkAkmM/aE4lrQVNnil0C4FXBuwUIhTte71Ow==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"element-ui": "^2.14.1",
|
"element-ui": "^2.14.1",
|
||||||
|
|
@ -40014,6 +40031,15 @@
|
||||||
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
|
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node-sass-js-importer": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-sass-js-importer/-/node-sass-js-importer-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-ychArWXht7YsVjOsbazwi6D0zQyJsebjB23P2PNxi0hCF7mubm9LMKrGq1FVI++IaojYIeoof+iwYL6dPCfBgQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-plain-object": "^2.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"normalize-package-data": {
|
"normalize-package-data": {
|
||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
||||||
|
|
@ -46407,8 +46433,8 @@
|
||||||
},
|
},
|
||||||
"vue-reactive-provide": {
|
"vue-reactive-provide": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "http://registry.npm.ishopex.cn/vue-reactive-provide/-/vue-reactive-provide-0.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-reactive-provide/-/vue-reactive-provide-0.3.0.tgz",
|
||||||
"integrity": "sha1-/Q6STz2wzlFJ3vzJjbrEw+l6v68=",
|
"integrity": "sha512-hx2JtRPRvne9NY4s1r7ASsCaO8CIby30qwC1kGQRxsrWApO3he+rziGOzTDSfvmr852zWMb11n6qAwHCz6C/vw==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"vue-router": {
|
"vue-router": {
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,14 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": "https://git.ishopex.cn/ecshopx/ecshopx-admin.git",
|
"repository": "https://git.ishopex.cn/ecshopx/ecshopx-admin.git",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vue-cli-service build --mode slb",
|
"build": "vue-cli-service build",
|
||||||
"build:slb": "vue-cli-service build --mode slb",
|
|
||||||
"build:test": "vue-cli-service build --mode test",
|
|
||||||
"dev": "vue-cli-service --model development serve",
|
"dev": "vue-cli-service --model development serve",
|
||||||
"sh": "node ./cli.js",
|
"sh": "node ./cli.js",
|
||||||
"lint": "prettier-eslint --write --list-different 'src/**/*.{js,vue}'"
|
"lint": "prettier-eslint --write --list-different 'src/**/*.{js,vue}'"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@riophae/vue-treeselect": "0.0.38",
|
"@riophae/vue-treeselect": "0.0.38",
|
||||||
"@shopex/finder": "^1.0.54",
|
"@shopex/finder": "^1.0.50",
|
||||||
"ali-oss": "^6.5.1",
|
"ali-oss": "^6.5.1",
|
||||||
"aws-sdk": "^2.824.0",
|
"aws-sdk": "^2.824.0",
|
||||||
"axios": "^0.19.2",
|
"axios": "^0.19.2",
|
||||||
|
|
@ -71,6 +69,7 @@
|
||||||
"eslint-plugin-vue": "^6.2.2",
|
"eslint-plugin-vue": "^6.2.2",
|
||||||
"exec-sh": "^0.4.0",
|
"exec-sh": "^0.4.0",
|
||||||
"lint-staged": "^12.1.5",
|
"lint-staged": "^12.1.5",
|
||||||
|
"node-sass-js-importer": "^4.0.2",
|
||||||
"prettier": "^2.5.1",
|
"prettier": "^2.5.1",
|
||||||
"prettier-eslint": "^13.0.0",
|
"prettier-eslint": "^13.0.0",
|
||||||
"prettier-eslint-cli": "^5.0.1",
|
"prettier-eslint-cli": "^5.0.1",
|
||||||
|
|
|
||||||
713
pnpm-lock.yaml
713
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
|
@ -233,15 +233,6 @@ export function batchOperating (query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 标记用户为内部人员
|
|
||||||
export function batchIsInternal (query) {
|
|
||||||
return fetch({
|
|
||||||
url: '/member/isInternal',
|
|
||||||
method: 'POST',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function updateMemberBasicInfo(query) {
|
export function updateMemberBasicInfo(query) {
|
||||||
return fetch({
|
return fetch({
|
||||||
url: '/member/update',
|
url: '/member/update',
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,6 @@ export default {
|
||||||
_renderRichTextArr(item) {
|
_renderRichTextArr(item) {
|
||||||
const { value, editorModules } = this
|
const { value, editorModules } = this
|
||||||
const { key, disabled = false, options } = item
|
const { key, disabled = false, options } = item
|
||||||
const length = value[key].length
|
|
||||||
const removeItem = (index) => {
|
const removeItem = (index) => {
|
||||||
value[key].splice(index, 1)
|
value[key].splice(index, 1)
|
||||||
// this.$set(this.value, key, richArr)
|
// this.$set(this.value, key, richArr)
|
||||||
|
|
@ -286,16 +285,6 @@ export default {
|
||||||
value[key].push({ title: '', content: '' })
|
value[key].push({ title: '', content: '' })
|
||||||
// this.$set(this.value, key, richArr)
|
// this.$set(this.value, key, richArr)
|
||||||
}
|
}
|
||||||
const handlerMove = (index, type) => {
|
|
||||||
const _item = value[key][index]
|
|
||||||
if (type === 'up') {
|
|
||||||
value[key].splice(index, 1)
|
|
||||||
value[key].splice(index - 1, 0, _item)
|
|
||||||
} else {
|
|
||||||
value[key].splice(index, 1)
|
|
||||||
value[key].splice(index + 1, 0, _item)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{value[key].map((item, index) => (
|
{value[key].map((item, index) => (
|
||||||
|
|
@ -315,16 +304,6 @@ export default {
|
||||||
</div>
|
</div>
|
||||||
<SpRichText v-model={item.content} />
|
<SpRichText v-model={item.content} />
|
||||||
</div>
|
</div>
|
||||||
<div style='display: flex;flex-direction:column;juctify-content:center;padding: 0px 20px; margin-left: 50px;'>
|
|
||||||
{index !== 0 && (
|
|
||||||
<el-tooltip class='item' effect='dark' content='向上移动' placement='top'>
|
|
||||||
<i
|
|
||||||
class='el-icon-top'
|
|
||||||
style='font-size: 30px; color: #000;margin-bottom: 10px'
|
|
||||||
onClick={() => handlerMove(index, 'up')}
|
|
||||||
/>
|
|
||||||
</el-tooltip>
|
|
||||||
)}
|
|
||||||
<el-popconfirm
|
<el-popconfirm
|
||||||
confirm-button-type='danger'
|
confirm-button-type='danger'
|
||||||
confirm-button-text='删除'
|
confirm-button-text='删除'
|
||||||
|
|
@ -338,19 +317,9 @@ export default {
|
||||||
slot='reference'
|
slot='reference'
|
||||||
class='iconfont icon-trash-alt1'
|
class='iconfont icon-trash-alt1'
|
||||||
// onClick={() => removeItem(index)}
|
// onClick={() => removeItem(index)}
|
||||||
style='font-size: 30px; color: #F56C6C;'
|
style='font-size: 30px;padding: 0px 20px; margin-left: 50px; color: #F56C6C;'
|
||||||
/>
|
/>
|
||||||
</el-popconfirm>
|
</el-popconfirm>
|
||||||
{index < length - 1 && (
|
|
||||||
<el-tooltip class='item' effect='dark' content='向下移动' placement='bottom'>
|
|
||||||
<i
|
|
||||||
class='el-icon-bottom'
|
|
||||||
style='font-size: 30px; color: #000;margin-top: 10px'
|
|
||||||
onClick={() => handlerMove(index, 'down')}
|
|
||||||
/>
|
|
||||||
</el-tooltip>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
<el-button type='warning' size='small' onClick={addItem} style='margin:20px 0 0 20px;'>
|
<el-button type='warning' size='small' onClick={addItem} style='margin:20px 0 0 20px;'>
|
||||||
|
|
|
||||||
|
|
@ -70,9 +70,6 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
<!-- <SpFilterFormItem prop="keywords">
|
|
||||||
<el-input v-model="formData.item_name_3" placeholder="输入内部货号" />
|
|
||||||
</SpFilterFormItem> -->
|
|
||||||
<SpFilterFormItem prop="category">
|
<SpFilterFormItem prop="category">
|
||||||
<el-cascader
|
<el-cascader
|
||||||
v-model="formData.category"
|
v-model="formData.category"
|
||||||
|
|
@ -120,17 +117,8 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
]),
|
]),
|
||||||
h('div', { class: 'flex-col' }, [
|
h('div', { class: 'item-name' }, row.itemName)
|
||||||
h('div', { class: 'item-name' }, row.itemName),
|
|
||||||
h('div', { class: 'item-name' }, row.item_name_2)
|
|
||||||
])
|
])
|
||||||
])
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '内部货号',
|
|
||||||
key: 'item_name_3',
|
|
||||||
width: 100,
|
|
||||||
render: (h, { row }) => h('span', {}, row.item_name_3)
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '价格(¥)',
|
name: '价格(¥)',
|
||||||
|
|
|
||||||
|
|
@ -90,8 +90,8 @@ export default {
|
||||||
size: 0,
|
size: 0,
|
||||||
activeName: 'first',
|
activeName: 'first',
|
||||||
form: {
|
form: {
|
||||||
account: '',
|
account: '15026786768',
|
||||||
checkPass: ''
|
checkPass: 'shopex666'
|
||||||
},
|
},
|
||||||
loginType: 'admin',
|
loginType: 'admin',
|
||||||
rules: {
|
rules: {
|
||||||
|
|
@ -105,29 +105,20 @@ export default {
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
activeName(val) {
|
activeName(val) {
|
||||||
const isLab = process.env.VUE_APP_SLB_MODE
|
|
||||||
if (val == 'second') {
|
if (val == 'second') {
|
||||||
this.loginType = 'staff'
|
this.loginType = 'staff'
|
||||||
this.form = {
|
this.form = {
|
||||||
account: isLab ? '' : '15026787266',
|
account: '15026787266',
|
||||||
checkPass: isLab ? '' : '15026787266'
|
checkPass: '15026787266'
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.loginType = 'admin'
|
this.loginType = 'admin'
|
||||||
this.form = {
|
|
||||||
account: isLab ? '' : '15026786768',
|
|
||||||
checkPass: isLab ? '' : 'shopex666'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
if (!process.env.VUE_APP_SLB_MODE) {
|
|
||||||
this.form = {
|
this.form = {
|
||||||
account: '15026786768',
|
account: '15026786768',
|
||||||
checkPass: 'shopex666'
|
checkPass: 'shopex666'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('resize', this.fnSize())
|
window.addEventListener('resize', this.fnSize())
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,6 @@ export default {
|
||||||
mate_description: '', // pc页面标题
|
mate_description: '', // pc页面标题
|
||||||
mate_keywords: '', // pc页面标题
|
mate_keywords: '', // pc页面标题
|
||||||
item_name_2: '',
|
item_name_2: '',
|
||||||
item_name_3: '',
|
|
||||||
item_alias_name: '', //商品别名
|
item_alias_name: '', //商品别名
|
||||||
pdp: ''
|
pdp: ''
|
||||||
},
|
},
|
||||||
|
|
@ -182,13 +181,6 @@ export default {
|
||||||
type: 'input',
|
type: 'input',
|
||||||
display: 'inline'
|
display: 'inline'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: '内部货号',
|
|
||||||
key: 'item_name_3',
|
|
||||||
type: 'input',
|
|
||||||
display: 'inline',
|
|
||||||
message: '请输入内部货号'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: 'PDP标题',
|
label: 'PDP标题',
|
||||||
key: 'item_name_2',
|
key: 'item_name_2',
|
||||||
|
|
@ -600,7 +592,6 @@ export default {
|
||||||
item_params,
|
item_params,
|
||||||
intro_list,
|
intro_list,
|
||||||
item_name_2,
|
item_name_2,
|
||||||
item_name_3,
|
|
||||||
item_alias_name,
|
item_alias_name,
|
||||||
pdp
|
pdp
|
||||||
} = await this.$api.goods.getItemsDetail(itemId)
|
} = await this.$api.goods.getItemsDetail(itemId)
|
||||||
|
|
@ -620,7 +611,6 @@ export default {
|
||||||
this.form.isGift = is_gift
|
this.form.isGift = is_gift
|
||||||
this.form.videos = videos
|
this.form.videos = videos
|
||||||
this.form.item_name_2 = item_name_2
|
this.form.item_name_2 = item_name_2
|
||||||
this.form.item_name_3 = item_name_3
|
|
||||||
this.form.item_alias_name = item_alias_name
|
this.form.item_alias_name = item_alias_name
|
||||||
this.form.isShowSpecimg = is_show_specimg
|
this.form.isShowSpecimg = is_show_specimg
|
||||||
this.form.pdp = pdp
|
this.form.pdp = pdp
|
||||||
|
|
@ -715,7 +705,7 @@ export default {
|
||||||
pageSize: 99
|
pageSize: 99
|
||||||
})
|
})
|
||||||
if (list.length > 0) {
|
if (list.length > 0) {
|
||||||
this.formList[9].options = list.map((item) => {
|
this.formList[8].options = list.map((item) => {
|
||||||
return {
|
return {
|
||||||
value: item.template_id,
|
value: item.template_id,
|
||||||
title: item.name
|
title: item.name
|
||||||
|
|
@ -733,7 +723,7 @@ export default {
|
||||||
attribute_type: 'brand'
|
attribute_type: 'brand'
|
||||||
// attribute_name: searchVal
|
// attribute_name: searchVal
|
||||||
})
|
})
|
||||||
this.formList[10].options = list.map(({ attribute_id, attribute_name }) => {
|
this.formList[9].options = list.map(({ attribute_id, attribute_name }) => {
|
||||||
return {
|
return {
|
||||||
value: attribute_id,
|
value: attribute_id,
|
||||||
title: attribute_name
|
title: attribute_name
|
||||||
|
|
@ -853,7 +843,6 @@ export default {
|
||||||
paramsData,
|
paramsData,
|
||||||
intro_list,
|
intro_list,
|
||||||
item_name_2,
|
item_name_2,
|
||||||
item_name_3,
|
|
||||||
item_alias_name,
|
item_alias_name,
|
||||||
pdp
|
pdp
|
||||||
} = this.form
|
} = this.form
|
||||||
|
|
@ -902,7 +891,6 @@ export default {
|
||||||
intro: mode == 'component' ? JSON.stringify(content) : intro,
|
intro: mode == 'component' ? JSON.stringify(content) : intro,
|
||||||
intro_list: JSON.parse(JSON.stringify(intro_list)),
|
intro_list: JSON.parse(JSON.stringify(intro_list)),
|
||||||
item_name_2,
|
item_name_2,
|
||||||
item_name_3,
|
|
||||||
item_alias_name,
|
item_alias_name,
|
||||||
pdp
|
pdp
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -244,7 +244,6 @@
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" align="center" label="全选" />
|
<el-table-column type="selection" align="center" label="全选" />
|
||||||
<el-table-column prop="goods_id" label="商品ID" />
|
<el-table-column prop="goods_id" label="商品ID" />
|
||||||
<el-table-column prop="item_name_3" label="内部货号" />
|
|
||||||
<el-table-column prop="itemName" label="商品" width="300">
|
<el-table-column prop="itemName" label="商品" width="300">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="goods-title">
|
<div class="goods-title">
|
||||||
|
|
@ -329,7 +328,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-popover v-if="appID" placement="top" width="200" trigger="click">
|
<el-popover v-if="appID" placement="top" width="200" trigger="click">
|
||||||
<div>
|
<div>
|
||||||
<img class="page-code" :src="appCodeUrl" />
|
<img class="page-code" :src="appCodeUrl">
|
||||||
<div class="page-btns">
|
<div class="page-btns">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
|
@ -384,7 +383,7 @@
|
||||||
class="copy-btn"
|
class="copy-btn"
|
||||||
type="text"
|
type="text"
|
||||||
>
|
>
|
||||||
<input v-model="scope.row.link" class="copy-link" type="text" />复制链接
|
<input v-model="scope.row.link" class="copy-link" type="text">复制链接
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.approve_status == 'onsale'"
|
v-if="scope.row.approve_status == 'onsale'"
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@
|
||||||
:name="item.value"
|
:name="item.value"
|
||||||
/>
|
/>
|
||||||
<el-table v-loading="loading" border :data="tableList">
|
<el-table v-loading="loading" border :data="tableList">
|
||||||
<el-table-column width="200" prop="order_id" label="订单信息">
|
<el-table-column width="220" prop="order_id" label="订单信息">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="order-num">
|
<div class="order-num">
|
||||||
{{ scope.row.order_id }}
|
{{ scope.row.order_id }}
|
||||||
|
|
@ -205,18 +205,13 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="100" label="商品货号">
|
|
||||||
<template slot-scope="{ row }">
|
|
||||||
<p v-for="item in row.items">{{ item.item_bn }}</p>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="item_name_3" width="100" label="内部货号"> </el-table-column>
|
|
||||||
<el-table-column prop="total_fee" width="120" label="订单金额(¥)">
|
<el-table-column prop="total_fee" width="120" label="订单金额(¥)">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ (scope.row.total_fee / 100).toFixed(2) }}
|
{{ (scope.row.total_fee / 100).toFixed(2) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="0" label="运费(¥)">
|
<el-table-column width="100" label="运费(¥)">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ (scope.row.freight_fee || 0) / 100 }}
|
{{ (scope.row.freight_fee || 0) / 100 }}
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -63,12 +63,10 @@ import CompRefundAmount from './comps/comp-refundAmount'
|
||||||
import CompRefundPoint from './comps/comp-refundPoint'
|
import CompRefundPoint from './comps/comp-refundPoint'
|
||||||
|
|
||||||
const REASONS = [
|
const REASONS = [
|
||||||
{ title: '我不想要了', value: '5' },
|
|
||||||
{ title: '我不喜欢', value: '6' },
|
|
||||||
{ title: '收到残次品', value: '1' },
|
{ title: '收到残次品', value: '1' },
|
||||||
{ title: '商品有污渍', value: '2' },
|
{ title: '商品有污渍', value: '2' },
|
||||||
{ title: '包装破损导致商品损坏', value: '3' }
|
{ title: '包装破损导致商品损坏', value: '3' },
|
||||||
// { title: '七天无理由退货', value: '4' }
|
{ title: '七天无理由退货', value: '4' }
|
||||||
]
|
]
|
||||||
export default {
|
export default {
|
||||||
name: '',
|
name: '',
|
||||||
|
|
|
||||||
|
|
@ -75,16 +75,11 @@
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="item_spec_desc" width="120" label="规格">
|
<el-table-column prop="item_spec_desc" label="规格">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.item_spec_desc ? scope.row.item_spec_desc : '单规格' }}
|
{{ scope.row.item_spec_desc ? scope.row.item_spec_desc : '单规格' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="item_spec_desc" width="100" label="商品货号">
|
|
||||||
<template slot-scope="{ row }">
|
|
||||||
<p>{{ row.item_bn }}</p>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="price" label="单价(¥)" width="100">
|
<el-table-column prop="price" label="单价(¥)" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ (scope.row.price / 100).toFixed(2) }}
|
{{ (scope.row.price / 100).toFixed(2) }}
|
||||||
|
|
|
||||||
|
|
@ -225,13 +225,7 @@
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card shadow="never" header="适用规则">
|
<el-card shadow="never" header="适用规则">
|
||||||
<el-form-item label="前台直接领取">
|
<el-form-item label="前台直接领取">
|
||||||
<el-switch
|
<el-switch v-model="form.receive" active-color="#13ce66" inactive-color="#d2d4db" />
|
||||||
v-model="form.receive"
|
|
||||||
:active-value="true"
|
|
||||||
:inactiveValue="false"
|
|
||||||
active-color="#13ce66"
|
|
||||||
inactive-color="#d2d4db"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否积分兑换">
|
<el-form-item label="是否积分兑换">
|
||||||
<el-switch
|
<el-switch
|
||||||
|
|
@ -241,10 +235,7 @@
|
||||||
active-color="#13ce66"
|
active-color="#13ce66"
|
||||||
inactive-color="#d2d4db"
|
inactive-color="#d2d4db"
|
||||||
/>
|
/>
|
||||||
<div
|
<div v-if="form.is_point_receive == 1" style="display: inline-flex; align-items: center; margin-left: 20px">
|
||||||
v-if="form.is_point_receive == 1"
|
|
||||||
style="display: inline-flex; align-items: center; margin-left: 20px"
|
|
||||||
>
|
|
||||||
<span>积分:</span>
|
<span>积分:</span>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.point"
|
v-model="form.point"
|
||||||
|
|
|
||||||
|
|
@ -179,9 +179,9 @@
|
||||||
<el-button type="primary" plain icon="el-plus-circle"> 导出 </el-button>
|
<el-button type="primary" plain icon="el-plus-circle"> 导出 </el-button>
|
||||||
</export-tip>
|
</export-tip>
|
||||||
|
|
||||||
<!-- <el-button v-if="!VERSION_IN_PURCHASE" type="primary" plain @click="chiefupload">
|
<el-button v-if="!VERSION_IN_PURCHASE" type="primary" plain @click="chiefupload">
|
||||||
团长导入
|
团长导入
|
||||||
</el-button> -->
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <el-row>
|
<!-- <el-row>
|
||||||
|
|
@ -234,12 +234,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column v-if="!VERSION_IN_PURCHASE" prop="is_chief" label="是否团长" width="80">
|
||||||
v-if="!VERSION_IN_PURCHASE && false"
|
|
||||||
prop="is_chief"
|
|
||||||
label="是否团长"
|
|
||||||
width="80"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="scope.row.is_chief"
|
v-model="scope.row.is_chief"
|
||||||
|
|
@ -310,7 +305,7 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip placement="top">
|
<el-tooltip placement="top">
|
||||||
<div slot="content">
|
<div slot="content">
|
||||||
注册时间<br />{{ scope.row.created | datetime('YYYY-MM-DD HH:mm:ss') }}
|
注册时间<br>{{ scope.row.created | datetime('YYYY-MM-DD HH:mm:ss') }}
|
||||||
</div>
|
</div>
|
||||||
<span>{{ scope.row.created | datetime }}</span>
|
<span>{{ scope.row.created | datetime }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
@ -774,7 +769,6 @@ import {
|
||||||
updateMemberGrade,
|
updateMemberGrade,
|
||||||
batchupdateMemberGrade,
|
batchupdateMemberGrade,
|
||||||
batchOperating,
|
batchOperating,
|
||||||
batchIsInternal,
|
|
||||||
getMemberRegisterSetting,
|
getMemberRegisterSetting,
|
||||||
updateMemberBasicInfo,
|
updateMemberBasicInfo,
|
||||||
setCheif
|
setCheif
|
||||||
|
|
@ -1365,13 +1359,6 @@ export default {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.dialogIsShow = false
|
this.dialogIsShow = false
|
||||||
if (this.user_id.length === 0) {
|
|
||||||
this.$message({
|
|
||||||
type: 'error',
|
|
||||||
message: '没有选中会员'
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.batchAction('是否给全部会员打标签?')
|
this.batchAction('是否给全部会员打标签?')
|
||||||
},
|
},
|
||||||
clearParams() {
|
clearParams() {
|
||||||
|
|
@ -1384,7 +1371,7 @@ export default {
|
||||||
if (this.user_id.length > 0) {
|
if (this.user_id.length > 0) {
|
||||||
this.params.user_id = this.user_id
|
this.params.user_id = this.user_id
|
||||||
let params = JSON.parse(JSON.stringify(this.params))
|
let params = JSON.parse(JSON.stringify(this.params))
|
||||||
console.log(params, 'params')
|
console.log(this.params)
|
||||||
batchOperating(params).then((res) => {
|
batchOperating(params).then((res) => {
|
||||||
if (res.data.data.status) {
|
if (res.data.data.status) {
|
||||||
this.dialogIsShow = false
|
this.dialogIsShow = false
|
||||||
|
|
@ -1397,8 +1384,6 @@ export default {
|
||||||
this.getMembers()
|
this.getMembers()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
params.tag_ids?.includes('1') &&
|
|
||||||
batchIsInternal({ user_id: params.user_id, is_internal: 1 }).then((res) => {})
|
|
||||||
} else {
|
} else {
|
||||||
this.$confirm(message, '提示', {
|
this.$confirm(message, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|
@ -1608,7 +1593,6 @@ export default {
|
||||||
tag_id: tagId,
|
tag_id: tagId,
|
||||||
user_id: userId
|
user_id: userId
|
||||||
})
|
})
|
||||||
tagId == 1 && (await batchIsInternal({ user_id: userId, is_internal: 0 }))
|
|
||||||
this.$message({ type: 'success', message: '修改成功' })
|
this.$message({ type: 'success', message: '修改成功' })
|
||||||
this.getMembers()
|
this.getMembers()
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="section section-white">
|
<div class="section section-white">
|
||||||
<div class="section-header with-border">添加表单元素</div>
|
<div class="section-header with-border">
|
||||||
|
添加表单元素
|
||||||
|
</div>
|
||||||
<div class="section-body">
|
<div class="section-body">
|
||||||
<el-form
|
<el-form
|
||||||
ref="form"
|
ref="form"
|
||||||
|
|
@ -18,27 +20,45 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.field_title"
|
v-model.trim="form.field_title"
|
||||||
:maxlength="30"
|
:maxlength="30"
|
||||||
placeholder="请输入标题"
|
placeholder="身高(cm)"
|
||||||
@change="fieldTitleChange"
|
@change="fieldTitleChange"
|
||||||
/>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="false"
|
|
||||||
label="表单元素类型"
|
label="表单元素类型"
|
||||||
prop="form_element"
|
prop="form_element"
|
||||||
:rules="[{ required: true, message: '请选择表单元素', trigger: 'change' }]"
|
:rules="[{ required: true, message: '请选择表单元素', trigger: 'change' }]"
|
||||||
>
|
>
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<el-radio-group v-model="form.form_element" @change="ElementChange">
|
<el-radio-group
|
||||||
<el-radio label="text"> 单文本框 </el-radio>
|
v-model="form.form_element"
|
||||||
<el-radio label="number"> 数字(纯数字) </el-radio>
|
@change="ElementChange"
|
||||||
<el-radio label="checkbox"> 复选框 </el-radio>
|
>
|
||||||
<el-radio label="select"> 下拉选择 </el-radio>
|
<el-radio label="text">
|
||||||
<el-radio label="radio"> 单选按钮 </el-radio>
|
单文本框
|
||||||
<el-radio label="textarea"> 多文本域 </el-radio>
|
</el-radio>
|
||||||
<el-radio label="date"> 日期选择 </el-radio>
|
<el-radio label="number">
|
||||||
<el-radio label="area"> 地区选择 </el-radio>
|
数字(纯数字)
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="checkbox">
|
||||||
|
复选框
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="select">
|
||||||
|
下拉选择
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="radio">
|
||||||
|
单选按钮
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="textarea">
|
||||||
|
多文本域
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="date">
|
||||||
|
日期选择
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="area">
|
||||||
|
地区选择
|
||||||
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -61,10 +81,18 @@
|
||||||
>
|
>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<el-input v-model="domain.value" width="20" />
|
<el-input
|
||||||
|
v-model="domain.value"
|
||||||
|
width="20"
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="index > 1" :span="5">
|
<el-col
|
||||||
<el-button @click.prevent="removeDomain(domain)"> 删除 </el-button>
|
v-if="index > 1"
|
||||||
|
:span="5"
|
||||||
|
>
|
||||||
|
<el-button @click.prevent="removeDomain(domain)">
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
|
|
@ -96,7 +124,13 @@
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<el-button type="primary" circle @click="addOption"> 增 </el-button>
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
circle
|
||||||
|
@click="addOption"
|
||||||
|
>
|
||||||
|
增
|
||||||
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- field_name:{{form.field_name}} | defalutFileName:{{defalutFileName}} -->
|
<!-- field_name:{{form.field_name}} | defalutFileName:{{defalutFileName}} -->
|
||||||
|
|
@ -138,12 +172,21 @@
|
||||||
/>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="图片" prop="image_url" v-if="false">
|
<el-form-item
|
||||||
|
label="图片"
|
||||||
|
prop="image_url"
|
||||||
|
>
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<div>
|
<div>
|
||||||
<imgBox :img-url="wximageurl + form.image_url" inline @click="handleImgBChange" />
|
<imgBox
|
||||||
|
:img-url="wximageurl + form.image_url"
|
||||||
|
inline
|
||||||
|
@click="handleImgBChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="frm-tips">
|
||||||
|
只能上传jpg/png文件,且不超过2M (建议尺寸:400px * 450px)
|
||||||
</div>
|
</div>
|
||||||
<div class="frm-tips">只能上传jpg/png文件,且不超过2M (建议尺寸:400px * 450px)</div>
|
|
||||||
<imgPicker
|
<imgPicker
|
||||||
:dialog-visible="imgDialog"
|
:dialog-visible="imgDialog"
|
||||||
:sc-status="isGetImage"
|
:sc-status="isGetImage"
|
||||||
|
|
@ -153,8 +196,15 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click.native="handleCancel"> 取消 </el-button>
|
<el-button @click.native="handleCancel">
|
||||||
<el-button type="primary" @click="submitAction"> 保存 </el-button>
|
取消
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="submitAction"
|
||||||
|
>
|
||||||
|
保存
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,29 @@
|
||||||
<div>
|
<div>
|
||||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||||
<div class="action-container">
|
<div class="action-container">
|
||||||
<el-button type="primary" icon="iconfont icon-xinzengcaozuo-01" @click="addElement">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="iconfont icon-xinzengcaozuo-01"
|
||||||
|
@click="addElement"
|
||||||
|
>
|
||||||
表单元素添加
|
表单元素添加
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
<SpFilterForm
|
||||||
<SpFilterFormItem prop="form_element" label="表单元素:" v-if="false">
|
:model="params"
|
||||||
<el-select v-model="params.form_element" placeholder="请选择表单元素" style="width: 100%">
|
@onSearch="onSearch"
|
||||||
|
@onReset="onReset"
|
||||||
|
>
|
||||||
|
<SpFilterFormItem
|
||||||
|
prop="form_element"
|
||||||
|
label="表单元素:"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="params.form_element"
|
||||||
|
placeholder="请选择表单元素"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in formElement"
|
v-for="item in formElement"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
|
@ -25,37 +40,77 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
|
|
||||||
<SpFilterFormItem prop="field_title" label="标题:">
|
<SpFilterFormItem
|
||||||
<el-input v-model="params.field_title" placeholder="标题" style="width: 100%" />
|
prop="field_title"
|
||||||
|
label="标题:"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="params.field_title"
|
||||||
|
placeholder="标题"
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
</SpFilterForm>
|
</SpFilterForm>
|
||||||
|
|
||||||
<el-tabs v-model="params.is_valid" type="card" @tab-click="handleTabClick">
|
<el-tabs
|
||||||
|
v-model="params.is_valid"
|
||||||
|
type="card"
|
||||||
|
@tab-click="handleTabClick"
|
||||||
|
>
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
v-for="(item, index) in tabList"
|
v-for="(item, index) in tabList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:name="item.activeName"
|
:name="item.activeName"
|
||||||
>
|
>
|
||||||
<el-table v-loading="loading" border :data="tableList" :height="wheight - 280">
|
<el-table
|
||||||
<el-table-column prop="id" label="ID" width="50" />
|
v-loading="loading"
|
||||||
<el-table-column prop="field_title" label="标题" width="250" />
|
border
|
||||||
<el-table-column prop="field_name" label="唯一标示(纯字母)" width="200" />
|
:data="tableList"
|
||||||
<el-table-column prop="form_element" label="元素类型" width="100" />
|
:height="wheight - 280"
|
||||||
<!-- <el-table-column label="元素选择项">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span v-for="(item, index) in scope.row.options" :key="index">
|
|
||||||
{{ item.value }}</span
|
|
||||||
>
|
>
|
||||||
|
<el-table-column
|
||||||
|
prop="id"
|
||||||
|
label="ID"
|
||||||
|
width="50"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="field_title"
|
||||||
|
label="标题"
|
||||||
|
width="250"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="field_name"
|
||||||
|
label="唯一标示(纯字母)"
|
||||||
|
width="200"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="form_element"
|
||||||
|
label="元素类型"
|
||||||
|
width="100"
|
||||||
|
/>
|
||||||
|
<el-table-column label="元素选择项">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span
|
||||||
|
v-for="(item, index) in scope.row.options"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
{{ item.value }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column>
|
||||||
<el-table-column label="操作" min-width="100">
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
width="100"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link
|
||||||
class="iconfont icon-edit1"
|
class="iconfont icon-edit1"
|
||||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
||||||
/>
|
/>
|
||||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
<i
|
||||||
|
class="iconfont icon-search-plus"
|
||||||
|
@click="preview(scope.$index, scope.row)"
|
||||||
|
/>
|
||||||
<i
|
<i
|
||||||
v-if="scope.row.status == 1"
|
v-if="scope.row.status == 1"
|
||||||
class="mark iconfont icon-trash-alt1"
|
class="mark iconfont icon-trash-alt1"
|
||||||
|
|
@ -80,31 +135,77 @@
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<el-dialog :visible.sync="dialogVisible">
|
<el-dialog :visible.sync="dialogVisible">
|
||||||
<el-form ref="dataInfo" label-width="200px" label-position="left" class="demo-ruleForm">
|
<el-form
|
||||||
|
ref="dataInfo"
|
||||||
|
label-width="200px"
|
||||||
|
label-position="left"
|
||||||
|
class="demo-ruleForm"
|
||||||
|
>
|
||||||
<el-form-item :label="dataInfo.field_title">
|
<el-form-item :label="dataInfo.field_title">
|
||||||
<el-col v-if="dataInfo.form_element == 'text'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'text'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-input placeholder="text预览" />
|
<el-input placeholder="text预览" />
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'textarea'" :span="12">
|
<el-col
|
||||||
<el-input type="textarea" placeholder="textarea预览" />
|
v-if="dataInfo.form_element == 'textarea'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
placeholder="textarea预览"
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'number'" :span="12">
|
<el-col
|
||||||
<el-input-number type="textarea" placeholder="55.55" />
|
v-if="dataInfo.form_element == 'number'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-input-number
|
||||||
|
type="textarea"
|
||||||
|
placeholder="55.55"
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'image'" :span="12">
|
<el-col
|
||||||
<el-upload class="avatar-uploader" action="" :show-file-list="false">
|
v-if="dataInfo.form_element == 'image'"
|
||||||
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
|
:span="12"
|
||||||
<i v-else class="el-icon-plus avatar-uploader-icon" />
|
>
|
||||||
|
<el-upload
|
||||||
|
class="avatar-uploader"
|
||||||
|
action=""
|
||||||
|
:show-file-list="false"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
v-if="imageUrl"
|
||||||
|
:src="imageUrl"
|
||||||
|
class="avatar"
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
v-else
|
||||||
|
class="el-icon-plus avatar-uploader-icon"
|
||||||
|
/>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'radio'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'radio'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-radio-group>
|
<el-radio-group>
|
||||||
<el-radio v-for="(item, index) in dataInfo.options" :key="index" :label="3">
|
<el-radio
|
||||||
{{ item.value }}
|
v-for="(item, index) in dataInfo.options"
|
||||||
|
:key="index"
|
||||||
|
:label="3"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
item.value
|
||||||
|
}}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'checkbox'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'checkbox'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-checkbox-group>
|
<el-checkbox-group>
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-for="(item, index) in dataInfo.options"
|
v-for="(item, index) in dataInfo.options"
|
||||||
|
|
@ -115,7 +216,10 @@
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'select'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'select'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-select placeholder="请选择">
|
<el-select placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dataInfo.options"
|
v-for="item in dataInfo.options"
|
||||||
|
|
@ -125,10 +229,20 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'date'" :span="12">
|
<el-col
|
||||||
<el-date-picker v-model="value1" type="date" placeholder="选择日期" />
|
v-if="dataInfo.form_element == 'date'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="value1"
|
||||||
|
type="date"
|
||||||
|
placeholder="选择日期"
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'time'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'time'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-time-picker
|
<el-time-picker
|
||||||
v-model="value2"
|
v-model="value2"
|
||||||
arrow-control
|
arrow-control
|
||||||
|
|
@ -138,7 +252,10 @@
|
||||||
placeholder="任意时间点"
|
placeholder="任意时间点"
|
||||||
/>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="dataInfo.form_element == 'area'" :span="12">
|
<el-col
|
||||||
|
v-if="dataInfo.form_element == 'area'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-cascader
|
<el-cascader
|
||||||
v-model="value"
|
v-model="value"
|
||||||
:options="options"
|
:options="options"
|
||||||
|
|
@ -325,11 +442,6 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep .cell {
|
|
||||||
.iconfont {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-row {
|
.el-row {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
&:last-child {
|
&:last-child {
|
||||||
|
|
|
||||||
|
|
@ -8,47 +8,99 @@
|
||||||
<div>
|
<div>
|
||||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||||
<div class="action-container">
|
<div class="action-container">
|
||||||
<el-button type="primary" icon="iconfont icon-xinzengcaozuo-01" @click="addTemplate">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="iconfont icon-xinzengcaozuo-01"
|
||||||
|
@click="addTemplate"
|
||||||
|
>
|
||||||
添加模板
|
添加模板
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
<SpFilterForm
|
||||||
<SpFilterFormItem prop="tem_name" label="模板名称:">
|
:model="params"
|
||||||
<el-input v-model="params.tem_name" placeholder="模板名称" />
|
@onSearch="onSearch"
|
||||||
|
@onReset="onReset"
|
||||||
|
>
|
||||||
|
<SpFilterFormItem
|
||||||
|
prop="tem_name"
|
||||||
|
label="模板名称:"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="params.tem_name"
|
||||||
|
placeholder="模板名称"
|
||||||
|
/>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
<SpFilterFormItem prop="tem_type" label="模板类型:">
|
<SpFilterFormItem
|
||||||
<el-select v-model="params.tem_type" placeholder="模板类型" style="width: 100%">
|
prop="tem_type"
|
||||||
<el-option key="basic_entry" label="基础录入" value="basic_entry" />
|
label="模板类型:"
|
||||||
<el-option key="ask_answer_paper" label="问卷调查" value="ask_answer_paper" />
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="params.tem_type"
|
||||||
|
placeholder="模板类型"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
key="basic_entry"
|
||||||
|
label="基础录入"
|
||||||
|
value="basic_entry"
|
||||||
|
/>
|
||||||
|
<el-option
|
||||||
|
key="ask_answer_paper"
|
||||||
|
label="问卷调查"
|
||||||
|
value="ask_answer_paper"
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
</SpFilterForm>
|
</SpFilterForm>
|
||||||
|
|
||||||
<el-tabs v-model="params.is_valid" type="card" @tab-click="handleTabClick">
|
<el-tabs
|
||||||
|
v-model="params.is_valid"
|
||||||
|
type="card"
|
||||||
|
@tab-click="handleTabClick"
|
||||||
|
>
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
v-for="(item, index) in tabList"
|
v-for="(item, index) in tabList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:name="item.activeName"
|
:name="item.activeName"
|
||||||
>
|
>
|
||||||
<el-table v-loading="loading" border :data="tableList" :height="wheight - 280">
|
<el-table
|
||||||
<el-table-column prop="id" label="ID" width="50" />
|
v-loading="loading"
|
||||||
<el-table-column prop="tem_name" label="模板名称" min-width="300" />
|
border
|
||||||
<el-table-column prop="tem_type" label="模板类型" min-width="100" />
|
:data="tableList"
|
||||||
<el-table-column prop="status" label="状态" min-width="100">
|
:height="wheight - 280"
|
||||||
<template slot-scope="scope">
|
>
|
||||||
<el-tag v-if="scope.row.status == 1" size="small" type="success">启用</el-tag>
|
<el-table-column
|
||||||
<el-tag v-else type="info" size="small">禁用</el-tag>
|
prop="id"
|
||||||
</template>
|
label="ID"
|
||||||
</el-table-column>
|
width="100"
|
||||||
<el-table-column label="操作" min-width="130">
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="tem_name"
|
||||||
|
label="模板名称"
|
||||||
|
width="300"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="tem_type"
|
||||||
|
label="模板类型"
|
||||||
|
width="300"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="status"
|
||||||
|
label="状态"
|
||||||
|
width="100"
|
||||||
|
/>
|
||||||
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link
|
||||||
class="iconfont icon-edit1"
|
class="iconfont icon-edit1"
|
||||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
||||||
/>
|
/>
|
||||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
<i
|
||||||
|
class="iconfont icon-search-plus"
|
||||||
|
@click="preview(scope.$index, scope.row)"
|
||||||
|
/>
|
||||||
<i
|
<i
|
||||||
v-if="scope.row.status == 1"
|
v-if="scope.row.status == 1"
|
||||||
class="mark iconfont icon-trash-alt1"
|
class="mark iconfont icon-trash-alt1"
|
||||||
|
|
@ -71,9 +123,21 @@
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<el-dialog :visible.sync="dialogVisible" :title="dialogTitle" width="50">
|
<el-dialog
|
||||||
<el-alert v-if="headerTitle" :title="headerTitle" type="info" :closable="false" /><br />
|
:visible.sync="dialogVisible"
|
||||||
<el-card v-for="(carditem, index) in dialogContent" :key="index">
|
:title="dialogTitle"
|
||||||
|
width="50"
|
||||||
|
>
|
||||||
|
<el-alert
|
||||||
|
v-if="headerTitle"
|
||||||
|
:title="headerTitle"
|
||||||
|
type="info"
|
||||||
|
:closable="false"
|
||||||
|
/><br>
|
||||||
|
<el-card
|
||||||
|
v-for="(carditem, index) in dialogContent"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
{{ carditem.title }}
|
{{ carditem.title }}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -88,24 +152,56 @@
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="item.field_title"
|
:label="item.field_title"
|
||||||
>
|
>
|
||||||
<el-col v-if="item.form_element == 'text'" :span="12">
|
<el-col
|
||||||
<el-input placeholder="text预览" disabled />
|
v-if="item.form_element == 'text'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
placeholder="text预览"
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="item.form_element == 'number'" :span="12">
|
<el-col
|
||||||
<el-input placeholder="1" size="mini" disabled style="width: 120px" />
|
v-if="item.form_element == 'number'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
placeholder="1"
|
||||||
|
size="mini"
|
||||||
|
disabled
|
||||||
|
style="width: 120px"
|
||||||
|
/>
|
||||||
<span class="frm-tips"> (只能是数字)</span>
|
<span class="frm-tips"> (只能是数字)</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="item.form_element == 'textarea'" :span="12">
|
<el-col
|
||||||
<el-input type="textarea" placeholder="textarea预览" disabled :rows="5" />
|
v-if="item.form_element == 'textarea'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
placeholder="textarea预览"
|
||||||
|
disabled
|
||||||
|
:rows="5"
|
||||||
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="item.form_element == 'radio'" :span="12">
|
<el-col
|
||||||
|
v-if="item.form_element == 'radio'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-radio-group disabled>
|
<el-radio-group disabled>
|
||||||
<el-radio v-for="(item, index) in item.options" :key="index" :label="3">
|
<el-radio
|
||||||
|
v-for="(item, index) in item.options"
|
||||||
|
:key="index"
|
||||||
|
:label="3"
|
||||||
|
>
|
||||||
{{ item.value }}
|
{{ item.value }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="item.form_element == 'checkbox'" :span="12">
|
<el-col
|
||||||
|
v-if="item.form_element == 'checkbox'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-checkbox-group disabled>
|
<el-checkbox-group disabled>
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-for="(item, index) in item.options"
|
v-for="(item, index) in item.options"
|
||||||
|
|
@ -116,7 +212,10 @@
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col v-if="item.form_element == 'select'" :span="12">
|
<el-col
|
||||||
|
v-if="item.form_element == 'select'"
|
||||||
|
:span="12"
|
||||||
|
>
|
||||||
<el-select placeholder="请选择">
|
<el-select placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in item.options"
|
v-for="item in item.options"
|
||||||
|
|
@ -130,8 +229,18 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-alert v-if="bottomTitle" :title="bottomTitle" type="info" :closable="false" />
|
<el-alert
|
||||||
<el-button type="primary" disabled> 确认提交 </el-button>
|
v-if="bottomTitle"
|
||||||
|
:title="bottomTitle"
|
||||||
|
type="info"
|
||||||
|
:closable="false"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
确认提交
|
||||||
|
</el-button>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<router-view />
|
<router-view />
|
||||||
|
|
@ -283,11 +392,6 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep .cell {
|
|
||||||
.iconfont {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-row {
|
.el-row {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
&:last-child {
|
&:last-child {
|
||||||
|
|
|
||||||
|
|
@ -19,19 +19,14 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
<SpFilterFormItem prop="create_time" label="时间:">
|
<SpFilterFormItem prop="create_time" label="时间:">
|
||||||
<el-date-picker
|
<el-date-picker v-model="params.create_time" type="daterange" value-format="yyyy/MM/dd" placeholder="根据添加时间筛选" />
|
||||||
v-model="params.create_time"
|
|
||||||
type="daterange"
|
|
||||||
value-format="yyyy/MM/dd"
|
|
||||||
placeholder="根据添加时间筛选"
|
|
||||||
/>
|
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
</SpFilterForm>
|
</SpFilterForm>
|
||||||
|
|
||||||
<el-table v-loading="loading" border :data="tableList">
|
<el-table v-loading="loading" border :data="tableList">
|
||||||
<el-table-column prop="activity_id" label="编号" width="50" />
|
<el-table-column prop="activity_id" label="编号" width="50" />
|
||||||
<el-table-column prop="activity_name" label="活动名称" min-width="300" />
|
<el-table-column prop="activity_name" label="活动名称" width="300" />
|
||||||
<el-table-column prop="start_time" label="活动有效期" min-width="300">
|
<el-table-column prop="start_time" label="活动有效期" width="300">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.start_date }} ~ {{ scope.row.end_date }}
|
{{ scope.row.start_date }} ~ {{ scope.row.end_date }}
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -41,72 +36,34 @@
|
||||||
{{ scope.row.total_join_num || 0 }}
|
{{ scope.row.total_join_num || 0 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" min-width="130">
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link class="iconfont icon-edit1"
|
||||||
class="iconfont icon-edit1"
|
:to="{ path: matchHidePage('editor'), query: { id: scope.row.activity_id } }" />
|
||||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.activity_id } }"
|
|
||||||
/>
|
|
||||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
||||||
<!-- v-if="scope.row.status == 1" -->
|
<i v-if="scope.row.status == 1" class="mark iconfont icon-trash-alt1"
|
||||||
<i class="mark iconfont icon-trash-alt1" @click="deleteAction(scope.$index, scope.row)" />
|
@click="deleteAction(scope.$index, scope.row)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="content-center content-top-padded">
|
<div class="content-center content-top-padded">
|
||||||
<el-pagination
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :current-page.sync="page.pageIndex"
|
||||||
background
|
:page-sizes="[10, 20, 50]" :total="page.total" :page-size="page.pageSize" @current-change="onCurrentChange"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
@size-change="onSizeChange" />
|
||||||
:current-page.sync="page.pageIndex"
|
|
||||||
:page-sizes="[10, 20, 50]"
|
|
||||||
:total="page.total"
|
|
||||||
:page-size="page.pageSize"
|
|
||||||
@current-change="onCurrentChange"
|
|
||||||
@size-change="onSizeChange"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog :visible.sync="dialogVisible" title="活动详情">
|
<el-dialog :visible.sync="dialogVisible" title="活动详情">
|
||||||
<el-descriptions :column="1">
|
<el-descriptions :column="1">
|
||||||
<el-descriptions-item label="活动名称">{{ dataInfo.activity_name }}</el-descriptions-item>
|
<el-descriptions-item label="活动名称">{{ dataInfo.activity_name }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="活动有效时间"
|
<el-descriptions-item label="活动有效时间">{{ dataInfo.start_date }}-{{ dataInfo.end_date }}</el-descriptions-item>
|
||||||
>{{ dataInfo.start_date }}-{{ dataInfo.end_date }}</el-descriptions-item
|
|
||||||
>
|
|
||||||
<el-descriptions-item label="活动地址">
|
|
||||||
{{ dataInfo.address }}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="封面">
|
|
||||||
<div v-if="dataInfo.pics" style="display: flex; flex-wrap: wrap">
|
|
||||||
<!-- <img
|
|
||||||
v-for="item in JSON.parse(dataInfo.pics)"
|
|
||||||
:src="item"
|
|
||||||
style="width: 100px; height: 100px"
|
|
||||||
/> -->
|
|
||||||
<el-image
|
|
||||||
v-for="item in JSON.parse(dataInfo.pics)"
|
|
||||||
:key="item"
|
|
||||||
class="img-content"
|
|
||||||
style="width: 100px; height: 100px"
|
|
||||||
:src="item"
|
|
||||||
fit="cover"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="活动介绍">
|
|
||||||
<div class="content-padded" v-html="dataInfo.intro"></div>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="报名问卷模板">
|
<el-descriptions-item label="报名问卷模板">
|
||||||
{{ dataInfo.temp_id | formatterLable(temp_options) }}
|
{{ dataInfo.temp_id | formatterLable(temp_options) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="提交报名次数">
|
<el-descriptions-item label="提交报名次数">
|
||||||
{{ dataInfo.join_limit }}
|
{{ dataInfo.join_limit }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="是否开启短信通知">{{
|
<el-descriptions-item label="是否开启短信通知">{{ dataInfo.is_sms_notice==1?'是':'否' }}</el-descriptions-item>
|
||||||
dataInfo.is_sms_notice == 1 ? '是' : '否'
|
<el-descriptions-item label="是否开启小程序通知">{{ dataInfo.is_wxapp_notice==1?'是':'否' }}</el-descriptions-item>
|
||||||
}}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="是否开启小程序通知">{{
|
|
||||||
dataInfo.is_wxapp_notice == 1 ? '是' : '否'
|
|
||||||
}}</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<!-- <el-form ref="dataInfo" label-width="200px" label-position="left" class="demo-ruleForm">
|
<!-- <el-form ref="dataInfo" label-width="200px" label-position="left" class="demo-ruleForm">
|
||||||
<el-form-item :label="dataInfo.field_title">
|
<el-form-item :label="dataInfo.field_title">
|
||||||
|
|
@ -185,7 +142,7 @@ import mixin, { pageMixin } from '@/mixins'
|
||||||
export default {
|
export default {
|
||||||
filters: {
|
filters: {
|
||||||
formatterLable(value, options) {
|
formatterLable(value, options) {
|
||||||
return options.find((item) => item.value == value)?.label
|
return options.find(item => item.value == value)?.label
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mixins: [mixin, pageMixin],
|
mixins: [mixin, pageMixin],
|
||||||
|
|
@ -403,26 +360,6 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep {
|
|
||||||
.cell {
|
|
||||||
.iconfont {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-descriptions-item__label {
|
|
||||||
min-width: 100px;
|
|
||||||
}
|
|
||||||
.content-padded {
|
|
||||||
padding: 0 10px;
|
|
||||||
width: 100%;
|
|
||||||
img {
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-row {
|
.el-row {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
|
|
@ -489,6 +426,7 @@ export default {
|
||||||
</style>
|
</style>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.grid-detail {
|
.grid-detail {
|
||||||
|
|
||||||
table,
|
table,
|
||||||
.detail-content-wrap,
|
.detail-content-wrap,
|
||||||
.detail-content-item {
|
.detail-content-item {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.activity_name"
|
v-model.trim="form.activity_name"
|
||||||
:maxlength="150"
|
:maxlength="30"
|
||||||
placeholder="名称"
|
placeholder="名称"
|
||||||
@change="fieldItemChange"
|
@change="fieldItemChange"
|
||||||
/>
|
/>
|
||||||
|
|
@ -37,32 +37,6 @@
|
||||||
/>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
|
||||||
label="活动地址"
|
|
||||||
prop="address"
|
|
||||||
:rules="[{ required: true, message: '请输入活动地址', trigger: 'blur' }]"
|
|
||||||
>
|
|
||||||
<el-col :span="15">
|
|
||||||
<el-input v-model.trim="form.address" :maxlength="150" placeholder="地址" />
|
|
||||||
</el-col>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item
|
|
||||||
label="活动封面图"
|
|
||||||
prop="pics"
|
|
||||||
:rules="[{ required: true, message: '请上传活动封面图', trigger: 'change' }]"
|
|
||||||
>
|
|
||||||
<div :span="20">
|
|
||||||
<SpImagePicker v-model="form.pics" drag :max="9" />
|
|
||||||
<div class="frm-tips">只能上传jpg/png文件,且不超过2M</div>
|
|
||||||
<!-- <imgPicker
|
|
||||||
:dialog-visible="imgDialog"
|
|
||||||
:sc-status="isGetImage"
|
|
||||||
@chooseImg="pickImg"
|
|
||||||
@closeImgDialog="closeImgDialog"
|
|
||||||
/> -->
|
|
||||||
</div>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="选择报名问卷模板"
|
label="选择报名问卷模板"
|
||||||
prop="temp_id"
|
prop="temp_id"
|
||||||
|
|
@ -93,16 +67,6 @@
|
||||||
/>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
|
||||||
label="活动介绍"
|
|
||||||
prop="activity_name"
|
|
||||||
:rules="[{ required: true, message: '请输入活动介绍', trigger: 'blur' }]"
|
|
||||||
>
|
|
||||||
<el-col :span="20">
|
|
||||||
<SpRichText v-model="form.intro" />
|
|
||||||
</el-col>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item label="是否开启短信通知" prop="is_sms_notice">
|
<el-form-item label="是否开启短信通知" prop="is_sms_notice">
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
|
|
@ -172,10 +136,7 @@ export default {
|
||||||
activity_time: '',
|
activity_time: '',
|
||||||
start_time: '',
|
start_time: '',
|
||||||
end_time: '',
|
end_time: '',
|
||||||
join_limit: '',
|
join_limit: ''
|
||||||
address: '',
|
|
||||||
pics: [],
|
|
||||||
intro: ''
|
|
||||||
},
|
},
|
||||||
templateParams: {
|
templateParams: {
|
||||||
page: 1,
|
page: 1,
|
||||||
|
|
@ -280,11 +241,6 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep {
|
|
||||||
.el-col .sp-rich-text {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.text {
|
.text {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,28 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||||
<!-- <div class="action-container">
|
<div class="action-container">
|
||||||
<el-button type="primary" @click="editorLog()"> 上传日志 </el-button>
|
<el-button
|
||||||
</div> -->
|
type="primary"
|
||||||
|
@click="editorLog()"
|
||||||
|
>
|
||||||
|
上传日志
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
<SpFilterForm
|
||||||
<SpFilterFormItem prop="activity_id" label="活动:">
|
:model="params"
|
||||||
<el-select v-model="params.activity_id" placeholder="请选择活动">
|
@onSearch="onSearch"
|
||||||
|
@onReset="onReset"
|
||||||
|
>
|
||||||
|
<SpFilterFormItem
|
||||||
|
prop="activity_id"
|
||||||
|
label="活动:"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="params.activity_id"
|
||||||
|
placeholder="请选择活动"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in activity_options"
|
v-for="item in activity_options"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
|
@ -22,10 +37,19 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
<SpFilterFormItem prop="mobile" label="手机号:">
|
<SpFilterFormItem
|
||||||
<el-input v-model="params.mobile" placeholder="手机号" />
|
prop="mobile"
|
||||||
|
label="手机号:"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="params.mobile"
|
||||||
|
placeholder="手机号"
|
||||||
|
/>
|
||||||
</SpFilterFormItem>
|
</SpFilterFormItem>
|
||||||
<SpFilterFormItem prop="create_time" label="时间:">
|
<SpFilterFormItem
|
||||||
|
prop="create_time"
|
||||||
|
label="时间:"
|
||||||
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="params.create_time"
|
v-model="params.create_time"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
|
|
@ -36,10 +60,21 @@
|
||||||
</SpFilterForm>
|
</SpFilterForm>
|
||||||
|
|
||||||
<div class="action-container">
|
<div class="action-container">
|
||||||
<!-- <el-button plain type="primary" @click="uploadHandleTemplate()"> 下载模版 </el-button> -->
|
<el-button
|
||||||
|
plain
|
||||||
|
type="primary"
|
||||||
|
@click="uploadHandleTemplate()"
|
||||||
|
>
|
||||||
|
下载模版
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<export-tip @exportHandle="exportData">
|
<export-tip @exportHandle="exportData">
|
||||||
<el-button type="primary" plain> 导出Excel </el-button>
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
>
|
||||||
|
导出
|
||||||
|
</el-button>
|
||||||
</export-tip>
|
</export-tip>
|
||||||
|
|
||||||
<el-upload
|
<el-upload
|
||||||
|
|
@ -49,53 +84,76 @@
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
:show-file-list="false"
|
:show-file-list="false"
|
||||||
>
|
>
|
||||||
<el-button type="primary" plain> 点击上传CRM邀约名单 </el-button>
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
>
|
||||||
|
点击上传
|
||||||
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-tabs v-model="params.status" type="card" @tab-click="onSearch">
|
<el-tabs
|
||||||
|
v-model="params.status"
|
||||||
|
type="card"
|
||||||
|
@tab-click="onSearch"
|
||||||
|
>
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
v-for="(item, index) in tabList"
|
v-for="(item, index) in tabList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:name="item.name"
|
:name="item.name"
|
||||||
>
|
>
|
||||||
<el-table v-loading="loading" border :data="tableList" element-loading-text="数据加载中">
|
<el-table
|
||||||
<el-table-column prop="record_id" label="报名编号" width="80" />
|
v-loading="loading"
|
||||||
<el-table-column prop="mobile" label="手机号" />
|
border
|
||||||
<el-table-column prop="create_date" label="申请时间" />
|
:data="tableList"
|
||||||
<el-table-column prop="status" label="状态">
|
element-loading-text="数据加载中"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
prop="record_id"
|
||||||
|
label="报名编号"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="mobile"
|
||||||
|
label="手机号"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="create_date"
|
||||||
|
label="申请时间"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="status"
|
||||||
|
label="状态"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.status == 'pending'" type="warning" size="mini">
|
<el-tag
|
||||||
|
v-if="scope.row.status == 'pending'"
|
||||||
|
type="warning"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
待审核
|
待审核
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag
|
<el-tag
|
||||||
v-if="scope.row.status == 'passed' && scope.row.is_write_off == '0'"
|
v-if="scope.row.status == 'passed'"
|
||||||
type="success"
|
type="success"
|
||||||
size="mini"
|
size="mini"
|
||||||
>
|
>
|
||||||
已通过
|
已通过
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag
|
<el-tag
|
||||||
v-if="scope.row.status == 'passed' && scope.row.is_write_off == '1'"
|
v-if="scope.row.status == 'rejected'"
|
||||||
type="primary"
|
type="danger"
|
||||||
size="mini"
|
size="mini"
|
||||||
>
|
>
|
||||||
已签到
|
|
||||||
</el-tag>
|
|
||||||
<el-tag v-if="scope.row.status == 'rejected'" type="danger" size="mini">
|
|
||||||
已拒绝
|
已拒绝
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="status" width="120" label="是否CRM邀约">
|
<el-table-column
|
||||||
<template slot-scope="scope">
|
prop="status"
|
||||||
<el-tag v-if="scope.row.is_crm != 1" type="warning" size="mini"> 否 </el-tag>
|
label="操作"
|
||||||
<el-tag v-if="scope.row.is_crm == 1" type="success" size="mini"> 是 </el-tag>
|
>
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="is_write_off_date_format" label="签到时间" />
|
|
||||||
<el-table-column prop="status" label="操作">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link
|
||||||
v-if="scope.row.status == 'pending'"
|
v-if="scope.row.status == 'pending'"
|
||||||
|
|
@ -151,9 +209,9 @@ export default {
|
||||||
},
|
},
|
||||||
tabList: [
|
tabList: [
|
||||||
{ label: '全部', name: 'all' },
|
{ label: '全部', name: 'all' },
|
||||||
{ label: '待审核', name: 'pending' }
|
{ label: '待审核', name: 'pending' },
|
||||||
// { label: '已通过', name: 'passed' },
|
{ label: '已通过', name: 'passed' },
|
||||||
// { label: '已拒绝', name: 'rejected' }
|
{ label: '已拒绝', name: 'rejected' }
|
||||||
],
|
],
|
||||||
activityParams: {
|
activityParams: {
|
||||||
page: 1,
|
page: 1,
|
||||||
|
|
@ -164,11 +222,6 @@ export default {
|
||||||
activity_options: []
|
activity_options: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeRouteUpdate(to, from, next) {
|
|
||||||
// 当路由变化时,重新获取数据
|
|
||||||
this.fetchList()
|
|
||||||
next()
|
|
||||||
},
|
|
||||||
mounted () {
|
mounted () {
|
||||||
if (this.$route.query.id) {
|
if (this.$route.query.id) {
|
||||||
this.params.record_id = this.$route.query.id
|
this.params.record_id = this.$route.query.id
|
||||||
|
|
@ -257,22 +310,13 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
uploadHandleChange (file, fileList) {
|
uploadHandleChange (file, fileList) {
|
||||||
let params = {
|
let params = { isUploadFile: true, file_type: 'selform_registration_record', file: file.raw }
|
||||||
isUploadFile: true,
|
|
||||||
file_type: 'selform_registration_crm_match',
|
|
||||||
should_queue: 0,
|
|
||||||
file: file.raw
|
|
||||||
}
|
|
||||||
handleUploadFile(params).then((response) => {
|
handleUploadFile(params).then((response) => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '上传成功,等待处理,请稍后手动刷新列表查看。',
|
message: '上传成功,等待处理'
|
||||||
duration: 3000
|
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
this.$router.push({ path: this.matchHidePage('editor') })
|
||||||
this.fetchList()
|
|
||||||
}, 1500)
|
|
||||||
// this.$router.push({ path: this.matchHidePage('editor') })
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
editorLog () {
|
editorLog () {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="section section-white">
|
<div class="section section-white">
|
||||||
<div class="section-header with-border">报名详情及审核</div>
|
<div class="section-header with-border">
|
||||||
|
报名详情及审核
|
||||||
|
</div>
|
||||||
<div class="section-body">
|
<div class="section-body">
|
||||||
<el-form
|
<el-form
|
||||||
ref="recorddata"
|
ref="recorddata"
|
||||||
|
|
@ -12,45 +14,85 @@
|
||||||
<el-form-item label="活动名称">
|
<el-form-item label="活动名称">
|
||||||
{{ recorddata.activity_name }}
|
{{ recorddata.activity_name }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动有效时间" prop="activity_time">
|
<el-form-item
|
||||||
|
label="活动有效时间"
|
||||||
|
prop="activity_time"
|
||||||
|
>
|
||||||
{{ recorddata.start_date }} ~ {{ recorddata.end_date }}
|
{{ recorddata.start_date }} ~ {{ recorddata.end_date }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审核结果" prop="status">
|
<el-form-item
|
||||||
<el-tag v-if="recorddata.status == 'pending'" type="warning" size="mini"> 待审核 </el-tag>
|
label="审核结果"
|
||||||
<el-tag v-if="recorddata.status == 'passed'" type="success" size="mini"> 已通过 </el-tag>
|
prop="status"
|
||||||
<el-tag v-if="recorddata.status == 'rejected'" type="danger" size="mini"> 已拒绝 </el-tag>
|
>
|
||||||
|
<el-tag
|
||||||
|
v-if="recorddata.status == 'pending'"
|
||||||
|
type="warning"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
|
待审核
|
||||||
|
</el-tag>
|
||||||
|
<el-tag
|
||||||
|
v-if="recorddata.status == 'passed'"
|
||||||
|
type="success"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
|
已通过
|
||||||
|
</el-tag>
|
||||||
|
<el-tag
|
||||||
|
v-if="recorddata.status == 'rejected'"
|
||||||
|
type="danger"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
|
已拒绝
|
||||||
|
</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="recorddata.status == 'passed'" label="签到状态" prop="is_write_off">
|
<el-form-item label="报名问卷">
|
||||||
<el-tag v-if="recorddata.is_write_off == '0'" type="warning" size="mini"> 待签到 </el-tag>
|
<el-card
|
||||||
<el-tag v-if="recorddata.is_write_off == '1'" type="success" size="mini"> 已签到 </el-tag>
|
v-for="(item, index) in recorddata.content"
|
||||||
</el-form-item>
|
:key="index"
|
||||||
<el-form-item label="签到时间" prop="is_write_off_date">
|
class="box-card"
|
||||||
{{ toTimeDate(recorddata.is_write_off_date) }}
|
>
|
||||||
</el-form-item>
|
<div
|
||||||
<el-form-item label="报名表单">
|
slot="header"
|
||||||
<el-card v-for="(item, index) in recorddata.content" :key="index" class="box-card">
|
class="clearfix"
|
||||||
<div slot="header" class="clearfix">
|
>
|
||||||
<span>{{ item.title }}</span>
|
<span>{{ item.title }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(item, key) in item.formdata" :key="key" class="text item">
|
<div
|
||||||
|
v-for="(item, key) in item.formdata"
|
||||||
|
:key="key"
|
||||||
|
class="text item"
|
||||||
|
>
|
||||||
{{ item.field_title }}: {{ item.answer }}
|
{{ item.field_title }}: {{ item.answer }}
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="recorddata.status == 'pending'" label="是否同意">
|
<el-form-item
|
||||||
|
v-if="recorddata.status == 'pending'"
|
||||||
|
label="是否同意"
|
||||||
|
>
|
||||||
<el-switch v-model="form.status" />
|
<el-switch v-model="form.status" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.status === false && recorddata.status == 'pending'"
|
v-if="form.status === false && recorddata.status == 'pending'"
|
||||||
label="拒绝原因"
|
label="拒绝原因"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.reason" type="textarea" />
|
<el-input
|
||||||
|
v-model="form.reason"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="recorddata.status == 'pending'" type="primary" @click="submitAction">
|
<el-button
|
||||||
|
v-if="recorddata.status == 'pending'"
|
||||||
|
type="primary"
|
||||||
|
@click="submitAction"
|
||||||
|
>
|
||||||
提交审核
|
提交审核
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="handleCancel"> 取消 </el-button>
|
<el-button @click="handleCancel">
|
||||||
|
取消
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -59,7 +101,6 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Message } from 'element-ui'
|
import { Message } from 'element-ui'
|
||||||
import dayjs from 'dayjs'
|
|
||||||
import { regActivityRecordinfo, registrationReview } from '@/api/selfhelpform'
|
import { regActivityRecordinfo, registrationReview } from '@/api/selfhelpform'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -85,9 +126,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toTimeDate(time) {
|
|
||||||
return time ? dayjs(time * 1000).format('YYYY-MM-DD HH:mm:ss') : ''
|
|
||||||
},
|
|
||||||
submitAction () {
|
submitAction () {
|
||||||
const that = this
|
const that = this
|
||||||
registrationReview(that.form).then((res) => {
|
registrationReview(that.form).then((res) => {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ module.exports = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
configureWebpack: config => {
|
configureWebpack: config => {
|
||||||
if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'slb') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
config.devtool = 'eval-source-map'
|
config.devtool = 'eval-source-map'
|
||||||
}
|
}
|
||||||
if (process.env.VUE_APP_OSS_CDN == 'true') {
|
if (process.env.VUE_APP_OSS_CDN == 'true') {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue