zhangqiOMG 2 лет назад
Родитель
Сommit
a5fe89db58

+ 1 - 1
src/HDrpManagement/invoiceapp/detail/detail.vue

@@ -25,7 +25,7 @@
         <invoiceOrder :status="mainData.status" :sys_enterpriseid="mainData.sys_enterpriseid"></invoiceOrder>
       </div>
       <div slot="slot1" >
-        <blueInvoice :status="mainData.status"></blueInvoice>
+        <blueInvoice :data="mainData"></blueInvoice>
       </div>
       <div slot="slot2">
         <redInvoice :status="mainData.status"></redInvoice>

+ 18 - 6
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/components/invoiceTable.vue

@@ -50,12 +50,19 @@
       <el-table-column
         fixed="right"
         label="操作"
-        width="200">
+        width="250">
         <template slot-scope="scope">
-          <a class="table_row_link inline-16" :href="scope.row.paperpdfurl">纸票pdf</a>
-          <a class="table_row_link inline-16" :href="scope.row.pdfurl">发票pdf</a>
-          <el-button v-if="tool.checkAuth($route.name,'editBlueInvioce')" @click="editRow(scope.row)" type="text" size="mini" :disabled="status !== '新建'">编 辑</el-button>
-          <el-button v-if="tool.checkAuth($route.name,'editBlueInvioce')" @click="deleteRow(scope.row)" type="text" size="mini" :disabled="status !== '新建'">删 除</el-button>
+          <div class="inline-16" v-if="data.byhand == 0">
+            <a class="table_row_link inline-16" :href="scope.row.paperpdfurl">纸票pdf</a>
+            <a class="table_row_link inline-16" :href="scope.row.pdfurl">发票pdf</a>
+          </div>
+          <div class="inline-16" v-else>
+            <!-- <a class="table_row_link inline-16" :href="scope.row.paperpdfurl">上传发票</a> -->
+            <upload class="inline-16" :folderid="folderid" :bindData="{ownertable: 'sa_invoicebill', ownerid: scope.row.sa_invoicebillid,usetype: 'default'}" @onSuccess="listData" btntype="icon"></upload>
+            <a class="table_row_link inline-16" v-if="scope.row.attinfos.length > 0" :href="scope.row.attinfos[scope.row.attinfos.length - 1].url">下载发票</a>
+          </div>
+          <el-button v-if="tool.checkAuth($route.name,'editBlueInvioce')" @click="editRow(scope.row)" type="text" size="mini" :disabled="data.status !== '新建'">编 辑</el-button>
+          <el-button v-if="tool.checkAuth($route.name,'editBlueInvioce')" @click="deleteRow(scope.row)" type="text" size="mini" :disabled="data.status !== '新建'">删 除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -86,10 +93,15 @@
 </template>
 
 <script>
+import upload from '@/components/upload/hw_obs_upload.vue'
 export default {
-  props:['status'],
+  props:['data'],
+  components:{
+    upload
+  },
   data () {
     return {
+       folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       dialogFormVisible:false,
       form:{},
       param:{

+ 20 - 7
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/index.vue

@@ -1,22 +1,23 @@
 <template>
   <div>
     <el-button-group v-if="tool.checkAuth($route.name,'editBlueInvioce')" style="margin-bottom:10px">
-      <el-button size="small" type="primary" :disabled="status !== '新建'" @click="addInvoiceapp">一键添加发票</el-button>
-      <el-button size="small" type="primary" :disabled="selectData.length === 0 && status != '审核'" @click="clickCreateBlueInvioce">勾选创建发票</el-button>
+      <el-button size="small" type="primary" :disabled="data.status !== '新建'" @click="addInvoiceapp">一键添加发票</el-button>
+      <el-button size="small" type="primary" :disabled="data.status !== '新建'" @click="addInvoiceapp2">添加发票</el-button>
+      <el-button size="small" type="primary" :disabled="selectData.length === 0 && data.status != '审核'" @click="clickCreateBlueInvioce">勾选创建发票</el-button>
       <el-button size="small" type="primary" :disabled="selectData.length === 0" @click="clickInvioceQuery">发票创建查询</el-button>
-      <el-button size="small" type="primary" :disabled="selectData.length === 0 &&  status != '审核'" @click="blueInvioceToRed">红冲勾选行</el-button>
+      <el-button size="small" type="primary" :disabled="selectData.length === 0 &&  data.status != '审核'" @click="blueInvioceToRed">红冲勾选行</el-button>
     </el-button-group>
-    <invoiceTable :status="status" ref="invoiceTable" @activeRow="activeRow" @selection="selection"></invoiceTable>
-    <invoiceTablemx :status="status" ref="invoiceTablemx" @onSuccess="mxOnSuccess"></invoiceTablemx>
+    <invoiceTable :data="data" ref="invoiceTable" @activeRow="activeRow" @selection="selection"></invoiceTable>
+    <invoiceTablemx :status="data.status" ref="invoiceTablemx" @onSuccess="mxOnSuccess"></invoiceTablemx>
   </div>
 </template>
 
 <script>
-import invoiceTable from './components/invoiceTable'
+import invoiceTable from './components/invoiceTable.vue'
 import invoiceTablemx from './components/invoiceTablemx'
 
 export default {
-  props:['status'],
+  props:['data'],
   components:{
     invoiceTable,
     invoiceTablemx
@@ -41,6 +42,18 @@ export default {
         this.$refs['invoiceTable'].listData()
       })
     },
+    async addInvoiceapp2 () {
+      const res = await this.$api.requested({
+        "id": "20230225133303",
+        "version":1,
+        "content": {
+          "sa_invoiceapplyid":this.$route.query.id
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$refs['invoiceTable'].listData()
+      })
+    },
     activeRow (row){
       this.$refs['invoiceTablemx'].listData(row.sa_invoicebillid)
     },

+ 3 - 0
src/HDrpManagement/invoiceapp/index.vue

@@ -30,6 +30,9 @@
           <span style="color:#d90a0a" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '提交'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
           <span style="color:#52C41A" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
         </div>
+        <div v-else-if="scope.data.column.columnname == 'byhand'">
+          <span>{{scope.data.column.data.byhand == 1?'是':'否'}}</span>
+        </div>
         <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}
         </div>

+ 1 - 4
src/HDrpManagement/serveWorkBill/index.vue

@@ -2,10 +2,7 @@
 <template>
   <div>
     <basicLayout 
-      ref="list" 
-      :oldFormPath="{
-        add:'HDrpManagement/serveWorkBill/components'
-      }"
+      ref="list"
       tableName="indexTable" 
       idName="sa_workorderid" 
       :apiId="{query:20230208140203,del:20230209144803}"

+ 15 - 0
src/HManagement/siteManage/securityConfig/index.vue

@@ -35,6 +35,18 @@
         <set-watermark :basicInfo="basicInfo" v-if="tool.checkAuth($route.name,'setWatermark')"></set-watermark>
       </div>
     </div>
+    <div class="panel">
+      <div class="flex-align-center flex-between">
+        <div class="flex-align-stretch">
+          <img width="72" height="72" src="../../../assets/icons/login_type_2.png" alt="">
+          <div class="text-panel">
+            <p class="explain-title">产品默认图</p>
+            <p class="explain-tips">当前设置:已上传产品默认图</p>
+          </div>
+        </div>
+        <productImage></productImage>
+      </div>
+    </div>
     <div class="panel" style="margin-bottom:16px">
       <div class="flex-align-center flex-between">
         <div class="flex-align-stretch">
@@ -64,6 +76,8 @@ import basicInfo from './modules/basicinfo.vue'
 
 import setPassword from './modules/password.vue'
 import setWatermark from './modules/watermark.vue'
+import productImage from './modules/productImage.vue'
+
 import loginSelect from './modules/loginSelect.vue'
 import messageTips from '../messageSendtype/index'
 import advertisementMag from '../advertisement_mag/index'
@@ -74,6 +88,7 @@ export default {
     setWatermark,
     loginSelect,
     basicInfo,
+    productImage,
     messageTips,
     advertisementMag
   },

+ 72 - 0
src/HManagement/siteManage/securityConfig/modules/productImage.vue

@@ -0,0 +1,72 @@
+<template>
+  <div>
+    <el-button size="small" style="width:120px" type="primary" @click="queryFileLink">设 置</el-button>
+    <el-dialog title="设置"  append-to-body :visible.sync="dialogEditVisible">
+      <el-row :gutter="16">
+        <el-col :span="12">
+          <p>企业水印图片:</p>
+          <uploadFile v-if="!image.url" style="margin-top:10px" :folderid="folderid" accept=".JPG,.PNG" btntype="image" :bindData="{ownertable:'system',ownerid:0,usetype:'defaultImage'}" @onSuccess="queryFileLink"></uploadFile>
+          <div v-else>
+            <!-- <img  style="width:100%" :src="image.url" alt=""> -->
+            <viewImage :image="image" :deletebtn="true" @onSuccess="queryFileLink"></viewImage>
+          </div>
+          <small style="display:block;margin-top:20px" class="info">注:建议上传图片大小1024x1024,大小不超过2M,格式为JPG/PNG</small>
+        </el-col> 
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogEditVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="dialogEditVisible = false" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+
+import uploadFile from '../../../../components/upload/hw_obs_upload.vue'
+import viewImage from '../../../../components/previewImage/index.vue'
+
+export default {
+  props:['basicInfo'],
+  components:{
+    uploadFile,
+    viewImage
+  },
+  computed:{
+    ...mapGetters({
+      siteinfo:'siteinfo'
+    })
+  },
+  data () {
+    return {
+      dialogEditVisible:false,
+      image:{url:''},
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid
+    }
+  },
+  methods:{
+    // 获取附件信息
+    async queryFileLink () {
+      this.dialogEditVisible = true
+      const res = await this.$api.requested({
+        "classname": "system.attachment.Attachment",
+        "method": "queryFileLink",
+        "content": {
+          "ownertable": 'system',
+          "ownerid": 0,
+          "usetype":'defaultImage'//传空返回有所
+        }
+      })
+      res.data[0]?this.image = res.data[0]:this.image = {url:''}
+    },
+  }
+}
+
+</script>
+<style scoped>
+.dialog-footer{
+  margin-top: 50px;
+  text-align: center;
+}
+</style>

+ 1 - 1
src/SDrpManagement/ProductGroup/index.vue

@@ -46,7 +46,7 @@
 </template>
 
 <script>
-import selectClass from './modules/Select'
+import selectClass from './modules/Select.vue'
 export default {
   name: '',
   data() {

+ 3 - 7
src/SDrpManagement/ProductGroup/modules/Select.vue

@@ -13,17 +13,13 @@
         <li  :class="class_act === ''?'act':''" class="brand-item border-all" @click="clickClass('')">全部分类</li>
         <li  :class="class_act === item.itemclassnum?'act':''" class="brand-item margin-notAll" v-for="item in itemclass" :key="item.itemclassnum" @click="clickClass(item)">{{item.itemclassname}}</li>
       </ul>
-      <classTree style="padding-left:31px" :data="activeClass.subdep" @onClassChange="change"></classTree>
-    </div>
-    <div>
-
+      <classTree style="padding-left:80px" :data="activeClass.subdep" @onClassChange="change"></classTree>
     </div>
   </div>
 </template>
 
 <script>
 import classTree from './classTree.vue'
-import { log } from '@antv/g2plot/lib/utils'
 export default {
   data () {
     return {
@@ -125,11 +121,11 @@ export default {
 </style>
 <style scoped>
 .brand-item{
-  margin:0 25px;
+  margin:10px 40px;
   color: #333;
   cursor: pointer;
   transition: .2s all linear;
-  font-size: 13px;
+  font-size: 14px;
 }
 .act{
   color:#3874f6;

+ 20 - 11
src/SDrpManagement/ProductGroup/modules/classTree.vue

@@ -1,10 +1,10 @@
 <template>
   <div>
-    <div class="flex-align-center">
+    <div class="flex-start">
       <div v-for="item in data" :key="item.index" @click="classClick(item)">
-        <p v-if="item.index === 1" class="normal-margin class-item classIndex"  :class="class_act === item.itemclassnum?'act':''">{{item.itemclassname}}</p>
-        <p v-else  class="normal-margin class-item classIndexItem"  :class="class_act === item.itemclassnum?'act':''">{{item.itemclassname}}</p>
-        <Tree v-if="item.subdep" :data="item.subdep" @onClassChange="change"></Tree>
+        <p class="classItem" v-if="item.index === 1"  :class="class_act === item.itemclassnum?'act':''">{{item.itemclassname}}</p>
+        <p class="classItem"  v-else   :class="class_act === item.itemclassnum?'act':''">{{item.itemclassname}}</p>
+        <Tree v-if="item.subdep && class_act === item.itemclassnum" :data="item.subdep" @onClassChange="change"></Tree>
       </div>
     </div>
   </div>
@@ -22,6 +22,7 @@ export default {
   },
   methods:{
     classClick (item) {
+      console.log(item)
       this.activeClass = item
       this.class_act = item.itemclassnum
       this.change(item)
@@ -34,11 +35,11 @@ export default {
 </script>
 <style scoped>
 .class-item{
-  margin:0 25px;
+  margin:0 15px;
   color: #333;
   cursor: pointer;
   transition: .2s all linear;
-  font-size: 13px;
+  font-size: 14px;
   
 }
 .act{
@@ -49,10 +50,18 @@ export default {
   margin-bottom: 0px
   !important;
 }
-.classIndexItem{
-  margin-left: -18px;
-  margin-bottom: 0px
-  !important;
+.classItem{
+  flex: 0 1 auto;
+  width:80px ;
+  margin:10px 0px 10px 0;
+  font-size:14px !important;
+  cursor: pointer;
+}
+.flex-start{
+  display: flex;
+  flex-wrap: nowrap;
+  align-items: flex-start;
+  position: relative;
+  width: 80px;
 }
-
 </style>

+ 3 - 0
src/SDrpManagement/sinvoiceapp/index.vue

@@ -30,6 +30,9 @@
           <span style="color:#d90a0a" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '提交'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
           <span style="color:#52C41A" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
         </div>
+        <div v-else-if="scope.data.column.columnname == 'byhand'">
+          <span>{{scope.data.column.data.byhand == 1?'是':'否'}}</span>
+        </div>
         <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}
         </div>

+ 7 - 6
src/components/export_excel/index.vue

@@ -22,13 +22,14 @@ export default {
       data.content.isAll = false
 
       const res = await this.$api.requested(data)
-
-      res.data.forEach(e=>{
-        this.specialKey.forEach(s=>{
-          e[s.key] = e[s.key]? e[s.key]:[]
-          e[s.key] = e[s.key].map(k=>{return s.value?k[s.value]:k}).toString()
+      if (this.specialKey) {
+        res.data.forEach(e=>{
+          this.specialKey.forEach(s=>{
+            e[s.key] = e[s.key]? e[s.key]:[]
+            e[s.key] = e[s.key].map(k=>{return s.value?k[s.value]:k}).toString()
+          })
         })
-      })
+      }
       let table = JSON.parse(JSON.stringify(this.tablecols))
       table.forEach((e,index) => {
         // 由于表格数据结构问题这里需要判断一下

+ 10 - 1
src/views/login/login.vue

@@ -137,6 +137,11 @@ export default {
       if (res.code === 1) {
         this.checked?localStorage.setItem('phonenumber',this.loginForm.phonenumber):localStorage.clear('phonenumber')
 
+        res.account_list = res.account_list.map(e=>{
+          if (e.status === 'ACTIVE') {
+            return e
+          }
+        })
         sessionStorage.setItem('account_list',JSON.stringify(res.account_list))
         sessionStorage.setItem('active_account',JSON.stringify(res.account_list[0]))
         this.basicData.query_userauth().then(()=>{
@@ -173,7 +178,11 @@ export default {
       if (res.code === 1) {
         
         this.checked?localStorage.setItem('phonenumber',this.loginForm.phonenumber):localStorage.clear('phonenumber')
-
+        res.account_list = res.account_list.map(e=>{
+          if (e.status === 'ACTIVE') {
+            return e
+          }
+        })
         sessionStorage.setItem('account_list',JSON.stringify(res.account_list))
 
         sessionStorage.setItem('active_account',JSON.stringify(res.account_list[0]))

+ 1 - 5
vue.config.js

@@ -15,11 +15,7 @@ module.exports = {
       proxy: {
         '/apis': {
           target: 'http://61.164.207.46:8000',  // target host*/
-<<<<<<< HEAD
-            // target: 'http://122.226.136.204:8082/',  // target host
-=======
-            /*target: 'http://122.226.136.204:8082/',  // target host*/
->>>>>>> d8fdba3a2fd4ae678e15dee665c95eeaa4bd568b
+          // target: 'http://122.226.136.204:8082/',  // target host
           // target: 'localhost:8080',  // target host
           ws: true,  // proxy websockets 
           changeOrigin: true,  // needed for virtual hosted sites