fix(global):国际化替换失败问题处理

This commit is contained in:
ywk 2025-04-07 13:36:35 +08:00
parent 6ae1af0c7a
commit e9f3959f80
4 changed files with 1645 additions and 1303 deletions

File diff suppressed because it is too large Load Diff

View File

@ -7,37 +7,49 @@
<template> <template>
<div class="page"> <div class="page">
<div class="topbox"> <div class="topbox">
<div class="levelList_i" <div
:class="tabActive == item.id ? 'act' : ''"
v-for="(item, index) in topList" v-for="(item, index) in topList"
:key="index" :key="index"
@click.prevent="handleLink(item.id)"> class="levelList_i"
:class="tabActive == item.id ? 'act' : ''"
@click.prevent="handleLink(item.id)"
>
{{ item.name }} {{ item.name }}
</div> </div>
</div> </div>
<div class="main"> <div class="main">
<div class="contain"> <div class="contain">
<el-form ref="form" <el-form
ref="form"
:rules="rules" :rules="rules"
:model="form" :model="form"
label-width="80px"> label-width="80px"
>
<div v-show="tabActive==0"> <div v-show="tabActive==0">
<el-col class="el-col-40"> <el-col class="el-col-40">
<el-form-item :label="'产品名称'" <el-form-item
prop="productName"> :label="'产品名称'"
<el-input clearable prop="productName"
>
<el-input
v-model="form.productName" v-model="form.productName"
clearable
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"></el-input> :placeholder="'请输入'"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'产品编号'" <el-form-item
prop="productCode"> :label="'产品编号'"
<el-input clearable prop="productCode"
>
<el-input
v-model="form.productCode" v-model="form.productCode"
clearable
disabled disabled
:placeholder="'请输入'"></el-input> :placeholder="'请输入'"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col class="el-col-20"> <!-- <el-col class="el-col-20">
@ -63,41 +75,59 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item label="保质期" <el-form-item
prop="shelfLife"> label="保质期"
<el-input clearable prop="shelfLife"
oninput="value=value.replace(/[^\d]/g,'')" >
<el-input
v-model="form.shelfLife" v-model="form.shelfLife"
clearable
oninput="value=value.replace(/[^\d]/g,'')"
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"> :placeholder="'请输入'"
<i slot="suffix" >
class="neibu">{{'天'}} </i> <i
slot="suffix"
class="neibu"
>{{ '天' }} </i>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label=''单位'' <el-form-item
prop="unit"> label="单位"
<el-select clearable prop="unit"
>
<el-select
v-model="form.unit" v-model="form.unit"
:disabled="methods"> clearable
<el-option v-for="item in dwList" :disabled="methods"
>
<el-option
v-for="item in dwList"
:key="item.pkId" :key="item.pkId"
:label="item.name" :label="item.name"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'重量'" <el-form-item
prop="weight"> :label="'重量'"
<el-input clearable prop="weight"
oninput="value=value.replace(/[^\d.]/g,'')" >
<el-input
v-model="form.weight" v-model="form.weight"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"> :placeholder="'请输入'"
<i slot="suffix" >
class="neibu">KG </i> <i
slot="suffix"
class="neibu"
>KG </i>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -128,15 +158,21 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'所属分类'" <el-form-item
prop="pkClassify"> :label="'所属分类'"
<el-select clearable prop="pkClassify"
>
<el-select
v-model="form.pkClassify" v-model="form.pkClassify"
:disabled="methods"> clearable
<el-option v-for="item in classifyList" :disabled="methods"
>
<el-option
v-for="item in classifyList"
:key="item.pkId" :key="item.pkId"
:label="item.name" :label="item.name"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -152,41 +188,59 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'长'" <el-form-item
prop="length"> :label="'长'"
<el-input clearable prop="length"
oninput="value=value.replace(/[^\d.]/g,'')" >
<el-input
v-model="form.length" v-model="form.length"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"> :placeholder="'请输入'"
<i slot="suffix" >
class="neibu">CM </i> <i
slot="suffix"
class="neibu"
>CM </i>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'宽'" <el-form-item
prop="width"> :label="'宽'"
<el-input clearable prop="width"
oninput="value=value.replace(/[^\d.]/g,'')" >
<el-input
v-model="form.width" v-model="form.width"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"> :placeholder="'请输入'"
<i slot="suffix" >
class="neibu">CM </i> <i
slot="suffix"
class="neibu"
>CM </i>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="el-col-20"> <el-col class="el-col-20">
<el-form-item :label="'高'" <el-form-item
prop="height"> :label="'高'"
<el-input clearable prop="height"
oninput="value=value.replace(/[^\d.]/g,'')" >
<el-input
v-model="form.height" v-model="form.height"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
:disabled="methods" :disabled="methods"
:placeholder="'请输入'"> :placeholder="'请输入'"
<i slot="suffix" >
class="neibu">CM </i> <i
slot="suffix"
class="neibu"
>CM </i>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -202,9 +256,12 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col class="el-col-40"> <el-col class="el-col-40">
<el-form-item :label="'产品主图'" <el-form-item
prop="cover"> :label="'产品主图'"
<el-upload :headers="headers" prop="cover"
>
<el-upload
:headers="headers"
:disabled="methods" :disabled="methods"
:class="{ uploadIconOne: showImg, uploadIcon: noneUploadImg }" :class="{ uploadIconOne: showImg, uploadIcon: noneUploadImg }"
:action="uploadImgUrl" :action="uploadImgUrl"
@ -213,29 +270,36 @@
:on-change="uploadImgChange" :on-change="uploadImgChange"
list-type="picture-card" list-type="picture-card"
:limit="1" :limit="1"
:on-remove="handleRemove"> :on-remove="handleRemove"
<i class="el-icon-plus"></i> >
<i class="el-icon-plus" />
</el-upload> </el-upload>
<div class="jy">建议尺寸452×452大小为200K</div> <div class="jy">建议尺寸452×452大小为200K</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</div> </div>
<div v-show="tabActive==1"> <div v-show="tabActive==1">
<el-form-item :label="'规格'" <el-form-item
prop="pkSpecsType"> :label="'规格'"
<el-tag :key="item.pkId" prop="pkSpecsType"
>
<el-tag
v-for="item,index in ggList" v-for="item,index in ggList"
v-show="item.checked"
:key="item.pkId"
:closable="!methods" :closable="!methods"
class="elTag" class="elTag"
v-show="item.checked"
:disable-transitions="false" :disable-transitions="false"
@close="handleClose(item.pkId)"> @close="handleClose(item.pkId)"
{{item.typeName}} >
{{ item.typeName }}
</el-tag> </el-tag>
<el-button class="button-new-tag" <el-button
v-show="!methods" v-show="!methods"
class="button-new-tag"
size="small" size="small"
@click="openDiag=true">{{'添加'}}</el-button> @click="openDiag=true"
>{{ '添加' }}</el-button>
</el-form-item> </el-form-item>
</div> </div>
<!-- <div v-show="tabActive==2"> <!-- <div v-show="tabActive==2">
@ -332,33 +396,49 @@
</div> --> </div> -->
</el-form> </el-form>
</div> </div>
<div class="footer" <div
v-show="!methods"> v-show="!methods"
<el-button size="small" class="footer"
class="thebtn2"> {{ '取消' }}</el-button> >
<el-button size="small" <el-button
size="small"
class="thebtn2"
> {{ '取消' }}</el-button>
<el-button
v-hasButtons="['productBasicAddSure']" v-hasButtons="['productBasicAddSure']"
size="small"
class="thebtn1"
@click="submit('form')" @click="submit('form')"
class="thebtn1"> {{ '确认' }}</el-button> > {{ '确认' }}</el-button>
</div> </div>
</div> </div>
<el-dialog :title="'添加'" <el-dialog
:title="'添加'"
:visible.sync="openDiag" :visible.sync="openDiag"
:close-on-click-modal="false" :close-on-click-modal="false"
width="30%" width="30%"
center> center
<el-checkbox-group v-model="form.checkList" >
class="check"> <el-checkbox-group
<el-checkbox v-for="item,index in ggList" v-model="form.checkList"
class="check_i" class="check"
>
<el-checkbox
v-for="item,index in ggList"
:key="item.pkId" :key="item.pkId"
:label="item.pkId">{{item.typeName}}</el-checkbox> class="check_i"
:label="item.pkId"
>{{ item.typeName }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<span slot="footer" <span
class="dialog-footer"> slot="footer"
<el-button @click="openDiag = false">{{'取消'}}</el-button> class="dialog-footer"
<el-button type="primary" >
@click="checkTrue">{{'确认'}}</el-button> <el-button @click="openDiag = false">{{ '取消' }}</el-button>
<el-button
type="primary"
@click="checkTrue"
>{{ '确认' }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -368,76 +448,76 @@ import { getToken } from '@/utils/auth'
import * as api from '@/api/product.js' import * as api from '@/api/product.js'
import { productUpdateJxc, productSaveJxc } from '@/api/product.js' import { productUpdateJxc, productSaveJxc } from '@/api/product.js'
export default { export default {
name: 'jcsz', name: 'Jcsz',
data() { data() {
return { return {
rules: { rules: {
shippingChannel: [ shippingChannel: [
{ required: true, message: '请输入发货类型', trigger: 'change' }, { required: true, message: '请输入发货类型', trigger: 'change' }
], ],
unit: [{ required: true, message: '请选择单位', trigger: 'change' }], unit: [{ required: true, message: '请选择单位', trigger: 'change' }],
productName: [ productName: [
{ required: true, message: '请输入产品名称', trigger: 'blur' }, { required: true, message: '请输入产品名称', trigger: 'blur' }
], ],
productCode: [ productCode: [
{ required: true, message: '请输入产品编号', trigger: 'blur' }, { required: true, message: '请输入产品编号', trigger: 'blur' }
], ],
retailPrice: [ retailPrice: [
{ required: true, message: '请输入划线价', trigger: 'blur' }, { required: true, message: '请输入划线价', trigger: 'blur' }
], ],
shelfLife: [ shelfLife: [
{ required: true, message: '请输入保质期', trigger: 'blur' }, { required: true, message: '请输入保质期', trigger: 'blur' }
], ],
weight: [{ required: true, message: '请输入重量', trigger: 'blur' }], weight: [{ required: true, message: '请输入重量', trigger: 'blur' }],
postageWeight: [ postageWeight: [
{ required: true, message: '请输入邮费重量', trigger: 'blur' }, { required: true, message: '请输入邮费重量', trigger: 'blur' }
], ],
productAttr: [ productAttr: [
{ required: true, message: '请选择产品属性', trigger: 'change' }, { required: true, message: '请选择产品属性', trigger: 'change' }
], ],
pkClassify: [ pkClassify: [
{ required: true, message: '请选择所属分类', trigger: 'change' }, { required: true, message: '请选择所属分类', trigger: 'change' }
], ],
sort: [{ required: true, message: '请输入排列序号', trigger: 'blur' }], sort: [{ required: true, message: '请输入排列序号', trigger: 'blur' }],
length: [{ required: true, message: '请输入长', trigger: 'blur' }], length: [{ required: true, message: '请输入长', trigger: 'blur' }],
width: [{ required: true, message: '请输入宽', trigger: 'blur' }], width: [{ required: true, message: '请输入宽', trigger: 'blur' }],
height: [{ required: true, message: '请输入高', trigger: 'blur' }], height: [{ required: true, message: '请输入高', trigger: 'blur' }],
cover: [ cover: [
{ required: true, message: '请上传产品主图', trigger: 'change' }, { required: true, message: '请上传产品主图', trigger: 'change' }
], ],
pkSpecsType: [ pkSpecsType: [
{ required: true, message: '请选择规格', trigger: 'change' }, { required: true, message: '请选择规格', trigger: 'change' }
], ],
isPrize: [ isPrize: [
{ required: true, message: '抽奖礼品', trigger: 'change' }, { required: true, message: '抽奖礼品', trigger: 'change' }
], ],
isGift: [ isGift: [
{ required: true, message: '请选择特惠礼品', trigger: 'change' }, { required: true, message: '请选择特惠礼品', trigger: 'change' }
], ],
isPickUp: [ isPickUp: [
{ required: true, message: '请选择提货商品', trigger: 'change' }, { required: true, message: '请选择提货商品', trigger: 'change' }
], ],
isMerge: [ isMerge: [
{ required: true, message: '请选择合并发货', trigger: 'change' }, { required: true, message: '请选择合并发货', trigger: 'change' }
], ],
isFresh: [ isFresh: [
{ required: true, message: '冷链运输', trigger: 'change' }, { required: true, message: '冷链运输', trigger: 'change' }
], ],
isBarCode: [ isBarCode: [
{ required: true, message: '请选择条码管理', trigger: 'change' }, { required: true, message: '请选择条码管理', trigger: 'change' }
], ],
ysList: [ ysList: [
{ required: true, message: '请选择运输方式', trigger: 'change' }, { required: true, message: '请选择运输方式', trigger: 'change' }
], ]
}, },
ggList: [], ggList: [],
// //
openDiag: false, openDiag: false,
showImg: true, // showImg: true, //
noneUploadImg: false, // noneUploadImg: false, //
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload', uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
headers: { headers: {
Authorization: getToken(), Authorization: getToken()
}, },
form: { form: {
sort: '', sort: '',
@ -451,28 +531,28 @@ export default {
width: '', width: '',
length: '', length: '',
weight: '', weight: '',
shelfLife: '', shelfLife: ''
}, },
tabActive: 0, tabActive: 0,
agreeList: [ agreeList: [
{ {
text: '允许', text: '允许',
val: 0, val: 0
}, },
{ {
text: '禁止', text: '禁止',
val: 1, val: 1
}, }
], ],
topList: [ topList: [
{ {
name: '基础设置', name: '基础设置',
id: 0, id: 0
}, },
{ {
name: '规格明细', name: '规格明细',
id: 1, id: 1
}, }
// { // {
// name: '', // name: '',
// id: 2, // id: 2,
@ -486,12 +566,12 @@ export default {
productId: '', productId: '',
methods: true, methods: true,
wahtMethods: 0, wahtMethods: 0,
repurchaseTypeList: [], repurchaseTypeList: []
} }
}, },
mounted() { mounted() {
this.productId = this.$route.query.id this.productId = this.$route.query.id
this.methods = this.$route.query.methods ? false : true this.methods = !this.$route.query.methods
this.wahtMethods = this.$route.query.methods this.wahtMethods = this.$route.query.methods
// list // list
this.getGg() this.getGg()
@ -531,7 +611,7 @@ export default {
this.$set(this.form, 'ysList', [ this.$set(this.form, 'ysList', [
res.data.isLandTrans == 0 ? 1 : '', res.data.isLandTrans == 0 ? 1 : '',
res.data.isAirTrans == 0 ? 2 : '', res.data.isAirTrans == 0 ? 2 : '',
res.data.isOceanTrans == 0 ? 3 : '', res.data.isOceanTrans == 0 ? 3 : ''
]) ])
// this.form.checkList = this.form.pkSpecsType // this.form.checkList = this.form.pkSpecsType
this.$set(this.form, 'checkList', this.form.pkSpecsType) this.$set(this.form, 'checkList', this.form.pkSpecsType)
@ -651,10 +731,10 @@ export default {
this.$refs[form].validate((valid) => { this.$refs[form].validate((valid) => {
if (valid) { if (valid) {
urlRequir(this.form).then((res) => { urlRequir(this.form).then((res) => {
if(res.code == 200){ if (res.code == 200) {
this.$message({ this.$message({
message: mssg, message: mssg,
type: 'success', type: 'success'
}) })
this.$router.go(-1) this.$router.go(-1)
} }
@ -670,18 +750,18 @@ export default {
}, },
uploadImgChange(file, fileList) { uploadImgChange(file, fileList) {
this.noneUploadImg = fileList.length > 0 this.noneUploadImg = fileList.length > 0
this.$refs.form.clearValidate('cover'); this.$refs.form.clearValidate('cover')
}, },
// //
handlePictureSuccess(res, file) { handlePictureSuccess(res, file) {
this.form.cover = res.data.url this.form.cover = res.data.url
}, },
// //
handleRemove(file, fileList) { handleRemove(file, fileList) {
this.form.cover = '' this.form.cover = ''
this.noneUploadImg = fileList.length > 0 this.noneUploadImg = fileList.length > 0
}, }
}, }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

File diff suppressed because it is too large Load Diff

View File

@ -7,123 +7,165 @@
<template> <template>
<div class="page"> <div class="page">
<div class="main"> <div class="main">
<el-form ref="select" <el-form
ref="select"
:model="select" :model="select"
class="form_all" class="form_all"
label-width="auto"> label-width="auto"
>
<el-row :gutter="10"> <el-row :gutter="10">
<!-- 一层 --> <!-- 一层 -->
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'产品名称'"> <el-form-item :label="'产品名称'">
<el-input clearable <el-input
v-model="select.productName"></el-input> v-model="select.productName"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'产品编码'"> <el-form-item :label="'产品编码'">
<el-input clearable <el-input
v-model="select.productCode"></el-input> v-model="select.productCode"
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'请选择产品属性'"> <el-form-item :label="'请选择产品属性'">
<el-select clearable <el-select
v-model="select.productAttr"> v-model="select.productAttr"
<el-option v-for="item in productTypeList" clearable
>
<el-option
v-for="item in productTypeList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"></el-option> :value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'所属分类'"> <el-form-item :label="'所属分类'">
<el-select clearable <el-select
v-model="select.pkClassify"> v-model="select.pkClassify"
<el-option v-for="item in classifyList" clearable
>
<el-option
v-for="item in classifyList"
:key="item.pkId" :key="item.pkId"
:label="item.name" :label="item.name"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'发货类型'"> <el-form-item :label="'发货类型'">
<el-select clearable <el-select
v-model="select.shippingChannel"> v-model="select.shippingChannel"
<el-option v-for="item in fhTypeList" clearable
>
<el-option
v-for="item in fhTypeList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"></el-option> :value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label=''单位''> <el-form-item label="单位">
<el-select clearable <el-select
v-model="select.unit"> v-model="select.unit"
<el-option v-for="item in dwList" clearable
>
<el-option
v-for="item in dwList"
:key="item.pkId" :key="item.pkId"
:label="item.name" :label="item.name"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 二层 --> <!-- 二层 -->
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'特惠礼品'"> <el-form-item :label="'特惠礼品'">
<el-select clearable <el-select
v-model="select.isGift"> v-model="select.isGift"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'提货商品'"> <el-form-item :label="'提货商品'">
<el-select clearable <el-select
v-model="select.isPickUp"> v-model="select.isPickUp"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'抽奖礼品'"> <el-form-item :label="'抽奖礼品'">
<el-select clearable <el-select
v-model="select.isPrize"> v-model="select.isPrize"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'合并发货'"> <el-form-item :label="'合并发货'">
<el-select clearable <el-select
v-model="select.isMerge"> v-model="select.isMerge"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'追溯编号'"> <el-form-item :label="'追溯编号'">
<el-select clearable <el-select
v-model="select.isBarCode"> v-model="select.isBarCode"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -132,260 +174,335 @@
<div v-show="isActive"> <div v-show="isActive">
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'冷链运输'"> <el-form-item :label="'冷链运输'">
<el-select clearable <el-select
v-model="select.isFresh"> v-model="select.isFresh"
<el-option v-for="item in agreeList" clearable
>
<el-option
v-for="item in agreeList"
:key="item.val" :key="item.val"
:label="item.text" :label="item.text"
:value="item.val"></el-option> :value="item.val"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'运输方式'"> <el-form-item :label="'运输方式'">
<el-select clearable <el-select
v-model="select.shippingType"> v-model="select.shippingType"
<el-option v-for="item in transportTypeList" clearable
>
<el-option
v-for="item in transportTypeList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"></el-option> :value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'创建日期'"> <el-form-item :label="'创建日期'">
<el-date-picker v-model="creationTime" <el-date-picker
@change="changeTime" v-model="creationTime"
value-format="yyyy-MM-dd hh:mm:ss" value-format="yyyy-MM-dd hh:mm:ss"
type="datetimerange" type="datetimerange"
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"> :end-placeholder="'结束日期'"
</el-date-picker> @change="changeTime"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</div> </div>
</el-collapse-transition> </el-collapse-transition>
<el-col :span="4" <el-col
style="margin-left:20px"> :span="4"
<el-button type="primary" style="margin-left:20px"
@click="getDataList"> {{ '搜索' }}</el-button> >
<el-button type="primary" <el-button
@click="reset"> {{ '重置' }}</el-button> type="primary"
@click="getDataList"
> {{ '搜索' }}</el-button>
<el-button
type="primary"
@click="reset"
> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="openClose" <div
@click="changeActive"> class="openClose"
<i :class="isActive?'el-icon-arrow-up':'el-icon-arrow-down'"></i> @click="changeActive"
<div>{{isActive?'点击收起':'点击展开'}}</div> >
<i :class="isActive?'el-icon-arrow-up':'el-icon-arrow-down'" />
<div>{{ isActive?'点击收起':'点击展开' }}</div>
</div> </div>
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button size="small" <el-button
v-hasButtons="['ProductListAdd']" v-hasButtons="['ProductListAdd']"
size="small"
class="thebtn1"
@click="openDig" @click="openDig"
class="thebtn1">{{'添加'}}</el-button> >{{ '添加' }}</el-button>
<el-button size="small" <el-button
v-hasButtons="['ProductListExport']" v-hasButtons="['ProductListExport']"
class="thebtn2"> {{ '导出' }}</el-button> size="small"
<el-button size="small" class="thebtn2"
:disabled="isCopy" > {{ '导出' }}</el-button>
@click="toCopy" <el-button
v-hasButtons="['ProductListCopy']" v-hasButtons="['ProductListCopy']"
class="thebtn3">{{'复制'}}</el-button> size="small"
:disabled="isCopy"
class="thebtn3"
@click="toCopy"
>{{ '复制' }}</el-button>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table :data="tableData" <el-table
v-loading="loading" v-loading="loading"
:data="tableData"
style="width: 100%" style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange"
<el-table-column type="selection" >
width="55"> </el-table-column> <el-table-column
<el-table-column align="center" type="selection"
width="55"
/>
<el-table-column
align="center"
prop="sort" prop="sort"
sortable sortable
:label="'排序'"> :label="'排序'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="cover" prop="cover"
:label="'产品主图'"> :label="'产品主图'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<img class="bgImg" <img
class="bgImg"
:src="scope.row.cover" :src="scope.row.cover"
alt="" /> alt=""
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="productName" prop="productName"
:label="'产品名称'"> :label="'产品名称'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="classifyName" prop="classifyName"
:label="'所属分类'"> :label="'所属分类'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="productCode" prop="productCode"
:label="'产品编码'"> :label="'产品编码'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="shippingChannelVal" prop="shippingChannelVal"
:label="'发货类型'"> :label="'发货类型'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="length" prop="length"
:label="'长'+'(CM)'"> :label="'长'+'(CM)'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="width" prop="width"
:label="'宽'+'(CM)'"> :label="'宽'+'(CM)'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="height" prop="height"
:label="'高'+'(CM)'"> :label="'高'+'(CM)'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="weight" prop="weight"
:label="'重量'+'KG'"> :label="'重量'+'KG'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="postageWeight" prop="postageWeight"
:label="'邮费重量'+'KG'"> :label="'邮费重量'+'KG'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="unitVal" prop="unitVal"
:label=''单位''> :label=""
</el-table-column> 单位''
<el-table-column align="center" />
<el-table-column
align="center"
prop="productAttrName" prop="productAttrName"
:label="'请选择产品属性'"> :label="'请选择产品属性'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="retailPrice" prop="retailPrice"
:label="'划线价'"> :label="'划线价'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="shelfLife" prop="shelfLife"
:label="'保质期(天)'"> :label="'保质期(天)'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="productSpecType" prop="productSpecType"
:label="'产品规格'"> :label="'产品规格'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="isGift" prop="isGift"
:label="'特惠礼品'"> :label="'特惠礼品'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isGift ? 'isRed' : 'isGreen'"> <div :class="scope.row.isGift ? 'isRed' : 'isGreen'">
{{ scope.row.isGift | isAgree(that) }} {{ scope.row.isGift | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="isPickUp" prop="isPickUp"
:label="'提货商品'"> :label="'提货商品'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isPickUp ? 'isRed' : 'isGreen'"> <div :class="scope.row.isPickUp ? 'isRed' : 'isGreen'">
{{ scope.row.isPickUp | isAgree(that) }} {{ scope.row.isPickUp | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="isPrize" prop="isPrize"
:label="'抽奖礼品'"> :label="'抽奖礼品'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isPrize ? 'isRed' : 'isGreen'"> <div :class="scope.row.isPrize ? 'isRed' : 'isGreen'">
{{ scope.row.isPrize | isAgree(that) }} {{ scope.row.isPrize | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="isBarCode" prop="isBarCode"
:label="'追溯编号'"> :label="'追溯编号'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isBarCode ? 'isRed' : 'isGreen'"> <div :class="scope.row.isBarCode ? 'isRed' : 'isGreen'">
{{ scope.row.isBarCode | isAgree(that) }} {{ scope.row.isBarCode | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="isMerge" prop="isMerge"
:label="'合并发货'"> :label="'合并发货'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isMerge ? 'isRed' : 'isGreen'"> <div :class="scope.row.isMerge ? 'isRed' : 'isGreen'">
{{ scope.row.isMerge | isAgree(that) }} {{ scope.row.isMerge | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="isFresh" prop="isFresh"
:label="'冷链运输'"> :label="'冷链运输'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.row.isFresh ? 'isRed' : 'isGreen'"> <div :class="scope.row.isFresh ? 'isRed' : 'isGreen'">
{{ scope.row.isFresh | isAgree(that) }} {{ scope.row.isFresh | isAgree(that) }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="typeShippingMerge" prop="typeShippingMerge"
:label="'运输方式'"> :label="'运输方式'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="creationTime" prop="creationTime"
:label="'创建日期'"> :label="'创建日期'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="time" prop="time"
width="120" width="120"
:label="'操作'" :label="'操作'"
fixed="right"> fixed="right"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="btnHeng"> <div class="btnHeng">
<el-button @click="toFixed(scope.row.pkId,1)" <el-button
v-hasButtons="['ProductListUpdate']" v-hasButtons="['ProductListUpdate']"
type="text" type="text"
size="small"> size="small"
@click="toFixed(scope.row.pkId,1)"
>
{{ '修改' }} {{ '修改' }}
</el-button> </el-button>
<el-button @click="toChecked(scope.row.pkId,0)" <el-button
type="text" type="text"
size="small"> size="small"
@click="toChecked(scope.row.pkId,0)"
>
{{ '查看' }} {{ '查看' }}
</el-button> </el-button>
<el-button @click="handleDelete(scope.row.pkId)" <el-button
v-hasButtons="['ProductListDelete']" v-hasButtons="['ProductListDelete']"
type="text" type="text"
size="small" size="small"
style="color: #c73030"> style="color: #c73030"
@click="handleDelete(scope.row.pkId)"
>
{{ '删除' }} {{ '删除' }}
</el-button> </el-button>
</div> </div>
<div class="btnHeng"> <div class="btnHeng">
<el-button @click="upEdit(scope.row.pkId,0)" <el-button
v-hasButtons="['ProductListUp']" v-hasButtons="['ProductListUp']"
type="text" type="text"
size="small" size="small"
style="color: #c73030"> style="color: #c73030"
{{'上移'}} @click="upEdit(scope.row.pkId,0)"
>
{{ '上移' }}
</el-button> </el-button>
<el-button @click="upEdit(scope.row.pkId,1)" <el-button
v-hasButtons="['ProductListDown']" v-hasButtons="['ProductListDown']"
type="text" type="text"
size="small" size="small"
style="color: #c73030"> style="color: #c73030"
{{'下移'}} @click="upEdit(scope.row.pkId,1)"
>
{{ '下移' }}
</el-button> </el-button>
<el-button @click="topEdit(scope.row.pkId)" <el-button
v-hasButtons="['ProductListTop']" v-hasButtons="['ProductListTop']"
type="text" type="text"
size="small" size="small"
style="color: #c73030"> style="color: #c73030"
{{'置顶'}} @click="topEdit(scope.row.pkId)"
>
{{ '置顶' }}
</el-button> </el-button>
</div> </div>
</template> </template>
@ -393,11 +510,13 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<pagination v-show="total>0" <pagination
v-show="total>0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getDataList" /> @pagination="getDataList"
/>
</div> </div>
</template> </template>
@ -409,16 +528,16 @@ import { getToken } from '@/utils/auth'
export default { export default {
name: 'ProductList', name: 'ProductList',
components: { components: {
topBar, topBar
}, },
filters: { filters: {
isAgree(val,that) { isAgree(val, that) {
if (!val) { if (!val) {
return that.$t('ENU_POPUP_TYPE_1'); return that.$t('ENU_POPUP_TYPE_1')
} else { } else {
return that.$t('ENU_POPUP_TYPE_2'); return that.$t('ENU_POPUP_TYPE_2')
}
} }
},
}, },
data() { data() {
return { return {
@ -439,27 +558,27 @@ export default {
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
addOrEdit: '', addOrEdit: '',
total: 0, total: 0,
loading:false, loading: false,
tableData: [], tableData: [],
countryList: [], countryList: [],
agreeList: [ agreeList: [
{ {
text: '允许', text: '允许',
val: 0, val: 0
}, },
{ {
text: '禁止', text: '禁止',
val: 1, val: 1
}, }
], ],
form: {}, form: {},
creationTime: [], creationTime: [],
isCopy: true, isCopy: true,
selPkId: '', selPkId: ''
} }
}, },
mounted() { mounted() {
@ -530,8 +649,8 @@ export default {
path: 'productDetail', path: 'productDetail',
query: { query: {
id: id, id: id,
methods: 1, methods: 1
}, }
}) })
}, },
// //
@ -543,7 +662,7 @@ export default {
}, },
openDig() { openDig() {
this.$router.push({ this.$router.push({
path: 'jcsz', path: 'jcsz'
}) })
}, },
// 01,2 // 01,2
@ -552,15 +671,15 @@ export default {
path: 'productDetail', path: 'productDetail',
query: { query: {
id: id, id: id,
methods: index, methods: index
}, }
}) })
}, },
upEdit(id, index) { upEdit(id, index) {
api api
.productMove({ .productMove({
productId: id, productId: id,
productMoveType: index, productMoveType: index
}) })
.then((res) => { .then((res) => {
this.getDataList() this.getDataList()
@ -569,7 +688,7 @@ export default {
topEdit(id) { topEdit(id) {
api api
.floatingFoof({ .floatingFoof({
productId: id, productId: id
}) })
.then((res) => { .then((res) => {
this.getDataList() this.getDataList()
@ -579,7 +698,7 @@ export default {
getDataList() { getDataList() {
this.loading = true this.loading = true
api api
.productList(Object.assign({isPutOn:0}, this.queryParams, this.select)) .productList(Object.assign({ isPutOn: 0 }, this.queryParams, this.select))
.then((res) => { .then((res) => {
res.rows.forEach((item) => { res.rows.forEach((item) => {
// this.dwList.forEach((child) => { // this.dwList.forEach((child) => {
@ -616,8 +735,8 @@ export default {
return 'success-row' return 'success-row'
} }
return '' return ''
}, }
}, }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">