修改一些可见的bug,优化运费模板中地址选择问题

master
lemon橪 2021-05-20 11:09:51 +08:00
parent e359e674cf
commit 92aa9fccaf
11 changed files with 663 additions and 647 deletions

View File

@ -17,10 +17,10 @@ export default {
* @description api请求基础路径
*/
api_dev: {
common: 'https://common-api.pickmall.cn',
common: 'http://192.168.0.103:8890/',
buyer: 'https://buyer-api.pickmall.cn',
seller: 'https://store-api.pickmall.cn',
manager: 'https://admin-api.pickmall.cn'
manager: 'http://192.168.0.103:8887'
},
api_prod: {
common: 'https://common-api.pickmall.cn',

View File

@ -53,7 +53,7 @@
<div class="right-container">
<div class="border-b">{{ infoData.goodsName }}</div>
<div class="border-b">
<div class="div-height"> 店铺名称{{ infoData.sellerName }}</div>
<div class="div-height"> 店铺名称{{ infoData.storeName }}</div>
<div class="div-height"> 订单号{{ infoData.orderNo }}</div>
</div>

View File

@ -72,11 +72,11 @@
<div class="counts">{{$store.state.notices.refund|| 0}}</div>
<div>待审核售后</div>
</div>
<div class="todo-item" @click="navigateTo('distribution')">
<div class="todo-item" >
<div class="counts">{{$store.state.notices.distributionCash|| 0}}</div>
<div>待审核分销提现</div>
</div>
<div class="todo-item" @click="navigateTo('billList')">
<div class="todo-item" @click="navigateTo('accountStatementBill')">
<div class="counts">{{$store.state.notices.waitPayBill|| 0}}</div>
<div>待审核分账</div>
</div>

View File

@ -1,127 +0,0 @@
<template>
<Modal :mask-closable="false" :value="switched" v-model="switched" title="选择地址" @on-ok="submit" @on-cancel="cancel">
<div class="flex">
<Spin size="large" fix v-if="spinShow"></Spin>
<Tree ref="tree" class="tree" :data="data" expand-node show-checkbox multiple></Tree>
</div>
</Modal>
</template>
<script>
import { getAllCity } from "@/api/index";
export default {
data() {
return {
switched: false, //
spinShow: false, //
data: [], //
selectedWay: [], //
callBackData: "", //
};
},
mounted() {
this.init();
},
methods: {
cancel() {
this.switched = false;
// this.$emit("close",true)
},
open(val) {
if (val) {
this.callBackData = val;
this.data = JSON.parse(JSON.stringify(this.data));
val.areaId.split(",").forEach((ids) => {
this.data.forEach((item) => {
if (item.id == ids) {
item.selected = true;
}
item.children &&
item.children.forEach((child) => {
if (child.id == ids) {
child.checked = true;
}
});
});
});
console.log(this.data);
}
this.switched = true;
},
submit() {
//
let list = this.$refs.tree.getCheckedAndIndeterminateNodes();
let sort = [];
list.forEach((item) => {
item.selectedList = [];
if (item.level == "province") {
sort.push({
...item,
});
}
sort.forEach((sortItem, sortIndex) => {
if (item.level != "province" && sortItem.id == item.parentId) {
sortItem.selectedList.push({
...item,
});
}
});
});
this.$emit(
"selected",
list.filter((item) => {
return item.level == "province";
})
);
this.cancel();
},
init() {
getAllCity().then((res) => {
if (res.result) {
res.result.forEach((item) => {
item.children.forEach((child) => {
child.title = child.name;
});
let data = {
title: item.name,
...item,
};
this.data.push(data);
this.selectedWay.push({ name: data.title, id: data.id });
});
}
});
},
},
};
</script>
<style scoped lang="scss">
.flex {
display: flex;
position: relative;
}
.tree {
flex: 2;
}
.form {
flex: 8;
}
.button-list {
margin-left: 80px;
> * {
margin: 0 4px;
}
}
/deep/ .ivu-modal-body {
height: 400px !important;
overflow: auto;
}
</style>

View File

@ -48,10 +48,10 @@
style="width: 200px"
></DatePicker>
</Form-item>
<Form-item label="商家名称" prop="sellerName">
<Form-item label="商家名称" prop="storeName">
<Input
type="text"
v-model="searchForm.sellerName"
v-model="searchForm.storeName"
placeholder="请输入商家名称"
clearable
style="width: 200px"
@ -143,7 +143,7 @@
orderSn: "",
memberName: "",
serviceStatus: "",
sellerName:"",
storeName:"",
sn: "",
},
@ -151,7 +151,7 @@
form: {
//
sn: "",
sellerName: "",
storeName: "",
startTime: "",
endTime: "",
billPrice: "",

View File

@ -6,7 +6,7 @@
<Row @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
<Form-item label="订单号" prop="sn">
<Input type="text" v-model="searchForm.sn" placeholder="订单/交易号" clearable style="width: 200px"/>
<Input type="text" v-model="searchForm.sn" placeholder="订单/交易号" clearable style="width: 200px" />
</Form-item>
<Form-item label="付款状态" prop="orderStatus">
<Select v-model="searchForm.payStatus" placeholder="请选择" clearable style="width: 200px">
@ -14,20 +14,26 @@
<Option value="PAID">已付款</Option>
</Select>
</Form-item>
<Form-item label="支付方式" prop="orderStatus">
<Select v-model="searchForm.paymentMethod" placeholder="请选择" clearable style="width: 200px">
<Option value="WECHAT">微信</Option>
<Option value="ALIPAY">支付宝</Option>
<Option value="WALLET">余额</Option>
<Option value="BANK_TRANSFER">银行转账</Option>
<Option value="">暂未付款</Option>
</Select>
</Form-item>
<Form-item label="支付时间">
<DatePicker v-model="searchForm" type="datetimerange" format="yyyy-MM-dd" clearable
@on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker>
<DatePicker v-model="searchForm" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
</Form>
</Row>
<Row class="padding-row">
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"
@on-sort-change="changeSort" @on-selection-change="changeSelect"></Table>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table>
</Row>
<Row type="flex" justify="end" class="page">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize"
@on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
size="small" show-total show-elevator show-sizer></Page>
</Row>
</Card>
@ -68,16 +74,57 @@ export default {
{
title: "支付方式",
key: "paymentMethod",
width: 100,
width: 120,
align: "center",
render: (h, params) => {
if (params.row.paymentMethod === "WECHAT") {
return h("div", [h("span", {}, "微信")]);
return h("div", [
h(
"Tag",
{
props: {
color: "green",
},
},
"微信"
),
]);
} else if (params.row.paymentMethod === "ALIPAY") {
return h("div", [h("span", {}, "支付宝")]);
return h("div", [
h(
"Tag",
{
props: {
color: "blue",
},
},
"支付宝"
),
]);
} else if (params.row.paymentMethod === "WALLET") {
return h("div", [h("span", {}, "余额支付")]);
return h("div", [
h(
"Tag",
{
props: {},
},
"余额支付"
),
]);
} else if (params.row.paymentMethod === "BANK_TRANSFER") {
return h("div", [h("span", {}, "银行转帐")]);
return h("div", [
h(
"Tag",
{
props: {
color: "orange",
},
},
"银行转帐"
),
]);
} else {
return h("div", [h("Tag", {}, "暂未付款")]);
}
},
},
@ -85,19 +132,24 @@ export default {
title: "第三方流水",
key: "receivableNo",
minWidth: 130,
render: (h, params) => {
return h("div", [
h("span", {}, params.row.receivableNo || "暂无流水号"),
]);
},
},
{
title: "客户端",
key: "clientType",
width: 130,
render: (h, params) => {
if (params.row.clientType === "WECHAT_MP") {
if (params.row.clientType === "WECHAT_MP" || params.row.clientType === '小程序') {
return h("div", [h("span", {}, "小程序")]);
} else if (params.row.clientType === "APP") {
return h("div", [h("span", {}, "APP")]);
} else if (params.row.clientType === "PC") {
return h("div", [h("span", {}, "PC网页")]);
} else if (params.row.clientType === "H5") {
} else if (params.row.clientType === "H5" || params.row.clientType === 'wap') {
return h("div", [h("span", {}, "移动端")]);
}
},
@ -106,6 +158,11 @@ export default {
title: "支付时间",
key: "paymentTime",
width: 200,
render: (h, params) => {
return h("div", [
h("span", {}, params.row.paymentTime || "暂无支付时间"),
]);
},
},
{
title: "订单金额",
@ -204,7 +261,7 @@ export default {
});
this.total = this.data.length;
this.loading = false;
}
},
},
mounted() {
this.init();

View File

@ -99,6 +99,15 @@
key: "storeAddressPath",
width: 300,
sortable: false,
render: (h, params) => {
return h(
"Tag",
{
},
params.row.storeAddressPath || "暂未填写"
);
},
},
{
title: "是否自营",

View File

@ -111,7 +111,16 @@ export default {
title: "店铺地址",
key: "storeAddressPath",
width: 300,
tooltip: true
tooltip: true,
render: (h, params) => {
return h(
"Tag",
{
},
params.row.storeAddressPath || "暂未填写"
);
},
},
{
title: "是否自营",

View File

@ -6,6 +6,7 @@ import Vue from 'vue';
const app = {
state: {
shipTemplates:"",
styleStore:"", //移动端楼层装修中选择风格存储
loading: false, // 全局加载动画
added: false, // 加载路由标识

View File

@ -7,7 +7,7 @@
</Modal>
</template>
<script>
import { getChildRegion, getAllCity } from "@/api/index";
import { getAllCity } from "@/api/index";
export default {
data() {
return {
@ -22,46 +22,84 @@ export default {
this.init();
},
methods: {
/**
* 关闭
*/
cancel() {
this.switched = false;
// this.$emit("close",true)
},
open(val) {
if (val) {
this.callBackData = val;
this.data = JSON.parse(JSON.stringify(this.data));
val.areaId.split(",").forEach((ids) => {
// disabledtrue
this.data.forEach((item) => {
if (item.id == ids) {
item.selected = true;
}
item.children &&
this.$set(item, "disabled", false);
item.children.forEach((child) => {
if (child.id == ids) {
child.checked = true;
}
this.$set(child, "disabled", false);
});
});
});
}
this.switched = true;
},
/**
* 打开地图选择器
* @param {val} 回调的数据
* @param {index} 当前操作的运费模板的索引
*/
open(val, index) {
if (val) {
//
let checkedData = this.$store.state.shipTemplate;
//
let disabledData = checkedData.filter((item, i) => {
return i != index;
});
disabledData.forEach((dis) => {
// id
dis.areaId.split(",").forEach((ids) => {
//
this.data.forEach((item) => {
//
if (dis.selectedAll) {
dis.area.split(",").forEach((area) => {
if (area == item.name) {
this.$set(item, "disabled", true);
}
});
}
//
item.children.forEach((child, childIndex) => {
//
if (child.id == ids) {
this.$set(child, "disabled", true);
}
});
});
});
});
}
this.switched ? (this.switched = true) : (this.switched = true);
},
/**
* 提交并筛选出省市
*/
submit() {
//
let list = this.$refs.tree.getCheckedAndIndeterminateNodes();
let sort = [];
list.forEach((item) => {
list.forEach((item, i) => {
item.selectedList = [];
if (item.level == "province") {
item.selectedAll = false;
//
if (item.level == "province" && !item.disabled) {
sort.push({
...item,
});
}
//
sort.forEach((sortItem, sortIndex) => {
if (item.level != "province" && sortItem.id == item.parentId) {
if (item.level != "province" && sortItem.id == item.parentId && !item.disabled) {
sortItem.selectedList.push({
...item,
});
@ -69,12 +107,24 @@ export default {
});
});
this.$emit(
"selected",
list.filter((item) => {
return item.level == "province";
})
);
//
this.data.forEach((whether) => {
sort.forEach((item) => {
//
if (
item.id == whether.id &&
item.selectedList.length == whether.children.length
) {
//
item.selectedList.forEach((child) => {
this.$set(child, "selectedAll", true);
});
this.$set(item, "selectedAll", true);
}
});
});
this.$emit("selected", sort);
this.cancel();
},
@ -93,8 +143,10 @@ export default {
...item,
};
this.data.push(data);
this.selectedWay.push({ name: data.title, id: data.id });
});
console.log(this.data);
}
});
},

View File

@ -4,7 +4,7 @@
<Col>
<Card>
<Row>
<Button @click="refresh" ></Button>
<Button @click="refresh"></Button>
<Button @click="add" type="primary">添加</Button>
</Row>
<Tabs @on-click="handleClickType" v-model="currentTab" style="margin-top: 10px">
@ -15,12 +15,13 @@
<td class="sep-row" colspan="20"></td>
</tr>
<tr>
<th colspan="20"><h3>{{item.name}}</h3>
<th colspan="20">
<h3>{{item.name}}</h3>
<span class="fr m-r-5">
<time style="margin-right: 20px" title="最后编辑时间">
<i class="icon-time"></i>{{item.updateTime}}
</time>
<Button @click="edit(item)" type="info" >修改</Button>
<Button @click="edit(item)" type="info">修改</Button>
<Button @click="remove(item.id)" type="error">删除</Button>
</span>
</th>
@ -62,7 +63,7 @@
<TabPane v-if="csTab" :label=title :name=operation>
<Form ref="form" :model="form" :label-width="100" :rules="formValidate">
<FormItem label="模板名称" prop="name">
<Input v-model="form.name" maxlength="10" clearable style="width: 20%"/>
<Input v-model="form.name" maxlength="10" clearable style="width: 20%" />
</FormItem>
<FormItem label="计价方式" prop="pricingMethod">
<RadioGroup type="button" button-style="solid" v-model="form.pricingMethod">
@ -92,43 +93,30 @@
<td></td>
<td class="tl cell-area">
<span class="area-group">
<p style="display:inline-block">{{item.area}}</p></span>
<p style="display:inline-block;white-space:pre;">{{item.area}}</p>
</span>
</td>
<td></td>
<td>
<Input class="text w40" type="text" v-model="item.firstCompany" maxlength="3" clearable/>
<Input class="text w40" type="text" v-model="item.firstCompany" maxlength="3" clearable />
</td>
<td>
<Input class="text w60" type="text" v-model="item.firstPrice" maxlength="6" clearable/><em
class="add-on">
<Input class="text w60" type="text" v-model="item.firstPrice" maxlength="6" clearable /><em class="add-on">
</em>
</td>
<td>
<Input class="text w40" type="text" v-model="item.continuedCompany" maxlength="6"
clearable/>
<Input class="text w40" type="text" v-model="item.continuedCompany" maxlength="6" clearable />
</td>
<td>
<Input class="text w60" type="text" v-model="item.continuedPrice" maxlength="6"
clearable/><em class="add-on">
<Input class="text w60" type="text" v-model="item.continuedPrice" maxlength="6" clearable /><em class="add-on">
</em>
</td>
<td class="nscs-table-handle">
<Button
@click="editRegion(item)"
type="info"
size="small"
style="margin-bottom: 5px"
>修改
<Button @click="editRegion(item,index)" type="info" size="small" style="margin-bottom: 5px">修改
</Button>
<Button
@click="removeTemplateChildren(index)"
:loading="submitLoading"
type="error"
size="small"
style="margin-bottom: 5px"
>删除
<Button @click="removeTemplateChildren(index)" :loading="submitLoading" type="error" size="small" style="margin-bottom: 5px">删除
</Button>
</td>
</tr>
@ -138,35 +126,24 @@
<div class="tbl-attach p-5">
<div class="div-error" v-if="saveError">
<i class="fa fa-exclamation-circle" aria-hidden="true"></i>
<Icon type="ios-information-circle-outline"/>
<Icon type="ios-information-circle-outline" />
指定地区城市为空或指定错误
<Icon type="ios-information-circle-outline"/>
<Icon type="ios-information-circle-outline" />
首费应输入正确的金额
<Icon type="ios-information-circle-outline"/>
<Icon type="ios-information-circle-outline" />
续费应输入正确的金额
<Icon type="ios-information-circle-outline"/>
<Icon type="ios-information-circle-outline" />
()()费应输入大于0的整数
</div>
<Button
@click="addShipTemplateChildren(index)"
:loading="submitLoading"
type="info"
size="small"
icon="ios-create-outline"
style="margin-bottom: 5px"
>为指定城市设置运费模板
</Button>
</div>
</div>
</div>
</FormItem>
<Form-item>
<Button
@click="handleSubmit"
:loading="submitLoading"
type="primary"
style="margin-right:5px"
>保存
<Button @click="addShipTemplateChildren(index)" :loading="submitLoading" icon="ios-create-outline" >为指定城市设置运费模板
</Button>
<Button @click="handleSubmit" :loading="submitLoading" type="primary" style="margin-right:5px">保存
</Button>
</Form-item>
</Form>
@ -183,18 +160,18 @@
</template>
<script>
import * as API_Shop from "@/api/shops";
import multipleRegion from "@/views/lili-components/multiple-region";
import * as API_Shop from "@/api/shops";
import multipleRegion from "@/views/lili-components/multiple-region";
export default {
export default {
name: "shipTemplate",
components: {
multipleRegion
multipleRegion,
},
data() {
return {
selectedIndex:0, //
item: "", //
shipInfo: {}, //
title: "添加运费模板", //
@ -205,7 +182,7 @@
form: {
//
name: "",
pricingMethod: "WEIGHT"
pricingMethod: "WEIGHT",
},
formValidate: {
name: [
@ -215,7 +192,8 @@
trigger: "blur",
},
],
pricingMethod: [ //
pricingMethod: [
//
{
required: true,
message: "请选择计费方式",
@ -233,101 +211,132 @@
handleClickType(v) {
if (v == "INFO") {
this.getData();
this.csTab = false
this.csTab = false;
}
},
//
add() {
this.title = "添加运费模板"
this.csTab = true
this.operation = "ADD"
this.currentTab = "ADD"
this.title = "添加运费模板";
this.csTab = true;
this.operation = "ADD";
this.currentTab = "ADD";
this.saveError = false;
this.form = {
pricingMethod: "WEIGHT",
name: "",
freightTemplateChildList: [{
freightTemplateChildList: [
{
area: "",
areaId: "",
firstCompany: "1",
firstPrice: "",
continuedCompany: "1",
continuedPrice: ""
}]
}
continuedPrice: "",
selectedAll:false
},
],
};
},
//
edit(item) {
this.title = "修改运费模板"
this.csTab = true
this.operation = "EDIT"
this.currentTab = "EDIT"
this.title = "修改运费模板";
this.csTab = true;
this.operation = "EDIT";
this.currentTab = "EDIT";
this.saveError = false;
//form
this.form = item
this.form = item;
},
//
editRegion(item){
this.item = item
editRegion(item,index) {
this.selectedIndex = index
this.item = item;
this.$refs.region.open(item)
this.$store.state.shipTemplate = this.form.freightTemplateChildList
this.$refs.region.open(item,index);
},
//
refresh() {
this.csTab = false
this.operation = "INFO"
this.currentTab = "INFO"
this.getData()
this.csTab = false;
this.operation = "INFO";
this.currentTab = "INFO";
this.getData();
},
//
getData() {
API_Shop.getShipTemplate().then((res) => {
this.shipInfo = res.result
this.shipInfo = res.result;
});
},
/**
* 选择地址回调
*/
handleSelect(v) {
let area = ""
let areaId= ""
if(v != ""){
v.forEach((child, index) => {
if(child.selectedList!=""){
child.selectedList.forEach((child, index) => {
area+=child.name +","
areaId+=child.id +","
})
console.log(v);
let area = "";
let areaId = "";
if (v != "") {
v.forEach((child) => {
if (child.selectedList != "") {
//
if(child.selectedAll ){
area += child.name + ","
this.form.freightTemplateChildList[this.selectedIndex].selectedAll = true
}
})
child.selectedList.forEach((son) => {
if (child.selectedAll) {
areaId += son.id + ",";
return;
} else {
//
area += son.name + ",";
areaId += son.id + ",";
}
this.item.area = area
this.item.areaId= areaId
});
}
});
}
this.item.area = area;
this.item.areaId = areaId;
},
//
handleSubmit() {
const headers = {
"Content-Type": "application/json;charset=utf-8"
}
"Content-Type": "application/json;charset=utf-8",
};
this.$refs.form.validate((valid) => {
const regNumber = /^\+?[1-9][0-9]*$/;
const regMoney = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
const regMoney = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
if (valid) {
//
for (let i = 0; i < this.form.freightTemplateChildList.length; i++) {
if (this.form.freightTemplateChildList[i].area == ""
|| this.form.freightTemplateChildList[i].firstCompany == ""
|| this.form.freightTemplateChildList[i].firstPrice == ""
|| this.form.freightTemplateChildList[i].continuedCompany == ""
|| this.form.freightTemplateChildList[i].continuedPrice == "") {
if (
this.form.freightTemplateChildList[i].area == "" ||
this.form.freightTemplateChildList[i].firstCompany == "" ||
this.form.freightTemplateChildList[i].firstPrice == "" ||
this.form.freightTemplateChildList[i].continuedCompany == "" ||
this.form.freightTemplateChildList[i].continuedPrice == ""
) {
this.saveError = true;
return
return;
}
if (regNumber.test(this.form.freightTemplateChildList[i].firstCompany) == false
|| regNumber.test(this.form.freightTemplateChildList[i].continuedCompany) == false
|| regMoney.test(this.form.freightTemplateChildList[i].firstPrice) == false
|| regMoney.test(this.form.freightTemplateChildList[i].continuedPrice) == false) {
if (
regNumber.test(
this.form.freightTemplateChildList[i].firstCompany
) == false ||
regNumber.test(
this.form.freightTemplateChildList[i].continuedCompany
) == false ||
regMoney.test(this.form.freightTemplateChildList[i].firstPrice) ==
false ||
regMoney.test(
this.form.freightTemplateChildList[i].continuedPrice
) == false
) {
this.saveError = true;
return;
}
@ -336,43 +345,46 @@
API_Shop.addShipTemplate(this.form, headers).then((res) => {
if (res.success) {
this.$Message.success("新增成功");
this.operation = "INFO"
this.currentTab = "INFO"
this.csTab = false
this.getData()
this.operation = "INFO";
this.currentTab = "INFO";
this.csTab = false;
this.getData();
}
});
} else {
API_Shop.editShipTemplate(this.form.id, this.form, headers).then((res) => {
API_Shop.editShipTemplate(this.form.id, this.form, headers).then(
(res) => {
if (res.success) {
this.$Message.success("新增成功");
this.operation = "INFO"
this.currentTab = "INFO"
this.csTab = false
this.getData()
this.operation = "INFO";
this.currentTab = "INFO";
this.csTab = false;
this.getData();
}
}
);
}
}
});
}
}
})
},
//
addShipTemplateChildren() {
const params = {
area: '',
area: "",
areaId: "",
firstCompany: '1',
firstPrice: '',
continuedCompany: '1',
continuedPrice: ''
}
this.form.freightTemplateChildList.push(params)
firstCompany: "1",
firstPrice: "",
continuedCompany: "1",
continuedPrice: "",
selectedAll:false
};
this.form.freightTemplateChildList.push(params);
},
//
removeTemplateChildren(index) {
if (Object.keys(this.form.freightTemplateChildList).length == 1) {
this.$Message.success("必须保留一个子模板");
return
this.$Message.error("必须保留一个子模板");
return;
}
this.form.freightTemplateChildList.splice(index, 1);
},
@ -391,193 +403,196 @@
this.$Modal.remove();
this.getData();
});
}
},
});
}
},
},
mounted() {
this.init();
},
};
};
</script>
<style lang="scss" scoped>
.ncsc-default-table thead th {
.ncsc-default-table thead th {
line-height: 20px;
color: #555;
background-color: #FAFAFA;
background-color: #fafafa;
text-align: center;
height: 20px;
padding: 9px 0;
border-bottom: solid 1px #DDD;
}
border-bottom: solid 1px #ddd;
}
.ncsc-default-table {
.ncsc-default-table {
line-height: 20px;
width: 100%;
border-collapse: collapse;
tbody th {
background-color: #FAFAFA;
border: solid #E6E6E6;
background-color: #fafafa;
border: solid #e6e6e6;
border-width: 1px 0;
padding: 4px 0;
}
tbody td {
color: #999;
background-color: #FFF;
background-color: #fff;
text-align: center;
padding: 6px 0;
}
}
}
.order tbody tr td {
border-bottom: 1px solid #E6E6E6;
.order tbody tr td {
border-bottom: 1px solid #e6e6e6;
vertical-align: top;
}
}
.order tbody tr td.bdr {
border-right: 1px solid #E6E6E6;
}
.order tbody tr td.bdr {
border-right: 1px solid #e6e6e6;
}
.order tbody tr th {
border: solid 1px #DDD;
}
.order tbody tr th {
border: solid 1px #ddd;
}
.order tbody tr td.sep-row {
.order tbody tr td.sep-row {
height: 14px;
border: 0;
}
}
.w10 {
.w10 {
width: 10px !important;
}
}
.tl {
.tl {
text-align: left !important;
}
}
.order tbody tr td.bdl {
border-left: 1px solid #E6E6E6;
}
.order tbody tr td.bdl {
border-left: 1px solid #e6e6e6;
}
.order tbody tr th h3 {
.order tbody tr th h3 {
font-size: 14px;
line-height: 20px;
color: #555;
vertical-align: middle;
display: inline-block;
margin: 0 10px;
}
}
.m-r-5 {
.m-r-5 {
margin-right: 5px !important;
}
}
.fr {
.fr {
float: right !important;
}
}
.m-b-30 {
.m-b-30 {
margin-bottom: 10px !important;
}
}
Button {
Button {
margin: 3px 5px 0px 5px;
}
}
thead {
thead {
display: table-header-group;
vertical-align: middle;
border-color: inherit;
}
}
tr {
tr {
display: table-row;
vertical-align: inherit;
border-color: inherit;
}
}
caption, th {
caption,
th {
text-align: left;
}
}
.tl {
.tl {
text-align: left !important;
}
}
colgroup {
colgroup {
display: table-column-group;
}
}
button, input, select, textarea {
button,
input,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
}
.bd-line td {
border-bottom: solid 1px #EEE;
}
.bd-line td {
border-bottom: solid 1px #eee;
}
.w40 {
.w40 {
width: 60px !important;
}
}
.w60 {
.w60 {
width: 80px !important;
}
}
Input[type="text"], Input[type="password"], Input.text, Input.password {
Input[type="text"],
Input[type="password"],
Input.text,
Input.password {
display: inline-block;
min-height: 20px;
padding: 10px;
border: solid 1px #E6E9EE;
border: solid 1px #e6e9ee;
outline: 0 none;
}
}
.add-on {
.add-on {
line-height: 28px;
background-color: #F6F7Fb;
background-color: #f6f7fb;
vertical-align: top;
display: inline-block;
text-align: center;
width: 30px;
height: 30px;
border: solid #E6E9EE;
border: solid #e6e9ee;
border-width: 1px 1px 1px 0;
}
}
ncsc-default-table {
ncsc-default-table {
line-height: 20px;
width: 100%;
border-collapse: collapse;
clear: both;
}
}
.ncsu-trans-type {
background-color: #FFF;
border: solid #DDD 1px;
}
.ncsu-trans-type {
background-color: #fff;
border: solid #ddd 1px;
}
i, cite, em {
i,
cite,
em {
font-style: normal;
}
}
.cell-area {
.cell-area {
width: 50%;
}
}
.div-error {
.div-error {
margin-left: 7px;
margin-bottom: -8px;
font-size: 15px;
color: #F00;
}
color: #f00;
}
</style>