From 5e10fe06e80c7d146cbb5eb8f7b3e1e447a80b88 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期五, 17 十一月 2023 17:07:53 +0800
Subject: [PATCH] 部门物品:物品分发,物品报废静态。调拨管理联调,price由元改为分,仓库管理库管员

---
 admin-web/src/views/stock/transfer/transferdetails/index.vue       |  314 +++----
 admin-web/src/api/stock/transfer.js                                |    5 
 admin-web/src/views/stock/transfer/transferissue/detail.vue        |   10 
 admin-web/src/views/foundation/store/person.vue                    |   62 +
 admin-web/src/views/departmentitem/itemdis/disDetails/index.vue    |  275 ++----
 admin-web/src/views/stock/transfer/transferApplication/index.vue   |    4 
 admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue |   47 
 admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue    |  120 +++
 admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue     |  302 +++++-
 admin-web/src/views/departmentitem/itemscr/scrapping/index.vue     |  537 +++----------
 admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue      |  436 ++++++++++
 admin-web/src/views/stock/inventorycount/inventorytask/edit.vue    |    6 
 admin-web/src/views/stock/transfer/transferApplication/detail.vue  |   10 
 admin-web/src/views/departmentitem/itemdis/distribution/edit.vue   |  180 ++--
 admin-web/src/views/departmentitem/itemdis/distribution/index.vue  |   84 -
 admin-web/src/api/foudation/store.js                               |    2 
 16 files changed, 1,352 insertions(+), 1,042 deletions(-)

diff --git a/admin-web/src/api/foudation/store.js b/admin-web/src/api/foudation/store.js
index 90589fb..a9fda17 100644
--- a/admin-web/src/api/foudation/store.js
+++ b/admin-web/src/api/foudation/store.js
@@ -11,7 +11,7 @@
 // 娣诲姞浠撳簱绠$悊鍛�
 export function warehouseManagerAdd(data) {
   return request({
-    url: '/pc/base/warehouse/manager/add',
+    url: '/pc/base/warehouse/manager/save',
     method: 'post',
     data
   })
diff --git a/admin-web/src/api/stock/transfer.js b/admin-web/src/api/stock/transfer.js
index e67fc14..ac8792b 100644
--- a/admin-web/src/api/stock/transfer.js
+++ b/admin-web/src/api/stock/transfer.js
@@ -78,4 +78,9 @@
     method: 'get',
     params,
   });
+}
+
+// 瀵煎嚭
+export function transferDetailListApi(params) {
+  return '/pc/l/wh/form/transfer/detail/list'
 }
\ No newline at end of file
diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
index 37b0db9..43846f4 100644
--- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
+++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -1,111 +1,267 @@
 <template>
-  <win-sm :title="setting.title" @close="close" :width="'800px'">
-    <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
-      <el-form-item label="缂栧彿" prop="code">
-        <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
-      </el-form-item>
-      <el-form-item label="浠撳簱鍚嶇О" prop="name">
-        <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-      </el-form-item>
-      <el-form-item label="鍦板潃" >
-        <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/>
-      </el-form-item>
-      <el-form-item label="鐘舵��" prop="status">
-        <el-switch
-          v-model="formData.status"
-          active-color="#0d997c"
-          inactive-color="#C0CCDA">
-        </el-switch>
-      </el-form-item>
-    </el-form>
-    <div slot="footer" align="center" class="dialog-footer">
-      <my-button name="鍙栨秷" site="form" @click="close"/>
-      <my-button name="淇濆瓨" site="form" @click="save"/>
+  <el-dialog
+    width="1000px"
+    :visible="true"
+    :top="'15vh'"
+    :close-on-click-modal="false"
+    :append-to-body="true"
+    :destroy-on-close="true"
+    @close="close"
+  >
+    <div slot="title" align="left" class="dialog-title">
+      <div
+        class="tab-item"
+        :class="tabIndex == index ? 'active' : ''"
+        v-for="(item, index) in tabs"
+        :key="index"
+        @click="tabIndex = index"
+      >
+        {{ item }}
+      </div>
     </div>
-  </win-sm>
+    <el-form v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm">
+      <div v-for="(item, index) in formData.list" :key="index">
+        <el-row :gutter="20">
+          <el-col :span="6">
+            <el-form-item label="瑙勬牸鍨嬪彿:">
+              {{ item.modelName }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="鍗曚綅:">
+              {{ item.unit }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex">
+          <el-col :span="6">
+            <el-form-item label="鍒嗗彂鏁伴噺:">
+              {{ childItem.count }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="浣跨敤浜�:">
+              {{ childItem.user }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="鑱旂郴鐢佃瘽:">
+              <el-input v-if="childItem.isEdit" v-model="childItem.phone" style="width: 120px"></el-input>
+              <span v-else>{{ childItem.phone }}</span>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6" v-if="!childItem.isEdit">
+            <el-form-item>
+              <span class="edit-text" @click="handleEditItem(index, childIndex, childItem.isEdit)">淇敼</span>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </div>
+    </el-form>
+
+    <el-form
+      v-show="tabIndex == 1"
+      ref="ruleForm"
+      :model="formData"
+      :rules="rules"
+      class="demo-ruleForm"
+      style="width: 96%"
+    >
+      <div v-for="(item, index) in formData.list" :key="index">
+        <el-row :gutter="20" class="item-header">
+          <el-col :span="6">
+            <el-form-item label="淇敼鏃堕棿:">
+              {{ item.time }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="淇敼浜�:">
+              {{ item.userName }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <div class="line"></div>
+        <el-row :gutter="20">
+          <el-col :span="6">
+            <el-form-item label="瑙勬牸鍨嬪彿:">
+              {{ item.modelName }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="鍗曚綅:">
+              {{ item.unit }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex">
+          <el-col :span="6">
+            <el-form-item label="鍒嗗彂鏁伴噺:">
+              {{ childItem.count }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="浣跨敤浜�:">
+              {{ childItem.user }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="鑱旂郴鐢佃瘽:">
+              <span>{{ childItem.phone }}</span>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <div class="line"></div>
+      </div>
+    </el-form>
+    <div v-if="tabIndex == 0" slot="footer" align="center" class="dialog-footer">
+      <my-button name="鍙栨秷" site="form" @click="close" />
+      <my-button name="淇濆瓨" site="form" @click="save" />
+    </div>
+  </el-dialog>
 </template>
 
 <script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myButton from '@/components/myButton/myButton';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
 
 export default {
-  components: {winSm, myButton},
+  components: { myButton },
   props: {
     setting: {
       type: Object,
-      default: () => {
-      }
-    }
+      default: () => {},
+    },
   },
   data() {
     return {
-      checkAll: false,
+      tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'],
+      tabIndex: 0,
       checkedList: [],
       formData: {
-        code: '',
-        name: '',
-        status: true,
-        summary: '',
+        list: [
+          {
+            modelName: '鍨嬪彿111111',
+            unit: '濂�',
+            time: '2023-08-08 10:23:34',
+            userName: '绠$悊鍛�',
+            list: [
+              {
+                count: 1,
+                user: '寮犱笁',
+                phone: '18500000001',
+                isEdit: false,
+              },
+            ],
+          },
+          {
+            modelName: '鍨嬪彿222222',
+            unit: '濂�',
+            list: [
+              {
+                count: 1,
+                user: '寮犱笁',
+                phone: '18500000001',
+                isEdit: false,
+              },
+            ],
+          },
+        ],
       },
       rules: {
-        code: [
-          {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
-        ],
-        name: [
-          {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
-        ],
-        status: [
-          {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
-        ]
-      }
-    }
+        code: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur' }],
+        name: [{ required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur' }],
+        status: [{ required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur' }],
+      },
+    };
   },
-  created() {
-    if(this.setting.info){
-      this.formData = Object.assign({},JSON.parse(this.setting.info))
-    }
-  },
+  created() {},
   methods: {
-    getEditInfo(id){
-
+    getEditInfo(id) {},
+    handleEditItem(index, childIndex) {
+      this.formData.list[index].list[childIndex].isEdit = true;
     },
     close() {
-      this.$emit('close')
+      this.$emit('close');
     },
     save() {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
-          const params = Object.assign({}, this.formData)
-          if(this.setting.id){
+          const params = Object.assign({}, this.formData);
+          if (this.setting.id) {
             // 缂栬緫鎺ュ彛
-            finsystenant.edit(params).then(res => {
+            finsystenant.edit(params).then((res) => {
               if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
+                this.$message.success('淇濆瓨鎴愬姛锛�');
+                this.close();
+                this.$emit('search');
               } else {
-                this.$message.error('淇濆瓨澶辫触')
+                this.$message.error('淇濆瓨澶辫触');
               }
-            })
-          }else{
-            params.orgId = this.setting.orgId
-            finsystenant.add(params).then(res => {
+            });
+          } else {
+            params.orgId = this.setting.orgId;
+            finsystenant.add(params).then((res) => {
               if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
+                this.$message.success('淇濆瓨鎴愬姛锛�');
+                this.close();
+                this.$emit('search');
               } else {
-                this.$message.error('淇濆瓨澶辫触')
+                this.$message.error('淇濆瓨澶辫触');
               }
-            })
+            });
           }
         } else {
-          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
         }
-      })
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.dialog-title {
+  display: flex;
+  align-items: center;
+  .tab-item {
+    color: #3d3d3d;
+    font-size: 16px;
+    font-style: normal;
+    padding: 0 10px;
+    position: relative;
+    cursor: pointer;
+    &.active::after {
+      content: '';
+      width: 100%;
+      height: 2px;
+      background: #409eff;
+      position: absolute;
+      bottom: -10px;
+      left: 0;
     }
   }
 }
-</script>
+.edit-text {
+  color: #409eff;
+  cursor: pointer;
+}
+.item-header {
+  ::v-deep {
+    .el-form-item__label,
+    .el-form-item__content {
+      font-weight: 700;
+    }
+  }
+}
+::v-deep {
+  .el-form-item {
+    margin-top: 10px;
+    margin-bottom: 10px;
+  }
+}
+.line {
+  width: 100%;
+  height: 1px;
+  margin: 10px 0;
+  background: rgba($color: #dcdfe6, $alpha: 0.45);
+}
+</style>
diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue
index 2936cd9..edd496a 100644
--- a/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue
+++ b/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue
@@ -10,34 +10,30 @@
           <el-row style="margin-top: 15px">
             <el-col>
               <!--鍒楄〃-->
-              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
             </el-col>
           </el-row>
           <!--娣诲姞/缂栬緫寮圭獥-->
-          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search" />
+          <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 edit from './edit'
-import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import edit from './edit';
+import detail from '../distribution/detail';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+import { getBaseUrl } from '@/utils/base';
 
 export default {
-  name: "index",
-  components: {MyButton, MyTableV2, edit, myImport},
+  name: 'index',
+  components: { MyButton, MyTableV2, edit, detail },
   data() {
     return {
       // 鎼滅储妗�
@@ -47,68 +43,74 @@
           dataIndex: 'name',
           label: '鍗曞彿',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
-        },
-        {
-          type: 'select',
-          dataIndex: 'status',
-          label: '绫诲瀷',
-          placeholder: '璇烽�夋嫨',
-          defaultValue: '1',
-          options: [
-            {
-              label: '鍚敤',
-              value: '1'
-            },
-            {
-              label: '绂佺敤',
-              value: '0'
-            }
-          ]
+          defaultValue: '',
         },
         {
           type: 'text',
           dataIndex: 'name',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
+        },
+        {
+          type: 'select',
+          dataIndex: 'name',
+          label: '瑙勬牸鍨嬪彿',
+          placeholder: '璇烽�夋嫨',
+          defaultValue: '',
+          options: [],
+        },
+        {
+          type: 'cascader',
+          dataIndex: 'agencyId',
+          label: '鏈烘瀯',
+          placeholder: '璇烽�夋嫨',
+          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+          defaultValue: '',
+          options: [],
+        },
+        {
+          type: 'select',
+          dataIndex: 'name',
+          label: '閮ㄩ棬',
+          placeholder: '璇烽�夋嫨',
+          defaultValue: '',
+          options: [],
         },
         {
           type: 'text',
           dataIndex: 'name',
           label: '鍒涘缓浜�',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
+        },
+        {
+          type: 'date-picker',
+          dataIndex: 'incomeTimeStart',
+          label: '鏃堕棿',
+          defaultValue: '',
+        },
+        {
+          type: 'date-picker',
+          dataIndex: 'incomeTimeEnd',
+          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: '',
@@ -121,37 +123,46 @@
         url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
         // 宸ュ叿鏉�
         tools: {
-          columnsCtrl: {// 鍒楁帶鍒舵寜閽�
-            show: false
+          columnsCtrl: {
+            // 鍒楁帶鍒舵寜閽�
+            show: false,
           },
-          generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
-            show: false
+          generalExport: {
+            // 閫氱敤瀵煎嚭鎸夐挳
+            show: false,
           },
           // 鑷畾涔夊伐鍏锋潯鎸夐挳
-          custom: [
-          ]
+          custom: [],
         },
         // 鍒椾俊鎭�
         columns: [
-          {title: '绫诲瀷', field: 'name', align: 'left',},
-          {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: 'code', align: 'center' },
+          { title: '鐗╁搧鍚嶇О', field: 'lv', 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' },
         ],
         // 鎿嶄綔淇℃伅
         operation: {
           show: true, // 鏄剧ず鎿嶄綔鍒�
-          width: '150', // 鍒楀
+          width: '200', // 鍒楀
           attr: [
             {
-              title: '璇︽儏',
+              title: '浣跨敤浜�',
+              type: 'primary',
               events: (row) => {
-                this.showAudit(row);
+                this.handleEdit(row);
+              },
+            },
+            {
+              title: '璇︽儏',
+              type: 'info',
+              events: (row) => {
+                this.handleDetail(row);
               },
             },
           ],
@@ -163,118 +174,40 @@
             small: false,
             pageNum: 1,
             pageSize: 10,
-            total: 0
-          }
-        }
+            total: 0,
+          },
+        },
       },
-    }
+    };
   },
-  created() {
-    // 鑾峰彇鏈烘瀯鏍�
-    this.initTreeData()
-  },
+  created() {},
   methods: {
-    //瀵煎叆
-    importOrg() {
-        this.importSetting.dialogShow = true
-        this.importSetting.onSuccess = (response, callBack) => {
-            if (response.code===1){
-              this.$message.success(response.msg)
-              this.search(1)
-            }else{
-              this.$message.warning(response.msg)
-            }
-            callBack()
-        }
-    },
-    // 宸︿晶鏍戝垵濮嬪寲
-    initTreeData() {
-      finsystenant.getTree().then(res => {
-        const content = res || []
-        this.treeDataList.splice(0, this.treeDataList.length)
-        this.treeDataList = content
-        if (content.length > 0) {
-          this.importSetting.fileSettings.data = {pid: content[0].id}
-        }
-      })
-    },
-    updState(row) {
-      let vm = this
-      let text = row.status == 0 ? "鍚敤" : "绂佺敤";
-      vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
-        let params = Object.assign({}, row)
-        params.status = row.status == 1 ? 0 : 1
-        finsystenant.edit(params).then(res => {
-          if (res) {
-            row.status = row.status === 1 ? 0 : 1
-            vm.$modal.msgSuccess(text + "鎴愬姛");
-            vm.search()
-          }
-        })
-      })
-    },
-    del(row) {
-      this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
-        .then(function () {
-          finsystenant.del({id: row.id}).then((res) => {
-          });
-        })
-        .then((res) => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.search()
-        })
-        .catch(() => {
-        });
-    },
-    showAdd() {
-      // if (!this.editSetting.orgId) {
-      //   this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
-      // } else {
-        this.editSetting.id = null;
-        this.editSetting.info = null;
-        this.editSetting.title = '鏂板';
-        this.editSetting.show = true;
-      // }
-    },
-    showAudit(row) {
+    handleEdit(row) {
       this.editSetting.id = row.id;
       this.editSetting.info = JSON.stringify(row);
       this.editSetting.title = '缂栬緫';
       this.editSetting.show = true;
     },
-    nodeClick(param) {
-      param = param || {}
-      this.p = Object.assign({}, {
-        id: param.id,
-        name: param.name
-      })
-      if (this.p.id != undefined && this.p.id != null) {
-        this.filterFrom.tenantId = this.p.id
-        this.editSetting.orgId = this.p.id
-      } else {
-        this.filterFrom.tenantId = null
-        this.editSetting.orgId = null
-      }
-      this.importSetting.fileSettings.data = {pid: param.id}
-      this.search(1)
+    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/itemdis/distribution/edit.vue b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
index f9c6b1c..2c19940 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
@@ -1,13 +1,25 @@
 <template>
-  <win-md class="stock-edit" :title="`${setting.title}閲囪喘鍏ュ簱`" @close="close" :width="'800px'">
+  <win-md class="stock-edit" title="鐗╁搧鍒嗗彂" @close="close" :width="'800px'">
     <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-form-item label="閮ㄩ棬" prop="warehouseId">
               <el-select v-model="formData.warehouseId" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in warehouses" :key="item.id" :label="item.warehouseName" :value="item.id" />
+                <el-option v-for="item in departmentOptions" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="棰嗗彇浜�" prop="warehouseId">
+              <el-input v-model="formData.warehouseId" placeholder="璇疯緭鍏�"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24" class="headerHeight">
+          <el-col :span="12">
+            <el-form-item label="鑱旂郴鐢佃瘽" prop="buyType">
+              <el-input v-model.number="formData.buyType" placeholder="璇疯緭鍏�"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -25,17 +37,8 @@
           </el-col>
         </el-row>
         <el-row :gutter="24" class="headerHeight">
-          <el-col :span="12">
-            <el-form-item label="閲囪喘绫诲瀷" prop="buyType">
-              <el-select v-model="formData.buyType" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in buyTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="24" class="headerHeight">
           <el-col :span="24">
-            <el-form-item label="閲囪喘鍏ュ簱鎵嬬画" prop="procureDoc">
+            <el-form-item label="鍒嗗彂瀹℃壒鎵嬬画" prop="procureDoc">
               <upload ref="uploadRef" :values="fileList" :settings="uploadSettings" @on-change="uploadChange"></upload>
             </el-form-item>
           </el-col>
@@ -114,52 +117,59 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
-              <el-form-item label="渚涜揣鍟�" prop="supplier">
-                <el-input v-model="goodsItem.supplier" clearable maxlength="20" show-word-limit />
-              </el-form-item>
-            </el-col>
           </el-row>
-          <el-table :data="goodsItem.models" :stripe="true">
-            <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center">
-              <template slot-scope="scope">
-                {{ getGoodsModelsName(scope.row.baseGoodsModelsId) }}
-              </template>
-            </el-table-column>
-            <el-table-column label="鍗曚綅" align="center">
-              <template slot-scope="scope">
-                {{ scope.row.unit }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="priceYuan" label="鍗曚环锛堝厓锛�" align="center">
-              <template slot-scope="scope">
-                <el-form-item
-                  label-width="0"
-                  style="margin-bottom: 0"
-                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].priceYuan`"
-                  :rules="rules.priceYuan"
-                >
-                  <el-input
-                    type="number"
-                    v-model.number="scope.row.priceYuan"
-                    @change="priceChange($event, goodsIndex, scope.$index)"
-                  ></el-input>
+          <el-row 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-form-item label="瑙勬牸鍨嬪彿:" prop="baseGoodsModelsId" style="margin-bottom: 0">
+                  {{ getGoodsModelsName(mItem.baseGoodsModelsId) }}
                 </el-form-item>
-              </template>
-            </el-table-column>
-            <el-table-column prop="counts" label="閲囪喘鏁伴噺" align="center">
-              <template slot-scope="scope">
-                <el-form-item
-                  label-width="0"
-                  style="margin-bottom: 0"
-                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].counts`"
-                  :rules="rules.counts"
-                >
-                  <el-input v-model.number="scope.row.counts"></el-input>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="鍓╀綑鏁伴噺:" prop="baseGoodsModelsId" style="margin-bottom: 0" label-width="80">
+                  50
                 </el-form-item>
-              </template>
-            </el-table-column>
-          </el-table>
+              </el-col>
+              <el-col :span="10" v-if="true">
+                <el-form-item label="鍒嗗彂鏁伴噺:" prop="baseGoodsModelsId" style="margin-bottom: 0" label-width="80">
+                  <el-input v-model.number="mItem.count" style="width: 160px;"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-table :data="mItem.clist" :stripe="true" v-if="false">
+              <el-table-column prop="count" label="鍒嗗彂鏁伴噺" align="center">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.count"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="count" label="浣跨敤浜�" align="center">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.user" maxlength="20"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="count" label="鑱旂郴鐢佃瘽" align="center">
+                <template slot-scope="scope">
+                  <el-input v-model.number="scope.row.phone" maxlength="11"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column align="left" width="60">
+                <template slot-scope="scope">
+                  <i
+                    v-if="mItem.clist.length > 1"
+                    class="el-icon-remove-outline"
+                    style="color: #f56c6c; font-size: 16px; cursor: pointer"
+                    @click="handleDel(goodsIndex, mIndex, scope.$index)"
+                  ></i>
+                  <i
+                    v-if="mItem.clist.length - 1 == scope.$index"
+                    class="el-icon-circle-plus-outline"
+                    style="color: #0d997c; font-size: 16px; cursor: pointer"
+                    @click="handleAdd(goodsIndex, mIndex, scope.$index)"
+                  ></i>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-row>
           <div class="btn-group">
             <el-button
               v-if="formData.procureGoods.length > 1"
@@ -198,6 +208,7 @@
   goodsModel,
   procureDetail,
 } from '@/api/stock/procure/purchaseOrder';
+import { departmentListAll } from '@/api/system/deptment';
 import { getTree } from '@/api/foudation/classification';
 import MyButton from '@/components/myButton/myButton';
 import winMd from '@/components/win/win-md';
@@ -205,6 +216,7 @@
 import { getUploadUrl, getDownUrl } from '@/utils/base';
 import { findParentIds } from '@/utils/index';
 import { mapGetters } from 'vuex';
+import * as DateFormatter from '@/utils/DateFormatter';
 
 export default {
   components: { MyButton, winMd, upload },
@@ -224,18 +236,6 @@
       let temp = this.formData.procureGoods.filter((v) => v.baseGoodsTemplateId == value);
       if (!temp || temp.length != 1) {
         return callback(new Error('宸查�夎繃姝ょ墿鍝�'));
-      }
-      callback();
-    };
-    // 閲戦鏍¢獙
-    var checkPrice = (rule, value, callback) => {
-      console.log(value);
-      if (!value) {
-        return callback(new Error('璇疯緭鍏�'));
-      }
-      if (value == 0) {
-        this.$message.warning('鏁板瓧鍊间笉鑳戒负0');
-        return callback(new Error('鏁板瓧鍊间笉鑳戒负0'));
       }
       callback();
     };
@@ -268,14 +268,13 @@
         },
       ],
       fileList: [],
-      warehouses: [], // 鍏ュ簱浠撳簱鍒楄〃
+      departmentOptions: [], // 閮ㄩ棬鍒楄〃
       categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
       modelList: [], //鍨嬪彿鍒楄〃
       formData: {
         procureDoc: '',
         warehouseId: '', // 鍏ュ簱浠撳簱id
-        procureTime: '', // 閲囪喘鏃堕棿
-        buyType: '2', // 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
+        procureTime: DateFormatter.formatDate(new Date()), // 閲囪喘鏃堕棿
         procureGoods: [],
       },
       goodsItem: {
@@ -292,10 +291,12 @@
       },
       modelsItem: {
         baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
-        priceYuan: null, // 鍗曚环(鍏�)
-        price: null, // 鍗曚环(鍒� 閲囪喘闇�瑕侊紝璋冩嫧涓嶉渶瑕�)
-        counts: null, // 鎿嶄綔鏁伴噺
-        unit: null, //鍗曚綅
+        syCount: '',
+      },
+      clistItem: {
+        count: null,
+        user: null,
+        phone: null,
       },
       rules: {
         warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
@@ -306,7 +307,6 @@
         baseCategoryIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }],
         modelsIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
-        priceYuan: [{ validator: checkPrice, trigger: 'blur' }],
         counts: [{ validator: checkCounts, trigger: 'blur' }],
       },
 
@@ -331,7 +331,7 @@
   },
   methods: {
     async init() {
-      this.getWarehouseList();
+      this.getdeptmentList();
       this.getgoodsTemplate();
       this.getgoodsModel();
       // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
@@ -364,16 +364,16 @@
     },
 
     // 鑾峰彇鍏ュ簱浠撳簱鍒楄〃
-    getWarehouseList() {
-      selectTenantWarehouse({ agencyId: this.userInfo.tenantId })
+    getdeptmentList() {
+      departmentListAll({ agencyId: this.userInfo.tenantId })
         .then((res) => {
-          this.warehouses = res;
+          this.departmentOptions = res;
           if (!this.setting.id && res.length) {
             this.formData.procureGoods.push(JSON.parse(JSON.stringify(this.goodsItem)));
           }
-          if (this.warehouses.length && !this.formData.warehouseId) {
+          if (this.departmentOptions.length && !this.formData.warehouseId) {
             // 榛樿閫変腑绗竴涓粨搴�
-            this.formData.warehouseId = this.warehouses[0].id;
+            this.formData.warehouseId = this.departmentOptions[0].id;
           }
         })
         .catch((err) => {
@@ -463,8 +463,8 @@
       let str = JSON.stringify(arr);
       e.forEach((item) => {
         if (str.indexOf(item) == -1) {
-          let temp = this.goodsModelAll.find((v) => v.id == item);
-          arr.push({ ...this.modelsItem, baseGoodsModelsId: item, unit: temp.unit });
+          let clist = [JSON.parse(JSON.stringify(this.clistItem))];
+          arr.push({ ...this.modelsItem, baseGoodsModelsId: item, clist });
         }
       });
       this.formData.procureGoods[index].models = arr;
@@ -475,6 +475,14 @@
       let arr = this.formData.procureGoods[index].models;
       let delIndex = arr.findIndex((v) => v.baseGoodsModelsId == e);
       this.formData.procureGoods[index].models.splice(delIndex, 1);
+    },
+
+    //鍨嬪彿鍒嗗彂鏂板
+    handleAdd(goodsIndex, mIndex, cIndex) {
+      this.formData.procureGoods[goodsIndex].models[mIndex].clist.push(JSON.parse(JSON.stringify(this.clistItem)));
+    },
+    handleDel(goodsIndex, mIndex, cIndex) {
+      this.formData.procureGoods[goodsIndex].models[mIndex].clist.splice(cIndex, 1);
     },
 
     // 浠锋牸input鐩戝惉 杞负鍒�
@@ -546,4 +554,8 @@
 </script>
 <style scoped lang="scss">
 @import url(../../../../styles/store.scss);
+.card3 {
+  border-radius: 2px;
+  background: #ffffff;
+}
 </style>
diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
index 0c1733b..d94c697 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -10,7 +10,7 @@
           <el-col>
             <!--鍒楄〃-->
             <div class="table-tool-bar" style="margin-bottom: 15px">
-              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
+              <my-button name="鐗╁搧鍒嗗彂" @click="handleAdd" site="tools" size="medium" icon="el-icon-edit-outline" />
               <my-button name="瀵煎叆" @click="importSetting.dialogShow = true" site="tools" size="medium" />
             </div>
             <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
@@ -20,42 +20,20 @@
                     <div class="card-container">
                       <div class="card-header">
                         <div class="card-header-left">
-                          <span>鍏ュ簱鍗曞彿锛�</span>
+                          <span>鍒嗗彂鍗曞彿锛�</span>
                           <span class="value">{{ item.businessFormCode }}</span>
-                          <div class="states" :class="item.states == 1 ? '' : 'states-success'">
-                            {{ item.states == 1 ? '寰呭叆搴�' : '宸插叆搴�' }}
-                          </div>
                         </div>
                         <div class="card-header-right">
-                          <template v-if="item.states == 1">
-                            <el-button name="缂栬緫" site="form" type="success" size="mini" @click="handleEdit(item)"
-                              >缂栬緫</el-button
-                            >
-                            <el-button name="鍏ュ簱" site="form" type="primary" size="mini" @click="handleIncome(item)"
-                              >鍏ュ簱</el-button
-                            >
-                            <el-button name="鍒犻櫎" site="form" type="danger" size="mini" @click="del(item)"
-                              >鍒犻櫎</el-button
-                            >
-                          </template>
-                          <template v-if="item.states != 1">
-                            <el-button site="form" type="success" size="mini" @click="handleExport(item)"
-                              >瀵煎嚭鍏ュ簱鍗�</el-button
-                            >
-                          </template>
                           <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
                             >鏌ョ湅璇︽儏</el-button
                           >
                         </div>
                       </div>
                       <div class="one-hed">
-                        <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyId }}</div>
-                        <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.buyerName }}</div>
+                        <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.agencyId }}</div>
+                        <div class="box"><span class="span-two">鍒嗗彂浜猴細</span>{{ item.buyerName }}</div>
                         <div class="box">
-                          <span class="span-two">閲囪喘鏃堕棿锛�</span>{{ item.procureTime | formatTime }}
-                        </div>
-                        <div class="box">
-                          <span class="span-two">鍏ュ簱鏃堕棿锛�</span>{{ item.incomeTime | formatTime }}
+                          <span class="span-two">鍒嗗彂鏃堕棿锛�</span>{{ item.procureTime | formatTime }}
                         </div>
                       </div>
                       <div class="card-end">
@@ -136,9 +114,17 @@
         {
           type: 'text',
           dataIndex: 'businessFormCode',
-          label: '鍏ュ簱鍗曞彿',
+          label: '鍒嗗彂鍗曞彿',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
+        },
+        {
+          type: 'select',
+          dataIndex: 'agencyId',
+          label: '鍒嗗彂閮ㄩ棬',
+          placeholder: '璇烽�夋嫨',
+          defaultValue: '',
+          options: [],
         },
         {
           type: 'text',
@@ -148,46 +134,16 @@
           defaultValue: '',
         },
         {
-          type: 'cascader',
-          dataIndex: 'agencyId',
-          label: '鏈烘瀯',
-          placeholder: '璇烽�夋嫨',
-          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
-          defaultValue: '',
-          options: [],
-        },
-        {
           type: 'text',
           dataIndex: 'createName',
-          label: '鍒涘缓浜�',
+          label: '鍒嗗彂浜�',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
-          type: 'select',
-          dataIndex: 'states',
-          label: '鐘舵��',
-          placeholder: '璇烽�夋嫨',
-          defaultValue: '',
-          options: [
-            {
-              label: '鍏ㄩ儴',
-              value: '',
-            },
-            {
-              label: '寰呭叆搴�',
-              value: '1',
-            },
-            {
-              label: '宸插叆搴�',
-              value: '2',
-            },
-          ],
-        },
-        {
           type: 'date-picker',
           dataIndex: 'incomeTimeStart',
-          label: '鍏ュ簱鏃堕棿',
+          label: '鍒嗗彂鏃堕棿',
           defaultValue: '',
         },
         {
@@ -247,19 +203,19 @@
         callBack();
       };
     },
-    // 鍏ュ簱
+    // 鍒嗗彂
     handleIncome(row) {
-      this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode}  鍏ュ簱鍚�?`, '閲囪喘鍏ュ簱').then(() => {
+      this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode}  鍒嗗彂鍚�?`, '鍒嗗彂鍒嗗彂').then(() => {
         procureIncome({ id: row.id })
           .then((res) => {
-            this.$message.success('鍏ュ簱鎴愬姛锛�');
+            this.$message.success('鍒嗗彂鎴愬姛锛�');
             this.search();
           })
           .catch(() => {});
       });
     },
     del(row) {
-      this.$modal.confirm('鏄惁纭鍒犻櫎鍏ュ簱鍗曞彿涓�"' + row.businessFormCode + '"鐨勬暟鎹悧锛�').then( () => {
+      this.$modal.confirm('鏄惁纭鍒犻櫎鍒嗗彂鍗曞彿涓�"' + row.businessFormCode + '"鐨勬暟鎹悧锛�').then( () => {
         procureDel({ id: row.id })
           .then((res) => {
             this.$message.success('鍒犻櫎鎴愬姛锛�');
diff --git a/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue b/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue
index 2936cd9..6377cb4 100644
--- a/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue
+++ b/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue
@@ -50,28 +50,36 @@
           defaultValue: ''
         },
         {
-          type: 'select',
-          dataIndex: 'status',
-          label: '绫诲瀷',
-          placeholder: '璇烽�夋嫨',
-          defaultValue: '1',
-          options: [
-            {
-              label: '鍚敤',
-              value: '1'
-            },
-            {
-              label: '绂佺敤',
-              value: '0'
-            }
-          ]
-        },
-        {
           type: 'text',
           dataIndex: 'name',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
           defaultValue: ''
+        },
+        {
+          type: 'select',
+          dataIndex: 'name',
+          label: '瑙勬牸鍨嬪彿',
+          placeholder: '璇疯緭鍏�',
+          defaultValue: '',
+          options:[]
+        },
+        {
+          type: 'cascader',
+          dataIndex: 'agencyId',
+          label: '鏈烘瀯',
+          placeholder: '璇烽�夋嫨',
+          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+          defaultValue: '',
+          options: [],
+        },
+        {
+          type: 'select',
+          dataIndex: 'name',
+          label: '閮ㄩ棬',
+          placeholder: '璇疯緭鍏�',
+          defaultValue: '',
+          options:[]
         },
         {
           type: 'text',
@@ -133,13 +141,12 @@
         },
         // 鍒椾俊鎭�
         columns: [
-          {title: '绫诲瀷', field: 'name', align: 'left',},
           {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: 'summary', align: 'left',},
           {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
         ],
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue
new file mode 100644
index 0000000..b513998
--- /dev/null
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue
@@ -0,0 +1,120 @@
+<template>
+  <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'">
+    <el-row :gutter="20">
+      <el-col :span="8">
+        <span>鍑哄簱鍗曞彿锛�</span>
+        <span>{{ detail.businessFormCode }}</span>
+      </el-col>
+      <el-col :span="8">
+        <span>鍑哄簱浠撳簱锛�</span>
+        <span>{{ detail.warehouseName }}</span>
+      </el-col>
+      <el-col :span="8">
+        <span>鎵�灞炴満鏋勶細</span>
+        <span>{{ detail.agencyName }}</span>
+      </el-col>
+    </el-row>
+    <el-row :gutter="20" style="margin-top: 20px">
+      <el-col :span="8">
+        <span>鍒涘缓浜猴細</span>
+        <span>{{ detail.operatorName }}</span>
+      </el-col>
+      <el-col :span="8">
+        <span>鍑哄簱鏃堕棿锛�</span>
+        <span>{{ detail.dealTime | formatTime }}</span>
+      </el-col>
+    </el-row>
+    <el-row v-if="detail.procureDoc" :gutter="20" style="margin-top: 20px">
+      <el-col class="img-row" :span="24">
+        <span>鍑哄簱鎵嬬画锛�</span>
+        <div class="img-box"></div>
+      </el-col>
+    </el-row>
+    <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.fromOutputGoods" :key="goodsIndex">
+      <el-row :gutter="20">
+        <el-col :span="8">
+          <span>鐗╁搧鍒嗙被锛�</span>
+          <span>{{ goodsItem.categoryName }}</span>
+        </el-col>
+        <el-col :span="8">
+          <span>鐗╁搧鍚嶇О锛�</span>
+          <span>{{ goodsItem.goodsName }}</span>
+        </el-col>
+      </el-row>
+      <el-table :data="goodsItem.models" :stripe="true" style="margin-top: 20px">
+        <el-table-column prop="baseGoodsModelsName" label="瑙勬牸鍨嬪彿" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.baseGoodsModelsName }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鍗曚綅" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.unit }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="counts" label="鍑哄簱鏁伴噺" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.counts }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="counts" label="閲戦" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.price * scope.row.counts | formatPrice}}
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </win-md>
+</template>
+<script>
+import { outputDetail } from '@/api/stock/accessStock';
+import winMd from '@/components/win/win-md';
+import * as DateFormatter from '@/utils/DateFormatter';
+
+export default {
+  components: { winMd },
+
+  props: {
+    setting: {
+      type: Object,
+      default: () => {},
+    },
+  },
+  data() {
+    return {
+      detail: {
+        categoryName: '',
+        businessFormCode: '',
+        goodsName: '',
+        agencyId: '',
+        agencyName: '',
+        states: '',
+        createName: '',
+        fromOutputGoods: [],
+      },
+    };
+  },
+  filters: {
+    formatTime(time) {
+      if (!time) return;
+      return DateFormatter.LongToDateTime(time);
+    },
+    formatPrice(price) {
+      return price / 100
+    }
+  },
+  created() {
+    outputDetail({ id: this.setting.id }).then((res) => {
+      this.detail = res;
+    });
+  },
+  methods: {
+    close() {
+      this.$emit('close')
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import url(../../../../styles/store.scss);
+</style>
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
new file mode 100644
index 0000000..e73a9dc
--- /dev/null
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
@@ -0,0 +1,436 @@
+<template>
+  <win-md class="stock-edit" title="鐗╁搧鎶ュ簾" @close="close" :width="'800px'">
+    <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>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎶ュ簾浜�" prop="createName">
+              <el-input v-model="formData.createName" 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%"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24" class="headerHeight">
+          <el-col :span="24">
+            <el-form-item label="鎶ュ簾鎵嬬画" prop="procureDoc">
+              <upload ref="uploadRef" :settings="uploadSettings" @on-change="uploadChange"></upload>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <div class="goods-card" v-for="(goodsItem, goodsIndex) in formData.goods" :key="goodsIndex">
+          <el-row :gutter="24">
+            <el-col :span="12">
+              <el-form-item
+                label="鐗╁搧鍒嗙被"
+                :prop="`goods[${goodsIndex}].baseCategoryIds`"
+                :rules="{
+                  required: true,
+                  message: '璇烽�夋嫨',
+                  trigger: 'change',
+                }"
+              >
+                <el-cascader
+                  v-model="goodsItem.baseCategoryIds"
+                  :options="categoryOptions"
+                  :props="{ value: 'id' }"
+                  @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"
+              >
+                <el-select
+                  v-model="goodsItem.baseGoodsTemplateId"
+                  placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
+                  filterable
+                  :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"
+                  />
+                </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>
+                </div>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-table :data="goodsItem.models" :stripe="true">
+            <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center">
+              <template slot-scope="scope">
+                {{ getGoodsModelsName(scope.row.baseGoodsModelsId) }}
+              </template>
+            </el-table-column>
+            <el-table-column label="鍗曚綅" align="center">
+              <template slot-scope="scope">
+                {{ scope.row.unit }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="price" label="鐜版湁搴撳瓨" align="center">
+              <template slot-scope="scope">
+                {{ scope.row.worehouseCount }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="counts" label="鎶ュ簾鏁伴噺" align="center">
+              <template slot-scope="scope">
+                <el-form-item
+                  label-width="0"
+                  style="margin-bottom: 0"
+                  :prop="`goods[${goodsIndex}].models[${scope.$index}].counts`"
+                  :rules="rules.counts"
+                >
+                  <el-input
+                    type="number"
+                    v-model="scope.row.counts"
+                    @change="countsChange($event, goodsIndex, scope.$index)"
+                  ></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+          </el-table>
+          <div class="btn-group">
+            <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
+            >
+          </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" />
+    </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>
+      </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" />
+      </div>
+    </win-sm>
+    </div>
+  </win-md>
+</template>
+<script>
+import {
+  goodsTemplate,
+  goodsModel,
+  selectTenantWarehouse,
+  warehouseSelectNumber,
+} from '@/api/baseSetting/finsystenant';
+import { outputAdd } from '@/api/stock/accessStock';
+import { getTree } from '@/api/foudation/classification';
+import MyButton from '@/components/myButton/myButton';
+import winMd from '@/components/win/win-md';
+import winSm from '@/components/win/win-sm';
+import upload from '@/components/upload/index';
+import { getUploadUrl } from '@/utils/base';
+import { mapGetters } from 'vuex';
+
+export default {
+  components: { MyButton, winMd, winSm, upload },
+  props: {
+    setting: {
+      type: Object,
+      default: () => {},
+    },
+  },
+  data() {
+    // 鑷畾涔夋牎楠�
+    // 鐗╁搧閲嶅鏍¢獙
+    var checkGoodsTemplateId = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('璇烽�夋嫨'));
+      }
+      let temp = this.formData.goods.filter((v) => v.baseGoodsTemplateId == value);
+      if (!temp || temp.length != 1) {
+        return callback(new Error('宸查�夎繃姝ょ墿鍝�'));
+      }
+      callback();
+    };
+    return {
+      loading: false,
+      warehouseOptions: [], // 鎶ュ簾浠撳簱鍒楄〃
+      categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
+      modelList: [], //鍨嬪彿鍒楄〃
+      fenfaSetting: {
+        show: false,
+        id: '',
+      },
+      fenfaData:[],
+      formData: {
+        warehouseId: '', // 鎶ュ簾浠撳簱id
+        dealTime: '', // 鎶ュ簾鏃堕棿
+        procureDoc: '',
+        goods: [],
+      },
+      goodsItem: {
+        baseCategoryIds: '', // 鍒嗙被缂栧彿鏁扮粍
+        baseCategoryId: '', // 鍒嗙被缂栧彿
+        baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿
+        goodsTemplateName: '', // 鐗╁搧妯$増鍚嶇О
+        goodsOptions: [], // 鐗╁搧鍒楄〃select
+        modelsOptions: [], //瑙勬牸鍨嬪彿select
+        models: [], // 鐗╁搧鍚嶇О
+        modelsIds: [], //瑙勬牸鍨嬪彿
+      },
+      modelsItem: {
+        baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
+        worehouseCount: 0,
+        counts: null, // 鎿嶄綔鏁伴噺
+        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' }],
+      },
+
+      uploadSettings: {
+        title: '涓婁紶',
+        max: 20, // 鏈�澶уぇ灏忥紝鍗曚綅M
+        num: 10, // 鏀寔涓婁紶鍥剧墖涓暟
+        accept: '.jpg,.png', // 闄愬埗鏍煎紡
+        tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb`
+        uploadUrl: getUploadUrl(), // 涓婁紶璺緞
+        multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶
+        disabled: false, // 鏄惁绂佺敤
+        type: 'picture', // text/picture
+      },
+    };
+  },
+  computed: {
+    ...mapGetters(['userInfo']),
+  },
+  created() {
+    this.init();
+  },
+  methods: {
+    async init() {
+      this.getWarehouseList();
+      this.getgoodsTemplate();
+      // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
+      const treeRes = await getTree();
+      this.categoryOptions = this.removeEmptyChildren(treeRes);
+      this.formData.departmentName = this.userInfo.sysDeptName;
+      this.formData.createName = this.userInfo.userName;
+    },
+
+    // 鑾峰彇鎶ュ簾浠撳簱鍒楄〃
+    getWarehouseList() {
+      selectTenantWarehouse({ agencyId: this.userInfo.tenantId })
+        .then((res) => {
+          this.warehouseOptions = res;
+          if (res.length) {
+            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);
+        });
+    },
+
+    removeEmptyChildren(arr) {
+      arr.forEach((item) => {
+        if (!item.children || !item.children.length) {
+          delete item.children;
+        } else {
+          this.removeEmptyChildren(item.children);
+        }
+      });
+      return arr;
+    },
+
+    // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃
+    getgoodsTemplate(id, index) {
+      goodsTemplate({ categoryId: id || '' }).then((res) => {
+        if (index || index == 0) {
+          this.$set(this.formData.goods[index], 'goodsOptions', res);
+        } else {
+          this.goodsTemplatelAll = res;
+        }
+      });
+    },
+
+    // 鏍规嵁鐗╁搧鍚嶇Оid鑾峰彇鍚嶅瓧
+    getGoodsTemplateName(id) {
+      let item = this.goodsTemplatelAll.find((v) => v.id == id);
+      if (item) {
+        return item.goodsName;
+      }
+      return;
+    },
+
+    // 鏍规嵁瑙勬牸鍨嬪彿id鑾峰彇鍚嶅瓧
+    getGoodsModelsName(id) {
+      let item = this.goodsModelAll.find((v) => v.id == id);
+      if (item) {
+        return item.modelName;
+      }
+      return;
+    },
+
+    // 鐗╁搧鍒嗙被閫夋嫨
+    categoryChange(e, index) {
+      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);
+    },
+
+    // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨
+    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);
+    },
+
+    // 涓婁紶
+    uploadChange() {
+      let arr = this.$refs.uploadRef.fileList;
+      this.formData.procureDoc = JSON.stringify(arr);
+    },
+
+    // 鐐瑰嚮鏂板鐗╁搧
+    addGoods() {
+      this.formData.goods.push(JSON.parse(JSON.stringify(this.goodsItem)));
+    },
+
+    // 鐐瑰嚮绉婚櫎
+    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;
+      }
+    },
+
+    handleConfirm(){
+
+    },
+
+    // 鎻愪氦
+    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');
+            })
+            .catch((err) => {
+              console.log('edit err', err);
+              this.$message.error('淇濆瓨澶辫触');
+            });
+        } else {
+          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
+        }
+      });
+    },
+
+    close() {
+      this.formData = {
+        warehouseId: '', // 鎶ュ簾浠撳簱id
+        dealTime: '', // 鎶ュ簾鏃堕棿
+        goods: [],
+      };
+      this.$emit('close');
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+@import url(../../../../styles/store.scss);
+.cursor-p {
+  ::v-deep {
+    .el-input__inner {
+      cursor: pointer;
+    }
+  }
+}
+</style>
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
index ea1d5b0..77fadac 100644
--- a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
@@ -1,449 +1,172 @@
 <template>
-  <div class="app-container">
+  <div class="app-container stock-container">
     <el-container>
-      <el-container>
-        <el-card class="box-card" style="width: 100%" shadow="never">
-          <!--鎼滅储鏉′欢-->
-          <div class="filter-container">
-            <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
-          </div>
-          <el-row style="margin-top: 15px">
-            <el-col>
-              <!--鍒楄〃-->
-              <my-button name="鏂板" @click="addtable" site="form" />
-              <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
-                    <el-row class="card"
-                            :gutter="5">
-                        <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
-                          <el-card class="card-data">
-                            <div class="card-container">
-                              <div class="hed-one">鍑哄簱鍗曞彿锛歿{ item.order_no }}</div>
-                              <div class="one-hed">
-                                <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.customer_name }}</div>
-                                <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.customer_name }}</div>
-                                <div class="box"><span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.customer_name }}</div>
-                              </div>
-                              <div class="card-end">
-                                <div v-for="(just, index) in item.data" class="two-end">
-                                  <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
-                                </div>
-                              </div>
-                            </div>
-                            <div class="card-but">
-                              <my-button name="鏌ョ湅璇︽儏"   site="form" />
-                              <my-button name="瀵煎嚭鍑哄簱鍗�" site="form" />
-                            </div>
-                          </el-card>
-                        </el-col>
-                    </el-row>
-              </div>
-              <el-pagination
-                :small="false"
-                :current-page="1"
-                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
-                :page-size="10"
-                layout="total, sizes, prev, pager, next, jumper"
-                :total="0"
-                @size-change="handleSizeChange"
-                @current-change="handleCurrentChange"
-              />
-            </el-col>
-          </el-row>
-          <!--娣诲姞/缂栬緫寮圭獥-->
-          <el-dialog title="鏂板鍑哄簱"  :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
-            <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
-              <el-row :gutter="24" class="headerHeight">
-                  <el-col :span="12">
-                    <el-form-item label="浠撳簱鍚嶇О" prop="name">
-                      <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-                    </el-form-item>
-                  </el-col>
-                  <el-col :span="12">
-                    <el-form-item label="浠撳簱鍚嶇О" prop="name">
-                      <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row :gutter="24" class="headerHeight">
-                  <el-col :span="24">
-                    <el-form-item label="鍑哄簱鎵嬬画" prop="name">                      
-                      浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <div style="position: relative;">
-                  <div style="background-color: #F9F9F9;width: 90%;">
-                  <el-row :gutter="24" class="">
-                    <el-col :span="12">
-                      <el-form-item label="浠撳簱鍚嶇О" prop="name">
-                        <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-                      </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                      <el-form-item label="浠撳簱鍚嶇О" prop="name">
-                        <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                  <el-row :gutter="24" class="">
-                    <el-col :span="12">
-                      <el-form-item label="浠撳簱鍚嶇О" prop="name">
-                        <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                  <el-table :data="formData.tableData" height="100%"  :stripe="true">
-                    <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
-                    <el-table-column prop="time1" label="鍗曚綅"  align="center"> </el-table-column>
-                    <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
-                    <el-table-column prop="time2" label="鍑哄簱鏁伴噺"  align="center"> </el-table-column>
-                  </el-table>
-                  </div>
-                  <div style="position: absolute;right: 0;top: 152px;">
-                    <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
-                    <my-button name="鏂板鐗╁搧" site="form"/>
-                  </div>
-                </div>
-            </el-form>
-            <div slot="footer" align="center" class="dialog-footer">
-              <my-button name="纭畾" site="form" />
-              <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+      <el-card class="box-card" style="width: 100%" shadow="never">
+        <!--鎼滅储鏉′欢-->
+        <div class="filter-container">
+          <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+        </div>
+        <el-row style="margin-top: 15px">
+          <el-col>
+            <!--鍒楄〃-->
+            <div class="table-tool-bar" style="margin-bottom: 15px;">
+              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
             </div>
-          </el-dialog>
-        </el-card>
-      </el-container>
+            <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+              <el-row v-if="list.length" class="card" :gutter="5">
+                <el-col v-for="(item, index) in list" :key="index" class="cm-item">
+                  <el-card class="card-data">
+                    <div class="card-container">
+                      <div class="card-header">
+                        <div class="card-header-left">
+                          <span>鎶ュ簾鍗曞彿锛�</span>
+                          <span class="value">{{ item.businessFormCode }}</span>
+                        </div>
+                        <div class="card-header-right">
+                            <el-button site="form" type="success" size="mini" @click="handleExport(item)"
+                              >瀵煎嚭鎶ュ簾鍗�</el-button
+                            >
+                          <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
+                            >鏌ョ湅璇︽儏</el-button
+                          >
+                        </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.operatorName }}</div>
+                        <div class="box">
+                          <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.dealTime | formatTime }}
+                        </div>
+                      </div>
+                      <div class="card-end">
+                        <div v-for="(just, index) in item.formOutputTemplateInfoList" :key="index" class="item">
+                          <div class="name">{{ just.goodsName }}</div>
+                          <div class="value-box">
+                            <div class="value-box-item">
+                              <span class="label">鏁伴噺锛�</span>
+                              <span class="value">{{ just.count }}</span>
+                              <span class="unit">{{ just.unit }}</span>
+                            </div>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </el-card>
+                </el-col>
+              </el-row>
+              <div class="no-data" v-else>鏆傛棤鏁版嵁</div>
+            </div>
+            <el-pagination
+              :small="false"
+              :current-page="pageNum"
+              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+              :page-size="pageSize"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="total"
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+            />
+          </el-col>
+        </el-row>
+      </el-card>
     </el-container>
-    <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
-    />
+    <!--娣诲姞/缂栬緫寮圭獥-->
+    <edit v-if="editSetting.show" :setting="editSetting" ref="editRef" @close="editSetting.show=false" @search="refreshData"></edit>
+    <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show=false" ref="detailRef"></detail>
   </div>
 </template>
 
 <script>
-import MyButton from "@/components/myButton/myButton";
-import SettingIplatform from '@/utils/settingIplatform';
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import { outputList } from '@/api/stock/accessStock';
+import MyButton from '@/components/myButton/myButton';
+import myImport from '@/views/components/myImport';
+import edit from './edit';
+import detail from './detail';
+import listPage from '../../../mixins/listPage'
 
 export default {
-  name: "index",
-  components: {MyButton, myImport},
+  name: 'index',
+  mixins: [listPage],
+  components: { MyButton, myImport, edit, detail },
   data() {
     return {
-      
-      adddialog: false,
-      formData:{
-        tableData:[
-          {
-            projectName:'555'
-          },
-          {
-            projectName:'444'
-          }
-        ],
-      },
+      list: [],
       // 鎼滅储妗�
       items: [
         {
           type: 'text',
-          dataIndex: 'name',
-          label: '鍑哄簱鍗曞彿',
+          dataIndex: 'businessFormCode',
+          label: '鎶ュ簾鍗曞彿',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
+        },
+        {
+          type: 'select',
+          dataIndex: 'businessFormCode',
+          label: '鍒嗗彂閮ㄩ棬',
+          placeholder: '璇疯緭鍏�',
+          defaultValue: '',
+          options:[]
         },
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'goodsName',
           label: '鐗╁搧鍚嶇О',
           placeholder: '鍙ā绯婃悳绱�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'text',
-          dataIndex: 'name',
-          label: '鍒涘缓浜�',
+          dataIndex: 'createName',
+          label: '鎶ュ簾浜�',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'val1',
-          label: '鍑哄簱鏃堕棿',
-          defaultValue: ''
+          dataIndex: 'startTime',
+          label: '鎶ュ簾鏃堕棿',
+          defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'val2',
+          dataIndex: 'endTime',
           label: '鑷�',
-          defaultValue: ''
+          defaultValue: '',
         },
-        // {
-        //   type: 'select',
-        //   dataIndex: 'status',
-        //   label: '鐘舵��',
-        //   placeholder: '璇烽�夋嫨',
-        //   defaultValue: '1',
-        //   options: [
-        //     {
-        //       label: '鍚敤',
-        //       value: '1'
-        //     },
-        //     {
-        //       label: '绂佺敤',
-        //       value: '0'
-        //     }
-        //   ]
-        // }
       ],
-      proData: [
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-          
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-          
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-          
-        },
-        {
-          order_no:'55555',
-          customer_name:'666',
-          data:[
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'20浠�'
-            },
-            {
-              order_no:'鐭冲嫆鑺鑹茬⒊绮�',
-              customer_name:'666'
-            },
-          ]
-          
-        }
-      ],
-      // 鏍戞暟鎹�
-      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
-      },
-      editSetting: {
-        title: '',
-        id: '',
-        orgId: '',
-        show: false,
-      },
-    }
-  },
-  computed: {
-    clientHeight () {
-      return document.documentElement.clientHeight
-    },
-  },
-  created() {
+    };
   },
   methods: {
-    handleSizeChange(){},
-    handleCurrentChange(){},
-    //瀵煎叆
-    importOrg() {
-        this.importSetting.dialogShow = true
-        this.importSetting.onSuccess = (response, callBack) => {
-            if (response.code===1){
-              this.$message.success(response.msg)
-              this.search(1)
-            }else{
-              this.$message.warning(response.msg)
-            }
-            callBack()
-        }
-    },
-   
-    addtable() {
-      this.adddialog = true
-    },
-    // 鏌ヨtable鍒楄〃
-    search(pageNum) {
-      if (pageNum != undefined) {
-        // this.$refs.myTable.search(pageNum)
-      } else {
-        // this.$refs.myTable.search()
-      }
+    fetchData() {
+      this.loading = true;
+      outputList({
+        pageNum: this.pageNum,
+        pageSize: this.pageSize,
+        ...this.filterFrom,
+      }).then((res) => {
+        this.list = res.datas;
+        this.total = res.totalRows;
+        this.loading = false;
+      });
     },
     fifterForm(params) {
-      console.log(params,'555');
-      this.filterFrom = Object.assign(this.filterFrom, params)
-      this.search(1)
-    }
-  }
-}
+      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);
+    },
+  },
+};
 </script>
 
-<style scoped>
-.card {
-    display: flex;
-    flex-wrap: wrap;
-    margin: 0px !important;
-    .cm-item {
-        width: 100%;
-    }
-    .cm-item /deep/ .el-card__body {
-        padding: 10px;
-    }
-}
-.card-data{
-  margin-top: 8px;
-  .card-container{
-    display: inline-block; 
-    width: 70%;
-    .hed-one{
-      color: #2298EE;
-      font-size: 18px;
-    }
-    .one-hed{
-      margin-top: 15px;
-      .box{
-        display: inline-block;  
-        margin-right: 20px;  
-      }
-    }
-    .span-two{
-      color: #83919e;
-      font-size: 14px;
-    }
-    .card-end{
-      font-size: 14px;
-      color: #3d3d3d;
-      margin-top: 15px;
-      display: flex;  
-      flex-wrap: wrap; 
-      .two-end{
-        width: calc(33.33% - 20px); 
-        margin-bottom: 15px; 
-      }
-    }
-    
-  }
-  .card-but{
-    display: inline-block; 
-  }
-  .end{
-    display: inline-block;  
-  }
-  
-}
-
+<style scoped lang="scss">
+@import url(../../../../styles/store.scss);
 </style>
diff --git a/admin-web/src/views/foundation/store/person.vue b/admin-web/src/views/foundation/store/person.vue
index 040a042..1a4e5dc 100644
--- a/admin-web/src/views/foundation/store/person.vue
+++ b/admin-web/src/views/foundation/store/person.vue
@@ -7,7 +7,7 @@
           <el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" default-expand-all>
             <template slot-scope="{ node, data }">
               <div v-if="data.type != 'user'">{{ data.name }}</div>
-              <div v-else class="leaf-node" :class="data.checked ? 'checked' : ''" @click="handleCheckItem(node, data)">
+              <div v-else class="leaf-node" :class="data.checked ? 'checked' : ''" @click="handleCheckItem(data)">
                 {{ data.name }}
               </div>
             </template>
@@ -59,10 +59,15 @@
         children: 'children',
         label: 'name',
       },
+      key: Math.random(),
     };
   },
   computed: {
     checkedKeys() {
+      console.log(
+        1111,
+        this.selectdSections.map((v) => v.id),
+      );
       return this.selectdSections.map((v) => v.id);
     },
   },
@@ -71,18 +76,38 @@
     if (this.setting.info) {
       this.formData = Object.assign({}, JSON.parse(this.setting.info));
     }
-    this.initTree();
+    this.init();
     warehouseManagerList({ warehouseId: this.formData.id }).then((res) => {
-      console.log(res);
+      this.selectdSections = res.map((item) => {
+        item.name = item.managerName;
+        item.id = item.managerId;
+        return item;
+      });
+      this.key = Math.random();
     });
   },
   methods: {
-    initTree() {
-      userSelectDepartment({ agencyId: this.formData.agencyId }).then((res) => {
-        this.treeData = [res];
+    async init() {
+      let managerRes = await warehouseManagerList({ warehouseId: this.formData.id });
+      this.managerListStr = JSON.stringify(managerRes);
+      const res = await userSelectDepartment({ agencyId: this.formData.agencyId });
+      this.treeData = this.deepList([res]);
+    },
+    deepList(list) {
+      return list.map((item) => {
+        if (item.children && item.children.length) {
+          this.deepList(item.children);
+        } else {
+          if (this.managerListStr.includes(item.id)) {
+            item.checked = true;
+          } else {
+            item.checked = false;
+          }
+        }
+        return item;
       });
     },
-    handleCheckItem(node, data) {
+    handleCheckItem(data) {
       this.selectdSections = [];
       this.treeData[0].children.forEach((item, index) => {
         if (item.children) {
@@ -96,14 +121,13 @@
           });
         }
       });
-      console.log(this.treeData);
     },
     handleDel(item) {
-      this.handleCheckItem({}, item);
+      this.handleCheckItem(item);
     },
     handleClear() {
       this.selectdSections.forEach((item) => {
-        this.handleCheckItem({}, item);
+        this.handleCheckItem(item);
       });
       this.selectdSections = [];
     },
@@ -111,23 +135,21 @@
       this.$emit('close');
     },
     save() {
-      let params = [];
+      let params = {
+        warehouseId: this.setting.id,
+        warehouseManagerInfoList: [],
+      };
       this.selectdSections.forEach((item) => {
-        params.push({
+        params.warehouseManagerInfoList.push({
           managerId: item.id,
           managerName: item.name,
-          baseWarehouseId: this.setting.id,
         });
       });
       debugger;
       warehouseManagerAdd(params).then((res) => {
-        if (res) {
-          this.$message.success('淇濆瓨鎴愬姛锛�');
-          this.close();
-          this.$emit('search');
-        } else {
-          this.$message.error('淇濆瓨澶辫触');
-        }
+        this.$message.success('淇濆瓨鎴愬姛锛�');
+        this.close();
+        this.$emit('search');
       });
     },
   },
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue b/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
index 8aa9b05..2ce7f4d 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
@@ -49,6 +49,7 @@
 import winSm from '@/components/win/win-sm';
 import myButton from '@/components/myButton/myButton';
 import {formatDate} from '@/utils/DateFormatter'
+import { mapGetters } from 'vuex';
 
 export default {
   components: { winSm, myButton },
@@ -73,6 +74,9 @@
       },
     };
   },
+  computed:{
+    ...mapGetters(['userInfo'])
+  },
   created() {
     if (this.setting.info) {
       this.formData = Object.assign({}, JSON.parse(this.setting.info));
@@ -87,7 +91,7 @@
   methods: {
     // 鑾峰彇浠撳簱鍒楄〃
     handleSelectTenantWarehouse() {
-      selectTenantWarehouse().then((res) => {
+      selectTenantWarehouse({agencyId:this.userInfo.tenantId}).then((res) => {
         this.warehouseOptions = res;
       });
     },
diff --git a/admin-web/src/views/stock/transfer/transferApplication/detail.vue b/admin-web/src/views/stock/transfer/transferApplication/detail.vue
index 1716dfe..6249a6d 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/detail.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/detail.vue
@@ -59,16 +59,16 @@
               {{ scope.row.unit }}
             </template>
           </el-table-column>
-          <el-table-column prop="price" label="鐜版湁搴撳瓨" align="center">
-            <template slot-scope="scope">
-              {{ scope.row.price }}
-            </template>
-          </el-table-column>
           <el-table-column prop="counts" label="璋冩嫧鏁伴噺" align="center">
             <template slot-scope="scope">
               {{ scope.row.counts }}
             </template>
           </el-table-column>
+          <el-table-column prop="price" label="閲戦" align="center">
+            <template slot-scope="scope">
+              {{ scope.row.price }}
+            </template>
+          </el-table-column>
         </el-table>
       </div>
     </div>
diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue
index 4c6cfec..497b784 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/index.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -220,9 +220,9 @@
 
     // 鍏ュ簱
     handleIncome(row) {
-      this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode}  璋冩嫧鍑哄簱鍚�?`, '璋冩嫧鍑哄簱').then(() => {
+      this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode}  鎺ユ敹鍏ュ簱鍚�?`, '鎺ユ敹鍏ュ簱').then(() => {
         transfeIncome({ id: row.id }).then((res) => {
-          this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�');
+          this.$message.success('鎺ユ敹鍏ュ簱鎴愬姛锛�');
           this.search(1);
         });
       });
diff --git a/admin-web/src/views/stock/transfer/transferdetails/index.vue b/admin-web/src/views/stock/transfer/transferdetails/index.vue
index cfd17a1..cfca3d8 100644
--- a/admin-web/src/views/stock/transfer/transferdetails/index.vue
+++ b/admin-web/src/views/stock/transfer/transferdetails/index.vue
@@ -10,55 +10,57 @@
           <el-row style="margin-top: 15px">
             <el-col>
               <!--鍒楄〃-->
-              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
             </el-col>
           </el-row>
           <!--娣诲姞/缂栬緫寮圭獥-->
-          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+          <detail
+            v-if="detailSetting.show"
+            :setting="detailSetting"
+            @close="detailSetting.show = false"
+            @search="search"
+          />
         </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 edit from './edit'
-import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import detail from '../transferApplication/detail';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+import myImport from '@/views/components/myImport';
+import { getBaseUrl } from '@/utils/base';
+import { goodsModel } from '@/api/baseSetting/finsystenant';
+import * as DateFormatter from '@/utils/DateFormatter';
 
 export default {
-  name: "index",
-  components: {MyButton, MyTableV2, edit, myImport},
+  name: 'index',
+  components: { MyButton, MyTableV2, detail, myImport },
   data() {
     return {
       // 鎼滅储妗�
       items: [
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'businessFormCode',
           label: '鍗曞彿',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'goodsName',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'select',
-          dataIndex: 'warehouseId',
+          dataIndex: 'baseGoodsModelsId',
           label: '瑙勬牸鍨嬪彿',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
@@ -66,7 +68,7 @@
         },
         {
           type: 'cascader',
-          dataIndex: 'name',
+          dataIndex: 'outAgencyId',
           label: '璋冩嫧鏈烘瀯',
           placeholder: '璇烽�夋嫨',
           optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
@@ -75,7 +77,7 @@
         },
         {
           type: 'cascader',
-          dataIndex: 'name',
+          dataIndex: 'inAgencyId',
           label: '鎺ユ敹鏈烘瀯',
           placeholder: '璇烽�夋嫨',
           optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
@@ -83,35 +85,11 @@
           options: [],
         },
         {
-          type: 'select',
-          dataIndex: 'status',
-          label: '绫诲瀷',
-          placeholder: '璇烽�夋嫨',
-          defaultValue: '1',
-          options: [
-            {
-              label: '鍚敤',
-              value: '1'
-            },
-            {
-              label: '绂佺敤',
-              value: '0'
-            }
-          ]
-        },
-        {
           type: 'text',
-          dataIndex: 'name',
-          label: '鐗╁搧鍚嶇О',
-          placeholder: '璇疯緭鍏�',
-          defaultValue: ''
-        },
-        {
-          type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'operatorName',
           label: '鍒涘缓浜�',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'date-picker',
@@ -138,69 +116,80 @@
           defaultValue: '',
         },
       ],
-      // 鏍戞暟鎹�
-      treeDataList: [],
       // 鎼滅储鏉′欢
       filterFrom: {
         tenantId: null,
         userName: null,
         userPhone: null,
-        status: 1
+        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
-      },
-      editSetting: {
+      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/detail/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: 'summary', align: 'left',},
-          {title: '璋冩嫧浜�', field: 'summary', align: 'left',},
-          {title: '璋冩嫧鏃堕棿', field: 'summary', align: 'left',},
+          { title: '鍗曞彿', field: 'businessFormCode', align: 'center' },
+          { title: '鐗╁搧鍚嶇О', field: 'goodsName', align: 'center' },
+          { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'center' },
+          { title: '鏁伴噺', field: 'counts', align: 'left' },
+          { title: '鎺ュ彈鏈烘瀯', field: 'inAgencyName', align: 'left' },
+          { title: '鍒涘缓浜�', field: 'operatorName', align: 'left' },
+          {
+            title: '鐢宠鏃堕棿',
+            field: 'createTime',
+            align: 'center',
+            width: 160,
+            formatter: (row) => {
+              return { value: DateFormatter.LongToDateTime(row.createTime) };
+            },
+          },
+          {
+            title: '鎺ユ敹鏃堕棿',
+            field: 'inTime',
+            align: 'center',
+            width: 160,
+            formatter: (row) => {
+              return { value: row.inTime ? DateFormatter.LongToDateTime(row.inTime) : '-' };
+            },
+          },
+          { title: '璋冩嫧鏈烘瀯', field: 'outAgencyName', align: 'left' },
+          {
+            title: '璋冩嫧浜�',
+            field: 'outOperatorName',
+            align: 'center',
+            formatter: (row) => {
+              return { value: row.outOperatorName || '-' };
+            },
+          },
+          {
+            title: '璋冩嫧鏃堕棿',
+            field: 'outputTime',
+            align: 'center',
+            width: 160,
+            formatter: (row) => {
+              return { value: row.outputTime ? DateFormatter.LongToDateTime(row.outputTime) : '-' };
+            },
+          },
         ],
         // 鎿嶄綔淇℃伅
         operation: {
@@ -210,7 +199,7 @@
             {
               title: '璇︽儏',
               events: (row) => {
-                this.showAudit(row);
+                this.showDetail(row);
               },
             },
           ],
@@ -222,118 +211,65 @@
             small: false,
             pageNum: 1,
             pageSize: 10,
-            total: 0
-          }
-        }
+            total: 0,
+          },
+        },
       },
-    }
+    };
   },
   created() {
-    // 鑾峰彇鏈烘瀯鏍�
-    this.initTreeData()
+    this.initSearch();
   },
   methods: {
-    //瀵煎叆
-    importOrg() {
-        this.importSetting.dialogShow = true
-        this.importSetting.onSuccess = (response, callBack) => {
-            if (response.code===1){
-              this.$message.success(response.msg)
-              this.search(1)
-            }else{
-              this.$message.warning(response.msg)
-            }
-            callBack()
-        }
-    },
-    // 宸︿晶鏍戝垵濮嬪寲
-    initTreeData() {
-      finsystenant.getTree().then(res => {
-        const content = res || []
-        this.treeDataList.splice(0, this.treeDataList.length)
-        this.treeDataList = content
-        if (content.length > 0) {
-          this.importSetting.fileSettings.data = {pid: content[0].id}
-        }
-      })
-    },
-    updState(row) {
-      let vm = this
-      let text = row.status == 0 ? "鍚敤" : "绂佺敤";
-      vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
-        let params = Object.assign({}, row)
-        params.status = row.status == 1 ? 0 : 1
-        finsystenant.edit(params).then(res => {
-          if (res) {
-            row.status = row.status === 1 ? 0 : 1
-            vm.$modal.msgSuccess(text + "鎴愬姛");
-            vm.search()
-          }
-        })
-      })
-    },
-    del(row) {
-      this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
-        .then(function () {
-          finsystenant.del({id: row.id}).then((res) => {
+    initSearch() {
+      this.items.map(async (item) => {
+        if (item.label == '瑙勬牸鍨嬪彿') {
+          let res = await goodsModel();
+          item.options = res.map((v) => {
+            v.label = v.modelName;
+            v.value = v.id;
+            return v;
           });
-        })
-        .then((res) => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.search()
-        })
-        .catch(() => {
-        });
+        }
+        return item;
+      });
     },
-    showAdd() {
-      // if (!this.editSetting.orgId) {
-      //   this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
-      // } else {
-        this.editSetting.id = null;
-        this.editSetting.info = null;
-        this.editSetting.title = '鏂板';
-        this.editSetting.show = true;
-      // }
-    },
-    showAudit(row) {
-      this.editSetting.id = row.id;
-      this.editSetting.info = JSON.stringify(row);
-      this.editSetting.title = '缂栬緫';
-      this.editSetting.show = true;
-    },
-    nodeClick(param) {
-      param = param || {}
-      this.p = Object.assign({}, {
-        id: param.id,
-        name: param.name
-      })
-      if (this.p.id != undefined && this.p.id != null) {
-        this.filterFrom.tenantId = this.p.id
-        this.editSetting.orgId = this.p.id
-      } else {
-        this.filterFrom.tenantId = null
-        this.editSetting.orgId = null
-      }
-      this.importSetting.fileSettings.data = {pid: param.id}
-      this.search(1)
+    showDetail(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);
+      if (this.filterFrom.outAgencyId && this.filterFrom.outAgencyId.length) {
+        this.filterFrom.outAgencyId = this.filterFrom.outAgencyId[this.filterFrom.outAgencyId.length - 1];
+      }
+      if (this.filterFrom.inAgencyId && this.filterFrom.inAgencyId.length) {
+        this.filterFrom.inAgencyId = this.filterFrom.inAgencyId[this.filterFrom.inAgencyId.length - 1];
+      }
+      if (this.filterFrom.createTimeStart) {
+        this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, '');
+      }
+      if (this.filterFrom.createTimeEnd) {
+        this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, '');
+      }
+      if (this.filterFrom.startTime) {
+        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
+      }
+      if (this.filterFrom.endTime) {
+        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
+      }
+      this.search(1);
+    },
+  },
+};
 </script>
-
-<style scoped>
-
-</style>
diff --git a/admin-web/src/views/stock/transfer/transferissue/detail.vue b/admin-web/src/views/stock/transfer/transferissue/detail.vue
index 849ea34..99fff27 100644
--- a/admin-web/src/views/stock/transfer/transferissue/detail.vue
+++ b/admin-web/src/views/stock/transfer/transferissue/detail.vue
@@ -67,16 +67,16 @@
               {{ scope.row.unit }}
             </template>
           </el-table-column>
-          <el-table-column prop="price" label="鐜版湁搴撳瓨" align="center">
-            <template slot-scope="scope">
-              {{ scope.row.price }}
-            </template>
-          </el-table-column>
           <el-table-column prop="counts" label="璋冩嫧鏁伴噺" align="center">
             <template slot-scope="scope">
               {{ scope.row.counts }}
             </template>
           </el-table-column>
+          <el-table-column prop="price" label="閲戦" align="center">
+            <template slot-scope="scope">
+              {{ scope.row.price }}
+            </template>
+          </el-table-column>
         </el-table>
       </div>
     </div>

--
Gitblit v1.9.1