| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454 |
- <template>
- <el-dialog
- :title="!dataForm.id ? this.$i18n.t('sysManagement.add') : this.$i18n.t('sysManagement.modify')"
- :close-on-click-modal="false"
- top="10vh"
- :visible.sync="visible"
- class="el-dialog-body"
- >
- <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
- label-width="142px">
- <!--后台相关配置-->
- <span v-if="this.dataForm.configType === 1 || this.dataForm.configType === 4">
- <el-form-item :label="this.$i18n.t('webInfoConfig.loginLogo')" prop="bsLoginLogoImg">
- <imgs-upload v-model="dataForm.bsLoginLogoImg" :limit="1" :size="'380*96'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.loginBg')" prop="bsLoginBgImg">
- <imgs-upload v-model="dataForm.bsLoginBgImg" :limit="1" :size="'1920*940'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsCopyright')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="bsCopyrightCn">
- <el-input v-model="dataForm.bsCopyrightCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsCopyright')+'-'+this.$i18n.t('webInfoConfig.english')" prop="bsCopyrightEn">
- <el-input v-model="dataForm.bsCopyrightEn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsTitleContent')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="bsTitleContentCn">
- <el-input v-model="dataForm.bsTitleContentCn" maxlength="15" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsTitleContent')+'-'+this.$i18n.t('webInfoConfig.english')" prop="bsTitleContentEn">
- <el-input v-model="dataForm.bsTitleContentEn" maxlength="20" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcTitleImg')" prop="bsTitleImg">
- <imgs-upload v-model="dataForm.bsTitleImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.TopIcon')" prop="bsTopBarIcon">
- <imgs-upload v-model="dataForm.bsTopBarIcon" :limit="1" :size="'160*48'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsMenuTitleOpen')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="bsMenuTitleOpenCn">
- <el-input v-model="dataForm.bsMenuTitleOpenCn" maxlength="15" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsMenuTitleOpen')+'-'+this.$i18n.t('webInfoConfig.english')" prop="bsMenuTitleOpenEn">
- <el-input v-model="dataForm.bsMenuTitleOpenEn" maxlength="20" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsMenuTitleClose')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="bsMenuTitleCloseCn">
- <el-input v-model="dataForm.bsMenuTitleCloseCn" maxlength="6" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsMenuTitleClose')+'-'+this.$i18n.t('webInfoConfig.english')" prop="bsMenuTitleCloseEn">
- <el-input v-model="dataForm.bsMenuTitleCloseEn" maxlength="6" size="small" show-word-limit></el-input>
- </el-form-item>
- <el-form-item label="关联店铺" prop="shopId">
- <el-select v-model="dataForm.shopId" placeholder="请选择" controls-position="right">
- <el-option v-for="item in shopList" :key="item.shopId" :label="item.shopName" :value="item.shopId">
- </el-option>
- </el-select>
- <!-- <el-input v-model="dataForm.shopId" size="small"></el-input> -->
- </el-form-item>
- </span>
- <!--PC端相关配置-->
- <span v-if="this.dataForm.configType === 2">
- <el-form-item :label="this.$i18n.t('webInfoConfig.logo')" prop="pcLogoImg">
- <imgs-upload v-model="dataForm.pcLogoImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.loginBg')" prop="pcLoginBgImg">
- <imgs-upload v-model="dataForm.pcLoginBgImg" :limit="1" :size="'1920*600'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsCopyright')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="pcCopyrightCn">
- <el-input v-model="dataForm.pcCopyrightCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.bsCopyright')+'-'+this.$i18n.t('webInfoConfig.english')" prop="pcCopyrightEn">
- <el-input v-model="dataForm.pcCopyrightEn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcQrcodeImg')" prop="pcQrcodeImg">
- <imgs-upload v-model="dataForm.pcQrcodeImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcCompanyName')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="pcCompanyNameCn">
- <el-input v-model="dataForm.pcCompanyNameCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcCompanyName')+'-'+this.$i18n.t('webInfoConfig.english')" prop="pcCompanyNameEn">
- <el-input v-model="dataForm.pcCompanyNameEn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcCompanyInfo')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="pcCompanyInfoCn">
- <el-input type="textarea" v-model="dataForm.pcCompanyInfoCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcCompanyInfo')+'-'+this.$i18n.t('webInfoConfig.english')" prop="pcCompanyInfoEn">
- <el-input type="textarea" v-model="dataForm.pcCompanyInfoEn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcTitleContent')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="pcTitleContentCn">
- <el-input v-model="dataForm.pcTitleContentCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcTitleContent')+'-'+this.$i18n.t('webInfoConfig.english')" prop="pcTitleContentEn">
- <el-input v-model="dataForm.pcTitleContentEn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcTitleImg')" prop="pcTitleImg">
- <imgs-upload v-model="dataForm.pcTitleImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- <!-- <el-form-item label="公司简写名称-中文" prop="pcCompanyNameShortCn">-->
- <!-- <el-input v-model="dataForm.pcCompanyNameShortCn"></el-input>-->
- <!-- </el-form-item>-->
- <!-- <el-form-item label="公司简写名称-英文" prop="pcCompanyNameShortEn">-->
- <!-- <el-input v-model="dataForm.pcCompanyNameShortEn"></el-input>-->
- <!-- </el-form-item>-->
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcLogoImgText')" prop="pcLogoImgText">
- <imgs-upload v-model="dataForm.pcLogoImgText" :limit="1" :size="'380*96'" />
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcWelcome')+'-'+this.$i18n.t('webInfoConfig.chinese')" prop="pcWelcomeCn">
- <el-input v-model="dataForm.pcWelcomeCn" size="small"></el-input>
- </el-form-item>
- <el-form-item :label="this.$i18n.t('webInfoConfig.pcWelcome')+'-'+this.$i18n.t('webInfoConfig.english')" prop="pcWelcomeEn">
- <el-input v-model="dataForm.pcWelcomeEn" size="small"></el-input>
- </el-form-item>
- </span>
- <!--H5端相关配置-->
- <span v-if="this.dataForm.configType === 3">
- <el-form-item :label="this.$i18n.t('webInfoConfig.loginLogo')" prop="uniLoginLogoImg">
- <imgs-upload v-model="dataForm.uniLoginLogoImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- </span>
- <!--自提点端相关配置-->
- <span v-if="this.dataForm.configType === 5">
- <el-form-item :label="this.$i18n.t('webInfoConfig.loginLogo')" prop="stationLoginLogoImg">
- <imgs-upload v-model="dataForm.stationLoginLogoImg" :limit="1" :size="'100*100'" />
- </el-form-item>
- </span>
- <el-form-item :label="this.$i18n.t('webInfoConfig.activationStatus')" prop="isActivity">
- <el-radio-group v-model="dataForm.isActivity">
- <el-radio :label="0">{{$i18n.t('webInfoConfig.close')}}</el-radio>
- <el-radio :label="1">{{$i18n.t('webInfoConfig.open')}}</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-form>
- <span slot="footer">
- <div class="default-btn" @click="visible = false">{{$i18n.t('webInfoConfig.cancellation')}}</div>
- <div class="default-btn primary-btn" @click="dataFormSubmit()">{{$i18n.t('webInfoConfig.determine')}}</div>
- <!-- <el-button @click="visible = false">{{$i18n.t('webInfoConfig.cancellation')}}</el-button>
- <el-button type="primary" @click="dataFormSubmit()">{{$i18n.t('webInfoConfig.determine')}}</el-button> -->
- </span>
- </el-dialog>
- </template>
- <script>
- import ImgsUpload from '@/components/imgs-upload'
- export default {
- data () {
- return {
- visible: false,
- dataForm: {
- shopId: null,
- id: null,
- configType: null, // 配置类型(1:后台 2:PC端 3:h5端)
- isActivity: 0,
- bsLoginLogoImg: null,
- bsLoginBgImg: null,
- bsCopyrightCn: null,
- bsCopyrightEn: null,
- bsTitleContentCn: null,
- bsTitleContentEn: null,
- bsTitleImg: null,
- bsTopBarIcon: null,
- bsMenuTitleOpenCn: null,
- bsMenuTitleOpenEn: null,
- bsMenuTitleCloseCn: null,
- bsMenuTitleCloseEn: null,
- pcLogoImg: null,
- pcCopyrightCn: null,
- pcCopyrightEn: null,
- pcQrcodeImg: null,
- pcCompanyNameCn: null,
- pcCompanyNameEn: null,
- pcCompanyInfoCn: null,
- pcCompanyInfoEn: null,
- pcTitleContentCn: null,
- pcTitleContentEn: null,
- pcTitleImg: null,
- pcCompanyNameShortCn: null,
- pcCompanyNameShortEn: null,
- pcLogoImgText: null,
- pcWelcomeCn: null,
- pcWelcomeEn: null,
- pcLoginBgImg: null,
- uniLoginLogoImg: null,
- stationLoginLogoImg: null
- },
- dataRule: {}
- }
- },
- components: {
- ImgsUpload
- },
- mounted() {
- this.getShopList()
- },
- methods: {
- getShopList() {
- this.$http({
- url: this.$http.adornUrl('/shop/shopAuditing/list'),
- method: 'get',
- }).then(({ data }) => {
- if (data) {
- this.shopList = data
- }
- })
- },
- init (configType, id) {
- this.dataForm.id = id || 0
- this.dataForm.configType = configType
- this.visible = true
- this.$nextTick(() => {
- this.$refs['dataForm'].resetFields()
- if (this.dataForm.id) {
- this.$http({
- url: this.$http.adornUrl('/sys/webConfig/info/' + this.dataForm.id),
- method: 'get',
- params: this.$http.adornParams()
- }).then(({data}) => {
- this.dataForm = data
- })
- }
- })
- },
- // 表单提交
- dataFormSubmit () {
- this.$refs['dataForm'].validate((valid) => {
- if (!valid) {
- return
- }
- // 后台配置判断
- if (this.dataForm.configType === 1 || this.dataForm.configType === 4) {
- if (!this.dataForm.shopId && this.dataForm.shopId !== 0) {
- this.errorMsg('请选择关联店铺')
- return
- }
- if (!this.dataForm.bsLoginLogoImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.loginLogo') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.bsLoginBgImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.loginBg') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.bsCopyrightCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsCopyright') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.bsCopyrightEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.bsCopyright') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.bsTitleContentCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsTitleContent') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.bsTitleContentEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.bsTitleContent') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.bsTitleImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsTitleImg') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // TopIcon
- if (!this.dataForm.bsTopBarIcon) {
- this.errorMsg(this.$i18n.t('webInfoConfig.TopIcon') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.bsMenuTitleOpenCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsMenuTitleOpen') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.bsMenuTitleOpenEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.bsMenuTitleOpen') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.bsMenuTitleCloseCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsMenuTitleClose') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.bsMenuTitleCloseEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.bsMenuTitleClose') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- }
- // pc端配置判断
- if (this.dataForm.configType === 2) {
- if (!this.dataForm.pcLogoImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.logo') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.pcLoginBgImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.loginBg') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.pcCopyrightCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsCopyright') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.pcCopyrightEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.bsCopyright') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.pcQrcodeImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcQrcodeImg') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.pcCompanyNameCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcCompanyName') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.pcCompanyNameEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.pcCompanyName') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.pcCompanyInfoCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcCompanyInfo') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.pcCompanyInfoEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.pcCompanyInfo') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.pcTitleContentCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcTitleContent') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.pcTitleContentEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.pcTitleContent') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- if (!this.dataForm.pcTitleImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.bsTitleImg') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.pcLogoImgText) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcLogoImgText') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- if (!this.dataForm.pcWelcomeCn) {
- this.errorMsg(this.$i18n.t('webInfoConfig.pcWelcome') + '-' + this.$i18n.t('webInfoConfig.chinese') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- // if (!this.dataForm.pcWelcomeEn) {
- // this.errorMsg(this.$i18n.t('webInfoConfig.pcWelcome') + '-' + this.$i18n.t('webInfoConfig.english') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- // return
- // }
- }
- // h5端配置判断
- if (this.dataForm.configType === 3) {
- if (!this.dataForm.uniLoginLogoImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.loginLogo') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- }
- // 自提点端配置判断
- if (this.dataForm.configType === 5) {
- if (!this.dataForm.stationLoginLogoImg) {
- this.errorMsg(this.$i18n.t('webInfoConfig.loginLogo') + this.$i18n.t('webInfoConfig.canNotBeEmpty'))
- return
- }
- }
- this.$http({
- url: this.$http.adornUrl('/sys/webConfig/operate'),
- method: this.dataForm.id ? 'put' : 'post',
- data: this.$http.adornData(this.dataForm)
- }).then(({data}) => {
- this.$message({
- message: this.$i18n.t('remindPop.success'),
- type: 'success',
- duration: 1000,
- customClass: 'zZindex',
- onClose: () => {
- this.visible = false
- this.$emit('refreshDataList')
- }
- })
- this.updateWebConfigData()
- })
- })
- },
- errorMsg (message) {
- this.$message({
- message: message,
- type: 'error',
- duration: 1000,
- customClass: 'zZindex'
- })
- },
- // 更新网站配置信息
- updateWebConfigData () {
- if (this.dataForm.configType !== 1) {
- return false
- }
- this.$http({
- url: this.$http.adornUrl('/sys/webConfig/getActivity'),
- method: 'get'
- }).then(({data}) => {
- this.$store.commit('webConfig/addData', data)
- })
- }
- }
- }
- </script>
- <style scoped>
- /* .el-dialog-body .el-dialog__header{
- border-bottom: 1px solid #c0ccda;
- }
- .el-dialog-body .el-dialog__body {
- height: 650px;
- overflow-y: auto;
- }
- .el-dialog-body .el-dialog__footer{
- border-top: 1px solid #c0ccda;
- }
- .zZindex{
- z-index: 9999 !important;
- } */
- </style>
|