|
@@ -8,43 +8,161 @@
|
|
|
:rules="formRules"
|
|
|
label-width="100px"
|
|
|
>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ :label="$t('order_management.order.customerName')"
|
|
|
+ prop="orderInfoId"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="form.orderInfoId"
|
|
|
+ :placeholder="$t('pleaseSelect')"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in orderSelectList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item
|
|
|
+ :label="$t('order_management.order.orderType')"
|
|
|
+ prop="type"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="form.type"
|
|
|
+ :placeholder="$t('pleaseSelect')"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in orderTypeList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.dictValue"
|
|
|
+ :value="item.dictKey"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div style="margin-bottom: 20px">
|
|
|
+ <labelTitle
|
|
|
+ :content="$t('order_management.order.orderDetails')"
|
|
|
+ ></labelTitle>
|
|
|
+ </div>
|
|
|
+ <el-form-item label-width="0px">
|
|
|
+ <el-button @click="selectDialog = true">
|
|
|
+ {{ $t("select") }}</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-table :data="form.orderSalesDetailsList">
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.productCode')"
|
|
|
+ prop="code"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.productName')"
|
|
|
+ prop="name"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.specs')"
|
|
|
+ prop="name"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.price')"
|
|
|
+ prop="name"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.quantity')"
|
|
|
+ prop="name"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('order_management.order.Subtotal')"
|
|
|
+ prop="name"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('operation')"
|
|
|
+ width="100"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" @click="deleteRow(scope.$index)">{{
|
|
|
+ $t("delete")
|
|
|
+ }}</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-row>
|
|
|
- <el-col :span="8">
|
|
|
+ <el-col :span="4">
|
|
|
<el-form-item
|
|
|
- :label="$t('product_material.customer.customerCode')"
|
|
|
+ :label="$t('order_management.order.orderAmount')"
|
|
|
prop="code"
|
|
|
>
|
|
|
<el-input
|
|
|
- v-model="form.code"
|
|
|
+ v-model="form.money"
|
|
|
:placeholder="$t('pleaseInput')"
|
|
|
+ disabled
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="1"></el-col>
|
|
|
- <el-col :span="15">
|
|
|
- <el-form-item label=".">
|
|
|
- <span>不输入则自动生成,自动编码规则示例:C00001</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
</el-row>
|
|
|
|
|
|
+ <div style="margin-bottom: 20px">
|
|
|
+ <labelTitle
|
|
|
+ :content="$t('order_management.order.harvestInfo')"
|
|
|
+ ></labelTitle>
|
|
|
+ </div>
|
|
|
+
|
|
|
<el-form-item
|
|
|
- :label="$t('product_material.customer.customerName')"
|
|
|
- prop="name"
|
|
|
+ :label="$t('order_management.order.contactInfo')"
|
|
|
+ required
|
|
|
>
|
|
|
- <el-input
|
|
|
- v-model="form.name"
|
|
|
- :placeholder="$t('pleaseInput')"
|
|
|
- ></el-input>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label-width="0" prop="contacts">
|
|
|
+ <el-input
|
|
|
+ v-model="form.contacts"
|
|
|
+ :placeholder="$t('order_management.order.contacts')"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label-width="0" prop="phone">
|
|
|
+ <el-input
|
|
|
+ v-model="form.phone"
|
|
|
+ :placeholder="$t('order_management.order.contactNumber')"
|
|
|
+ >
|
|
|
+ <template>
|
|
|
+ <div slot="prepend">+ 86</div>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item :label="$t('product_material.customer.address')" required>
|
|
|
+ <el-form-item :label="$t('order_management.order.address')" required>
|
|
|
<el-row :gutter="10">
|
|
|
- <el-col :span="8">
|
|
|
+ <el-col :span="4">
|
|
|
<el-form-item label-width="0" prop="countryId">
|
|
|
<el-select
|
|
|
v-model="form.countryId"
|
|
|
- :placeholder="$t('product_material.customer.country')"
|
|
|
+ :placeholder="$t('order_management.order.country')"
|
|
|
style="width: 100%"
|
|
|
@change="countryChange"
|
|
|
>
|
|
@@ -58,11 +176,11 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ <el-col :span="4">
|
|
|
<el-form-item label-width="0" prop="provinceId">
|
|
|
<el-select
|
|
|
v-model="form.provinceId"
|
|
|
- :placeholder="$t('product_material.customer.province')"
|
|
|
+ :placeholder="$t('order_management.order.province')"
|
|
|
style="width: 100%"
|
|
|
@change="provinceChange"
|
|
|
:disabled="!provinceData.length > 0"
|
|
@@ -77,11 +195,11 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ <el-col :span="4">
|
|
|
<el-form-item label-width="0" prop="cityId">
|
|
|
<el-select
|
|
|
v-model="form.cityId"
|
|
|
- :placeholder="$t('product_material.customer.city')"
|
|
|
+ :placeholder="$t('order_management.order.city')"
|
|
|
style="width: 100%"
|
|
|
:disabled="!provinceData.length > 0 && !cityData.length > 0"
|
|
|
>
|
|
@@ -95,67 +213,27 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="" prop="detailedAddress">
|
|
|
- <el-input
|
|
|
- v-model="form.detailedAddress"
|
|
|
- :placeholder="$t('pleaseInput')"
|
|
|
- type="textarea"
|
|
|
- rows="4"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item
|
|
|
- :label="$t('product_material.customer.contactInfo')"
|
|
|
- required
|
|
|
- >
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label-width="0" prop="contacts">
|
|
|
- <el-input
|
|
|
- v-model="form.contacts"
|
|
|
- :placeholder="$t('pleaseInput')"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="16">
|
|
|
- <el-form-item label-width="0" prop="phone">
|
|
|
- <el-input v-model="form.phone" :placeholder="$t('pleaseInput')">
|
|
|
- <template>
|
|
|
- <div slot="prepend">+ 86</div>
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-input
|
|
|
+ v-model="form.detailedAddress"
|
|
|
+ :placeholder="$t('pleaseInput')"
|
|
|
+ ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item :label="$t('product_material.customer.enclosure')">
|
|
|
- <el-upload
|
|
|
- class="upload-demo"
|
|
|
- action="/api/service-file/uploadFile"
|
|
|
- :headers="uploadHeader"
|
|
|
- :on-preview="handlePreview"
|
|
|
- :on-remove="handleRemove"
|
|
|
- :on-success="handleSuccess"
|
|
|
- multiple
|
|
|
- :file-list="fileList"
|
|
|
- >
|
|
|
- <el-button size="small" type="primary">点击上传</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
- <el-input
|
|
|
- v-model="form.remark"
|
|
|
- :placeholder="$t('pleaseInput')"
|
|
|
- type="textarea"
|
|
|
- rows="4"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
+ <!-- <el-row>
|
|
|
+ <el-col span="18">
|
|
|
+ <el-form-item :label="$t('remark')" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ :placeholder="$t('pleaseInput')"
|
|
|
+ type="textarea"
|
|
|
+ rows="4"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row> -->
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div style="text-align: center; margin-top: 15px">
|
|
@@ -166,6 +244,15 @@
|
|
|
{{ $t("submit") }}</el-button
|
|
|
>
|
|
|
</div>
|
|
|
+ <el-dialog
|
|
|
+ :title="$t('orderSelect')"
|
|
|
+ v-if="selectDialog"
|
|
|
+ :visible.sync="selectDialog"
|
|
|
+ width="80%"
|
|
|
+ top="60px"
|
|
|
+ >
|
|
|
+ <selectProduct @select="handleSelect"></selectProduct>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -173,9 +260,15 @@
|
|
|
import { getToken } from "@/util/auth";
|
|
|
import { getRegionData } from "@/api/system/common.js";
|
|
|
|
|
|
+import labelTitle from "@/components/label-title/index.vue";
|
|
|
+import selectProduct from "@/components/select-product/index.vue";
|
|
|
+
|
|
|
export default {
|
|
|
name: "addCustomer",
|
|
|
- components: {},
|
|
|
+ components: {
|
|
|
+ labelTitle,
|
|
|
+ selectProduct,
|
|
|
+ },
|
|
|
props: {
|
|
|
form: {
|
|
|
type: Object,
|
|
@@ -198,7 +291,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseSelect") +
|
|
|
- this.$t("product_material.customer.country"),
|
|
|
+ this.$t("order_management.order.country"),
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
@@ -207,7 +300,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseSelect") +
|
|
|
- this.$t("product_material.customer.province"),
|
|
|
+ this.$t("order_management.order.province"),
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
@@ -215,8 +308,7 @@ export default {
|
|
|
{
|
|
|
required: true,
|
|
|
message:
|
|
|
- this.$t("pleaseSelect") +
|
|
|
- this.$t("product_material.customer.city"),
|
|
|
+ this.$t("pleaseSelect") + this.$t("order_management.order.city"),
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
@@ -225,7 +317,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseSelect") +
|
|
|
- this.$t("product_material.customer.customerType"),
|
|
|
+ this.$t("order_management.order.orderType"),
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
@@ -234,7 +326,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseInput") +
|
|
|
- this.$t("product_material.customer.customerName"),
|
|
|
+ this.$t("order_management.order.orderName"),
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
@@ -243,7 +335,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseInput") +
|
|
|
- this.$t("product_material.customer.contacts"),
|
|
|
+ this.$t("order_management.order.contacts"),
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
@@ -252,7 +344,7 @@ export default {
|
|
|
required: true,
|
|
|
message:
|
|
|
this.$t("pleaseInput") +
|
|
|
- this.$t("product_material.customer.contactNumber"),
|
|
|
+ this.$t("order_management.order.contactNumber"),
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|