Explorar el Código

咨询单下单字段增加,导出按钮测试代码

lucky-lzx hace 2 años
padre
commit
7257c08829

+ 53 - 0
src/views/purchaseIn/purchaseOrder/detail.vue

@@ -10,6 +10,10 @@
       >
         <span>采购单编号:</span><span>{{ queryId }} </span>
         <tolerance :newTime="newTime" v-if="newTime !== ''" :sitem="sitem" />
+
+        <el-button type="primary" style="margin-left:30px;" @click="download">
+          下载<i class="el-icon-download el-icon--right"></i>
+        </el-button>
       </div>
       <el-tabs v-model="activeTabs">
         <el-tab-pane label="业务详情" name="1">
@@ -183,6 +187,7 @@ import workDiffTable from "./components/work-diff-table";
 import ShowDataTableColumns from "./components/ShowDataTableColumns";
 import { order_type_options, statusOptions } from "./columns";
 import tolerance from "./components/tolerance";
+import urlConfig from "@/apis/url-config";
 export default {
   name: "purchaseOrderDetail",
   mixins: [mixinPage, resToken],
@@ -221,6 +226,8 @@ export default {
       loading: false,
       queryId: "",
       ReturnAddModel: false, //采购单退货弹窗
+
+      fileUrl: urlConfig.baseURL,
     };
   },
   mounted() {
@@ -228,6 +235,52 @@ export default {
     this.initData();
   },
   methods: {
+    //导出文件
+    download(){
+      if (!this.loading) {
+        this.loading = true;
+        // let httpType = `aplication/zip`;
+        let model = {
+          
+        };
+        axios({
+          method: "post",
+          url: this.fileUrl + "admin/checkexport",
+          responseType: "blob",
+          data: model,
+          // headers: {
+          //   Accept: httpType,
+          // },
+        })
+          .then((res) => {
+            if (res && res.status == 200 && res.data) {
+              this.$message.success(`${message}导出成功!`);
+              let url = window.URL.createObjectURL(new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}))
+              let link = document.createElement('a')
+              link.style.display = 'none'
+              link.href = url
+              let excelName = '测试.xlsx'
+              link.setAttribute('download', excelName)
+              document.body.appendChild(link)
+              link.click()
+              link.remove()
+              window.URL.revokeObjectURL(url); //释放掉blob对象
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            } else {
+              this.$message.error(res.data.message);
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+            this.loading = false;
+          });
+      }
+    },
     getNewTime() {
       this.newTime = new Date().valueOf();
     },

+ 5 - 24
src/views/sellOut/zixunOrder/components/ShowDataTableColumns.js

@@ -48,39 +48,20 @@ const ShowDataTableColumns = [
     label: "规格",
     _slot_: "specinfo",
   },
-  //需要修改字段
-  {
-    prop: "can_name",
-    label: "PO",
-  },
-   //需要修改字段
    {
-    prop: "can_name",
-    label: "业管",
-  },
-   //需要修改字段
-   {
-    prop: "can_name",
-    label: "备注",
-  },
-   //需要修改字段
-   {
-    prop: "can_name",
+    prop: "work_day",
     label: "工期",
   },
-   //需要修改字段
    {
-    prop: "can_name",
+    prop: "delivery_day",
     label: "物流",
   },
-   //需要修改字段
    {
-    prop: "can_name",
-    label: "发货地",
+    prop: "origin_addr",
+    label: "产地",
   },
-   //需要修改字段
    {
-    prop: "can_name",
+    prop: "creater",
     label: "采购人员",
   },
   {

+ 49 - 1
src/views/sellOut/zixunOrder/components/buyGoodModal.vue

@@ -141,6 +141,31 @@
                   <el-input v-model="ruleForm.remark" maxlength="500" placeholder="订单备注" />
                 </el-form-item>
               </el-col>
+              <el-col :span="7">
+                <el-form-item label="其他单号" prop="workNo" label-width="85px">
+                  <el-input v-model="ruleForm.workNo" maxlength="100" placeholder="如: 业管单号" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="10">
+                <el-form-item label="平台订单号" prop="platform_order" label-width="115px">
+                  <el-input v-model="ruleForm.platform_order" maxlength="100" placeholder="如: PO号" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="7">
+                <el-form-item label="到货时间" prop="arrtime" label-width="85px">
+                    <el-date-picker
+                    v-model="ruleForm.arrtime"
+                    type="date"
+                    style="width: 100%"
+                    :disabled="false"
+                    value-format="yyyy-MM-dd"
+                    :picker-options="pickerOptions"
+                    placeholder="要求到货时间"
+                    @change="mdDate"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
             </el-row>
           </el-form>
         </el-col>
@@ -435,6 +460,11 @@ export default {
       showModelThis: this.showModel,
       showGoodsModel: false,
       ShowDataTableColumns: ShowDataTableColumns,
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() < Date.now() - 1000 * 60 * 60 * 24;
+        },
+      },
       options: [
         {
           value: "1",
@@ -453,7 +483,9 @@ export default {
         sale_price: "",
         sendtype: "1", // 发货方式
         arrtime: "", // 到货时间
-        remark: "",
+        remark: "", //订单备注
+        platform_order: "", //平台订单号
+        workNo: "", //其他单号
       },
       rulesThis: this.rules,
       rules: {
@@ -485,6 +517,13 @@ export default {
             trigger: "blur",
           },
         ],
+        arrtime: [
+          {
+            required: true,
+            message: "要求到货时间",
+            trigger: "change",
+          },
+        ]
       },
       addrForm: {
         order_addr: [], //收货地址
@@ -549,6 +588,15 @@ export default {
     },
   },
   methods: {
+    //修改日期校验
+    mdDate(){ 
+      //用户传递的到货时间不能大于要求到货的时间  对要求到货时间进行字符截取10位抹除时分秒
+      if(Date.parse(this.ruleForm.arrtime) > Date.parse(this.sitem.in_arrival_time.substring(0,10))){
+        this.$message.warning("到货时间不能小于要求到货日期");
+        this.ruleForm.arrtime = ""
+      }
+    },
+
     closeModel() {
       console.log("closeModel!!");
       this.showModelThis = false;