From e14ed882d12df3b48e59390eba364442cdff70bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 28 五月 2025 15:46:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/tms/lossBound/LossboundList.vue |  317 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 317 insertions(+), 0 deletions(-)

diff --git a/src/views/tms/lossBound/LossboundList.vue b/src/views/tms/lossBound/LossboundList.vue
new file mode 100644
index 0000000..67bac90
--- /dev/null
+++ b/src/views/tms/lossBound/LossboundList.vue
@@ -0,0 +1,317 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="鎶ユ崯鍗曞崟鍙�">
+              <j-input placeholder="璇疯緭鍏ユ姤鎹熷崟鍗曞彿"    v-model="queryParam.orderCode"></j-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="瀹℃牳鐘舵��">
+              <j-dict-select-tag placeholder="璇烽�夋嫨瀹℃牳鐘舵��" v-model="queryParam.orderStatus"
+                                 dictCode="approval_status"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />-->
+<!--              </a>-->
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+
+
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        class="j-table-force-nowrap"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
+        :customRow="clickThenSelect"
+        @change="handleTableChange">
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleDetail(record)">璇︽儏</a>
+          <span v-if="record.orderStatus === '1'">
+            <a-divider type="vertical" />
+            <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record)">
+              <a>鎻愪氦</a>
+            </a-popconfirm>
+            <a-divider type="vertical" />
+            <a-dropdown>
+              <a class="ant-dropdown-link">鏇村<a-icon type="down" /></a>
+              <a-menu slot="overlay">
+                <a-menu-item>
+                  <a @click="handleEdit(record)">缂栬緫</a>
+                </a-menu-item>
+                <a-menu-item>
+                  <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+                    <a>鍒犻櫎</a>
+                  </a-popconfirm>
+                </a-menu-item>
+              </a-menu>
+            </a-dropdown>
+          </span>
+        </span>
+
+      </a-table>
+    </div>
+
+    <a-tabs defaultActiveKey="1">
+      <a-tab-pane tab="鎶ユ崯鐢宠鍗曟槑缁�" key="1">
+        <LossboundDetailList ref="lossboundDetailList" :mainId="lossboundDetailMainId" />
+      </a-tab-pane>
+    </a-tabs>
+
+    <lossbound-modal ref="modalForm" @ok="modalFormOk"></lossbound-modal>
+  </a-card>
+</template>
+
+<script>
+
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import LossboundModal from './modules/LossboundModal'
+import { deleteAction, getAction } from '@/api/manage'
+import LossboundDetailList from './LossboundDetailList.vue'
+import '@/assets/less/TableExpand.less'
+
+export default {
+  name: 'LooboundList',
+  mixins: [JeecgListMixin],
+  components: {
+    LossboundDetailList,
+    LossboundModal
+  },
+  data() {
+    return {
+      description: 'tms_outbound_order绠$悊椤甸潰',
+      // 琛ㄥご
+      columns: [
+        {
+          title: '鎶ユ崯鍗曞崟鍙�',
+          align: 'center',
+          dataIndex: 'orderCode'
+        },
+        {
+          title: '瀹℃牳鐘舵��',
+          align: 'center',
+          dataIndex: 'orderStatus_dictText'
+        },
+        {
+          title: '缁忔墜浜�',
+          align: 'center',
+          dataIndex: 'handler_dictText'
+        },
+        {
+          title: '瀹℃牳浜�',
+          align: 'center',
+          dataIndex: 'reviewer_dictText'
+        },
+        {
+          title: '瀹℃牳鏃堕棿',
+          align: 'center',
+          dataIndex: 'auditDate'
+        },
+        {
+          title: '瀹℃牳鎰忚',
+          align: 'center',
+          dataIndex: 'approvalOpinion'
+        },
+        {
+          title: '澶囨敞',
+          align: 'center',
+          dataIndex: 'remark'
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: 'center',
+          fixed: 'right',
+          width: 147,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: '/tms/toolsLossBound/list',
+        delete: '/tms/toolsLossBound/delete',
+        submit: '/tms/toolsLossBound/submit',
+        deleteBatch: '/tms/toolsLossBound/deleteBatch',
+        exportXlsUrl: '/tms/toolsLossBound/exportXls',
+        importExcelUrl: 'tms/toolsLossBound/importExcel'
+      },
+      /* 鍒嗛〉鍙傛暟 */
+      ipagination: {
+        current: 1,
+        pageSize: 5,
+        pageSizeOptions: ['5', '10', '50'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      selectedMainId: '',
+      superFieldList: [],
+      lossboundDetailMainId: ''
+    }
+  },
+  created() {
+    this.getSuperFieldList()
+  },
+  computed: {
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+    }
+  },
+  methods: {
+    // handleEdit: function (record) {
+    //   this.$refs.modalForm.edit(record);
+    //   this.$refs.modalForm.title = "缂栬緫";
+    //   this.$refs.modalForm.disableSubmit = false;
+    // },
+    // handleAdd: function () {
+    //   this.$refs.modalForm.add();
+    //   this.$refs.modalForm.title = "鏂板";
+    //   this.$refs.modalForm.disableSubmit = false;
+    // },
+    modalFormOk() {
+      this.$refs.lossboundDetailList.clearList()
+      this.loadData()
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.onClearSelected()
+      this.$refs.lossboundDetailList.clearList()
+      this.loadData(1)
+    },
+    initDictConfig() {
+    },
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(','), [record])
+          }
+        }
+      }
+    },
+    onClearSelected() {
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.selectedMainId = ''
+      this.lossboundDetailMainId = ''
+    },
+    onSelectChange(selectedRowKeys, selectionRows) {
+      this.selectedMainId = selectedRowKeys[0]
+      this.selectedRowKeys = selectedRowKeys
+      this.selectionRows = selectionRows
+      this.lossboundDetailMainId = selectionRows[0]['id']
+    },
+    handleSubmit(record) {
+      getAction(this.url.submit, { id: record.id }).then((res) => {
+        if (res.success) {
+          this.$message.success(res.message)
+          this.loadData()
+          this.$refs.lossboundDetailList.clearList()
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
+    handleDelete: function(id) {
+      if (!this.url.delete) {
+        this.$message.error('璇疯缃畊rl.delete灞炴��!')
+        return
+      }
+      var that = this
+      deleteAction(that.url.delete, { id: id }).then((res) => {
+        if (res.success) {
+          //閲嶆柊璁$畻鍒嗛〉闂
+          that.reCalculatePage(1)
+          // that.$message.success(res.message);
+          that.$notification.success({
+            message: '娑堟伅',
+            description: res.message
+          })
+          that.loadData()
+          this.$refs.lossboundDetailList.clearList()
+        } else {
+          // that.$message.warning(res.message);
+          that.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          })
+        }
+      })
+    },
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error('璇疯缃畊rl.list灞炴��!')
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1
+      }
+      this.onClearSelected()
+      var params = this.getQueryParams()//鏌ヨ鏉′欢
+      this.loading = true
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          this.dataSource = res.result.records
+          this.ipagination.total = res.result.total
+        }
+        if (res.code === 510) {
+          this.$message.warning(res.message)
+        }
+        this.loading = false
+      })
+    },
+    getSuperFieldList() {
+      let fieldList = []
+      fieldList.push({ type: 'string', value: 'orderCode', text: '鍑哄簱鍗曠紪鍙�', dictCode: '' })
+
+      fieldList.push({ type: 'string', value: 'handler', text: '缁忔墜浜�', dictCode: '' })
+      fieldList.push({ type: 'sel_user', value: 'reviewer', text: '瀹℃牳浜�' })
+      fieldList.push({ type: 'string', value: 'orderStatus', text: '瀹℃牳鐘舵��', dictCode: '' })
+      fieldList.push({ type: 'date', value: 'auditDate', text: '瀹℃牳鏃堕棿' })
+      fieldList.push({ type: 'string', value: 'approvalOpinion', text: '瀹℃牳鎰忚', dictCode: '' })
+      fieldList.push({ type: 'string', value: 'subjectMatter', text: '棰嗙敤浜嬬敱', dictCode: '' })
+      fieldList.push({ type: 'date', value: 'outboundTime', text: '鍑哄簱鏃堕棿' })
+      fieldList.push({ type: 'string', value: 'remark', text: '澶囨敞', dictCode: '' })
+      fieldList.push({ type: 'string', value: 'createBy', text: '鎿嶄綔鍛�', dictCode: '' })
+      fieldList.push({ type: 'date', value: 'createTime', text: '鍒涘缓鏃堕棿' })
+      this.superFieldList = fieldList
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file

--
Gitblit v1.9.3