renkang
2025-02-07 a80fcaaf130286f215a35aa62450421b480b4d5a
Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
已添加2个文件
已修改32个文件
341 ■■■■■ 文件已修改
admin/src/components/base/BaseTable.vue 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/Inspection/components/taskDetail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/client/category.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/pendingBills.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/terminationAgreement.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/finance/overdueBills.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/operation/components/deviceDetail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/operation/components/deviceEdit.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/project/components/houseDetails.vue 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/project/housingList.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/roomStatus/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/assetCate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/assetList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/components/OutEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/components/config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/components/inventoryDetails.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/components/newMaterial.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/components/newWarehouse.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/out.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/stock/record.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/components/OperaYwWorkorderWindow.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/components/detail.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/components/handleProblem.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/components/problemReportingDetails.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/problemReporting.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/login.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/polling/detail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/polling/empty.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/polling/point.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/polling/task.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/side/default_empty@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/utils/service.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/base/BaseTable.vue
admin/src/views/Inspection/components/taskDetail.vue
@@ -1,5 +1,5 @@
<template>
  <GlobalWindow title="巡检任务详情" width="800px" :showConfirm="false" :visible.sync="isShowModal">
  <GlobalWindow title="巡检任务详情" width="100%" :showConfirm="false" :visible.sync="isShowModal">
    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getDetail(1)" @clear="clear" />
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column prop="pointName" label="巡检点名称" min-width="100" show-overflow-tooltip />
@@ -20,11 +20,11 @@
      <el-table-column prop="" label="巡检附件" min-width="100" show-overflow-tooltip>
        <template v-slot="{ row }">
          <div class="value" v-if="row.multifileList != null && row.multifileList.length">
            <div v-for="item in row.multifileList" :key="item.id" style="display: inline;margin-right: 20px">
            <div v-for="item in row.multifileList.slice(0, 1)" :key="item.id" style="display: inline;margin-right: 20px">
              <video v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" ref="videoRef" controls preload="auto"
                     style="width: 60px;height: 60px;object-fit: contain;" :src="item.fileurlFull" />
              <el-image v-else-if="item.fileurlFull" style="width:60px; height: 60px" :src="item.fileurlFull"
                        :preview-src-list="[item.fileurlFull]">
                        :preview-src-list="row.multifileList.map(item1 => item1.fileurlFull)">
              </el-image>
            </div>
          </div>
admin/src/views/client/category.vue
@@ -97,7 +97,7 @@
      }).then(res => {
        this.loading = false
        this.dataList = res.records || []
        this.pagination.total = res.total || 0
        this.tableData.pagination.total = res.total || 0
      }, () => {
        this.loading = false
      })
admin/src/views/contract/components/pendingBills.vue
@@ -65,11 +65,17 @@
                        label="实收/付金额">
                    </el-table-column>
                    <el-table-column
                        prop="needReceivableFee"
                        label="需收/付金额">
                        <template slot-scope="{row}">
                            <div style="display: flex; align-items: center;">
                                <el-tag type="success" v-if="row.needReceivableFee > 0">收</el-tag>
                                <el-tag type="warning" v-if="row.needReceivableFee < 0">付</el-tag>
                                <span>{{Math.abs(row.needReceivableFee)}}</span>
                            </div>
                        </template>
                    </el-table-column>
                    <el-table-column
                        prop="receivableFee"
                        prop="actPayDate"
                        label="应收/付日期">
                    </el-table-column>
                </el-table>
admin/src/views/contract/components/terminationAgreement.vue
@@ -18,10 +18,14 @@
                    <el-table-column prop="buildingName" label="楼宇名称" show-overflow-tooltip />
                    <el-table-column label="楼层/房号" show-overflow-tooltip>
                        <template slot-scope="{row}">
                            {{row.floorName}}{{row.roomNum}}
                            {{row.floorName}}/{{row.roomNum}}
                        </template>
                    </el-table-column>
                    <el-table-column prop="area" label="面积" show-overflow-tooltip></el-table-column>
                    <el-table-column label="面积" show-overflow-tooltip>
                        <template slot-scope="{row}">
                            {{row.area}}㎡
                        </template>
                    </el-table-column>
                </el-table>
            </div>
            <div class="title">退租信息</div>
@@ -43,7 +47,7 @@
                </div>
                <div class="item">
                    <div class="la">协议签订日期</div>
                    <div class="val">{{ info.signDate }}㎡</div>
                    <div class="val">{{ info.signDate }}</div>
                </div>
                <div class="item">
                    <div class="la">退租原因</div>
admin/src/views/finance/overdueBills.vue
@@ -7,7 +7,7 @@
                <div class="tab" :class="{ active: billType === 1 }" @click="tabsClick(1)">逾期付款账单</div>
            </div>
            <div class="btns">
                <el-button :disabled="ids.length === 0" @click="batchCall">批量催缴</el-button>
                <el-button :disabled="ids.length === 0" @click="batchCall" v-if="billType === 0">批量催缴</el-button>
            </div>
        </div>
        <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange" stripe>
admin/src/views/index.vue
@@ -75,7 +75,7 @@
      </div>
      <div class="main_right_rc">
        <div class="main_right_rc_title">当日日程({{dataList.length}})</div>
        <div class="main_right_rc_list">
        <div class="main_right_rc_list" v-loading="loading">
          <div class="main_right_rc_list_row" v-for="(item, index) in dataList" :key="index">
            <div class="top">
              <div class="top_left">
@@ -109,7 +109,8 @@
      nian: '',
      yue: '',
      obj: {},
      dataList: []
      dataList: [],
      loading: false
    }
  },
  components: { CommonFunctions, Calendar },
@@ -137,6 +138,7 @@
        })
    },
    clickDay(e) {
      this.loading = true
      let date = e.replace("/\\//g", "-")
      let arr = this.markDateMore.filter(item => {
        if (item.date === date) {
@@ -148,6 +150,7 @@
      } else {
        this.dataList = []
      }
      this.loading = false
    },
    // èŽ·å–æ—¥ç¨‹
    getMonthNoticess() {
admin/src/views/operation/components/deviceDetail.vue
@@ -284,7 +284,7 @@
      }
    },
    getDetail() {
      this.this.activeTabs = 0
      this.activeTabs = 0
      const { id } = this
      detailById(id).then(res => {
        this.info = res
admin/src/views/operation/components/deviceEdit.vue
@@ -197,7 +197,7 @@
        floorId: '',
        roomId: '',
        
        supplier: [],
        supplier: '',
        buyDate: '',
        content: '',
        supplierLinker: '',
@@ -228,7 +228,6 @@
  created() {
    this.initData()
    this.getProjectLists()
    console.log(this.userInfo)
  },
  methods: {
    getHouseVal(e) {
admin/src/views/project/components/houseDetails.vue
@@ -6,10 +6,10 @@
        width="100%">
        <div class="right">
            <div class="right_head">
                <span>{{info.roomNum}}</span>
                <el-tag type="success" v-if="info.leaseStatus === 0">待租赁</el-tag>
                <el-tag type="success" v-if="info.leaseStatus === 1">已租赁</el-tag>
                <el-tag type="success" v-if="info.leaseStatus === 2">未开启租赁</el-tag>
                <span class="right_head_title">{{info.roomNum}}</span>
                <el-tag type="info" v-if="info.leaseStatus == 0">待租赁</el-tag>
                <el-tag type="success" v-if="info.leaseStatus == 1">已租赁</el-tag>
                <el-tag type="info" v-if="info.leaseStatus == 2">未开启租赁</el-tag>
            </div>
            <div class="right_cate">
                <el-tabs v-model="activeName" @tab-click="handleClick">
@@ -85,8 +85,13 @@
                                            </template>
                                        </el-table-column>
                                        <el-table-column
                                            prop="renterName"
                                            label="客户名称">
                                            <template slot-scope="{row}">
                                                <div style="display: flex; align-items: center;">
                                                    {{row.renterName}}
                                                    <el-tag type="success" v-if="row.status === 1">当前租户</el-tag>
                                                </div>
                                            </template>
                                        </el-table-column>
                                        <el-table-column
                                            prop="startDate"
@@ -177,14 +182,15 @@
                                                    value: 'id',
                                                    children: 'childCategoryList'
                                                }" />
                                            <el-select v-model="form.status" style="width: 150px; margin-right: 15px;" placeholder="工单状态">
                                                <el-option label="启用" :value="0"></el-option>
                                                <el-option label="禁用" :value="1"></el-option>
                                            <el-select v-model="form.dealStatus" style="width: 150px; margin-right: 15px;" placeholder="工单状态">
                                                <el-option label="待指派" :value="0"></el-option>
                                                <el-option label="已指派" :value="1"></el-option>
                                                <el-option label="已处理" :value="2"></el-option>
                                            </el-select>
                                            <el-button type="primary" @click="getFetchList">查询</el-button>
                                            <el-button @click="clear">清空</el-button>
                                        </div>
                                        <el-button type="primary" @click="$refs.operaYwWorkorderWindow.open('新建工单')">新增工单</el-button>
                                        <el-button type="primary" @click="addWorkOrder">新增工单</el-button>
                                    </div>
                                    <el-table
                                        :data="tableData"
@@ -322,80 +328,6 @@
                            </el-card>
                        </div>
                    </el-tab-pane>
                    <el-tab-pane label="资产信息" name="fourth">
                        <div class="xm">
                            <el-card>
                                <div slot="header" class="clearfix">
                                    <span>资产清单</span>
                                </div>
                                <div class="xm_table">
                                    <div class="xm_table_search">
                                        <div class="xm_table_search_left">
                                            <el-input v-model="form.code" placeholder="请输入资产名称/编码" style="width: 200px; margin-right: 15px;"></el-input>
                                            <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="资产分类">
                                                <el-option
                                                    v-for="item in options"
                                                    :key="item.value"
                                                    :label="item.label"
                                                    :value="item.value">
                                                </el-option>
                                            </el-select>
                                            <el-button type="primary" @click="getPropertyLists">查询</el-button>
                                            <el-button @click="clear">清空</el-button>
                                        </div>
                                        <el-button type="primary" @click="$refs.newMaterial.open('新建物料')">新增</el-button>
                                    </div>
                                    <el-table
                                        :data="tableData"
                                        border
                                        v-loading="loading"
                                        style="width: 100%">
                                        <el-table-column
                                            prop="code"
                                            label="资产编码">
                                        </el-table-column>
                                        <el-table-column
                                            prop="name"
                                            label="资产名称">
                                        </el-table-column>
                                        <el-table-column
                                            prop="qrcode"
                                            label="条码">
                                        </el-table-column>
                                        <el-table-column
                                            prop="brand"
                                            label="品牌">
                                        </el-table-column>
                                        <el-table-column
                                            prop="attr"
                                            label="规格型号">
                                        </el-table-column>
                                        <el-table-column
                                            prop="unitName"
                                            label="单位">
                                        </el-table-column>
                                        <el-table-column
                                            label="库存数量">
                                            <template v-slot="scope">
                                                <span>{{ scope.row.maxStock }} ~ {{ scope.row.minStock }}</span>
                                            </template>
                                        </el-table-column>
                                    </el-table>
                                    <div class="xm_table_f">
                                        <el-pagination
                                            @size-change="handleSizeChange"
                                            @current-change="handleCurrentChange"
                                            :current-page="page"
                                            :page-sizes="[10, 20, 30, 40]"
                                            :page-size="pageTotal"
                                            layout="total, sizes, prev, pager, next, jumper"
                                            :total="total">
                                        </el-pagination>
                                    </div>
                                </div>
                            </el-card>
                        </div>
                    </el-tab-pane>
                </el-tabs>
            </div>
        </div>
@@ -448,7 +380,8 @@
          areaIds: [],
          cateId: '',
          status: '',
          name: ''
          name: '',
          dealStatus: ''
        },
        cateList: [],
        categaryList: [],
@@ -460,6 +393,7 @@
    methods: {
      open (title, id) {
        this.title = title
        this.activeName = 'houseinfo'
        this.houseId = id
        detailById(id)
          .then(res => {
@@ -470,7 +404,10 @@
      handleEdit(row) {
        this.showEdit1 = true
        this.$nextTick(() => {
          this.$refs.EditRef.param.projectId = this.info.projectId
          this.$refs.EditRef.param.rooms = [this.info.projectId, this.info.buildingId, this.info.floor, this.info.id]
          this.$refs.EditRef.isShowModal = true
          this.$refs.EditRef.changeProject()
        })
      },
      handleDetail(row) {
@@ -479,6 +416,13 @@
          this.$refs.DetailRef.visible = true
          this.$refs.DetailRef.id = row.id
          this.$refs.DetailRef.getDetail()
        })
      },
      addWorkOrder() {
        this.$refs.operaYwWorkorderWindow.open('新建工单', {
          rooms: [this.info.projectId, this.info.buildingId, this.info.floor, this.info.id],
          areaType: 0,
          content: ''
        })
      },
      // èŽ·å–è®¾å¤‡çŠ¶æ€
@@ -562,6 +506,7 @@
        this.form.status = ''
        this.form.areaIds = []
        this.form.cateId = ''
        this.form.dealStatus = ''
        this.form.name = ''
        if (this.propsName === 'project') {
          this.getTenantContract()
@@ -607,7 +552,7 @@
          capacity: this.pageTotal,
          page: this.page,
          model: {
            roomIds: [this.houseId],
            roomId: this.houseId,
            code: this.form.code
          }
        }).then(res => {
@@ -739,6 +684,7 @@
        this.form.cateId = ''
        this.form.status = ''
        this.form.name = ''
        this.form.dealStatus = ''
        this.propsName = tab._props.name
        if (tab._props.name === 'project') {
          this.getTenantContract()
@@ -791,7 +737,7 @@
            width: 100%;
            padding: 20px;
            box-sizing: border-box;
            span {
            .right_head_title {
                font-size: 16px;
                font-weight: bold;
                color: black;
admin/src/views/project/housingList.vue
@@ -40,9 +40,9 @@
        <el-table-column prop="feeArea" label="计费面积(m²)" min-width="80px"></el-table-column>
        <el-table-column prop="" label="租赁状态" min-width="80px">
          <template v-slot="{row}">
            <span v-if="row.leaseStatus == 0">待租</span>
            <span v-else-if="row.leaseStatus == 1">已租</span>
            <span v-else>-</span>
            <el-tag type="info" v-if="row.leaseStatus == 0">待租</el-tag>
            <el-tag type="success" v-else-if="row.leaseStatus == 1">已租</el-tag>
            <el-tag type="info" v-else-if="row.leaseStatus == 2">未开启租赁</el-tag>
          </template>
        </el-table-column>
        <el-table-column prop="isInvestment" label="招商状态" min-width="60px">
admin/src/views/roomStatus/index.vue
@@ -52,7 +52,7 @@
                                        </div>
                                        <div class="xm_one_row">
                                            <span>出租率</span>
                                            <span>{{(projectNums.leaseRoomAmount / projectNums.investmentRoomAmount).toFixed(2)}}%</span>
                                            <span>{{rentalRate()}}%</span>
                                            <span>待租面积:{{projectNums.investmentArea - projectNums.leaseArea}}m²</span>
                                        </div>
                                    </div>
@@ -330,7 +330,7 @@
                                        </div>
                                        <div class="xm_one_row">
                                            <span>出租率</span>
                                            <span>{{(projectNums.leaseRoomAmount / projectNums.investmentRoomAmount).toFixed(2)}}%</span>
                                            <span>{{rentalRate()}}%</span>
                                            <span>待租面积:{{projectNums.investmentArea - projectNums.leaseArea}}m²</span>
                                        </div>
                                    </div>
@@ -362,7 +362,7 @@
                                        </div>
                                        <div class="xm_info_row" style="width: 25%; margin-top: 15px;">
                                            <span>建筑面积</span>
                                            <span>{{buildingInfo.cqArea}}㎡</span>
                                            <span>{{buildingInfo.area}}㎡</span>
                                        </div>
                                        <div class="xm_info_row" style="width: 25%; margin-top: 15px;">
                                            <span>计租面积</span>
@@ -400,7 +400,7 @@
                                            <el-table-column
                                                label="合同编号">
                                                <template slot-scope="{row}">
                                                    <el-button type="text">{{row.code}}</el-button>
                                                    <el-button type="text" @click="$refs.ContractDetailRef.open('合同详情', row.id)">{{row.code}}</el-button>
                                                </template>
                                            </el-table-column>
                                            <el-table-column
@@ -641,6 +641,8 @@
        <Detail v-if="showDetail" ref="DetailRef" @close="showDetail = false" />
        <!--    æ–°å»ºè®¾å¤‡    -->
        <Edit v-if="showEdit1" ref="EditRef" @success="getDevicePage" @close="showEdit1 = false" />
        <!--    åˆåŒè¯¦æƒ…    -->
        <ContractDetail ref="ContractDetailRef" />
    </div>
</template>
@@ -656,9 +658,10 @@
  import Detail from '../workorder/components/detail'
  import { fetchList as devicePage, getDeviceCateData, getDeviceStatus } from '@/api/Inspection/device'
  import Edit from '../operation/components/deviceEdit'
  import ContractDetail from '../contract/components/contractDetail'
  export default {
    name: 'index',
    components: { OperaYwWorkorderWindow, Detail, Edit },
    components: { OperaYwWorkorderWindow, Detail, Edit, ContractDetail },
    data() {
      return {
        showDetail: false,
@@ -746,6 +749,10 @@
        if (!value) return true;
        return data.name.indexOf(value) !== -1;
      },
      // å‡ºç§Ÿçއ
      rentalRate() {
        return ((this.projectNums.leaseArea / this.projectNums.investmentArea) * 100).toFixed(2)
      },
      // åˆ¤æ–­æˆ¿æ€å®½åº¦
      ifWidth(num) {
        if (num >= 0 && num <= 100) {
admin/src/views/stock/assetCate.vue
@@ -3,11 +3,11 @@
    <template v-slot:table-wrap>
      <ul class="toolbar">
        <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus">新建</el-button></li>
        <li><el-button type="primary" @click="exportExcel">导出</el-button></li>
<!--        <li><el-button type="primary" @click="exportExcel">导出</el-button></li>-->
      </ul>
      <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search"
        :data="dataList" stripe @selection-change="handleSelectionChange">
        <el-table-column prop="name" label="资产分类" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="物料分类" min-width="100px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])" label="操作"
          min-width="120" fixed="right">
@@ -68,7 +68,7 @@
  methods: {
    handleEdit(row) {
      this.isShowEdit = true
      let str = row && row.id ? '编辑资产分类' : '新建资产分类'
      let str = row && row.id ? '编辑物料分类' : '新建物料分类'
      this.$nextTick(() => {
        this.$refs.CateEditRef.open(str)
        this.$refs.CateEditRef.getList()
admin/src/views/stock/assetList.vue
@@ -7,8 +7,8 @@
      <el-button>导入</el-button>
    </div>
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column prop="code" label="资产编码" min-width="100" show-overflow-tooltip />
      <el-table-column prop="name" label="资产名称" min-width="100" show-overflow-tooltip />
      <el-table-column prop="code" label="物料编码" min-width="100" show-overflow-tooltip />
      <el-table-column prop="name" label="物料名称" min-width="100" show-overflow-tooltip />
      <el-table-column prop="qrcode" label="条码" min-width="100" show-overflow-tooltip />
      <el-table-column prop="brand" label="品牌" min-width="100" show-overflow-tooltip />
      <el-table-column prop="attr" label="规格型号" min-width="100" show-overflow-tooltip />
admin/src/views/stock/components/OutEdit.vue
@@ -82,7 +82,7 @@
      rules,
      storeList: [],
      list: [],
      StoreTypeOps: StoreTypeOps.filter(i => i.type == 1),
      StoreTypeOps: StoreTypeOps.filter(i => i.type == 1 && i.id != 10),
      dataList: [],
    }
admin/src/views/stock/components/config.js
@@ -3,13 +3,14 @@
  { name: '领用退回', id: 1, type: 0 },
  { name: '库存调整', id: 2, type: 0 },
  { name: '其它入库', id: 3, type: 0 },
  // { name: '盘盈入库', id: 4, type: 0 },
  { name: '盘盈入库', id: 4, type: 0 },
  { name: '领用出库', id: 5, type: 1 },
  { name: '仓库出单', id: 6, type: 1 },
  { name: '调整出库', id: 7, type: 1 },
  { name: '采购出库', id: 8, type: 1 },
  { name: '其它出库', id: 9, type: 1 },
  // { name: '盘出出库', id: 10, type: 1 },
  { name: '盘亏出库', id: 10, type: 1 },
]
export const rules = {
  warehouseId: [{ required: true, message: '请选择', trigger: 'blur' }],
admin/src/views/stock/components/inventoryDetails.vue
@@ -68,7 +68,13 @@
                        <el-table-column prop="materialUnitName" label="单位" show-overflow-tooltip />
                        <el-table-column prop="warehouseName" label="所在仓库" show-overflow-tooltip />
                        <el-table-column prop="stock" label="账面数量" show-overflow-tooltip />
                        <el-table-column prop="actStock" label="盘点数量" show-overflow-tooltip />
                        <el-table-column label="盘点数量" show-overflow-tooltip>
                            <template slot-scope="{row}">
                                <span style="color: red;" v-if="row.type === 1">{{row.actStock}}</span>
                                <span style="color: green;" v-else-if="row.type === 2">{{row.actStock}}</span>
                                <span v-else>{{row.actStock}}</span>
                            </template>
                        </el-table-column>
                        <el-table-column prop="remark" label="备注" show-overflow-tooltip />
                    </el-table>
                </div>
admin/src/views/stock/components/newMaterial.vue
@@ -10,7 +10,7 @@
                <el-form :model="form" label-position="top" ref="form" :rules="rules">
                    <div class="list">
                        <el-form-item label="物料编码" prop="code">
                            <el-input v-model="form.code" placeholder="不输入系统会自动编码" v-trim />
                            <el-input v-model="form.code" :disabled="form.id" placeholder="不输入系统会自动编码" v-trim />
                        </el-form-item>
                        <el-form-item label="物料名称" prop="name">
                            <el-input v-model="form.name" placeholder="请输入" v-trim />
@@ -46,7 +46,9 @@
                                :action="uploadImgUrl"
                                :file-list="fileList"
                                :data="uploadData"
                                :limit="1"
                                list-type="picture-card"
                                :on-exceed="exceed"
                                :on-success="uploadAvatarSuccess"
                                :on-remove="dele">
                                <i class="el-icon-plus"></i>
@@ -147,6 +149,9 @@
          }
        })
      },
      exceed() {
        this.$message.warning('只能上传一张图片!')
      },
      getCateVal(e) {
        this.form.parentCateId = e[0]
        this.form.cateId = e[1]
admin/src/views/stock/components/newWarehouse.vue
@@ -63,7 +63,8 @@
        },
        // éªŒè¯è§„则
        rules: {
          name: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }]
          name: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],
          userId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }]
        },
        userList: []
      }
admin/src/views/stock/out.vue
@@ -87,7 +87,7 @@
            label: '出库类型',
            labelCode: 'name',
            valueCode: 'id',
            options: StoreTypeOps.filter(i => i.type == 0)
            options: StoreTypeOps.filter(i => i.type == 1)
          },
        ],
        online: true
admin/src/views/stock/record.vue
@@ -5,7 +5,7 @@
      <el-button @click="handleEx()" v-permissions="['business:ywoutinboundrecord:exportExcel']">导出</el-button>
    </div>
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column prop="doneDate" label="单据日期" min-width="90" show-overflow-tooltip />
      <el-table-column prop="doneDate" label="单据日期" min-width="100" show-overflow-tooltip />
      <el-table-column prop="materialCode" label="物料编码" min-width="90" show-overflow-tooltip />
      <el-table-column prop="materialName" label="物料名称" min-width="90" show-overflow-tooltip />
      <el-table-column prop="carCodeFront" label="物料分类" min-width="120" show-overflow-tooltip>
admin/src/views/workorder/components/OperaYwWorkorderWindow.vue
@@ -156,6 +156,7 @@
  methods: {
    open(title, target) {
      this.title = title
      this.fileList = []
      this.visible = true
      this.getProject()
      this.getCate()
@@ -201,6 +202,7 @@
      }
      // ç¼–辑
      this.$nextTick(() => {
        this.$refs.form.resetFields()
        for (const key in this.form) {
          this.form[key] = target[key]
        }
admin/src/views/workorder/components/detail.vue
@@ -225,7 +225,6 @@
    openWT() {
      getByWorkorderId(this.id)
        .then(res => {
          console.log(res)
          this.$refs.problemReportingDetails.open('问题上报详情', res)
        })
    },
admin/src/views/workorder/components/handleProblem.vue
@@ -104,7 +104,7 @@
                            :file-list="form.workOrderFileList"
                            accept=".png,.jpg,.jpeg,.PNG,.JPG"
                            :on-success="getFile"
                            :data="{ folder: 'YW_PROBLEM' }"
                            :data="{ folder: 'YW_WORKORDER' }"
                            list-type="picture-card">
                            <i class="el-icon-plus"></i>
                        </el-upload>
admin/src/views/workorder/components/problemReportingDetails.vue
@@ -10,9 +10,9 @@
                    <div class="title">问题详情</div>
                    <el-tag style="margin-left: 10px;" v-if="form.dealStatus === 0">待处理</el-tag>
                    <el-tag style="margin-left: 10px;" v-if="form.dealStatus === 1">已转工单</el-tag>
                    <el-tag style="margin-left: 10px;" v-if="form.dealStatus === 2">已关闭</el-tag>
                    <el-tag style="margin-left: 10px;" type="info" v-if="form.dealStatus === 2">已关闭</el-tag>
                </div>
                <el-button @click="handleDetail" v-if="form.dealStatus === 1">查看工单</el-button>
                <el-button @click="handleDetail" v-if="form.dealStatus === 1">查看工单{{form.workorderId}}</el-button>
            </div>
            <div class="wt_content">
                <div class="wt_content_row" style="width: 25%;">
@@ -45,7 +45,7 @@
            </div>
            <div class="wt_head">
                <div class="wt_head_title">
                    <div class="title">问题详情</div>
                    <div class="title">处理结果</div>
                </div>
            </div>
            <div class="wt_content">
@@ -64,7 +64,7 @@
            </div>
        </div>
        <!--    å·¥å•详情    -->
        <Detail v-if="showDetail" ref="DetailRef" @close="showDetail = false" />
        <Detail v-if="showDetail" ref="DetailRef1" @close="showDetail = false" />
    </GlobalWindow>
</template>
@@ -96,9 +96,9 @@
      handleDetail() {
        this.showDetail = true
        this.$nextTick(() => {
          this.$refs.DetailRef.visible = true
          this.$refs.DetailRef.id = this.form.workorderId
          this.$refs.DetailRef.getDetail()
          this.$refs.DetailRef1.visible = true
          this.$refs.DetailRef1.id = this.form.workorderId
          this.$refs.DetailRef1.getDetail()
        })
      },
      returnText(status) {
admin/src/views/workorder/problemReporting.vue
@@ -28,7 +28,7 @@
        <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
        <template v-slot:table-wrap>
            <el-table v-loading="isWorking.search" :data="tableData.list" stripe>
                <el-table-column prop="remark" label="描述" min-width="70px"></el-table-column>
                <el-table-column prop="content" label="描述" min-width="70px"></el-table-column>
                <el-table-column prop="position" label="位置" min-width="100px"></el-table-column>
                <el-table-column label="现场图片" min-width="100px">
                    <template slot-scope="{row}">
h5/pages.json
@@ -118,6 +118,13 @@
            {
                "navigationBarTitleText" : "任务中心"
            }
        },
        {
            "path" : "pages/polling/empty",
            "style" :
            {
                "navigationBarTitleText" : "扫码巡检"
            }
        }
    ],
    "globalStyle": {
h5/pages/login.vue
@@ -83,7 +83,7 @@
                    code: code || this.code
                }).then(res => {
                    if (res.code === 200) {
                        console.log('res', res);
                        // console.log('res', res);
                        that.$store.commit('setOpenId', res.data.openid)
                        if (res.data.token && res.data.token != '') {
                            that.$store.commit('setToken', res.data.token)
@@ -92,10 +92,16 @@
                            })
                            const ywinfo = this.ywinfo
                            if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
                                getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
                                getRecordByUserPoint({
                                    pointCode: ywinfo.ywid
                                }).then(res => {
                                    if(res.data && res.data.id){
                                        uni.redirectTo({
                                            url: "/pages/polling/point?id=" + res.data.id
                                        })
                                    } else {
                                        uni.redirectTo({
                                            url: "/pages/polling/empty"
                                        })
                                    }
                                })
@@ -148,15 +154,21 @@
                            this.setUserInfo(ress.data)
                            const ywinfo = this.ywinfo
                            if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
                            getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
                                getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
                                // getRecordByUserPoint({pointCode: ywinfo.ywid}).then(res => {
                                getRecordByUserPoint({
                                    pointCode: ywinfo.ywid
                                }).then(res => {
                                    if(res.data && res.data.id){
                                        uni.redirectTo({
                                            url: "/pages/polling/point?id=" + res.data.id
                                        })
                                    } else {
                                        uni.redirectTo({
                                            url: "/pages/polling/empty"
                                        })
                                    }
                                })
                            })
                                // })
                            } else {
                                uni.redirectTo({
                                    url: "/pages/index"
h5/pages/polling/detail.vue
@@ -42,7 +42,7 @@
                    <template v-if="item.status == 1">
                        <view class="line">
                            <view class="la">巡检结果:</view>
                            <view class="val" :class="{ red: item.dealStatus == 1 }">{{ item.dealStatus == 0 ? '正常' : '异常' }}</view>
                            <view class="val" :class="{ red: item.dealStatus == 1 }">{{ item.dealStatus == 0 ? '正常' : item.dealStatus == 1 ? '异常' : '-' }}</view>
                        </view>
                        <view class="line">
                            <view class="la">巡检时间:</view>
@@ -181,7 +181,7 @@
                    this.info = res.data
                    let time = new Date(res.data.startDate).getTime()
                    console.log('res.data.startDate', new Date().getTime());
                    this.flag = new Date().getTime() > time && (this.info.status == 0 || this.info.status == 1)
                    this.flag = new Date().getTime() > time && (this.info.status == 0 || this.info.status == 1 || this.info.status == 2)
                })
                ywPatrolTaskRecord({
                    capacity: 999,
h5/pages/polling/empty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
<template>
    <view class="main_app">
        <image class="logo" src="@/static/side/default_empty@2x.png" mode=""></image>
        <view class="btn" @click="backHome">返回主页</view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        },
        methods: {
            backHome(){
                uni.redirectTo({
                    url: '/pages/index'
                })
            }
        }
    }
</script>
<style lang="scss">
.main_app{
    .logo{
        width: 272rpx;
        height: 228rpx;
        margin: 60% auto 0;
    }
    .btn{
        position: fixed;
        bottom: 64rpx;
        left: 40rpx;
        width: 670rpx;
        height: 88rpx;
        background: #0068FF;
        box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0,104,255,0.3);
        border-radius: 44rpx;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 500;
        font-size: 32rpx;
        color: #FFFFFF;
    }
}
</style>
h5/pages/polling/point.vue
@@ -8,7 +8,7 @@
            <template v-if="info.status == 1">
                <view class="line">
                    <div class="la">巡检结果:</div>
                    <div class="val primaryColor" :class="{red: info.dealStatus == 1}">{{ info.dealStatus == 0 ? '正常' : '异常' }}
                    <div class="val primaryColor" :class="{red: info.dealStatus == 1}">{{ info.dealStatus == 0 ? '正常' : info.dealStatus == 1 ? '异常' : '-' }}
                    </div>
                </view>
                <view class="line">
@@ -141,10 +141,10 @@
                            id: 1,
                            name: '异常'
                        },
                        {
                            id: '',
                            name: '跳过'
                        },
                        // {
                        //     id: 2,
                        //     name: '跳过'
                        // },
                    ]
                ],
                
h5/pages/polling/task.vue
@@ -44,7 +44,7 @@
                        <view class="line" @click="itemClick(item)">执行时间:{{ item.startDate.slice(11, 16) }} è‡³ {{ item.endDate.slice(11, 16) }}</view>
                        <view class="line">
                            <view @click="itemClick(item)">完成情况:{{item.finishNum || 0}}/{{item.patrolNum}}</view>
                            <view v-if="param.queryStatus == '0,1' && item.flag && (item.status == 0 || item.status == 1)" class="btn" @click="openSc(item)">
                            <view v-if="param.queryStatus == '0,1' && item.flag && (item.status == 0 || item.status == 1 || item.status == 2)" class="btn" @click="openSc(item)">
                                <image src="@/static/side/ic_saoma@2x.png" class="saoma" mode=""></image>
                                <view>扫码巡检</view>
                            </view>
h5/static/side/default_empty@2x.png
h5/utils/service.js
@@ -37,10 +37,10 @@
                        if (data.code === 500 || data.code === 5112) {
                            uni.clearStorageSync()
                            return uni.navigateTo({
                                url: '/pages/login/login'
                                url: '/pages/login'
                            })
                        }
                        return
                        return resolve(data)
                    }
                    resolve(data)
                    // return response.data