Merge branch 'dev-ryan' into ma
This commit is contained in:
		
						commit
						ae730cacf3
					
				@ -8,11 +8,12 @@ import {
 | 
			
		||||
  getRequestWithNoToken,
 | 
			
		||||
  putRequestWithNoForm,
 | 
			
		||||
  postRequestWithNoForm,
 | 
			
		||||
  commonUrl,
 | 
			
		||||
  managerUrl
 | 
			
		||||
} from "@/libs/axios";
 | 
			
		||||
import config from "@/config";
 | 
			
		||||
 | 
			
		||||
let commonUrl = (process.env.NODE_ENV === 'development' ? config.api_dev.common : config.api_prod.common)
 | 
			
		||||
 | 
			
		||||
// 文件上传接口
 | 
			
		||||
export const uploadFile = commonUrl+ "/common/upload/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',
 | 
			
		||||
 | 
			
		||||
@ -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>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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>
 | 
			
		||||
 | 
			
		||||
@ -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>
 | 
			
		||||
@ -9,7 +9,7 @@
 | 
			
		||||
      @end="onEnd"
 | 
			
		||||
    >
 | 
			
		||||
      <div class="upload-list" v-for="(item, index) in uploadList" :key="index">
 | 
			
		||||
        <div v-if="item.status == 'finished'">
 | 
			
		||||
        <div v-if="item.status == 'finished'" style="height:60px;">
 | 
			
		||||
          <img :src="item.url" />
 | 
			
		||||
          <div class="upload-list-cover">
 | 
			
		||||
            <Icon type="ios-eye-outline" @click="handleView(item.url)"></Icon>
 | 
			
		||||
 | 
			
		||||
@ -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"
 | 
			
		||||
@ -149,7 +149,7 @@
 | 
			
		||||
          orderSn: "",
 | 
			
		||||
          memberName: "",
 | 
			
		||||
          serviceStatus: "",
 | 
			
		||||
          sellerName:"",
 | 
			
		||||
          storeName:"",
 | 
			
		||||
          sn: "",
 | 
			
		||||
 | 
			
		||||
        },
 | 
			
		||||
@ -157,7 +157,7 @@
 | 
			
		||||
        form: {
 | 
			
		||||
          // 添加或编辑表单对象初始化数据
 | 
			
		||||
          sn: "",
 | 
			
		||||
          sellerName: "",
 | 
			
		||||
          storeName: "",
 | 
			
		||||
          startTime: "",
 | 
			
		||||
          endTime: "",
 | 
			
		||||
          billPrice: "",
 | 
			
		||||
 | 
			
		||||
@ -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();
 | 
			
		||||
 | 
			
		||||
@ -99,6 +99,15 @@
 | 
			
		||||
            key: "storeAddressPath",
 | 
			
		||||
            width: 300,
 | 
			
		||||
            sortable: false,
 | 
			
		||||
            render: (h, params) => {
 | 
			
		||||
            return h(
 | 
			
		||||
              "Tag",
 | 
			
		||||
              {
 | 
			
		||||
 | 
			
		||||
              },
 | 
			
		||||
              params.row.storeAddressPath ||  "暂未填写"
 | 
			
		||||
            );
 | 
			
		||||
          },
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            title: "是否自营",
 | 
			
		||||
 | 
			
		||||
@ -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: "是否自营",
 | 
			
		||||
 | 
			
		||||
@ -710,7 +710,7 @@ export default {
 | 
			
		||||
    //发送短信
 | 
			
		||||
    sendSms() {
 | 
			
		||||
      this.$refs.smsForm.validate((valid) => {
 | 
			
		||||
        const mobile = JSON.stringify(this.alreadyCheck);
 | 
			
		||||
        const mobile = this.alreadyCheck;
 | 
			
		||||
        this.smsForm.mobile = mobile;
 | 
			
		||||
        if (valid) {
 | 
			
		||||
          API_Setting.sendSms(this.smsForm).then((res) => {
 | 
			
		||||
 | 
			
		||||
@ -162,7 +162,11 @@
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
  // 建议引入通用样式 可删除下面样式代码
 | 
			
		||||
  @import "@/styles/table-common.scss";
 | 
			
		||||
 | 
			
		||||
   .sign-name {
 | 
			
		||||
    margin-top: 5px;
 | 
			
		||||
    margin-left: 20px;
 | 
			
		||||
@ -189,7 +193,3 @@
 | 
			
		||||
    margin-left: 100px;
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
  // 建议引入通用样式 可删除下面样式代码
 | 
			
		||||
  @import "@/styles/table-common.scss";
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,7 @@ import Vue from 'vue';
 | 
			
		||||
 | 
			
		||||
const app = {
 | 
			
		||||
    state: {
 | 
			
		||||
        shipTemplates:"",
 | 
			
		||||
        styleStore:"", //移动端楼层装修中选择风格存储
 | 
			
		||||
        loading: false, // 全局加载动画
 | 
			
		||||
        added: false, // 加载路由标识
 | 
			
		||||
 | 
			
		||||
@ -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) => {
 | 
			
		||||
 | 
			
		||||
      // 关闭的时候所有数据设置成disabled为true
 | 
			
		||||
      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);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,8 @@
 | 
			
		||||
                  <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}}
 | 
			
		||||
@ -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 />
 | 
			
		||||
                            </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>
 | 
			
		||||
@ -147,26 +135,15 @@
 | 
			
		||||
                        <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>
 | 
			
		||||
@ -186,15 +163,15 @@
 | 
			
		||||
import * as API_Shop from "@/api/shops";
 | 
			
		||||
import multipleRegion from "@/views/lili-components/multiple-region";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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= ""
 | 
			
		||||
      console.log(v);
 | 
			
		||||
      let area = "";
 | 
			
		||||
      let areaId = "";
 | 
			
		||||
      if (v != "") {
 | 
			
		||||
          v.forEach((child, index) => {
 | 
			
		||||
        v.forEach((child) => {
 | 
			
		||||
          if (child.selectedList != "") {
 | 
			
		||||
              child.selectedList.forEach((child, index) => {
 | 
			
		||||
            // 只显示省份
 | 
			
		||||
 | 
			
		||||
            if(child.selectedAll ){
 | 
			
		||||
                area += child.name + ","
 | 
			
		||||
                areaId+=child.id +","
 | 
			
		||||
              })
 | 
			
		||||
                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,13 +403,9 @@
 | 
			
		||||
            this.$Modal.remove();
 | 
			
		||||
            this.getData();
 | 
			
		||||
          });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
      });
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    this.init();
 | 
			
		||||
@ -408,11 +416,11 @@
 | 
			
		||||
.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 {
 | 
			
		||||
@ -421,33 +429,31 @@
 | 
			
		||||
  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;
 | 
			
		||||
  border-bottom: 1px solid #e6e6e6;
 | 
			
		||||
  vertical-align: top;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.order tbody tr td.bdr {
 | 
			
		||||
    border-right: 1px solid #E6E6E6;
 | 
			
		||||
  border-right: 1px solid #e6e6e6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.order tbody tr th {
 | 
			
		||||
    border: solid 1px #DDD;
 | 
			
		||||
  border: solid 1px #ddd;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.order tbody tr td.sep-row {
 | 
			
		||||
@ -464,7 +470,7 @@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.order tbody tr td.bdl {
 | 
			
		||||
    border-left: 1px solid #E6E6E6;
 | 
			
		||||
  border-left: 1px solid #e6e6e6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.order tbody tr th h3 {
 | 
			
		||||
@ -504,7 +510,8 @@
 | 
			
		||||
  border-color: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  caption, th {
 | 
			
		||||
caption,
 | 
			
		||||
th {
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -516,14 +523,17 @@
 | 
			
		||||
  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;
 | 
			
		||||
  border-bottom: solid 1px #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.w40 {
 | 
			
		||||
@ -534,23 +544,26 @@
 | 
			
		||||
  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 {
 | 
			
		||||
  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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -562,11 +575,13 @@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.ncsu-trans-type {
 | 
			
		||||
    background-color: #FFF;
 | 
			
		||||
    border: solid #DDD 1px;
 | 
			
		||||
  background-color: #fff;
 | 
			
		||||
  border: solid #ddd 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  i, cite, em {
 | 
			
		||||
i,
 | 
			
		||||
cite,
 | 
			
		||||
em {
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -578,6 +593,6 @@
 | 
			
		||||
  margin-left: 7px;
 | 
			
		||||
  margin-bottom: -8px;
 | 
			
		||||
  font-size: 15px;
 | 
			
		||||
    color: #F00;
 | 
			
		||||
  color: #f00;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user