Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/views/goodsManage/productBasicInfo/productBasicAdd/productDetail.vue
#	src/views/goodsManage/productRelease/productDetail.vue
This commit is contained in:
cabbage 2025-04-07 16:19:38 +08:00
commit cb6ec60ad3
8 changed files with 2364 additions and 2046 deletions

View File

@ -7,14 +7,14 @@
<template>
<div class="topbox">
<div
class="levelList_i"
:class="tabActive == item.path ? 'act' : ''"
v-for="(item, index) in topList"
:key="index"
@click.prevent="handleLink(item)"
class="levelList_i"
:class="tabActive == item.path ? 'act' : ''"
:style="
waitApprovalNum || receiveApprovalNum ? { marginTop: '12px' } : {}
"
@click.prevent="handleLink(item)"
>
{{ item.name }}
<span v-if="waitApprovalNum && item.name == '代办'" class="badge">{{
@ -23,8 +23,7 @@
<span
v-if="receiveApprovalNum && item.name == '抄送查阅/操作'"
class="badge"
>{{ receiveApprovalNum }}</span
>
>{{ receiveApprovalNum }}</span>
<!-- <i
v-show="isMouse == item.path && isMouse != tabActive"
@click.prevent="delItem(item.path)"
@ -37,35 +36,35 @@
<script>
export default {
name: "topBar",
name: 'TopBar',
props: {
topList: {
type: Array,
type: Array
},
moren: {
type: String,
type: String
},
waitApprovalNum: {
type: Number,
type: Number
},
receiveApprovalNum: {
type: Number,
},
type: Number
}
},
data() {
return {
tabActive: this.moren,
};
tabActive: this.moren
}
},
methods: {
handleLink(item) {
this.tabActive = item.path;
this.tabActive = item.path
this.$router.push({
path: item.path,
});
},
},
};
path: item.path
})
}
}
}
</script>
<style scoped lang="scss">

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@
<el-col :span="4">
<el-form-item :label="'业务名称'" prop="type">
<el-autocomplete
class="inline-input"
v-model="queryParams.typeName"
class="inline-input"
:fetch-suggestions="querySearch"
placeholder="请输入内容或选择"
@select="handleSelect"
@ -21,11 +21,9 @@
</el-col>
<el-col :span="4">
<el-button class="my_search" @click="getHandelWorkList()">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
@ -36,14 +34,14 @@
<el-button class="thebtn1" @click="adddate()">{{
'添加'
}}</el-button>
<el-button @click="handleExport" class="thebtn2"> {{ '导出' }}</el-button>
<el-button class="thebtn2" @click="handleExport"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
ref="table1"
height="700px"
v-loading="loading"
height="700px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@ -163,6 +161,7 @@
v-model="form.type"
clearable
:placeholder="'请选择'"
filterable
>
<el-option
v-for="item in approbalBusinessList"
@ -238,7 +237,7 @@
</template>
<script>
import topBar from "@/components/topBar";
import topBar from '@/components/topBar'
import {
getApprobalBusiness,
getPubEnumsAccount,
@ -246,21 +245,21 @@ import {
deletHandelWork,
getOneHandelWorkList,
saveHandleWork,
updateHandleWork,
} from "@/api/businesshandling";
updateHandleWork
} from '@/api/businesshandling'
export default {
name: "Ywblsxf",
name: 'Ywblsxf',
components: {
topBar,
topBar
},
data() {
return {
moren: "ywblsxf",
moren: 'ywblsxf',
topList: [
{
name: '业务办理手续费',
path: "ywblsxf",
},
path: 'ywblsxf'
}
],
tableData: [],
loading: false,
@ -269,180 +268,180 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 50,
type: "", //
type: '' //
},
updateShow: false,
addOrEdit: "", // true false
updateTitle: "",
addOrEdit: '', // true false
updateTitle: '',
form: {
type: "", //
type: '', //
// handleCount: "", //
pkAccount: "", //
pkAccount: '', //
serviceChargeDetailsList: [
{
quantity: "",
cost: "",
},
],
quantity: '',
cost: ''
}
]
},
rules: {
type: [
{
required: true,
message: '请选择业务',
trigger: "change",
},
trigger: 'change'
}
],
pkAccount: [
{
required: true,
message: '请选择币种',
trigger: "change",
},
],
trigger: 'change'
}
]
},
approbalBusinessList: [],
pubEnumsAccountList: [],
};
pubEnumsAccountList: []
}
},
created() {
this.getHandelWorkList();
this.getApprobalBusiness();
this.getPubEnumsAccount();
this.getHandelWorkList()
this.getApprobalBusiness()
this.getPubEnumsAccount()
},
methods: {
//
querySearch(queryString, cb) {
var restaurants = this.approbalBusinessList;
var restaurants = this.approbalBusinessList
var results = queryString
? restaurants.filter(this.createFilter(queryString))
: restaurants;
: restaurants
// callback
cb(results);
cb(results)
},
createFilter(queryString) {
return (restaurant) => {
return (
restaurant.label.toLowerCase().indexOf(queryString.toLowerCase()) ===
0
);
};
)
}
},
handleSelect(item) {
this.queryParams.type = item.value;
this.queryParams.type = item.value
this.queryParams.typeName = item.label
},
changeQuantity(item, i) {
item.quantity = i + 1;
item.quantity = i + 1
},
addList(i) {
this.form.serviceChargeDetailsList.push({
quantity: "",
cost: "",
});
quantity: '',
cost: ''
})
},
getApprobalBusiness() {
//
getApprobalBusiness().then((res) => {
this.approbalBusinessList = res.data;
});
this.approbalBusinessList = res.data
})
},
getPubEnumsAccount() {
//
getPubEnumsAccount().then((res) => {
this.pubEnumsAccountList = res.rows;
});
this.pubEnumsAccountList = res.rows
})
},
//
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let url = "";
let url = ''
if (this.addOrEdit == true) {
url = saveHandleWork;
url = saveHandleWork
} else {
url = updateHandleWork;
url = updateHandleWork
}
url(this.form).then((res) => {
if (res.code == 200) {
this.updateShow = false;
this.updateShow = false
this.$message({
message: res.msg,
type: "success",
});
this.getHandelWorkList();
type: 'success'
})
this.getHandelWorkList()
}
});
})
}
});
})
},
//
reChongzhi() {
this.queryParams.type = "";
this.queryParams.typeName = ""
this.getHandelWorkList();
this.queryParams.type = ''
this.queryParams.typeName = ''
this.getHandelWorkList()
},
//
adddate() {
this.updateShow = true;
this.updateTitle = '添加';
this.addOrEdit = true;
this.form.pkId = null;
this.updateShow = true
this.updateTitle = '添加'
this.addOrEdit = true
this.form.pkId = null
this.form = {
type: "", //
type: '', //
// handleCount: "", //
pkAccount: "", //
pkAccount: '', //
serviceChargeDetailsList: [
{
quantity: "",
cost: "",
},
],
};
quantity: '',
cost: ''
}
]
}
},
//
update(row) {
this.updateTitle = '修改';
this.updateShow = true;
this.addOrEdit = false;
this.updateTitle = '修改'
this.updateShow = true
this.addOrEdit = false
getOneHandelWorkList(row.pkId).then((res) => {
this.form = res.data;
});
this.form = res.data
})
},
//
deleteRow(row) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then(() => {
deletHandelWork(row.pkId).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.getHandelWorkList();
type: 'success'
})
this.getHandelWorkList()
}
});
});
})
})
},
//
getHandelWorkList() {
this.loading = true
getHandelWorkList(this.queryParams).then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
/** 导出按钮操作 */
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}).then((_) => {
this.download(
'system/manage/service-charge/export',
@ -452,23 +451,23 @@ export default {
})
},
handleClose() {
this.updateShow = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.updateShow = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return ''
}
}
}
return "";
},
},
};
</script>
<style lang="scss" scoped>

View File

@ -8,52 +8,49 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="mini" @click="openDig" class="thebtn1"
>{{'添加'}}</el-button
>
<el-button
size="mini"
class="thebtn1"
@click="openDig"
>{{ '添加' }}</el-button>
<el-button size="mini" class="thebtn2" @click="handleExport"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="760px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column align="center" prop="sort" label="显示顺序">
</el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column align="center" prop="sort" label="显示顺序" />
<el-table-column align="center" prop="backgroundImg" :label="'背景图'">
<template slot-scope="scope">
<img class="bgImg" :src="scope.row.backgroundImg" alt="" />
<img class="bgImg" :src="scope.row.backgroundImg" alt="">
</template>
</el-table-column>
<el-table-column align="center" prop="pkCountry" :label="'国家'">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.nationalFlag2" alt="" />
<img :src="scope.row.nationalFlag2" alt="">
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="accountName" label="账户名称">
</el-table-column>
<el-table-column align="center" prop="fieldValueVal" label="账户属性">
</el-table-column>
<el-table-column align="center" prop="accountFame" label="转化币种">
</el-table-column>
<el-table-column align="center" prop="showStatusVal" label="显示隐藏">
</el-table-column>
<el-table-column align="center" prop="accountName" label="账户名称" />
<el-table-column align="center" prop="fieldValueVal" label="账户属性" />
<el-table-column align="center" prop="accountFame" label="转化币种" />
<el-table-column align="center" prop="showStatusVal" label="显示隐藏" />
<el-table-column align="center" prop="isRegular" label="固定">
<template slot-scope="scope">
<div :class="scope.row.isRegular ? 'isRed' : 'isGreen'">
@ -94,22 +91,19 @@
prop="onLineRechargeVal"
label="是否在线充值"
width="150"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="effectiveDate"
:label="'生效日期'"
width="150"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="creationTime"
:label="'创建日期'"
width="150"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="time"
@ -118,10 +112,10 @@
>
<template slot-scope="scope">
<el-button
@click="toFixed(scope.row.pkId)"
type="text"
size="small"
style="color: #6962f6"
@click="toFixed(scope.row.pkId)"
>
{{ '修改' }}
</el-button>
@ -157,116 +151,116 @@
<el-col :span="10">
<el-form-item label="账户名称" prop="accountName">
<el-input
clearable
v-model="form.accountName"
clearable
placeholder="请输入账户名称"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item label="账户属性" prop="fieldValue">
<el-select clearable v-model="form.fieldValue">
<el-select v-model="form.fieldValue" clearable>
<el-option
v-for="item in pubEnumsAccountList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="显示顺序" prop="sort">
<el-input
clearable
v-model="form.sort"
clearable
placeholder="请输入显示顺序"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item label="币种转化" prop="pkBdAccount">
<el-select clearable v-model="form.pkBdAccount">
<el-select v-model="form.pkBdAccount" clearable>
<el-option
v-for="item in pkBdAccountList"
:key="item.pkId"
:label="item.accountName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="固定" prop="isRegular">
<el-select clearable v-model="form.isRegular">
<el-select v-model="form.isRegular" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item :label="'邮费'" prop="isPostage">
<el-select clearable v-model="form.isPostage">
<el-select v-model="form.isPostage" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="转账" prop="isTransfer">
<el-select clearable v-model="form.isTransfer">
<el-select v-model="form.isTransfer" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item label="提现" prop="isWithdrawal">
<el-select clearable v-model="form.isWithdrawal">
<el-select v-model="form.isWithdrawal" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item :label="'充值'" prop="isRecharge">
<el-select clearable v-model="form.isRecharge">
<el-select v-model="form.isRecharge" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item label="是否在线充值" prop="onLineRecharge">
<el-select clearable v-model="form.onLineRecharge">
<el-select v-model="form.onLineRecharge" clearable>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -282,19 +276,18 @@
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="'请选择'"
>
</el-date-picker>
/>
</el-form-item>
</el-col>
<el-col :span="10" style="margin-left: 70px">
<el-form-item label="是否显示" prop="showStatus">
<el-select clearable v-model="form.showStatus">
<el-select v-model="form.showStatus" clearable>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -306,41 +299,40 @@
style="margin-left: 40px"
class="submit"
@click="onSubmit('form')"
>{{'确认'}}</el-button
>
>{{ '确认' }}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/configManage.js";
import topBar from '@/components/topBar'
import * as api from '@/api/configManage.js'
import {
accountSave,
accountUpdate,
getpkBdAccountList,
getPubEnumsAccount,
} from "@/api/configManage";
import { userCountryList } from "@/api/user";
import * as del from "@/api/delivery.js";
import { getToken } from "@/utils/auth";
import ImageUpload from "@/components/ImageUpload";
getPubEnumsAccount
} from '@/api/configManage'
import { userCountryList } from '@/api/user'
import * as del from '@/api/delivery.js'
import { getToken } from '@/utils/auth'
import ImageUpload from '@/components/ImageUpload'
export default {
name: "Bzpz",
name: 'Bzpz',
components: {
topBar,
ImageUpload,
ImageUpload
},
filters: {
isAgree(val, that) {
if (!val) {
return that.$t('ENU_POPUP_TYPE_1');
return that.$t('ENU_POPUP_TYPE_1')
} else {
return that.$t('ENU_POPUP_TYPE_2');
return that.$t('ENU_POPUP_TYPE_2')
}
}
},
},
data() {
return {
@ -350,17 +342,17 @@ export default {
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
addOrEdit: "",
addOrEdit: '',
total: 0,
showImg: true, //
noneUploadImg: false, //
openImg: false,
openImgUrl: "",
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload",
openImgUrl: '',
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
headers: {
Authorization: getToken(),
Authorization: getToken()
},
dialogVisible: false,
tableData: [],
@ -369,117 +361,117 @@ export default {
agreeList: [
{
text: '允许',
val: 0,
val: 0
},
{
text: '禁止',
val: 1,
},
val: 1
}
],
moren: "bzpz",
moren: 'bzpz',
topList: [
{
name: '币种配置',
path: "bzpz",
path: 'bzpz'
},
{
name: '消费配置',
path: "xfpz",
path: 'xfpz'
},
{
name: '转账配置',
path: "zzpz",
path: 'zzpz'
},
{
name: '提现配置',
path: "txpz",
path: 'txpz'
},
{
name: '提现个税',
path: "txgs",
path: 'txgs'
},
{
name: '提现手续费',
path: "txsxf",
path: 'txsxf'
},
{
name: '特殊消费',
path: "specialMoney",
},
path: 'specialMoney'
}
],
pkBdAccountList: [],
form: {
pkCountry: "",
accountName: "",
sort: "",
pkCountry: '',
accountName: '',
sort: '',
pkBdAccount: 0,
isRegular: 0,
isPostage: 0,
isTransfer: 0,
isWithdrawal: 0,
isRecharge: 0,
backgroundImg: "",
effectiveDate: "",
fieldValue: "",
backgroundImg: '',
effectiveDate: '',
fieldValue: '',
onLineRecharge: 1,
showStatus: 0
},
rules: {
pkCountry: [
{ required: true, message: "请选择国家名称", trigger: "change" },
{ required: true, message: '请选择国家名称', trigger: 'change' }
],
accountName: [
{ required: true, message: "请输入账户名称", trigger: "blur" },
{ required: true, message: '请输入账户名称', trigger: 'blur' }
],
sort: [{ required: true, message: "请输入显示顺序", trigger: "blur" }],
sort: [{ required: true, message: '请输入显示顺序', trigger: 'blur' }],
// pkBdAccount: [
// { required: true, message: "", trigger: "change" },
// ],
fieldValue: [
{ required: true, message: "请选择账户属性", trigger: "change" },
{ required: true, message: '请选择账户属性', trigger: 'change' }
],
isRegular: [
{ required: true, message: "请选择固定", trigger: "change" },
{ required: true, message: '请选择固定', trigger: 'change' }
],
isPostage: [
{ required: true, message: "请选择邮费", trigger: "change" },
{ required: true, message: '请选择邮费', trigger: 'change' }
],
isTransfer: [
{ required: true, message: "请选择转账", trigger: "change" },
{ required: true, message: '请选择转账', trigger: 'change' }
],
isWithdrawal: [
{ required: true, message: "请选择提现", trigger: "change" },
{ required: true, message: '请选择提现', trigger: 'change' }
],
isRecharge: [
{ required: true, message: "请选择充值", trigger: "change" },
{ required: true, message: '请选择充值', trigger: 'change' }
],
onLineRecharge: [
{ required: true, message: "请选择是否在线充值", trigger: "change" },
{ required: true, message: '请选择是否在线充值', trigger: 'change' }
],
backgroundImg: [
{ required: true, message: "请上传封面", trigger: "change" },
{ required: true, message: '请上传封面', trigger: 'change' }
],
effectiveDate: [
{ required: true, message: '请选择生效时间', trigger: "change" },
{ required: true, message: '请选择生效时间', trigger: 'change' }
],
showStatus: [
{ required: true, message: '请选择', trigger: "change" },
],
{ required: true, message: '请选择', trigger: 'change' }
]
},
pubEnumsAccountList: [],
dialogTitle: "",
yesornoList: [], //
};
dialogTitle: '',
yesornoList: [] //
}
},
mounted() {
// userCountryList
this.getCountry();
this.getCountry()
//
this.getDataList();
this.getDataList()
//
this.getpkBdAccountList();
this.getpkBdAccountList()
// -
this.getPubEnumsAccount();
this.getPubEnumsAccount()
},
methods: {
/** 导出按钮操作 */
@ -487,7 +479,7 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}).then((_) => {
this.download(
'/system/manage/account/export',
@ -498,86 +490,86 @@ export default {
},
getPubEnumsAccount() {
getPubEnumsAccount().then((res) => {
this.pubEnumsAccountList = res.data;
});
this.pubEnumsAccountList = res.data
})
//
del.getDealerYesNo().then((res) => {
this.yesornoList = res.data;
});
this.yesornoList = res.data
})
},
getpkBdAccountList() {
getpkBdAccountList().then((res) => {
this.pkBdAccountList = res.rows;
});
this.pkBdAccountList = res.rows
})
},
//
changeActive() {
this.isActive = !this.isActive;
this.isActive = !this.isActive
},
//
toFixed(id) {
this.dialogTitle = '修改';
this.addOrEdit = false;
this.dialogVisible = true;
this.dialogTitle = '修改'
this.addOrEdit = false
this.dialogVisible = true
api.getAccount(id).then((res) => {
this.form = res.data;
});
this.form = res.data
})
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then(() => {
api.delAccount(id).then((res) => {
//
this.getDataList();
});
});
this.getDataList()
})
})
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let url = "";
let url = ''
if (this.addOrEdit == true) {
url = accountSave;
url = accountSave
} else {
url = accountUpdate;
url = accountUpdate
}
url(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
type: 'success'
})
this.dialogVisible = false
//
this.$refs[formName].resetFields();
this.$refs[formName].resetFields()
//
this.getDataList();
this.dialogTitle = "";
this.getDataList()
this.dialogTitle = ''
}
});
})
} else {
return false;
return false
}
});
})
},
handleClose() {
this.dialogVisible = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.dialogVisible = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
openDig() {
this.dialogVisible = true;
this.addOrEdit = true;
this.dialogTitle = '添加';
this.dialogVisible = true
this.addOrEdit = true
this.dialogTitle = '添加'
},
getCountry() {
userCountryList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
},
getDataList() {
this.loading = true
@ -585,46 +577,46 @@ export default {
res.rows.forEach((item) => {
this.countryList.forEach((child) => {
if (item.pkCountry == child.pkCountry) {
item.pkCountryName = child.name;
item.pkCountryIcon = child.nationalFlag2;
item.pkCountryName = child.name
item.pkCountryIcon = child.nationalFlag2
}
});
});
this.tableData = res.rows;
this.total = res.total;
})
})
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
uploadImgChange(file, fileList) {
this.noneUploadImg = fileList.length > 0;
this.noneUploadImg = fileList.length > 0
},
//
handlePictureSuccess(res, file) {
this.form.backgroundImg = res.data.url;
this.form.backgroundImg = res.data.url
console.log(
"%c [ res ]-345",
"font-size:13px; background:#490cce; color:#8d50ff;",
'%c [ res ]-345',
'font-size:13px; background:#490cce; color:#8d50ff;',
res
);
)
},
//
handleRemove(file, fileList) {
this.form.backgroundImg = "";
this.noneUploadImg = fileList.length > 0;
this.form.backgroundImg = ''
this.noneUploadImg = fileList.length > 0
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return ''
}
}
}
return "";
},
},
};
</script>
<style scoped lang="scss">
::v-deep .el-date-editor.el-input,

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff