Browse Source

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

wangh 2 years ago
parent
commit
6c19352782
2 changed files with 271 additions and 67 deletions
  1. 268 65
      src/components/OP/Groupedit.vue
  2. 3 2
      src/components/OP/OPgroup.vue

+ 268 - 65
src/components/OP/Groupedit.vue

@@ -2,50 +2,96 @@
     <div>
         <div class="groupedit">
             <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-                <el-form-item label="活销售报价号" prop="name">
-                  <el-input v-model="ruleForm.name"></el-input>
-                </el-form-item>
-                <el-form-item label="本团成单人" prop="region">
-                  <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-                    <el-option label="区域一" value="shanghai"></el-option>
-                    <el-option label="区域二" value="beijing"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="本团成单人" prop="region">
-                    <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-                      <el-option label="区域一" value="shanghai"></el-option>
-                      <el-option label="区域二" value="beijing"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="本团成单人" prop="region">
-                    <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-                      <el-option label="区域一" value="shanghai"></el-option>
-                      <el-option label="区域二" value="beijing"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="即时配送" prop="delivery">
-                  <el-switch v-model="ruleForm.delivery"></el-switch>
-                </el-form-item>
-                <el-form-item label="活动性质" prop="type">
-                  <el-checkbox-group v-model="ruleForm.type">
-                    <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
-                    <el-checkbox label="地推活动" name="type"></el-checkbox>
-                    <el-checkbox label="线下主题活动" name="type"></el-checkbox>
-                    <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
-                  </el-checkbox-group>
-                </el-form-item>
-                <el-form-item label="特殊资源" prop="resource">
-                  <el-radio-group v-model="ruleForm.resource">
-                    <el-radio label="线上品牌商赞助"></el-radio>
-                    <el-radio label="线下场地免费"></el-radio>
-                  </el-radio-group>
-                </el-form-item>
-                <el-form-item label="活动形式" prop="desc">
-                  <el-input type="textarea" v-model="ruleForm.desc"></el-input>
-                </el-form-item>
+                <div class="required-box">
+                    <el-form-item label-width="120px" label="销售报价号:">
+                        <el-input :readonly="true"  el-input v-model="ruleForm.quotenum"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="本团成单人:" prop="person">
+                        <el-select v-model="ruleForm.person" placeholder="请选择本团成单人     ">
+                            <el-option v-for="(item,index) in personarr" :key="index" :label="item.cnName" :value="item.id"></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="客户级别:" prop="grades">
+                        <el-select v-model="ruleForm.grades" placeholder="请选择客户级别">
+                            <el-option  v-for="(item,index) in gradearr" :key="index" :label="item.name" :value="item.id"></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="团组类型:" prop="OP">
+                        <el-select class="op-type" v-model="ruleForm.OP" placeholder="请选择团组类型">
+                            <el-option  v-for="(item,index) in OPtype" :key="index" :label="item.name" :value="item.id"></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="团组名称:" prop="groupname">
+                        <el-input   el-input v-model="ruleForm.groupname"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="客户名称:" prop="customername">
+                        <el-input   el-input v-model="ruleForm.customername"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="客户单位:" prop="customerunits">
+                        <el-input   el-input v-model="ruleForm.customerunits"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="出访国家:" prop="countriesvisited">
+                        <el-input   el-input v-model="ruleForm.countriesvisited"></el-input>
+                    </el-form-item>
+                    <el-form-item  label-width="120px" label="出访时间:" prop="visitingtime">
+                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.visitingtime" style="width: 100%;"></el-date-picker>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="出访天数:" prop="numdays">
+                        <el-input   el-input v-model="ruleForm.numdays"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="出访人数:" prop="numperson">
+                        <el-input   el-input v-model="ruleForm.numperson"></el-input>
+                    </el-form-item>
+                    <el-form-item  label-width="120px" label="合同时间:" prop="contracttime">
+                        <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.contracttime" style="width: 100%;"></el-date-picker>
+                    </el-form-item>
+                </div>
+                <div class="advance-box">
+                    <el-form-item label-width="120px" label="于出访时间前" prop="occasion">
+                        <el-input style="width: 100px;" el-input v-model="ruleForm.occasion"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="98px" label="日支付款项:" prop="payments">
+                        <el-input   el-input v-model="ruleForm.payments"></el-input>
+                    </el-form-item>
+                    <span style="margin-bottom: 22px;display: inline-block;color: #606266;font-size: 14px;">(预付款,请输入RMB)</span>
+                </div>
+                <el-form>
+                    <el-form-item label-width="120px" label="出访目的:">
+                        <el-input type="textarea" v-model="ruleForm.purposevisit"></el-input>
+                      </el-form-item>
+                      <el-form-item label-width="120px" label="特殊需求:">
+                          <el-input type="textarea" v-model="ruleForm.specialneeds"></el-input>
+                      </el-form-item>
+                      <el-form-item label-width="120px" label="其他需求:">
+                          <el-input type="textarea" v-model="ruleForm.otherneeds"></el-input>
+                      </el-form-item>
+                </el-form>
+                <el-form class="approval-box">
+                    <el-form-item label-width="160px" label="出国任务审批部门名称:">
+                        <el-input  el-input v-model="ruleForm.approvalname"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="批件文号:">
+                        <el-input   el-input v-model="ruleForm.approvalnumber1"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="130px" label="政治审查部门名称:">
+                        <el-input   el-input v-model="ruleForm.censorshipdepartment"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="批件文号:">
+                        <el-input   el-input v-model="ruleForm.approvalnumber2"></el-input>
+                    </el-form-item>
+                </el-form>
+                <el-form>
+                    <el-form-item label-width="120px" label="备注:">
+                        <el-input type="textarea" v-model="ruleForm.remark"></el-input>
+                    </el-form-item>
+                    <el-form-item label-width="120px" label="手机号:">
+                        <el-input type="textarea" v-model="ruleForm.phonenumber"></el-input>
+                    </el-form-item>
+                </el-form>
                 <el-form-item>
                   <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
-                  <el-button @click="resetForm('ruleForm')">重置</el-button>
+                  <el-button @click="resetForm('ruleForm')">重 置</el-button>
+                  <el-button @click="resetForm('ruleForm')">返 回</el-button>
                 </el-form-item>
               </el-form>
         </div>
@@ -56,42 +102,84 @@
 export default {
     data() {
       return {
+        editid:'',
+        token:'',
         ruleForm: {
-          name: '',
-          region: '',
-          date1: '',
-          date2: '',
-          delivery: false,
-          type: [],
-          resource: '',
-          desc: ''
+          quotenum:'',
+          groupname: '',
+          customername: '',
+          customerunits:'',
+          countriesvisited:'',
+          visitingtime:'',
+          contracttime:'',
+          numdays:'',
+          numperson:'',
+          occasion:'',
+          payments:'',
+          purposevisit: '',
+          specialneeds:'',
+          otherneeds:'',
+          approvalname:'',
+          approvalnumber1:'',
+          approvalnumber2:'',
+          censorshipdepartment:'',
+          remark:'',
+          phonenumber:'',
+          OP:'',
+          grades:'',
+          person:''
         },
+        personarr:[],
+        gradearr:[],
+        OPtype:[],
         rules: {
-          name: [
-            { required: true, message: '请输入活动名称', trigger: 'blur' },
-            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
+          groupname: [
+            { required: true, message: '请输入团组名称', trigger: 'blur' },
+          ],
+          customername: [
+            { required: true, message: '请输入客户名称', trigger: 'blur' },
+          ],
+          customerunits:[
+            { required: true, message: '请输入客户单位', trigger: 'blur' },
+          ],
+          countriesvisited:[
+            { required: true, message: '请输入出访国家', trigger: 'blur' },
+          ],
+          person: [
+            { required: true, message: '请选择成团人', trigger: 'change' }
+          ],
+          grades:[
+            { required: true, message: '请选择级别', trigger: 'change' }
           ],
-          region: [
-            { required: true, message: '请选择活动区域', trigger: 'change' }
+          OP:[
+            { required: true, message: '请选择类型', trigger: 'change' }
           ],
-          date1: [
+          visitingtime: [
             { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
           ],
-          date2: [
+          contracttime: [
             { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
           ],
-          type: [
-            { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
+          numdays:[
+            { required: true, message: '请输入出访天数', trigger: 'blur' },
+            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
           ],
-          resource: [
-            { required: true, message: '请选择活动资源', trigger: 'change' }
+          numperson:[
+            { required: true, message: '请输入出访人数', trigger: 'blur' },
+            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
           ],
-          desc: [
-            { required: true, message: '请填写活动形式', trigger: 'blur' }
+          occasion:[
+            { required: true, message: '请输入出天数', trigger: 'blur' },
+            {pattern:"^\\d+$",message: "请输入正整数",trigger: "blur"}
+          ],
+          payments:[
+            { required: true, message: '请输入出款额', trigger: 'blur' },
+            {pattern:"^\\d+(\\.\\d+)?$",message: "请输入正浮点数或整数",trigger: "blur"}
           ]
         }
       };
-    },methods: {
+    },
+    methods: {
       submitForm(formName) {
         this.$refs[formName].validate((valid) => {
           if (valid) {
@@ -104,7 +192,97 @@ export default {
       },
       resetForm(formName) {
         this.$refs[formName].resetFields();
-      }
+      },
+      getdown(){
+            var url="/api/Groups/GroupEditBasicSource"
+            var that=this
+            this.$axios({
+                method: 'post',
+                url:url,
+                headers:{
+                    Authorization:'Bearer '+this.token
+                },
+                data:{
+                    portType: 1,
+                }
+            }).then(function(res){
+                if(res.data.code==200){
+                    that.personarr=res.data.data.userData;
+                    that.gradearr=res.data.data.teamLevData;
+                    that.OPtype=res.data.data.teamTypeData;
+                }
+            })
+        },
+        getSalesQuoteNo(){
+            var url="/api/Groups/GetGroupSalesQuoteNo"
+            var that=this
+            if(this.editid==undefined){
+                this.$axios({
+                    method: 'post',
+                    url:url,
+                    headers:{
+                        Authorization:'Bearer '+this.token
+                    },
+                }).then(function(res){
+                    if(res.data.code==200){
+                        that.ruleForm.quotenum=res.data.data.salesQuoteNo;
+                    }
+                })
+            }
+        },
+        getGroupInfo(){
+            var url="/api/Groups/GetGroupInfo"
+            var that=this
+            var datagroup
+            if(this.editid!=undefined){
+                this.$axios({
+                    method: 'post',
+                    url:url,
+                    headers:{
+                        Authorization:'Bearer '+this.token
+                    },
+                    data:{
+                        portType:1,
+                        id:that.editid
+                    }
+                }).then(function(res){
+                    if(res.data.code==200){
+                        datagroup=res.data.data;
+                        console.log(datagroup)
+                        that.ruleForm.quotenum=datagroup.salesQuoteNo;
+                        that.ruleForm.groupname=datagroup.teamName;
+                        that.ruleForm.customername=datagroup.clientName;
+                        that.ruleForm.customerunits=datagroup.clientUnit;
+                        that.ruleForm.countriesvisited=datagroup.visitCountry.replaceAll("|","、");
+                        that.ruleForm.visitingtime=new Date(datagroup.visitDate.split(' ')[0]);
+                        that.ruleForm.numdays=datagroup.visitDays+"";
+                        that.ruleForm.numperson=datagroup.visitPNumber+"";
+                        that.ruleForm.contracttime=new Date(datagroup.tontractTime.split(' ')[0]);
+                        that.ruleForm.payments=datagroup.paymentMoney+'';
+                        that.ruleForm.occasion=datagroup.payDay+'';
+                        that.ruleForm.purposevisit=datagroup.visitPurpose;
+                        that.ruleForm.specialneeds=datagroup.specialNeeds;
+                        that.ruleForm.otherneeds=datagroup.otherNeeds;
+                        that.ruleForm.approvalname=datagroup.cgrwspbmmc;
+                        that.ruleForm.approvalnumber1=datagroup.cgrwspwh;
+                        that.ruleForm.censorshipdepartment=datagroup.zzscbmmc;
+                        that.ruleForm.approvalnumber2=datagroup.zzscspwh;
+                        that.ruleForm.remark=datagroup.remark;
+                        that.ruleForm.phonenumber=datagroup.tellPhone;
+                        that.ruleForm.OP=datagroup.teamDid;
+                        that.ruleForm.grades=datagroup.teamLevSId;
+                        that.ruleForm.person=datagroup.jietuanOperator;
+                    }
+                })
+            }
+        }
+    },
+    mounted(){
+        this.editid=this.$route.query.id;
+        this.token=JSON.parse(localStorage.getItem('userinif')).token;
+        this.getSalesQuoteNo();
+        this.getdown();
+        this.getGroupInfo();
     }
 }
 </script>
@@ -114,4 +292,29 @@ export default {
         border-radius: 10px;
         padding: 20px;
     }
+    .required-box{
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+    }
+    .required-box>div{
+        width: 30%;
+    }
+    .required-box .el-select{
+        width: 100%;
+    }
+    .approval-box{
+        display: flex;
+        justify-content: space-between;
+    }
+    .approval-box>div{
+        width: 23%;
+    }
+    .approval-box>div:nth-child(1){
+        width: 30%;
+    }
+    .advance-box{
+        display: flex;
+        align-items: center;
+    }
 </style>>

+ 3 - 2
src/components/OP/OPgroup.vue

@@ -200,7 +200,7 @@ export default {
         },
         //
         Grouplist(){
-            var url="/api/Group"
+            var url="/api/Groups/GetGroupList"
             var that=this
             this.$axios({
                 method: 'post',
@@ -258,7 +258,7 @@ export default {
             })
         },
         filteryear(val){
-            let gstime=val.visitDate.split('T')[0]
+            let gstime=val.visitDate.split(' ')[0]
             return gstime;
         },
         //筛选状态
@@ -307,6 +307,7 @@ export default {
         //编辑
         handleEdit(index, row) {
             console.log(index, row.id);
+            this.$router.push({path: '/home/Groupedit?id=' + row.id +''});
         },
         //删除
         handleDelete(index, row) {