From 0ff4be6c9cb9bc215acd4b4c78122da7e0d7140f Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期五, 01 十二月 2023 13:55:50 +0800 Subject: [PATCH] feat: 部门物品退回 --- admin-web/src/views/departmentitem/itemret/returnNote/detail.vue | 52 +- admin-web/src/views/departmentitem/itemscr/scrapping/index.vue | 45 +- admin-web/src/views/departmentitem/itemret/retDetails/index.vue | 181 ++++++---- admin-web/src/views/departmentitem/itemret/returnNote/edit.vue | 414 ++++++++++++++--------- admin-web/src/views/departmentitem/itemret/returnNote/index.vue | 44 +- admin-web/src/views/departmentitem/itemdis/disDetails/index.vue | 45 - admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue | 205 ++++++----- admin-web/public/static/config.js | 4 8 files changed, 560 insertions(+), 430 deletions(-) diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js index b7e2788..2c5f21a 100644 --- a/admin-web/public/static/config.js +++ b/admin-web/public/static/config.js @@ -4,8 +4,8 @@ // 涓婁紶璺緞 ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� // 鎺ュ彛璇锋眰鍦板潃 - // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� - apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� + apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� + // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� debug: false //璋冭瘯寮�鍏� true鏃朵細杈撳嚭璇锋眰鏃ュ織 }; diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue index 757bc2c..1a49feb 100644 --- a/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue @@ -46,36 +46,10 @@ defaultValue: '', }, { - type: 'cascader', - dataIndex: 'agencyId', - label: '鏈烘瀯', - placeholder: '璇烽�夋嫨', - cascader: [ - {key: 'inWarehouseId', queryKey: 'tenantId'}, - {key: 'goodsTemplateId', queryKey: 'agencyId'} - ], - optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null}, - defaultValue: '', - options: [], - }, - { - type: 'select', - dataIndex: 'inWarehouseId', - label: '閮ㄩ棬', - placeholder: '璇烽�夋嫨', - optionsConfig: { - url: `/pc/fin/sys/tenant/department/list/all`, - label: 'name', - value: 'id', - }, - defaultValue: '', - options: [], - }, - { type: 'select', dataIndex: 'goodsTemplateId', label: '鐗╁搧鍚嶇О', - placeholder: '璇疯緭鍏�', + placeholder: '璇烽�夋嫨', defaultValue: '', options: [], cascader: [{key: 'goodsModelId', queryKey: 'goodsTemplatesId'}], @@ -99,8 +73,21 @@ }, }, { + type: 'select', + dataIndex: 'departmentId', + label: '閮ㄩ棬', + placeholder: '璇烽�夋嫨', + optionsConfig: { + url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`, + label: 'name', + value: 'id', + }, + defaultValue: '', + options: [], + }, + { type: 'text', - dataIndex: 'name', + dataIndex: 'operatorName', label: '鍒涘缓浜�', placeholder: '璇疯緭鍏�', defaultValue: '', @@ -166,7 +153,7 @@ }, {title: '瑙勬牸鍨嬪彿', field: 'goodsModelName', align: 'left', minWidth: 130}, {title: '鍒嗗彂鏁伴噺', field: 'goodsCount', align: 'center'}, - {title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'left', minWidth: 130}, + /*{title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'left', minWidth: 130},*/ {title: '閮ㄩ棬', field: 'departmentName', align: 'left', minWidth: 130}, {title: '鍒嗗彂浜�', field: 'operatorName', align: 'center'}, { diff --git a/admin-web/src/views/departmentitem/itemret/retDetails/index.vue b/admin-web/src/views/departmentitem/itemret/retDetails/index.vue index 7215628..e784083 100644 --- a/admin-web/src/views/departmentitem/itemret/retDetails/index.vue +++ b/admin-web/src/views/departmentitem/itemret/retDetails/index.vue @@ -13,125 +13,165 @@ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/> </el-col> </el-row> + <!--娣诲姞/缂栬緫寮圭獥--> + <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false"/> </el-card> </el-container> </el-container> - <!--璇︽儏--> - <detail v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false"/> </div> </template> <script> -import MyTableV2 from "@/components/myTable/myTableV2"; -import MyButton from "@/components/myButton/myButton"; +import MyTableV2 from '@/components/myTable/myTableV2'; +import MyButton from '@/components/myButton/myButton'; import SettingIplatform from '@/utils/settingIplatform'; -import detail from '@/views/departmentitem/itemret/returnNote/detail' +import detail from '../returnNote/detail'; +import * as DateFormatter from "@/utils/DateFormatter"; +import {getUserDetail} from "@/utils/auth"; export default { - name: "index", - components: {MyButton, MyTableV2,detail}, + name: 'index', + components: {MyButton, MyTableV2, detail}, data() { return { // 鎼滅储妗� items: [ { type: 'text', - dataIndex: 'name', - label: '閫�鍥炲崟鍙�', + dataIndex: 'businessFormCode', + label: '鍗曞彿', placeholder: '璇疯緭鍏�', - defaultValue: '' - }, - { - type: 'text', - dataIndex: 'name', - label: '鐗╁搧鍚嶇О', - placeholder: '璇疯緭鍏�', - defaultValue: '' + defaultValue: '', }, { type: 'select', - dataIndex: 'name', + dataIndex: 'goodsTemplateId', + label: '鐗╁搧鍚嶇О', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + cascader: [{key: 'goodsModelId', queryKey: 'goodsTemplatesId'}], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + `/pc/base/goods/template/query/goodsTemplate?tenantId=${getUserDetail().tenantId}`, + }, + }, + { + type: 'select', + dataIndex: 'goodsModelId', label: '瑙勬牸鍨嬪彿', placeholder: '璇疯緭鍏�', defaultValue: '', - options:[] + options: [], + optionsConfig: { + label: 'modelName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel', + }, }, { - type: 'cascader', - dataIndex: 'agencyId', - label: '鏈烘瀯', + type: 'select', + dataIndex: 'departmentId', + label: '閮ㄩ棬', placeholder: '璇烽�夋嫨', - optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null }, + optionsConfig: { + url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`, + label: 'name', + value: 'id', + }, defaultValue: '', options: [], }, { - type: 'select', - dataIndex: 'name', - label: '閮ㄩ棬', - placeholder: '璇疯緭鍏�', - defaultValue: '', - options:[] - }, - { type: 'text', - dataIndex: 'name', + dataIndex: 'operatorName', label: '鍒涘缓浜�', placeholder: '璇疯緭鍏�', - defaultValue: '' + defaultValue: '', + }, + { + type: 'date-picker', + dataIndex: 'startTime', + label: '鏃堕棿', + defaultValue: '', + }, + { + type: 'date-picker', + dataIndex: 'endTime', + label: '鑷�', + defaultValue: '', }, ], - // 鏍戞暟鎹� - treeDataList: [], // 鎼滅储鏉′欢 filterFrom: { tenantId: null, userName: null, userPhone: null, - status: 1 + status: 1, }, editSetting: { title: '', id: '', + orgId: '', + show: false, + }, + detailSetting: { + title: '', + id: '', + orgId: '', show: false, }, // 琛ㄦ牸鏁版嵁 table: { showIndex: true, // 鏄惁鏄剧ず搴忓彿 expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁 - url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃 + url: SettingIplatform.apiBaseURL + '/pc/l/wh/form/transfer/department/list', // 璇锋眰鍦板潃 // 宸ュ叿鏉� tools: { - columnsCtrl: {// 鍒楁帶鍒舵寜閽� - show: false + columnsCtrl: { + // 鍒楁帶鍒舵寜閽� + show: false, }, - generalExport: {// 閫氱敤瀵煎嚭鎸夐挳 - show: false + generalExport: { + // 閫氱敤瀵煎嚭鎸夐挳 + show: false, }, // 鑷畾涔夊伐鍏锋潯鎸夐挳 - custom: [ - ] + custom: [], }, // 鍒椾俊鎭� columns: [ - {title: '鍗曞彿', field: 'code', align: 'center'}, - {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', }, - {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', }, - {title: '閫�杩樻暟閲�', field: 'summary', align: 'left',}, - {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',}, - {title: '閮ㄩ棬', field: 'summary', align: 'left',}, - {title: '鍒涘缓浜�', field: 'summary', align: 'left',}, - {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',}, + {title: '鍗曞彿', field: 'businessFormCode', align: 'center', width: 130}, + {title: '鐗╁搧鍚嶇О', field: 'goodsName', align: 'left', minWidth: 140}, + /*{ + title: '绫诲埆', field: 'type', align: 'center', formatter: (row) => { + return {value: row.type + '绫�'}; + }, + },*/ + {title: '瑙勬牸鍨嬪彿', field: 'goodsModelName', align: 'left', minWidth: 130}, + {title: '鎶ュ簾鏁伴噺', field: 'count', align: 'center'}, + /*{title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'left', minWidth: 130},*/ + {title: '閮ㄩ棬', field: 'departmentName', align: 'left', minWidth: 130}, + {title: '鍒涘缓浜�', field: 'operatorName', align: 'center', width: 100}, + { + title: '鎿嶄綔鏃堕棿', field: 'createTime', align: 'center', + width: 160, + formatter: (row) => { + return {value: DateFormatter.LongToDateTime(row.createTime)}; + }, + }, ], // 鎿嶄綔淇℃伅 operation: { show: true, // 鏄剧ず鎿嶄綔鍒� - width: '150', // 鍒楀 + width: 90, // 鍒楀 attr: [ { title: '璇︽儏', + type: 'info', events: (row) => { - this.showAudit(row); + this.handleDetail(row); }, }, ], @@ -143,36 +183,35 @@ small: false, pageNum: 1, pageSize: 10, - total: 0 - } - } + total: 0, + }, + }, }, - } + }; }, created() { }, methods: { - showAudit(row) { - this.editSetting.id = row.id; - this.editSetting.title = '璇︽儏'; - this.editSetting.show = true; + handleDetail(row) { + this.detailSetting.id = row.id; + this.detailSetting.info = JSON.stringify(row); + this.detailSetting.title = '璇︽儏'; + this.detailSetting.show = true; }, // 鏌ヨtable鍒楄〃 search(pageNum) { if (pageNum != undefined) { - this.$refs.myTable.search(pageNum) + this.$refs.myTable.search(pageNum); } else { - this.$refs.myTable.search() + this.$refs.myTable.search(); } }, fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params) - this.search(1) - } - } -} + this.filterFrom = Object.assign(this.filterFrom, params); + this.search(1); + }, + }, +}; </script> -<style scoped> - -</style> +<style scoped></style> diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue b/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue index 914c6ae..0df75be 100644 --- a/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue +++ b/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue @@ -3,30 +3,30 @@ <el-row :gutter="20"> <el-col :span="8"> <span>閫�鍥炲崟鍙凤細</span> - <span>SL2023001</span> + <span>{{detail.businessFormCode}}</span> </el-col> <el-col :span="8"> <span>鎵�灞炴満鏋勶細</span> - <span>娌冲崡鐪侀偖鏀垮垎鍏徃</span> + <span>{{detail.departmentName}}</span> </el-col> <el-col :span="8"> <span>閮ㄩ棬锛�</span> - <span>閲戣瀺涓氬姟閮�</span> + <span>{{detail.departmentName}}</span> </el-col> </el-row> <el-row :gutter="20" style="margin-top: 20px"> <el-col :span="8"> <span>閫�鍥炰汉锛�</span> - <span>寮犵埍鐢�</span> + <span>{{detail.operatorName}}</span> </el-col> <el-col :span="8"> <span>閫�鍥炴椂闂达細</span> - <span>2023-08-08 10:23:12</span> + <span>{{detail.dealTime | formatTime }}</span> </el-col> </el-row> <el-row :gutter="20" style="margin-top: 20px"> <el-col class="img-row" :span="24"> - <span>鎶ュ簾鎵嬬画锛�</span> + <span>閫�鍥炴墜缁細</span> <div class="img-box" v-for="(item, index) in fileList" :key="index" @click="handlePreview(item)"> <img class="img" :src="getUrl(item.path)" alt="" /> </div> @@ -34,38 +34,48 @@ </el-row> <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.procureGoods" :key="goodsIndex"> <el-row :gutter="20"> - <el-col :span="6"> + <el-col :span="8"> <span>鐗╁搧鍒嗙被锛�</span> <span>{{ goodsItem.baseCategoryName }}</span> </el-col> - <el-col :span="6"> + <el-col :span="8"> <span>鐗╁搧鍚嶇О锛�</span> - <span>{{ goodsItem.goodsTemplateName }}</span> + <span>{{ goodsItem.baseGoodsTemplateName }}</span> </el-col> - <el-col :span="6"> + <el-col :span="4"> <span>鐗╁搧绫诲埆锛�</span> - <span>{{ goodsItem.supplier }}</span> + <span>{{ goodsItem.modelName }}</span> </el-col> - <el-col :span="6"> + <el-col :span="4"> <span>鍒嗗彂鍗曞彿锛�</span> - <span>{{ goodsItem.supplier }}</span> + <span>{{ goodsItem.businessFormCode }}</span> </el-col> </el-row> - <div> - <el-table :data="goodsItem.models" :stripe="true" style="margin-top: 20px"> - <el-table-column prop="baseGoodsModelsName" label="瑙勬牸鍨嬪彿" align="center"> + <div v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex"> + <el-row :gutter="24" type="flex" align="middle" style="height: 50px"> + <el-col :span="8"> + <span>瑙勬牸鍨嬪彿锛�</span> + <span>{{ mItem[0].modelName }}</span> + </el-col> + <el-col :span="4"> + <span>鍗曚綅锛�</span> + <span>{{ mItem[0].unit }}</span> + </el-col> + </el-row> + <el-table :data="mItem" :stripe="true" style="margin-top: 20px"> + <el-table-column prop="baseGoodsModelsName" label="瑙勬牸鍨嬪彿" align="center" v-if="!mItem[0].nowUserName"> <template slot-scope="scope"> {{ scope.row.baseGoodsModelsName }} </template> </el-table-column> - <el-table-column label="鍗曚綅" align="center"> + <el-table-column label="鍗曚綅" align="center" v-if="!mItem[0].nowUserName"> <template slot-scope="scope"> {{ scope.row.unit }} </template> </el-table-column> - <el-table-column label="浣跨敤浜�" align="center" v-if="goodsItem.type===1"> + <el-table-column label="浣跨敤浜�" align="center" v-if="mItem[0].nowUserName"> <template slot-scope="scope"> - {{ scope.row.unit }} + {{ scope.row.nowUserName }} </template> </el-table-column> <el-table-column prop="price" label="閫�鍥炴暟閲�" align="center"> @@ -73,9 +83,9 @@ {{ scope.row.counts }} </template> </el-table-column> - <el-table-column prop="counts" label="鍐嶇敤鏁伴噺" align="center"> + <el-table-column prop="counts" label="鍦ㄧ敤鏁伴噺" align="center"> <template slot-scope="scope"> - {{ scope.row.counts }} + {{ scope.row.userUseCount }} </template> </el-table-column> </el-table> diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue index 182a915..7042a05 100644 --- a/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue +++ b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue @@ -1,27 +1,31 @@ <template> - <win-md class="stock-edit" title="鐗╁搧閫�鍥�" @close="close" :width="'800px'"> + <win-md class="stock-edit" title="鐗╁搧閫�鍥�" @close="close" width="900px" :loading="loading"> <el-form class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px"> <div class="main-w"> <el-row :gutter="24" class="headerHeight"> <el-col :span="12"> - <el-form-item label="閮ㄩ棬" prop="warehouseId"> - <el-input v-model="formData.departmentName" disabled></el-input> + <el-form-item label="閮ㄩ棬" prop="departmentId"> + <el-select ref="department" v-model="formData.departmentId" clearable placeholder="璇烽�夋嫨" + style="width: 100%"> + <el-option v-for="item in departmentOptions" :key="item.id" :label="item.name" :value="item.id" + clearable/> + </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="閫�鍥炰汉" prop="createName"> - <el-input v-model="formData.createName" disabled></el-input> + <el-form-item label="閫�鍥炰汉" prop="operatorName"> + <el-input v-model="formData.operatorName" disabled></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="閫�鍥炴椂闂�" prop="dealTime"> <el-date-picker - v-model="formData.dealTime" - type="datetime" - value="yyyy-MM-dd HH:mm:ss" - value-format="yyyyMMddHHmmss" - placeholder="璇烽�夋嫨鏃ユ湡" - style="width: 100%" + v-model="formData.dealTime" + type="datetime" + value="yyyy-MM-dd HH:mm:ss" + value-format="yyyyMMddHHmmss" + placeholder="璇烽�夋嫨鏃ユ湡" + style="width: 100%" > </el-date-picker> </el-form-item> @@ -38,104 +42,115 @@ <el-row :gutter="24"> <el-col :span="12"> <el-form-item - label="鐗╁搧鍒嗙被" - :prop="`goods[${goodsIndex}].baseCategoryIds`" - :rules="{ + label="鐗╁搧鍒嗙被" + :prop="`goods.${goodsIndex}.baseCategoryId`" + :rules="{ required: true, - message: '璇烽�夋嫨', + message: '璇烽�夋嫨鐗╁搧鍒嗙被', trigger: 'change', }" > <el-cascader - v-model="goodsItem.baseCategoryIds" - :options="categoryOptions" - :props="{ value: 'id' }" - @change="categoryChange($event, goodsIndex)" - style="width: 100%" + v-model="goodsItem.baseCategoryId" + :options="categoryOptions" + :props="{ value: 'id',emitPath: false }" + :show-all-levels="false" + filterable + clearable + @change="categoryChange($event, goodsIndex)" + style="width: 100%" ></el-cascader> </el-form-item> </el-col> <el-col :span="12"> <el-form-item - label="鐗╁搧鍚嶇О" - :prop="`goods[${goodsIndex}].baseGoodsTemplateId`" - :rules="rules.baseGoodsTemplateId" + label="鐗╁搧鍚嶇О" + :prop="`goods.${goodsIndex}.baseGoodsTemplateId`" + :rules="rules.baseGoodsTemplateId" > <el-select - v-model="goodsItem.baseGoodsTemplateId" - placeholder="璇峰厛鎷╃墿鍝佸垎绫�" - filterable - :disabled="!goodsItem.baseCategoryId" - style="width: 100%" - @change="goodsTemplateChange($event, goodsIndex)" + v-model="goodsItem.baseGoodsTemplateId" + :placeholder="goodsItem.baseCategoryId?'璇烽�夋嫨鐗╁搧':'璇峰厛閫夋嫨鐗╁搧鍒嗙被'" + filterable + clearable + :disabled="!goodsItem.baseCategoryId" + style="width: 100%" + @change="goodsTemplateChange($event, goodsIndex)" > <el-option - v-for="item in goodsItem.goodsOptions" - :key="item.id" - :label="item.goodsName" - :value="item.id" + v-for="item in goodsItem.goodsOptions" + :key="item.id" + :label="item.goodsName" + :value="item.id" /> </el-select> </el-form-item> </el-col> - </el-row> - <el-row :gutter="24"> <el-col :span="12"> - <el-form-item label="閫夋嫨鍒嗗彂鍗�" :prop="`goods[${goodsIndex}].modelsIds`"> - <el-input v-if="!goodsItem.baseGoodsTemplateId" placeholder="璇峰厛鎷╃墿鍝佸悕绉�" readonly suffix-icon="el-icon-arrow-down" class="cursor-p"></el-input> - <div v-else @click="fenfaSetting.show=true"> - <el-input placeholder="璇烽�夋嫨" readonly suffix-icon="el-icon-arrow-down" class="cursor-p"></el-input> + <el-form-item + label="閫夋嫨鍒嗗彂鍗�" + :prop="`goods.${goodsIndex}.businessFormCode`" + :rules="rules.businessFormCode"> + <div @click="showFenFa(goodsIndex)"> + <el-input + placeholder="璇烽�夋嫨鍒嗗彂鍗�" + readonly + v-model="goodsItem.businessFormCode" + :placeholder="goodsItem.baseGoodsTemplateId?'璇烽�夋嫨鍒嗗彂鍗�':'璇峰厛閫夋嫨鐗╁搧'" + :disabled="!goodsItem.baseGoodsTemplateId" + suffix-icon="el-icon-arrow-down" + class="cursor-p"></el-input> </div> </el-form-item> </el-col> </el-row> <div class="card3" v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex"> <el-row :gutter="24" type="flex" align="middle" style="height: 50px"> - <el-col :span="8"> + <el-col :span="12"> <el-form-item label="瑙勬牸鍨嬪彿:" prop="baseGoodsModelsId" style="margin-bottom: 0"> - {{ getGoodsModelsName(mItem.baseGoodsModelsId) }} + {{ mItem[0].modelName }} </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鍗曚綅:" prop="baseGoodsModelsId" style="margin-bottom: 0" label-width="80"> - 50 + {{ mItem[0].unit }} </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鐗╁搧绫诲埆:" prop="baseGoodsModelsId" style="margin-bottom: 0" label-width="80"> - A绫� + {{ mItem[0].classification }} </el-form-item> </el-col> </el-row> - <el-table :data="mItem.models" :stripe="true"> + <el-table :data="mItem" :stripe="true"> <!-- A绫诲晢鍝佹樉绀� --> - <el-table-column prop="price" label="浣跨敤浜�" align="center" v-if="goodsItem.models.type===1"> + <el-table-column width="100" prop="price" label="浣跨敤浜�" align="center" v-if="mItem[0].nowUserName"> <template slot-scope="scope"> - {{ scope.row.worehouseCount }} + {{ scope.row.nowUserName }} </template> </el-table-column> - <el-table-column prop="price" label="鍒嗗彂鏁伴噺" align="center"> + <el-table-column width="100" prop="price" label="鍒嗗彂鏁伴噺" align="center"> <template slot-scope="scope"> - {{ scope.row.worehouseCount }} + {{ scope.row.goodsNum }} </template> </el-table-column> - <el-table-column prop="price" label="鍙��鏁伴噺" align="center"> + <el-table-column width="100" prop="price" label="鍙��鏁伴噺" align="center"> <template slot-scope="scope"> - {{ scope.row.worehouseCount }} + {{ scope.row.userUseCount }} </template> </el-table-column> <el-table-column prop="counts" label="閫�鍥炴暟閲�" align="center"> - <template slot-scope="scope"> + <template slot-scope="{row,$index}"> <el-form-item - label-width="0" - style="margin-bottom: 0" - :prop="`goods[${goodsIndex}].models[${scope.$index}].counts`" - :rules="rules.counts" + label-width="0" + :prop="`goods.${goodsIndex}.models.${mIndex}.counts`" + :rules="[ + {validator: checkCounts,counts:row.counts,userUseCount: row.userUseCount, trigger: ['blur', 'change']} + ]" > <el-input - type="number" - v-model="scope.row.counts" - @change="countsChange($event, goodsIndex, scope.$index)" + type="number" + v-model.number="row.counts" ></el-input> </el-form-item> </template> @@ -144,51 +159,56 @@ </div> <div class="btn-group"> <el-button - v-if="formData.goods.length > 1" - name="绉婚櫎" - type="danger" - plain - size="mini" - @click="removeGoods(goodsIndex)" - >绉婚櫎</el-button + v-if="formData.goods.length > 1" + name="绉婚櫎" + type="danger" + plain + size="mini" + @click="removeGoods(goodsIndex)" + >绉婚櫎 + </el-button > <el-button - v-if="formData.goods.length - 1 == goodsIndex" - name="鏂板鐗╁搧" - type="primary" - plain - size="mini" - @click="addGoods" - >鏂板鐗╁搧</el-button + v-if="formData.goods.length - 1 == goodsIndex" + name="鏂板鐗╁搧" + type="primary" + plain + size="mini" + @click="addGoods" + >鏂板鐗╁搧 + </el-button > </div> </div> </div> </el-form> <div slot="footer" align="center" class="dialog-footer"> - <my-button name="鍙栨秷" site="form" @click="close" /> - <my-button name="淇濆瓨" site="form" @click="handleSubmit" /> + <my-button name="鍙栨秷" site="form" @click="close"/> + <my-button name="淇濆瓨" site="form" @click="handleSubmit"/> </div> - <div v-if="fenfaSetting.show"> - <win-sm title="閫夋嫨鍒嗗彂鍗�" @close="fenfaSetting.show=false" :width="'800px'"> - <el-table :data="fenfaData"> - <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column label="鍒嗗彂鍗曞彿" prop="businessFormCode"></el-table-column> - <el-table-column label="鐗╁搧鍚嶇О" prop="modelName"></el-table-column> - <el-table-column label="鍒嗗彂鏁伴噺" prop="fenfaCount"></el-table-column> - <el-table-column label="鍓╀綑鏁伴噺" prop="count"></el-table-column> - <el-table-column label="鍒嗗彂鏃堕棿" prop="time"></el-table-column> + <win-md v-if="fenfaSetting.show" title="閫夋嫨鍒嗗彂鍗�" @close="fenfaSetting.show=false" :width="'800px'"> + <el-table @current-change="handleCurrentChange" :data="fenfaData" highlight-current-row height="407"> + <el-table-column label="鍒嗗彂鍗曞彿" prop="businessFormCode" align="left"></el-table-column> + <el-table-column label="鐗╁搧鍚嶇О" prop="baseGoodsTemplateName" align="left"></el-table-column> + <el-table-column label="鍒嗗彂鏁伴噺" prop="totalCount" align="center"></el-table-column> + <el-table-column label="鍓╀綑鏁伴噺" prop="useCount" align="center"></el-table-column> + <el-table-column label="鍒嗗彂鏃堕棿" prop="inTime" width="160" align="center"> + <template slot-scope="{row}"> + {{ DateFormatter.LongToDateTime(row.inTime) }} + </template> + </el-table-column> </el-table> <div slot="footer" align="center" class="dialog-footer"> - <my-button name="鍙栨秷" site="form" @click="fenfaSetting.show=false" /> - <my-button name="纭畾" site="form" @click="handleConfirm" /> + <my-button name="鍙栨秷" site="form" + @click="fenfaSetting.show=false;fenfaSetting.baseGoodsTemplateId=null;curFenfa=null;fenfaData=[]"/> + <el-button @click="handleConfirm" type="primary" size="medium">纭畾</el-button> </div> - </win-sm> - </div> + </win-md> </win-md> </template> <script> -import {goodsTemplate, selectTenantWarehouse,} from '@/api/baseSetting/finsystenant'; +import {departmentListAll} from '@/api/system/deptment'; +import {goodsTemplate} from '@/api/baseSetting/finsystenant'; import {outputAdd} from '@/api/stock/accessStock'; import {getTree} from '@/api/foudation/classification'; import MyButton from '@/components/myButton/myButton'; @@ -197,53 +217,78 @@ import upload from '@/components/upload/index'; import {getUploadUrl} from '@/utils/base'; import {mapGetters} from 'vuex'; +import * as DateFormatter from '@/utils/DateFormatter'; +import {getFfOrderByGoodsIdAndDept, getGoodsUseInfoByFfOrderAndGoodId} from "@/api/deptGoods/scrap"; +import {getDicts} from "@/api/system/dict/data"; export default { - components: { MyButton, winMd, winSm, upload }, + components: {MyButton, winMd, winSm, upload}, props: { setting: { type: Object, - default: () => {}, + default: () => { + }, }, }, data() { // 鑷畾涔夋牎楠� // 鐗╁搧閲嶅鏍¢獙 - var checkGoodsTemplateId = (rule, value, callback) => { + var checkBusinessFormCode = (rule, value, callback) => { if (!value) { return callback(new Error('璇烽�夋嫨')); } - let temp = this.formData.goods.filter((v) => v.baseGoodsTemplateId == value); + let temp = this.formData.goods.filter((v) => v.businessFormCode == value); if (!temp || temp.length != 1) { - return callback(new Error('宸查�夎繃姝ょ墿鍝�')); + return callback(new Error('宸查�夎繃姝ゅ垎鍙戝崟')); } callback(); }; return { - loading: false, - warehouseOptions: [], // 閫�鍥炰粨搴撳垪琛� + checkCounts: (rule, value, callback) => { + if (!rule.counts) { + return callback(new Error('璇疯緭鍏ラ��鍥炴暟閲�')); + } + if (!Number.isInteger(rule.counts)) { + // this.$message.warning('璇疯緭鍏ユ暟瀛楀��'); + return callback(new Error('璇疯緭鍏ユ暟瀛楀��')); + } + if (rule.counts < 1) { + // this.$message.warning('鏁板瓧鍊间笉鑳戒负0'); + return callback(new Error('鏁板瓧鍊煎繀椤诲ぇ浜�0')); + } + if (rule.counts > rule.userUseCount) { + // this.$message.warning('鍒嗗彂鏁伴噺涓嶈兘澶т簬鍓╀綑鏁伴噺'); + return callback(new Error('閫�鍥炴暟閲忎笉鑳藉ぇ浜庡湪鐢ㄦ暟閲�')); + } + callback(); + }, + DateFormatter: DateFormatter, + loading: true, + departmentOptions: [], // 閮ㄩ棬鍒楄〃 categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃 modelList: [], //鍨嬪彿鍒楄〃 fenfaSetting: { show: false, + goodsIdx: null, + baseGoodsTemplateId: null, id: '', }, - fenfaData:[], + curFenfa: null, + fenfaData: [], formData: { - warehouseId: '', // 閫�鍥炰粨搴搃d + departmentId: '', // 閫�鍥為儴闂╥d dealTime: '', // 閫�鍥炴椂闂� procureDoc: '', goods: [], }, goodsItem: { - baseCategoryIds: '', // 鍒嗙被缂栧彿鏁扮粍 + businessFormCode: '', // 鍒嗗彂鍗昳d + transBusinessId: '', // 鍒嗗彂鍗昳d baseCategoryId: '', // 鍒嗙被缂栧彿 baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿 goodsTemplateName: '', // 鐗╁搧妯$増鍚嶇О goodsOptions: [], // 鐗╁搧鍒楄〃select - modelsOptions: [], //瑙勬牸鍨嬪彿select models: [], // 鐗╁搧鍚嶇О - modelsIds: [], //瑙勬牸鍨嬪彿 }, modelsItem: { baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿 @@ -252,14 +297,22 @@ unit: null, //鍗曚綅 }, rules: { - warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }], - dealTime: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }], - buyType: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }], - - baseCategoryIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }], - baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }], - modelsIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }], - counts: [{ required: true, message: '璇疯緭鍏�', trigger: 'change' }], + departmentId: [{required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change'}], + dealTime: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], + procureDoc: [{required: true, message: '璇蜂笂浼�', trigger: 'change'}], + baseCategoryId: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], + baseGoodsTemplateId: [{ + required: true, + message: '璇烽�夋嫨鐗╁搧', + trigger: 'change' + }], + businessFormCode: [{ + required: true, + message: '璇烽�夋嫨鍒嗗彂鍗�', + trigger: 'change' + }, {validator: checkBusinessFormCode, trigger: ['blur', 'change']}], + counts: [{required: true, message: '璇疯緭鍏�', trigger: 'change'}], + reason: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], }, uploadSettings: { @@ -283,31 +336,26 @@ }, methods: { async init() { - this.getWarehouseList(); - this.getgoodsTemplate(); - // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃 + await this.getdeptmentList(); const treeRes = await getTree(); this.categoryOptions = this.removeEmptyChildren(treeRes); - this.formData.departmentName = this.userInfo.sysDeptName; - this.formData.createName = this.userInfo.userName; + this.getgoodsTemplate(); + // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃 + this.formData.departmentId = this.userInfo.sysDeptId; + this.formData.operatorName = this.userInfo.userName; + this.loading = false }, - // 鑾峰彇閫�鍥炰粨搴撳垪琛� - getWarehouseList() { - selectTenantWarehouse({ agencyId: this.userInfo.tenantId }) - .then((res) => { - this.warehouseOptions = res; - if (res.length) { + // 鑾峰彇閮ㄩ棬鍒楄〃 + async getdeptmentList() { + await departmentListAll({tenantId: this.userInfo.tenantId}) + .then((res) => { + this.departmentOptions = res; this.formData.goods.push(JSON.parse(JSON.stringify(this.goodsItem))); - } - if (this.warehouseOptions.length && !this.formData.warehouseId) { - // 榛樿閫変腑绗竴涓粨搴� - this.formData.warehouseId = this.warehouseOptions[0].id; - } - }) - .catch((err) => { - console.log('err', err); - }); + }) + .catch((err) => { + console.log('err', err); + }); }, removeEmptyChildren(arr) { @@ -323,7 +371,7 @@ // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃 getgoodsTemplate(id, index) { - goodsTemplate({ categoryId: id || '' }).then((res) => { + goodsTemplate({categoryId: id || ''}).then((res) => { if (index || index == 0) { this.$set(this.formData.goods[index], 'goodsOptions', res); } else { @@ -355,24 +403,37 @@ this.formData.goods[index].goodsOptions = []; this.formData.goods[index].baseGoodsTemplateId = ''; this.formData.goods[index].goodsTemplateName = ''; - this.formData.goods[index].modelsOptions = []; - this.formData.goods[index].modelsIds = []; this.formData.goods[index].models = []; - - this.formData.goods[index].baseCategoryId = e[e.length - 1]; // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃 - this.getgoodsTemplate(e[e.length - 1], index); + this.getgoodsTemplate(e, index); }, // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨 goodsTemplateChange(e, index) { - this.formData.goods[index].modelsOptions = []; - this.formData.goods[index].modelsIds = []; this.formData.goods[index].models = []; this.formData.goods[index].goodsTemplateName = this.getGoodsTemplateName(e); - }, + }, + showFenFa(index) { + this.loading = true + getFfOrderByGoodsIdAndDept({ + departmentId: this.formData.departmentId, + baseGoodsTemplateId: this.formData.goods[index].baseGoodsTemplateId + }).then(res => { + this.loading = false + if (!res || res.length === 0) { + this.$message.error('鏈煡璇㈠埌鍒嗗彂鍗�'); + return + } + this.fenfaSetting.show = true + this.fenfaSetting.baseGoodsTemplateId = this.formData.goods[index].baseGoodsTemplateId + this.fenfaSetting.goodsIdx = index + this.fenfaData = res + }).catch((err) => { + this.loading = false + }); + }, // 涓婁紶 uploadChange() { let arr = this.$refs.uploadRef.fileList; @@ -388,40 +449,59 @@ removeGoods(index) { this.formData.goods.splice(index, 1); }, - - // 閫�鍥炴暟閲忔牎楠� - countsChange(e, goodsIndex, index) { - const curItem = this.formData.goods[goodsIndex].models[index]; - const worehouseCount = curItem.worehouseCount; - if (e == 0) { - this.$message.warning('鏁伴涓嶈兘涓�0'); - curItem.counts = null; - } - if (e > worehouseCount) { - this.$message.warning('鏁伴瓒呰繃鐜版湁搴撳瓨'); - curItem.counts = worehouseCount > 0 ? worehouseCount : null; - } + handleCurrentChange(e) { + this.curFenfa = e }, - - handleConfirm(){ - + handleConfirm() { + if (!this.curFenfa) { + this.$message.error('璇烽�夋嫨鍒嗗彂鍗�'); + return + } + getGoodsUseInfoByFfOrderAndGoodId({ + transBusinessId: this.curFenfa.transBusinessId, + baseGoodsTemplateId: this.fenfaSetting.baseGoodsTemplateId + }).then(res => { + if (res) { + let arr = [] + for (let resKey in res) { + const item = res[resKey] + item.map(t => { + t.counts = null + }) + arr.push(item) + } + this.formData.goods[this.fenfaSetting.goodsIdx].models = arr + this.formData.goods[this.fenfaSetting.goodsIdx].businessFormCode = this.curFenfa.businessFormCode + this.formData.goods[this.fenfaSetting.goodsIdx].transBusinessId = this.curFenfa.transBusinessId + } + this.fenfaSetting.show = false + }) }, - // 鎻愪氦 handleSubmit() { this.$refs['ruleForm'].validate((valid) => { if (valid) { - console.log('this.formData', this.formData); - outputAdd(this.formData) - .then((res) => { - this.$message.success('淇濆瓨鎴愬姛锛�'); - this.close(); - this.$emit('search'); + let params = JSON.parse(JSON.stringify(this.formData)) + params.goods.map((g,gid)=>{ + delete g.goodsOptions + let arr=[] + g.models.map(m=>{ + arr=arr.concat(m) }) - .catch((err) => { - console.log('edit err', err); - this.$message.error('淇濆瓨澶辫触'); - }); + g.models = arr + }) + console.log('params', params); + return + outputAdd(this.formData) + .then((res) => { + this.$message.success('淇濆瓨鎴愬姛锛�'); + this.close(); + this.$emit('search'); + }) + .catch((err) => { + console.log('edit err', err); + this.$message.error('淇濆瓨澶辫触'); + }); } else { this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��'); } @@ -430,8 +510,8 @@ close() { this.formData = { - warehouseId: '', // 閫�鍥炰粨搴搃d - dealTime: '', // 閫�鍥炴椂闂� + warehouseId: '', // 鎶ュ簾浠撳簱id + dealTime: '', // 鎶ュ簾鏃堕棿 goods: [], }; this.$emit('close'); @@ -441,6 +521,7 @@ </script> <style scoped lang="scss"> @import url(../../../../styles/store.scss); + .cursor-p { ::v-deep { .el-input__inner { @@ -448,6 +529,7 @@ } } } + .card3 { border-radius: 2px; background: #ffffff; diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue index c97d378..85cfa78 100644 --- a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue +++ b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue @@ -27,7 +27,7 @@ </div> </div> <div class="one-hed"> - <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.agencyName }}</div> + <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.departmentName }}</div> <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div> <div class="box"> <span class="span-two">閫�鍥炴椂闂达細</span>{{ item.dealTime | formatTime }} @@ -78,6 +78,8 @@ import edit from './edit'; import detail from './detail'; import listPage from '@/views/mixins/listPage' +import {getUserDetail} from "@/utils/auth"; +import SettingIplatform from "@/utils/settingIplatform"; export default { name: 'index', @@ -96,11 +98,30 @@ defaultValue: '', }, { - type: 'text', - dataIndex: 'goodsName', - label: '鐗╁搧鍚嶇О', - placeholder: '鍙ā绯婃悳绱�', + type: 'select', + dataIndex: 'inAgencyId', + label: '鍒嗗彂閮ㄩ棬', + placeholder: '璇烽�夋嫨', + optionsConfig: { + url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`, + label: 'name', + value: 'id', + }, defaultValue: '', + options: [], + }, + { + type: 'select', + dataIndex: 'goodsTemplateId', + label: '鐗╁搧鍚嶇О', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + `/pc/base/goods/template/query/goodsTemplate?tenantId=${getUserDetail().tenantId}`, + }, }, { type: 'date-picker', @@ -129,19 +150,6 @@ this.total = res.totalRows; this.loading = false; }); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) { - this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1]; - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue b/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue index d21f265..6045a09 100644 --- a/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue +++ b/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue @@ -13,109 +13,110 @@ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/> </el-col> </el-row> - <!--璇︽儏--> - <detail v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false"/> + <!--娣诲姞/缂栬緫寮圭獥--> + <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false"/> </el-card> </el-container> </el-container> - <my-import - :import-setting="importSetting" - :dialog-show="importSetting.dialogShow" - :dialog-title="importSetting.dialogTitle" - /> </div> </template> <script> -import MyTableV2 from "@/components/myTable/myTableV2"; -import MyButton from "@/components/myButton/myButton"; +import MyTableV2 from '@/components/myTable/myTableV2'; +import MyButton from '@/components/myButton/myButton'; import SettingIplatform from '@/utils/settingIplatform'; -import detail from '@/views/departmentitem/itemscr/scrapping/detail' -import myImport from '@/views/components/myImport' -import {getBaseUrl} from '@/utils/base'; +import detail from '../scrapping/detail'; +import * as DateFormatter from "@/utils/DateFormatter"; +import {getUserDetail} from "@/utils/auth"; export default { - name: "index", - components: {MyButton, MyTableV2, detail, myImport}, + name: 'index', + components: {MyButton, MyTableV2, detail}, data() { return { // 鎼滅储妗� items: [ { type: 'text', - dataIndex: 'name', + dataIndex: 'businessFormCode', label: '鍗曞彿', placeholder: '璇疯緭鍏�', - defaultValue: '' - }, - { - type: 'text', - dataIndex: 'name', - label: '鐗╁搧鍚嶇О', - placeholder: '璇疯緭鍏�', - defaultValue: '' + defaultValue: '', }, { type: 'select', - dataIndex: 'name', + dataIndex: 'goodsTemplateId', + label: '鐗╁搧鍚嶇О', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + cascader: [{key: 'goodsModelId', queryKey: 'goodsTemplatesId'}], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + `/pc/base/goods/template/query/goodsTemplate?tenantId=${getUserDetail().tenantId}`, + }, + }, + { + type: 'select', + dataIndex: 'goodsModelId', label: '瑙勬牸鍨嬪彿', placeholder: '璇疯緭鍏�', defaultValue: '', - options:[] + options: [], + optionsConfig: { + label: 'modelName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel', + }, }, { - type: 'cascader', - dataIndex: 'agencyId', - label: '鏈烘瀯', + type: 'select', + dataIndex: 'departmentId', + label: '閮ㄩ棬', placeholder: '璇烽�夋嫨', - optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null }, + optionsConfig: { + url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`, + label: 'name', + value: 'id', + }, defaultValue: '', options: [], }, { - type: 'select', - dataIndex: 'name', - label: '閮ㄩ棬', - placeholder: '璇疯緭鍏�', - defaultValue: '', - options:[] - }, - { type: 'text', - dataIndex: 'name', + dataIndex: 'operatorName', label: '鍒涘缓浜�', placeholder: '璇疯緭鍏�', - defaultValue: '' + defaultValue: '', + }, + { + type: 'date-picker', + dataIndex: 'startTime', + label: '鏃堕棿', + defaultValue: '', + }, + { + type: 'date-picker', + dataIndex: 'endTime', + label: '鑷�', + defaultValue: '', }, ], - // 鏍戞暟鎹� - treeDataList: [], // 鎼滅储鏉′欢 filterFrom: { tenantId: null, userName: null, userPhone: null, - status: 1 - }, - // 瀵煎叆 - importSetting: { - dialogTitle: '瀵煎叆', - dialogShow: false, - fileSettings: { - data: {}, - uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃 - accept: '.xls', // 鏍煎紡 - type: 'text', // 鍥炴樉褰㈠紡 - loading: false // 瀵煎叆鏁堟灉 - }, - /* 妯℃澘涓嬭浇 */ - templateSettings: { - templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О - templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃 - }, - onSuccess: null + status: 1, }, editSetting: { + title: '', + id: '', + orgId: '', + show: false, + }, + detailSetting: { title: '', id: '', orgId: '', @@ -125,39 +126,52 @@ table: { showIndex: true, // 鏄惁鏄剧ず搴忓彿 expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁 - url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃 + url: SettingIplatform.apiBaseURL + '/pc/l/wh/form/transfer/department/list', // 璇锋眰鍦板潃 // 宸ュ叿鏉� tools: { - columnsCtrl: {// 鍒楁帶鍒舵寜閽� - show: false + columnsCtrl: { + // 鍒楁帶鍒舵寜閽� + show: false, }, - generalExport: {// 閫氱敤瀵煎嚭鎸夐挳 - show: false + generalExport: { + // 閫氱敤瀵煎嚭鎸夐挳 + show: false, }, // 鑷畾涔夊伐鍏锋潯鎸夐挳 - custom: [ - ] + custom: [], }, // 鍒椾俊鎭� columns: [ - {title: '鍗曞彿', field: 'code', align: 'center'}, - {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', }, - {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', }, - {title: '鎶ュ簾鏁伴噺', field: 'summary', align: 'left',}, - {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',}, - {title: '閮ㄩ棬', field: 'summary', align: 'left',}, - {title: '鍒涘缓浜�', field: 'summary', align: 'left',}, - {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',}, + {title: '鍗曞彿', field: 'businessFormCode', align: 'center', width: 130}, + {title: '鐗╁搧鍚嶇О', field: 'goodsName', align: 'left', minWidth: 140}, + /*{ + title: '绫诲埆', field: 'type', align: 'center', formatter: (row) => { + return {value: row.type + '绫�'}; + }, + },*/ + {title: '瑙勬牸鍨嬪彿', field: 'goodsModelName', align: 'left', minWidth: 130}, + {title: '鎶ュ簾鏁伴噺', field: 'count', align: 'center'}, + /*{title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'left', minWidth: 130},*/ + {title: '閮ㄩ棬', field: 'departmentName', align: 'left', minWidth: 130}, + {title: '鍒涘缓浜�', field: 'operatorName', align: 'center', width: 100}, + { + title: '鎿嶄綔鏃堕棿', field: 'createTime', align: 'center', + width: 160, + formatter: (row) => { + return {value: DateFormatter.LongToDateTime(row.createTime)}; + }, + }, ], // 鎿嶄綔淇℃伅 operation: { show: true, // 鏄剧ず鎿嶄綔鍒� - width: '150', // 鍒楀 + width: 90, // 鍒楀 attr: [ { title: '璇︽儏', + type: 'info', events: (row) => { - this.showAudit(row); + this.handleDetail(row); }, }, ], @@ -169,38 +183,35 @@ small: false, pageNum: 1, pageSize: 10, - total: 0 - } - } + total: 0, + }, + }, }, - } + }; }, created() { - // 鑾峰彇鏈烘瀯鏍� - this.initTreeData() }, methods: { - showAudit(row) { - this.editSetting.id = row.id; - this.editSetting.title = '璇︽儏'; - this.editSetting.show = true; + handleDetail(row) { + this.detailSetting.id = row.id; + this.detailSetting.info = JSON.stringify(row); + this.detailSetting.title = '璇︽儏'; + this.detailSetting.show = true; }, // 鏌ヨtable鍒楄〃 search(pageNum) { if (pageNum != undefined) { - this.$refs.myTable.search(pageNum) + this.$refs.myTable.search(pageNum); } else { - this.$refs.myTable.search() + this.$refs.myTable.search(); } }, fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params) - this.search(1) - } - } -} + this.filterFrom = Object.assign(this.filterFrom, params); + this.search(1); + }, + }, +}; </script> -<style scoped> - -</style> +<style scoped></style> diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue index e4864c7..e33b8fb 100644 --- a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue +++ b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue @@ -32,7 +32,7 @@ </div> </div> <div class="one-hed"> - <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.agencyName }}</div> + <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.departmentName }}</div> <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div> <div class="box"> <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.dealTime | formatTime }} @@ -83,6 +83,8 @@ import edit from './edit'; import detail from './detail'; import listPage from '@/views/mixins/listPage' +import {getUserDetail} from "@/utils/auth"; +import SettingIplatform from "@/utils/settingIplatform"; export default { name: 'index', @@ -102,25 +104,29 @@ }, { type: 'select', - dataIndex: 'businessFormCode', + dataIndex: 'inAgencyId', label: '鍒嗗彂閮ㄩ棬', - placeholder: '璇疯緭鍏�', + placeholder: '璇烽�夋嫨', + optionsConfig: { + url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`, + label: 'name', + value: 'id', + }, defaultValue: '', - options:[] + options: [], }, { - type: 'text', - dataIndex: 'goodsName', + type: 'select', + dataIndex: 'goodsTemplateId', label: '鐗╁搧鍚嶇О', - placeholder: '鍙ā绯婃悳绱�', - defaultValue: '', - }, - { - type: 'text', - dataIndex: 'createName', - label: '鎶ュ簾浜�', placeholder: '璇疯緭鍏�', defaultValue: '', + options: [], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + `/pc/base/goods/template/query/goodsTemplate?tenantId=${getUserDetail().tenantId}`, + }, }, { type: 'date-picker', @@ -149,19 +155,6 @@ this.total = res.totalRows; this.loading = false; }); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) { - this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1]; - } - this.search(1); }, }, }; -- Gitblit v1.9.1