Procházet zdrojové kódy

同步已发货订单

lxf před 2 roky
rodič
revize
8f8d97423f

+ 9 - 0
src/api/shengde/group/synchronization/order.js

@@ -16,3 +16,12 @@ export function resetTime(data) {
     params: data,
   })
 }
+
+// 同步已发货订单
+export function importContract(data) {
+  return request({
+    url: '/saas-wanli/saas/wan/wanli/api/importContract/add',
+    method: 'post',
+    data: data,
+  })
+}

+ 91 - 21
src/views/shengde/group/synchronization/order/index.vue

@@ -1,27 +1,63 @@
 <template>
   <el-card class="box-card" v-loading="loadingStatus" element-loading-text="数据同步中,请稍后" element-loading-background="rgba(0, 0, 0, 0.2)">
-    <el-card style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 35vw; height: 35vh">
+    <el-card style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 35vw; height: 50vh">
       <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)">
-        <div style="font-size: 24px; font-weight: 700; color: #e51717; text-align: center">最后一次同步时间: {{ synchroTime }}</div>
-        <br />
-        <el-form ref="ruleForm" :model="form" :rules="formRules" label-width="100px">
-          <el-form-item label="重置同步时间:" prop="time">
-            <el-date-picker
-              type="datetime"
-              v-model="form.time"
-              placeholder="请选择重置同步时间"
-              size="small"
-              style="width: 100%"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              :picker-options="pickerOptions"
-              :default-time="time"
-            >
-            </el-date-picker>
-          </el-form-item>
-          <div style="width: 100%; padding-top: 16px; text-align: center">
-            <el-button type="primary" @click="clickSubmit()" size="small" v-db-click>保 存</el-button>
-          </div>
-        </el-form>
+        <el-tabs v-model="activeName">
+          <el-tab-pane label="重置时间" name="first">
+            <div style="font-size: 24px; font-weight: 700; color: #e51717; text-align: center">最后一次同步时间: {{ synchroTime }}</div>
+            <br />
+            <el-form ref="ruleForm" :model="form" :rules="formRules" label-width="100px">
+              <el-form-item label="重置同步时间:" prop="time">
+                <el-date-picker
+                  type="datetime"
+                  v-model="form.time"
+                  placeholder="请选择重置同步时间"
+                  size="small"
+                  style="width: 100%"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  :picker-options="pickerOptions"
+                  :default-time="time"
+                >
+                </el-date-picker>
+              </el-form-item>
+              <div style="width: 100%; padding-top: 16px; text-align: center">
+                <el-button type="primary" @click="clickSubmit()" size="small" v-db-click>保 存</el-button>
+              </div>
+            </el-form>
+          </el-tab-pane>
+          <el-tab-pane label="已发货订单" name="second">
+            <el-form ref="ruleFormTwo" :model="formTwo" :rules="formTwoRules" label-width="100px">
+              <el-form-item label="开始时间:" prop="approve_time">
+                <el-date-picker
+                  type="datetime"
+                  v-model="formTwo.approve_time"
+                  placeholder="请选择开始时间"
+                  size="small"
+                  style="width: 100%"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item label="结束时间:" prop="end_time">
+                <el-date-picker
+                  type="datetime"
+                  v-model="formTwo.end_time"
+                  placeholder="请选择结束时间"
+                  size="small"
+                  style="width: 100%"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item label="订单号:" prop="bill_code">
+                <el-input v-model="formTwo.bill_code" placeholder="请输入订单号"></el-input>
+              </el-form-item>
+              <div style="width: 100%; padding-top: 16px; text-align: center">
+                <el-button type="primary" @click="clickTwoSubmit()" size="small" v-db-click>保 存</el-button>
+              </div>
+            </el-form>
+          </el-tab-pane>
+        </el-tabs>
       </div>
     </el-card>
   </el-card>
@@ -42,6 +78,16 @@ export default {
       formRules: {
         time: [{ required: true, message: '请选择重置同步时间', trigger: ['change', 'blur'] }],
       },
+      formTwo: {
+        approve_time: '',
+        end_time: '',
+        bill_code: '',
+      },
+      formTwoRules: {
+        approve_time: [{ required: true, message: '请选择开始时间', trigger: ['change', 'blur'] }],
+        end_time: [{ required: true, message: '请选择结束时间', trigger: ['change', 'blur'] }],
+        bill_code: [{ required: true, message: '请输入订单号', trigger: 'blur' }],
+      },
       time: '00:00:00',
       loadingStatus: false,
       pickerOptions: {
@@ -49,6 +95,7 @@ export default {
           return time.getTime() < Date.now() - 8.64e7 - 8.64e7 - 8.64e7
         },
       },
+      activeName: 'first',
     }
   },
   created() {
@@ -70,6 +117,7 @@ export default {
           API.resetTime({ time: new Date(this.form.time).getTime() }).then(
             () => {
               this.loadingStatus = false
+              this.msgSuccess('同步完成')
               this.getTime()
             },
             (err) => {
@@ -80,6 +128,28 @@ export default {
         }
       })
     },
+    clickTwoSubmit() {
+      this.$refs.ruleFormTwo.validate((valid) => {
+        if (valid) {
+          let data = JSON.parse(JSON.stringify(this.formTwo))
+          let approve_time = new Date(this.formTwo.approve_time)
+          data.approve_time = Date.parse(approve_time)
+          let end_time = new Date(this.formTwo.end_time)
+          data.end_time = Date.parse(end_time)
+          this.loadingStatus = true
+          API.importContract(data).then(
+            () => {
+              this.loadingStatus = false
+              this.msgSuccess('同步完成')
+            },
+            (err) => {
+              console.log('importContract: ' + err)
+              this.loadingStatus = false
+            }
+          )
+        }
+      })
+    },
   },
 }
 </script>