Jelajahi Sumber

订单管理:通知人变更设置

liqianyi 2 tahun lalu
induk
melakukan
34c3cda4ef

+ 93 - 0
src/views/modules/order/order-notice-change-setting.vue

@@ -0,0 +1,93 @@
+<template>
+    <div>
+        <div class="my-title">变更通知人设置</div>
+        <!-- 表单 -->
+        <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
+          <el-row class="my-row">
+            <el-form-item label="通知接收人" prop="userIds">
+              <user-components v-model="dataForm.userIds" :userIds.sync="dataForm.userIds" @change="userSelectedChanged"/>
+            </el-form-item>
+          </el-row>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="onChose">取消</el-button>
+          <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+        </span>
+    </div>
+</template>
+
+<script>
+  import UserComponents from '../common/user-components'
+
+export default {
+    name: 'order-notice-change-setting',
+    components: {
+      UserComponents
+    },
+    data () {
+      return {
+        visible: false,
+        dataForm: {
+          userIds: []
+        },
+        dataRule: {
+          userIds: [{ required: true, message: '请选择通知接收人', trigger: 'change' }]
+        }
+      }
+    },
+    methods: {
+      onChose () {
+        this.$emit('onChose')
+      },
+      async init () {
+        this.dataForm = {}
+        this.$http({
+          url: this.$http.adornUrl(`/biz-service/order/noteChangeConfig`),
+          method: 'get'
+        }).then(({data}) => {
+          if (data && data.code === '200') {
+            this.dataForm = {
+              userIds: data.data
+            }
+          }
+        })
+        this.visible = true
+      },
+      validateField (type) {
+        this.$refs.dataForm.validateField(type)
+      },
+      // 表单提交
+      dataFormSubmit () {
+        this.$refs['dataForm'].validate((valid) => {
+          if (valid) {
+            this.$http({
+              url: this.$http.adornUrl(`/biz-service/order/noteChangeConfig`),
+              method: 'post',
+              data: this.dataForm.userIds
+            }).then(({data}) => {
+              if (data && data.code === '200') {
+                this.$message({
+                  message: '操作成功',
+                  type: 'success',
+                  duration: 1500,
+                  onClose: () => {
+                    this.onChose()
+                  }
+                })
+              } else {
+                this.$message.error(data.msg)
+              }
+            })
+          }
+        })
+      },
+      userSelectedChanged (val) {
+        this.dataForm.userIds = val
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 16 - 3
src/views/modules/order/order.vue

@@ -1,7 +1,7 @@
 <!-- 订单 -->
 <template>
   <div class="order">
-    <template v-if="!addOrUpdateVisible && !detailVisible && !arrivedVisible && !confirmVisible">
+    <template v-if="!addOrUpdateVisible && !detailVisible && !arrivedVisible && !confirmVisible && !noticeChangeAttachVisible">
       <el-form :inline="true" :model="dataForm" @keyup.enter.native="queryData()">
         <el-form-item label="客户名称">
           <cus-component v-model="dataForm.customerId" :cus-id="dataForm.customerId"></cus-component>
@@ -32,6 +32,7 @@
         <el-form-item>
           <el-button @click="queryData()">查询</el-button>
           <el-button v-if="isAuth('order:ctl:save')" @click="addOrUpdateHandle(0, false)" type="primary">创建订单</el-button>
+          <el-button v-if="isAuth('order:ctl:noteChangeConfig')" type="primary" @click="setNoticeChangeHandel()">订单业务变更通知设置</el-button>
         </el-form-item>
       </el-form>
       <el-table
@@ -135,7 +136,7 @@
           fixed="right"
           header-align="center"
           align="center"
-          width="180"
+          width="120"
           label="操作">
           <template slot-scope="scope">
             <el-button v-if="isAuth('order:ctl:info')" type="text" size="small" @click="detailHandle(scope.row.orderId)">查看</el-button>
@@ -160,6 +161,7 @@
     <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @onChose="onChose"></add-or-update>
     <detail v-if="detailVisible" ref="detail" @onChose="onChose"/>
     <dispatch-arrived v-if="arrivedVisible" ref="arrived" @refreshDataList="getDataList" @onChose="onChose"></dispatch-arrived>
+    <notice-change-setting v-if="noticeChangeAttachVisible" ref="noticeChangeSetting" @onChose="onChose"/>
   </div>
 </template>
 
@@ -169,13 +171,15 @@
   import { getOrderList, deliverOrder } from '@/api/sale'
   import CusComponent from '../common/cus-component'
   import DispatchArrived from './dispatch-arrived'
+  import NoticeChangeSetting from './order-notice-change-setting'
   export default {
     name: 'order',
     components: {
       DispatchArrived,
       CusComponent,
       AddOrUpdate,
-      Detail
+      Detail,
+      NoticeChangeSetting
     },
     created () {
       this.optionsState = this.$store.state.common.approveStates
@@ -187,6 +191,7 @@
         detailVisible: false,
         arrivedVisible: false,
         confirmVisible: false,
+        noticeChangeAttachVisible: false,
         dataForm: {},
         dataList: [],
         pageIndex: 1,
@@ -224,6 +229,7 @@
         this.detailVisible = false
         this.arrivedVisible = false
         this.confirmVisible = false
+        this.noticeChangeAttachVisible = false
       },
       // 查询
       queryData () {
@@ -330,6 +336,13 @@
         this.$nextTick(() => {
           this.$refs.addOrUpdate.init(row.orderId, false, 2)
         })
+      },
+      // 变更通知人设置
+      setNoticeChangeHandel () {
+        this.noticeChangeAttachVisible = true
+        this.$nextTick(() => {
+          this.$refs.noticeChangeSetting.init()
+        })
       }
     }
   }