codeMan il y a 3 ans
Parent
commit
6a8639b494

+ 2 - 2
src/HDrpManagement/invoiceapp/detail/tab/invoiceOrder/components/addorderline.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button v-if="tool.checkAuth($route.name,'InvioceOrder')" :disabled="status !== '新建'" style="margin-bottom:10px" size="small" type="primary" @click="onShow">添加订单行</el-button>
-    <el-dialog title="可添加订单" append-to-body :visible.sync="dialogTableVisible">
+    <el-dialog title="开票订单行" append-to-body :visible.sync="dialogTableVisible">
       <div class="flex-align-center" style="margin-bottom:16px">
         <el-input size="small"  
           style="width:200px"
@@ -11,7 +11,7 @@
         <uploadAllData
           class="inline-16"
           :total="total"
-          dataType="订单"
+          dataType="订单"
           @handlePullApi="handlePullApi"
           @handleUploadApi="handleUploadApi"
           @onSuccess="onSuccess"

+ 1 - 0
src/HDrpManagement/serveBill/modules/detail.vue

@@ -65,6 +65,7 @@
             <delete-btn nameId="20230206162003" v-if="tool.checkAuth($route.name,'serveProduct') && mainData.status == '新建'" nameKey="sa_serviceorderitemsids" :id="scope.data.sa_serviceorderitemsid" @deleteSuccess="$refs.product.listData()"></delete-btn>
           </template>
         </productTable>
+        
       </div>
     </basicDetails>
   </div>

+ 2 - 1
src/HDrpManagement/serveBill/modules/product/add.vue

@@ -94,7 +94,8 @@ export default {
         return {
           "sa_serviceorderitemsid": 0, 
           "itemid": item.itemid, 
-          "reason": ''
+          "reason": '',
+          "qty":1
         }
       })
       let res = await this.$api.requested({

+ 8 - 1
src/HDrpManagement/serveBill/modules/product/index.vue

@@ -24,6 +24,12 @@
             </div>
             <div v-else>{{scope.column.data.reason ? scope.column.data.reason : '--'}}</div>
           </div>
+          <div v-else-if="scope.column.columnname == 'qty'">
+            <div v-if="currentProduct.sa_serviceorderitemsid == scope.column.data.sa_serviceorderitemsid">
+              <el-input type="text" size="mini" v-model="scope.column.data.qty"></el-input>
+            </div>
+            <div v-else>{{scope.column.data.qty ? scope.column.data.qty : '--'}}</div>
+          </div>
           <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
           <p v-if="!scope.column.data[scope.column.columnname] && scope.column.data[scope.column.columnname] !== 0 && scope.column.columnname != 'operation'&& scope.column.columnname != 'reason'">--</p>
         </template>
@@ -87,7 +93,8 @@ export default {
                 {
                   "sa_serviceorderitemsid": data.sa_serviceorderitemsid, 
                   "itemid": data.itemid, 
-                  "reason": data.reason
+                  "reason": data.reason,
+                  qty:data.qty
                 }
             ]
 

+ 187 - 55
src/HDrpManagement/serveWorkBill/components/printTable.vue

@@ -2,7 +2,7 @@
 <template>
   <div style="display:flex">
     <!-- <canvas id="mycanvas" width="400" hight="400"></canvas> -->
-    <div style="display:inline-block;margin:0 auto;text-align: center;">
+    <div style="display:inline-block;margin:0 auto;">
       <!--安装培训确认单-->
       <div ref="container" style="background:#ffffff" v-if="detail.workorder.type == '安装培训'">
         <div slot="title">
@@ -72,12 +72,12 @@
                     {{ scope.row.itemname ? scope.row.itemname : '--' }}
                 </template>
               </el-table-column>
-              <el-table-column prop="itemno"  label="编号">
+              <el-table-column prop="itemno" width="200"  label="编号">
                 <template slot-scope="scope">
                     {{ scope.row.itemno ? scope.row.itemno : '--' }}
                 </template>
               </el-table-column>
-              <el-table-column width="200" prop="qty"  label="数量">
+              <el-table-column width="60" prop="qty"  label="数量">
                 <template slot-scope="scope">
                     {{ scope.row.qty ? scope.row.qty : '--' }}
                 </template>
@@ -162,7 +162,7 @@
                       {{ scope.row.itemname ? scope.row.itemname : '--' }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="itemno"  label="编号">
+                <el-table-column prop="itemno" width="200" label="编号">
                   <template slot-scope="scope">
                       {{ scope.row.itemno ? scope.row.itemno : '--' }}
                   </template>
@@ -284,52 +284,168 @@
             </td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">客诉情况</td>
-            <td colspan="5">{{ detail.workorder.reason }}</td>
+            <td colspan="2" style="background:#FAFAFA">客诉情况</td>
+            <td colspan="1">{{ detail.workorder.reason }}</td>
+            <td colspan="2" style="background:#FAFAFA">是否为我公司生产、出货产品?</td>
+            <td colspan="1">{{ detail.workorder.isouritem === 1?'是':'否' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">是否为我公司生产、出货产品?</td>
-            <td colspan="5">{{ detail.workorder.isouritem === 1?'是':'否' }}</td>
+            <td colspan="2" style="background:#FAFAFA">是否可以在线维修、调试</td>
+            <td colspan="1">{{ text.descriptions1 }}</td>
+            <td colspan="2" style="background:#FAFAFA">是否需要拆卸配件或整拆?</td>
+            <td colspan="1">{{ text.descriptions2 }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">是否可以在线维修、调试</td>
-            <td colspan="5">{{ text.descriptions1 }}</td>
+            <td colspan="2" style="background:#FAFAFA">与现场协商确认维修方案(包含周期)?</td>
+            <td colspan="1">{{ text.descriptions3 }}</td>
+            <td colspan="2" style="background:#FAFAFA">是否有偿服务</td>
+            <td colspan="5">{{ text.descriptions4 > 0?'是':'否' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">是否需要拆卸配件或整拆?</td>
-            <td colspan="5">{{ text.descriptions2 }}</td>
+            <td colspan="2" style="background:#FAFAFA">服务金额</td>
+            <td colspan="1">{{ text.descriptions4 }}</td>
+            <td colspan="2" style="background:#FAFAFA">实施内容</td>
+            <td colspan="1">{{ text.descriptions5 }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">与现场协商确认维修方案(包含周期)?</td>
-            <td colspan="5">{{ text.descriptions3 }}</td>
+            <td colspan="2" style="background:#FAFAFA">服务测试内容描述</td>
+            <td colspan="1">{{ text.descriptions6 }}</td>
+            <td colspan="2" style="background:#FAFAFA">现场交代事项</td>
+            <td colspan="1">{{ text.descriptions7 }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">是否有偿服务</td>
-            <td colspan="5">{{ text.descriptions4 > 0?'是':'否' }}</td>
+            <td style="background:#FAFAFA">保质期</td>
+            <td colspan="5">{{ detail.workorder.isouritem === 1?'内':'外' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">服务金额</td>
-            <td colspan="5">{{ text.descriptions4 }}</td>
+            <td style="background:#FAFAFA">备注说明</td>
+            <td colspan="5">{{ detail.workorder.remarks || '--' }}</td>
+          </tr>
+          <tr>
+            <td style="background:#FAFAFA">客户意见及签字确认:</td>
+            <td colspan="5"><img ref="nameImage" style="width:200px" v-if="signatureName.length" :src="signatureName[0].url" alt=""></td>
+          </tr>
+          <tr>
+            <td style="background:#FAFAFA">反应速度</td>
+            <td colspan="2">{{ detail.responsescore }}</td>
+            <td style="background:#FAFAFA">配合态度</td>
+            <td colspan="2">{{ detail.attitudescore }}</td>
+          </tr>
+          <tr>
+            <td style="background:#FAFAFA"></td>
+            <td colspan="5">尊敬的用户,感谢您一直以来对我们公司的信任和支持,为更好的为您提供优质服务和产品,请允许我们的客户人员带回您最宝贵的意见</td>
+          </tr>
+        </table>
+      </div>
+      <!--非工序确认单-->
+      <div ref="container" style="background:#ffffff" v-else-if="detail.workorder.type == '非工序模板'">
+        <div slot="title">
+            <h2 style="margin:0;text-align: center;">浙江班尼戈智慧管网股份有限公司</h2>
+            <h3 style="text-align: center;">服务确认单 </h3>
+            <div class="flex">
+                <p>日期:{{detail.createdate}}</p>
+                  <p> 编号:{{detail.confirmationno}}</p>
+            </div>
+        </div>
+        <table id="header__table" border="1" style="border-collapse: collapse;border:1px solid #EBEBED;">
+          <tr>
+            <td class="td__title">项目名称</td>
+            <td>{{ detail.workorder.projectname || '--' }}</td>
+            <td class="td__title">保质期</td>
+            <td>{{detail.workorder.isouritem === 1?'内':'外'}}</td>
+            <td class="td__title">服务方式</td>
+            <td>{{ detail.workorder.projectleader || '--' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">实施内容</td>
-            <td colspan="5">{{ text.descriptions5 }}</td>
+            <td class="td__title">服务单号</td>
+            <td>{{ detail.workorder.servicebillno || '--' }}</td>
+            <td class="td__title">服务类型</td>
+            <td>{{ detail.workorder.servicetype || '--' }}</td>
+            <td class="td__title">订单号</td>
+            <td>{{ detail.workorder.sonum || '--' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">服务测试内容描述</td>
-            <td colspan="5">{{ text.descriptions6 }}</td>
+            <td class="td__title">联系人</td>
+            <td>{{ detail.workorder.scenecontact || '--' }}</td>
+            <td class="td__title">联系方式</td>
+            <td>{{ detail.workorder.scenecontactphonenumber || '--' }}</td>
+            <td class="td__title">应用系统</td>
+            <td>{{ detail.workorder.class1 || '--' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">现场交代事项</td>
-            <td colspan="5">{{ text.descriptions7 }}</td>
+            <td class="td__title">是否保内</td>
+            <td>{{ detail.workorder.inqualityguaranteeperiod ? '是' : '否' }}</td>
+            <td class="td__title">售后人员</td>
+            <td>{{ detail.workorder.saler_name || '--' }}</td>
+            <td class="td__title">经销商名称</td>
+            <td>{{ detail.workorder.enterprisename || '--' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">保质期</td>
-            <td colspan="5">{{ detail.workorder.isouritem === 1?'内':'外' }}</td>
+            <td class="td__title">申请原因</td>
+            <td colspan="6">{{ detail.workorder.reason || '--' }}</td>
           </tr>
           <tr>
-            <td style="background:#FAFAFA">备注说明</td>
-            <td colspan="5">{{ workorder.remarks || '--' }}</td>
+            <td class="td__title">地址</td>
+            <td colspan="6">{{ detail.workorder.province + detail.workorder.city + detail.workorder.county + detail.workorder.address }}</td>
+          </tr>
+          <tr>
+            <td colspan="6" style="padding:0">
+              <el-table :data="detail.trainertitems" :header-cell-style="{background:'#F2F3F5',color:'#000000'}" size="mini">
+                <el-table-column width="260" prop="itemname" label="培训产品名">
+                  <template slot-scope="scope">
+                      {{ scope.row.itemname ? scope.row.itemname : '--' }}
+                  </template>
+                </el-table-column>
+                <el-table-column prop="itemno" width="200"  label="编号">
+                  <template slot-scope="scope">
+                      {{ scope.row.itemno ? scope.row.itemno : '--' }}
+                  </template>
+                </el-table-column>
+                <el-table-column width="100" prop="qty"  label="数量">
+                  <template slot-scope="scope">
+                      {{ scope.row.qty ? scope.row.qty : '--' }}
+                  </template>
+                </el-table-column>
+                <el-table-column width="200" prop="model"  label="型号">
+                  <template slot-scope="scope">
+                      {{ scope.row.model ? scope.row.model : '--' }}
+                  </template>
+                </el-table-column>
+                <el-table-column width="200" prop="spec"  label="规格">
+                  <template slot-scope="scope">
+                      {{ scope.row.spec ? scope.row.spec : '--' }}
+                  </template>
+                </el-table-column>
+                <el-table-column width="200" prop="resaon"  label="异常现象">
+                  <template slot-scope="scope">
+                      {{ scope.row.resaon ? scope.row.resaon : '--' }}
+                  </template>
+                </el-table-column>
+              </el-table>
+            </td>
+          </tr>
+          <tr>
+            <td class="td__title" colspan="6" style="text-align:center">处理过程</td>
+          </tr>
+          <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
+            <td class="td__title">{{ index + 1 }}</td>
+            <td colspan="6">{{ item.itemname + ':' + item.processing }}</td>
+          </tr>
+          <tr>
+            <tr>
+            <td class="td__title" colspan="6" style="text-align:center">处理结果</td>
+          </tr>
+          <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
+            <td class="td__title">{{ index + 1 }}</td>
+            <td colspan="6">{{ item.itemname + ':' + item.result }}</td>
+          </tr>
+          <tr>
+            <tr>
+            <td class="td__title" colspan="6" style="text-align:center">原因分析</td>
+          </tr>
+          <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
+            <td class="td__title">{{ index + 1 }}</td>
+            <td colspan="6">{{ item.itemname + ':' + item.reason }}</td>
           </tr>
           <tr>
             <td style="background:#FAFAFA">客户意见及签字确认:</td>
@@ -337,9 +453,11 @@
           </tr>
           <tr>
             <td style="background:#FAFAFA">反应速度</td>
-            <td colspan="2">{{ detail.responsescore }}</td>
+            <td colspan="1">{{ detail.responsescore }}</td>
             <td style="background:#FAFAFA">配合态度</td>
-            <td colspan="2">{{ detail.attitudescore }}</td>
+            <td colspan="1">{{ detail.attitudescore }}</td>
+            <td style="background:#FAFAFA">满意度</td>
+            <td colspan="1">{{ detail.satisfaction }}</td>
           </tr>
           <tr>
             <td style="background:#FAFAFA"></td>
@@ -377,8 +495,9 @@ export default {
         descriptions6:'',
         descriptions7:''
       },
-      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+      folderid:this.$route.query.parentid,
       params: {
+        "accesstoken":this.$route.query.token,
         "classname": "system.attachment.huawei.OBS",
         "method": "getFileName",
         "content": {
@@ -391,13 +510,19 @@ export default {
   },
   methods: {
     async listData () {
-      let res = await this.$api.requested({
+      let param = {
+        "accesstoken":this.$route.query.token,
         "id": "20230211105803",
-        "version": 1,
         "content": {
-          "sa_workorder_confirmationid": this.$route.query.id
+          "sa_workorder_confirmationid": this.$route.query.ownerid
         }
+      }
+      let res = await this.$axios({
+        method:'POST',
+        data: param,
+        url:'/yos/rest/index',
       })
+      return console.log(res);
       if (res.data.workorder.type == '安装测试') {
         res.data.confirmationcontent.forEach(e => {
           Object.keys(e).map((key,index)=>{
@@ -435,7 +560,7 @@ export default {
           })
         })
       }
-      
+      res.data.workorder.type ='服务'
       this.detail = res.data
       this.signatureName = this.detail.attinfos.filter(e=>{
         if (e.usetype === 'signature') {
@@ -443,24 +568,26 @@ export default {
         }
       })
       if (this.signatureName.length) {
-        // let canvas = document.getElementById('mycanvas')
-        // let node = this.$refs.nameImage
-        let that = this
-        var CANVAS = document.createElement('canvas')
-        CANVAS.width = 100;
-        CANVAS.height = 100;
-        var context = CANVAS.getContext('2d');
-        var img = new Image();
-        img.crossOrigin = "anonymous"
-        img.src = this.signatureName[0].url;
-        // img.src = 'http://localhost:8087/img/wallhaven-0pq8gm.08c576fa.jpeg'
+        this.$nextTick(() => {
+          let that = this
+          let node = this.$refs.nameImage
+          console.log(node.height);
+          let CANVAS = document.createElement('canvas')
+          CANVAS.width = node.width;
+          CANVAS.height =  node.width;
+          let context = CANVAS.getContext('2d');
 
-        img.onload=function() {
-          console.log(img);
-          context.drawImage(img,0,0,100,100 );
-          let dataURL = CANVAS.toDataURL("image/jpg");
-          that.$refs.nameImage.src = dataURL
-        }
+          let img = new Image();
+          img.crossOrigin = "anonymous"
+
+          img.onload=function() {
+            console.log(img);
+            context.drawImage(img,0,0,node.width, node.height);
+            let dataURL = CANVAS.toDataURL("image/jpg");
+            node.src = dataURL
+          }
+          img.src = this.signatureName[0].url + '?time=' + Date.now();
+        })
       }
       console.log(this.detail)
     },
@@ -502,6 +629,7 @@ export default {
       }
       obj = Object.assign({},obj,this.bindData)
       let param = {
+        "accesstoken":this.$route.query.token,
         "classname": "system.attachment.huawei.OBS",
         "method": "uploadSuccess",
         "content":obj
@@ -509,11 +637,12 @@ export default {
       const res = await this.$api.requested(param)
       if (res.code ===  1) {
         let res2 = await this.$api.requested({
+          "accesstoken":this.$route.query.token,
           "classname": "system.attachment.Attachment",
           "method": "createFileLink",
           "content": {
               "ownertable": "sa_workorder_confirmation",
-              "ownerid": this.$route.query.id,
+              "ownerid": this.$route.query.ownerid,
               "usetype": "default",
               "attachmentids": [
                   res.data.attachmentids[0]
@@ -540,11 +669,14 @@ export default {
 .td__title {
   background: #FAFAFA;
   color: #000000;
-  font-weight: bold;
 }
 .flex{
       display: flex;
       justify-content: space-between;
   }
-
+.noborder td {
+  border-left: none;
+  border-top: none;
+  border-bottom: none;
+}
 </style>

+ 13 - 0
src/HDrpManagement/serveWorkBill/modules/checkBill/index.vue

@@ -69,6 +69,8 @@ export default {
       options:[
       ],
       productList:'',
+      visible:false,
+      tableData:''
     }
   },
   methods:{
@@ -79,6 +81,17 @@ export default {
       this.total = res.total
       console.log(this.list)
     },
+    async compile (data) {
+      this.visible = true
+      let res = await this.$api.requested({
+        "accesstoken": "47c8f0fc1e89bf9c9977e36bd7f73351",
+        "id": "20230211105803",
+        "version":1,
+        "content": {
+            "sa_workorder_confirmationid":1
+        }
+      })
+    },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
       this.params.content.pageSize = val

+ 36 - 9
src/HDrpManagement/serveWorkBill/modules/detail.vue

@@ -10,7 +10,7 @@
         idname="sa_workorderid"
         ownertable="sa_workorder"
         tags=""
-        :tabs="['工序详情','确认单','服务团队','工单物料','详细信息']"
+        :tabs="mainData.actiontype == '工序模板' ? ['工序详情','确认单','服务团队','工单物料','详细信息'] : ['服务商品','确认单','服务团队','详细信息']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="tags">
@@ -81,7 +81,7 @@
           v-if="mainData.status != '完结' && tool.checkAuth($route.name,'delete')"
         />
       </div>
-      <div slot="slot0" >
+      <div slot="slot0" v-if="mainData.actiontype == '工序模板'">
         <taskDetail :data="nodes">
           <template v-slot:detail="scope">
               <taskListDetail class="inline-16" :data="scope.data"></taskListDetail>
@@ -91,26 +91,48 @@
           </template> -->
         </taskDetail>
       </div>
-      <div slot="slot1" >
+      <div slot="slot1" v-if="mainData.actiontype == '工序模板'">
         <checkBill>
           <template v-slot:download="scope">
             <el-button v-if="tool.checkAuth($route.name,'checkBillDetail')" type="text" size="mini" @click="downLoadBill(scope.data)">单 据 下 载</el-button>
           </template>
         </checkBill>
       </div>
-      <div slot="slot2">
+      <div slot="slot2" v-if="mainData.actiontype == '工序模板'">
         <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>
+      <div slot="slot3" v-if="mainData.actiontype == '工序模板'">
+        <Items :data="mainData"></Items>
       </div>
-      <div slot="slot4" >
+      <div slot="slot4" v-if="mainData.actiontype == '工序模板'">
         <detailInfo :more="true" :data="detailInfo"></detailInfo>
       </div>
+
+      <div slot="slot0" v-if="mainData.actiontype != '工序模板'">
+        <Items :data="mainData"></Items>
+      </div>
+      <div slot="slot1" v-if="mainData.actiontype != '工序模板'">
+        <checkBill>
+          <template v-slot:download="scope">
+            <el-button v-if="tool.checkAuth($route.name,'checkBillDetail')" type="text" size="mini" @click="downLoadBill(scope.data)">单 据 下 载</el-button>
+          </template>
+        </checkBill>
+      </div>
+      <div slot="slot2" v-if="mainData.actiontype != '工序模板'">
+        <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" v-if="mainData.actiontype != '工序模板'">
+        <detailInfo :more="true" :data="detailInfo"></detailInfo>
+      </div>
+      
     </basicDetails>
   </div>
 </template>
@@ -162,11 +184,12 @@ export default {
             
     },
     downLoadBill (data) {
-      if(data.attinfos.length == 0) return this.$message({
+      let result = data.attinfos.filter(item => item.usetype == "signature")
+      if(result.length == 0) return this.$message({
         type:'warning',
         message:'暂无单据信息'
       })      
-      window.open(data.attinfos[0].url,'_self')
+      window.open(result[0].url,'_self')
     },
     async teamChange (data) {
       let result = data.map(item => {
@@ -267,6 +290,10 @@ export default {
         {
           label:'结束时间',
           value:this.mainData.enddate
+        },
+        {
+          label:'操作类型',
+          value:this.mainData.actiontype
         }
       ]
       this.detailInfo = [

+ 16 - 1
src/HDrpManagement/serveWorkBill/modules/items/index.vue

@@ -17,7 +17,7 @@
     <div style="margin-top: 15px">
       <el-table
           ref="multipleTable"
-          :data="data"
+          :data="data.titems"
           style="width: 100%"
           size="mini"
           height="50vh"
@@ -42,6 +42,21 @@
               prop="qty"
               label="数量">
           </el-table-column>
+          <el-table-column
+              v-if="data.actiontype == '非工序模板'"
+              prop="processing"
+              label="处理方式">
+          </el-table-column>
+          <el-table-column
+            v-if="data.actiontype == '非工序模板'"
+              prop="result"
+              label="处理结果">
+          </el-table-column>
+          <el-table-column
+            v-if="data.actiontype == '非工序模板'"
+              prop="reason"
+              label="原因解析">
+          </el-table-column>
         </el-table>
     </div>
   </div>

+ 1 - 1
src/HDrpManagement/toolBorrowingMag/detail/index.vue

@@ -40,7 +40,7 @@
             <el-button class="inline-16" v-if="tool.checkAuth($route.name,'examine')"  :disabled="mainData.status !== '提交' && mainData.status !== '交期确认'" type="primary" size="mini" slot="reference">审 核</el-button>
           </el-popover> -->
           <el-button v-if="tool.checkAuth($route.name,'examine')" :disabled="mainData.status !== '审核'" type="primary" size="mini" @click="onReturnCheck">反审核</el-button>
-          <el-button v-if="tool.checkAuth($route.name,'reback')"  type="primary" size="mini" @click="dialogVisible = true">退 回</el-button>
+          <el-button v-if="tool.checkAuth($route.name,'reback') && mainData.status == '提交'"  type="primary" size="mini" @click="dialogVisible = true">退 回</el-button>
           <el-button v-if="tool.checkAuth($route.name,'submit')" :disabled="mainData.status !== '新建'"  type="primary" size="mini" @click="onSubmit('提交')">提 交</el-button>
           <!-- <el-button v-if="tool.checkAuth($route.name,'close')" :disabled="mainData.status !== '审核'" type="primary" size="mini" @click="closeOrder">关 闭</el-button> -->
           <!-- <el-button v-if="tool.checkAuth($route.name,'insert')"  type="primary" size="mini" @click="onCopy">复 制</el-button> -->

+ 8 - 0
src/HDrpManagement/toolBorrowingMag/modules/check.vue

@@ -22,6 +22,14 @@
     </el-popover>
 
     <el-dialog title="选择押金单号" :visible.sync="visible2" append-to-body width="1000px">
+      <el-input 
+          style="width:200px;margin-bottom:10px" 
+          size="small"  
+          suffix-icon="el-icon-search" 
+          placeholder="搜索" 
+          v-model="param.content.keywords"
+          @keyup.enter.native="listData(param.content.pageNumber = 1)" 
+          @clear="listData(param.content.pageNumber = 1)" clearable></el-input>
       <el-table
         :header-cell-style="{background:'#EEEEEE',color:'#333'}" 
         size="mini"

+ 14 - 2
src/HDrpManagement/workBillModule/components/add.vue

@@ -19,6 +19,14 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="24">
+            <el-form-item label="操作类型" prop="actiontype">
+              <el-select v-model="form.actiontype">
+                <el-option label="工序模板" value="工序模板"></el-option>
+                <el-option label="非工序模板" value="非工序模板"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
       <div class="dialog-footer">
@@ -39,14 +47,18 @@ export default {
       form:{
         "sa_workorder_templateid":0,     //sa_brandid<=0时 为新增
         "name":"",
-        "type":""
+        "type":"",
+        "actiontype":''
       },
       rules:{
         name:[
           { required: true, message: '请输入模板名称', trigger: 'blur'},
         ],
         type:[
-          { required: true, message: '输入账户名称', trigger: 'blur'}
+          { required: true, message: '选择模板类型', trigger: 'change'}
+        ],
+        actiontype:[
+          { required: true, message: '选择操作类型', trigger: 'change'}
         ]
       }
     }

+ 14 - 2
src/HDrpManagement/workBillModule/components/edit.vue

@@ -19,6 +19,14 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="24">
+            <el-form-item label="操作类型" prop="actiontype">
+              <el-select v-model="form.actiontype">
+                <el-option label="工序模板" value="工序模板"></el-option>
+                <el-option label="非工序模板" value="非工序模板"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
       <div class="dialog-footer">
@@ -39,8 +47,9 @@ export default {
       serveTypeList:[],
       form:{
         "sa_workorder_templateid":0,     //sa_brandid<=0时 为新增
-        "name":"培训工单",
-        "type":"安装培训"
+        "name":"",
+        "type":"",
+        "actiontype":''
       },
       rules:{
         name:[
@@ -48,6 +57,9 @@ export default {
         ],
         type:[
           { required: true, message: '输入账户名称', trigger: 'blur'}
+        ],
+        actiontype:[
+          { required: true, message: '选择操作类型', trigger: 'change'}
         ]
       }
     }

+ 11 - 4
src/HDrpManagement/workBillModule/modules/detail.vue

@@ -11,7 +11,7 @@
         ownertable="sa_workorder_template"
         :delApiId="20230207140803"
         tags=""
-        :tabs="['工作明细','详细信息']"
+        :tabs="tabs"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="tags">
@@ -41,10 +41,10 @@
         />
       </div>
       <div slot="slot0" >
-        <taskDetail>
+        <taskDetail v-if="mainData.actiontype == '工序模板'">
         </taskDetail>
       </div>
-      <div slot="slot1" >
+      <div :slot="mainData.actiontype == '工序模板' ? 'slot1' : 'slot0'" >
         <detailInfo :more="true" :data="detailInfo"></detailInfo>
       </div>
     </basicDetails>
@@ -60,7 +60,8 @@ export default {
     return {
       mainData:{},
       mainAreaData:{},
-      detailInfo:''
+      detailInfo:'',
+      tabs:['详细信息']
     }
   },
   components:{
@@ -83,6 +84,7 @@ export default {
       })
       this.mainData = res.data
       this.changeDataStructure()
+      if (this.mainData.actiontype == '工序模板') this.tabs.unshift('工序明细')
       console.log(this.mainData);
       
     },
@@ -100,6 +102,11 @@ export default {
           label:'是否启用',
           value:this.mainData.isused ? '是' : '否'
         },
+        {
+          label:'操作类型',
+          value:this.mainData.actiontype
+        }
+        
       ]
       this.detailInfo = [
         {

+ 3 - 1
src/SDrpManagement/ProductGroup/modules/Select2.vue

@@ -3,7 +3,7 @@
     <div>
       <ul class="flex-align-center normal-margin-new" >
         <!-- <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField({})" >全部领域</li> -->
-        <li  :class="field_act === item.sys_enterprise_tradefieldid?'act':''" class="brand-item" style="margin-left:0" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
+        <li  :class="tradefield === item.tradefield?'act':''" class="brand-item" style="margin-left:0" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
       </ul>
       <ul class="flex-align-center normal-margin-new">
         <!-- <li :class="!brand_act?'act':''" class="brand-item border-all" @click="clickBrand('')">全部品牌</li> -->
@@ -116,7 +116,9 @@ export default {
       
     },
     clickField (item) {
+      console.log(this.fields);
       this.field_act = item ? item.sys_enterprise_tradefieldid : ''
+      this.tradefield = item ? item.tradefield : ''
       this.$emit('clickField',item)
     },
     clickClass (item) {

+ 1 - 0
src/SDrpManagement/Products/modules/Select.vue

@@ -84,6 +84,7 @@ export default {
       
     },
     clickField (item) {
+      console.log(item)
       this.field_act = item ? item.sys_enterprise_tradefieldid : ''
       console.log( item,this.field_act)
       this.$emit('clickField',item)

+ 1 - 0
src/SDrpManagement/Products/modules/Select2.vue

@@ -84,6 +84,7 @@ export default {
       
     },
     clickField (item) {
+      console.log(item)
       this.field_act = item ? item.sys_enterprise_tradefieldid : ''
       console.log( item,this.field_act)
       this.$emit('clickField',item)

+ 2 - 2
src/SDrpManagement/invoiceapp_saler/detail/tab/invoiceOrder/components/addorderline.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button v-if="tool.checkAuth($route.name,'InvioceOrder')" :disabled="status !== '新建'" style="margin-bottom:10px" size="small" type="primary" @click="onShow">添加订单行</el-button>
-    <el-dialog title="可添加订单" append-to-body :visible.sync="dialogTableVisible">
+    <el-dialog title="可添加开票订单" append-to-body :visible.sync="dialogTableVisible">
       <div class="flex-align-center" style="margin-bottom:16px">
         <el-input size="small"  
           style="width:200px"
@@ -11,7 +11,7 @@
         <uploadAllData
           class="inline-16"
           :total="total"
-          dataType="订单"
+          dataType="订单"
           @handlePullApi="handlePullApi"
           @handleUploadApi="handleUploadApi"
           @onSuccess="onSuccess"

+ 2 - 2
src/SDrpManagement/sinvoiceapp/detail/tab/invoiceOrder/components/addorderline.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button v-if="tool.checkAuth($route.name,'InvioceOrder')" :disabled="status !== '新建'" style="margin-bottom:10px" size="small" type="primary" @click="onShow">添加订单行</el-button>
-    <el-dialog title="可添加订单" append-to-body :visible.sync="dialogTableVisible">
+    <el-dialog title="可添加开票订单" append-to-body :visible.sync="dialogTableVisible">
       <div class="flex-align-center" style="margin-bottom:16px">
         <el-input 
           style="width:200px;margin-right: 10px;" 
@@ -13,7 +13,7 @@
         <uploadAllData
           class="inline-16"
           :total="total"
-          dataType="订单"
+          dataType="订单"
           @handlePullApi="handlePullApi"
           @handleUploadApi="handleUploadApi"
           @onSuccess="onSuccess"

+ 17 - 6
src/components/socketMessage/index.vue

@@ -4,12 +4,11 @@
       <p>消息提示</p>
       <p @click="panelIsShow = false">忽略</p>
     </div>
-    <p class="message-item" v-for="item in list" :key="item.index">
-      <el-tooltip class="item" effect="dark" :content="item.type+'消息 ' + item.title" placement="top">
-        <p>[{{item.type}}消息]&nbsp;{{item.title}}</p>
-      </el-tooltip>
+    <div class="message-item" v-for="item in list" :key="item.index">
+      <p class="text" style="margin-bottom:10px;font-weight: 400;">[{{item.type}}消息]&nbsp;{{item.title}}</p>
+      <div style="height:170px;overflow-y: scroll;">{{ item.text }}</div>
       
-    </p>
+    </div>
     <p class="unread-panel">共有{{total}}条未读消息</p>
   </div>
 </template>
@@ -20,6 +19,7 @@
     data () {
       return {
         id:'',
+        // path:"ws://61.164.207.46:8000//yos/webSocket/",
         path:"wss://oms.idcgroup.com.cn:8079/yos/webSocket/",
         panelIsShow:false,
         list:[],
@@ -123,6 +123,12 @@
 <style>
 </style>
 <style scoped>
+*{
+  box-sizing: border-box;
+}
+::-webkit-scrollbar{
+  display: none;
+}
 .messageBox{
   position: fixed;
   right:10px;
@@ -150,9 +156,14 @@
   padding: 10px;
   font-size: 14px;
   width: 100%;
+  /* overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis; */
+}
+.text {
   overflow: hidden;
   white-space: nowrap;
-  text-overflow: ellipsis
+  text-overflow: ellipsis;
 }
 .unread-panel{
   position: absolute;

+ 10 - 12
src/router/index.js

@@ -22,10 +22,15 @@ let routes = [
     name: 'login',
     component: () => import(/* webpackChunkName: "about" */ '@/views/login/login.vue')
   },
+  // {
+  //   path: '/accounts',
+  //   name: 'accounts',
+  //   component: () => import(/* webpackChunkName: "about" */ '@/views/select_accounts/index.vue')
+  // },
   {
-    path: '/accounts',
-    name: 'accounts',
-    component: () => import(/* webpackChunkName: "about" */ '@/views/select_accounts/index.vue')
+    path: '/printTable',
+    name: 'printTable',
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/serveWorkBill/components/printTable')
   },
   {
     path: '/main',
@@ -34,6 +39,7 @@ let routes = [
     component: () => import(/* webpackChunkName: "about" */ '@/components/newLayout/index.vue'),
     redirect: '/message',
     children: [
+      
       {
         path: '/home',
         name: 'home',
@@ -96,15 +102,7 @@ let routes = [
           ast_nav:true
         },
         component: () => import(/* webpackChunkName: "about" */ '@/views/printmodel/design/index.vue')
-      },{
-        path: '/printTable',
-        name: 'printTable',
-        meta: {
-          title: '确认单生成',
-          ast_nav:true
-        },
-        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/serveWorkBill/components/printTable')
-      },]
+      }]
   }
 ];
 

+ 5 - 0
src/views/printmodel/design/index.vue

@@ -859,12 +859,17 @@ export default {
   font-weight: bold;
 }
 
+<<<<<<< HEAD
 /* /deep/ .hiprint-printElement-image-content {
   img {
     // content: url("~@/assets/logo.png");
   }
 } */
 
+=======
+
+
+>>>>>>> xiaoqin
 /deep/ .toplineOfPosition {
   border: 0;
   border-top: 1px dashed purple;

+ 2 - 2
vue.config.js

@@ -14,10 +14,10 @@ module.exports = {
       port: 8087,
       proxy: {
         '/apis': {
-          // target: 'http://61.164.207.46:8000',  // target host*/
+          target: 'http://61.164.207.46:8000',  // target host*/
           // target: 'http://192.168.3.9:8080',  // target host*!
           // target: 'http://192.168.3.13:8080',  // target host*!
-          target: 'https://oms.idcgroup.com.cn:8079/',  // target host
+          // target: 'https://oms.idcgroup.com.cn:8079/',  // target host
           // target: 'localhost:8080',  // target host
           ws: true,  // proxy websockets 
           changeOrigin: true,  // needed for virtual hosted sites