Explorar o código

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

qymljy %!s(int64=2) %!d(string=hai) anos
pai
achega
271b1fd61c

+ 13 - 8
src/HDrpManagement/serveWorkBill/components/edit.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
-    <el-drawer title="新 建" append-to-body :show-close="false" :visible.sync="dialogFormVisible" size="40%">
+    <el-drawer title="新 建" append-to-body :show-close="false" :visible.sync="dialog" size="40%">
       <div slot="title" style="font-size: 15px">
         编辑服务工单
       </div>
@@ -61,7 +61,7 @@
                 <el-input v-model="form.scenecontactphonenumber" placeholder="请输入联系人电话"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <!-- <el-col :span="24">
               <el-form-item label="服务团队" prop="servicetype">
                 <selectTeam ref="team" @teamChange="teamChange">
                   <el-tag
@@ -76,7 +76,7 @@
                   <el-button class="button-new-tag" size="small" @click="$refs.team.dialogFormVisible=true">+ New people</el-button>
                 </selectTeam>
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <el-col :span="24">
               <el-form-item label="备注" prop="remarks">
                 <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
@@ -86,7 +86,7 @@
         </el-row>
       </div>
       <div class="fixed__btn__panel">
-        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" @click="dialog = false" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
       </div>
     </el-drawer>
@@ -98,14 +98,13 @@ import selectOrder from './selectOrder'
 import selectTemplate from './selectTemplate'
 
 import selectTeam from './teamSelect'
-import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "add",
   props:['data'],
   components:{selectOrder,selectTemplate,selectTeam},
   data(){
     return {
-      dialogFormVisible:false,
+      dialog:false,
       serveClassList:[],
       form:{
         "sa_workorderid":'',     //sa_brandid<=0时 为新增
@@ -140,7 +139,7 @@ export default {
   },
   methods:{
     editBtn () {
-      this.dialogFormVisible = true
+      this.dialog = true
       this.form = Object.assign({},this.form,this.data)
       this.form.projectlearders = this.form.team
       console.log(this.form);
@@ -159,7 +158,7 @@ export default {
         this.tool.showMessage(res,()=>{
           this.$emit('onSuccess')
           this.$refs['form'].resetFields();
-          this.dialogFormVisible = false
+          this.dialog = false
         })
       })
     },
@@ -197,6 +196,12 @@ export default {
           userid:item.userid
         }
       })
+      result = result.filter(item => {
+        let is = this.form.projectlearders.every(item2 => {
+          return item.userid != item2.userid
+        })
+        if (is) return item
+      })
       this.form.projectlearders.push(...result)
       this.$refs.team.dialogFormVisible = false
     }

+ 29 - 5
src/HDrpManagement/serveWorkBill/components/teamSelect.vue

@@ -45,14 +45,38 @@ export default {
       tablecols:[],
       teamList:[],
       total:0,
+      // params: {
+      //   "id": 20221102090303,
+      //   "content": {
+      //     containssub:true,
+      //     departmentids:[1],
+      //       where: {
+      //         isworker:0
+      //       }
+      //   }
+      // },
       params: {
-        "id": 20221102090303,
+        "id": "20230213143003",
+        "version":1,
         "content": {
-          containssub:true,
-          departmentids:[1],
-            where: {
-              isworker:0
+            "where":{
+                "condition":"",
+                "isleader":0
             }
+
+        }
+      },
+      param:{
+        id:'20221018122203',
+        content: {
+          "ownertable":this.ownertable,
+          "ownerid":this.$route.query.id,
+          "pageSize":20,
+          "where":{
+            "justsaler":0,
+            "condition":"",
+            "withoutselect":0,
+          }
         }
       },
       result:'',

+ 27 - 2
src/HDrpManagement/serveWorkBill/modules/detail.vue

@@ -99,7 +99,11 @@
         </checkBill>
       </div>
       <div slot="slot2">
-        <teamList :data="mainData.team"></teamList>
+        <teamList v-if="tool.checkAuth($route.name,'teamList')" ref="teamList" :data="mainData.team">
+          <selectTeam ref="team" @teamChange="teamChange" slot="add">
+            <el-button  v-if="tool.checkAuth($route.name,'teamHandle')" class="button-new-tag" size="small" type="primary" @click="$refs.team.dialogFormVisible=true">添 加</el-button>
+          </selectTeam>
+        </teamList>
       </div>
       <div slot="slot3">
         <Items :data="mainData.titems"></Items>
@@ -119,6 +123,8 @@ import taskListEdit from './taskDetail/taskListEdit'
 import checkBill from './checkBill/index'
 import teamList from './teamList/index'
 import Items from './items/index'
+import selectTeam from '../components/teamSelect'
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "detail",
   data() {
@@ -136,7 +142,8 @@ export default {
     taskListEdit,
     checkBill,
     teamList,
-    Items
+    Items,
+    selectTeam
   },
   methods:{
     async queryMainData(id) {
@@ -161,6 +168,24 @@ export default {
       })      
       window.open(data.attinfos[0].url,'_self')
     },
+    async teamChange (data) {
+      let result = data.map(item => {
+        return item.userid
+      })
+      const res = await this.$api.requested({
+        "id": 20220930103603,
+        "content": {
+            "ownertable":'sa_workorder',
+            "ownerid":this.$route.query.id,
+            "justuserids":false,
+            "userids": result
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$refs.team.dialogFormVisible = false
+        this.$refs.teamList.listData()
+      })
+    },
     changeDataStructure() {
       let that = this
       this.mainAreaData = [

+ 55 - 5
src/HDrpManagement/serveWorkBill/modules/teamList/index.vue

@@ -14,10 +14,13 @@
           clearable>
       </el-input>
     </div> -->
+    <div style="margin-bottom:16px">
+      <slot name="add"></slot>
+    </div>
     <div style="margin-top: 15px">
       <el-table
           ref="multipleTable"
-          :data="data"
+          :data="teamList"
           style="width: 100%"
           size="mini"
           height="50vh"
@@ -25,6 +28,10 @@
           <el-table-column
             prop="name"
             label="姓名">
+            <template slot-scope="scope">
+              <span class="inline-16">{{ scope.row.name }}</span>
+              <el-tag size="mini" v-if="scope.row.isleader">负责人</el-tag>
+            </template>
           </el-table-column>
           <el-table-column
             prop="phonenumber"
@@ -35,6 +42,13 @@
               label="角色">
               <template slot-scope="scope">{{scope.row.isleader ? '服务主管' : '服务人员'}}</template>
           </el-table-column>
+          <el-table-column
+              label="操作">
+              <template slot-scope="scope">
+                  <el-button :disabled="!tool.checkAuth($route.name,'teamHandle')" class="inline-16" size="mini" type="text" @click="delPeople(scope.row)">删 除</el-button>
+                  <el-button :disabled="scope.row.isleader || !tool.checkAuth($route.name,'teamHandle')" size="mini" type="text" @click="setLeader(scope.row)">设 置 负 责 人</el-button>
+              </template>
+          </el-table-column>
         </el-table>
     </div>
   </div>
@@ -42,17 +56,53 @@
 
 <script>
 export default {
-  props:["data"],
+  props:[],
   data () {
     return {
-      options:[
-      ],
+      teamList:[]
     }
   },
   methods:{
-  
+    async listData () {
+      const res = await this.$api.requested({
+        "id": 20220930103501,
+        "content": {
+          "ownertable":'sa_workorder',
+          "ownerid":this.$route.query.id
+        }
+      })
+      this.teamList = res.data[0].team
+      console.log(this.teamList,'团队数据');
+    },
+    async delPeople (data) {
+      const res = await this.$api.requested({
+        "id": 20220930103803,
+        "content": {
+            "ownertable":"sa_workorder",
+            "ownerid":this.$route.query.id,
+            "userids":[data.userid]
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.listData()
+      })
+    },
+    async setLeader (data) {
+      const res = await this.$api.requested({
+        "id": 20220930103703,
+        "content": {
+            "ownertable":"sa_workorder",
+            "ownerid":this.$route.query.id,
+            "userid":data.userid
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.listData()
+      })
+    }
   },
   created() {
+    this.listData()
   }
 }
 

+ 4 - 0
src/SDrpManagement/agentOrder/details/index.vue

@@ -219,6 +219,10 @@ export default {
           label:'运费状态',
           value:this.mainData.freightstatus
         },
+        {
+          label:'项目名称',
+          value:this.mainData.projectname
+        },
         {
           label:'项目备注',
           value:this.mainData.projectnote

+ 1 - 1
src/SDrpManagement/agentOrder/modules/productlist.vue

@@ -267,7 +267,7 @@ export default {
         "content": {
           "sa_orderid": this.$route.query.id, //订单ID
           "pageNumber": 1,
-          "pageSize": 20,
+          "pageSize": 10000,
           "where": {
             "condition": ""
           }

+ 1 - 1
src/SDrpManagement/salerOrder/modules/productlist.vue

@@ -283,7 +283,7 @@ export default {
         "content": {
           "sa_orderid": 0, //订单ID
           "pageNumber": 1,
-          "pageSize": 20,
+          "pageSize": 10000,
           "where": {
             "condition": ""
           }